Class ArcaneWorkbenchScreen

java.lang.Object
net.minecraft.client.gui.components.events.AbstractContainerEventHandler
net.minecraft.client.gui.screens.Screen
net.minecraft.client.gui.screens.inventory.AbstractContainerScreen<ArcaneWorkbenchMenu>
com.binaris.wizardry.client.gui.screens.ArcaneWorkbenchScreen
All Implemented Interfaces:
net.minecraft.client.gui.components.events.ContainerEventHandler, net.minecraft.client.gui.components.events.GuiEventListener, net.minecraft.client.gui.components.Renderable, net.minecraft.client.gui.components.TabOrderedElement, net.minecraft.client.gui.screens.inventory.MenuAccess<ArcaneWorkbenchMenu>

public class ArcaneWorkbenchScreen extends net.minecraft.client.gui.screens.inventory.AbstractContainerScreen<ArcaneWorkbenchMenu>
Client-side GUI screen for the Arcane Workbench, where all rendering, button logic, tooltips, and animations are handled. Delegates most logic to the associated ArcaneWorkbenchMenu.
  • Nested Class Summary

    Nested classes/interfaces inherited from class net.minecraft.client.gui.screens.Screen

    net.minecraft.client.gui.screens.Screen.NarratableSearchResult
  • Field Summary

    Fields inherited from class net.minecraft.client.gui.screens.inventory.AbstractContainerScreen

    hoveredSlot, imageHeight, imageWidth, INVENTORY_LOCATION, inventoryLabelX, inventoryLabelY, isQuickCrafting, leftPos, playerInventoryTitle, quickCraftSlots, SLOT_ITEM_BLIT_OFFSET, slotColor, titleLabelX, titleLabelY, topPos

    Fields inherited from class net.minecraft.client.gui.screens.Screen

    BACKGROUND_LOCATION, font, height, minecraft, renderables, screenExecutor, title, width

    Fields inherited from interface net.minecraft.client.gui.components.events.GuiEventListener

    DOUBLE_CLICK_THRESHOLD_MS
  • Constructor Summary

    Constructors
    Constructor
    Description
    ArcaneWorkbenchScreen(ArcaneWorkbenchMenu menu, net.minecraft.world.entity.player.Inventory playerInventory, net.minecraft.network.chat.Component name)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    Called every tick to update animation and refresh state.
     
    protected void
    Initializes the screen, positions widgets, and sets up tooltips.
    void
    render(@NotNull net.minecraft.client.gui.GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTick)
    Renders the screen, including background, slots, tooltips, and animations.
    protected void
    renderBg(@NotNull net.minecraft.client.gui.GuiGraphics guiGraphics, float partialTick, int mouseX, int mouseY)
    Renders the background layer, including slot highlights and animations.
    protected void
    renderLabels(@NotNull net.minecraft.client.gui.GuiGraphics guiGraphics, int mouseX, int mouseY)
    Renders the foreground labels, including the title and inventory name.

    Methods inherited from class net.minecraft.client.gui.screens.inventory.AbstractContainerScreen

    checkHotbarKeyPressed, clearDraggingState, getGuiLeft, getGuiTop, getSlotColor, getSlotUnderMouse, getTooltipFromContainerItem, getXSize, getYSize, hasClickedOutside, isHovering, isPauseScreen, keyPressed, mouseClicked, mouseDragged, mouseReleased, onClose, removed, renderSlotHighlight, renderSlotHighlight, renderTooltip, slotClicked, tick

    Methods inherited from class net.minecraft.client.gui.screens.Screen

    added, addRenderableOnly, addRenderableWidget, addWidget, afterKeyboardAction, afterMouseAction, afterMouseMove, changeFocus, children, clearWidgets, findNarratableWidget, getBackgroundMusic, getMinecraft, getNarrationMessage, getRectangle, getTitle, getTooltipFromItem, handleComponentClicked, handleDelayedNarration, hasAltDown, hasControlDown, hasShiftDown, hideWidgets, init, insertText, isCopy, isCut, isMouseOver, isPaste, isSelectAll, isValidCharacterForName, narrationEnabled, onFilesDrop, rebuildWidgets, removeWidget, renderBackground, renderDirtBackground, renderWithTooltip, repositionElements, resize, setInitialFocus, setTooltipForNextRenderPass, setTooltipForNextRenderPass, setTooltipForNextRenderPass, setTooltipForNextRenderPass, shouldCloseOnEsc, shouldNarrateNavigation, triggerImmediateNarration, updateNarratedWidget, updateNarrationState, wrapScreenError

    Methods inherited from class net.minecraft.client.gui.components.events.AbstractContainerEventHandler

    getFocused, isDragging, setDragging, setFocused

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface net.minecraft.client.gui.components.events.ContainerEventHandler

    charTyped, getChildAt, getCurrentFocusPath, isFocused, keyReleased, magicalSpecialHackyFocus, mouseScrolled, nextFocusPath, setFocused

    Methods inherited from interface net.minecraft.client.gui.components.events.GuiEventListener

    mouseMoved

    Methods inherited from interface net.minecraft.client.gui.components.TabOrderedElement

    getTabOrderGroup
  • Constructor Details

    • ArcaneWorkbenchScreen

      public ArcaneWorkbenchScreen(ArcaneWorkbenchMenu menu, net.minecraft.world.entity.player.Inventory playerInventory, net.minecraft.network.chat.Component name)
  • Method Details

    • init

      protected void init()
      Initializes the screen, positions widgets, and sets up tooltips.
      Overrides:
      init in class net.minecraft.client.gui.screens.inventory.AbstractContainerScreen<ArcaneWorkbenchMenu>
    • render

      public void render(@NotNull @NotNull net.minecraft.client.gui.GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTick)
      Renders the screen, including background, slots, tooltips, and animations.
      Specified by:
      render in interface net.minecraft.client.gui.components.Renderable
      Overrides:
      render in class net.minecraft.client.gui.screens.inventory.AbstractContainerScreen<ArcaneWorkbenchMenu>
      Parameters:
      guiGraphics - The graphics context.
      mouseX - Mouse X position.
      mouseY - Mouse Y position.
      partialTick - Partial tick time.
    • renderBg

      protected void renderBg(@NotNull @NotNull net.minecraft.client.gui.GuiGraphics guiGraphics, float partialTick, int mouseX, int mouseY)
      Renders the background layer, including slot highlights and animations.
      Specified by:
      renderBg in class net.minecraft.client.gui.screens.inventory.AbstractContainerScreen<ArcaneWorkbenchMenu>
      Parameters:
      guiGraphics - The graphics context.
      partialTick - Partial tick time.
      mouseX - Mouse X position.
      mouseY - Mouse Y position.
    • renderLabels

      protected void renderLabels(@NotNull @NotNull net.minecraft.client.gui.GuiGraphics guiGraphics, int mouseX, int mouseY)
      Renders the foreground labels, including the title and inventory name. Also draws tooltip foreground if needed.
      Overrides:
      renderLabels in class net.minecraft.client.gui.screens.inventory.AbstractContainerScreen<ArcaneWorkbenchMenu>
      Parameters:
      guiGraphics - The graphics context.
      mouseX - Mouse X position.
      mouseY - Mouse Y position.
    • containerTick

      protected void containerTick()
      Called every tick to update animation and refresh state.
      Overrides:
      containerTick in class net.minecraft.client.gui.screens.inventory.AbstractContainerScreen<ArcaneWorkbenchMenu>
    • getMenu

      @NotNull public @NotNull ArcaneWorkbenchMenu getMenu()
      Specified by:
      getMenu in interface net.minecraft.client.gui.screens.inventory.MenuAccess<ArcaneWorkbenchMenu>
      Overrides:
      getMenu in class net.minecraft.client.gui.screens.inventory.AbstractContainerScreen<ArcaneWorkbenchMenu>