aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/curseforge.yml1
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/ClientHelper.java4
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/common/transfer/RecipeFinder.java4
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/common/transfer/info/simple/DumpHandler.java2
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/common/util/EntryIngredients.java3
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientPlugin.java36
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/tag/TagNodes.java3
-rw-r--r--fabric/build.gradle2
-rw-r--r--fabric/src/main/java/me/shedaniel/rei/impl/client/gui/fabric/ScreenOverlayImplFabric.java3
-rw-r--r--fabric/src/main/java/me/shedaniel/rei/mixin/fabric/MixinTagLoader.java3
-rw-r--r--fabric/src/main/resources/roughlyenoughitems.accessWidener2
-rw-r--r--forge/build.gradle4
-rw-r--r--forge/src/main/java/me/shedaniel/rei/impl/client/gui/forge/ScreenOverlayImplForge.java3
-rw-r--r--forge/src/main/java/me/shedaniel/rei/mixin/forge/MixinTagLoader.java3
-rw-r--r--forge/src/main/resources/META-INF/accesstransformer.cfg7
-rw-r--r--gradle.properties16
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigManagerImpl.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/addon/ConfigAddonsScreen.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/ConfigAddonsEntry.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringAddRuleScreen.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringCategoriesEntry.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringCategoriesScreen.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringEntry.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRuleOptionsScreen.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRulesScreen.java8
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/NoFilteringCategoriesEntry.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/NoFilteringEntry.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/RecipeScreenTypeEntry.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/ReloadPluginsEntry.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/SearchFilterSyntaxHighlightingEntry.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/credits/CreditsScreen.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/error/ErrorsScreen.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/performance/PerformanceScreen.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/performance/entry/PerformanceEntry.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/AbstractDisplayViewingScreen.java5
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/WarningAndErrorScreen.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/common/entry/type/EntryRegistryListImpl.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/FluidEntryDefinition.java8
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java6
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/plugin/test/REITestPlugin.java18
-rwxr-xr-xsettings.gradle2
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<T extends AbstractContainerMenu, D extends Display>
}
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 <S, T> EntryIngredient ofTag(TagKey<S> tagKey, Function<Holder<S>, EntryStack<T>> mapper) {
- Registry<S> registry = ((Registry<Registry<S>>) Registry.REGISTRY).get((ResourceKey<Registry<S>>) tagKey.registry());
+ Registry<S> registry = ((Registry<Registry<S>>) BuiltInRegistries.REGISTRY).get((ResourceKey<Registry<S>>) tagKey.registry());
HolderSet.Named<S> 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<Item, EntryStack<ItemStack>> 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<EntryStack<ItemStack>> 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<EntryIngredient> 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 <T> void create(TagKey<T> tagKey, Consumer<DataResult<TagNode<T>>> callback) {
- Registry<T> registry = ((Registry<Registry<T>>) Registry.REGISTRY).get((ResourceKey<Registry<T>>) tagKey.registry());
+ Registry<T> registry = ((Registry<Registry<T>>) BuiltInRegistries.REGISTRY).get((ResourceKey<Registry<T>>) 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<T> {
TagNodes.TAG_DATA_MAP.put(resourceKey, new HashMap<>());
Map<ResourceLocation, TagNodes.TagData> tagDataMap = TagNodes.TAG_DATA_MAP.get(resourceKey);
if (tagDataMap == null) return;
- Registry<T> registry = ((Registry<Registry<T>>) Registry.REGISTRY).get((ResourceKey<Registry<T>>) resourceKey);
+ Registry<T> registry = ((Registry<Registry<T>>) BuiltInRegistries.REGISTRY).get((ResourceKey<Registry<T>>) resourceKey);
Stopwatch stopwatch = Stopwatch.createStarted();
Iterator<Map.Entry<TagNodes.CollectionWrapper<?>, 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<T> {
TagNodes.TAG_DATA_MAP.put(resourceKey, new HashMap<>());
Map<ResourceLocation, TagNodes.TagData> tagDataMap = TagNodes.TAG_DATA_MAP.get(resourceKey);
if (tagDataMap == null) return;
- Registry<T> registry = ((Registry<Registry<T>>) Registry.REGISTRY).get((ResourceKey<Registry<T>>) resourceKey);
+ Registry<T> registry = ((Registry<Registry<T>>) BuiltInRegistries.REGISTRY).get((ResourceKey<Registry<T>>) resourceKey);
Stopwatch stopwatch = Stopwatch.createStarted();
Iterator<Map.Entry<TagNodes.CollectionWrapper<?>, 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.