Class RecipeBookComponent<T extends RecipeBookMenu>
java.lang.Object
net.minecraft.client.gui.screens.recipebook.RecipeBookComponent<T>
- All Implemented Interfaces:
GuiEventListener
,Renderable
,TabOrderedElement
,NarratableEntry
,NarrationSupplier
- Direct Known Subclasses:
CraftingRecipeBookComponent
,FurnaceRecipeBookComponent
public abstract class RecipeBookComponent<T extends RecipeBookMenu>
extends Object
implements Renderable, GuiEventListener, NarratableEntry
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface net.minecraft.client.gui.narration.NarratableEntry
NarratableEntry.NarrationPriority
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final Component
private static final int
private static final int
private ClientRecipeBook
private static final int
protected StateSwitchingButton
private final GhostSlots
private int
private boolean
static final int
static final int
private RecipeDisplayId
private RecipeDisplayId
private RecipeCollection
private String
private ScreenRectangle
protected final T
protected Minecraft
private static final int
protected static final ResourceLocation
static final WidgetSprites
private final RecipeBookPage
private static final Component
private EditBox
private RecipeBookTabButton
private final StackedItemContents
private final List
<RecipeBookTabButton> private final List
<RecipeBookComponent.TabInfo> private static final int
private float
private int
private boolean
private int
private boolean
private int
Fields inherited from interface net.minecraft.client.gui.components.events.GuiEventListener
DOUBLE_CLICK_THRESHOLD_MS
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
charTyped
(char pCodePoint, int pModifiers) Called when a character is typed within the GUI element.private void
protected abstract void
fillGhostRecipe
(GhostSlots pGhostSlots, RecipeDisplay pRecipeDisplay, ContextMap pContextMap) void
fillGhostRecipe
(RecipeDisplay pRecipeDisplay) protected abstract Component
private int
private int
boolean
hasClickedOutside
(double pMouseX, double pMouseY, int pX, int pY, int pWidth, int pHeight, int pMouseButton) void
protected abstract void
private void
protected abstract boolean
isCraftingSlot
(Slot pSlot) private boolean
boolean
boolean
isMouseOver
(double pMouseX, double pMouseY) Checks if the given mouse coordinates are over the GUI element.private boolean
boolean
private boolean
boolean
keyPressed
(int pKeyCode, int pScanCode, int pModifiers) Called when a keyboard key is pressed within the GUI element.boolean
keyReleased
(int pKeyCode, int pScanCode, int pModifiers) Called when a keyboard key is released within the GUI element.boolean
mouseClicked
(double pMouseX, double pMouseY, int pButton) Called when a mouse button is clicked within the GUI element.private void
pirateSpeechForThePeople
(String pText) Check if we should activate the pirate speak easter egg.void
recipeShown
(RecipeDisplayId pRecipe) void
void
render
(GuiGraphics pGuiGraphics, int pMouseX, int pMouseY, float pPartialTick) Renders the graphical user interface (GUI) element.void
renderGhostRecipe
(GuiGraphics pGuiGraphics, boolean pIsBiggerResultSlot) void
renderTooltip
(GuiGraphics pGuiGraphics, int pMouseX, int pMouseY, Slot pSlot) private void
protected abstract void
selectMatchingRecipes
(RecipeCollection pPossibleRecipes, StackedItemContents pStackedItemContents) protected void
void
setFocused
(boolean pFocused) Sets the focus state of the GUI element.protected void
setVisible
(boolean pVisible) void
slotClicked
(Slot pSlot) void
tick()
private boolean
void
private boolean
tryPlaceRecipe
(RecipeCollection pRecipeCollection, RecipeDisplayId pRecipe) private void
updateCollections
(boolean pResetPageNumber, boolean pIsFiltering) private void
void
updateNarration
(NarrationElementOutput pNarrationElementOutput) Updates the narration output with the current narration information.int
updateScreenPosition
(int pWidth, int pImageWidth) private void
private void
updateTabs
(boolean pIsFiltering) 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.GuiEventListener
getBorderForArrowNavigation, getCurrentFocusPath, getRectangle, mouseDragged, mouseMoved, mouseReleased, mouseScrolled, nextFocusPath
Methods inherited from interface net.minecraft.client.gui.narration.NarratableEntry
getNarratables, isActive
Methods inherited from interface net.minecraft.client.gui.components.TabOrderedElement
getTabOrderGroup
-
Field Details
-
RECIPE_BUTTON_SPRITES
-
RECIPE_BOOK_LOCATION
-
BACKGROUND_TEXTURE_WIDTH
private static final int BACKGROUND_TEXTURE_WIDTH- See Also:
-
BACKGROUND_TEXTURE_HEIGHT
private static final int BACKGROUND_TEXTURE_HEIGHT- See Also:
-
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:
-
BORDER_WIDTH
private static final int BORDER_WIDTH- See Also:
-
ALL_RECIPES_TOOLTIP
-
TICKS_TO_SWAP_SLOT
private static final int TICKS_TO_SWAP_SLOT- See Also:
-
xOffset
private int xOffset -
width
private int width -
height
private int height -
time
private float time -
lastPlacedRecipe
-
ghostSlots
-
tabButtons
-
selectedTab
-
filterButton
-
minecraft
-
searchBox
-
lastSearch
-
tabInfos
-
book
-
recipeBookPage
-
lastRecipe
-
lastRecipeCollection
-
stackedContents
-
timesInventoryChanged
private int timesInventoryChanged -
ignoreTextInput
private boolean ignoreTextInput -
visible
private boolean visible -
widthTooNarrow
private boolean widthTooNarrow -
magnifierIconPlacement
-
-
Constructor Details
-
RecipeBookComponent
-
-
Method Details
-
init
-
initVisuals
private void initVisuals() -
getYOrigin
private int getYOrigin() -
getXOrigin
private int getXOrigin() -
updateFilterButtonTooltip
private void updateFilterButtonTooltip() -
initFilterButtonTextures
protected abstract 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) -
isCraftingSlot
-
slotClicked
-
selectMatchingRecipes
private void selectMatchingRecipes() -
selectMatchingRecipes
protected abstract void selectMatchingRecipes(RecipeCollection pPossibleRecipes, StackedItemContents pStackedItemContents) -
updateCollections
private void updateCollections(boolean pResetPageNumber, boolean pIsFiltering) -
updateTabs
private void updateTabs(boolean pIsFiltering) -
tick
public void tick() -
updateStackedContents
private void updateStackedContents() -
isFiltering
private boolean isFiltering() -
render
Renders the graphical user interface (GUI) element.- Specified by:
render
in interfaceRenderable
- 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
-
getRecipeFilterName
-
renderGhostRecipe
-
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 interfaceGuiEventListener
- 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.
-
tryPlaceRecipe
-
toggleFiltering
private boolean toggleFiltering() -
hasClickedOutside
public boolean hasClickedOutside(double pMouseX, double pMouseY, int pX, int pY, int pWidth, int pHeight, int pMouseButton) -
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 interfaceGuiEventListener
- 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 interfaceGuiEventListener
- 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 interfaceGuiEventListener
- 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 interfaceGuiEventListener
- 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 interfaceGuiEventListener
- Parameters:
pFocused
-true
to apply focus,false
to remove focus
-
isFocused
public boolean isFocused()- Specified by:
isFocused
in interfaceGuiEventListener
-
checkSearchStringUpdate
private void checkSearchStringUpdate() -
pirateSpeechForThePeople
Check if we should activate the pirate speak easter egg. -
isOffsetNextToMainGUI
private boolean isOffsetNextToMainGUI() -
recipesUpdated
public void recipesUpdated() -
recipeShown
-
fillGhostRecipe
-
fillGhostRecipe
protected abstract void fillGhostRecipe(GhostSlots pGhostSlots, RecipeDisplay pRecipeDisplay, ContextMap pContextMap) -
sendUpdateSettings
protected void sendUpdateSettings() -
narrationPriority
- Specified by:
narrationPriority
in interfaceNarratableEntry
-
updateNarration
Updates the narration output with the current narration information.- Specified by:
updateNarration
in interfaceNarrationSupplier
- Parameters:
pNarrationElementOutput
- the output to update with narration information.
-