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.DataComponentInputNested 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, worldPositionFields inherited from class net.neoforged.neoforge.attachment.AttachmentHolder
ATTACHMENTS_NBT_KEYFields inherited from interface net.minecraft.world.Container
DEFAULT_DISTANCE_BUFFERFields inherited from interface net.minecraft.world.RandomizableContainer
LOOT_TABLE_SEED_TAG, LOOT_TABLE_TAG -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedRandomizableContainerBlockEntity(BlockEntityType<?> type, BlockPos pos, BlockState blockState) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidapplyImplicitComponents(BlockEntity.DataComponentInput componentInput) booleanprotected voidcollectImplicitComponents(DataComponentMap.Builder components) createMenu(int containerId, Inventory playerInventory, Player player) getItem(int index) Returns the stack in the given slot.longbooleanisEmpty()voidremoveItem(int index, int count) Removes up to a specified number of items from an inventory slot and returns them in a new stack.removeItemNoUpdate(int index) Removes a stack from the given slot and returns it.voidSets the given item stack to the specified slot in the inventory (can be crafting or armor sections).voidsetLootTable(ResourceKey<LootTable> lootTable) voidsetLootTableSeed(long seed) Methods inherited from class net.minecraft.world.level.block.entity.BaseContainerBlockEntity
canUnlock, clearContent, createMenu, getCustomName, getDefaultName, getDisplayName, getItems, getName, loadAdditional, saveAdditional, setItems, stillValidMethods 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, triggerEventMethods inherited from class net.neoforged.neoforge.attachment.AttachmentHolder
deserializeAttachments, getData, getExistingDataOrNull, hasAttachments, hasData, serializeAttachmentsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.minecraft.world.Clearable
clearContentMethods inherited from interface net.minecraft.world.Container
canPlaceItem, canTakeItem, countItem, getContainerSize, getMaxStackSize, getMaxStackSize, hasAnyMatching, hasAnyOf, setChanged, startOpen, stillValid, stopOpenMethods inherited from interface net.neoforged.neoforge.attachment.IAttachmentHolder
getData, getExistingData, getExistingData, getExistingDataOrNull, hasData, removeData, setDataMethods inherited from interface net.neoforged.neoforge.common.extensions.IBlockEntityExtension
getModelData, handleUpdateTag, hasCustomOutlineRendering, invalidateCapabilities, onChunkUnloaded, onDataPacket, onLoad, requestModelDataUpdateMethods inherited from interface net.neoforged.neoforge.client.extensions.IMenuProviderExtension
shouldTriggerClientSideContainerClosingOnOpen, writeClientSideDataMethods inherited from interface net.minecraft.world.Nameable
hasCustomNameMethods 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<?> type, BlockPos pos, BlockState blockState)
-
-
Method Details
-
getLootTable
- Specified by:
getLootTablein interfaceRandomizableContainer
-
setLootTable
- Specified by:
setLootTablein interfaceRandomizableContainer
-
getLootTableSeed
public long getLootTableSeed()- Specified by:
getLootTableSeedin interfaceRandomizableContainer
-
setLootTableSeed
public void setLootTableSeed(long seed) - Specified by:
setLootTableSeedin interfaceRandomizableContainer
-
isEmpty
public boolean isEmpty()- Specified by:
isEmptyin interfaceContainer- Overrides:
isEmptyin classBaseContainerBlockEntity
-
getItem
Returns the stack in the given slot.- Specified by:
getItemin interfaceContainer- Overrides:
getItemin classBaseContainerBlockEntity
-
removeItem
Removes up to a specified number of items from an inventory slot and returns them in a new stack.- Specified by:
removeItemin interfaceContainer- Overrides:
removeItemin classBaseContainerBlockEntity
-
removeItemNoUpdate
Removes a stack from the given slot and returns it.- Specified by:
removeItemNoUpdatein interfaceContainer- Overrides:
removeItemNoUpdatein classBaseContainerBlockEntity
-
setItem
Sets the given item stack to the specified slot in the inventory (can be crafting or armor sections).- Specified by:
setItemin interfaceContainer- Overrides:
setItemin classBaseContainerBlockEntity
-
canOpen
- Overrides:
canOpenin classBaseContainerBlockEntity
-
createMenu
@Nullable public AbstractContainerMenu createMenu(int containerId, Inventory playerInventory, Player player) - Specified by:
createMenuin interfaceMenuConstructor- Overrides:
createMenuin classBaseContainerBlockEntity
-
applyImplicitComponents
- Overrides:
applyImplicitComponentsin classBaseContainerBlockEntity
-
collectImplicitComponents
- Overrides:
collectImplicitComponentsin classBaseContainerBlockEntity
-
removeComponentsFromTag
- Overrides:
removeComponentsFromTagin classBaseContainerBlockEntity
-