Skip to content

Child Contaminants

petrolpark edited this page Jan 25, 2025 · 3 revisions

Contaminants can define "children". These are Contaminants which any contaminable object has by virtue of having the parent Contaminant. For example, the Contaminant examplemod:non_vegetarian would be a good candidate for the child of the Contaminant examplemod:non_vegan if anything Contaminated as non-vegetarian should also be considered non-vegan.

Contaminants can have any number of children and any number of parents. Note that parents of a parent (etc) are still considered direct parents and are treated the exact same way. Same for children of children (etc).

Notes on use of Contaminants with children:

  • If a Contaminant is added to a Contamination with IContamination.contaminate(Contaminant) all of its children will also be added.
  • Contaminants cannot be removed from a Contamination with IContamination.decontaminate(Contaminant) or decontaminateOnly(Contaminant) if they have any parent remaining in the Contamination.
  • Removing a Contaminant with IContamination.decontaminate(Contaminant) will also remove all of its children that do not have another parent remaining in the Contamination.
  • Removing a Contaminant with IContamination.decontaminateOnly(Contaminant) will remove that Contaminant, but not any of its children.

API Reference

Flags than can be applied to Item Stacks and other objects and will propagate through crafting

Timers that can be attached to Item Stacks to modify them after a given time, no matter what Inventory they are in

A way for mods to detect groupings of Players and store information on these groupings

Manipulation of Loot Table randomness and other RNG to give desired Items

Additional inventory and hotbar slots for the Player

Blocks and Items that have variants craftable from any mod's wood

Loot and Data

Data-driven modifications to existing Loot Tables with greater versatility than NeoForge Global Loot Modifiers

Data-driven changes to the world (give Items, XP, unlock Villager Trades)

Levelable "Shops" shared between Teams giving Rewards for randomly-generated Item requests

Additional implementations of vanilla's Number Providers used in Loot Tables and Advancements

Recipes

Extension of NeoForge Ingredients to include descriptions and Loot Table forcing

Work with automatically-detected "compression" Recipes (e.g. Nuggets <-> Ingots <-> Blocks)

Recycling (page under construction)

Balanced and versatile "uncrafting" API

Gating Recipes for vanilla and modded Items behind Item unlocks

Changelogs

1.3.1, 1.3.2, 1.3.3, 1.3.4
1.4.0, 1.4.1, 1.4.2, 1.4.3, 1.4.4, 1.4.5, 1.4.6, 1.4.7, 1.4.8, 1.4.9, 1.4.10, 1.4.11, 1.4.12, 1.4.13, 1.4.14, 1.4.15, 1.4.16, 1.4.17, 1.4.18, 1.4.19, 1.4.20, 1.4.21, 1.4.22, 1.4.23, 1.4.24, 1.4.25, 1.4.26

Clone this wiki locally