Class AbstractContainerMenu
java.lang.Object
net.minecraft.world.inventory.AbstractContainerMenu
- Direct Known Subclasses:
AbstractMountInventoryMenu, BeaconMenu, BrewingStandMenu, CartographyTableMenu, ChestMenu, CrafterMenu, CreativeModeInventoryScreen.ItemPickerMenu, DispenserMenu, EnchantmentMenu, GrindstoneMenu, HopperMenu, ItemCombinerMenu, LecternMenu, LoomMenu, MerchantMenu, RecipeBookMenu, ShulkerBoxMenu, StonecutterMenu
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate ItemStackstatic final intfinal intprivate final List<ContainerListener> private final NonNullList<ItemStack> private static final org.slf4j.Loggerprivate final @Nullable MenuType<?> static final intstatic final intstatic final intstatic final intstatic final intstatic final intprivate intprivate intprivate RemoteSlotprivate final it.unimi.dsi.fastutil.ints.IntListprivate final NonNullList<RemoteSlot> static final intstatic final intfinal NonNullList<Slot> static final intprivate intprivate booleanprivate @Nullable ContainerSynchronizer -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractContainerMenu(@Nullable MenuType<?> menuType, int containerId) -
Method Summary
Modifier and TypeMethodDescriptionprotected DataSlotaddDataSlot(DataSlot dataSlot) protected voidaddDataSlots(ContainerData container) protected voidaddInventoryExtendedSlots(Container inventory, int left, int top) protected voidaddInventoryHotbarSlots(Container inventory, int left, int top) protected SlotvoidaddSlotListener(ContainerListener listener) protected voidaddStandardInventorySlots(Container container, int left, int top) voidvoidbooleanstatic booleancanItemQuickReplace(@Nullable Slot slot, ItemStack itemStack, boolean ignoreSize) booleancanTakeItemForPickAll(ItemStack carried, Slot target) protected static voidcheckContainerDataCount(ContainerData data, int expected) protected static voidcheckContainerSize(Container container, int expected) protected voidclearContainer(Player player, Container container) voidclicked(int slotIndex, int buttonNum, ContainerInput containerInput, Player player) booleanclickMenuButton(Player player, int buttonId) private SlotAccessprivate voiddoClick(int slotIndex, int buttonNum, ContainerInput containerInput, Player player) private static voiddropOrPlaceInInventory(Player player, ItemStack carried) getItems()static intgetQuickcraftHeader(int mask) static intgetQuickcraftMask(int header, int type) static intgetQuickCraftPlaceCount(int quickCraftSlotsSize, int quickCraftingType, ItemStack itemStack) static intgetQuickcraftType(int mask) static intgetRedstoneSignalFromBlockEntity(@Nullable BlockEntity blockEntity) static intgetRedstoneSignalFromContainer(@Nullable Container container) getSlot(int index) intMenuType<?> getType()intvoidinitializeContents(int stateId, List<ItemStack> items, ItemStack carried) static booleanisValidQuickcraftType(int type, Player player) booleanisValidSlotIndex(int slotIndex) protected booleanmoveItemStackTo(ItemStack itemStack, int startSlot, int endSlot, boolean backwards) abstract ItemStackquickMoveStack(Player player, int slotIndex) voidvoidremoveSlotListener(ContainerListener listener) protected voidvoidvoidvoidsetCarried(ItemStack carried) voidsetData(int id, int value) voidvoidsetRemoteCarried(HashedStack carriedItem) voidsetRemoteSlot(int slot, ItemStack itemStack) voidsetRemoteSlotUnsafe(int slot, HashedStack itemStack) voidsetSelectedBundleItemIndex(int slotIndex, int selectedItemIndex) voidsetSynchronizer(ContainerSynchronizer synchronizer) voidslotsChanged(Container container) abstract booleanstillValid(Player player) protected static booleanstillValid(ContainerLevelAccess access, Player player, Block block) voidprivate voidprivate voidsynchronizeDataSlotToRemote(int i, int current) private voidsynchronizeSlotToRemote(int i, ItemStack current, Supplier<ItemStack> currentCopy) voidtransferState(AbstractContainerMenu otherContainer) private voidtriggerSlotListeners(int i, ItemStack current, Supplier<ItemStack> currentCopy) private booleantryItemClickBehaviourOverride(Player player, ClickAction clickAction, Slot slot, ItemStack clicked, ItemStack carried) private voidupdateDataSlotListeners(int id, int currentValue)
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
SLOT_CLICKED_OUTSIDE
public static final int SLOT_CLICKED_OUTSIDE- See Also:
-
QUICKCRAFT_TYPE_CHARITABLE
public static final int QUICKCRAFT_TYPE_CHARITABLE- See Also:
-
QUICKCRAFT_TYPE_GREEDY
public static final int QUICKCRAFT_TYPE_GREEDY- See Also:
-
QUICKCRAFT_TYPE_CLONE
public static final int QUICKCRAFT_TYPE_CLONE- See Also:
-
QUICKCRAFT_HEADER_START
public static final int QUICKCRAFT_HEADER_START- See Also:
-
QUICKCRAFT_HEADER_CONTINUE
public static final int QUICKCRAFT_HEADER_CONTINUE- See Also:
-
QUICKCRAFT_HEADER_END
public static final int QUICKCRAFT_HEADER_END- See Also:
-
CARRIED_SLOT_SIZE
public static final int CARRIED_SLOT_SIZE- See Also:
-
SLOTS_PER_ROW
public static final int SLOTS_PER_ROW- See Also:
-
SLOT_SIZE
public static final int SLOT_SIZE- See Also:
-
lastSlots
-
slots
-
dataSlots
-
carried
-
remoteSlots
-
remoteDataSlots
private final it.unimi.dsi.fastutil.ints.IntList remoteDataSlots -
remoteCarried
-
stateId
private int stateId -
containerId
public final int containerId -
quickcraftType
private int quickcraftType -
quickcraftStatus
private int quickcraftStatus -
quickcraftSlots
-
containerListeners
-
synchronizer
-
suppressRemoteUpdates
private boolean suppressRemoteUpdates
-
-
Constructor Details
-
AbstractContainerMenu
-
-
Method Details
-
addInventoryHotbarSlots
-
addInventoryExtendedSlots
-
addStandardInventorySlots
-
stillValid
-
getType
-
checkContainerSize
-
checkContainerDataCount
-
isValidSlotIndex
public boolean isValidSlotIndex(int slotIndex) -
addSlot
-
addDataSlot
-
addDataSlots
-
addSlotListener
-
setSynchronizer
-
sendAllDataToRemote
public void sendAllDataToRemote() -
removeSlotListener
-
getItems
-
broadcastChanges
public void broadcastChanges() -
broadcastFullState
public void broadcastFullState() -
updateDataSlotListeners
private void updateDataSlotListeners(int id, int currentValue) -
triggerSlotListeners
-
synchronizeSlotToRemote
-
synchronizeDataSlotToRemote
private void synchronizeDataSlotToRemote(int i, int current) -
synchronizeCarriedToRemote
private void synchronizeCarriedToRemote() -
setRemoteSlot
-
setRemoteSlotUnsafe
-
setRemoteCarried
-
clickMenuButton
-
getSlot
-
quickMoveStack
-
setSelectedBundleItemIndex
public void setSelectedBundleItemIndex(int slotIndex, int selectedItemIndex) -
clicked
-
doClick
-
tryItemClickBehaviourOverride
private boolean tryItemClickBehaviourOverride(Player player, ClickAction clickAction, Slot slot, ItemStack clicked, ItemStack carried) -
createCarriedSlotAccess
-
canTakeItemForPickAll
-
removed
-
dropOrPlaceInInventory
-
clearContainer
-
slotsChanged
-
setItem
-
initializeContents
-
setData
public void setData(int id, int value) -
stillValid
-
moveItemStackTo
protected boolean moveItemStackTo(ItemStack itemStack, int startSlot, int endSlot, boolean backwards) -
getQuickcraftType
public static int getQuickcraftType(int mask) -
getQuickcraftHeader
public static int getQuickcraftHeader(int mask) -
getQuickcraftMask
public static int getQuickcraftMask(int header, int type) -
isValidQuickcraftType
-
resetQuickCraft
protected void resetQuickCraft() -
canItemQuickReplace
-
getQuickCraftPlaceCount
public static int getQuickCraftPlaceCount(int quickCraftSlotsSize, int quickCraftingType, ItemStack itemStack) -
canDragTo
-
getRedstoneSignalFromBlockEntity
-
getRedstoneSignalFromContainer
-
setCarried
-
getCarried
-
suppressRemoteUpdates
public void suppressRemoteUpdates() -
resumeRemoteUpdates
public void resumeRemoteUpdates() -
transferState
-
findSlot
-
getStateId
public int getStateId() -
incrementStateId
public int incrementStateId()
-