Historical Altars and Summon Preparation 1.12.2 - Herbertofury/Advent-of-Ascension GitHub Wiki
Historical altars and summon preparation
Minecraft 1.12.2 / AoA 3.3.6. Match the altar with its input, then read the exceptions before activating it. This reference covers 23 concrete classes in the historical altar package. It is not a claim to catalog every boss-summoning mechanism in AoA or to certify those mechanics in a modern port.
Worlds and travel · Four Guardians · Primordial Five · Ancient Cavern

Start with the common rule, then check the override
The shared BossAltarBlock handler checks the held activation item, rejects Peaceful on the server, and calls the altar's condition method. When that condition passes, it consumes one held item outside Creative before calling the activation effect.
This is not a universal fee for every row below. Clunkhead uses durability; Guardian and Rockrider are separate block handlers; Primordial overrides the ordinary payment flow; Army Block's condition has a side effect and returns false. Delayed effects and item-use hooks also change what a right-click actually does.
The shared handler has no general dimension gate or universal nearby-boss check. Do not treat a method that creates an entity as proof that the structure, item acquisition, multiplayer behavior or interaction precedence is fully working in a target build.
Altar and input index
Block and item links open the exact historical inventory record. Creature links open that release's bestiary with its model and loot references.
These are declared released-handler references, not a list of universally obtainable crafting recipes. Use historical recipe search for an input's listed recipes; a missing recipe does not prove the item has no drop, trade or other acquisition route.
Exceptions worth knowing before spending an input
Clunkhead: durability, not stack consumption
Clunkhead Altar overrides the payment branch with damageItem(1, player) outside Creative. The Mega Rune Stone registration supplies maximum damage 5. That does not establish an unconditional number of activations after enchantments, damage handling and other mods are considered. Do not describe the ordinary altar's one-item shrink as this altar's cost.
Hive King: check the nearby entity box
Hive Spawner additionally requires that its altar-centered bounding box, expanded by 20, contain no Hive King. This is a specific entity-class query, not a blanket check for every boss or a spherical distance guarantee.
Illusion Altar: boss and clone occupy different positions
The selected effect creates Elusive and an Elusive Clone. The clone's horizontal position is based on the altar and the player's look vector; the real entity receives additional random horizontal offsets and its own height lookup. Do not expect both entities to appear on the altar itself or treat the clone as an independently registered loot-equivalent boss.
Kror: prepare a Charging Table and remain nearby
Kror Altar requires a Charging Table directly above it. Holding the Charging Table item returns false from the altar override, allowing the separate placement interaction to be considered rather than starting the ritual with that item.
With Boulder Dash, the shared payment happens before the delayed task starts. The task then checks:
- The player is still in the captured original world.
- Player distance from the Charging Table is no greater than 10 under the selected distance method.
- Difficulty is not Peaceful.
- The expected Charging Table still occupies its position.
It requests 20 Energy per successful charge step, advancing an internal amount toward 200. Ten successful steps are followed by a separate callback that attempts the spawn. Resource helpers may modify actual payment or bypass it under configuration/Creative rules; the requested total is not an unconditional measured drain.
The first task is scheduled after one second, and successful charging reschedules after one second. These are scheduler delays, not a promise that the encounter begins at an exact wall-clock deadline. Failure to pay stops that path without a reschedule in the selected branch. Moving away, changing worlds, removing the table or failing the later space search does not show a refund of the already consumed Boulder Dash or earlier Energy payments.
The spawn-position search retries while collision remains, with a failure branch once its counter exceeds 64. Clear space before starting and test cancellation/recovery in a copied save when restoring the system.
C.R.E.E.P.: delayed explosions are part of the ritual
The effect schedules a Creep task after one second. Each run selects a corner nine blocks from the adjusted ritual center on both horizontal axes and requests a strength-1.5 explosion governed by doStrongerMobGriefing. After four runs, it attempts to spawn C.R.E.E.P. at the final corner; intermediate runs reschedule after two seconds.
Do not assume immediate spawning, a harmless waiting period or a fixed real-time completion guarantee. These are selected scheduler and explosion inputs, not a measured live ritual.
Shadowlord: lamps, a delayed spawn and a realmstone side route
Shadow Altar schedules its task after one second. The task scans the 5×2×5 area around the altar, switching a lit LampBlock off and rescheduling after two seconds when it finds one. After it exhausts that stage, it schedules the spawn phase; later it revisits four corner lamp positions and changes matching lamps to their on/fixed form.
The activation effect also checks Night Vision and a Blank Realmstone. When both qualify, it consumes a Blank Realmstone through the inventory helper and gives or drops a Dustopia Realmstone. This is an activation-side route, not a requirement to defeat Shadowlord first. It remains separate from the Book of Shadows payment in the shared altar handler.
The task stores the player and altar coordinates but reads player.world while it runs. World changes, logout, repeated activation and lamp ownership/protection need explicit testing before calling this sequence stable. Stay in the ritual's world rather than assuming every delayed task has Kror's captured-world guard.
Vinocorne: let Living Growth complete
Vinocorne Shrine requires the block above it to be replaceable. It places Living Growth there and schedules a 40-tick update. Growth begins at stage 0, advances through stage 5, then the stage-5 update attempts to spawn Vinocorne and removes the growth block. That is six scheduled update opportunities from the initial placement, nominally 240 game ticks if every interval proceeds as requested.
The growth depends on the shrine beneath it; removing the shrine also removes matching growth above it. Do not treat an ordinary input payment as proof that a removed, replaced or interrupted growth block still yields the boss. Scheduled game ticks are distinct from the separate executor delays used by C.R.E.E.P., Kror and Shadowlord.
Army Block: the condition is a starter, not a successful fee gate
Army Block's condition can create a wave-0 Skele-Elder when its nearby class-filtered query finds neither a Skele-Elder nor a Skeletron. It then returns false. Consequently, that path does not reach the shared handler's item shrink or ordinary activation effect; do not invent an arbitrary-held-item consumption bug from its null activation key.
The selected Skele-Elder death callback advances the wave when it has a nonnegative wave, an Army Block position, has squared distance less than 2500 from that position (the selected 50-block threshold), and the block is still an Army Block. Use the complete Skeletal Army walkthrough for all 39 wave lineups, starter persistence boundaries and Skeletron rewards.
Rockrider: convert first, then use the dropped-boss-item path
Rockrider Shrine does not directly instantiate Rockrider. It checks Floating Stone, requests 200 Energy, shrinks one Floating Stone on successful payment and gives or drops a Heavy Boulder. The selected block callback has no separate Creative exemption around that Floating Stone shrink, even though the resource helper can behave differently under Creative/configuration.
Heavy Boulder defines Rockrider spawning in Haven, subject to its collision-space check. The shared dropped-boss-item route is triggered by the item-toss event outside Peaceful, which replaces the tossed item entity with an owner-associated boss item. Its constructor supplies a lifespan of 200 ticks, and the selected update checks the timer before calling the item-specific spawn path. That is a source timer, not a live wall-clock guarantee.
Drop one boulder at a time. The conversion helper carries the tossed ItemStack into the special entity, and the successful item-specific spawn branch removes that entity. Do not assume dropping a whole stack means one separate encounter per item or that a rejected entity-spawn return restores the stack. A failed canSpawnHere check has a separate fallback setting the item lifespan to 6000; output, pickup and persistence still need runtime validation.
Treat Bag and Toy Gyrocopter have item-use paths too
The Candy Block handler declares Treat Bag as its key, but Treat Bag also defines an edible use-finish route with a 120-tick maximum use duration. That route requires Candyland and non-Peaceful conditions, creates Cotton Candor above the user, and shrinks one bag in its own server branch. Its onItemUseFirst returns success, so actual item-versus-block interaction precedence must be checked rather than claiming the declared Candy Block handler alone proves a working right-click route.
Toy Box's effect creates Gyro. The Toy Gyrocopter item's separate right-click path creates a Gyrocopter entity outside Peaceful and shrinks the held item outside Creative. Keep those entry paths distinct instead of merging their entity names or assuming the same spawn position.
Guardian and Primordial shrines have dedicated puzzles
Use the Four Guardians guide for four-sided redstone, Voliant Heart, wire removal and final-color rewards. Use the Primordial Five guide for eight lit lamps and the phase chain. Use the Crystal Extension comparison before preparing Giant Crystal for the Power Station, especially on older releases with different consumption loops.
Restoration priorities
- Preserve exact input identity, dispatch path and cost type. A one-item fee, one durability damage, Energy conversion and a lamp puzzle are different mechanics.
- Test input acquisition separately from a block's handler. A registered block and input are not proof of a complete survival route.
- Make failed spawns and interrupted rituals recoverable under a defined policy. Several selected paths consume inputs or change blocks before ignoring an entity-spawn return.
- Respect thread confinement. The reviewed delayed tasks call
ModUtil.scheduleAsyncTask, whose selected implementation schedules through a single-thread scheduled executor. Their run methods directly touch worlds, entities and players. Audit this boundary and use the target version's correct server scheduling/lifecycle mechanisms; no reproduced race or applied runtime fix is claimed here. - Test world change, logout, unloaded chunks, shutdown, repeated activation, multiplayer and protected blocks/items. One task's guard does not automatically protect the others.
- Retain event-driven activation and bounded checks. Do not add a permanent global scan merely to imitate a localized interaction; profile the actual target build before claiming faster gameplay.
Evidence and credits
Released altar handlers, item-registration bindings and delayed/item paths records 102 selected methods. Artwork atlas crops and hashes.
AoA source systems, models and textures: Tslat and contributors. Original documentation and static evidence tooling. No Java/game/mod execution or runtime certification is claimed.