Class HandledScreen<T extends ScreenHandler>
java.lang.Object
net.minecraft.client.gui.DrawableHelper
net.minecraft.client.gui.AbstractParentElement
net.minecraft.client.gui.screen.Screen
net.minecraft.client.gui.screen.ingame.HandledScreen<T>
- All Implemented Interfaces:
Drawable,Element,ParentElement,ScreenHandlerProvider<T>,TickableElement
- Direct Known Subclasses:
AbstractFurnaceScreen,AbstractInventoryScreen,BeaconScreen,BrewingStandScreen,CartographyTableScreen,CraftingScreen,EnchantmentScreen,ForgingScreen,Generic3x3ContainerScreen,GenericContainerScreen,GrindstoneScreen,HopperScreen,HorseScreen,LoomScreen,MerchantScreen,ShulkerBoxScreen,StonecutterScreen
@Environment(CLIENT) public abstract class HandledScreen<T extends ScreenHandler> extends Screen implements ScreenHandlerProvider<T>
-
Field Summary
Fields inherited from class net.minecraft.client.gui.screen.Screen
buttons, children, client, height, itemRenderer, passEvents, textRenderer, title, widthFields inherited from class net.minecraft.client.gui.DrawableHelper
GUI_ICONS_TEXTURE, OPTIONS_BACKGROUND_TEXTURE, STATS_ICON_TEXTURE -
Constructor Summary
Constructors Constructor Description HandledScreen(T handler, PlayerInventory inventory, Text title) -
Method Summary
Modifier and Type Method Description private voidcalculateOffset()protected abstract voiddrawBackground(MatrixStack matrices, float delta, int mouseX, int mouseY)protected voiddrawForeground(MatrixStack matrices, int mouseX, int mouseY)private voiddrawItem(ItemStack stack, int xPosition, int yPosition, String amountText)protected voiddrawMouseoverTooltip(MatrixStack matrices, int x, int y)private voiddrawSlot(MatrixStack matrices, Slot slot)TgetScreenHandler()private SlotgetSlotAt(double xPosition, double yPosition)protected booleanhandleHotbarKeyPressed(int keyCode, int scanCode)protected voidinit()Called when a screen should be initialized.protected booleanisClickOutsideBounds(double mouseX, double mouseY, int left, int top, int button)booleanisPauseScreen()private booleanisPointOverSlot(Slot slot, double pointX, double pointY)protected booleanisPointWithinBounds(int xPosition, int yPosition, int width, int height, double pointX, double pointY)booleankeyPressed(int keyCode, int scanCode, int modifiers)Callback for when a key down event has been captured.private voidmethod_30107(int int2)booleanmouseClicked(double mouseX, double mouseY, int button)Callback for when a mouse button down event has been captured.booleanmouseDragged(double mouseX, double mouseY, int button, double deltaX, double deltaY)Callback for when a mouse button drag event has been captured.booleanmouseReleased(double mouseX, double mouseY, int button)Callback for when a mouse button release event has been captured.voidonClose()protected voidonMouseClick(Slot slot, int invSlot, int clickData, SlotActionType actionType)voidremoved()voidrender(MatrixStack matrices, int mouseX, int mouseY, float delta)voidtick()Methods inherited from class net.minecraft.client.gui.screen.Screen
addButton, addChild, children, filesDragged, getNarrationMessage, getTitle, getTooltipFromItem, handleTextClick, hasAltDown, hasControlDown, hasShiftDown, init, insertText, isCopy, isCut, isMouseOver, isPaste, isSelectAll, isValidCharacterForName, renderBackground, renderBackground, renderBackgroundTexture, renderOrderedTooltip, renderTextHoverEffect, renderTooltip, renderTooltip, renderTooltip, resize, sendMessage, sendMessage, shouldCloseOnEsc, wrapScreenErrorMethods inherited from class net.minecraft.client.gui.AbstractParentElement
getFocused, isDragging, setDragging, setFocusedMethods inherited from class net.minecraft.client.gui.DrawableHelper
drawCenteredString, drawCenteredText, drawHorizontalLine, drawSprite, drawStringWithShadow, drawTexture, drawTexture, drawTexture, drawTexture, drawTextWithShadow, drawVerticalLine, fill, fillGradient, fillGradient, getZOffset, method_29343, setZOffsetMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.minecraft.client.gui.Element
mouseMovedMethods inherited from interface net.minecraft.client.gui.ParentElement
changeFocus, charTyped, focusOn, hoveredElement, keyReleased, mouseScrolled, setInitialFocus
-
Field Details
-
BACKGROUND_TEXTURE
-
backgroundWidth
protected int backgroundWidth -
backgroundHeight
protected int backgroundHeight -
titleX
protected int titleX -
titleY
protected int titleY -
playerInventoryTitleX
protected int playerInventoryTitleX -
playerInventoryTitleY
protected int playerInventoryTitleY -
handler
-
playerInventory
-
focusedSlot
-
touchDragSlotStart
-
touchDropOriginSlot
-
touchHoveredSlot
-
lastClickedSlot
-
x
protected int x -
y
protected int y -
touchIsRightClickDrag
private boolean touchIsRightClickDrag -
touchDragStack
-
touchDropX
private int touchDropX -
touchDropY
private int touchDropY -
touchDropTime
private long touchDropTime -
touchDropReturningStack
-
touchDropTimer
private long touchDropTimer -
cursorDragSlots
-
cursorDragging
protected boolean cursorDragging -
heldButtonType
private int heldButtonType -
heldButtonCode
private int heldButtonCode -
cancelNextRelease
private boolean cancelNextRelease -
draggedStackRemainder
private int draggedStackRemainder -
lastButtonClickTime
private long lastButtonClickTime -
lastClickedButton
private int lastClickedButton -
doubleClicking
private boolean doubleClicking -
quickMovingStack
-
-
Constructor Details
-
HandledScreen
-
-
Method Details
-
init
protected void init()Called when a screen should be initialized.This method is called when this screen is
openedor resized. -
render
-
drawMouseoverTooltip
-
drawItem
-
drawForeground
-
drawBackground
-
drawSlot
-
calculateOffset
private void calculateOffset() -
getSlotAt
-
mouseClicked
public boolean mouseClicked(double mouseX, double mouseY, int button)Callback for when a mouse button down event has been captured. The button number is identified by the constants inGLFWclass.- Specified by:
mouseClickedin interfaceElement- Specified by:
mouseClickedin interfaceParentElement- Parameters:
mouseX- the X coordinate of the mousemouseY- the Y coordinate of the mousebutton- the mouse button number- Returns:
trueto indicate that the event handling is successful/valid- See Also:
Mouse.onMouseButton(long, int, int, int),GLFW.GLFW_MOUSE_BUTTON_1
-
method_30107
private void method_30107(int int2) -
isClickOutsideBounds
protected boolean isClickOutsideBounds(double mouseX, double mouseY, int left, int top, int button) -
mouseDragged
public boolean mouseDragged(double mouseX, double mouseY, int button, double deltaX, double deltaY)Callback for when a mouse button drag event has been captured. The button number is identified by the constants inGLFWclass.- Specified by:
mouseDraggedin interfaceElement- Specified by:
mouseDraggedin interfaceParentElement- Parameters:
mouseX- the current X coordinate of the mousemouseY- the current Y coordinate of the mousebutton- the mouse button numberdeltaX- the difference of the current X with the previous X coordinatedeltaY- the difference of the current Y with the previous Y coordinate- Returns:
trueto indicate that the event handling is successful/valid- See Also:
Mouse.onCursorPos(long, double, double),GLFW.GLFW_MOUSE_BUTTON_1
-
mouseReleased
public boolean mouseReleased(double mouseX, double mouseY, int button)Callback for when a mouse button release event has been captured. The button number is identified by the constants inGLFWclass.- Specified by:
mouseReleasedin interfaceElement- Specified by:
mouseReleasedin interfaceParentElement- Parameters:
mouseX- the X coordinate of the mousemouseY- the Y coordinate of the mousebutton- the mouse button number- Returns:
trueto indicate that the event handling is successful/valid- See Also:
Mouse.onMouseButton(long, int, int, int),GLFW.GLFW_MOUSE_BUTTON_1
-
isPointOverSlot
-
isPointWithinBounds
protected boolean isPointWithinBounds(int xPosition, int yPosition, int width, int height, double pointX, double pointY) -
onMouseClick
-
keyPressed
public boolean keyPressed(int keyCode, int scanCode, int modifiers)Callback for when a key down event has been captured. The key code is identified by the constants inGLFWclass.- Specified by:
keyPressedin interfaceElement- Specified by:
keyPressedin interfaceParentElement- Overrides:
keyPressedin classScreen- Parameters:
keyCode- the named key code of the event as described in theGLFWclassscanCode- the unique/platform-specific scan code of the keyboard inputmodifiers- a GLFW bitfield describing the modifier keys that are held down (see {@linkplain https://www.glfw.org/docs/3.3/group__mods.html GLFW Modifier key flags})- Returns:
trueto indicate that the event handling is successful/valid- See Also:
Keyboard.onKey(long, int, int, int, int),GLFW.GLFW_KEY_Q,GLFWKeyCallbackI.invoke(long, int, int, int, int)
-
handleHotbarKeyPressed
protected boolean handleHotbarKeyPressed(int keyCode, int scanCode) -
removed
public void removed() -
isPauseScreen
public boolean isPauseScreen()- Overrides:
isPauseScreenin classScreen
-
tick
public void tick()- Specified by:
tickin interfaceTickableElement- Overrides:
tickin classScreen
-
getScreenHandler
- Specified by:
getScreenHandlerin interfaceScreenHandlerProvider<T extends ScreenHandler>
-
onClose
public void onClose()
-