diff options
Diffstat (limited to 'src/main/java/me/shedaniel')
8 files changed, 52 insertions, 74 deletions
diff --git a/src/main/java/me/shedaniel/rei/client/RecipeHelperImpl.java b/src/main/java/me/shedaniel/rei/client/RecipeHelperImpl.java index 8e156d85a..161bdd5ae 100644 --- a/src/main/java/me/shedaniel/rei/client/RecipeHelperImpl.java +++ b/src/main/java/me/shedaniel/rei/client/RecipeHelperImpl.java @@ -181,7 +181,7 @@ public class RecipeHelperImpl implements RecipeHelper { this.speedCraftAreaSupplierMap.clear(); this.speedCraftFunctionalMap.clear(); this.displayVisibilityHandlers.clear(); - + long startTime = System.currentTimeMillis(); List<REIPlugin> plugins = new LinkedList<>(RoughlyEnoughItemsCore.getPlugins()); plugins.sort((first, second) -> { return second.getPriority() - first.getPriority(); @@ -217,8 +217,8 @@ public class RecipeHelperImpl implements RecipeHelper { return -1f; } }); - RoughlyEnoughItemsCore.LOGGER.info("[REI] Registered Categories: " + String.join(", ", categories.stream().map(RecipeCategory::getCategoryName).collect(Collectors.toList()))); - RoughlyEnoughItemsCore.LOGGER.info("[REI] Registered %d recipes.", recipeCount.get()); + long usedTime = System.currentTimeMillis() - startTime; + RoughlyEnoughItemsCore.LOGGER.info("[REI] Registered %d recipes, %d categories (%s) in %d ms.", recipeCount.get(), categories.size(), String.join(", ", categories.stream().map(RecipeCategory::getCategoryName).collect(Collectors.toList())), usedTime); } @Override diff --git a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java index b9336464a..69ea67a1d 100644 --- a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java +++ b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java @@ -73,7 +73,8 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra } @Override - public void onFocusChanged(boolean boolean_1, boolean boolean_2) { + public boolean changeFocus(boolean boolean_1) { + return false; } }); widgets.add(buttonRight = new ButtonWidget(rectangle.x + rectangle.width - 18, rectangle.y + 5, 16, 16, new TranslatableTextComponent("text.rei.right_arrow")) { @@ -91,7 +92,8 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra } @Override - public void onFocusChanged(boolean boolean_1, boolean boolean_2) { + public boolean changeFocus(boolean boolean_1) { + return false; } }); if (setPage) @@ -129,7 +131,8 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra } @Override - public void onFocusChanged(boolean boolean_1, boolean boolean_2) { + public boolean changeFocus(boolean boolean_1) { + return false; } }); if (RoughlyEnoughItemsCore.getConfigManager().getConfig().showUtilsButtons) { @@ -151,7 +154,8 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra } @Override - public void onFocusChanged(boolean boolean_1, boolean boolean_2) { + public boolean changeFocus(boolean boolean_1) { + return false; } }); widgets.add(new ButtonWidget(RoughlyEnoughItemsCore.getConfigManager().getConfig().mirrorItemPanel ? window.getScaledWidth() - 80 : 60, 10, 20, 20, "") { @@ -175,7 +179,8 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra } @Override - public void onFocusChanged(boolean boolean_1, boolean boolean_2) { + public boolean changeFocus(boolean boolean_1) { + return false; } }); } @@ -200,7 +205,8 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra } @Override - public void onFocusChanged(boolean boolean_1, boolean boolean_2) { + public boolean changeFocus(boolean boolean_1) { + return false; } }); if (ScreenHelper.searchField == null) @@ -410,17 +416,22 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra } private Rectangle calculateBoundary() { - if (!RoughlyEnoughItemsCore.getConfigManager().getConfig().mirrorItemPanel) { - int startX = ScreenHelper.getLastContainerScreenHooks().rei_getContainerLeft() + ScreenHelper.getLastContainerScreenHooks().rei_getContainerWidth() + 10; - int width = window.getScaledWidth() - startX; - if (MinecraftClient.getInstance().currentScreen instanceof RecipeViewingScreen) { - RecipeViewingScreen widget = (RecipeViewingScreen) MinecraftClient.getInstance().currentScreen; - startX = widget.getBounds().x + widget.getBounds().width + 10; - width = window.getScaledWidth() - startX; + try { + if (!RoughlyEnoughItemsCore.getConfigManager().getConfig().mirrorItemPanel) { + int startX = ScreenHelper.getLastContainerScreenHooks().rei_getContainerLeft() + ScreenHelper.getLastContainerScreenHooks().rei_getContainerWidth() + 10; + int width = window.getScaledWidth() - startX; + if (MinecraftClient.getInstance().currentScreen instanceof RecipeViewingScreen) { + RecipeViewingScreen widget = (RecipeViewingScreen) MinecraftClient.getInstance().currentScreen; + startX = widget.getBounds().x + widget.getBounds().width + 10; + width = window.getScaledWidth() - startX; + } + return new Rectangle(startX, 0, width, window.getScaledHeight()); } - return new Rectangle(startX, 0, width, window.getScaledHeight()); + return new Rectangle(4, 0, getLeft() - 6, window.getScaledHeight()); + } catch (Exception e) { + RoughlyEnoughItemsCore.LOGGER.error("[REI] Error calculating boundary, report the issue!", e); + return new Rectangle(); } - return new Rectangle(4, 0, getLeft() - 6, window.getScaledHeight()); } private int getLeft() { @@ -505,7 +516,7 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra return false; for(Element element : widgets) { if (element.mouseClicked(double_1, double_2, int_1)) { - this.method_20084(element); + this.setFocused(element); if (int_1 == 0) this.setDragging(true); return true; diff --git a/src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java b/src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java index 012c55cae..4555d5bff 100644 --- a/src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java +++ b/src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java @@ -88,15 +88,12 @@ public class RecipeViewingScreen extends Screen { } if (int_1 == 258) { boolean boolean_1 = !hasShiftDown(); - if (!this.method_20087(boolean_1)) - this.method_20087(boolean_1); + if (!this.changeFocus(boolean_1)) + this.changeFocus(boolean_1); return true; } - if (choosePageActivated) { - if (recipeChoosePageWidget.keyPressed(int_1, int_2, int_3)) - return true; - return false; - } + if (choosePageActivated) + return recipeChoosePageWidget.keyPressed(int_1, int_2, int_3); for(Widget widget : widgets) if (widget.keyPressed(int_1, int_2, int_3)) return true; @@ -418,7 +415,7 @@ public class RecipeViewingScreen extends Screen { } for(Element entry : children()) if (entry.mouseClicked(double_1, double_2, int_1)) { - method_20084(entry); + setFocused(entry); if (int_1 == 0) setDragging(true); return true; diff --git a/src/main/java/me/shedaniel/rei/gui/config/ItemListOrderingEntry.java b/src/main/java/me/shedaniel/rei/gui/config/ItemListOrderingEntry.java index 118668bb7..e543e8b64 100644 --- a/src/main/java/me/shedaniel/rei/gui/config/ItemListOrderingEntry.java +++ b/src/main/java/me/shedaniel/rei/gui/config/ItemListOrderingEntry.java @@ -3,7 +3,6 @@ package me.shedaniel.rei.gui.config; import com.google.common.collect.Lists; import javafx.util.Pair; import me.shedaniel.cloth.gui.ClothConfigScreen.ListEntry; -import me.shedaniel.cloth.gui.ClothConfigScreen.ListWidget; import me.shedaniel.rei.RoughlyEnoughItemsCore; import me.shedaniel.rei.client.ItemListOrdering; import net.minecraft.client.MinecraftClient; @@ -34,11 +33,11 @@ public class ItemListOrderingEntry extends ListEntry { currentAscending = !currentAscending; } ItemListOrderingEntry.this.value.set(new Pair<>(ItemListOrdering.values()[index], currentAscending)); - ((ListWidget) ItemListOrderingEntry.this.parent).getScreen().setEdited(true); + getScreen().setEdited(true); }); this.resetButton = new ButtonWidget(0, 0, MinecraftClient.getInstance().textRenderer.getStringWidth(I18n.translate("text.cloth.reset_value")) + 6, 20, I18n.translate("text.cloth.reset_value"), (widget) -> { this.value.set((Pair) getDefaultValue().get()); - ((ListWidget) this.parent).getScreen().setEdited(true); + getScreen().setEdited(true); }); this.widgets = Lists.newArrayList(this.buttonWidget, this.resetButton); } @@ -83,26 +82,6 @@ public class ItemListOrderingEntry extends ListEntry { return widgets; } - public boolean isDragging() { - return this.buttonWidget.isHovered() || this.resetButton.isHovered(); - } - - public void setDragging(boolean b) { - } - - public Element getFocused() { - return null; - } - - public void setFocused(Element inputListener) { - } - - public boolean mouseClicked(double double_1, double double_2, int int_1) { - if (this.buttonWidget.mouseClicked(double_1, double_2, int_1)) - return true; - return this.resetButton.mouseClicked(double_1, double_2, int_1); - } - @Override public void save() { RoughlyEnoughItemsCore.getConfigManager().getConfig().itemListOrdering = value.get().getKey(); diff --git a/src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java index 7b944f1f9..f1a3d41b1 100644 --- a/src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java +++ b/src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java @@ -101,13 +101,11 @@ public abstract class ButtonWidget extends HighlightableWidget { } @Override - public boolean isPartOfFocusCycle() { - return enabled; - } - - @Override - public void onFocusChanged(boolean boolean_1, boolean boolean_2) { - focused = boolean_2; + public boolean changeFocus(boolean boolean_1) { + if (!enabled) + return false; + this.focused = !this.focused; + return true; } @Override diff --git a/src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java index 9a95d94e3..db43fbafc 100644 --- a/src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java +++ b/src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java @@ -51,7 +51,8 @@ public abstract class ClickableLabelWidget extends LabelWidget { } @Override - public boolean isPartOfFocusCycle() { + public boolean changeFocus(boolean boolean_1) { + this.focused = !this.focused; return true; } @@ -59,11 +60,6 @@ public abstract class ClickableLabelWidget extends LabelWidget { return isHighlighted(mouseX, mouseY) || focused; } - @Override - public void onFocusChanged(boolean boolean_1, boolean boolean_2) { - focused = boolean_2; - } - public abstract void onLabelClicked(); } diff --git a/src/main/java/me/shedaniel/rei/gui/widget/CraftableToggleButtonWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/CraftableToggleButtonWidget.java index 7aee00bf2..a49ea8dd1 100644 --- a/src/main/java/me/shedaniel/rei/gui/widget/CraftableToggleButtonWidget.java +++ b/src/main/java/me/shedaniel/rei/gui/widget/CraftableToggleButtonWidget.java @@ -45,7 +45,7 @@ public abstract class CraftableToggleButtonWidget extends ButtonWidget { } @Override - public boolean isPartOfFocusCycle() { + public boolean changeFocus(boolean boolean_1) { return false; } diff --git a/src/main/java/me/shedaniel/rei/gui/widget/TextFieldWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/TextFieldWidget.java index 39a401f27..b33c58943 100644 --- a/src/main/java/me/shedaniel/rei/gui/widget/TextFieldWidget.java +++ b/src/main/java/me/shedaniel/rei/gui/widget/TextFieldWidget.java @@ -520,13 +520,12 @@ public class TextFieldWidget extends HighlightableWidget { this.notEditableColor = int_1; } - public void onFocusChanged(boolean boolean_1) { - this.setFocused(boolean_1); - } - - @Override - public boolean isPartOfFocusCycle() { - return true; + public boolean changeFocus(boolean boolean_1) { + if (this.visible && this.editable) { + this.setFocused(!this.focused); + return this.focused; + } + return false; } public boolean isFocused() { @@ -534,10 +533,8 @@ public class TextFieldWidget extends HighlightableWidget { } public void setFocused(boolean boolean_1) { - if (boolean_1 && !this.focused) { + if (boolean_1 && !this.focused) this.focusedTicks = 0; - } - this.focused = boolean_1; } |
