Game-mode framework for Paper 1.21

Build Minecraft game modes with a fraction of the code.

Arc gives your server ready-made building blocks: shops, commands, saved player progress, economies, scoreboards, holograms and more. What normally takes pages of code takes a few readable lines — and it works across multiple servers out of the box.

—less code across six everyday tasks
—fewer files to write and maintain
20+built-in systems, ready to use
Arc logo
Why Arc

Less building from scratch. More building your game.

Every Minecraft server needs the same foundations: menus, commands, a place to save progress, currencies, scoreboards. Normally each one is written by hand, for every project. Arc ships them ready-made, so your team spends its time on what makes your game unique.

✂️

Dramatically less code

Tell Arc what you want — a menu with four buttons, a command that takes a player's name — and it handles the wiring for you. Less code to write means fewer bugs and faster changes.

🧩

Batteries included

Economy, permissions, chat, leaderboards, worlds, holograms, boss bars, a web API and Discord linking all come built-in and work together.

🌐

Multi-server from day one

Player progress is saved to a database and shared through a cache, so players can move between servers without losing anything.

⚡

Change things live

Edit a config file and the server picks it up instantly. Bad edits are rejected automatically and the last good version keeps running.

Coming soon
🖥️

Config Web UI

Edit every config from your browser. Forms, tables and a raw view are generated straight from your settings, with validation, history and change diffs built in — no hand-editing JSON.

Coming soon
🔀

Seamless instancing

Split a game mode into instances — a hub, mines, player cells — each on its own server. Players move between them without noticing, and their progress follows them.

Side-by-side

The same feature, built two ways.

Pick a task. On the left is how it's usually built as a standard Paper plugin. On the right is the same result with Arc. You don't need to read the code to see the difference — just look at the size.

Without Arc, you have to…

    With Arc, you just…

      Code view:
      Standard Paper plugin
      With Arc

      Across all six tasks

      Counts are non-blank lines of code, excluding imports and comments. The standard versions use the Paper API the way most plugins are written today, and leave out things like the coin storage the shop needs — the real gap is bigger than shown.

      Live demos

      Play with the features. Then see the code that makes them.

      Every demo below is a working mock-up of an Arc feature running in-game. Click around — the highlighted lines on the right show exactly which part of the code just ran.

      Menus

      A clickable shop in one function

      Draw the menu with letters, say what each letter's button does, done. Clicks are protected automatically — players can't drag or steal the items — and coin balances are saved for you.

      • — lines
      • 0 event listeners
      • 0 slot numbers
      Coins: 120
      Shop
      Your hotbar
      Commands

      Commands that check themselves

      Declare the arguments you expect and Arc handles the rest: suggestions as you type, "that's not a number" errors, permissions and cooldowns. Try typing /xp give Alex 50 below, then try breaking it.

      • — lines
      • 0 lines of argument parsing
      • 0 plugin.yml entries
      Try:
      Arc handled for you: Read the arguments Found the player Checked the number Checked permission Enforced cooldown Saved to database
      HUD

      A live sidebar in one class

      Return the lines you want to show; Arc keeps every player's sidebar up to date, flicker-free. Change the title, colour or refresh rate below and watch both the sidebar and the code update.

      • — lines
      • 0 scheduled tasks
      • 0 join/quit listeners

      Things that happen in-game:

      lines() called 0×
      Configs

      Edit a file, the server updates instantly

      Configs are plain data classes. Arc writes the default file, reloads it the moment it's saved, and refuses bad edits so the server never breaks. Edit the file on the left — try a negative number, or delete a quote.

      • — lines
      • 0 reload commands
      • 0 string keys to typo
      plugins/Arc/modules/MCNetwork/settings.jsonsaved
      In-game
      Economy & leaderboards

      Multiple currencies, safe transactions, live leaderboards

      Declare your currencies once. Every mint, take and transfer returns a clear result — success, not enough funds, not allowed — so nothing silently goes wrong. The floating leaderboard stays in sync on its own.

      • — lines
      • 0 SQL queries
      • 0 sorting code
      Choose an action above.
      Top Tokens
        Ghosts

        Holograms, NPCs and particle effects

        Ghosts are lightweight, fake entities that only exist on players' screens — nothing is saved into the world, so nothing is ever left behind. Spawning one is a block of code; stopping it is one line.

        • 1 line to remove
        • 0 real entities
        • 0 cleanup code
        You
        GuideRight-click me!
        Boss bars & action bars

        Animated boss bars with a simple loop

        Write the animation as normal step-by-step code — "shrink a bit, wait half a second, repeat". Arc runs it in the background and stops it safely if the bar is hidden.

        • — lines
        • 0 timers to cancel
        Chat

        Ranks, channels and item previews in chat

        Arc's chat module handles channels, private messages, blocking and social spy. You only write the parts that make your server look unique — like how names appear, or showing the item you're holding with [item].

        • — lines
        • 0 chat event listeners
        Holding: 🗡️ Diamond Sword
        Everything included

        A full toolbox, all working together.

        Each of these is a ready-made Arc system. Click any card to see how little code it takes to use.

        Get started

        From empty folder to running game mode in three steps.

        No plugin.yml, no registering listeners or commands by hand. Arc finds everything in your code automatically.

        1

        Describe your module

        List which Arc systems your game needs, plus any optional extras.

        2

        Write your game

        Start things up in onEnable. Everything else — commands, menus, listeners, configs — is found automatically.

        3

        Drop it in

        Build the jar and drop it into the modules folder. Arc downloads the systems you listed and wires it all up.

        Spend your time on the game, not the plumbing.

        Arc handles the foundations every server needs, so your team can ship game modes faster.

        Explore the demos again