Class BookEditScreen
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.BookEditScreen
- All Implemented Interfaces:
Drawable,Element,ParentElement,TickableElement
@Environment(CLIENT) public class BookEditScreen extends Screen
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classBookEditScreen.Line(package private) static classBookEditScreen.PageContent(package private) static classBookEditScreen.Position -
Field Summary
Fields Modifier and Type Field Description private static OrderedTextBLACK_CURSOR_TEXTprivate SelectionManagerbookTitleSelectionManagerprivate ButtonWidgetcancelButtonprivate intcurrentPageprivate SelectionManagercurrentPageSelectionManagerprivate booleandirtyprivate ButtonWidgetdoneButtonprivate static TextEDIT_TITLE_TEXTprivate static TextFINALIZE_WARNING_TEXTprivate ButtonWidgetfinalizeButtonprivate static OrderedTextGRAY_CURSOR_TEXTprivate Handhandprivate ItemStackitemStackprivate intlastClickIndexprivate longlastClickTimeprivate PageTurnWidgetnextPageButtonprivate BookEditScreen.PageContentpageContentprivate TextpageIndicatorTextprivate List<String>pagesprivate PlayerEntityplayerprivate PageTurnWidgetpreviousPageButtonprivate ButtonWidgetsignButtonprivate TextsignedByTextprivate booleansigningprivate inttickCounterprivate StringtitleFields inherited from class net.minecraft.client.gui.screen.Screen
buttons, children, client, height, itemRenderer, passEvents, textRenderer, widthFields inherited from class net.minecraft.client.gui.DrawableHelper
GUI_ICONS_TEXTURE, OPTIONS_BACKGROUND_TEXTURE, STATS_ICON_TEXTURE -
Constructor Summary
Constructors Constructor Description BookEditScreen(PlayerEntity player, ItemStack itemStack, Hand hand) -
Method Summary
Modifier and Type Method Description private BookEditScreen.PositionabsolutePositionToScreenPosition(BookEditScreen.Position position)private voidappendNewPage()private voidchangePage()booleancharTyped(char chr, int modifiers)Callback for when a character input has been captured.private intcountPages()private BookEditScreen.PageContentcreatePageContent()private voiddrawCursor(MatrixStack matrices, BookEditScreen.Position position, boolean atEnd)private voiddrawSelection(Rect2i[] selectionRectangles)private voidfinalizeBook(boolean signBook)private StringgetClipboard()private StringgetCurrentPageContent()private static intgetLineFromOffset(int[] lineStarts, int position)private Rect2igetLineSelectionRectangle(String string, TextHandler handler, int selectionStart, int selectionEnd, int lineY, int lineStart)private BookEditScreen.PageContentgetPageContent()private Rect2igetRectFromCorners(BookEditScreen.Position start, BookEditScreen.Position end)protected voidinit()Called when a screen should be initialized.private voidinvalidatePageContent()booleankeyPressed(int keyCode, int scanCode, int modifiers)Callback for when a key down event has been captured.private booleankeyPressedEditMode(int keyCode, int scanCode, int modifiers)private booleankeyPressedSignMode(int keyCode, int scanCode, int modifiers)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.private voidmoveDownLine()private voidmoveToLineEnd()private voidmoveToLineStart()private voidmoveUpLine()private voidmoveVertically(int lines)private voidopenNextPage()private voidopenPreviousPage()voidremoved()private voidremoveEmptyPages()voidrender(MatrixStack matrices, int mouseX, int mouseY, float delta)private BookEditScreen.PositionscreenPositionToAbsolutePosition(BookEditScreen.Position position)private voidselectCurrentWord(int cursor)private voidsetClipboard(String clipboard)private voidsetPageContent(String newContent)voidtick()private voidupdateButtons()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, isPauseScreen, isSelectAll, isValidCharacterForName, onClose, 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, focusOn, hoveredElement, keyReleased, mouseReleased, mouseScrolled, setInitialFocus
-
Field Details
-
EDIT_TITLE_TEXT
-
FINALIZE_WARNING_TEXT
-
BLACK_CURSOR_TEXT
-
GRAY_CURSOR_TEXT
-
player
-
itemStack
-
dirty
private boolean dirty -
signing
private boolean signing -
tickCounter
private int tickCounter -
currentPage
private int currentPage -
pages
-
title
-
currentPageSelectionManager
-
bookTitleSelectionManager
-
lastClickTime
private long lastClickTime -
lastClickIndex
private int lastClickIndex -
nextPageButton
-
previousPageButton
-
doneButton
-
signButton
-
finalizeButton
-
cancelButton
-
hand
-
pageContent
-
pageIndicatorText
-
signedByText
-
-
Constructor Details
-
BookEditScreen
-
-
Method Details
-
setClipboard
-
getClipboard
-
countPages
private int countPages() -
tick
public void tick()- Specified by:
tickin interfaceTickableElement- Overrides:
tickin classScreen
-
init
protected void init()Called when a screen should be initialized.This method is called when this screen is
openedor resized. -
openPreviousPage
private void openPreviousPage() -
openNextPage
private void openNextPage() -
removed
public void removed() -
updateButtons
private void updateButtons() -
removeEmptyPages
private void removeEmptyPages() -
finalizeBook
private void finalizeBook(boolean signBook) -
appendNewPage
private void appendNewPage() -
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)
-
charTyped
public boolean charTyped(char chr, int modifiers)Callback for when a character input has been captured. The key code is identified by the constants inGLFWclass.- Parameters:
chr- the captured charactermodifiers- a GLFW bitfield describing the modifier keys that are held down (see GLFW Modifier key flags)- Returns:
trueto indicate that the event handling is successful/valid- See Also:
Keyboard.onChar(long, int, int),GLFW.GLFW_KEY_Q,GLFWKeyCallbackI.invoke(long, int, int, int, int)
-
keyPressedEditMode
private boolean keyPressedEditMode(int keyCode, int scanCode, int modifiers) -
moveUpLine
private void moveUpLine() -
moveDownLine
private void moveDownLine() -
moveVertically
private void moveVertically(int lines) -
moveToLineStart
private void moveToLineStart() -
moveToLineEnd
private void moveToLineEnd() -
keyPressedSignMode
private boolean keyPressedSignMode(int keyCode, int scanCode, int modifiers) -
getCurrentPageContent
-
setPageContent
-
render
-
drawCursor
-
drawSelection
-
screenPositionToAbsolutePosition
-
absolutePositionToScreenPosition
-
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.- 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
-
selectCurrentWord
private void selectCurrentWord(int cursor) -
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.- 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
-
getPageContent
-
invalidatePageContent
private void invalidatePageContent() -
changePage
private void changePage() -
createPageContent
-
getLineFromOffset
private static int getLineFromOffset(int[] lineStarts, int position) -
getLineSelectionRectangle
private Rect2i getLineSelectionRectangle(String string, TextHandler handler, int selectionStart, int selectionEnd, int lineY, int lineStart) -
getRectFromCorners
-