net.minecraft.screen

public abstract class ScreenHandler

net.minecraft.world.inventory.AbstractContainerMenu
net.minecraft.world.inventory.AbstractContainerMenu
net.minecraft.class_1703
net.minecraft.screen.ScreenHandler

Field summary

Modifier and TypeField
private static final org.slf4j.Logger
LOGGER
LOGGER
field_36534
LOGGER
public static final int
SLOT_CLICKED_OUTSIDE
SLOT_CLICKED_OUTSIDE
field_30730
EMPTY_SPACE_SLOT_INDEX
public static final int
QUICKCRAFT_TYPE_CHARITABLE
QUICKCRAFT_TYPE_CHARITABLE
field_30731
field_30731
public static final int
QUICKCRAFT_TYPE_GREEDY
QUICKCRAFT_TYPE_GREEDY
field_30732
field_30732
public static final int
QUICKCRAFT_TYPE_CLONE
QUICKCRAFT_TYPE_CLONE
field_30733
field_30733
public static final int
QUICKCRAFT_HEADER_START
QUICKCRAFT_HEADER_START
field_30734
field_30734
public static final int
QUICKCRAFT_HEADER_CONTINUE
QUICKCRAFT_HEADER_CONTINUE
field_30735
field_30735
public static final int
QUICKCRAFT_HEADER_END
QUICKCRAFT_HEADER_END
field_30736
field_30736
public static final int
CARRIED_SLOT_SIZE
CARRIED_SLOT_SIZE
field_30737
field_30737
public static final int
SLOTS_PER_ROW
SLOTS_PER_ROW
field_52557
field_52557
public static final int
SLOT_SIZE
SLOT_SIZE
field_52558
field_52558
private final DefaultedList<ItemStack>
lastSlots
lastSlots
field_7764
trackedStacks
public final DefaultedList<Slot>
slots
slots
field_7761
slots
private final List<Property>
dataSlots
dataSlots
field_17285
properties
private ItemStack
carried
carried
field_29205
cursorStack
private final DefaultedList<TrackedSlot>
remoteSlots
remoteSlots
field_29206
trackedSlots
private final it.unimi.dsi.fastutil.ints.IntList
remoteDataSlots
remoteDataSlots
field_29559
trackedPropertyValues
private TrackedSlot
remoteCarried
remoteCarried
field_29207
trackedCursorSlot
private int
stateId
stateId
field_34024
revision
private final ScreenHandlerType<?>
menuType
menuType
field_17493
type
public final int
containerId
containerId
field_7763
syncId
private int
quickcraftType
quickcraftType
field_7762
quickCraftButton
private int
quickcraftStatus
quickcraftStatus
field_7759
quickCraftStage
private final Set<Slot>
quickcraftSlots
quickcraftSlots
field_7757
quickCraftSlots
private final List<ScreenHandlerListener>
containerListeners
containerListeners
field_7765
listeners
private ScreenHandlerSyncHandler
synchronizer
synchronizer
field_29208
syncHandler
private boolean
suppressRemoteUpdates
suppressRemoteUpdates
field_29209
disableSync

Constructor summary

ModifierConstructor
protected (ScreenHandlerType<?> type, int syncId)

Method summary

Modifier and TypeMethod
protected void
addInventoryHotbarSlots(Container inventory, int left, int top)
addInventoryHotbarSlots(Container inventory, int left, int top)
method_61622(class_1263 arg0, int arg1, int arg2)
addPlayerHotbarSlots(Inventory playerInventory, int left, int y)
protected void
addInventoryExtendedSlots(Container inventory, int left, int top)
addInventoryExtendedSlots(Container inventory, int left, int top)
method_61623(class_1263 arg0, int arg1, int arg2)
addPlayerInventorySlots(Inventory playerInventory, int left, int top)
protected void
addStandardInventorySlots(Container container, int left, int top)
addStandardInventorySlots(Container container, int left, int top)
method_61624(class_1263 arg0, int arg1, int arg2)
addPlayerSlots(Inventory playerInventory, int left, int top)
protected static boolean
stillValid(ContainerLevelAccess access, Player player, Block block)
stillValid(ContainerLevelAccess access, Player player, Block block)
method_17695(class_3914 arg0, class_1657 arg1, class_2248 arg2)
canUse(ScreenHandlerContext context, PlayerEntity player, Block block)
public ScreenHandlerType<?>
getType()
getType()
method_17358()
getType()
protected static void
checkContainerSize(Container container, int expected)
checkContainerSize(Container container, int expected)
method_17359(class_1263 arg0, int arg1)
checkSize(Inventory inventory, int expectedSize)
protected static void
checkContainerDataCount(ContainerData data, int expected)
checkContainerDataCount(ContainerData data, int expected)
method_17361(class_3913 arg0, int arg1)
checkDataCount(PropertyDelegate data, int expectedCount)
public boolean
isValidSlotIndex(int slotIndex)
isValidSlotIndex(int slotIndex)
method_40442(int arg0)
isValid(int slot)
protected Slot
addSlot(Slot slot)
addSlot(Slot slot)
method_7621(class_1735 arg0)
addSlot(Slot slot)
protected Property
addDataSlot(DataSlot dataSlot)
addDataSlot(DataSlot dataSlot)
method_17362(class_3915 arg0)
addProperty(Property property)
protected void
addDataSlots(ContainerData container)
addDataSlots(ContainerData container)
method_17360(class_3913 arg0)
addProperties(PropertyDelegate propertyDelegate)
public void
addSlotListener(ContainerListener listener)
addSlotListener(ContainerListener listener)
method_7596(class_1712 arg0)
addListener(ScreenHandlerListener listener)
public void
setSynchronizer(ContainerSynchronizer synchronizer)
setSynchronizer(ContainerSynchronizer synchronizer)
method_34248(class_5916 arg0)
updateSyncHandler(ScreenHandlerSyncHandler handler)
public void
sendAllDataToRemote()
sendAllDataToRemote()
method_34252()
syncState()
public void
removeSlotListener(ContainerListener listener)
removeSlotListener(ContainerListener listener)
method_7603(class_1712 arg0)
removeListener(ScreenHandlerListener listener)
public DefaultedList<ItemStack>
getItems()
getItems()
method_7602()
getStacks()
public void
broadcastChanges()
broadcastChanges()
method_7623()
sendContentUpdates()
public void
broadcastFullState()
broadcastFullState()
method_37420()
updateToClient()
private void
updateDataSlotListeners(int id, int currentValue)
updateDataSlotListeners(int id, int currentValue)
method_37419(int arg0, int arg1)
notifyPropertyUpdate(int index, int value)
private void
triggerSlotListeners(int i, ItemStack current, Supplier<ItemStack> currentCopy)
triggerSlotListeners(int i, ItemStack current, Supplier<ItemStack> currentCopy)
method_34246(int arg0, class_1799 arg1, Supplier<class_1799> arg2)
updateTrackedSlot(int slot, ItemStack stack, Supplier<ItemStack> copySupplier)
private void
synchronizeSlotToRemote(int i, ItemStack current, Supplier<ItemStack> currentCopy)
synchronizeSlotToRemote(int i, ItemStack current, Supplier<ItemStack> currentCopy)
method_34253(int arg0, class_1799 arg1, Supplier<class_1799> arg2)
checkSlotUpdates(int slot, ItemStack stack, Supplier<ItemStack> copySupplier)
private void
synchronizeDataSlotToRemote(int i, int current)
synchronizeDataSlotToRemote(int i, int current)
method_34715(int arg0, int arg1)
checkPropertyUpdates(int id, int value)
private void
synchronizeCarriedToRemote()
synchronizeCarriedToRemote()
method_34258()
checkCursorStackUpdates()
public void
setRemoteSlot(int slot, ItemStack itemStack)
setRemoteSlot(int slot, ItemStack itemStack)
method_34245(int arg0, class_1799 arg1)
setReceivedStack(int slot, ItemStack stack)
public void
setRemoteSlotUnsafe(int slot, HashedStack itemStack)
setRemoteSlotUnsafe(int slot, HashedStack itemStack)
method_37449(int arg0, class_10938 arg1)
setReceivedHash(int slot, ItemStackHash hash)
public void
setRemoteCarried(HashedStack carriedItem)
setRemoteCarried(HashedStack carriedItem)
method_34250(class_10938 arg0)
setReceivedCursorHash(ItemStackHash cursorStackHash)
public boolean
clickMenuButton(Player player, int buttonId)
clickMenuButton(Player player, int buttonId)
method_7604(class_1657 arg0, int arg1)
onButtonClick(PlayerEntity player, int id)
public Slot
getSlot(int index)
getSlot(int index)
method_7611(int arg0)
getSlot(int index)
public abstract ItemStack
quickMoveStack(Player player, int slotIndex)
quickMoveStack(Player player, int slotIndex)
method_7601(class_1657 arg0, int arg1)
quickMove(PlayerEntity player, int slot)
public void
setSelectedBundleItemIndex(int slotIndex, int selectedItemIndex)
setSelectedBundleItemIndex(int slotIndex, int selectedItemIndex)
method_61621(int arg0, int arg1)
selectBundleStack(int slot, int selectedStack)
public void
clicked(int slotIndex, int buttonNum, ContainerInput containerInput, Player player)
clicked(int slotIndex, int buttonNum, ContainerInput containerInput, Player player)
method_7593(int arg0, int arg1, class_1713 arg2, class_1657 arg3)
onSlotClick(int slotIndex, int button, SlotActionType arg2, PlayerEntity player)
private void
doClick(int slotIndex, int buttonNum, ContainerInput containerInput, Player player)
doClick(int slotIndex, int buttonNum, ContainerInput containerInput, Player player)
method_30010(int arg0, int arg1, class_1713 arg2, class_1657 arg3)
internalOnSlotClick(int slotIndex, int button, SlotActionType arg2, PlayerEntity player)
private boolean
tryItemClickBehaviourOverride(Player player, ClickAction clickAction, Slot slot, ItemStack clicked, ItemStack carried)
tryItemClickBehaviourOverride(Player player, ClickAction clickAction, Slot slot, ItemStack clicked, ItemStack carried)
method_45409(class_1657 arg0, class_5536 arg1, class_1735 arg2, class_1799 arg3, class_1799 arg4)
handleSlotClick(PlayerEntity player, ClickType clickType, Slot slot, ItemStack stack, ItemStack cursorStack)
private StackReference
createCarriedSlotAccess()
createCarriedSlotAccess()
method_34259()
getCursorStackReference()
public boolean
canTakeItemForPickAll(ItemStack carried, Slot target)
canTakeItemForPickAll(ItemStack carried, Slot target)
method_7613(class_1799 arg0, class_1735 arg1)
canInsertIntoSlot(ItemStack stack, Slot slot)
public void
removed(Player player)
removed(Player player)
method_7595(class_1657 arg0)
onClosed(PlayerEntity player)
private static void
dropOrPlaceInInventory(Player player, ItemStack carried)
dropOrPlaceInInventory(Player player, ItemStack carried)
method_64192(class_1657 arg0, class_1799 arg1)
offerOrDropStack(PlayerEntity player, ItemStack stack)
protected void
clearContainer(Player player, Container container)
clearContainer(Player player, Container container)
method_7607(class_1657 arg0, class_1263 arg1)
dropInventory(PlayerEntity player, Inventory inventory)
public void
slotsChanged(Container container)
slotsChanged(Container container)
method_7609(class_1263 arg0)
onContentChanged(Inventory inventory)
public void
setItem(int slot, int stateId, ItemStack itemStack)
setItem(int slot, int stateId, ItemStack itemStack)
method_7619(int arg0, int arg1, class_1799 arg2)
setStackInSlot(int slot, int revision, ItemStack stack)
public void
initializeContents(int stateId, List<ItemStack> items, ItemStack carried)
initializeContents(int stateId, List<ItemStack> items, ItemStack carried)
method_7610(int arg0, List<class_1799> arg1, class_1799 arg2)
updateSlotStacks(int revision, List<ItemStack> stacks, ItemStack cursorStack)
public void
setData(int id, int value)
setData(int id, int value)
method_7606(int arg0, int arg1)
setProperty(int id, int value)
public abstract boolean
stillValid(Player player)
stillValid(Player player)
method_7597(class_1657 arg0)
canUse(PlayerEntity player)
protected boolean
moveItemStackTo(ItemStack itemStack, int startSlot, int endSlot, boolean backwards)
moveItemStackTo(ItemStack itemStack, int startSlot, int endSlot, boolean backwards)
method_7616(class_1799 arg0, int arg1, int arg2, boolean arg3)
insertItem(ItemStack stack, int startIndex, int endIndex, boolean fromLast)
public static int
getQuickcraftType(int mask)
getQuickcraftType(int mask)
method_7620(int arg0)
unpackQuickCraftButton(int quickCraftData)
public static int
getQuickcraftHeader(int mask)
getQuickcraftHeader(int mask)
method_7594(int arg0)
unpackQuickCraftStage(int quickCraftData)
public static int
getQuickcraftMask(int header, int type)
getQuickcraftMask(int header, int type)
method_7591(int arg0, int arg1)
packQuickCraftData(int quickCraftStage, int buttonId)
public static boolean
isValidQuickcraftType(int type, Player player)
isValidQuickcraftType(int type, Player player)
method_7600(int arg0, class_1657 arg1)
shouldQuickCraftContinue(int stage, PlayerEntity player)
protected void
resetQuickCraft()
resetQuickCraft()
method_7605()
endQuickCraft()
public static boolean
canItemQuickReplace(Slot slot, ItemStack itemStack, boolean ignoreSize)
canItemQuickReplace(Slot slot, ItemStack itemStack, boolean ignoreSize)
method_7592(class_1735 arg0, class_1799 arg1, boolean arg2)
canInsertItemIntoSlot(Slot slot, ItemStack stack, boolean allowOverflow)
public static int
getQuickCraftPlaceCount(int quickCraftSlotsSize, int quickCraftingType, ItemStack itemStack)
getQuickCraftPlaceCount(int quickCraftSlotsSize, int quickCraftingType, ItemStack itemStack)
method_7617(int arg0, int arg1, class_1799 arg2)
calculateStackSize(int arg0, int mode, ItemStack stack)
public boolean
canDragTo(Slot slot)
canDragTo(Slot slot)
method_7615(class_1735 arg0)
canInsertIntoSlot(Slot slot)
public static int
getRedstoneSignalFromBlockEntity(BlockEntity blockEntity)
getRedstoneSignalFromBlockEntity(BlockEntity blockEntity)
method_7608(class_2586 arg0)
calculateComparatorOutput(BlockEntity entity)
public static int
getRedstoneSignalFromContainer(Container container)
getRedstoneSignalFromContainer(Container container)
method_7618(class_1263 arg0)
calculateComparatorOutput(Inventory inventory)
public void
setCarried(ItemStack carried)
setCarried(ItemStack carried)
method_34254(class_1799 arg0)
setCursorStack(ItemStack stack)
public ItemStack
getCarried()
getCarried()
method_34255()
getCursorStack()
public void
suppressRemoteUpdates()
suppressRemoteUpdates()
method_34256()
disableSyncing()
public void
resumeRemoteUpdates()
resumeRemoteUpdates()
method_34257()
enableSyncing()
public void
transferState(AbstractContainerMenu otherContainer)
transferState(AbstractContainerMenu otherContainer)
method_34247(class_1703 arg0)
copySharedSlots(ScreenHandler handler)
public OptionalInt
findSlot(Container inventory, int slotIndex)
findSlot(Container inventory, int slotIndex)
method_37418(class_1263 arg0, int arg1)
getSlotIndex(Inventory inventory, int index)
public int
getStateId()
getStateId()
method_37421()
getRevision()
public int
incrementStateId()
incrementStateId()
method_37422()
nextRevision()