Compatibility
Minecraft: Java Edition
Platforms
Creators
Details
BrainrotGame — full plugin overview Platform: Paper 1.21 · Version: 2.1 · Author: SevenSas · Main class: ru.giga.brainrot.BrainrotGame
Concept A Minecraft implementation of the Steal a Brainrot mini-game hosted inside a single Paper server. A central lobby holds portals; behind each portal is a separate world-"server" with its own arena, red conveyor lane, economy and player progress. Players build a 25-slot base, buy the brainrots walking down the lane, farm coins from them, steal them from neighbors, grind rebirths, spin the luck wheel and fuse brainrots at the fuse machine. Ships with 89 models across 8 rarities, 15 mutations, 33 traits and 17 weather-style events.
Architecture: worlds and servers InstanceManager keeps a list of GameInstances of three kinds:
TIMED — worlds brainrot, brainrot_2, … up to servers.timed-count. Wiped every servers.wipe-hours (or at wipe-time if daily). 8 bases. ENDLESS — brainrot_endless_N, no wipe. When every base is taken, a new world spins up automatically. PARTY — brainrot_party_N, a closed map for a group of friends. Base count = party size, no wipe. Each instance owns its world (flat VoidGenerator, everything is built by the plugin), its own Arena, GameManager, EventManager, HudManager, ShopManager, RebirthManager, SpinWheel, FuseMachine, MusicManager, GameListener. Progress is not shared between servers — each has its own DataStore.scope(id). Only the collection index and the chosen language are global.
Key packages arena — Arena generates the world, the lane, plazas, pedestals and base houses. Base is one base: 25 slots on 3 floors (10/8/7), collection plate, Lock Base button, laser gate, entry path. BaseLook handles walls/roof styling. data — PlayerData (25 brainrot slots with mutation and traits, coins, stats, rebirths, spins, fuse input, purchased gadgets, language, shared index). DataStore is a YAML backend with scope(id) per world and wipe(). event — EventManager runs timers and boss bars, GameEvent is the base class, Events bundles 17 concrete ones: taco_rain, snow_storm, rain, blood_moon, starfall, nyan_cats, solar_flare, fireworks, lightning, zombie, ufo, disco, glitch, bubblegum, rainbow_rain, molten, storm. An event rains materials/projectiles onto the lane; on hit it grants a mutation or trait (no more often than events.award-gap-seconds). game — GameManager (~1300 lines, the core): lane queue, timed spawning, path walking, interactions (buy / rebuy / steal / sell), per-second income, plate collection, base lock, rebirth. GameListener — right-click on a brainrot, hits on a carrier, void teleport, block-place/break block. HudManager — sidebar and tab list with timers, income and top lists. MusicManager — note-block background music with personal mute via /br music. RebirthManager — priest NPC and rebirth GUI shop. instance — GameInstance (server composition), InstanceManager (world loading, wipes, party starts, join/toLobby), SpawnListener (first spawn goes straight to the lobby). lobby — LobbyBuilder builds the island with a fountain, paths and trees. LobbyManager runs portals to every server, top boards across 4 categories, rarity showcases, a guide sign, a language globe and ambient effects. IndexHall — a hall with all 89 brainrots (owned ones spin, locked ones are black silhouettes, OG has its own pedestal). PartyRoom — a party assembly room with codes and a countdown. LanguageMenu — a flag GUI (ru/en) that guesses the player's locale on first join. StaticModel — non-animated BlockDisplay model for showcases and index. machine — FuseMachine: 4 slots, fuse time fuse.seconds-per-rarity × (rarity+1), chance to upgrade rarity when 3–4 inputs match, hatch animation and HUD signs. SpinWheel: luck wheel, one free spin every wheel.free-cooldown-minutes, paid spin priced at max(spin-min-cost, income/s × spin-cost-income-seconds), rewards a brainrot / coins / a random mutation. model — Rarity (8 tiers: COMMON, RARE, EPIC, LEGENDARY, MYTHIC, DIVINE, SECRET, OG). Mutation (15 with multipliers 1.25–13; each has its own block-recolor palette; RAINBOW cycles colors, YINYANG splits the model in halves). Trait (33 traits; formula Trait.total(m, traits) = m.multiplier + Σ(t.multiplier − 1); SLEEPY halves the total). BrainrotType — name, rarity, price, income, model. BrainrotRegistry collects 89 types from M1..M5 and provides random(luck) weighted by lane.rarity-weights. defs/Kit — reusable parts (legs, heads, wings, crown, top hat). The rig package is a DSL for building animated models out of BlockDisplays. shop — ShopItem: gadgets BAT, SPEED (Speed Coil), JUMP (Gravity Coil), TRAP, WEB (Web Slinger), FREEZE (Freeze Ray), BUBBLE (Force Field), CLOAK (Invisibility Cloak), MAGNET (Coin Magnet), BEE (Bee Launcher — inverts the victim's controls), BOOGIE (Boogie Bomb). ShopManager — Villager merchant, GUI, right-click activation, bat knockback, relocalize on language change. pack — PackBuilder assembles brainrot-pack.zip (gadget textures and event icons); ResourcePackManager runs a tiny HTTP server on resource-pack.host-port (default 8765), serves the zip and listens to PlayerResourcePackStatusEvent. The pack can be enforced via required: true. util — Lang/LangVis/LangText/LangBar for on-the-fly ru/en translation, Text (Adventure and &#RRGGBB colors), Holo (floating TextDisplay), Icons (pack symbol map), Kiosk, Props. Gameplay Every lane.spawn-interval-ticks (default 40 = 2 s) a random brainrot enters the lane. Rarity weights come from lane.rarity-weights. Guarantees legendary-every-minutes and mythic-every-minutes are shown on the tunnel signboard. On spawn a mutation may roll with lane.gold-chance / lane.diamond-chance. Right-click a brainrot on the lane — buy. If it is already walking to someone else's base — rebuy with a +50 % premium. Right-click someone else's brainrot on their base — steal (carry it home; a hit on the carrier drops it). Shift + right-click your own — sell for base.sell-percent % (50 %). Income ticks once per second: type.income() × Trait.total(mut, traits) × (1 + 0.5 × rebirths). Collected from the plate in front of the pedestal. Base lock (Lock Base plate) closes the gate for base.lock-seconds + lock-per-rebirth-seconds × rebirths seconds. Rebirth — priest NPC on the north plaza. Prices from rebirth.costs (500k … 125B), then base-cost × cost-multiplier^n, capped by rebirth.max (10). Each rebirth resets coins, adds +50 % income, +10 s lock time, and at floor2-at / floor3-at the 2nd (18 slots) and 3rd (25 slots) floors are built out. Events EventManager picks a random interval from events.intervals-minutes and runs an event for events.duration-seconds. Weak events are common, strong ones are rare (Admin Abuse never auto-starts). Each event rains materials/projectiles onto the lane; hits stamp a mutation or trait onto a random brainrot. The next event timer and the current event show up in the HUD and on the tunnel signboard.
Commands (/br, aliases /brainrot, /sab) Player:
/br (or play) — to your base, otherwise to the lobby. /br lobby (aliases hub, leave); also a standalone /lobby (/hub, /l). /br servers — server list. /br join <1|2|endless> — join a specific server. /lang [ru|en] (/language, /yazik) or /br lang — language menu / switch. /br balance (bal) — balance on the current server or across all of them. /br music — toggle background music. /br pack (rp) — re-send the resource pack. /br help — help. Admin (brainrot.admin, default op):
/br setup [all|lobby|<id>] — build/rebuild the lobby and/or arenas. /br event <id|admin|stop> [seconds] — start an event / Admin Abuse (all at once) / stop. /br spawn <id> [mutation] [trait,trait] — release a brainrot onto the lane. /br coins <name> <amount> — grant/subtract coins. /br list — all brainrots grouped by rarity. /br clearlane — clear the lane. /br reset <name> — reset a player (offline only; index is kept). /br give <item> — give yourself a gadget. /br shop — open the shop. /br gift <name> <id> [mutation] [traits] — gift a brainrot straight to a base. /br spins <name> <n> — grant wheel spins. /br rebirth <name> <n> — set rebirth level (rebuilds floors). /br wipe <1|2> — wipe a timed server immediately. Configuration (config.yml) Sections: start-coins, auto-setup, language.ask-every-join, lane (spawn ticks, speed, gap, luck, mutation chances, guarantees, rarity weights), base (lock, sell %), rebirth (costs, multiplier, floors), music, wheel, fuse.seconds-per-rarity, events (intervals, duration, award gap), resource-pack (built-in HTTP hosting), servers (timed-count, wipe-hours/wipe-time, endless), party.wait-seconds, hud.title/footer.
Resources plugin.yml — registers commands and the brainrot.admin permission.
brainrot-pack.zip — prebuilt resource pack (gadget textures, event icons); the plugin can host it itself over HTTP on resource-pack.host-port.
en.txt — English dictionary for on-the-fly UI/message translation (Lang/LangVis). pack-icons.txt — pack symbol map. Implementation notes All plugin entities are tagged with a NamespacedKey, so conflicts with other plugins over mobs are ruled out. Worlds use a flat VoidGenerator; the plugin builds everything, so arenas are deterministic. Brainrot models are BlockDisplay sets with Transformation, animated through Bone/Motion/Rig. All 89 models are pre-rigged on onEnable so the first spawn does not lag. PlayerData.reset (wipe) leaves index and lang untouched. Legacy v1 brainrot ids are remapped automatically (BrainrotRegistry.alias). The first player spawn is redirected to the lobby through a reflective subscription to AsyncPlayerSpawnLocationEvent/PlayerSpawnLocationEvent. Top lists (collection, income, coins, playtime) aggregate across every scope and are shown in the lobby.


