Class AbstractChestBoatEntity

All Implemented Interfaces:
DataTracked, Leashable, RideableInventory, VehicleInventory, Inventory, ScoreHolder, NamedScreenHandlerFactory, ScreenHandlerFactory, Clearable, Nameable, EntityLike
Direct Known Subclasses:
ChestBoatEntity, ChestRaftEntity

public abstract class AbstractChestBoatEntity extends AbstractBoatEntity implements RideableInventory, VehicleInventory
Mappings:
Namespace Name
named net/minecraft/entity/vehicle/AbstractChestBoatEntity
intermediary net/minecraft/class_10256
official cru
  • Field Details

    • INVENTORY_SIZE

      private static final int INVENTORY_SIZE
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named INVENTORY_SIZE Lnet/minecraft/entity/vehicle/AbstractChestBoatEntity;INVENTORY_SIZE:I
      intermediary field_54462 Lnet/minecraft/class_10256;field_54462:I
      official h Lcru;h:I
    • inventory

      private DefaultedList<ItemStack> inventory
      Mappings:
      Namespace Name Mixin selector
      named inventory Lnet/minecraft/entity/vehicle/AbstractChestBoatEntity;inventory:Lnet/minecraft/util/collection/DefaultedList;
      intermediary field_54463 Lnet/minecraft/class_10256;field_54463:Lnet/minecraft/class_2371;
      official i Lcru;i:Ljz;
    • lootTable

      Mappings:
      Namespace Name Mixin selector
      named lootTable Lnet/minecraft/entity/vehicle/AbstractChestBoatEntity;lootTable:Lnet/minecraft/registry/RegistryKey;
      intermediary field_54464 Lnet/minecraft/class_10256;field_54464:Lnet/minecraft/class_5321;
      official j Lcru;j:Laly;
    • lootTableSeed

      private long lootTableSeed
      Mappings:
      Namespace Name Mixin selector
      named lootTableSeed Lnet/minecraft/entity/vehicle/AbstractChestBoatEntity;lootTableSeed:J
      intermediary field_54465 Lnet/minecraft/class_10256;field_54465:J
      official k Lcru;k:J
  • Constructor Details

    • AbstractChestBoatEntity

      public AbstractChestBoatEntity(EntityType<? extends AbstractChestBoatEntity> type, World world, Supplier<Item> itemSupplier)
      Mappings:
      Namespace Name Mixin selector
      named <init> Lnet/minecraft/entity/vehicle/AbstractBoatEntity;<init>(Lnet/minecraft/entity/EntityType;Lnet/minecraft/world/World;Ljava/util/function/Supplier;)V
      intermediary <init> Lnet/minecraft/class_10255;<init>(Lnet/minecraft/class_1299;Lnet/minecraft/class_1937;Ljava/util/function/Supplier;)V
      official <init> Lcrt;<init>(Lbvq;Ldhh;Ljava/util/function/Supplier;)V
  • Method Details

    • getPassengerHorizontalOffset

      protected float getPassengerHorizontalOffset()
      Overrides:
      getPassengerHorizontalOffset in class AbstractBoatEntity
      Mappings:
      Namespace Name Mixin selector
      named getPassengerHorizontalOffset Lnet/minecraft/entity/vehicle/AbstractBoatEntity;getPassengerHorizontalOffset()F
      intermediary method_64499 Lnet/minecraft/class_10255;method_64499()F
      official s Lcrt;s()F
    • getMaxPassengers

      protected int getMaxPassengers()
      Overrides:
      getMaxPassengers in class AbstractBoatEntity
      Mappings:
      Namespace Name Mixin selector
      named getMaxPassengers Lnet/minecraft/entity/vehicle/AbstractBoatEntity;getMaxPassengers()I
      intermediary method_64500 Lnet/minecraft/class_10255;method_64500()I
      official t Lcrt;t()I
    • writeCustomDataToNbt

      protected void writeCustomDataToNbt(NbtCompound nbt)
      Writes custom data to nbt. Subclasses have to implement this.

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

      Overrides:
      writeCustomDataToNbt in class AbstractBoatEntity
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named writeCustomDataToNbt Lnet/minecraft/entity/Entity;writeCustomDataToNbt(Lnet/minecraft/nbt/NbtCompound;)V
      intermediary method_5652 Lnet/minecraft/class_1297;method_5652(Lnet/minecraft/class_2487;)V
      official b Lbvj;b(Lux;)V
    • readCustomDataFromNbt

      protected void readCustomDataFromNbt(NbtCompound nbt)
      Reads custom data from nbt. Subclasses have to implement this.

      NBT is a storage format; therefore, a data from NBT is loaded to an entity instance's fields, which are used for other operations instead of the NBT. The data is written back to NBT when saving the 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:
      readCustomDataFromNbt in class AbstractBoatEntity
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named readCustomDataFromNbt Lnet/minecraft/entity/Entity;readCustomDataFromNbt(Lnet/minecraft/nbt/NbtCompound;)V
      intermediary method_5749 Lnet/minecraft/class_1297;method_5749(Lnet/minecraft/class_2487;)V
      official a Lbvj;a(Lux;)V
    • killAndDropSelf

      public void killAndDropSelf(ServerWorld world, DamageSource damageSource)
      Overrides:
      killAndDropSelf in class VehicleEntity
      Mappings:
      Namespace Name Mixin selector
      named killAndDropSelf Lnet/minecraft/entity/vehicle/VehicleEntity;killAndDropSelf(Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/entity/damage/DamageSource;)V
      intermediary method_7516 Lnet/minecraft/class_8836;method_7516(Lnet/minecraft/class_3218;Lnet/minecraft/class_1282;)V
      official a Lcsn;a(Lash;Lbtz;)V
    • remove

      public void remove(Entity.RemovalReason reason)
      Removes the entity.
      Overrides:
      remove in class AbstractBoatEntity
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named remove Lnet/minecraft/entity/Entity;remove(Lnet/minecraft/entity/Entity$RemovalReason;)V
      intermediary method_5650 Lnet/minecraft/class_1297;method_5650(Lnet/minecraft/class_1297$class_5529;)V
      official a Lbvj;a(Lbvj$d;)V
    • interact

      public ActionResult interact(PlayerEntity player, Hand hand)
      Called when a player interacts with this entity.
      Overrides:
      interact in class AbstractBoatEntity
      Parameters:
      player - the player
      hand - the hand the player used to interact with this entity
      Mappings:
      Namespace Name Mixin selector
      named interact Lnet/minecraft/entity/Entity;interact(Lnet/minecraft/entity/player/PlayerEntity;Lnet/minecraft/util/Hand;)Lnet/minecraft/util/ActionResult;
      intermediary method_5688 Lnet/minecraft/class_1297;method_5688(Lnet/minecraft/class_1657;Lnet/minecraft/class_1268;)Lnet/minecraft/class_1269;
      official a Lbvj;a(Lcpw;Lbth;)Lbti;
    • openInventory

      public void openInventory(PlayerEntity player)
      Specified by:
      openInventory in interface RideableInventory
      Mappings:
      Namespace Name Mixin selector
      named openInventory Lnet/minecraft/entity/RideableInventory;openInventory(Lnet/minecraft/entity/player/PlayerEntity;)V
      intermediary method_6722 Lnet/minecraft/class_7248;method_6722(Lnet/minecraft/class_1657;)V
      official b Lbvy;b(Lcpw;)V
    • 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
    • size

      public int size()
      Returns the size of the inventory.

      The inventory should support the slot ID from 0 to size() - 1. This should remain constant throughout the inventory's lifetime.

      Specified by:
      size in interface Inventory
      Returns:
      the size of the inventory
      Mappings:
      Namespace Name Mixin selector
      named size Lnet/minecraft/inventory/Inventory;size()I
      intermediary method_5439 Lnet/minecraft/class_1263;method_5439()I
      official b Lbtb;b()I
    • 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
    • getStackReference

      public StackReference getStackReference(int mappedIndex)
      Obtains a stack reference to be modified. Used by commands like /loot or /item.
      Overrides:
      getStackReference in class Entity
      Parameters:
      mappedIndex - the mapped index as given by the item slot argument
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named getStackReference Lnet/minecraft/entity/Entity;getStackReference(I)Lnet/minecraft/inventory/StackReference;
      intermediary method_32318 Lnet/minecraft/class_1297;method_32318(I)Lnet/minecraft/class_5630;
      official a_ Lbvj;a_(I)Lbwx;
    • markDirty

      public void markDirty()
      Marks the inventory as modified. Implementations should call this method every time the inventory is changed in any way.
      Specified by:
      markDirty in interface Inventory
      See Also:
      API Note:
      Implementations should mark the inventory for synchronization or saving in this method. Since this is called frequently, it is not recommended to synchronize or save the inventory directly in this method. If this inventory is implemented in a block entity, then it should always call super.markDirty(); to ensure the block entity gets saved.
      Mappings:
      Namespace Name Mixin selector
      named markDirty Lnet/minecraft/inventory/Inventory;markDirty()V
      intermediary method_5431 Lnet/minecraft/class_1263;method_5431()V
      official e Lbtb;e()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
    • 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;
    • generateLoot

      public void generateLoot(@Nullable @Nullable PlayerEntity player)
      Mappings:
      Namespace Name Mixin selector
      named generateLoot Lnet/minecraft/entity/vehicle/AbstractChestBoatEntity;generateLoot(Lnet/minecraft/entity/player/PlayerEntity;)V
      intermediary method_64501 Lnet/minecraft/class_10256;method_64501(Lnet/minecraft/class_1657;)V
      official e Lcru;e(Lcpw;)V
    • getLootTable

      @Nullable public @Nullable RegistryKey<LootTable> getLootTable()
      Specified by:
      getLootTable in interface VehicleInventory
      Mappings:
      Namespace Name Mixin selector
      named getLootTable Lnet/minecraft/entity/vehicle/VehicleInventory;getLootTable()Lnet/minecraft/registry/RegistryKey;
      intermediary method_42276 Lnet/minecraft/class_7265;method_42276()Lnet/minecraft/class_5321;
      official v Lcsa;v()Laly;
    • setLootTable

      public void setLootTable(@Nullable @Nullable RegistryKey<LootTable> lootTable)
      Specified by:
      setLootTable in interface VehicleInventory
      Mappings:
      Namespace Name Mixin selector
      named setLootTable Lnet/minecraft/entity/vehicle/VehicleInventory;setLootTable(Lnet/minecraft/registry/RegistryKey;)V
      intermediary method_42275 Lnet/minecraft/class_7265;method_42275(Lnet/minecraft/class_5321;)V
      official a Lcsa;a(Laly;)V
    • getLootTableSeed

      public long getLootTableSeed()
      Specified by:
      getLootTableSeed in interface VehicleInventory
      Mappings:
      Namespace Name Mixin selector
      named getLootTableSeed Lnet/minecraft/entity/vehicle/VehicleInventory;getLootTableSeed()J
      intermediary method_42277 Lnet/minecraft/class_7265;method_42277()J
      official x Lcsa;x()J
    • setLootTableSeed

      public void setLootTableSeed(long lootTableSeed)
      Specified by:
      setLootTableSeed in interface VehicleInventory
      Mappings:
      Namespace Name Mixin selector
      named setLootTableSeed Lnet/minecraft/entity/vehicle/VehicleInventory;setLootTableSeed(J)V
      intermediary method_42274 Lnet/minecraft/class_7265;method_42274(J)V
      official a Lcsa;a(J)V
    • getInventory

      public DefaultedList<ItemStack> getInventory()
      Specified by:
      getInventory in interface VehicleInventory
      Mappings:
      Namespace Name Mixin selector
      named getInventory Lnet/minecraft/entity/vehicle/VehicleInventory;getInventory()Lnet/minecraft/util/collection/DefaultedList;
      intermediary method_42278 Lnet/minecraft/class_7265;method_42278()Lnet/minecraft/class_2371;
      official B Lcsa;B()Ljz;
    • resetInventory

      public void resetInventory()
      Specified by:
      resetInventory in interface VehicleInventory
      Mappings:
      Namespace Name Mixin selector
      named resetInventory Lnet/minecraft/entity/vehicle/VehicleInventory;resetInventory()V
      intermediary method_42273 Lnet/minecraft/class_7265;method_42273()V
      official C Lcsa;C()V
    • onClose

      public void onClose(PlayerEntity player)
      Called when the inventory is closed. Specifically, this is called inside ScreenHandler.onClosed(net.minecraft.entity.player.PlayerEntity). This does nothing by default.

      The method is called in both the client and the server. However, because clientside screen handler is created with a SimpleInventory, other implementations can (and the vanilla code does) assume that the method is called in the server.

      Specified by:
      onClose in interface Inventory
      Mappings:
      Namespace Name Mixin selector
      named onClose Lnet/minecraft/inventory/Inventory;onClose(Lnet/minecraft/entity/player/PlayerEntity;)V
      intermediary method_5432 Lnet/minecraft/class_1263;method_5432(Lnet/minecraft/class_1657;)V
      official c Lbtb;c(Lcpw;)V