From 75020d8ffd08bca7404cc3fbd713e314d7b45324 Mon Sep 17 00:00:00 2001 From: shedaniel Date: Fri, 9 Dec 2022 02:56:21 +0800 Subject: Update to 1.19.3 --- .github/workflows/curseforge.yml | 1 + .../me/shedaniel/rei/api/client/ClientHelper.java | 4 +-- .../rei/api/common/transfer/RecipeFinder.java | 4 +-- .../common/transfer/info/simple/DumpHandler.java | 2 +- .../rei/api/common/util/EntryIngredients.java | 3 +- .../rei/plugin/client/DefaultClientPlugin.java | 36 +++++++++++----------- .../rei/plugin/common/displays/tag/TagNodes.java | 3 +- fabric/build.gradle | 2 +- .../client/gui/fabric/ScreenOverlayImplFabric.java | 3 +- .../shedaniel/rei/mixin/fabric/MixinTagLoader.java | 3 +- .../resources/roughlyenoughitems.accessWidener | 2 +- forge/build.gradle | 4 +-- .../client/gui/forge/ScreenOverlayImplForge.java | 3 +- .../shedaniel/rei/mixin/forge/MixinTagLoader.java | 3 +- .../main/resources/META-INF/accesstransformer.cfg | 7 ++--- gradle.properties | 16 +++++----- .../shedaniel/rei/RoughlyEnoughItemsNetwork.java | 2 +- .../rei/impl/client/config/ConfigManagerImpl.java | 2 +- .../client/config/addon/ConfigAddonsScreen.java | 2 +- .../client/config/entries/ConfigAddonsEntry.java | 2 +- .../config/entries/FilteringAddRuleScreen.java | 4 +-- .../config/entries/FilteringCategoriesEntry.java | 2 +- .../config/entries/FilteringCategoriesScreen.java | 4 +-- .../impl/client/config/entries/FilteringEntry.java | 2 +- .../config/entries/FilteringRuleOptionsScreen.java | 4 +-- .../config/entries/FilteringRulesScreen.java | 8 ++--- .../config/entries/NoFilteringCategoriesEntry.java | 2 +- .../client/config/entries/NoFilteringEntry.java | 2 +- .../config/entries/RecipeScreenTypeEntry.java | 2 +- .../client/config/entries/ReloadPluginsEntry.java | 4 +-- .../SearchFilterSyntaxHighlightingEntry.java | 2 +- .../rei/impl/client/gui/credits/CreditsScreen.java | 2 +- .../rei/impl/client/gui/error/ErrorsScreen.java | 4 +-- .../client/gui/performance/PerformanceScreen.java | 2 +- .../gui/performance/entry/PerformanceEntry.java | 2 +- .../gui/screen/AbstractDisplayViewingScreen.java | 5 +-- .../client/gui/screen/WarningAndErrorScreen.java | 2 +- .../common/entry/type/EntryRegistryListImpl.java | 4 +-- .../plugin/client/entry/FluidEntryDefinition.java | 8 ++--- .../plugin/client/entry/ItemEntryDefinition.java | 6 ++-- .../shedaniel/rei/plugin/test/REITestPlugin.java | 18 +++++------ settings.gradle | 2 +- 42 files changed, 100 insertions(+), 95 deletions(-) diff --git a/.github/workflows/curseforge.yml b/.github/workflows/curseforge.yml index 30cd84e1a..2b9b137b0 100644 --- a/.github/workflows/curseforge.yml +++ b/.github/workflows/curseforge.yml @@ -12,6 +12,7 @@ on: - 7.x-1.18 - 8.x-1.18.2 - 9.x-1.19 + - 10.x-1.19.3 jobs: build: diff --git a/api/src/main/java/me/shedaniel/rei/api/client/ClientHelper.java b/api/src/main/java/me/shedaniel/rei/api/client/ClientHelper.java index fdba2503a..46fb6b2f3 100644 --- a/api/src/main/java/me/shedaniel/rei/api/client/ClientHelper.java +++ b/api/src/main/java/me/shedaniel/rei/api/client/ClientHelper.java @@ -32,7 +32,7 @@ import me.shedaniel.rei.impl.ClientInternals; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.ChatFormatting; -import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.Item; @@ -90,7 +90,7 @@ public interface ClientHelper { default String getModFromItem(Item item) { if (item.equals(Items.AIR)) return ""; - return getModFromIdentifier(Registry.ITEM.getKey(item)); + return getModFromIdentifier(BuiltInRegistries.ITEM.getKey(item)); } /** diff --git a/api/src/main/java/me/shedaniel/rei/api/common/transfer/RecipeFinder.java b/api/src/main/java/me/shedaniel/rei/api/common/transfer/RecipeFinder.java index f7f8905a3..2d6b38a42 100644 --- a/api/src/main/java/me/shedaniel/rei/api/common/transfer/RecipeFinder.java +++ b/api/src/main/java/me/shedaniel/rei/api/common/transfer/RecipeFinder.java @@ -26,7 +26,7 @@ package me.shedaniel.rei.api.common.transfer; import com.google.common.collect.Lists; import it.unimi.dsi.fastutil.ints.*; import net.minecraft.core.NonNullList; -import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.Ingredient; @@ -40,7 +40,7 @@ public class RecipeFinder { public final Int2IntMap idToAmountMap = new Int2IntOpenHashMap(); public static int getItemId(ItemStack stack) { - return Registry.ITEM.getId(stack.getItem()); + return BuiltInRegistries.ITEM.getId(stack.getItem()); } public static ItemStack getStackFromId(int itemId) { diff --git a/api/src/main/java/me/shedaniel/rei/api/common/transfer/info/simple/DumpHandler.java b/api/src/main/java/me/shedaniel/rei/api/common/transfer/info/simple/DumpHandler.java index 7e61ef7af..3e0b39951 100644 --- a/api/src/main/java/me/shedaniel/rei/api/common/transfer/info/simple/DumpHandler.java +++ b/api/src/main/java/me/shedaniel/rei/api/common/transfer/info/simple/DumpHandler.java @@ -54,6 +54,6 @@ public interface DumpHandler } static boolean canStackAddMore(ItemStack existingStack, ItemStack stack) { - return !existingStack.isEmpty() && ItemStack.isSameIgnoreDurability(existingStack, stack) && existingStack.isStackable() && existingStack.getCount() + stack.getCount() <= existingStack.getMaxStackSize(); + return !existingStack.isEmpty() && ItemStack.isSameItemSameTags(existingStack, stack) && existingStack.isStackable() && existingStack.getCount() + stack.getCount() <= existingStack.getMaxStackSize(); } } diff --git a/api/src/main/java/me/shedaniel/rei/api/common/util/EntryIngredients.java b/api/src/main/java/me/shedaniel/rei/api/common/util/EntryIngredients.java index a18379173..1864f94cc 100644 --- a/api/src/main/java/me/shedaniel/rei/api/common/util/EntryIngredients.java +++ b/api/src/main/java/me/shedaniel/rei/api/common/util/EntryIngredients.java @@ -33,6 +33,7 @@ import me.shedaniel.rei.api.common.entry.type.VanillaEntryTypes; import net.minecraft.core.Holder; import net.minecraft.core.HolderSet; import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.nbt.ListTag; import net.minecraft.nbt.Tag; import net.minecraft.resources.ResourceKey; @@ -140,7 +141,7 @@ public final class EntryIngredients { } public static EntryIngredient ofTag(TagKey tagKey, Function, EntryStack> mapper) { - Registry registry = ((Registry>) Registry.REGISTRY).get((ResourceKey>) tagKey.registry()); + Registry registry = ((Registry>) BuiltInRegistries.REGISTRY).get((ResourceKey>) tagKey.registry()); HolderSet.Named holders = registry.getTag(tagKey).orElse(null); if (holders == null) return EntryIngredient.empty(); EntryIngredient.Builder result = EntryIngredient.builder(holders.size()); diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientPlugin.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientPlugin.java index 162bcbfff..4e7253e2e 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientPlugin.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientPlugin.java @@ -77,12 +77,13 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.gui.screens.inventory.*; import net.minecraft.client.gui.screens.recipebook.RecipeUpdateListener; import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.core.registries.Registries; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.BlockTags; import net.minecraft.tags.ItemTags; import net.minecraft.tags.TagKey; -import net.minecraft.world.flag.FeatureFlagSet; import net.minecraft.world.item.*; import net.minecraft.world.item.alchemy.Potion; import net.minecraft.world.item.alchemy.PotionBrewing; @@ -122,13 +123,12 @@ public class DefaultClientPlugin implements REIClientPlugin, BuiltinClientPlugin @Override public void registerEntries(EntryRegistry registry) { - FeatureFlagSet features = Minecraft.getInstance().player.getLevel().enabledFeatures(); Multimap> items = HashMultimap.create(); - for (CreativeModeTab tab : CreativeModeTabs.TABS) { - if (tab != CreativeModeTabs.TAB_HOTBAR && tab != CreativeModeTabs.TAB_INVENTORY) { + for (CreativeModeTab tab : CreativeModeTabs.allTabs()) { + if (tab.getType() != CreativeModeTab.Type.HOTBAR && tab.getType() != CreativeModeTab.Type.INVENTORY) { try { - for (ItemStack stack : tab.getDisplayItems(features, true)) { + for (ItemStack stack : tab.getDisplayItems()) { try { items.put(stack.getItem(), EntryStacks.of(stack)); } catch (Exception ignore) { @@ -140,7 +140,7 @@ public class DefaultClientPlugin implements REIClientPlugin, BuiltinClientPlugin } } - for (Item item : Registry.ITEM) { + for (Item item : BuiltInRegistries.ITEM) { Collection> stacks = items.get(item); if (stacks.isEmpty()) { try { @@ -153,7 +153,7 @@ public class DefaultClientPlugin implements REIClientPlugin, BuiltinClientPlugin } } - for (Fluid fluid : Registry.FLUID) { + for (Fluid fluid : BuiltInRegistries.FLUID) { FluidState state = fluid.defaultFluidState(); if (!state.isEmpty() && state.isSource()) { registry.addEntry(EntryStacks.of(fluid)); @@ -242,7 +242,7 @@ public class DefaultClientPlugin implements REIClientPlugin, BuiltinClientPlugin } private static EntryIngredient getTag(ResourceLocation tagId) { - return EntryIngredients.ofItemTag(TagKey.create(Registry.ITEM_REGISTRY, tagId)); + return EntryIngredients.ofItemTag(TagKey.create(Registries.ITEM, tagId)); } @Override @@ -259,11 +259,11 @@ public class DefaultClientPlugin implements REIClientPlugin, BuiltinClientPlugin registry.registerFiller(AnvilRecipe.class, DefaultAnvilDisplay::new); registry.registerFiller(BrewingRecipe.class, DefaultBrewingDisplay::new); registry.registerFiller(TagKey.class, tagKey -> { - if (tagKey.isFor(Registry.ITEM_REGISTRY)) { + if (tagKey.isFor(Registries.ITEM)) { return DefaultTagDisplay.ofItems(tagKey); - } else if (tagKey.isFor(Registry.BLOCK_REGISTRY)) { + } else if (tagKey.isFor(Registries.BLOCK)) { return DefaultTagDisplay.ofItems(tagKey); - } else if (tagKey.isFor(Registry.FLUID_REGISTRY)) { + } else if (tagKey.isFor(Registries.FLUID)) { return DefaultTagDisplay.ofFluids(tagKey); } @@ -299,24 +299,24 @@ public class DefaultClientPlugin implements REIClientPlugin, BuiltinClientPlugin List entries = iterator.next(); registry.add(new DefaultCompostingDisplay(entries, Collections.singletonList(EntryIngredients.of(new ItemStack(Items.BONE_MEAL))))); } - DummyAxeItem.getStrippedBlocksMap().entrySet().stream().sorted(Comparator.comparing(b -> Registry.BLOCK.getKey(b.getKey()))).forEach(set -> { + DummyAxeItem.getStrippedBlocksMap().entrySet().stream().sorted(Comparator.comparing(b -> BuiltInRegistries.BLOCK.getKey(b.getKey()))).forEach(set -> { registry.add(new DefaultStrippingDisplay(EntryStacks.of(set.getKey()), EntryStacks.of(set.getValue()))); }); - DummyShovelItem.getPathBlocksMap().entrySet().stream().sorted(Comparator.comparing(b -> Registry.BLOCK.getKey(b.getKey()))).forEach(set -> { + DummyShovelItem.getPathBlocksMap().entrySet().stream().sorted(Comparator.comparing(b -> BuiltInRegistries.BLOCK.getKey(b.getKey()))).forEach(set -> { registry.add(new DefaultPathingDisplay(EntryStacks.of(set.getKey()), EntryStacks.of(set.getValue().getBlock()))); }); registry.add(new DefaultBeaconBaseDisplay(Collections.singletonList(EntryIngredients.ofItemTag(BlockTags.BEACON_BASE_BLOCKS)), Collections.emptyList())); registry.add(new DefaultBeaconPaymentDisplay(Collections.singletonList(EntryIngredients.ofItemTag(ItemTags.BEACON_PAYMENT_ITEMS)), Collections.emptyList())); - HoneycombItem.WAXABLES.get().entrySet().stream().sorted(Comparator.comparing(b -> Registry.BLOCK.getKey(b.getKey()))).forEach(set -> { + HoneycombItem.WAXABLES.get().entrySet().stream().sorted(Comparator.comparing(b -> BuiltInRegistries.BLOCK.getKey(b.getKey()))).forEach(set -> { registry.add(new DefaultWaxingDisplay(EntryStacks.of(set.getKey()), EntryStacks.of(set.getValue()))); }); - HoneycombItem.WAX_OFF_BY_BLOCK.get().entrySet().stream().sorted(Comparator.comparing(b -> Registry.BLOCK.getKey(b.getKey()))).forEach(set -> { + HoneycombItem.WAX_OFF_BY_BLOCK.get().entrySet().stream().sorted(Comparator.comparing(b -> BuiltInRegistries.BLOCK.getKey(b.getKey()))).forEach(set -> { registry.add(new DefaultWaxScrapingDisplay(EntryStacks.of(set.getKey()), EntryStacks.of(set.getValue()))); }); - WeatheringCopper.NEXT_BY_BLOCK.get().entrySet().stream().sorted(Comparator.comparing(b -> Registry.BLOCK.getKey(b.getKey()))).forEach(set -> { + WeatheringCopper.NEXT_BY_BLOCK.get().entrySet().stream().sorted(Comparator.comparing(b -> BuiltInRegistries.BLOCK.getKey(b.getKey()))).forEach(set -> { registry.add(new DefaultOxidizingDisplay(EntryStacks.of(set.getKey()), EntryStacks.of(set.getValue()))); }); - WeatheringCopper.PREVIOUS_BY_BLOCK.get().entrySet().stream().sorted(Comparator.comparing(b -> Registry.BLOCK.getKey(b.getKey()))).forEach(set -> { + WeatheringCopper.PREVIOUS_BY_BLOCK.get().entrySet().stream().sorted(Comparator.comparing(b -> BuiltInRegistries.BLOCK.getKey(b.getKey()))).forEach(set -> { registry.add(new DefaultOxidationScrapingDisplay(EntryStacks.of(set.getKey()), EntryStacks.of(set.getValue()))); }); if (Platform.isFabric()) { @@ -352,7 +352,7 @@ public class DefaultClientPlugin implements REIClientPlugin, BuiltinClientPlugin registerForgePotions(registry, this); } - for (Registry reg : Registry.REGISTRY) { + for (Registry reg : BuiltInRegistries.REGISTRY) { reg.getTags().forEach(tagPair -> registry.add(tagPair.getFirst())); } } diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/tag/TagNodes.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/tag/TagNodes.java index 119e944e2..edd32c443 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/tag/TagNodes.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/tag/TagNodes.java @@ -38,6 +38,7 @@ import net.minecraft.client.Minecraft; import net.minecraft.core.Holder; import net.minecraft.core.HolderSet; import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; @@ -194,7 +195,7 @@ public class TagNodes { } public static void create(TagKey tagKey, Consumer>> callback) { - Registry registry = ((Registry>) Registry.REGISTRY).get((ResourceKey>) tagKey.registry()); + Registry registry = ((Registry>) BuiltInRegistries.REGISTRY).get((ResourceKey>) tagKey.registry()); requestTagData(tagKey.registry(), result -> { callback.accept(result.flatMap(dataMap -> dataMap != null ? resolveTag(tagKey, registry, dataMap).orElse(DataResult.error("No tag data")) : DataResult.error("No tag data"))); }); diff --git a/fabric/build.gradle b/fabric/build.gradle index 0c288b58a..762a1e207 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -106,7 +106,7 @@ unifiedPublishing { project { displayName = "[Fabric $rootProject.supported_version] v$project.version" releaseType = "release" - gameVersions = ["1.19", "1.19.1", "1.19.2"] + gameVersions = ["1.19.3"] gameLoaders = ["fabric"] changelog = rootProject.releaseChangelog diff --git a/fabric/src/main/java/me/shedaniel/rei/impl/client/gui/fabric/ScreenOverlayImplFabric.java b/fabric/src/main/java/me/shedaniel/rei/impl/client/gui/fabric/ScreenOverlayImplFabric.java index 2021b33aa..b28adcfb2 100644 --- a/fabric/src/main/java/me/shedaniel/rei/impl/client/gui/fabric/ScreenOverlayImplFabric.java +++ b/fabric/src/main/java/me/shedaniel/rei/impl/client/gui/fabric/ScreenOverlayImplFabric.java @@ -30,6 +30,7 @@ import me.shedaniel.rei.impl.client.gui.ScreenOverlayImpl; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.screens.Screen; import net.minecraft.client.gui.screens.inventory.tooltip.ClientTooltipComponent; +import net.minecraft.client.gui.screens.inventory.tooltip.DefaultTooltipPositioner; import net.minecraft.locale.Language; import net.minecraft.network.chat.FormattedText; import net.minecraft.network.chat.Style; @@ -79,7 +80,7 @@ public class ScreenOverlayImplFabric extends ScreenOverlayImpl { return; } matrices.pushPose(); - Minecraft.getInstance().screen.renderTooltipInternal(matrices, lines, mouseX, mouseY); + Minecraft.getInstance().screen.renderTooltipInternal(matrices, lines, mouseX, mouseY, DefaultTooltipPositioner.INSTANCE); matrices.popPose(); } } diff --git a/fabric/src/main/java/me/shedaniel/rei/mixin/fabric/MixinTagLoader.java b/fabric/src/main/java/me/shedaniel/rei/mixin/fabric/MixinTagLoader.java index 00f95c32f..d000cf166 100644 --- a/fabric/src/main/java/me/shedaniel/rei/mixin/fabric/MixinTagLoader.java +++ b/fabric/src/main/java/me/shedaniel/rei/mixin/fabric/MixinTagLoader.java @@ -32,6 +32,7 @@ import me.shedaniel.rei.api.common.util.CollectionUtils; import me.shedaniel.rei.impl.common.InternalLogger; import me.shedaniel.rei.plugin.common.displays.tag.TagNodes; import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.TagEntry; @@ -66,7 +67,7 @@ public class MixinTagLoader { TagNodes.TAG_DATA_MAP.put(resourceKey, new HashMap<>()); Map tagDataMap = TagNodes.TAG_DATA_MAP.get(resourceKey); if (tagDataMap == null) return; - Registry registry = ((Registry>) Registry.REGISTRY).get((ResourceKey>) resourceKey); + Registry registry = ((Registry>) BuiltInRegistries.REGISTRY).get((ResourceKey>) resourceKey); Stopwatch stopwatch = Stopwatch.createStarted(); Iterator, TagNodes.RawTagData>> entryIterator = TagNodes.RAW_TAG_DATA_MAP.getOrDefault(directory, Reference2ObjectMaps.emptyMap()) diff --git a/fabric/src/main/resources/roughlyenoughitems.accessWidener b/fabric/src/main/resources/roughlyenoughitems.accessWidener index ac1865b76..23a5f198e 100644 --- a/fabric/src/main/resources/roughlyenoughitems.accessWidener +++ b/fabric/src/main/resources/roughlyenoughitems.accessWidener @@ -33,7 +33,7 @@ extendable method net/minecraft/client/gui/screens/Screen accessible method net/minecraft/client/gui/screens/Screen addRenderableWidget (Lnet/minecraft/client/gui/components/events/GuiEventListener;)Lnet/minecraft/client/gui/components/events/GuiEventListener; accessible method net/minecraft/client/gui/screens/Screen addRenderableOnly (Lnet/minecraft/client/gui/components/Renderable;)Lnet/minecraft/client/gui/components/Renderable; accessible method net/minecraft/client/gui/screens/Screen addWidget (Lnet/minecraft/client/gui/components/events/GuiEventListener;)Lnet/minecraft/client/gui/components/events/GuiEventListener; -accessible method net/minecraft/client/gui/screens/Screen renderTooltipInternal (Lcom/mojang/blaze3d/vertex/PoseStack;Ljava/util/List;II)V +accessible method net/minecraft/client/gui/screens/Screen renderTooltipInternal (Lcom/mojang/blaze3d/vertex/PoseStack;Ljava/util/List;IILnet/minecraft/client/gui/screens/inventory/tooltip/ClientTooltipPositioner;)V accessible method net/minecraft/client/renderer/RenderType create (Ljava/lang/String;Lcom/mojang/blaze3d/vertex/VertexFormat;Lcom/mojang/blaze3d/vertex/VertexFormat$Mode;ILnet/minecraft/client/renderer/RenderType$CompositeState;)Lnet/minecraft/client/renderer/RenderType$CompositeRenderType; accessible field net/minecraft/tags/TagEntry tag Z accessible field net/minecraft/tags/TagEntry id Lnet/minecraft/resources/ResourceLocation; \ No newline at end of file diff --git a/forge/build.gradle b/forge/build.gradle index 2aa93e09e..25dd8cc0a 100644 --- a/forge/build.gradle +++ b/forge/build.gradle @@ -215,7 +215,7 @@ unifiedPublishing { project { displayName = "[Forge $rootProject.supported_version] v$project.version" releaseType = "beta" - gameVersions = ["1.19", "1.19.1", "1.19.2"] + gameVersions = ["1.19.3"] gameLoaders = ["forge"] changelog = rootProject.releaseChangelog @@ -255,7 +255,7 @@ unifiedPublishing { project { displayName = "[Forge $rootProject.supported_version] v$project.version" releaseType = "release" - gameVersions = ["1.19", "1.19.1", "1.19.2"] + gameVersions = ["1.19.3"] gameLoaders = ["forge"] changelog = rootProject.releaseChangelog diff --git a/forge/src/main/java/me/shedaniel/rei/impl/client/gui/forge/ScreenOverlayImplForge.java b/forge/src/main/java/me/shedaniel/rei/impl/client/gui/forge/ScreenOverlayImplForge.java index 7b9c52c40..caf0936e0 100644 --- a/forge/src/main/java/me/shedaniel/rei/impl/client/gui/forge/ScreenOverlayImplForge.java +++ b/forge/src/main/java/me/shedaniel/rei/impl/client/gui/forge/ScreenOverlayImplForge.java @@ -31,6 +31,7 @@ import me.shedaniel.rei.api.common.util.CollectionUtils; import me.shedaniel.rei.impl.client.gui.ScreenOverlayImpl; import net.minecraft.client.gui.screens.Screen; import net.minecraft.client.gui.screens.inventory.tooltip.ClientTooltipComponent; +import net.minecraft.client.gui.screens.inventory.tooltip.DefaultTooltipPositioner; import net.minecraft.network.chat.Component; import net.minecraft.world.inventory.tooltip.TooltipComponent; import net.minecraft.world.item.ItemStack; @@ -61,7 +62,7 @@ public class ScreenOverlayImplForge extends ScreenOverlayImpl { } } screen.tooltipStack = itemStack; - screen.renderTooltipInternal(matrices, components, mouseX, mouseY); + screen.renderTooltipInternal(matrices, components, mouseX, mouseY, DefaultTooltipPositioner.INSTANCE); screen.tooltipStack = ItemStack.EMPTY; matrices.popPose(); } diff --git a/forge/src/main/java/me/shedaniel/rei/mixin/forge/MixinTagLoader.java b/forge/src/main/java/me/shedaniel/rei/mixin/forge/MixinTagLoader.java index b48ddc175..acb819cad 100644 --- a/forge/src/main/java/me/shedaniel/rei/mixin/forge/MixinTagLoader.java +++ b/forge/src/main/java/me/shedaniel/rei/mixin/forge/MixinTagLoader.java @@ -32,6 +32,7 @@ import me.shedaniel.rei.api.common.util.CollectionUtils; import me.shedaniel.rei.impl.common.InternalLogger; import me.shedaniel.rei.plugin.common.displays.tag.TagNodes; import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.TagEntry; @@ -66,7 +67,7 @@ public class MixinTagLoader { TagNodes.TAG_DATA_MAP.put(resourceKey, new HashMap<>()); Map tagDataMap = TagNodes.TAG_DATA_MAP.get(resourceKey); if (tagDataMap == null) return; - Registry registry = ((Registry>) Registry.REGISTRY).get((ResourceKey>) resourceKey); + Registry registry = ((Registry>) BuiltInRegistries.REGISTRY).get((ResourceKey>) resourceKey); Stopwatch stopwatch = Stopwatch.createStarted(); Iterator, TagNodes.RawTagData>> entryIterator = TagNodes.RAW_TAG_DATA_MAP.getOrDefault(directory, Reference2ObjectMaps.emptyMap()) diff --git a/forge/src/main/resources/META-INF/accesstransformer.cfg b/forge/src/main/resources/META-INF/accesstransformer.cfg index 5d520302f..f421615ee 100644 --- a/forge/src/main/resources/META-INF/accesstransformer.cfg +++ b/forge/src/main/resources/META-INF/accesstransformer.cfg @@ -22,8 +22,7 @@ public net.minecraft.world.item.alchemy.PotionBrewing$Mix f_43533_ public net.minecraft.world.item.alchemy.PotionBrewing$Mix f_43534_ public net.minecraft.world.item.crafting.UpgradeRecipe f_44519_ public net.minecraft.world.item.crafting.UpgradeRecipe f_44518_ -public net.minecraft.world.item.CreativeModeTab f_40763_ -public net.minecraft.client.gui.GuiComponent m_93112_(Lcom/mojang/math/Matrix4f;IIIIIFFFF)V +public net.minecraft.client.gui.GuiComponent m_93112_(Lorg/joml/Matrix4f;IIIIIFFFF)V public net.minecraft.client.gui.screens.Screen m_7787_(Lnet/minecraft/client/gui/components/events/GuiEventListener;)Lnet/minecraft/client/gui/components/events/GuiEventListener; public net.minecraft.client.gui.screens.Screen m_7856_()V public net.minecraft.client.gui.screens.Screen m_6697_(Ljava/lang/String;Z)V @@ -31,8 +30,8 @@ public net.minecraft.client.gui.screens.Screen m_96583_(Ljava/lang/String;CI)Z public-f net.minecraft.client.gui.screens.inventory.AbstractContainerScreen f_97711_ protected net.minecraft.client.gui.screens.Screen m_6575_(Lnet/minecraft/client/Minecraft;II)V public net.minecraft.client.gui.screens.Screen m_142416_(Lnet/minecraft/client/gui/components/events/GuiEventListener;)Lnet/minecraft/client/gui/components/events/GuiEventListener; -public net.minecraft.client.gui.screens.Screen m_169394_(Lnet/minecraft/client/gui/components/Widget;)Lnet/minecraft/client/gui/components/Widget; -public net.minecraft.client.gui.screens.Screen m_169383_(Lcom/mojang/blaze3d/vertex/PoseStack;Ljava/util/List;II)V +public net.minecraft.client.gui.screens.Screen m_169394_(Lnet/minecraft/client/gui/components/Renderable;)Lnet/minecraft/client/gui/components/Renderable; +public net.minecraft.client.gui.screens.Screen m_262809_(Lcom/mojang/blaze3d/vertex/PoseStack;Ljava/util/List;IILnet/minecraft/client/gui/screens/inventory/tooltip/ClientTooltipPositioner;)V # renderTooltipInternal public net.minecraft.client.gui.screens.Screen tooltipStack public net.minecraft.client.renderer.RenderType m_173209_(Ljava/lang/String;Lcom/mojang/blaze3d/vertex/VertexFormat;Lcom/mojang/blaze3d/vertex/VertexFormat$Mode;ILnet/minecraft/client/renderer/RenderType$CompositeState;)Lnet/minecraft/client/renderer/RenderType$CompositeRenderType; public net.minecraft.client.renderer.RenderType$OutlineProperty diff --git a/gradle.properties b/gradle.properties index f540476c5..46d5e1241 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,13 +2,13 @@ org.gradle.jvmargs=-Xmx6G base_version=10.0 unstable=false supported_version=1.19.3 -minecraft_version=22w44a -forgeEnabled=false -forge_version=41.0.94 -fabricloader_version=0.14.10 -cloth_config_version=9.0.92 -modmenu_version=4.0.0 -fabric_api=0.66.0+1.19.3 -architectury_version=7.0.54 +minecraft_version=1.19.3 +forgeEnabled=true +forge_version=44.0.0 +fabricloader_version=0.14.11 +cloth_config_version=9.0.94 +modmenu_version=5.0.1 +fabric_api=0.68.1+1.19.3 +architectury_version=7.0.63 api_exculde= #api_include=me.shedaniel.cloth:cloth-events,me.shedaniel.cloth:config-2,me.sargunvohra.mcmods:autoconfig1u,org.jetbrains:annotations,net.fabricmc.fabric-api:fabric diff --git a/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java b/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java index 01a2cd14c..2ca3228e6 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/config/ConfigManagerImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigManagerImpl.java index 7934e8448..5ff0eea02 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 @@ -451,7 +451,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); - }, Button.NO_TOOLTIP, Supplier::get) {}); + }, 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 85329ac9f..bda7a20eb 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 @@ -139,7 +139,7 @@ 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)); - }, Button.NO_TOOLTIP, Supplier::get) { + }, Supplier::get) { @Override protected void renderBg(PoseStack matrices, Minecraft client, int mouseX, int mouseY) { super.renderBg(matrices, client, mouseX, mouseY); 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 a1eaf5c78..4b89ab162 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 @@ -47,7 +47,7 @@ public class ConfigAddonsEntry extends AbstractConfigListEntry { private int width; private AbstractWidget buttonWidget = new Button(0, 0, 0, 20, Component.empty(), button -> { Minecraft.getInstance().setScreen(new ConfigAddonsScreen(Minecraft.getInstance().screen)); - }, Button.NO_TOOLTIP, Supplier::get) {}; + }, Supplier::get) {}; private List children = ImmutableList.of(buttonWidget); public ConfigAddonsEntry(int width) { 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 44adb5e80..80c287aa9 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 @@ -62,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; - }, Button.NO_TOOLTIP, Supplier::get) {}); + }, Supplier::get) {}); } rulesList = addWidget(new RulesList(minecraft, width, height, 30, height, BACKGROUND_LOCATION)); for (FilteringRuleType rule : FilteringRuleTypeRegistry.getInstance()) { @@ -156,7 +156,7 @@ public class FilteringAddRuleScreen extends Screen { entry.edited = true; Minecraft.getInstance().setScreen(this.screenFunction.apply(parent)); entry.rules.add(0, rule); - }, Button.NO_TOOLTIP, Supplier::get) {}; + }, Supplier::get) {}; addButton.active = this.screenFunction != null; } 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 034b9d8e7..e31106f79 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 @@ -52,7 +52,7 @@ public class FilteringCategoriesEntry extends AbstractConfigListEntry { filteringScreen.parent = Minecraft.getInstance().screen; Minecraft.getInstance().setScreen(filteringScreen); - }, Button.NO_TOOLTIP, Supplier::get) {}; + }, Supplier::get) {}; private final List children = ImmutableList.of(buttonWidget); public FilteringCategoriesEntry(Component fieldName, Map, Boolean> configFiltered, Map, Boolean> defaultValue, Consumer, Boolean>> saveConsumer) { 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 dff3b46f3..1544673d2 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 @@ -62,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; - }, Button.NO_TOOLTIP, Supplier::get) {}); + }, Supplier::get) {}); } listWidget = addWidget(new ListWidget(minecraft, width, height, 30, height, BACKGROUND_LOCATION)); for (CategoryRegistry.CategoryConfiguration configuration : CategoryRegistry.getInstance()) { @@ -181,7 +181,7 @@ public class FilteringCategoriesScreen extends Screen { } entry.edited = true; - }, Button.NO_TOOLTIP, Supplier::get) {}; + }, Supplier::get) {}; } } diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringEntry.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringEntry.java index be91cb261..18c80fb22 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringEntry.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringEntry.java @@ -57,7 +57,7 @@ public class FilteringEntry extends AbstractConfigListEntry>> private final AbstractWidget buttonWidget = new Button(0, 0, 0, 20, Component.translatable("config.roughlyenoughitems.filteringScreen"), button -> { filteringRulesScreen.parent = Minecraft.getInstance().screen; Minecraft.getInstance().setScreen(filteringRulesScreen); - }, Button.NO_TOOLTIP, Supplier::get) {}; + }, Supplier::get) {}; private final List children = ImmutableList.of(buttonWidget); public FilteringEntry(int width, List> configFiltered, List> rules, List> defaultValue, Consumer>> saveConsumer, Consumer>> rulesSaveConsumer) { diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRuleOptionsScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRuleOptionsScreen.java index c0b6e4e69..de817e8cb 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRuleOptionsScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRuleOptionsScreen.java @@ -70,7 +70,7 @@ public abstract class FilteringRuleOptionsScreen> ext addRenderableWidget(new Button(this.width - 4 - width - 10, 4, width + 10, 20, doneText, button -> { save(); minecraft.setScreen(parent); - }, Button.NO_TOOLTIP, Supplier::get) {}); + }, Supplier::get) {}); } rulesList = addWidget(new RulesList(minecraft, width, height, 30, height, BACKGROUND_LOCATION)); addEntries(ruleEntry -> rulesList.addItem(ruleEntry)); @@ -233,7 +233,7 @@ public abstract class FilteringRuleOptionsScreen> ext this.widget = new Button(0, 0, 100, 20, textFunction.apply(b), button -> { this.b = !this.b; button.setMessage(textFunction.apply(this.b)); - }, Button.NO_TOOLTIP, Supplier::get) {}; + }, Supplier::get) {}; } public boolean getBoolean() { diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRulesScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRulesScreen.java index 803802ea8..804b8ccc1 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRulesScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRulesScreen.java @@ -76,7 +76,7 @@ public class FilteringRulesScreen extends Screen { addRenderableWidget(new Button(4, 4, Minecraft.getInstance().font.width(backText) + 10, 20, backText, button -> { minecraft.setScreen(parent); this.parent = null; - }, Button.NO_TOOLTIP, Supplier::get) {}); + }, Supplier::get) {}); } { Component addText = Component.literal(" + "); @@ -84,7 +84,7 @@ public class FilteringRulesScreen extends Screen { FilteringAddRuleScreen screen = new FilteringAddRuleScreen(entry); screen.parent = this; minecraft.setScreen(screen); - }, Button.NO_TOOLTIP, Supplier::get) {}); + }, Supplier::get) {}); } rulesList = addWidget(new RulesList(minecraft, width, height, 30, height, BACKGROUND_LOCATION)); for (int i = entry.rules.size() - 1; i >= 0; i--) { @@ -198,7 +198,7 @@ public class FilteringRulesScreen extends Screen { configureButton = new Button(0, 0, 20, 20, Component.nullToEmpty(null), button -> { entry.edited = true; Minecraft.getInstance().setScreen(this.screenFunction.apply(Minecraft.getInstance().screen)); - }, Button.NO_TOOLTIP, Supplier::get) { + }, Supplier::get) { @Override protected void renderBg(PoseStack matrices, Minecraft client, int mouseX, int mouseY) { super.renderBg(matrices, client, mouseX, mouseY); @@ -213,7 +213,7 @@ public class FilteringRulesScreen extends Screen { entry.edited = true; entry.rules.remove(rule); screen.init(Minecraft.getInstance(), screen.width, screen.height); - }, Button.NO_TOOLTIP, Supplier::get) {}; + }, Supplier::get) {}; } configureButton.active = this.screenFunction != null; deleteButton.active = !rule.getType().isSingular(); diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/NoFilteringCategoriesEntry.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/NoFilteringCategoriesEntry.java index 6230d6a60..71a5726d7 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/NoFilteringCategoriesEntry.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/NoFilteringCategoriesEntry.java @@ -47,7 +47,7 @@ public class NoFilteringCategoriesEntry extends AbstractConfigListEntry, Boolean>> saveConsumer; private Map, Boolean> defaultValue; private Map, Boolean> configFiltered; - private final AbstractWidget buttonWidget = new Button(0, 0, 150, 20, Component.translatable("config.roughlyenoughitems.filteredEntries.loadWorldFirst"), button -> {}, Button.NO_TOOLTIP, Supplier::get) {}; + private final AbstractWidget buttonWidget = new Button(0, 0, 150, 20, Component.translatable("config.roughlyenoughitems.filteredEntries.loadWorldFirst"), button -> {}, Supplier::get) {}; private final List children = ImmutableList.of(buttonWidget); public NoFilteringCategoriesEntry(Component fieldName, Map, Boolean> configFiltered, Map, Boolean> defaultValue, Consumer, Boolean>> saveConsumer) { diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/NoFilteringEntry.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/NoFilteringEntry.java index 61b45bca7..a72335ed6 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/NoFilteringEntry.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/NoFilteringEntry.java @@ -47,7 +47,7 @@ public class NoFilteringEntry extends AbstractConfigListEntry private Consumer>> saveConsumer; private List> defaultValue; private List> configFiltered; - private final AbstractWidget buttonWidget = new Button(0, 0, 0, 20, Component.translatable("config.roughlyenoughitems.filteredEntries.loadWorldFirst"), button -> {}, Button.NO_TOOLTIP, Supplier::get) {}; + private final AbstractWidget buttonWidget = new Button(0, 0, 0, 20, Component.translatable("config.roughlyenoughitems.filteredEntries.loadWorldFirst"), button -> {}, Supplier::get) {}; private final List children = ImmutableList.of(buttonWidget); public NoFilteringEntry(int width, List> configFiltered, List> defaultValue, Consumer>> saveConsumer) { diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/RecipeScreenTypeEntry.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/RecipeScreenTypeEntry.java index d54952fba..ea2d14ee8 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/RecipeScreenTypeEntry.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/RecipeScreenTypeEntry.java @@ -52,7 +52,7 @@ public class RecipeScreenTypeEntry extends TooltipListEntry { Minecraft.getInstance().setScreen(getConfigScreen()); type = original ? DisplayScreenType.ORIGINAL : DisplayScreenType.COMPOSITE; })); - }, Button.NO_TOOLTIP, Supplier::get) { + }, Supplier::get) { @Override public void render(PoseStack matrices, int mouseX, int mouseY, float delta) { setMessage(Component.translatable("config.roughlyenoughitems.recipeScreenType.config", type.toString())); diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/ReloadPluginsEntry.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/ReloadPluginsEntry.java index cdf93ab39..4cae25060 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/ReloadPluginsEntry.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/ReloadPluginsEntry.java @@ -52,7 +52,7 @@ public class ReloadPluginsEntry extends AbstractConfigListEntry { private AbstractWidget reloadPluginsButton = new Button(0, 0, 0, 20, Component.empty(), button -> { RoughlyEnoughItemsCore.PERFORMANCE_LOGGER.clear(); RoughlyEnoughItemsCoreClient.reloadPlugins(null, null); - }, Button.NO_TOOLTIP, Supplier::get) { + }, Supplier::get) { @Override public void render(PoseStack matrices, int mouseX, int mouseY, float delta) { if (PluginManager.areAnyReloading()) { @@ -65,7 +65,7 @@ public class ReloadPluginsEntry extends AbstractConfigListEntry { }; private AbstractWidget reloadSearchButton = new Button(0, 0, 0, 20, Component.empty(), button -> { Argument.resetCache(true); - }, Button.NO_TOOLTIP, Supplier::get) {}; + }, Supplier::get) {}; private List children = ImmutableList.of(reloadPluginsButton, reloadSearchButton); public ReloadPluginsEntry(int width) { diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/SearchFilterSyntaxHighlightingEntry.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/SearchFilterSyntaxHighlightingEntry.java index d15e85d2f..fe320c6b0 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/SearchFilterSyntaxHighlightingEntry.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/SearchFilterSyntaxHighlightingEntry.java @@ -47,7 +47,7 @@ public class SearchFilterSyntaxHighlightingEntry extends TooltipListEntry save; private final AbstractWidget buttonWidget = new Button(0, 0, 0, 20, Component.empty(), $ -> { type = SyntaxHighlightingMode.values()[(type.ordinal() + 1) % SyntaxHighlightingMode.values().length]; - }, Button.NO_TOOLTIP, Supplier::get) { + }, Supplier::get) { @Override public void render(PoseStack matrices, int mouseX, int mouseY, float delta) { setMessage(Component.literal(type.toString())); diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/credits/CreditsScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/credits/CreditsScreen.java index 96c8d42ee..61e2bd9ff 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/credits/CreditsScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/credits/CreditsScreen.java @@ -127,7 +127,7 @@ public class CreditsScreen extends Screen { entryListWidget.creditsAddEntry(new CreditsEntryListWidget.LinkItem(Component.literal("Visit the project page at CurseForge."), "https://www.curseforge.com/minecraft/mc-mods/roughly-enough-items", entryListWidget.getItemWidth(), false)); entryListWidget.creditsAddEntry(new CreditsEntryListWidget.LinkItem(Component.literal("Support the project via Patreon!"), "https://patreon.com/shedaniel", entryListWidget.getItemWidth(), true)); entryListWidget.creditsAddEntry(new TextCreditsItem(Component.empty())); - addRenderableWidget(buttonDone = new Button(width / 2 - 100, height - 26, 200, 20, Component.translatable("gui.done"), button -> openPrevious(), Button.NO_TOOLTIP, Supplier::get) {}); + addRenderableWidget(buttonDone = new Button(width / 2 - 100, height - 26, 200, 20, Component.translatable("gui.done"), button -> openPrevious(), Supplier::get) {}); } private static void fillTranslators(Exception[] exception, List>> translators) { diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/error/ErrorsScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/error/ErrorsScreen.java index c4aa39d10..67fbdad61 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/error/ErrorsScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/error/ErrorsScreen.java @@ -80,9 +80,9 @@ public class ErrorsScreen extends Screen { } listWidget._addEntry(new TextEntry(Component.empty(), listWidget.getItemWidth())); if (quitable) { - addRenderableWidget(doneButton = new Button(width / 2 - 100, height - 26, 200, 20, Component.translatable("gui.done"), button -> Minecraft.getInstance().setScreen(parent), Button.NO_TOOLTIP, Supplier::get) {}); + addRenderableWidget(doneButton = new Button(width / 2 - 100, height - 26, 200, 20, Component.translatable("gui.done"), button -> Minecraft.getInstance().setScreen(parent), Supplier::get) {}); } else { - addRenderableWidget(doneButton = new Button(width / 2 - 100, height - 26, 200, 20, Component.translatable("menu.quit"), button -> exit(), Button.NO_TOOLTIP, Supplier::get) {}); + addRenderableWidget(doneButton = new Button(width / 2 - 100, height - 26, 200, 20, Component.translatable("menu.quit"), button -> exit(), Supplier::get) {}); } } diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/performance/PerformanceScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/performance/PerformanceScreen.java index ce262e4fa..c2bae4a59 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/performance/PerformanceScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/performance/PerformanceScreen.java @@ -141,7 +141,7 @@ public class PerformanceScreen extends Screen { addRenderableWidget(new Button(4, 4, Minecraft.getInstance().font.width(backText) + 10, 20, backText, button -> { minecraft.setScreen(parent); this.parent = null; - }, Button.NO_TOOLTIP, Supplier::get) {}); + }, Supplier::get) {}); } list = new PerformanceEntryListWidget(); long[] totalTime = {0}; diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/performance/entry/PerformanceEntry.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/performance/entry/PerformanceEntry.java index f6b33e1af..9aa99aa7d 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/performance/entry/PerformanceEntry.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/performance/entry/PerformanceEntry.java @@ -46,7 +46,7 @@ public class PerformanceEntry extends AbstractConfigListEntry { private int width; private AbstractWidget buttonWidget = new Button(0, 0, 0, 20, Component.empty(), button -> { Minecraft.getInstance().setScreen(new PerformanceScreen(Minecraft.getInstance().screen)); - }, Button.NO_TOOLTIP, Supplier::get) {}; + }, Supplier::get) {}; private List children = ImmutableList.of(buttonWidget); public PerformanceEntry(int width) { 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 2d4938c8f..fb720125e 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 @@ -63,6 +63,7 @@ import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.entity.ItemRenderer; import net.minecraft.core.Holder; import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.network.chat.Component; import net.minecraft.tags.TagKey; import net.minecraft.util.Mth; @@ -266,10 +267,10 @@ public abstract class AbstractDisplayViewingScreen extends Screen implements Dis Registry registry; List> objects; if (type == VanillaEntryTypes.ITEM) { - registry = Registry.ITEM; + registry = BuiltInRegistries.ITEM; objects = CollectionUtils.map(widget.getEntries(), stack -> stack.castValue().getItem().builtInRegistryHolder()); } else if (type == VanillaEntryTypes.FLUID) { - registry = Registry.FLUID; + registry = BuiltInRegistries.FLUID; objects = CollectionUtils.map(widget.getEntries(), stack -> stack.castValue().getFluid().builtInRegistryHolder()); } else continue; Stream> collection = registry.getTags() diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/WarningAndErrorScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/WarningAndErrorScreen.java index 8e1ed9666..55d9524ef 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/WarningAndErrorScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/WarningAndErrorScreen.java @@ -124,7 +124,7 @@ public class WarningAndErrorScreen extends Screen { } addRenderableWidget(buttonExit = new Button(width / 2 - 100, height - 26, 200, 20, Component.literal(errors.isEmpty() ? "Continue" : "Exit"), - button -> onContinue.accept(parent), Button.NO_TOOLTIP, Supplier::get) {}); + button -> onContinue.accept(parent), Supplier::get) {}); } @Override diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/common/entry/type/EntryRegistryListImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/common/entry/type/EntryRegistryListImpl.java index d43627aca..7669d08b9 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/common/entry/type/EntryRegistryListImpl.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/common/entry/type/EntryRegistryListImpl.java @@ -26,7 +26,7 @@ package me.shedaniel.rei.impl.common.entry.type; import it.unimi.dsi.fastutil.longs.LongList; import me.shedaniel.rei.api.common.entry.EntryStack; import me.shedaniel.rei.impl.common.util.HashedEntryStackWrapper; -import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; import java.util.AbstractList; import java.util.ArrayList; @@ -35,7 +35,7 @@ import java.util.stream.Collectors; import java.util.stream.Stream; public class EntryRegistryListImpl implements EntryRegistryList { - private final List hashedList = new ArrayList<>(Registry.ITEM.keySet().size() + 100); + private final List hashedList = new ArrayList<>(BuiltInRegistries.ITEM.keySet().size() + 100); private final List> list = createMappedList(hashedList); public EntryRegistryListImpl() { diff --git a/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/FluidEntryDefinition.java b/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/FluidEntryDefinition.java index 0d0b64ca9..e7a460761 100644 --- a/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/FluidEntryDefinition.java +++ b/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/FluidEntryDefinition.java @@ -58,7 +58,7 @@ import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.client.renderer.texture.TextureAtlas; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.resources.language.I18n; -import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; @@ -111,7 +111,7 @@ public class FluidEntryDefinition implements EntryDefinition, EntryS @Override @Nullable public ResourceLocation getIdentifier(EntryStack entry, FluidStack value) { - return Registry.FLUID.getKey(value.getFluid()); + return BuiltInRegistries.FLUID.getKey(value.getFluid()); } @Override @@ -213,7 +213,7 @@ public class FluidEntryDefinition implements EntryDefinition, EntryS public void fillCrashReport(CrashReport report, CrashReportCategory category, EntryStack entry) { EntryDefinition.super.fillCrashReport(report, category, entry); FluidStack stack = entry.getValue(); - category.setDetail("Fluid Type", () -> String.valueOf(Registry.FLUID.getKey(stack.getFluid()))); + category.setDetail("Fluid Type", () -> String.valueOf(BuiltInRegistries.FLUID.getKey(stack.getFluid()))); category.setDetail("Fluid Amount", () -> String.valueOf(stack.getAmount())); category.setDetail("Fluid NBT", () -> String.valueOf(stack.getTag())); } @@ -306,7 +306,7 @@ public class FluidEntryDefinition implements EntryDefinition, EntryS } } if (Minecraft.getInstance().options.advancedItemTooltips) { - ResourceLocation fluidId = Registry.FLUID.getKey(entry.getValue().getFluid()); + ResourceLocation fluidId = BuiltInRegistries.FLUID.getKey(entry.getValue().getFluid()); toolTip.add((Component.literal(fluidId.toString())).withStyle(ChatFormatting.DARK_GRAY)); } return Tooltip.create(toolTip); diff --git a/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java b/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java index 3ea8f26e9..c0dce1523 100644 --- a/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java +++ b/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java @@ -57,7 +57,7 @@ import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.client.renderer.texture.TextureAtlas; import net.minecraft.client.resources.language.I18n; import net.minecraft.client.resources.model.BakedModel; -import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; @@ -105,7 +105,7 @@ public class ItemEntryDefinition implements EntryDefinition, EntrySer @Override @Nullable public ResourceLocation getIdentifier(EntryStack entry, ItemStack value) { - return Registry.ITEM.getKey(value.getItem()); + return BuiltInRegistries.ITEM.getKey(value.getItem()); } @Override @@ -206,7 +206,7 @@ public class ItemEntryDefinition implements EntryDefinition, EntrySer SEARCH_BLACKLISTED.add(value.getItem()); } try { - return Component.literal(I18n.get("item." + Registry.ITEM.getKey(value.getItem()).toString().replace(":", "."))); + return Component.literal(I18n.get("item." + BuiltInRegistries.ITEM.getKey(value.getItem()).toString().replace(":", "."))); } catch (Throwable e) { e.printStackTrace(); } diff --git a/runtime/src/main/java/me/shedaniel/rei/plugin/test/REITestPlugin.java b/runtime/src/main/java/me/shedaniel/rei/plugin/test/REITestPlugin.java index 73080a7ec..3a0d59658 100644 --- a/runtime/src/main/java/me/shedaniel/rei/plugin/test/REITestPlugin.java +++ b/runtime/src/main/java/me/shedaniel/rei/plugin/test/REITestPlugin.java @@ -43,12 +43,10 @@ import me.shedaniel.rei.impl.common.InternalLogger; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.Minecraft; -import net.minecraft.commands.CommandBuildContext; import net.minecraft.commands.Commands; import net.minecraft.commands.arguments.item.ItemArgument; import net.minecraft.commands.arguments.item.ItemInput; -import net.minecraft.core.Registry; -import net.minecraft.core.RegistryAccess; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.world.item.Item; @@ -68,9 +66,9 @@ public class REITestPlugin implements REIClientPlugin { private BasicFilteringRule.MarkDirty markDirty; public REITestPlugin() { - CommandRegistrationEvent.EVENT.register((dispatcher, selection) -> { + CommandRegistrationEvent.EVENT.register((dispatcher, registry, selection) -> { dispatcher.register(Commands.literal("rei_test_reload_filtering") - .then(Commands.argument("item", ItemArgument.item(new CommandBuildContext(RegistryAccess.fromRegistryOfRegistries(Registry.REGISTRY)))) + .then(Commands.argument("item", ItemArgument.item(registry)) .executes(context -> { BasicFilteringRule basic = FilteringRuleTypeRegistry.getInstance().basic(); basic.hide(EntryStacks.of(context.getArgument("item", ItemInput.class).createItemStack(1, false))); @@ -92,7 +90,7 @@ public class REITestPlugin implements REIClientPlugin { public void registerEntries(EntryRegistry registry) { if (1 + 1 == 2) return; int times = 10; - for (Item item : Registry.ITEM) { + for (Item item : BuiltInRegistries.ITEM) { EntryStack base = EntryStacks.of(item); registry.addEntriesAfter(base, IntStream.range(0, times).mapToObj(value -> transformStack(EntryStacks.of(item))).collect(Collectors.toList())); try { @@ -107,10 +105,10 @@ public class REITestPlugin implements REIClientPlugin { @Override public void registerCollapsibleEntries(CollapsibleEntryRegistry registry) { int i = 0; - for (Item item : Registry.ITEM) { + for (Item item : BuiltInRegistries.ITEM) { if (i++ % 10 != 0) continue; - registry.group(Registry.ITEM.getKey(item), Component.literal(Registry.ITEM.getKey(item).toString()), + registry.group(BuiltInRegistries.ITEM.getKey(item), Component.literal(BuiltInRegistries.ITEM.getKey(item).toString()), stack -> stack.getType() == VanillaEntryTypes.ITEM && stack.castValue().is(item)); } } @@ -119,7 +117,7 @@ public class REITestPlugin implements REIClientPlugin { public void registerBasicEntryFilterin