Class Contamination<OBJECT,OBJECT_STACK>
java.lang.Object
com.petrolpark.core.contamination.Contamination<OBJECT,OBJECT_STACK>
- All Implemented Interfaces:
IContamination<OBJECT,OBJECT_STACK>
- Direct Known Subclasses:
ComponentHolderContamination,GenericContamination
public abstract class Contamination<OBJECT,OBJECT_STACK>
extends Object
implements IContamination<OBJECT,OBJECT_STACK>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final Set<net.minecraft.core.Holder<Contaminant>> All extrinsicContaminants, whether added themselves or by parental proxy.static final com.mojang.serialization.Codec<List<net.minecraft.core.Holder<Contaminant>>> static final net.minecraft.network.codec.StreamCodec<net.minecraft.network.RegistryFriendlyByteBuf, List<net.minecraft.core.Holder<Contaminant>>> protected final SortedSet<net.minecraft.core.Holder<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(net.minecraft.core.Holder<Contaminant> contaminant) final booleancontaminateAll(Stream<net.minecraft.core.Holder<Contaminant>> contaminantsStream) Add several Contaminants, andfinal booleandecontaminate(net.minecraft.core.Holder<Contaminant> contaminant) Remove a Contaminant and anychildrenit has that don't belong to another parent.final booleandecontaminateOnly(net.minecraft.core.Holder<Contaminant> contaminant) Remove a Contaminant, but not any of its children.final booleanRemove all extrinsic Contaminants.protected List<net.minecraft.core.Holder<Contaminant>> final booleanhas(net.minecraft.core.Holder<Contaminant> contaminant) final booleanfinal booleanfinal Stream<net.minecraft.core.Holder<Contaminant>> final 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.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.petrolpark.core.contamination.IContamination
getAmount, getContaminable, getType, isIntrinsic, save, streamIntrinsicContaminants, streamShownAbsentContaminants, streamShownContaminants, streamShownIfAbsentContaminants
-
Field Details
-
ORPHAN_HOLDER_LIST_CODEC
public static final com.mojang.serialization.Codec<List<net.minecraft.core.Holder<Contaminant>>> ORPHAN_HOLDER_LIST_CODEC -
ORPHAN_HOLDER_LIST_STREAM_CODEC
public static final net.minecraft.network.codec.StreamCodec<net.minecraft.network.RegistryFriendlyByteBuf,List<net.minecraft.core.Holder<Contaminant>>> ORPHAN_HOLDER_LIST_STREAM_CODEC -
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
public final boolean contaminateAll(Stream<net.minecraft.core.Holder<Contaminant>> contaminantsStream) Description copied from interface:IContaminationAdd several Contaminants, and- Specified by:
contaminateAllin interfaceIContamination<OBJECT,OBJECT_STACK> - Parameters:
contaminantsStream-- 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> - Parameters:
contaminant-- 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> - Parameters:
contaminant-- 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)
-
getOrphanHolderList
-