Gameplay Mechanics
Beyond recipes and warps, Craftify layers in a number of small gameplay and quality-of-life mechanics. Most are driven by advancements that fire a reward function and then re-arm themselves, so they run automatically in the background.
Forever Young / Forever Old
Keep a baby animal a baby forever — or let it grow up again — using a renamed name tag.
- Forever Young: Name a name tag
Forever Young(in an anvil), then use it on a baby animal. The animal is frozen as a baby (its age is pinned), taggedbaby, and briefly glows to confirm. - Forever Old: Name a name tag
Forever Oldand use it on a frozen baby to release it so it grows normally again.
Both triggers are case- and spacing-insensitive — foreverYoung, forever_young,
forever young, and Forever Young all work (and likewise for the "old" variant).
This is perfect for permanent baby pets or decorative farm animals.
New-Player Welcome Kit
The first time a player joins (via the root advancement), Craftify runs
craftify:welcome, which:
- Gives a full set of leather armor.
- Gives wooden sword, pickaxe, and axe.
- Gives 16 bread, 16 cooked cod, and a bundle.
- Sends a welcome message with clickable links to the server rules and Discord.
Diamond X-ray Notice
The first time a player obtains diamonds (diamond, diamond ore, deepslate diamond ore, or a diamond block), they receive a one-time reminder that X-ray is not allowed on the server. The advancement revokes itself after firing, so it only shows once per player.
Ender Dragon Announcement
When a player kills the Ender Dragon, Craftify shows a server-wide title — "Dragon Killed" — along with an action-bar line naming who slew it.
Related loot-table tweaks:
- The Ender Dragon drops a dragon egg every time it's killed.
- Players drop their own player head when killed by another player.
Bee Nest Counter
When a bee nest (or hive) is destroyed, Craftify shows a title indicating how full it was — from "Empty" (0 bees) through to "Full" — so you know whether you lost any bees.
Containment Box (Ban Tag)
A moderation convenience: any player given the Ban tag is continuously teleported to a
containment box at 0 100 0. When the tag is removed, they are released safely to
0 97 0 with Slow Falling so they don't take fall damage.
# Hold a player
/tag <player> add Ban
# Release them
/tag <player> remove Ban
This runs every tick via the craftify:pulse advancement/function.
How These Are Triggered
Most mechanics use the self-re-arming advancement pattern: an advancement with a trigger
(e.g. minecraft:tick, minecraft:inventory_changed, minecraft:player_killed_entity)
grants a reward function, which does its work and then revokes the advancement so it
can fire again. There is no scoreboard or tick loop to manage — it's all data-driven.