Package com.petrolpark.contamination
Class Contamination<OBJECT,OBJECT_STACK>
java.lang.Object
com.petrolpark.contamination.Contamination<OBJECT,OBJECT_STACK>
- All Implemented Interfaces:
IContamination<OBJECT,OBJECT_STACK>
- Direct Known Subclasses:
FluidContamination,GenericContamination,ItemContamination
public abstract class Contamination<OBJECT,OBJECT_STACK>
extends Object
implements IContamination<OBJECT,OBJECT_STACK>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final Set<Contaminant>All extrinsicContaminants, whether added themselves or by parental proxy.protected final SortedSet<Contaminant>ExtrinsicContaminants that do not have a parent (if one exists) in this Contamination.protected final OBJECT_STACK -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal booleancontaminate(Contaminant contaminant) final booleancontaminateAll(Stream<Contaminant> contaminantsStream) Add several Contaminants, andfinal booleandecontaminate(Contaminant contaminant) Remove a Contaminant and anychildrenit has that don't belong to another parent.final booleandecontaminateOnly(Contaminant contaminant) Remove a Contaminant, but not any of its children.final booleanRemove all extrinsic Contaminants.final booleanhas(Contaminant contaminant) final booleanfinal booleanvoidreadNBT(net.minecraft.nbt.ListTag contaminationTag) final Stream<Contaminant>final Stream<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.net.minecraft.nbt.ListTagwriteNBT()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.petrolpark.contamination.IContamination
getAmount, getContaminable, getType, save, streamShownAbsentContaminants, streamShownContaminants
-
Field Details
-
stack
-
orphanContaminants
ExtrinsicContaminants that do not have a parent (if one exists) in this Contamination. -
contaminants
All extrinsicContaminants, whether added themselves or by parental proxy.
-
-
Constructor Details
-
Contamination
-
-
Method Details
-
has
- Specified by:
hasin interfaceIContamination<OBJECT,OBJECT_STACK>
-
hasAnyContaminant
public final boolean hasAnyContaminant()- Specified by:
hasAnyContaminantin interfaceIContamination<OBJECT,OBJECT_STACK>
-
hasAnyExtrinsicContaminant
public final boolean hasAnyExtrinsicContaminant()- Specified by:
hasAnyExtrinsicContaminantin interfaceIContamination<OBJECT,OBJECT_STACK>
-
streamAllContaminants
- Specified by:
streamAllContaminantsin interfaceIContamination<OBJECT,OBJECT_STACK>
-
streamOrphanExtrinsicContaminants
Description copied from interface:IContaminationStream all Contaminants in this Contamination that:- Are not
intrinsic - Have no children in this Contamination
- Specified by:
streamOrphanExtrinsicContaminantsin interfaceIContamination<OBJECT,OBJECT_STACK> - Returns:
- Distinct Stream of Contaminants
- Are not
-
contaminate
- Specified by:
contaminatein interfaceIContamination<OBJECT,OBJECT_STACK>
-
contaminateAll
Description copied from interface:IContaminationAdd several Contaminants, and- Specified by:
contaminateAllin interfaceIContamination<OBJECT,OBJECT_STACK> - Returns:
-
decontaminate
Description copied from interface:IContaminationRemove 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.- Specified by:
decontaminatein interfaceIContamination<OBJECT,OBJECT_STACK> - Returns:
- Whether this Contamination changed
- See Also:
-
decontaminateOnly
Description copied from interface:IContaminationRemove a Contaminant, but not any of its children. If the Contaminant has any parents in this Contamination, it will not be removed.- Specified by:
decontaminateOnlyin interfaceIContamination<OBJECT,OBJECT_STACK> - Returns:
- Whether this Contamination changed (the Contaminant was removed)
- See Also:
-
fullyDecontaminate
public final boolean fullyDecontaminate()Description copied from interface:IContaminationRemove all extrinsic Contaminants.- Specified by:
fullyDecontaminatein interfaceIContamination<OBJECT,OBJECT_STACK> - Returns:
- Whether this Contamination changed (whether it had any extrinsic Contaminants)
-
readNBT
public void readNBT(net.minecraft.nbt.ListTag contaminationTag) -
writeNBT
public net.minecraft.nbt.ListTag writeNBT()
-