Class RandomizableContainerBlockEntity
java.lang.Object
net.neoforged.neoforge.attachment.AttachmentHolder
net.minecraft.world.level.block.entity.BlockEntity
net.minecraft.world.level.block.entity.BaseContainerBlockEntity
net.minecraft.world.level.block.entity.RandomizableContainerBlockEntity
- All Implemented Interfaces:
Clearable
,Container
,MenuConstructor
,MenuProvider
,Nameable
,RandomizableContainer
,IAttachmentHolder
,IMenuProviderExtension
,IBlockEntityExtension
- Direct Known Subclasses:
BarrelBlockEntity
,ChestBlockEntity
,CrafterBlockEntity
,DispenserBlockEntity
,HopperBlockEntity
,ShulkerBoxBlockEntity
public abstract class RandomizableContainerBlockEntity
extends BaseContainerBlockEntity
implements RandomizableContainer
-
Nested Class Summary
Nested classes/interfaces inherited from class net.minecraft.world.level.block.entity.BlockEntity
BlockEntity.ComponentHelper, BlockEntity.DataComponentInput
Nested classes/interfaces inherited from class net.neoforged.neoforge.attachment.AttachmentHolder
AttachmentHolder.AsField
-
Field Summary
FieldsFields 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
Fields inherited from interface net.minecraft.world.Container
DEFAULT_DISTANCE_BUFFER
Fields inherited from interface net.minecraft.world.RandomizableContainer
LOOT_TABLE_SEED_TAG, LOOT_TABLE_TAG
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
RandomizableContainerBlockEntity
(BlockEntityType<?> pType, BlockPos pPos, BlockState pBlockState) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
applyImplicitComponents
(BlockEntity.DataComponentInput pComponentInput) boolean
protected void
collectImplicitComponents
(DataComponentMap.Builder pComponents) createMenu
(int pContainerId, Inventory pPlayerInventory, Player pPlayer) getItem
(int pIndex) Returns the stack in the given slot.long
boolean
isEmpty()
void
removeItem
(int pIndex, int pCount) Removes up to a specified number of items from an inventory slot and returns them in a new stack.removeItemNoUpdate
(int pIndex) Removes a stack from the given slot and returns it.void
Sets the given item stack to the specified slot in the inventory (can be crafting or armor sections).void
setLootTable
(ResourceKey<LootTable> pLootTable) void
setLootTableSeed
(long pSeed) Methods inherited from class net.minecraft.world.level.block.entity.BaseContainerBlockEntity
canUnlock, clearContent, createMenu, getCustomName, getDefaultName, getDisplayName, getItems, getName, loadAdditional, saveAdditional, setItems, stillValid
Methods inherited from class net.minecraft.world.level.block.entity.BlockEntity
addEntityType, applyComponents, applyComponentsFromItemStack, clearRemoved, collectComponents, components, fillCrashReportCategory, getBlockPos, getBlockState, getLevel, getPersistentData, getPosFromTag, getType, getUpdatePacket, getUpdateTag, hasLevel, isRemoved, isValidBlockState, loadCustomOnly, loadStatic, loadWithComponents, onlyOpCanSetNbt, parseCustomNameSafe, 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, getExistingDataOrNull, 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.minecraft.world.Clearable
clearContent
Methods inherited from interface net.minecraft.world.Container
canPlaceItem, canTakeItem, countItem, getContainerSize, getMaxStackSize, getMaxStackSize, hasAnyMatching, hasAnyOf, setChanged, startOpen, stillValid, stopOpen
Methods inherited from interface net.neoforged.neoforge.attachment.IAttachmentHolder
getData, getExistingData, getExistingData, getExistingDataOrNull, hasData, removeData, setData
Methods inherited from interface net.neoforged.neoforge.common.extensions.IBlockEntityExtension
getModelData, handleUpdateTag, hasCustomOutlineRendering, invalidateCapabilities, onChunkUnloaded, onDataPacket, onLoad, requestModelDataUpdate
Methods inherited from interface net.neoforged.neoforge.client.extensions.IMenuProviderExtension
shouldTriggerClientSideContainerClosingOnOpen, writeClientSideData
Methods inherited from interface net.minecraft.world.Nameable
hasCustomName
Methods inherited from interface net.minecraft.world.RandomizableContainer
getBlockPos, getLevel, setLootTable, tryLoadLootTable, trySaveLootTable, unpackLootTable
-
Field Details
-
lootTable
-
lootTableSeed
protected long lootTableSeed
-
-
Constructor Details
-
RandomizableContainerBlockEntity
protected RandomizableContainerBlockEntity(BlockEntityType<?> pType, BlockPos pPos, BlockState pBlockState)
-
-
Method Details
-
getLootTable
- Specified by:
getLootTable
in interfaceRandomizableContainer
-
setLootTable
- Specified by:
setLootTable
in interfaceRandomizableContainer
-
getLootTableSeed
public long getLootTableSeed()- Specified by:
getLootTableSeed
in interfaceRandomizableContainer
-
setLootTableSeed
public void setLootTableSeed(long pSeed) - Specified by:
setLootTableSeed
in interfaceRandomizableContainer
-
isEmpty
public boolean isEmpty()- Specified by:
isEmpty
in interfaceContainer
- Overrides:
isEmpty
in classBaseContainerBlockEntity
-
getItem
Returns the stack in the given slot.- Specified by:
getItem
in interfaceContainer
- Overrides:
getItem
in classBaseContainerBlockEntity
-
removeItem
Removes up to a specified number of items from an inventory slot and returns them in a new stack.- Specified by:
removeItem
in interfaceContainer
- Overrides:
removeItem
in classBaseContainerBlockEntity
-
removeItemNoUpdate
Removes a stack from the given slot and returns it.- Specified by:
removeItemNoUpdate
in interfaceContainer
- Overrides:
removeItemNoUpdate
in classBaseContainerBlockEntity
-
setItem
Sets the given item stack to the specified slot in the inventory (can be crafting or armor sections).- Specified by:
setItem
in interfaceContainer
- Overrides:
setItem
in classBaseContainerBlockEntity
-
canOpen
- Overrides:
canOpen
in classBaseContainerBlockEntity
-
createMenu
@Nullable public AbstractContainerMenu createMenu(int pContainerId, Inventory pPlayerInventory, Player pPlayer) - Specified by:
createMenu
in interfaceMenuConstructor
- Overrides:
createMenu
in classBaseContainerBlockEntity
-
applyImplicitComponents
- Overrides:
applyImplicitComponents
in classBaseContainerBlockEntity
-
collectImplicitComponents
- Overrides:
collectImplicitComponents
in classBaseContainerBlockEntity
-
removeComponentsFromTag
- Overrides:
removeComponentsFromTag
in classBaseContainerBlockEntity
-