Class LockableContainerBlockEntity

java.lang.Object
net.minecraft.block.entity.BlockEntity
net.minecraft.block.entity.LockableContainerBlockEntity
All Implemented Interfaces:
Inventory, NamedScreenHandlerFactory, ScreenHandlerFactory, Clearable, Nameable
Direct Known Subclasses:
AbstractFurnaceBlockEntity, BrewingStandBlockEntity, LootableContainerBlockEntity

public abstract class LockableContainerBlockEntity extends BlockEntity implements Inventory, NamedScreenHandlerFactory, Nameable
Mappings:
Namespace Name
named net/minecraft/block/entity/LockableContainerBlockEntity
intermediary net/minecraft/class_2624
official duq
  • Field Details

    • lock

      private ContainerLock lock
      Mappings:
      Namespace Name Mixin selector
      named lock Lnet/minecraft/block/entity/LockableContainerBlockEntity;lock:Lnet/minecraft/inventory/ContainerLock;
      intermediary field_12045 Lnet/minecraft/class_2624;field_12045:Lnet/minecraft/class_1273;
      official d Lduq;d:Lbtj;
    • customName

      @Nullable private @Nullable Text customName
      Mappings:
      Namespace Name Mixin selector
      named customName Lnet/minecraft/block/entity/LockableContainerBlockEntity;customName:Lnet/minecraft/text/Text;
      intermediary field_17376 Lnet/minecraft/class_2624;field_17376:Lnet/minecraft/class_2561;
      official e Lduq;e:Lxv;
  • Constructor Details

    • LockableContainerBlockEntity

      protected LockableContainerBlockEntity(BlockEntityType<?> type, BlockPos pos, BlockState state)
      Mappings:
      Namespace Name Mixin selector
      named <init> Lnet/minecraft/block/entity/BlockEntity;<init>(Lnet/minecraft/block/entity/BlockEntityType;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)V
      intermediary <init> Lnet/minecraft/class_2586;<init>(Lnet/minecraft/class_2591;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)V
      official <init> Lduw;<init>(Lduy;Ljh;Ldxu;)V
  • Method Details

    • readNbt

      protected void readNbt(NbtCompound nbt, RegistryWrapper.WrapperLookup registries)
      Reads data from nbt. Subclasses should override this if they store a persistent data.

      NBT is a storage format; therefore, a data from NBT is loaded to a block entity instance's fields, which are used for other operations instead of the NBT. The data is written back to NBT when saving the block entity.

      nbt might not have all expected keys, or might have a key whose value does not meet the requirement (such as the type or the range). This method should fall back to a reasonable default value instead of throwing an exception.

      Overrides:
      readNbt in class BlockEntity
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named readNbt Lnet/minecraft/block/entity/BlockEntity;readNbt(Lnet/minecraft/nbt/NbtCompound;Lnet/minecraft/registry/RegistryWrapper$WrapperLookup;)V
      intermediary method_11014 Lnet/minecraft/class_2586;method_11014(Lnet/minecraft/class_2487;Lnet/minecraft/class_7225$class_7874;)V
      official a Lduw;a(Lux;Ljs$a;)V
    • writeNbt

      protected void writeNbt(NbtCompound nbt, RegistryWrapper.WrapperLookup registries)
      Writes data to nbt. Subclasses should override this if they store a persistent data.

      NBT is a storage format; therefore, a data from NBT is loaded to a block entity instance's fields, which are used for other operations instead of the NBT. The data is written back to NBT when saving the block entity.

      Overrides:
      writeNbt in class BlockEntity
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named writeNbt Lnet/minecraft/block/entity/BlockEntity;writeNbt(Lnet/minecraft/nbt/NbtCompound;Lnet/minecraft/registry/RegistryWrapper$WrapperLookup;)V
      intermediary method_11007 Lnet/minecraft/class_2586;method_11007(Lnet/minecraft/class_2487;Lnet/minecraft/class_7225$class_7874;)V
      official b Lduw;b(Lux;Ljs$a;)V
    • getName

      public Text getName()
      Returns the name of this object.

      This should return the custom name if it exists, otherwise the default name. This should not have styling applied.

      Specified by:
      getName in interface Nameable
      Returns:
      the name of this object
      Mappings:
      Namespace Name Mixin selector
      named getName Lnet/minecraft/util/Nameable;getName()Lnet/minecraft/text/Text;
      intermediary method_5477 Lnet/minecraft/class_1275;method_5477()Lnet/minecraft/class_2561;
      official al Lbtl;al()Lxv;
    • getDisplayName

      public Text getDisplayName()
      Returns the title of this screen handler; will be a part of the open screen packet sent to the client.
      Specified by:
      getDisplayName in interface Nameable
      Specified by:
      getDisplayName in interface NamedScreenHandlerFactory
      Returns:
      the display name of this object
      Mappings:
      Namespace Name Mixin selector
      named getDisplayName Lnet/minecraft/screen/NamedScreenHandlerFactory;getDisplayName()Lnet/minecraft/text/Text;
      intermediary method_5476 Lnet/minecraft/class_3908;method_5476()Lnet/minecraft/class_2561;
      official p_ Lbtk;p_()Lxv;
    • getCustomName

      @Nullable public @Nullable Text getCustomName()
      Returns the custom name of this object, or null if there is none.
      Specified by:
      getCustomName in interface Nameable
      Returns:
      the custom name of this object, or null if there is none
      Mappings:
      Namespace Name Mixin selector
      named getCustomName Lnet/minecraft/util/Nameable;getCustomName()Lnet/minecraft/text/Text;
      intermediary method_5797 Lnet/minecraft/class_1275;method_5797()Lnet/minecraft/class_2561;
      official an Lbtl;an()Lxv;
    • getContainerName

      protected abstract Text getContainerName()
      Mappings:
      Namespace Name Mixin selector
      named getContainerName Lnet/minecraft/block/entity/LockableContainerBlockEntity;getContainerName()Lnet/minecraft/text/Text;
      intermediary method_17823 Lnet/minecraft/class_2624;method_17823()Lnet/minecraft/class_2561;
      official j Lduq;j()Lxv;
    • checkUnlocked

      public boolean checkUnlocked(PlayerEntity player)
      Mappings:
      Namespace Name Mixin selector
      named checkUnlocked Lnet/minecraft/block/entity/LockableContainerBlockEntity;checkUnlocked(Lnet/minecraft/entity/player/PlayerEntity;)Z
      intermediary method_17489 Lnet/minecraft/class_2624;method_17489(Lnet/minecraft/class_1657;)Z
      official d Lduq;d(Lcpw;)Z
    • checkUnlocked

      public static boolean checkUnlocked(PlayerEntity player, ContainerLock lock, Text containerName)
      Mappings:
      Namespace Name Mixin selector
      named checkUnlocked Lnet/minecraft/block/entity/LockableContainerBlockEntity;checkUnlocked(Lnet/minecraft/entity/player/PlayerEntity;Lnet/minecraft/inventory/ContainerLock;Lnet/minecraft/text/Text;)Z
      intermediary method_17487 Lnet/minecraft/class_2624;method_17487(Lnet/minecraft/class_1657;Lnet/minecraft/class_1273;Lnet/minecraft/class_2561;)Z
      official a Lduq;a(Lcpw;Lbtj;Lxv;)Z
    • getHeldStacks

      protected abstract DefaultedList<ItemStack> getHeldStacks()
      Mappings:
      Namespace Name Mixin selector
      named getHeldStacks Lnet/minecraft/block/entity/LockableContainerBlockEntity;getHeldStacks()Lnet/minecraft/util/collection/DefaultedList;
      intermediary method_11282 Lnet/minecraft/class_2624;method_11282()Lnet/minecraft/class_2371;
      official f Lduq;f()Ljz;
    • setHeldStacks

      protected abstract void setHeldStacks(DefaultedList<ItemStack> inventory)
      Mappings:
      Namespace Name Mixin selector
      named setHeldStacks Lnet/minecraft/block/entity/LockableContainerBlockEntity;setHeldStacks(Lnet/minecraft/util/collection/DefaultedList;)V
      intermediary method_11281 Lnet/minecraft/class_2624;method_11281(Lnet/minecraft/class_2371;)V
      official a Lduq;a(Ljz;)V
    • isEmpty

      public boolean isEmpty()
      Returns whether the inventory consists entirely of empty item stacks.
      Specified by:
      isEmpty in interface Inventory
      Returns:
      whether the inventory consists entirely of empty item stacks
      Mappings:
      Namespace Name Mixin selector
      named isEmpty Lnet/minecraft/inventory/Inventory;isEmpty()Z
      intermediary method_5442 Lnet/minecraft/class_1263;method_5442()Z
      official c Lbtb;c()Z
    • getStack

      public ItemStack getStack(int slot)
      Returns the stack currently stored at slot.

      If the slot is empty, or is outside the bounds of this inventory, this returns ItemStack.EMPTY.

      Specified by:
      getStack in interface Inventory
      Returns:
      the stack currently stored at slot
      Mappings:
      Namespace Name Mixin selector
      named getStack Lnet/minecraft/inventory/Inventory;getStack(I)Lnet/minecraft/item/ItemStack;
      intermediary method_5438 Lnet/minecraft/class_1263;method_5438(I)Lnet/minecraft/class_1799;
      official a Lbtb;a(I)Lcxo;
    • removeStack

      public ItemStack removeStack(int slot, int amount)
      Removes a specific number of items from slot.
      Specified by:
      removeStack in interface Inventory
      Returns:
      the removed items as a stack
      Mappings:
      Namespace Name Mixin selector
      named removeStack Lnet/minecraft/inventory/Inventory;removeStack(II)Lnet/minecraft/item/ItemStack;
      intermediary method_5434 Lnet/minecraft/class_1263;method_5434(II)Lnet/minecraft/class_1799;
      official a Lbtb;a(II)Lcxo;
    • removeStack

      public ItemStack removeStack(int slot)
      Removes the stack currently stored at slot.
      Specified by:
      removeStack in interface Inventory
      Returns:
      the stack previously stored at the indicated slot
      Mappings:
      Namespace Name Mixin selector
      named removeStack Lnet/minecraft/inventory/Inventory;removeStack(I)Lnet/minecraft/item/ItemStack;
      intermediary method_5441 Lnet/minecraft/class_1263;method_5441(I)Lnet/minecraft/class_1799;
      official b Lbtb;b(I)Lcxo;
    • setStack

      public void setStack(int slot, ItemStack stack)
      Sets the stack stored at slot to stack.
      Specified by:
      setStack in interface Inventory
      Mappings:
      Namespace Name Mixin selector
      named setStack Lnet/minecraft/inventory/Inventory;setStack(ILnet/minecraft/item/ItemStack;)V
      intermediary method_5447 Lnet/minecraft/class_1263;method_5447(ILnet/minecraft/class_1799;)V
      official a Lbtb;a(ILcxo;)V
    • canPlayerUse

      public boolean canPlayerUse(PlayerEntity player)
      Specified by:
      canPlayerUse in interface Inventory
      Returns:
      whether player can use this inventory
      See Also:
      API Note:
      Implementations should check the distance between the inventory holder and player. For convenience, this interface offers two methods used by block entities to implement this check.
      Mappings:
      Namespace Name Mixin selector
      named canPlayerUse Lnet/minecraft/inventory/Inventory;canPlayerUse(Lnet/minecraft/entity/player/PlayerEntity;)Z
      intermediary method_5443 Lnet/minecraft/class_1263;method_5443(Lnet/minecraft/class_1657;)Z
      official a Lbtb;a(Lcpw;)Z
    • clear

      public void clear()
      Specified by:
      clear in interface Clearable
      Mappings:
      Namespace Name Mixin selector
      named clear Lnet/minecraft/util/Clearable;clear()V
      intermediary method_5448 Lnet/minecraft/class_3829;method_5448()V
      official a Lbsz;a()V
    • createMenu

      @Nullable public @Nullable ScreenHandler createMenu(int syncId, PlayerInventory playerInventory, PlayerEntity player)
      Specified by:
      createMenu in interface ScreenHandlerFactory
      Mappings:
      Namespace Name Mixin selector
      named createMenu Lnet/minecraft/screen/ScreenHandlerFactory;createMenu(ILnet/minecraft/entity/player/PlayerInventory;Lnet/minecraft/entity/player/PlayerEntity;)Lnet/minecraft/screen/ScreenHandler;
      intermediary createMenu Lnet/minecraft/class_1270;createMenu(ILnet/minecraft/class_1661;Lnet/minecraft/class_1657;)Lnet/minecraft/class_1703;
      official createMenu Lcuj;createMenu(ILcpv;Lcpw;)Lctb;
    • createScreenHandler

      protected abstract ScreenHandler createScreenHandler(int syncId, PlayerInventory playerInventory)
      Mappings:
      Namespace Name Mixin selector
      named createScreenHandler Lnet/minecraft/block/entity/LockableContainerBlockEntity;createScreenHandler(ILnet/minecraft/entity/player/PlayerInventory;)Lnet/minecraft/screen/ScreenHandler;
      intermediary method_5465 Lnet/minecraft/class_2624;method_5465(ILnet/minecraft/class_1661;)Lnet/minecraft/class_1703;
      official a Lduq;a(ILcpv;)Lctb;
    • readComponents

      protected void readComponents(BlockEntity.ComponentsAccess components)
      Overrides:
      readComponents in class BlockEntity
      Mappings:
      Namespace Name Mixin selector
      named readComponents Lnet/minecraft/block/entity/BlockEntity;readComponents(Lnet/minecraft/block/entity/BlockEntity$ComponentsAccess;)V
      intermediary method_57568 Lnet/minecraft/class_2586;method_57568(Lnet/minecraft/class_2586$class_9473;)V
      official a Lduw;a(Lduw$b;)V
    • addComponents

      protected void addComponents(ComponentMap.Builder builder)
      Overrides:
      addComponents in class BlockEntity
      Mappings:
      Namespace Name Mixin selector
      named addComponents Lnet/minecraft/block/entity/BlockEntity;addComponents(Lnet/minecraft/component/ComponentMap$Builder;)V
      intermediary method_57567 Lnet/minecraft/class_2586;method_57567(Lnet/minecraft/class_9323$class_9324;)V
      official a Lduw;a(Lkq$a;)V
    • removeFromCopiedStackNbt

      public void removeFromCopiedStackNbt(NbtCompound nbt)
      Overrides:
      removeFromCopiedStackNbt in class BlockEntity
      Mappings:
      Namespace Name Mixin selector
      named removeFromCopiedStackNbt Lnet/minecraft/block/entity/BlockEntity;removeFromCopiedStackNbt(Lnet/minecraft/nbt/NbtCompound;)V
      intermediary method_57569 Lnet/minecraft/class_2586;method_57569(Lnet/minecraft/class_2487;)V
      official a Lduw;a(Lux;)V