Interface IContamination<OBJECT,OBJECT_STACK>
- All Known Implementing Classes:
ComponentHolderContamination,Contamination,FluidContamination,GenericContamination,IncontaminableContamination,ItemContamination
public interface IContamination<OBJECT,OBJECT_STACK>
A specific instance of a contaminable object, with the specific Contaminants that object posseses.
-
Method Summary
Modifier and TypeMethodDescriptionbooleancontaminate(net.minecraft.core.Holder<Contaminant> contaminantHolder) booleancontaminateAll(Stream<net.minecraft.core.Holder<Contaminant>> contaminantsStream) Add several Contaminants, andbooleandecontaminate(net.minecraft.core.Holder<Contaminant> contaminantHolder) Remove a Contaminant and anychildrenit has that don't belong to another parent.booleandecontaminateOnly(net.minecraft.core.Holder<Contaminant> contaminantHolder) Remove a Contaminant, but not any of its children.booleanRemove all extrinsic Contaminants.static Optional<IContamination<?, ?>> doublegetType()booleanhas(net.minecraft.core.Holder<Contaminant> contaminantHolder) booleanbooleandefault booleanisIntrinsic(net.minecraft.core.Holder<Contaminant> contaminantHolder) static voidperpetuate(Stream<Object> inputs, Stream<Object> outputs) static voidperpetuate(Stream<net.minecraft.world.item.ItemStack> itemInputs, Stream<net.neoforged.neoforge.fluids.FluidStack> fluidInputs, double fluidWeight, Stream<net.minecraft.world.item.ItemStack> itemOutputs, Stream<net.neoforged.neoforge.fluids.FluidStack> fluidOutputs) static <OBJECT> voidperpetuate(Stream<OBJECT> inputs, Stream<OBJECT> outputs, Function<OBJECT, IContamination<?, ?>> contaminationGetter) voidsave()Stream<net.minecraft.core.Holder<Contaminant>> default Stream<net.minecraft.core.Holder<Contaminant>> Stream<net.minecraft.core.Holder<Contaminant>> Stream all Contaminants in this Contamination that: Are notintrinsicHave no children in this Contamination Note that this is the minimum set of Contaminants needed to uniquely define a Contamination.default Stream<net.minecraft.core.Holder<Contaminant>> default Stream<net.minecraft.core.Holder<Contaminant>> default Stream<net.minecraft.core.Holder<Contaminant>>
-
Method Details
-
get
-
perpetuate
- Parameters:
inputs-outputs-- See Also:
-
perpetuate
static <OBJECT> void perpetuate(Stream<OBJECT> inputs, Stream<OBJECT> outputs, Function<OBJECT, IContamination<?, ?>> contaminationGetter) - Type Parameters:
OBJECT- Type of the contaminable object- Parameters:
inputs-outputs-contaminationGetter-
-
perpetuate
-
getContaminable
Contaminable<OBJECT,OBJECT_STACK> getContaminable() -
getType
OBJECT getType() -
getAmount
double getAmount() -
save
void save() -
has
-
hasAnyContaminant
boolean hasAnyContaminant() -
hasAnyExtrinsicContaminant
boolean hasAnyExtrinsicContaminant() -
streamAllContaminants
Stream<net.minecraft.core.Holder<Contaminant>> streamAllContaminants() -
streamOrphanExtrinsicContaminants
Stream<net.minecraft.core.Holder<Contaminant>> streamOrphanExtrinsicContaminants()Stream all Contaminants in this Contamination that:- Are not
intrinsic - Have no children in this Contamination
- Returns:
- Distinct Stream of Contaminants
- Are not
-
streamShownContaminants
-
streamShownAbsentContaminants
-
contaminate
-
contaminateAll
Add several Contaminants, and- Parameters:
contaminantsStream-- Returns:
-
decontaminate
Remove a Contaminant and anychildrenit has that don't belong to another parent. If the Contaminant has any parents in this Contamination, it will not be removed.- Parameters:
contaminantHolder-- Returns:
- Whether this Contamination changed
- See Also:
-
decontaminateOnly
Remove a Contaminant, but not any of its children. If the Contaminant has any parents in this Contamination, it will not be removed.- Parameters:
contaminantHolder-- Returns:
- Whether this Contamination changed (the Contaminant was removed)
- See Also:
-
fullyDecontaminate
boolean fullyDecontaminate()Remove all extrinsic Contaminants.- Returns:
- Whether this Contamination changed (whether it had any extrinsic Contaminants)
-
isIntrinsic
-
streamIntrinsicContaminants
-
streamShownIfAbsentContaminants
-