diff options
Diffstat (limited to 'runtime/src/main/java/me/shedaniel')
57 files changed, 228 insertions, 242 deletions
diff --git a/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java b/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java index 64a433dbe..1844edf1e 100644 --- a/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java +++ b/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java @@ -88,7 +88,7 @@ public class RoughlyEnoughItemsNetwork { AbstractContainerMenu menu = player.containerMenu; ItemStack itemStack = buf.readItem(); ItemStack stack = itemStack.copy(); - if (!menu.getCarried().isEmpty() && ItemStack.isSameIgnoreDurability(menu.getCarried(), stack) && ItemStack.tagMatches(menu.getCarried(), stack)) { + if (!menu.getCarried().isEmpty() && ItemStack.isSameItemSameTags(menu.getCarried(), stack)) { stack.setCount(Mth.clamp(stack.getCount() + menu.getCarried().getCount(), 1, stack.getMaxStackSize())); } else if (!menu.getCarried().isEmpty()) { return; diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/ClientHelperImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/ClientHelperImpl.java index c4a63617e..88496cef3 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/ClientHelperImpl.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/ClientHelperImpl.java @@ -70,7 +70,6 @@ import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.Nullable; -import java.lang.reflect.InvocationTargetException; import java.time.LocalDateTime; import java.util.*; import java.util.function.Supplier; @@ -227,13 +226,7 @@ public class ClientHelperImpl implements ClientHelper { madeUpCommand = og.replaceAll("\\{player_name}", Minecraft.getInstance().player.getScoreboardName()).replaceAll("\\{item_name}", identifier.getPath()).replaceAll("\\{item_identifier}", identifier.toString()).replaceAll("\\{nbt}", "").replaceAll("\\{count}", String.valueOf(cheatedStack.getCount())); Minecraft.getInstance().player.displayClientMessage(Component.translatable("text.rei.too_long_nbt"), false); } - try { - Class.forName("me.shedaniel.rei.impl.client.%s.CommandSenderImpl".formatted(Platform.isForge() ? "forge" : "fabric")) - .getDeclaredMethod("sendCommand", String.class) - .invoke(null, StringUtils.removeStart(madeUpCommand, "/")); - } catch (IllegalAccessException | ClassNotFoundException | NoSuchMethodException | InvocationTargetException e) { - throw new RuntimeException(e); - } + Minecraft.getInstance().player.connection.sendCommand(StringUtils.removeStart(madeUpCommand, "/")); return true; } } diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigManagerImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigManagerImpl.java index d9205e392..1786bbaee 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigManagerImpl.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigManagerImpl.java @@ -93,6 +93,7 @@ import org.jetbrains.annotations.ApiStatus; import java.util.*; import java.util.function.Consumer; +import java.util.function.Supplier; import static me.shedaniel.autoconfig.util.Utils.getUnsafely; import static me.shedaniel.autoconfig.util.Utils.setUnsafely; @@ -446,7 +447,7 @@ public class ConfigManagerImpl implements ConfigManager { ScreenHooks.addRenderableWidget(screen, new Button(screen.width - 104, 4, 100, 20, Component.translatable("text.rei.credits"), button -> { CreditsScreen creditsScreen = new CreditsScreen(screen); Minecraft.getInstance().setScreen(creditsScreen); - })); + }, Supplier::get) {}); }).setSavingRunnable(() -> { saveConfig(); EntryRegistry.getInstance().refilter(); diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/addon/ConfigAddonsScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/addon/ConfigAddonsScreen.java index 25342ee31..8acdc7937 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/addon/ConfigAddonsScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/addon/ConfigAddonsScreen.java @@ -41,6 +41,7 @@ import net.minecraft.resources.ResourceLocation; import java.util.Collections; import java.util.List; +import java.util.function.Supplier; public class ConfigAddonsScreen extends Screen { private AddonsList rulesList; @@ -56,9 +57,9 @@ public class ConfigAddonsScreen extends Screen { super.init(); { Component backText = Component.literal("↩ ").append(Component.translatable("gui.back")); - addRenderableWidget(new Button(4, 4, Minecraft.getInstance().font.width(backText) + 10, 20, backText, button -> { + addRenderableWidget(Button.builder(backText, button -> { minecraft.setScreen(parent); - })); + }).bounds(4, 4, Minecraft.getInstance().font.width(backText) + 10, 20).build()); } rulesList = addWidget(new AddonsList(minecraft, width, height, 30, height, BACKGROUND_LOCATION)); ConfigAddonRegistryImpl addonRegistry = (ConfigAddonRegistryImpl) ConfigAddonRegistry.getInstance(); @@ -138,12 +139,12 @@ public class ConfigAddonsScreen extends Screen { this.addon = addon; this.configureButton = new Button(0, 0, 20, 20, Component.nullToEmpty(null), button -> { Minecraft.getInstance().setScreen(this.addon.createScreen(Minecraft.getInstance().screen)); - }) { + }, Supplier::get) { @Override protected void renderBg(PoseStack matrices, Minecraft client, int mouseX, int mouseY) { super.renderBg(matrices, client, mouseX, mouseY); RenderSystem.setShaderTexture(0, InternalTextures.CHEST_GUI_TEXTURE); - blit(matrices, x + 3, y + 3, 0, 0, 14, 14); + blit(matrices, getX() + 3, getY() + 3, 0, 0, 14, 14); } }; } @@ -171,8 +172,8 @@ public class ConfigAddonsScreen extends Screen { client.font.drawShadow(matrices, subtitle.getVisualOrderText(), x + 2, y + 12, 8421504); } } - configureButton.x = x + entryWidth - 25; - configureButton.y = y + 1; + configureButton.setX(x + entryWidth - 25); + configureButton.setY(y + 1); configureButton.render(matrices, mouseX, mouseY, delta); } diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/ConfigAddonsEntry.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/ConfigAddonsEntry.java index 1ec6671e5..6513cd8c3 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/ConfigAddonsEntry.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/ConfigAddonsEntry.java @@ -40,13 +40,14 @@ import org.jetbrains.annotations.ApiStatus; import java.util.List; import java.util.Optional; +import java.util.function.Supplier; @ApiStatus.Internal public class ConfigAddonsEntry extends AbstractConfigListEntry<Unit> { private int width; private AbstractWidget buttonWidget = new Button(0, 0, 0, 20, Component.empty(), button -> { Minecraft.getInstance().setScreen(new ConfigAddonsScreen(Minecraft.getInstance().screen)); - }); + }, Supplier::get) {}; private List<AbstractWidget> children = ImmutableList.of(buttonWidget); public ConfigAddonsEntry(int width) { @@ -77,8 +78,8 @@ public class ConfigAddonsEntry extends AbstractConfigListEntry<Unit> { Window window = Minecraft.getInstance().getWindow(); this.buttonWidget.active = REIRuntime.getInstance().getPreviousContainerScreen() != null && Minecraft.getInstance().getConnection() != null && Minecraft.getInstance().getConnection().getRecipeManager() != null && this.isEditable(); - this.buttonWidget.y = y; - this.buttonWidget.x = x + entryWidth / 2 - width / 2; + this.buttonWidget.setY(y); + this.buttonWidget.setX(x + entryWidth / 2 - width / 2); this.buttonWidget.setWidth(width); this.buttonWidget.render(matrices, mouseX, mouseY, delta); } diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringAddRuleScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringAddRuleScreen.java index 438359cd5..5288ad476 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringAddRuleScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringAddRuleScreen.java @@ -42,6 +42,7 @@ import java.util.Collections; import java.util.List; import java.util.Objects; import java.util.function.Function; +import java.util.function.Supplier; public class FilteringAddRuleScreen extends Screen { private final FilteringEntry entry; @@ -61,7 +62,7 @@ public class FilteringAddRuleScreen extends Screen { addRenderableWidget(new Button(4, 4, Minecraft.getInstance().font.width(backText) + 10, 20, backText, button -> { minecraft.setScreen(parent); this.parent = null; - })); + }, Supplier::get) {}); } rulesList = addWidget(new RulesList(minecraft, width, height, 30, height, BACKGROUND_LOCATION)); for (FilteringRuleType<?> rule : FilteringRuleTypeRegistry.getInstance()) { @@ -155,7 +156,7 @@ public class FilteringAddRuleScreen extends Screen { entry.edited = true; Minecraft.getInstance().setScreen(this.screenFunction.apply(parent)); entry.rules.add(0, rule); - }); + }, Supplier::get) {}; addButton.active = this.screenFunction != null; } @@ -182,8 +183,8 @@ public class FilteringAddRuleScreen extends Screen { client.font.drawShadow(matrices, subtitle.getVisualOrderText(), x + 2, y + 12, 8421504); } } - addButton.x = x + entryWidth - 25; - addButton.y = y + 1; + addButton.setX(x + entryWidth - 25); + addButton.setY(y + 1); addButton.render(matrices, mouseX, mouseY, delta); } diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringCategoriesEntry.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringCategoriesEntry.java index bb8832057..15f03ab17 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringCategoriesEntry.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringCategoriesEntry.java @@ -40,6 +40,7 @@ import java.util.List; import java.util.Map; import java.util.Optional; import java.util.function.Consumer; +import java.util.function.Supplier; @ApiStatus.Internal public class FilteringCategoriesEntry extends AbstractConfigListEntry<Map<CategoryIdentifier<?>, Boolean>> { @@ -51,7 +52,7 @@ public class FilteringCategoriesEntry extends AbstractConfigListEntry<Map<Catego private final AbstractWidget buttonWidget = new Button(0, 0, 150, 20, Component.translatable("config.roughlyenoughitems.filtering.filteringQuickCraftCategories.configure"), button -> { filteringScreen.parent = Minecraft.getInstance().screen; Minecraft.getInstance().setScreen(filteringScreen); - }); + }, Supplier::get) {}; private final List<AbstractWidget> children = ImmutableList.of(buttonWidget); public FilteringCategoriesEntry(Component fieldName, Map<CategoryIdentifier<?>, Boolean> configFiltered, Map<CategoryIdentifier<?>, Boolean> defaultValue, Consumer<Map<CategoryIdentifier<?>, Boolean>> saveConsumer) { @@ -81,15 +82,15 @@ public class FilteringCategoriesEntry extends AbstractConfigListEntry<Map<Catego public void render(PoseStack matrices, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean isSelected, float delta) { super.render(matrices, index, y, x, entryWidth, entryHeight, mouseX, mouseY, isSelected, delta); Window window = Minecraft.getInstance().getWindow(); - this.buttonWidget.y = y; + this.buttonWidget.setY(y); Component displayedFieldName = this.getDisplayedFieldName(); if (Minecraft.getInstance().font.isBidirectional()) { Minecraft.getInstance().font.drawShadow(matrices, displayedFieldName.getVisualOrderText(), (float) (window.getGuiScaledWidth() - x - Minecraft.getInstance().font.width(displayedFieldName)), (float) (y + 6), 16777215); - this.buttonWidget.x = x + 2; + this.buttonWidget.setX(x + 2); } else { Minecraft.getInstance().font.drawShadow(matrices, displayedFieldName.getVisualOrderText(), (float) x, (float) (y + 6), this.getPreferredTextColor()); - this.buttonWidget.x = x + entryWidth - 150; + this.buttonWidget.setX(x + entryWidth - 150); } this.buttonWidget.render(matrices, mouseX, mouseY, delta); diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringCategoriesScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringCategoriesScreen.java index b9f63385d..e73314289 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringCategoriesScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringCategoriesScreen.java @@ -42,6 +42,7 @@ import net.minecraft.sounds.SoundEvents; import java.util.Collections; import java.util.List; +import java.util.function.Supplier; public class FilteringCategoriesScreen extends Screen { private final FilteringCategoriesEntry entry; @@ -61,7 +62,7 @@ public class FilteringCategoriesScreen extends Screen { addRenderableWidget(new Button(4, 4, Minecraft.getInstance().font.width(backText) + 10, 20, backText, button -> { minecraft.setScreen(parent); this.parent = null; - })); + }, Supplier::get) {}); } listWidget = addWidget(new ListWidget(minecraft, width, height, 30, height, BACKGROUND_LOCATION)); |
