Skip to content
Arda501Public

About

Two-team objective Fabric gamemode: destroy the enemy team's core beacons before they destroy yours (MC 26.2)

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Recored

A two-team objective gamemode for Minecraft 26.2 paper servers.

Each team (RED / BLUE) defends one or more core beacons, mineable only by the other team. Mining progress shows above your hotbar while you're digging, and a persistent sidebar HUD tracks every one of your team's cores' health at all times - flashing and chiming when an enemy gets close. When a team's last core is broken, the other team wins (with some fireworks) - the map resets itself and everyone lands back in the lobby, ready for a rematch (possibly on a different map).

Supports multiple registered maps, picked round-robin each round, each with its own bounding box, spawns, cores, protection regions and kits, and its own saved "reset baseline" that gets reloaded after every round - plus a lobby (a fixed spawn + protected region, entirely separate from any map) where players land on join and whenever no round is live.

Join discusson at https://matrix.to/#/#goodoldmc:tchncs.de Play at IP: goodoldmc.com

Building

mvn clean package

Produces target/Recored-<version>.jar. Drop it into your server's plugins/ folder.

Pushing a version tag (git tag v1.0.1 && git push origin v1.0.1) instead builds it on GitHub and attaches the jar to a new Release - no local build needed. Tag a commit on the paper-26.2 branch (this port), not master (the original fabric mod).

Setting up

All admin commands require recored.admin (granted to ops by default).

  1. Lobby: look at one corner of the lobby area, /recored pos1; the opposite corner, /recored pos2; stand where players should land, /recored setlobby. Building/breaking inside it is blocked while any round isn't RUNNING (and inside team spawn regions while one is) - switch to creative mode to bypass that and edit it anyway.
  2. A map: /recored map create <id>, then for that id:
    • /recored map corner1/corner2 (look at a block) - the map's bounding box
    • /recored map setspawn <id> <red|blue> (stand there) - each team's spawn
    • /recored map addcore <id> <red|blue> <l|r> (look at a block, e.g. a beacon) - up to two cores per team
    • /recored map setregion <id> <red|blue> (uses your last /recored pos1/pos2) - that team's protected spawn area
    • /recored map setkit <id> <red|blue> - captures your current inventory as that team's kit
    • /recored map save <id> - captures every block (and any chest/barrel/furnace/etc. contents) in the bounding box as the reset baseline (do this last, once the map actually looks how you want it to reset to)
  3. /recored map list shows what's still missing before a map counts as READY.

Upgrading from an older version: map save's file format changed to also cover container contents. Run /recored map save <id> again for each of your maps - a .snapshot file saved before this update won't load.

Multiple maps can be registered; a ready round picks the next one round-robin.

Playing

/recored join <red|blue> hands you a "Not Ready" item - right-click it to ready up. Once both teams are equal size (at least one player each) and everyone's ready, a countdown starts automatically and the round begins on whichever map is next in rotation. /recored leave before that; /recored status any time. Your sidebar shows team sizes, how many are ready, and the countdown the whole time you're waiting - not just once a round is actually running.

Mining an enemy core takes a few seconds of continuous digging (/recored coretime <seconds> to change how long, default 10s) and can be shared/resumed by any teammate (so it's never lost if you let go, or a teammate takes over) but stops within a tick or two of you actually stopping - looking away or moving out of reach. Your own core can't be mined at all, not even in creative. Your effective mining speed is also slowed to match coretime, so your own client's local mining prediction - which the server otherwise has no control over - takes exactly as long as the real thing; without this a core would visibly (and misleadingly) seem to "break and reappear" every few seconds as your client's much-faster local guess kept getting corrected, even though server-side progress was accumulating normally underneath the whole time. An enemy standing near one of your cores plays a warning note for anyone nearby and flips that core's sidebar line into an alert: a ⚠ marker and bold text alternating white/health-colour, so it's noticeable even with sound off. Losing all your cores ends the round for your team. Admins: /recored start force-starts (bypassing ready-up, if a map is ready), /recored reset aborts back to WAITING, /recored respawndelay <seconds> adjusts the pause before a dead player's forced respawn (default 1s, automatically bumped to at least 3s once any core has fallen).

/recored sign set <command...> (looking at a sign) attaches a command that runs as whoever right-clicks it - /recored sign remove detaches it.

While a round is RUNNING, a rostered non-admin player can't use any command except /help and /matrix - everything else is silently blocked. Admins (recored.admin) are never restricted.

Displaying live stats (signs, scoreboards, ...)

If PlaceholderAPI is installed, Recored registers its own placeholders on startup (nothing to configure) - any PAPI-aware plugin can then show live round stats anywhere it supports placeholders, including on a sign via SignManager (/sign edit line 1 %recored_phase%, refreshed automatically at whatever interval you've set with /sign admin interval), a scoreboard plugin, or chat formatting:

Placeholder Value
%recored_phase% WAITING / STARTING / RUNNING / ENDED
%recored_active_map% the map id currently being played, or -
%recored_red_players% / %recored_blue_players% players on each team right now
%recored_ready% ready count, e.g. 3/4 (- once RUNNING)
%recored_countdown% seconds left in the ready countdown, or -
%recored_red_cores% / %recored_blue_cores% cores still standing (- outside RUNNING)
%recored_respawn_delay% / %recored_coretime% current settings, in seconds

No PlaceholderAPI installed? Recored just skips registering them - everything else works the same either way.

Links

  • Original mod: fabric-example-mod-26.2 (Fabric, client+server)

About

Two-team objective Fabric gamemode: destroy the enemy team's core beacons before they destroy yours (MC 26.2)

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages