diff options
| author | shedaniel <daniel@shedaniel.me> | 2022-11-07 21:21:49 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2022-11-07 21:42:03 +0800 |
| commit | 0be6613cad5eb71d4828118329f0d8f462c5a498 (patch) | |
| tree | 053bf10968f2de936a8d89dd362bdf3d13596a50 /runtime/src/main/java/me | |
| parent | 0ef0f8b21df4b9a603aaa2ab4a35d395ef6437c1 (diff) | |
| parent | 46d2c64c4303bc007055268075ea9be4e9852e5e (diff) | |
| download | RoughlyEnoughItems-0be6613cad5eb71d4828118329f0d8f462c5a498.tar.gz RoughlyEnoughItems-0be6613cad5eb71d4828118329f0d8f462c5a498.tar.bz2 RoughlyEnoughItems-0be6613cad5eb71d4828118329f0d8f462c5a498.zip | |
Merge commit '46d2c64c4303bc007055268075ea9be4e9852e5e' into modularity
Diffstat (limited to 'runtime/src/main/java/me')
3 files changed, 24 insertions, 13 deletions
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/AbstractDisplayViewingScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/AbstractDisplayViewingScreen.java index 36b450751..e01b50d8c 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/AbstractDisplayViewingScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/AbstractDisplayViewingScreen.java @@ -48,7 +48,6 @@ import me.shedaniel.rei.api.common.entry.EntryStack; import me.shedaniel.rei.api.common.entry.type.EntryType; import me.shedaniel.rei.api.common.entry.type.VanillaEntryTypes; import me.shedaniel.rei.api.common.util.CollectionUtils; -import me.shedaniel.rei.impl.client.ClientHelperImpl; import me.shedaniel.rei.impl.client.gui.DisplayScreenStack; import me.shedaniel.rei.impl.display.DisplaySpec; import net.minecraft.ChatFormatting; @@ -93,13 +92,27 @@ public abstract class AbstractDisplayViewingScreen extends Screen implements Dis this.categories = Lists.newArrayList(categoryMap.keySet()); this.tabsPerPage = tabsPerPage; if (category != null) { - for (int i = 0; i < categories.size(); i++) { - if (categories.get(i).getCategoryIdentifier().equals(category)) { - this.selectedCategoryIndex = i; - break; - } + selectCategory(category, false); + } + } + + protected void selectCategory(CategoryIdentifier<?> category) { + selectCategory(category, true); + } + + protected void selectCategory(CategoryIdentifier<?> category, boolean init) { + for (int i = 0; i < categories.size(); i++) { + if (categories.get(i).getCategoryIdentifier().equals(category)) { + this.selectedCategoryIndex = i; + break; } } + + recalculateCategoryPage(); + + if (init) { + init(); + } } @Override @@ -157,7 +170,7 @@ public abstract class AbstractDisplayViewingScreen extends Screen implements Dis currentCategoryIndex--; if (currentCategoryIndex < 0) currentCategoryIndex = categories.size() - 1; - ClientHelperImpl.getInstance().openView(categoryMap, categories.get(currentCategoryIndex).getCategoryIdentifier(), ingredientStackToNotice, resultStackToNotice); + selectCategory(categories.get(currentCategoryIndex).getCategoryIdentifier()); } @Override @@ -166,7 +179,7 @@ public abstract class AbstractDisplayViewingScreen extends Screen implements Dis currentCategoryIndex++; if (currentCategoryIndex >= categories.size()) currentCategoryIndex = 0; - ClientHelperImpl.getInstance().openView(categoryMap, categories.get(currentCategoryIndex).getCategoryIdentifier(), ingredientStackToNotice, resultStackToNotice); + selectCategory(categories.get(currentCategoryIndex).getCategoryIdentifier()); } protected void transformIngredientNotice(List<Widget> setupDisplay, List<EntryStack<?>> noticeStacks) { diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/CompositeDisplayViewingScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/CompositeDisplayViewingScreen.java index 5e2da119e..33565f1e5 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/CompositeDisplayViewingScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/CompositeDisplayViewingScreen.java @@ -44,7 +44,6 @@ import me.shedaniel.rei.api.common.category.CategoryIdentifier; import me.shedaniel.rei.api.common.display.Display; import me.shedaniel.rei.api.common.entry.EntryIngredient; import me.shedaniel.rei.api.common.util.ImmutableTextComponent; -import me.shedaniel.rei.impl.client.ClientHelperImpl; import me.shedaniel.rei.impl.client.gui.DisplayScreenStack; import me.shedaniel.rei.impl.client.gui.InternalTextures; import me.shedaniel.rei.impl.client.gui.widget.AutoCraftingButtonWidget; @@ -201,7 +200,7 @@ public class CompositeDisplayViewingScreen extends AbstractDisplayViewingScreen Minecraft.getInstance().getSoundManager().play(SimpleSoundInstance.forUI(SoundEvents.UI_BUTTON_CLICK, 1.0F)); if (widget.selected) return false; - ClientHelperImpl.getInstance().openView(categoryMap, tabCategory.getCategoryIdentifier(), ingredientStackToNotice, resultStackToNotice); + selectCategory(tabCategory.getCategoryIdentifier()); return true; })); tab.setRenderer(tabCategory, tabCategory.getIcon(), tabCategory.getTitle(), j == selectedCategoryIndex); @@ -320,7 +319,7 @@ public class CompositeDisplayViewingScreen extends AbstractDisplayViewingScreen else if (amount > 0) selectedCategoryIndex--; if (selectedCategoryIndex < 0) selectedCategoryIndex = categories.size() - 1; else if (selectedCategoryIndex >= categories.size()) selectedCategoryIndex = 0; - ClientHelperImpl.getInstance().openView(categoryMap, categories.get(selectedCategoryIndex).getCategoryIdentifier(), ingredientStackToNotice, resultStackToNotice); + selectCategory(categories.get(selectedCategoryIndex).getCategoryIdentifier()); return true; } if (bounds.contains(PointHelper.ofMouse())) { diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/DefaultDisplayViewingScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/DefaultDisplayViewingScreen.java index 85504c2e1..f151f6e3f 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/DefaultDisplayViewingScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/DefaultDisplayViewingScreen.java @@ -52,7 +52,6 @@ import me.shedaniel.rei.api.common.display.Display; import me.shedaniel.rei.api.common.entry.EntryIngredient; import me.shedaniel.rei.api.common.util.CollectionUtils; import me.shedaniel.rei.api.common.util.ImmutableTextComponent; -import me.shedaniel.rei.impl.client.ClientHelperImpl; import me.shedaniel.rei.impl.client.gui.DisplayScreenStack; import me.shedaniel.rei.impl.client.gui.InternalTextures; import me.shedaniel.rei.impl.client.gui.RecipeDisplayExporter; @@ -246,7 +245,7 @@ public class DefaultDisplayViewingScreen extends AbstractDisplayViewingScreen { Minecraft.getInstance().getSoundManager().play(SimpleSoundInstance.forUI(SoundEvents.UI_BUTTON_CLICK, 1.0F)); if (widget.getId() + categoryPages * tabsPerPage == selectedCategoryIndex) return false; - ClientHelperImpl.getInstance().openView(categoryMap, categories.get(widget.getId() + categoryPages * tabsPerPage).getCategoryIdentifier(), ingredientStackToNotice, resultStackToNotice); + selectCategory(categories.get(widget.getId() + categoryPages * tabsPerPage).getCategoryIdentifier()); return true; })); tab.setRenderer(categories.get(tabIndex), categories.get(tabIndex).getIcon(), categories.get(tabIndex).getTitle(), tab.getId() + categoryPages * tabsPerPage == selectedCategoryIndex); |
