Class RecipeBookComponent

java.lang.Object
net.minecraft.client.gui.screens.recipebook.RecipeBookComponent
All Implemented Interfaces:
GuiEventListener, Renderable, TabOrderedElement, NarratableEntry, NarrationSupplier, RecipeShownListener, PlaceRecipe<Ingredient>
Direct Known Subclasses:
AbstractFurnaceRecipeBookComponent

public class RecipeBookComponent extends Object implements PlaceRecipe<Ingredient>, Renderable, GuiEventListener, NarratableEntry, RecipeShownListener
  • Field Details

    • RECIPE_BUTTON_SPRITES

      public static final WidgetSprites RECIPE_BUTTON_SPRITES
    • FILTER_BUTTON_SPRITES

      private static final WidgetSprites FILTER_BUTTON_SPRITES
    • RECIPE_BOOK_LOCATION

      protected static final ResourceLocation RECIPE_BOOK_LOCATION
    • SEARCH_HINT

      private static final Component SEARCH_HINT
    • IMAGE_WIDTH

      public static final int IMAGE_WIDTH
      See Also:
    • IMAGE_HEIGHT

      public static final int IMAGE_HEIGHT
      See Also:
    • OFFSET_X_POSITION

      private static final int OFFSET_X_POSITION
      See Also:
    • ONLY_CRAFTABLES_TOOLTIP

      private static final Component ONLY_CRAFTABLES_TOOLTIP
    • ALL_RECIPES_TOOLTIP

      private static final Component ALL_RECIPES_TOOLTIP
    • xOffset

      private int xOffset
    • width

      private int width
    • height

      private int height
    • ghostRecipe

      protected final GhostRecipe ghostRecipe
    • tabButtons

      private final List<RecipeBookTabButton> tabButtons
    • selectedTab

      @Nullable private RecipeBookTabButton selectedTab
    • filterButton

      protected StateSwitchingButton filterButton
    • minecraft

      protected Minecraft minecraft
    • lastSearch

      private String lastSearch
    • book

      private ClientRecipeBook book
    • recipeBookPage

      private final RecipeBookPage recipeBookPage
    • stackedContents

      private final StackedContents stackedContents
    • timesInventoryChanged

      private int timesInventoryChanged
    • ignoreTextInput

      private boolean ignoreTextInput
    • visible

      private boolean visible
    • widthTooNarrow

      private boolean widthTooNarrow
  • Constructor Details

    • RecipeBookComponent

      public RecipeBookComponent()
  • Method Details

    • init

      public void init(int pWidth, int pHeight, Minecraft pMinecraft, boolean pWidthTooNarrow, RecipeBookMenu<?,?> pMenu)
    • initVisuals

      public void initVisuals()
    • updateFilterButtonTooltip

      private void updateFilterButtonTooltip()
    • initFilterButtonTextures

      protected void initFilterButtonTextures()
    • updateScreenPosition

      public int updateScreenPosition(int pWidth, int pImageWidth)
    • toggleVisibility

      public void toggleVisibility()
    • isVisible

      public boolean isVisible()
    • isVisibleAccordingToBookData

      private boolean isVisibleAccordingToBookData()
    • setVisible

      protected void setVisible(boolean pVisible)
    • slotClicked

      public void slotClicked(@Nullable Slot pSlot)
    • updateCollections

      private void updateCollections(boolean pResetPageNumber)
    • updateTabs

      private void updateTabs()
    • tick

      public void tick()
    • updateStackedContents

      private void updateStackedContents()
    • render

      public void render(GuiGraphics pGuiGraphics, int pMouseX, int pMouseY, float pPartialTick)
      Renders the graphical user interface (GUI) element.
      Specified by:
      render in interface Renderable
      Parameters:
      pGuiGraphics - the GuiGraphics object used for rendering.
      pMouseX - the x-coordinate of the mouse cursor.
      pMouseY - the y-coordinate of the mouse cursor.
      pPartialTick - the partial tick time.
    • renderTooltip

      public void renderTooltip(GuiGraphics pGuiGraphics, int pRenderX, int pRenderY, int pMouseX, int pMouseY)
    • getRecipeFilterName

      protected Component getRecipeFilterName()
    • renderGhostRecipeTooltip

      private void renderGhostRecipeTooltip(GuiGraphics pGuiGraphics, int pX, int pY, int pMouseX, int pMouseY)
    • renderGhostRecipe

      public void renderGhostRecipe(GuiGraphics pGuiGraphics, int pLeftPos, int pTopPos, boolean p_283495_, float pPartialTick)
    • mouseClicked

      public boolean mouseClicked(double pMouseX, double pMouseY, int pButton)
      Called when a mouse button is clicked within the GUI element.

      Specified by:
      mouseClicked in interface GuiEventListener
      Parameters:
      pMouseX - the X coordinate of the mouse.
      pMouseY - the Y coordinate of the mouse.
      pButton - the button that was clicked.
      Returns:
      true if the event is consumed, false otherwise.
    • toggleFiltering

      private boolean toggleFiltering()
    • hasClickedOutside

      public boolean hasClickedOutside(double pMouseX, double pMouseY, int pX, int pY, int pWidth, int pHeight, int p_100304_)
    • keyPressed

      public boolean keyPressed(int pKeyCode, int pScanCode, int pModifiers)
      Called when a keyboard key is pressed within the GUI element.

      Specified by:
      keyPressed in interface GuiEventListener
      Parameters:
      pKeyCode - the key code of the pressed key.
      pScanCode - the scan code of the pressed key.
      pModifiers - the keyboard modifiers.
      Returns:
      true if the event is consumed, false otherwise.
    • keyReleased

      public boolean keyReleased(int pKeyCode, int pScanCode, int pModifiers)
      Called when a keyboard key is released within the GUI element.

      Specified by:
      keyReleased in interface GuiEventListener
      Parameters:
      pKeyCode - the key code of the released key.
      pScanCode - the scan code of the released key.
      pModifiers - the keyboard modifiers.
      Returns:
      true if the event is consumed, false otherwise.
    • charTyped

      public boolean charTyped(char pCodePoint, int pModifiers)
      Called when a character is typed within the GUI element.

      Specified by:
      charTyped in interface GuiEventListener
      Parameters:
      pCodePoint - the code point of the typed character.
      pModifiers - the keyboard modifiers.
      Returns:
      true if the event is consumed, false otherwise.
    • isMouseOver

      public boolean isMouseOver(double pMouseX, double pMouseY)
      Checks if the given mouse coordinates are over the GUI element.

      Specified by:
      isMouseOver in interface GuiEventListener
      Parameters:
      pMouseX - the X coordinate of the mouse.
      pMouseY - the Y coordinate of the mouse.
      Returns:
      true if the mouse is over the GUI element, false otherwise.
    • setFocused

      public void setFocused(boolean pFocused)
      Sets the focus state of the GUI element.
      Specified by:
      setFocused in interface GuiEventListener
      Parameters:
      pFocused - true to apply focus, false to remove focus
    • isFocused

      public boolean isFocused()
      Specified by:
      isFocused in interface GuiEventListener
    • checkSearchStringUpdate

      private void checkSearchStringUpdate()
    • pirateSpeechForThePeople

      private void pirateSpeechForThePeople(String pText)
      Check if we should activate the pirate speak easter egg.
    • isOffsetNextToMainGUI

      private boolean isOffsetNextToMainGUI()
    • recipesUpdated

      public void recipesUpdated()
    • recipesShown

      public void recipesShown(List<RecipeHolder<?>> pRecipes)
      Specified by:
      recipesShown in interface RecipeShownListener
    • setupGhostRecipe

      public void setupGhostRecipe(RecipeHolder<?> pRecipe, List<Slot> pSlots)
    • addItemToSlot

      public void addItemToSlot(Ingredient pItem, int pSlot, int pMaxAmount, int pX, int pY)
      Specified by:
      addItemToSlot in interface PlaceRecipe<Ingredient>
    • sendUpdateSettings

      protected void sendUpdateSettings()
    • narrationPriority

      public NarratableEntry.NarrationPriority narrationPriority()
      Specified by:
      narrationPriority in interface NarratableEntry
    • updateNarration

      public void updateNarration(NarrationElementOutput pNarrationElementOutput)
      Updates the narration output with the current narration information.
      Specified by:
      updateNarration in interface NarrationSupplier
      Parameters:
      pNarrationElementOutput - the output to update with narration information.