Loot, tags and advancements
NTM additions to vanilla loot and advancement data.
These use vanilla datapack formats with the NTM additions described below. The Minecraft Wiki data pack reference covers the base formats.
Loot tables
NTM supplies block, entity and structure loot tables. Use the Minecraft Wiki loot-table reference for the base JSON. A higher-priority file with the same resource ID replaces the complete lower-priority table.
Scaled rolls
The hbm:config_scaled number provider scales its input by the world's loot amount factor:
{
"type": "hbm:config_scaled",
"value": 2
}| Field | Meaning and default |
|---|---|
type | hbm:config_scaled. |
value | Context integer provider: an integer, an inline provider object or a provider reference. |
The result is:
\max\!\left(1,\left\lfloor\mathrm{value}\cdot\mathrm{amount\_factor}\right\rfloor\right)amount_factor is a field of the loot world settings, read each time the provider rolls. value is sampled as an integer, so a uniform integer provider lies in [\mathrm{min}, \mathrm{max}] before scaling. The provider may appear as a pool's rolls value. The rest of the pool uses vanilla formats and functions.
Entity enchantment levels
hbm:entity_enchantment_level reads an enchantment level from an entity selected from the loot context, such as the attacker's Looting level.
Container fill policy
| Field | Meaning and default |
|---|---|
hbm:random_slotsOptional | Top-level loot-table field. When true, container filling uses the policy below; default false. |
When a container unpacks a table with hbm:random_slots: true:
- Each rolled stack keeps its rolled count and goes to a uniformly random slot, replacing that slot's contents, including earlier rolls.
- A stack larger than its maximum stack size is split into single items, each placed in a random slot.
Zero-count stacks also write to a random slot, clearing its contents. A minecraft:empty entry emits no stack and makes no slot write.
Only the table named by the container is checked; nested minecraft:loot_table entries ignore their own flag. Drops and /loot draw the table normally.
Example: data/example/loot_table/chest.json.
{
"type": "minecraft:chest",
"hbm:random_slots": true,
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:iron_ingot"
}
],
"modifier": [
{
"type": "minecraft:set_count",
"count": 16
}
]
}
]
}NTM chest tables
NTM structures and features store a roll-table ID in each container. A roll table draws one content table. Every shipped chest table sets hbm:random_slots to true.
| Table ID | Contents |
|---|---|
hbm: | Content table: one weighted draw, rolls 1. Overriding it changes every container drawing that pool. |
hbm: | Draws hbm: a uniform [\mathrm{min}, \mathrm{max}] times; a constant count when equal. |
hbm: | The same count wrapped in hbm:. |
hbm: | The same count without scaling. |
Generated chest selection
The 44 built-in content tables encode their weighted selection as nested minecraft:alternatives entries with minecraft:value_check conditions. To change odds in a copied table, update those selection conditions or replace the pool with a vanilla weighted entry list. Changing leaf weight fields alone leaves the generated branch selection unchanged.
hbm:chests/nuke_fuel now yields hbm:pile_rod_mk2_nu in place of hbm:pile_rod_uranium, and hbm:pile_rod_mk2_ra226be in place of hbm:pile_rod_source. Their count ranges remain 2–5 and 1–2, with weights 3 and 2 respectively.
hbm:chests/vanilla/simple_dungeon fills the library dungeon's chests with one draw of minecraft:chests/simple_dungeon.
Vanilla chest additions
When loot tables load, NTM appends single-item entries to the first pool of five vanilla chest tables. A replacement table receives them only when it has at least the listed number of pools and first-pool entries; otherwise it is left unchanged.
| Table | Minimum pools / first-pool entries | Added entries (weight) |
|---|---|---|
minecraft: | 2 / 20 | hbm: (3), hbm: (1) |
minecraft: | 3 / 6 | hbm: (1), hbm: (5), hbm: (5), hbm: (5) |
minecraft: | 3 / 12 | hbm: (1), hbm: (1), hbm: (5) |
minecraft: | 3 / 16 | hbm: (1), hbm: (1) |
minecraft: | 2 / 13 | hbm: (1) |
minecraft:chests/spawn_bonus_chest always receives one extra pool: 10 rolls of hbm:no9 (weight 7) against an empty entry (weight 64).
Tags
Use the Minecraft Wiki tag reference for tag paths, values, and replace. An NTM recipe ingredient refers to an item tag as #example:ingredients; other NTM fields may expect a bare tag ID. Follow the shape documented for that field.
To remove entries contributed by another tag file, use the field for your loader. The generated minecraft:trimmable_armor tag removes NTM items this way:
FabricApplies to NTM 1.0.4 · Fabric.Shown because Both loaders is selected.
fabric:remove is an array of item IDs. See the Fabric tag-removal example.
NeoForgeApplies to NTM 1.0.4 · NeoForge.Shown because Both loaders is selected.
remove is an array of item IDs. See the NeoForge tag reference.
NTM uses tags for recipe inputs, fluid equivalence, biome scopes, damage behavior and other membership policies. Some consumers snapshot tag membership at world load.
Membership tags
NTM code reads these tags. Paths are under data/<namespace>/tags/<directory>/.
| Tag | Directory | Behavior |
|---|---|---|
hbm: | item | Coal fuel class: +25% burn time in the Firebox, Heating Oven and Iron Furnace. Solid fuels, rocket fuel, coke and briquettes keep their own classes. |
hbm: | item | Marks armor pieces for Faraday protection. All four slots must hold eligible pieces; positive installed cladding resistance also qualifies a piece. |
hbm: | item | Refuses listed items in NTM storage and cargo paths that enforce container-item eligibility. |
hbm: | item | Drops the Mining Laser deletes while a Scrap Destroyer Upgrade is installed. |
hbm:, hbm: | item | Anvil repair materials for NTM tools and armor. <item> is the original repair item's path; <material> is the armor material. |
c: | item | Color applied when the item dyes a pylon or connector, Deco Light Emitter or Firework Battery. A minecraft: component takes precedence. |
c:, c:, minecraft:, hbm: | item | Steel Furnace bonus per smelted item, first match in this order: 25% for ores and raw materials, 50% for logs, 50% for tar. Each full 100% adds one more result. |
hbm:, hbm: | item | NTM renderers that display item stacks, such as pedestals, presses and conveyor items, draw hbm: members with their ground model; hbm: members omit the bob offset. |
hbm: | block | The Large Mining Drill stops drilling while a member is in its bore. |
c: | block | Blocks the Large Mining Drill mines as veins when vein mining is enabled and the installed drill bit supports it. |
hbm: | block | Blocks kept in the ancient tomb's cladding volume; other non-air blocks there become tomb concrete. |
hbm: | block | Non-replaceable blocks a deflected meteor's crater may overwrite. |
hbm: | block | Blocks FBI Agents break during raids. |
hbm: | block | Stops graphite-pile neutron flux. |
hbm: | block | Multiplies passing graphite-pile neutron flux by 0.25. |
hbm: | entity_ | Exempts entity types from radiation and neutron contamination. |
hbm: | damage_ | Non-projectile damage types an enderman teleports away from instead of taking. |
hbm: | damage_ | Projectile damage types an enderman takes instead of teleporting away. |
c: | entity_ | Thermal sights outline members in orange. |
c: | worldgen/ | Biomes excluded from NTM's added mob spawns. |
Item-hazard bindings target item tags such as hbm:hazard/<name>; see Item hazards. Fluid shares name fluid tags; see the Fluid Trait Reference.
NTM's c:<family>/<name> item tags join their parent c:<family> tag for the families dusts, dyed, dyes, gems, ingots, nuggets, ores, raw_materials and storage_blocks. NTM ore and storage blocks are also listed in c:ores/<name> and c:storage_blocks/<name> block tags, which join the c:ores and c:storage_blocks block tags.
Advancements and NTM criteria
The enclosing advancement fields follow the Minecraft Wiki advancement reference. Every trigger accepts the optional vanilla player predicate. An item field is an optional vanilla item predicate applied to the event stack.
| Trigger | Event | Additional fields |
|---|---|---|
hbm: | Radiation sickness at 200 to below 400 RAD (fatal false), or death from at least 1000 RAD (fatal true) | Optional level: bounds on the player's RAD; optional boolean fatal |
hbm: | Player digamma set to a positive value | Optional level: bounds on digamma, [0, 1000]; optional fatal; these events report false |
hbm: | NTM detonation | Required kinds: list of detonation kinds |
hbm: | Player finished smoking an item | item |
hbm: | Player opened a Strange Stone with a Red Key or Cracked Key | None |
hbm: | Particle Detector produced a digamma particle within 100 blocks horizontally and 50 vertically | item |
hbm: | Dropped item dissolved in Sulfuric Acid within 10 blocks | item |
hbm: | Item entity entered the player's inventory | item |
hbm: | Player took a stack from an NTM output slot, or crafted at an NTM anvil (first listed output) | item |
hbm: | Soyuz payload or satellite reached orbit; every player in the dimension | item: payload or satellite chip |
hbm: | Orbiting satellite executed its command; every player in the dimension | item: satellite chip |
hbm: | NTM boss died within its credit radius | Required kind |
hbm: | 8 Inch Blade Autoinjector reduced the player's maximum health to 2 | None |
| Detonation kind | Event | Credited players |
|---|---|---|
nuke | Nuclear explosion | Every player in the dimension, each tick |
rbmk | RBMK meltdown | Within 50 blocks |
zirnox | ZIRNOX explosion | Within 100 blocks |
watz | Watz meltdown | Within 50 blocks |
refinery | Refinery destroyed directly by a napalm bomblet | Within 100 blocks |
fluid_ | Tank holding a flammable fluid destroyed directly by a napalm bomblet | Within 100 blocks |
digamma_ | Digamma spear impact | Every player in the dimension |
nuclear_ | Nuclear creeper death | Within 50 blocks |
soyuz_ | Soyuz launch exhaust | Each player hit |
| Boss kind | Boss | Credit radius |
|---|---|---|
maskman | Mask Man | 100 |
meltdown | Meltdown Elemental leader | 50 |
worm | Balls-O-Tron Prime | 200 |
ufo | Martian Invasion Ship | 200 |
A minimal advancement for taking paper from an NTM output slot is:
{
"criteria": {
"make_paper": {
"trigger": "hbm:item_crafted",
"conditions": {
"item": {
"items": "minecraft:paper"
}
}
}
}
}NTM furnace output slots also fire minecraft:recipe_crafted for the smelting recipes used.
Bobmazon offers are gated by hbm:blastfurnace, hbm:assembly, hbm:chemplant, hbm:desh, hbm:technetium and hbm:hidden. Overriding one changes when its offers unlock; a missing gate advancement keeps them locked.
Damage types
data/<namespace>/damage_type/<path>.json uses the vanilla damage-type schema described in the Minecraft Wiki data pack reference. For example, a shipped type contains:
{
"exhaustion": 0.0,
"message_id": "pc",
"scaling": "never"
}The resource ID identifies the damage type. message_id selects its death-message family; translated strings are client language resources. Damage tags control properties such as bypass behavior.
Damage-type registry contents load with the world.
Jukebox songs
data/<namespace>/jukebox_song/<path>.json uses the vanilla song schema described in the Minecraft Wiki data pack reference:
{
"sound_event": "hbm:music.transmission",
"description": {
"translate": "jukebox_song.hbm.glass"
},
"length_in_seconds": 62.229,
"comparator_output": 15
}This is the shipped hbm:glass song record; NTM also ships hbm:lc, hbm:ss and hbm:vc. The song registry loads with the world. The item refers to the song through its vanilla jukebox-playable component.
hbm:conductor_template
Template-pool element that connects generated cables to the power network.
hbm:entity_enchantment_level
Reads an enchantment level from a loot-context entity.
© 2026 movblock. Original site text is licensed under CC BY-SA 4.0 unless otherwise noted. Built with Fumadocs.