Class BookScreen
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.BookScreen
- All Implemented Interfaces:
Drawable
,Element
,ParentElement
,TickableElement
- Direct Known Subclasses:
LecternScreen
@Environment(CLIENT) public class BookScreen extends Screen
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
BookScreen.Contents
static class
BookScreen.WritableBookContents
static class
BookScreen.WrittenBookContents
-
Field Summary
Fields Modifier and Type Field Description static Identifier
BOOK_TEXTURE
private List<OrderedText>
cachedPage
private int
cachedPageIndex
private BookScreen.Contents
contents
static BookScreen.Contents
EMPTY_PROVIDER
private PageTurnWidget
nextPageButton
private int
pageIndex
private Text
pageIndexText
private boolean
pageTurnSound
private PageTurnWidget
previousPageButton
Fields inherited from class net.minecraft.client.gui.screen.Screen
buttons, children, client, height, itemRenderer, passEvents, textRenderer, title, width
Fields inherited from class net.minecraft.client.gui.DrawableHelper
GUI_ICONS_TEXTURE, OPTIONS_BACKGROUND_TEXTURE, STATS_ICON_TEXTURE
-
Constructor Summary
Constructors Modifier Constructor Description BookScreen()
BookScreen(BookScreen.Contents pageProvider)
private
BookScreen(BookScreen.Contents contents, boolean playPageTurnSound)
-
Method Summary
Modifier and Type Method Description protected void
addCloseButton()
protected void
addPageButtons()
private int
getPageCount()
Style
getTextAt(double x, double y)
protected void
goToNextPage()
protected void
goToPreviousPage()
boolean
handleTextClick(Style style)
protected void
init()
Called when a screen should be initialized.protected boolean
jumpToPage(int page)
boolean
keyPressed(int keyCode, int scanCode, int modifiers)
Callback for when a key down event has been captured.boolean
mouseClicked(double mouseX, double mouseY, int button)
Callback for when a mouse button down event has been captured.static List<String>
readPages(CompoundTag tag)
void
render(MatrixStack matrices, int mouseX, int mouseY, float delta)
boolean
setPage(int index)
void
setPageProvider(BookScreen.Contents pageProvider)
private void
updatePageButtons()
Methods inherited from class net.minecraft.client.gui.screen.Screen
addButton, addChild, children, filesDragged, getNarrationMessage, getTitle, getTooltipFromItem, hasAltDown, hasControlDown, hasShiftDown, init, insertText, isCopy, isCut, isMouseOver, isPaste, isPauseScreen, isSelectAll, isValidCharacterForName, onClose, removed, renderBackground, renderBackground, renderBackgroundTexture, renderOrderedTooltip, renderTextHoverEffect, renderTooltip, renderTooltip, renderTooltip, resize, sendMessage, sendMessage, shouldCloseOnEsc, tick, wrapScreenError
Methods inherited from class net.minecraft.client.gui.AbstractParentElement
getFocused, isDragging, setDragging, setFocused
Methods 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, setZOffset
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.Element
mouseMoved
Methods inherited from interface net.minecraft.client.gui.ParentElement
changeFocus, charTyped, focusOn, hoveredElement, keyReleased, mouseDragged, mouseReleased, mouseScrolled, setInitialFocus
-
Field Details
-
EMPTY_PROVIDER
-
BOOK_TEXTURE
-
contents
-
pageIndex
private int pageIndex -
cachedPage
-
cachedPageIndex
private int cachedPageIndex -
pageIndexText
-
nextPageButton
-
previousPageButton
-
pageTurnSound
private final boolean pageTurnSound
-
-
Constructor Details
-
BookScreen
-
BookScreen
public BookScreen() -
BookScreen
-
-
Method Details
-
setPageProvider
-
setPage
public boolean setPage(int index) -
jumpToPage
protected boolean jumpToPage(int page) -
init
protected void init()Called when a screen should be initialized.This method is called when this screen is
opened
or resized. -
addCloseButton
protected void addCloseButton() -
addPageButtons
protected void addPageButtons() -
getPageCount
private int getPageCount() -
goToPreviousPage
protected void goToPreviousPage() -
goToNextPage
protected void goToNextPage() -
updatePageButtons
private void updatePageButtons() -
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 inGLFW
class.- Specified by:
keyPressed
in interfaceElement
- Specified by:
keyPressed
in interfaceParentElement
- Overrides:
keyPressed
in classScreen
- Parameters:
keyCode
- the named key code of the event as described in theGLFW
classscanCode
- 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:
true
to 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)
-
render
-
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 inGLFW
class.- Parameters:
mouseX
- the X coordinate of the mousemouseY
- the Y coordinate of the mousebutton
- the mouse button number- Returns:
true
to indicate that the event handling is successful/valid- See Also:
Mouse.onMouseButton(long, int, int, int)
,GLFW.GLFW_MOUSE_BUTTON_1
-
handleTextClick
- Overrides:
handleTextClick
in classScreen
-
getTextAt
-
readPages
-