Class PuterDataStack

java.lang.Object
com.petrolpark.core.puter.file.PuterDataStack
All Implemented Interfaces:
IPuterFile, net.minecraft.core.component.DataComponentHolder, net.neoforged.neoforge.common.extensions.IDataComponentHolderExtension, net.neoforged.neoforge.common.MutableDataComponentHolder

public final class PuterDataStack extends Object implements IPuterFile, net.neoforged.neoforge.common.MutableDataComponentHolder
IPuterFile analogue of ItemStack.
  • A Puter file of a certain PuterData with variable size
  • Can be split up arbitrarily
  • Conserved (can't be copied, in general)
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final PuterDataStack
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    PuterDataStack(PuterData type, long size)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    applyComponents(net.minecraft.core.component.DataComponentMap components)
     
    void
    applyComponents(net.minecraft.core.component.DataComponentPatch patch)
     
    net.minecraft.core.component.DataComponentMap
     
     
    long
     
    <T> T
    remove(net.minecraft.core.component.DataComponentType<? extends T> componentType)
     
    <T> T
    set(net.minecraft.core.component.DataComponentType<? super T> componentType, T value)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface net.minecraft.core.component.DataComponentHolder

    get, getOrDefault, has

    Methods inherited from interface net.neoforged.neoforge.common.extensions.IDataComponentHolderExtension

    addToTooltip, addToTooltip, get, getOrDefault, has

    Methods inherited from interface net.neoforged.neoforge.common.MutableDataComponentHolder

    copyFrom, copyFrom, remove, set, update, update, update, update
  • Field Details

  • Constructor Details

    • PuterDataStack

      public PuterDataStack(PuterData type, long size)
  • Method Details

    • getData

      public PuterData getData()
    • getSize

      public long getSize()
      Specified by:
      getSize in interface IPuterFile
    • getComponents

      public net.minecraft.core.component.DataComponentMap getComponents()
      Specified by:
      getComponents in interface net.minecraft.core.component.DataComponentHolder
    • set

      @Nullable public <T> T set(@Nonnull net.minecraft.core.component.DataComponentType<? super T> componentType, @Nonnull T value)
      Specified by:
      set in interface net.neoforged.neoforge.common.MutableDataComponentHolder
    • remove

      @Nullable public <T> T remove(@Nonnull net.minecraft.core.component.DataComponentType<? extends T> componentType)
      Specified by:
      remove in interface net.neoforged.neoforge.common.MutableDataComponentHolder
    • applyComponents

      public void applyComponents(@Nonnull net.minecraft.core.component.DataComponentPatch patch)
      Specified by:
      applyComponents in interface net.neoforged.neoforge.common.MutableDataComponentHolder
    • applyComponents

      public void applyComponents(@Nonnull net.minecraft.core.component.DataComponentMap components)
      Specified by:
      applyComponents in interface net.neoforged.neoforge.common.MutableDataComponentHolder