Skip to content

Commit

Permalink
Apply Keystroke on BookEditScreenMixin.
Browse files Browse the repository at this point in the history
  • Loading branch information
boholder committed Aug 19, 2023
1 parent 7a3d68e commit c5ff569
Showing 1 changed file with 8 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import com.github.khanshoaib3.minecraft_access.MainClass;
import com.github.khanshoaib3.minecraft_access.utils.KeyUtils;
import com.github.khanshoaib3.minecraft_access.utils.MouseUtils;
import com.github.khanshoaib3.minecraft_access.utils.condition.Keystroke;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.Screen;
Expand Down Expand Up @@ -44,9 +45,9 @@ public abstract class BookEditScreenMixin {

@Unique boolean minecraft_access$firstTimeInSignMenu = true;
@Unique String minecraft_access$previousContent = "";
@Unique private static final Keystroke minecraft_access$tabKey = new Keystroke(() -> KeyUtils.isAnyPressed(GLFW.GLFW_KEY_TAB));
@Unique private static final Keystroke minecraft_access$spaceKey = new Keystroke(KeyUtils::isSpacePressed);

@Unique private boolean minecraft_access$isTabPressedPreviousTick = false;
@Unique private boolean minecraft_access$isSpacePressedPreviousTick = false;
@Unique private int minecraft_access$currentFocusedButtonStateCode = 0;
@Unique private static final int BUTTON_OFFSET = 3;

Expand All @@ -56,19 +57,16 @@ public void render(DrawContext context, int mouseX, int mouseY, float delta, Cal
if (minecraftClient == null) return;
if (minecraftClient.currentScreen == null) return;

boolean isSpacePressed = KeyUtils.isSpacePressed();
boolean isTabPressed = KeyUtils.isAnyPressed(GLFW.GLFW_KEY_TAB);

// Switch between buttons with Tab key
// Only switch once until release and press Tab again
if (isTabPressed && !minecraft_access$isTabPressedPreviousTick) {
if (minecraft_access$tabKey.isPressed()) {
minecraft_access$switchMouseHoveredButton();
}
// update the state
minecraft_access$isTabPressedPreviousTick = isTabPressed;
minecraft_access$tabKey.updateStateForNextTick();

if (isSpacePressed && !minecraft_access$isSpacePressedPreviousTick) {
minecraft_access$isSpacePressedPreviousTick = true;
if (minecraft_access$spaceKey.isPressed()) {
minecraft_access$spaceKey.updateStateForNextTick();
if (this.signing) {
if (this.cancelButton.isHovered()) {
this.cancelButton.onPress();
Expand All @@ -90,7 +88,7 @@ public void render(DrawContext context, int mouseX, int mouseY, float delta, Cal
}
}
// update the state
minecraft_access$isSpacePressedPreviousTick = isSpacePressed;
minecraft_access$spaceKey.updateStateForNextTick();

if (this.signing) {
String currentTitle = this.title.trim();
Expand Down

0 comments on commit c5ff569

Please sign in to comment.