Package net.minecraft.block.entity
Class LootableContainerBlockEntity
java.lang.Object
net.minecraft.block.entity.BlockEntity
net.minecraft.block.entity.LockableContainerBlockEntity
net.minecraft.block.entity.LootableContainerBlockEntity
- All Implemented Interfaces:
Inventory
,NamedScreenHandlerFactory
,ScreenHandlerFactory
,Clearable
,Nameable
- Direct Known Subclasses:
BarrelBlockEntity
,ChestBlockEntity
,DispenserBlockEntity
,HopperBlockEntity
,ShulkerBoxBlockEntity
public abstract class LootableContainerBlockEntity extends LockableContainerBlockEntity
-
Field Summary
Fields Modifier and Type Field Description protected Identifier
lootTableId
protected long
lootTableSeed
Fields inherited from class net.minecraft.block.entity.BlockEntity
pos, removed, world
-
Constructor Summary
Constructors Modifier Constructor Description protected
LootableContainerBlockEntity(BlockEntityType<?> type)
-
Method Summary
Modifier and Type Method Description boolean
canPlayerUse(PlayerEntity player)
void
checkLootInteraction(PlayerEntity player)
boolean
checkUnlocked(PlayerEntity player)
void
clear()
ScreenHandler
createMenu(int syncId, PlayerInventory inv, PlayerEntity player)
protected boolean
deserializeLootTable(CompoundTag compoundTag)
protected abstract DefaultedList<ItemStack>
getInvStackList()
ItemStack
getStack(int slot)
Fetches the stack currently stored at the given slot.boolean
isEmpty()
ItemStack
removeStack(int slot)
Removes the stack currently stored at the indicated slot.ItemStack
removeStack(int slot, int amount)
Removes a specific number of items from the given slot.protected boolean
serializeLootTable(CompoundTag compoundTag)
protected abstract void
setInvStackList(DefaultedList<ItemStack> list)
void
setLootTable(Identifier id, long seed)
static void
setLootTable(BlockView world, Random random, BlockPos pos, Identifier id)
void
setStack(int slot, ItemStack stack)
Methods inherited from class net.minecraft.block.entity.LockableContainerBlockEntity
checkUnlocked, createScreenHandler, fromTag, getContainerName, getCustomName, getDisplayName, getName, setCustomName, toTag
Methods inherited from class net.minecraft.block.entity.BlockEntity
applyMirror, applyRotation, cancelRemoval, copyItemDataRequiresOperator, createFromTag, getCachedState, getPos, getSquaredRenderDistance, getType, getWorld, hasWorld, isRemoved, markDirty, markInvalid, markRemoved, onSyncedBlockEvent, populateCrashReport, resetBlock, setLocation, setPos, toInitialChunkDataTag, toUpdatePacket
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface net.minecraft.inventory.Inventory
containsAny, count, getMaxCountPerStack, isValid, markDirty, onClose, onOpen, size
Methods inherited from interface net.minecraft.util.Nameable
hasCustomName
-
Field Details
-
lootTableId
-
lootTableSeed
protected long lootTableSeed
-
-
Constructor Details
-
LootableContainerBlockEntity
-
-
Method Details
-
setLootTable
-
deserializeLootTable
-
serializeLootTable
-
checkLootInteraction
-
setLootTable
-
isEmpty
public boolean isEmpty() -
getStack
Fetches the stack currently stored at the given slot. If the slot is empty, or is outside the bounds of this inventory, returns seeItemStack.EMPTY
. -
removeStack
Removes a specific number of items from the given slot.- Returns:
- the removed items as a stack
-
removeStack
Removes the stack currently stored at the indicated slot.- Returns:
- the stack previously stored at the indicated slot.
-
setStack
-
canPlayerUse
-
clear
public void clear() -
getInvStackList
-
setInvStackList
-
checkUnlocked
- Overrides:
checkUnlocked
in classLockableContainerBlockEntity
-
createMenu
- Specified by:
createMenu
in interfaceScreenHandlerFactory
- Overrides:
createMenu
in classLockableContainerBlockEntity
-