diff options
| author | shedaniel <daniel@shedaniel.me> | 2022-10-22 01:11:04 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2022-10-22 01:12:32 +0800 |
| commit | 0ef0f8b21df4b9a603aaa2ab4a35d395ef6437c1 (patch) | |
| tree | f6f38140f94fa98adcad5b880fdc2aa3bd4df844 /runtime-frontend/overlay-entries/src/main/java | |
| parent | bb7920e447d599d23abfac3b67d8823cf24f8150 (diff) | |
| download | RoughlyEnoughItems-0ef0f8b21df4b9a603aaa2ab4a35d395ef6437c1.tar.gz RoughlyEnoughItems-0ef0f8b21df4b9a603aaa2ab4a35d395ef6437c1.tar.bz2 RoughlyEnoughItems-0ef0f8b21df4b9a603aaa2ab4a35d395ef6437c1.zip | |
Make it not crash
Diffstat (limited to 'runtime-frontend/overlay-entries/src/main/java')
5 files changed, 17 insertions, 24 deletions
diff --git a/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/entries/EntryListWidgetImpl.java b/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/entries/EntryListWidgetImpl.java index c9c4b3d85..66b47ffdb 100644 --- a/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/entries/EntryListWidgetImpl.java +++ b/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/entries/EntryListWidgetImpl.java @@ -44,6 +44,7 @@ import me.shedaniel.rei.api.client.registry.screen.ScreenRegistry; import me.shedaniel.rei.api.client.search.SearchFilter; import me.shedaniel.rei.api.common.entry.EntryStack; import me.shedaniel.rei.api.common.entry.type.VanillaEntryTypes; +import me.shedaniel.rei.api.common.networking.NetworkModule; import me.shedaniel.rei.api.common.networking.NetworkingHelper; import me.shedaniel.rei.api.common.util.EntryStacks; import me.shedaniel.rei.impl.client.config.ConfigManagerInternal; @@ -165,7 +166,7 @@ public abstract class EntryListWidgetImpl extends WidgetWithBounds implements En debugger.render(matrices, bounds.x, bounds.y, delta); - if (containsChecked(mouseX, mouseY, false) && ClientHelper.getInstance().isCheating() && !(Minecraft.getInstance().screen instanceof DisplayScreen) && !minecraft.player.containerMenu.getCarried().isEmpty() && NetworkingHelper.getInstance().client().canUseDeletePackets()) { + if (containsChecked(mouseX, mouseY, false) && ClientHelper.getInstance().isCheating() && !(Minecraft.getInstance().screen instanceof DisplayScreen) && !minecraft.player.containerMenu.getCarried().isEmpty() && (NetworkingHelper.getInstance().has(NetworkModule.DELETE_ITEM) || Minecraft.getInstance().gameMode.hasInfiniteItems())) { EntryStack<?> stack = EntryStacks.of(minecraft.player.containerMenu.getCarried().copy()); if (stack.getType() != VanillaEntryTypes.ITEM) { EntryStack<ItemStack> cheatsAs = stack.cheatsAs(); @@ -245,7 +246,7 @@ public abstract class EntryListWidgetImpl extends WidgetWithBounds implements En public boolean mouseReleased(double mouseX, double mouseY, int button) { if (containsChecked(mouseX, mouseY, false)) { LocalPlayer player = minecraft.player; - if (ClientHelper.getInstance().isCheating() && !(Minecraft.getInstance().screen instanceof DisplayScreen) && player != null && player.containerMenu != null && !player.containerMenu.getCarried().isEmpty() && NetworkingHelper.getInstance().client().canUseDeletePackets()) { + if (ClientHelper.getInstance().isCheating() && !(Minecraft.getInstance().screen instanceof DisplayScreen) && player != null && player.containerMenu != null && !player.containerMenu.getCarried().isEmpty() && (NetworkingHelper.getInstance().has(NetworkModule.DELETE_ITEM) || Minecraft.getInstance().gameMode.hasInfiniteItems())) { EntryStack<?> stack = EntryStacks.of(minecraft.player.containerMenu.getCarried().copy()); if (stack.getType() != VanillaEntryTypes.ITEM) { EntryStack<ItemStack> cheatsAs = stack.cheatsAs(); diff --git a/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/entries/paginated/PaginatedEntryListWidget.java b/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/entries/paginated/PaginatedEntryListWidget.java index c00ed0d62..12516999d 100644 --- a/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/entries/paginated/PaginatedEntryListWidget.java +++ b/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/entries/paginated/PaginatedEntryListWidget.java @@ -240,7 +240,7 @@ public class PaginatedEntryListWidget extends CollapsingEntryListWidget { .containsMousePredicate((button, point) -> button.getBounds().contains(point) && overlay.isNotInExclusionZones(point.x, point.y)) .tooltipLine(new TranslatableComponent("text.rei.changelog.title")) .focusable(false);*/ - this.additionalWidgets.add(changelogButton); + // this.additionalWidgets.add(changelogButton); /*this.additionalWidgets.add(Widgets.createDrawableWidget((helper, matrices, mouseX, mouseY, delta) -> { helper.setBlitOffset(helper.getBlitOffset() + 1); RenderSystem.setShaderTexture(0, InternalTextures.CHEST_GUI_TEXTURE); diff --git a/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/widgets/ConfigButtonWidgetProvider.java b/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/widgets/ConfigButtonWidgetProvider.java index eef3e2686..032b76d46 100644 --- a/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/widgets/ConfigButtonWidgetProvider.java +++ b/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/widgets/ConfigButtonWidgetProvider.java @@ -39,6 +39,7 @@ import me.shedaniel.rei.api.client.gui.widgets.Button; import me.shedaniel.rei.api.client.gui.widgets.Widget; import me.shedaniel.rei.api.client.gui.widgets.Widgets; import me.shedaniel.rei.api.client.overlay.ScreenOverlay; +import me.shedaniel.rei.api.common.networking.NetworkModule; import me.shedaniel.rei.api.common.networking.NetworkingHelper; import me.shedaniel.rei.impl.client.config.ConfigManagerInternal; import me.shedaniel.rei.impl.client.gui.InternalTextures; @@ -52,17 +53,16 @@ import net.minecraft.network.chat.TranslatableComponent; import java.util.Collection; import java.util.List; import java.util.UUID; -import java.util.function.UnaryOperator; public class ConfigButtonWidgetProvider implements OverlayWidgetProvider { private static final UUID CONFIG_MENU_UUID = UUID.fromString("4357bc36-0a4e-47d2-8e07-ddc220df4a0f"); @Override - public List<Widget> provide(ScreenOverlay overlay, MenuAccess access, TextFieldSink textFieldSink, UnaryOperator<Widget> lateRenderable) { - return List.of(create(overlay, access, lateRenderable)); + public void provide(ScreenOverlay overlay, MenuAccess access, WidgetSink sink) { + sink.acceptLateRendered(create(overlay, access)); } - public static Widget create(ScreenOverlay overlay, MenuAccess access, UnaryOperator<Widget> lateRenderable) { + public static Widget create(ScreenOverlay overlay, MenuAccess access) { Rectangle bounds = getConfigButtonBounds(); Button configButton = Widgets.createButton(bounds, NarratorChatListener.NO_TITLE) .onClick(button -> { @@ -74,7 +74,7 @@ public class ConfigButtonWidgetProvider implements OverlayWidgetProvider { }) .onRender((matrices, button) -> { if (ClientHelper.getInstance().isCheating() && !(Minecraft.getInstance().screen instanceof DisplayScreen) && NetworkingHelper.getInstance().client().hasOperatorPermission()) { - button.setTint(NetworkingHelper.getInstance().client().hasPermissionToUsePackets() ? 721354752 : 1476440063); + button.setTint(NetworkingHelper.getInstance().canUse(NetworkModule.CHEAT_GIVE) ? 721354752 : 1476440063); } else { button.removeTint(); } @@ -89,7 +89,7 @@ public class ConfigButtonWidgetProvider implements OverlayWidgetProvider { helper.blit(matrices, bounds.x + 3, bounds.y + 3, 0, 0, 14, 14); helper.setBlitOffset(helper.getBlitOffset() - 1); }); - return lateRenderable.apply(Widgets.concat(configButton, overlayWidget)); + return Widgets.concat(configButton, overlayWidget); } private static Collection<FavoriteMenuEntry> menuEntries() { @@ -108,7 +108,7 @@ public class ConfigButtonWidgetProvider implements OverlayWidgetProvider { if (Minecraft.getInstance().gameMode.hasInfiniteItems()) return new TranslatableComponent("text.rei.cheating_limited_creative_enabled"); else return new TranslatableComponent("text.rei.cheating_enabled_no_perms"); - } else if (NetworkingHelper.getInstance().client().hasPermissionToUsePackets()) + } else if (NetworkingHelper.getInstance().canUse(NetworkModule.CHEAT_GIVE)) return new TranslatableComponent("text.rei.cheating_enabled"); else return new TranslatableComponent("text.rei.cheating_limited_enabled"); diff --git a/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/widgets/CraftableFilterButtonWidgetProvider.java b/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/widgets/CraftableFilterButtonWidgetProvider.java index b470678b0..121c0e964 100644 --- a/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/widgets/CraftableFilterButtonWidgetProvider.java +++ b/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/widgets/CraftableFilterButtonWidgetProvider.java @@ -51,21 +51,18 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.Blocks; import java.util.*; -import java.util.function.UnaryOperator; public class CraftableFilterButtonWidgetProvider implements OverlayWidgetProvider { public static final UUID FILTER_MENU_UUID = UUID.fromString("2839e998-1679-4f9e-a257-37411d16f1e6"); @Override - public List<Widget> provide(ScreenOverlay overlay, MenuAccess access, TextFieldSink textFieldSink, UnaryOperator<Widget> lateRenderable) { + public void provide(ScreenOverlay overlay, MenuAccess access, WidgetSink sink) { if (ConfigObject.getInstance().isCraftableFilterEnabled()) { - return List.of(create(overlay, access, lateRenderable)); - } else { - return List.of(); + sink.acceptLateRendered(create(overlay, access)); } } - private static Widget create(ScreenOverlay overlay, MenuAccess access, UnaryOperator<Widget> lateRenderable) { + private static Widget create(ScreenOverlay overlay, MenuAccess access) { Rectangle bounds = getCraftableFilterBounds(); ItemRenderer itemRenderer = Minecraft.getInstance().getItemRenderer(); ItemStack icon = new ItemStack(Blocks.CRAFTING_TABLE); @@ -89,7 +86,7 @@ public class CraftableFilterButtonWidgetProvider implements OverlayWidgetProvide itemRenderer.renderGuiItem(icon, (int) vector.x(), (int) vector.y()); itemRenderer.blitOffset = 0.0F; }); - return lateRenderable.apply(Widgets.concat(filterButton, overlayWidget)); + return Widgets.concat(filterButton, overlayWidget); } private static Collection<FavoriteMenuEntry> menuEntries() { diff --git a/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/widgets/SearchFieldWidgetProvider.java b/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/widgets/SearchFieldWidgetProvider.java index 2e0f1b848..c1197074e 100644 --- a/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/widgets/SearchFieldWidgetProvider.java +++ b/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/widgets/SearchFieldWidgetProvider.java @@ -27,28 +27,23 @@ import com.mojang.blaze3d.platform.Window; import me.shedaniel.math.Rectangle; import me.shedaniel.rei.api.client.REIRuntime; import me.shedaniel.rei.api.client.config.ConfigObject; -import me.shedaniel.rei.api.client.gui.widgets.Widget; import me.shedaniel.rei.api.client.overlay.ScreenOverlay; import me.shedaniel.rei.api.client.registry.screen.ScreenRegistry; import me.shedaniel.rei.impl.client.gui.menu.MenuAccess; import me.shedaniel.rei.impl.client.gui.overlay.widgets.search.OverlaySearchField; import net.minecraft.client.Minecraft; -import java.util.List; -import java.util.function.UnaryOperator; - public class SearchFieldWidgetProvider implements OverlayWidgetProvider { private OverlaySearchField searchField; @Override - public List<Widget> provide(ScreenOverlay overlay, MenuAccess access, TextFieldSink textFieldSink, UnaryOperator<Widget> lateRenderable) { + public void provide(ScreenOverlay overlay, MenuAccess access, WidgetSink sink) { if (searchField == null) { searchField = new OverlaySearchField(access); } searchField.getBounds().setBounds(getSearchFieldArea(overlay)); - textFieldSink.accept(searchField, searchField::isHighlighting); - return List.of(lateRenderable.apply(searchField)); + sink.acceptTextField(searchField, searchField::isHighlighting); } private Rectangle getSearchFieldArea(ScreenOverlay overlay) { |
