Skip to content
RohrJaspi
Minecraft skin head of RohrJaspi

RohrJaspi joined the game

Hey, I'm Jasper

Minecraft plugins, Discord bots & web tools

  • Java 25
  • Paper & Velocity
  • TypeScript
  • Docker

Where I've worked

3 networks · 2 online

  1. Lumaxia, Developer

    – presentOnline

  2. RoyalPixels, Developer

    – presentOnline

  3. SkyEpoke, Owner

    –

Minecraft

5 projects

  • OneBlock Network

    Status: In development

    A OneBlock game mode built as a distributed system: Spring Boot backends for islands, economy and moderation, plus Paper and Velocity plugins that load island worlds from S3 on whichever shard has room.

    • Velocity island router picks the least-loaded shard; worlds stream over gRPC with leases and checksums
    • Economy ledger: append-only journal, idempotency keys, escrow holds and atomic balance updates
    • Network-wide moderation: punishments, reports, chat filter and one global chat across all servers
    • Resource-pack pipeline: edited in a web panel, compiled, rolled out test → dev → prod with rollback
    • Java 25
    • Spring Boot 4
    • Paper & Velocity
    • gRPC
    • RabbitMQ
    • PostgreSQL & Redis
  • Cloud System

    Status: In development

    A self-built Minecraft cloud that starts, stops and scales servers as Docker containers from layered templates, controlled through one REST and WebSocket API used by the dashboard and plugins.

    • Rolling restarts: every replacement is online before the old server drains
    • Crash detection with thread dumps, logs archived to S3 and Discord alerts
    • Scheduled restarts and template rollouts with in-game countdowns
    • Updating the cloud never stops a server: state is rebuilt from Redis and Docker labels
    • Java 21 / 25
    • Docker
    • WebSocket
    • MySQL
    • Redis
    • S3
  • Action bar dialog: RohrJaspi asks “Need any help, angler?” with three answer options, the second one, “Where do I sell fish?”, highlighted

    Dialog API

    Status: Finished

    A Paper plugin and API for RPG-style NPC dialogs on the vanilla client: speaker tab, portrait, typewriter text and scrollable answers in the action bar, plus pixel-exact UI canvases.

    • Works on an unmodded client, Paper 1.21.9 up to 26.3
    • Generates, serves and sends one shared resource pack for every plugin that uses it
    • Tests render the HUD with a client simulator built from the generated pack
    • Published on JitPack and used by the quest and fishing plugins below
    • Java 21
    • Paper
    • Adventure
    • Resource packs
    • JitPack
  • Gameplay plugins for a Minecraft network

    Status: In development

    Eight Paper plugins for a multi-server network: player shops, auction house, weekly tournaments, custom fishing, network-wide quests, perks, a community donation goal and a chunk biome changer.

    • Shared state: MySQL as source of truth, Redis pub/sub for live bids, leaderboards and goals
    • Quest progress survives server switches without being lost or counted twice
    • NPC conversations and fish cards built on Dialog API
    • Native Bedrock forms via Floodgate for crossplay players
    • Java 21
    • Paper
    • MySQL
    • Redis
    • Dialog API
    • Floodgate
  • SpawnFlight

    Status: Finished

    A CraftAttack-style spawn elytra: double-jump to glide without wearing one, press F to boost, plus walk-in teleporters with countdown, particles and sound. Everything is set up in-game with a wand.

    • Gliding without an elytra by keeping the server-side glide state alive
    • Crash-safe: leftover flight from a crash is removed on the next join
    • Teleporters can't bounce players back and forth; target chunks load async first
    • Java 21
    • Paper
    • Gradle
    • MiniMessage

Discord

1 project

  • BugBot

    Status: Finished

    Bug reports from a Minecraft network's Discord forum go in, GitLab merge requests come out: Claude Code triages and fixes over MCP, the owner approves in DMs, and the bot reports back in the thread.

    • Built-in MCP server: Claude can propose and implement fixes, but only the owner can approve
    • GitLab webhook closes the loop once the merge request is merged
    • Reporter text is handled as untrusted input; mass mentions are blocked
    • Runs as a read-only Docker container with all capabilities dropped
    • TypeScript
    • discord.js 14
    • MCP SDK
    • Express 5
    • SQLite
    • Docker

Web

2 projects

  • Origin Stats home page: day 8, players online and live, tiles for viewers, deaths, total playtime and blocks mined, under a live event ticker
    • Leaderboards page with top 10 lists for playtime, deaths and diamond ore mined, including rank changes and player heads
    • Player profile with online status, a Watch on Twitch button and stat tiles for playtime, deaths, diamonds, blocks mined, mobs and distance

    Origin Stats

    Status: Live

    Live stats site for the Minecraft Origin server: who is online, who is streaming, leaderboards and player profiles, updated in real time. A Paper plugin emits events, a Node tracker stores them, Next.js shows them.

    • Load-tested at ~4,500 req/s (p95 6 ms) and 2,000 concurrent SSE clients
    • Real server events (deaths, advancements, sessions) instead of polling and guessing
    • Twitch integration: who is live, and events link to the matching VOD moment
    • Exactly-once ingest: events, state and cursor are written in one transaction
    • Next.js 16
    • TypeScript
    • Fastify 5
    • PostgreSQL
    • Paper (Java)
    • Twitch API
  • Network overview with players online, services, open reports and active punishments, a services table with TPS and RAM, and the report queue

    OneBlock Staff Dashboard

    Status: In development

    A web dashboard to run a OneBlock network without SSH: Discord login, role-based permissions, live server consoles, cloud control, player moderation and an append-only audit log of every staff action.

    • One shared contract keeps the React app and the Fastify API from drifting apart
    • Live consoles: one cloud subscription per server, shared by every viewer
    • Audit log is append-only, enforced by MySQL triggers
    • Velocity bridge plugin links Minecraft accounts over Redis pub/sub
    • React 19
    • Vite
    • TypeScript
    • Fastify 5
    • MySQL
    • Redis