Class StorageBlockEntity

java.lang.Object
net.neoforged.neoforge.attachment.AttachmentHolder
net.minecraft.world.level.block.entity.BlockEntity
de.cheaterpaul.enchantmentmachine.block.entity.StorageBlockEntity
All Implemented Interfaces:
IEnchantmentMachine, net.neoforged.neoforge.attachment.IAttachmentHolder, net.neoforged.neoforge.common.extensions.IBlockEntityExtension

public class StorageBlockEntity extends net.minecraft.world.level.block.entity.BlockEntity implements IEnchantmentMachine
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static interface 
     

    Nested classes/interfaces inherited from class net.minecraft.world.level.block.entity.BlockEntity

    net.minecraft.world.level.block.entity.BlockEntity.DataComponentInput

    Nested classes/interfaces inherited from class net.neoforged.neoforge.attachment.AttachmentHolder

    net.neoforged.neoforge.attachment.AttachmentHolder.AsField
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    float
     
    float
     
    float
     
    float
     
    float
     
    float
     
    float
     
    float
     
    int
     
    float
     

    Fields inherited from class net.minecraft.world.level.block.entity.BlockEntity

    level, remove, worldPosition

    Fields inherited from class net.neoforged.neoforge.attachment.AttachmentHolder

    ATTACHMENTS_NBT_KEY
  • Constructor Summary

    Constructors
    Constructor
    Description
    StorageBlockEntity(net.minecraft.core.BlockPos blockPos, net.minecraft.world.level.block.state.BlockState state)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Add one enchantment instance
    void
    addEnchantment(EnchantmentInstanceMod enchInst, int count)
     
    static void
    clientTick(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos blockPos, net.minecraft.world.level.block.state.BlockState state, StorageBlockEntity entity)
     
    boolean
    Consume 1 enchantment instance
     
     
    int
     
    it.unimi.dsi.fastutil.objects.Object2IntMap<EnchantmentInstanceMod>
     
    int
     
    boolean
     
    boolean
     
    void
    loadAdditional(net.minecraft.nbt.CompoundTag nbt, net.minecraft.core.HolderLookup.Provider pRegistries)
     
    void
     
    void
     
    protected void
    saveAdditional(@NotNull net.minecraft.nbt.CompoundTag compound, net.minecraft.core.HolderLookup.Provider pRegistries)
     
    void
    writeEnchantments(net.minecraft.nbt.CompoundTag compound, net.minecraft.core.HolderLookup.Provider pRegistries)
     

    Methods inherited from class net.minecraft.world.level.block.entity.BlockEntity

    addEntityType, applyComponents, applyComponentsFromItemStack, applyImplicitComponents, clearRemoved, collectComponents, collectImplicitComponents, components, fillCrashReportCategory, getBlockPos, getBlockState, getLevel, getPersistentData, getPosFromTag, getType, getUpdatePacket, getUpdateTag, hasLevel, isRemoved, isValidBlockState, loadCustomOnly, loadStatic, loadWithComponents, onlyOpCanSetNbt, parseCustomNameSafe, removeComponentsFromTag, removeData, saveCustomAndMetadata, saveCustomOnly, saveToItem, saveWithFullMetadata, saveWithId, saveWithoutMetadata, setBlockState, setChanged, setChanged, setComponents, setData, setLevel, setRemoved, triggerEvent

    Methods inherited from class net.neoforged.neoforge.attachment.AttachmentHolder

    deserializeAttachments, getData, getExistingData, hasAttachments, hasData, serializeAttachments

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface net.neoforged.neoforge.attachment.IAttachmentHolder

    getData, getExistingData, hasData, removeData, setData

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

    getModelData, handleUpdateTag, hasCustomOutlineRendering, invalidateCapabilities, onChunkUnloaded, onDataPacket, onLoad, requestModelDataUpdate
  • Field Details

    • ticks

      public int ticks
    • flip

      public float flip
    • oFlip

      public float oFlip
    • flipT

      public float flipT
    • flipA

      public float flipA
    • nextPageTurningSpeed

      public float nextPageTurningSpeed
    • pageTurningSpeed

      public float pageTurningSpeed
    • nextPageAngle

      public float nextPageAngle
    • pageAngle

      public float pageAngle
    • tRot

      public float tRot
  • Constructor Details

    • StorageBlockEntity

      public StorageBlockEntity(net.minecraft.core.BlockPos blockPos, net.minecraft.world.level.block.state.BlockState state)
  • Method Details

    • addEnchantment

      public void addEnchantment(EnchantmentInstanceMod enchInst, int count)
    • clientTick

      public static void clientTick(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos blockPos, net.minecraft.world.level.block.state.BlockState state, StorageBlockEntity entity)
    • getTicks

      public int getTicks()
    • consumeEnchantment

      public boolean consumeEnchantment(EnchantmentInstanceMod enchInst)
      Consume 1 enchantment instance
      Parameters:
      enchInst - The enchantment to consume
      Returns:
      Whether the given enchantment existed and was consumed
    • addEnchantment

      public void addEnchantment(EnchantmentInstanceMod enchInst)
      Add one enchantment instance
    • registerListener

      public void registerListener(StorageBlockEntity.IEnchantmentListener listener)
    • hasEnchantment

      public boolean hasEnchantment(EnchantmentInstanceMod enchInst)
      Returns:
      Whether the given enchantment is present
    • getEnchantments

      public it.unimi.dsi.fastutil.objects.Object2IntMap<EnchantmentInstanceMod> getEnchantments()
      Returns:
      Unmofifiable map of all enchantment instances and their count (>0)
    • getEnchantmentCount

      public int getEnchantmentCount()
    • loadAdditional

      public void loadAdditional(@Nonnull net.minecraft.nbt.CompoundTag nbt, net.minecraft.core.HolderLookup.Provider pRegistries)
      Overrides:
      loadAdditional in class net.minecraft.world.level.block.entity.BlockEntity
    • saveAdditional

      protected void saveAdditional(@NotNull @NotNull net.minecraft.nbt.CompoundTag compound, net.minecraft.core.HolderLookup.Provider pRegistries)
      Overrides:
      saveAdditional in class net.minecraft.world.level.block.entity.BlockEntity
    • writeEnchantments

      public void writeEnchantments(net.minecraft.nbt.CompoundTag compound, net.minecraft.core.HolderLookup.Provider pRegistries)
    • getAllEnchantments

      public Map<EnchantmentInstanceMod,Integer> getAllEnchantments()
    • getConnectedEnchantmentTE

      public Optional<StorageBlockEntity> getConnectedEnchantmentTE()
      Specified by:
      getConnectedEnchantmentTE in interface IEnchantmentMachine
    • hasConnectedTE

      public boolean hasConnectedTE()
      Specified by:
      hasConnectedTE in interface IEnchantmentMachine
      Returns:
      Whether an associated block pos is present. In most cases this should mean that getConnectedEnchantmentTE returns non empty TE
    • removeListener

      public void removeListener(StorageBlockEntity.IEnchantmentListener listener)