Class MutableCompressionItemHandler

java.lang.Object
com.petrolpark.core.recipe.compression.CompressionItemHandler
com.petrolpark.core.recipe.compression.MutableCompressionItemHandler
All Implemented Interfaces:
net.neoforged.neoforge.common.util.INBTSerializable<net.minecraft.nbt.CompoundTag>, net.neoforged.neoforge.items.IItemHandler

public class MutableCompressionItemHandler extends CompressionItemHandler
A CompressionItemHandler whose IItemCompressionSequence is set by the first Item to be added and can changed be by emptying.
  • Constructor Details

    • MutableCompressionItemHandler

      public MutableCompressionItemHandler(int capacity)
  • Method Details

    • insertItem

      public net.minecraft.world.item.ItemStack insertItem(@Nonnull net.minecraft.world.item.ItemStack stack, boolean simulate)
      Overrides:
      insertItem in class CompressionItemHandler
    • insertItem

      public net.minecraft.world.item.ItemStack insertItem(int slot, @Nonnull net.minecraft.world.item.ItemStack stack, boolean simulate)
      Specified by:
      insertItem in interface net.neoforged.neoforge.items.IItemHandler
      Overrides:
      insertItem in class CompressionItemHandler
    • createNewSequenceAndStore

      protected Optional<net.minecraft.world.item.ItemStack> createNewSequenceAndStore(net.minecraft.world.item.ItemStack stack, boolean simulate)
      Attempts to create a new IItemCompressionSequence if there isn't already one, and store the given Item Stack in it.
      Parameters:
      stack -
      simulate -
      Returns:
      Optional containing remainder Item Stack if the addition was handled, or empty Optional if it still needs to be
    • onNewSequence

      protected UnaryOperator<IItemCompressionSequence> onNewSequence(boolean simulate)
      Allows filtering and any other response to the new IItemCompressionSequence once it is (going to be) set. Called when reading this handler from NBT and when setting the new IItemCompressionSequence when an Item is first inserted
      Parameters:
      simulate -
      Returns:
      Operator on the newly set IItemCompressionSequence
    • extractItem

      public net.minecraft.world.item.ItemStack extractItem(int slot, int amount, boolean simulate)
      Specified by:
      extractItem in interface net.neoforged.neoforge.items.IItemHandler
      Overrides:
      extractItem in class CompressionItemHandler
    • serializeNBT

      public net.minecraft.nbt.CompoundTag serializeNBT(@Nonnull net.minecraft.core.HolderLookup.Provider provider)
      Specified by:
      serializeNBT in interface net.neoforged.neoforge.common.util.INBTSerializable<net.minecraft.nbt.CompoundTag>
      Overrides:
      serializeNBT in class CompressionItemHandler
    • deserializeNBT

      public void deserializeNBT(@Nonnull net.minecraft.core.HolderLookup.Provider provider, @Nonnull net.minecraft.nbt.CompoundTag nbt)
      Specified by:
      deserializeNBT in interface net.neoforged.neoforge.common.util.INBTSerializable<net.minecraft.nbt.CompoundTag>
      Overrides:
      deserializeNBT in class CompressionItemHandler