Skip to content
github-actions[bot] edited this page Aug 4, 2026 · 1 revision

Bosses

Planet bosses: what they are, how a fight works, how one turns up, and exactly how the rewards are split. The framework here is shared — every future planet boss is built on it — and the first boss to use it is the Cinder Tyrant.

Status: the boss framework and the first signature boss are in. Remaining planet bosses ("one per major world") are a follow-on.

The Cinder Tyrant

Something the ember world made out of its own crust, and then could not put back.

Biome tag neroland:space/dark_biomes (the tag Cindara belongs to)
Tier Apex — the band used by bosses and nothing else
Health 320, before bossHpMultiplier
Arena 32 blocks around wherever it arrived
Immune to fire and lava (it is made of slag), poison and wither
Drops Apex Trophy ×1, Refined Crystal ×6–12, Plasma Cell ×4–8, Void Essence ×1–3 at 50%
Spawn egg nerocreatures:cinder_tyrant_spawn_egg

It is themed off the real character of Nerospace's Cindara: a hot, rainless, ash-black world with no weather and a dark sky. So the Tyrant throws fire, cannot be burned, and pulls live plasma out of the ground when it needs help.

The three phases

The boss bar shows the phase name next to the boss's name, so you always know which fight you are in. Phases only ever advance — healing a boss does not rewind it.

# Phase From What changes
1 Slag and Stone full health Heavy melee plus a ground slam: a one-second wind-up, then a shockwave that damages and throws everything within 5 blocks.
2 Ashfall 66% health It stops relying on reach. Fireball volleys (three shots, from 5–24 blocks) make cover matter, and it starts calling up Plasma Slimes — up to 4 alive at once, in waves of 3.
3 Meltdown 33% health It enrages: permanently 35% faster and 30% harder-hitting, with a bigger, quicker slam and a five-shot volley on roughly half the cooldown. The shortest phase, and the one that decides the fight.

Fighting it. Phase 1 is about spacing — the slam is telegraphed and you can simply walk out of the ring, so the cost of greedy melee is the whole mechanic. Phase 2 is about cover and about deciding what to do with the adds: they are budgeted against the population caps and capped at four, so killing them is what lets it make more and ignoring them is what stops it. Phase 3 is about having saved something.

The adds are small. The Tyrant summons Plasma Slimes at their smallest size, which are terminal — they do not split further. They are pressure, not a second boss fight.

The arena

The Tyrant's arena is anchored wherever it arrives and reaches 32 blocks. Pull it beyond that and it drops its target, walks home and regenerates fast on the way; pull it more than twice as far and it is simply put back at full health.

This is deliberate and it is not negotiable: kiting a boss into a hole, up a pillar or off the map is not a strategy in NeroCreatures, it is a reset. Fight it where you found it.

How a boss turns up

Two entry modes, and they pay differently.

1. Natural — you found it

Rare, and gated much harder than any other creature in the mod, because a boss never despawns. All four of these must hold before the spawn engine will even consider one:

  1. naturalBossSpawnsEnabled is on (it is, by default).
  2. No boss has appeared or died in that dimension in the last Minecraft day.
  3. There is no boss already alive in that dimension.
  4. The ordinary weighted roll picks it — at weight 1, against a Void Crawler's 30.

A boss found this way drops its loot table and nothing else. No contribution is recorded, and nothing about the players who fought it is stored anywhere. Whoever kills it takes what falls.

2. Summoned — someone started it

The public API BossSummons.summon(level, pos, bossId, initiator) starts a tracked fight. This is the seam NeroEvents will call when it lands, and what the operator summon command will use. A summoned fight:

  • anchors its arena at the summon position;
  • records damage per player for as long as the fight lasts;
  • pays out enhanced rewards split by that damage, on top of the loot table, when the boss dies.

The initiator is optional and is used for exactly one thing: being put on the reward list at zero damage, so whoever paid to start the fight gets the base share even if they never land a hit.

A summon is refused if the dimension or the chunk is already at its NeroCreatures population cap.

A boss placed with the spawn egg counts as a natural fight: it anchors an arena and drops its plain loot table. Contribution belongs to a deliberate summon, not to a right-click.

The contribution reward rule

This is the exact rule, and it applies only to summoned fights.

Let share be a participant's damage divided by all damage recorded for that fight.

Who Gets
Every recorded participant (including the summoner at zero damage) 1 Apex Trophy, 2 Refined Crystal, 2 Plasma Cell — the base share
share below 5% the base share and nothing more
share at or above 5% the base share plus round(share × 12) Refined Crystal and round(share × 8) Plasma Cell
share at or above 25% all of the above plus a second Apex Trophy

Three things to note:

  • The 5% floor is the anti-leech rule. Turning up is worth the base share; landing one arrow from the back of the room is not worth a boss's worth of materials.
  • The pool is what the fight is worth, divided by who did the work. Because the shares of everyone above the floor sum to at most 1, twelve Refined Crystal and eight Plasma Cell is the most the scaled part can ever pay out in total, however many people turn up.
  • The loot table still drops, in full, where the boss fell. A summon only ever adds.

Where your share lands. If you are online in the boss's dimension when it dies, your share drops at your feet. If you have logged out or left the dimension, it drops where the boss fell — leave the fight before it ends and your share is on the floor with everybody else's. There is deliberately no mailbox: holding a player's unclaimed items would mean keeping a player-keyed record indefinitely, and this mod does not do that.

Scaling. Every count above is a bonus roll in the Drop Map sense and is scaled by dropRateMultiplier. Set it to 0 to switch the whole enhanced reward off and leave the loot table alone.

What is stored about you, and for how long

A summoned fight keeps one thing: your game UUID and a running damage total, in a world-save store called nerocreatures:boss_contribution, plus one "last updated" timestamp per player.

  • No names, no coordinates, no per-hit history. A row is a UUID and a number.
  • Natural fights store nothing at all. Wandering into a wild boss never puts you in this store.
  • The row is deleted when the fight ends. Resolving a fight both reads the shares and removes it; a boss that leaves the world unbeaten discards it. In normal play this store is empty.
  • A fight that somehow survives both (a crash mid-fight) is pruned after 6 hours.
  • Erasure: /neroland data eraseme removes your UUID from every fight it appears in, alongside everything else NeroCreatures holds. See Pets & Drones and ../PRIVACY.md.
  • Retention: honours Core's dataRetentionDays like the ownership store does.
  • Access: a per-player export returns exactly your own contribution and nobody else's.

For other mods: the nerocreatures:boss_pressure channel

Every phase transition and every defeat is published on Neroland Core's threshold event bus, so another mod can react to a boss fight escalating while depending only on Core. No NeroCreatures import, no hard dependency, and it degrades to nothing when NeroCreatures is absent.

channel   nerocreatures:boss_pressure
scope     the dimension id the fight is in, as a string (e.g. "nerospace:space")
Event value threshold rising
Entered phase n (1-based) n n true
Boss defeated 0 the boss's phase count false

A defeat is the only crossing this channel publishes with rising == false, so one boolean tells a consumer "the fight got worse" from "the fight is over".

The scope is a place, never a person. Core's ThresholdCrossing contract forbids encoding a player identifier into a scope, and this channel never does — no UUID, no name, no position ever goes on the bus. If you are building a consumer, treat the scope as a dimension id and nothing else.

Configuration

All server-authoritative, in nerocreatures.properties:

Key Default Effect
naturalBossSpawnsEnabled true Whether a boss may appear on its own. Off leaves bosses reachable only through the summon API and the spawn egg.
bossHpMultiplier 1.0 Scales a boss's maximum health, applied once at spawn.
bossDifficultyMultiplier 1.0 Scales a boss's attack damage and its pacing — every phase cooldown is divided by it, so a higher value makes a boss slam and shoot more often, not just harder.
dropRateMultiplier 1.0 Scales the contribution reward. 0 switches it off entirely; the loot table is untouched.
maxCreaturesPerChunk / maxCreaturesPerDimension 8 / 200 A boss and its adds are inside the same population caps as everything else. A summon into a full dimension is refused.

Both boss multipliers are applied to attribute base values at spawn, which are saved with the entity. A boss already in the world keeps the numbers it was born with; a config change applies to the next one.

Building a boss (contributors)

The framework is three pieces:

  • boss/BossController — the state machine. Phases, the boss bar, the arena leash, the config scaling, the contribution hook and the threshold events. A boss holds one.
  • boss/BossPhase — a description: an id, a display title, a health fraction, a factory for the goals active during the phase, and a one-off entry action. Goals carry cooldown state, so a phase must build fresh ones every time it is entered; the controller adds them on entry and removes them on exit. Anything the boss should always be able to do belongs in its own registerGoals instead, where the controller will not touch it.
  • entity/boss/NeroBossEntity — the entity base that wires the controller into finalizeSpawn, customServerAiStep, hurtServer, die, remove and save/load. A boss extends this, declares its phases, and is done.

Three reusable goals landed with it, all with documented cost profiles like the rest of entity/ai/: GroundSlamGoal, FireVolleyGoal and SummonAddsGoal (which is budgeted against the population caps exactly as slime splitting is).

See also

  • Bestiary — every non-boss creature.
  • Spawning — the spawn table the boss's gated line sits in, and the caps a summon respects.
  • Drop Map — what the Apex Trophy and the rest of the drops are for.
  • Pets & Drones — the mod's other player-keyed store.
  • Commands/nerocreatures summon-boss.
  • Link module — what a companion app sees of a fight you are in.
  • Data storage — what a summoned fight records, and how to erase it.

Clone this wiki locally