diff options
| author | shedaniel <daniel@shedaniel.me> | 2024-04-10 02:50:13 +0900 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2024-04-10 20:37:13 +0900 |
| commit | fccc677951d7d5352ab7bf154951b7198d440e90 (patch) | |
| tree | a641e63c744d00ed991cf673c310a69130c9d5b9 /runtime/src/main/java | |
| parent | aebe0f1c05e5b8240b5136f3ab4f1e4a84039d96 (diff) | |
| download | RoughlyEnoughItems-fccc677951d7d5352ab7bf154951b7198d440e90.tar.gz RoughlyEnoughItems-fccc677951d7d5352ab7bf154951b7198d440e90.tar.bz2 RoughlyEnoughItems-fccc677951d7d5352ab7bf154951b7198d440e90.zip | |
Update to 24w14a
Diffstat (limited to 'runtime/src/main/java')
20 files changed, 48 insertions, 30 deletions
diff --git a/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCoreClient.java b/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCoreClient.java index 37cb7814d..8d748f704 100644 --- a/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCoreClient.java +++ b/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCoreClient.java @@ -65,7 +65,6 @@ import me.shedaniel.rei.impl.client.entry.filtering.rules.FilteringRuleTypeRegis import me.shedaniel.rei.impl.client.entry.renderer.EntryRendererRegistryImpl; import me.shedaniel.rei.impl.client.favorites.DelegatingFavoriteEntryProviderImpl; import me.shedaniel.rei.impl.client.favorites.FavoriteEntryTypeRegistryImpl; -import me.shedaniel.rei.impl.client.gui.ScreenOverlayImpl; import me.shedaniel.rei.impl.client.gui.modules.entries.SubMenuEntry; import me.shedaniel.rei.impl.client.gui.modules.entries.ToggleMenuEntry; import me.shedaniel.rei.impl.client.gui.widget.InternalWidgets; @@ -101,17 +100,18 @@ import net.minecraft.client.gui.screens.inventory.CraftingScreen; import net.minecraft.client.gui.screens.recipebook.GhostRecipe; import net.minecraft.client.gui.screens.recipebook.RecipeBookComponent; import net.minecraft.client.resources.language.I18n; +import net.minecraft.data.models.blockstates.PropertyDispatch; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.InteractionResult; import net.minecraft.world.inventory.CraftingMenu; import net.minecraft.world.inventory.Slot; +import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.item.crafting.Ingredient; -import org.apache.commons.lang3.function.TriFunction; import org.apache.commons.lang3.mutable.MutableLong; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.Nullable; @@ -154,7 +154,7 @@ public class RoughlyEnoughItemsCoreClient { return entryType.read(object); }, "favoriteEntryFromJson"); ClientInternals.attachInstance((BiFunction<@Nullable Point, Collection<Tooltip.Entry>, Tooltip>) QueuedTooltip::impl, "tooltipProvider"); - ClientInternals.attachInstance((TriFunction<Point, @Nullable TooltipFlag, Boolean, TooltipContext>) TooltipContextImpl::new, "tooltipContextProvider"); + ClientInternals.attachInstance((PropertyDispatch.QuadFunction<Point, @Nullable TooltipFlag, Boolean, Item.TooltipContext, TooltipContext>) TooltipContextImpl::new, "tooltipContextProvider"); ClientInternals.attachInstance((Function<Object, Tooltip.Entry>) QueuedTooltip.TooltipEntryImpl::new, "tooltipEntryProvider"); ClientInternals.attachInstance((BiFunction<Component, List<FavoriteMenuEntry>, FavoriteMenuEntry>) SubMenuEntry::new, "subMenuEntry"); ClientInternals.attachInstance((BiFunction<Component, BooleanValue, FavoriteMenuEntry>) (text, value) -> ToggleMenuEntry.of(text, value::get, value), "toggleEntry"); diff --git a/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java b/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java index 3f536b53e..71c49dca9 100644 --- a/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java +++ b/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java @@ -42,6 +42,7 @@ import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.ListTag; import net.minecraft.nbt.Tag; import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerPlayer; @@ -89,7 +90,7 @@ public class RoughlyEnoughItemsNetwork { } ItemStack stack = buf.readJsonWithCodec(ItemStack.OPTIONAL_CODEC); if (player.getInventory().add(stack.copy())) { - FriendlyByteBuf newBuf = new FriendlyByteBuf(Unpooled.buffer()); + RegistryFriendlyByteBuf newBuf = new RegistryFriendlyByteBuf(Unpooled.buffer(), player.registryAccess()); newBuf.writeJsonWithCodec(ItemStack.OPTIONAL_CODEC, stack.copy()); newBuf.writeUtf(player.getScoreboardName(), 32767); NetworkManager.sendToPlayer(player, RoughlyEnoughItemsNetwork.CREATE_ITEMS_MESSAGE_PACKET, newBuf); @@ -107,14 +108,14 @@ public class RoughlyEnoughItemsNetwork { AbstractContainerMenu menu = player.containerMenu; ItemStack itemStack = buf.readJsonWithCodec(ItemStack.OPTIONAL_CODEC); ItemStack stack = itemStack.copy(); - if (!menu.getCarried().isEmpty() && ItemStack.isSameItemSameTags(menu.getCarried(), stack)) { + if (!menu.getCarried().isEmpty() && ItemStack.isSameItemSameComponents(menu.getCarried(), stack)) { stack.setCount(Mth.clamp(stack.getCount() + menu.getCarried().getCount(), 1, stack.getMaxStackSize())); } else if (!menu.getCarried().isEmpty()) { return; } menu.setCarried(stack.copy()); menu.broadcastChanges(); - FriendlyByteBuf newBuf = new FriendlyByteBuf(Unpooled.buffer()); + RegistryFriendlyByteBuf newBuf = new RegistryFriendlyByteBuf(Unpooled.buffer(), player.registryAccess()); newBuf.writeJsonWithCodec(ItemStack.OPTIONAL_CODEC, stack.copy()); newBuf.writeUtf(player.getScoreboardName(), 32767); NetworkManager.sendToPlayer(player, RoughlyEnoughItemsNetwork.CREATE_ITEMS_MESSAGE_PACKET, newBuf); @@ -131,7 +132,7 @@ public class RoughlyEnoughItemsNetwork { AbstractContainerMenu menu = player.containerMenu; player.getInventory().items.set(hotbarSlotId, stack.copy()); menu.broadcastChanges(); - FriendlyByteBuf newBuf = new FriendlyByteBuf(Unpooled.buffer()); + RegistryFriendlyByteBuf newBuf = new RegistryFriendlyByteBuf(Unpooled.buffer(), player.registryAccess()); newBuf.writeJsonWithCodec(ItemStack.OPTIONAL_CODEC, stack.copy()); newBuf.writeUtf(player.getScoreboardName(), 32767); NetworkManager.sendToPlayer(player, RoughlyEnoughItemsNetwork.CREATE_ITEMS_MESSAGE_PACKET, newBuf); 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 0ebef6306..2a489e9f0 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 @@ -58,7 +58,7 @@ import net.minecraft.client.gui.screens.Screen; import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen; import net.minecraft.client.gui.screens.inventory.CreativeModeInventoryScreen; import net.minecraft.core.NonNullList; -import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.LazyLoadedValue; @@ -188,7 +188,7 @@ public class ClientHelperImpl implements ClientHelper { inventoryScreen.isQuickCrafting = false; return; } - NetworkManager.sendToServer(RoughlyEnoughItemsNetwork.DELETE_ITEMS_PACKET, new FriendlyByteBuf(Unpooled.buffer())); + NetworkManager.sendToServer(RoughlyEnoughItemsNetwork.DELETE_ITEMS_PACKET, new RegistryFriendlyByteBuf(Unpooled.buffer(), Minecraft.getInstance().player.registryAccess())); if (Minecraft.getInstance().screen instanceof AbstractContainerScreen<?> containerScreen) { containerScreen.isQuickCrafting = false; } @@ -219,7 +219,7 @@ public class ClientHelperImpl implements ClientHelper { return false; } try { - FriendlyByteBuf newBuf = new FriendlyByteBuf(Unpooled.buffer()); + RegistryFriendlyByteBuf newBuf = new RegistryFriendlyByteBuf(Unpooled.buffer(), Minecraft.getInstance().player.registryAccess()); newBuf.writeJsonWithCodec(ItemStack.OPTIONAL_CODEC, cheatedStack); NetworkManager.sendToServer(ConfigObject.getInstance().isGrabbingItems() ? RoughlyEnoughItemsNetwork.CREATE_ITEMS_GRAB_PACKET : RoughlyEnoughItemsNetwork.CREATE_ITEMS_PACKET, newBuf); return true; @@ -266,7 +266,7 @@ public class ClientHelperImpl implements ClientHelper { return false; } try { - FriendlyByteBuf newBuf = new FriendlyByteBuf(Unpooled.buffer()); + RegistryFriendlyByteBuf newBuf = new RegistryFriendlyByteBuf(Unpooled.buffer(), Minecraft.getInstance().player.registryAccess()); newBuf.writeJsonWithCodec(ItemStack.OPTIONAL_CODEC, stack.getValue().copy()); newBuf.writeVarInt(hotbarSlotId); NetworkManager.sendToServer(RoughlyEnoughItemsNetwork.CREATE_ITEMS_HOTBAR_PACKET, newBuf); diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringScreen.java index 9d826cfd2..60e989939 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringScreen.java @@ -59,6 +59,7 @@ import net.minecraft.client.gui.screens.Screen; import net.minecraft.client.renderer.GameRenderer; import net.minecraft.network.chat.Component; import net.minecraft.util.Mth; +import net.minecraft.world.item.Item; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.Nullable; import org.joml.Matrix4f; @@ -511,7 +512,7 @@ public class FilteringScreen extends Screen { protected void queueTooltip(GuiGraphics graphics, int mouseX, int mouseY, float delta) { if (searchField.containsMouse(mouseX, mouseY)) return; - Tooltip tooltip = getCurrentTooltip(TooltipContext.of(new Point(mouseX, mouseY))); + Tooltip tooltip = getCurrentTooltip(TooltipContext.of(new Point(mouseX, mouseY), Item.TooltipContext.of(minecraft.level))); if (tooltip != null) { FilteringScreen.this.tooltip = tooltip; } diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/entry/type/types/RenderingEntryDefinition.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/entry/type/types/RenderingEntryDefinition.java index bbf5f78f0..7f824c034 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/entry/type/types/RenderingEntryDefinition.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/entry/type/types/RenderingEntryDefinition.java @@ -36,6 +36,7 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.network.chat.Component; +import net.minecraft.world.item.Item; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.Nullable; @@ -45,7 +46,7 @@ public class RenderingEntryDefinition { public static final EntryDefinition<Renderer> RENDERING = new BuiltinEntryDefinition<Renderer>(Renderer.class, BuiltinClientEntryTypes.RENDERING, false, RenderingEntryDefinition::throwRendering, () -> () -> DeferredRenderer.INSTANCE) { @Override public Component asFormattedText(EntryStack<Renderer> entry, Renderer value) { - Tooltip tooltip = value.getTooltip(TooltipContext.ofMouse()); + Tooltip tooltip = value.getTooltip(TooltipContext.ofMouse(Item.TooltipContext.EMPTY)); if (tooltip != null) { for (Tooltip.Entry e : tooltip.entries()) { if (e.isText()) { diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/favorites/DelegatingFavoriteEntryProviderImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/favorites/DelegatingFavoriteEntryProviderImpl.java index 17d34c12f..0c5be1ac0 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/favorites/DelegatingFavoriteEntryProviderImpl.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/favorites/DelegatingFavoriteEntryProviderImpl.java @@ -51,7 +51,7 @@ public class DelegatingFavoriteEntryProviderImpl extends FavoriteEntry { synchronized (this) { if (this.value == null) { DataResult<FavoriteEntry> result = supplier.get(); - this.value = result.getOrThrow(false, error -> {}); + this.value = result.result().orElse(null); } } return Objects.requireNonNull(value).getUnwrapped(); diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/CompositeDisplayViewingScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/CompositeDisplayViewingScreen.java index c584230ce..1d0d4584e 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/CompositeDisplayViewingScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/CompositeDisplayViewingScreen.java @@ -51,6 +51,7 @@ import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.events.GuiEventListener; import net.minecraft.network.chat.Component; import net.minecraft.util.Mth; +import net.minecraft.world.item.Item; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.Nullable; @@ -373,7 +374,7 @@ public class CompositeDisplayViewingScreen extends AbstractDisplayViewingScreen for (int i = 0; i < buttonList.size(); i++) { if (buttonList.get(i).getBounds().getMaxY() > scrollListBounds.getMinY() && buttonList.get(i).getBounds().getMinY() < scrollListBounds.getMaxY()) { displayRenderers.get(i).render(graphics, buttonList.get(i).getBounds(), mouseX, mouseY, delta); - Optional.ofNullable(displayRenderers.get(i).getTooltip(TooltipContext.of(new Point(mouseX, mouseY)))).ifPresent(Tooltip::queue); + Optional.ofNullable(displayRenderers.get(i).getTooltip(TooltipContext.of(new Point(mouseX, mouseY), Item.TooltipContext.of(minecraft.level)))).ifPresent(Tooltip::queue); } } scrolling.renderScrollBar(graphics, 0, scrollBarAlpha, REIRuntime.getInstance().isDarkThemeEnabled() ? 0.8f : 1f); diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryWidget.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryWidget.java index 3b36febb8..0f8cffc95 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryWidget.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryWidget.java @@ -78,6 +78,7 @@ import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvents; import net.minecraft.util.Mth; +import net.minecraft.world.item.Item; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.Nullable; @@ -429,7 +430,7 @@ public class EntryWidget extends Slot implements DraggableStackProviderWidget { } protected void queueTooltip(GuiGraphics graphics, int mouseX, int mouseY, float delta) { - Tooltip tooltip = getCurrentTooltip(TooltipContext.ofMouse()); + Tooltip tooltip = getCurrentTooltip(TooltipContext.ofMouse(Item.TooltipContext.of(minecraft.level))); if (tooltip != null) { tooltip.queue(); } diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/TooltipContextImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/TooltipContextImpl.java index b1ac9c85d..07891b976 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/TooltipContextImpl.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/TooltipContextImpl.java @@ -26,6 +26,7 @@ package me.shedaniel.rei.impl.client.gui.widget; import me.shedaniel.math.Point; import me.shedaniel.rei.api.client.gui.widgets.TooltipContext; import net.minecraft.client.Minecraft; +import net.minecraft.world.item.Item; import net.minecraft.world.item.TooltipFlag; import org.jetbrains.annotations.Nullable; @@ -36,11 +37,13 @@ public class TooltipContextImpl implements TooltipContext { @Nullable private final TooltipFlag flag; private final boolean isSearch; + private final Item.TooltipContext vanillaContext; - public TooltipContextImpl(Point point, @Nullable TooltipFlag flag, boolean isSearch) { + public TooltipContextImpl(Point point, @Nullable TooltipFlag flag, boolean isSearch, Item.TooltipContext vanillaContext) { this.point = Objects.requireNonNull(point); this.flag = flag; this.isSearch = isSearch; + this.vanillaContext = Objects.requireNonNull(vanillaContext); } @Override @@ -58,4 +61,9 @@ public class TooltipContextImpl implements TooltipContext { public boolean isSearch() { return isSearch; } + + @Override + public Item.TooltipContext vanillaContext() { + return vanillaContext; + } } diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/favorites/panel/rows/FavoritesPanelEntriesRow.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/favorites/panel/rows/FavoritesPanelEntriesRow.java index aa02937a7..903d42ca7 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/favorites/panel/rows/FavoritesPanelEntriesRow.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/favorites/panel/rows/FavoritesPanelEntriesRow.java @@ -170,7 +170,7 @@ public class FavoritesPanelEntriesRow extends FavoritesPanelRow { @Override @Nullable public Tooltip getCurrentTooltip(TooltipContext context) { - context = TooltipContext.ofMouse(); + context = TooltipContext.ofMouse(context.vanillaContext()); if (!panel.getInnerBounds().contains(context.getPoint())) return null; Tooltip tooltip = super.getCurrentTooltip(context); if (tooltip != null) { diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/search/argument/type/RegexArgumentType.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/search/argument/type/RegexArgumentType.java index 308934af3..002bf9db3 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/search/argument/type/RegexArgumentType.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/search/argument/type/RegexArgumentType.java @@ -32,6 +32,7 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.network.chat.Style; import net.minecraft.network.chat.TextColor; +import net.minecraft.world.item.Item; import net.minecraft.world.item.TooltipFlag; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.Nullable; @@ -43,7 +44,7 @@ import java.util.regex.PatternSyntaxException; @ApiStatus.Internal @Environment(EnvType.CLIENT) public final class RegexArgumentType extends ArgumentType<@Nullable Pattern, String> { - private static final TooltipContext CONTEXT = TooltipContext.of(new Point(), TooltipFlag.Default.NORMAL, true); + private static final TooltipContext CONTEXT = TooltipContext.of(new Point(), Item.TooltipContext.EMPTY, TooltipFlag.Default.NORMAL, true); private static final String EMPTY = ""; private static final Style STYLE = Style.EMPTY.withColor(TextColor.fromRgb(0xbfffa8)); diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/search/argument/type/TextArgumentType.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/search/argument/type/TextArgumentType.java index 8347079b5..21613d952 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/search/argument/type/TextArgumentType.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/search/argument/type/TextArgumentType.java @@ -31,6 +31,7 @@ import me.shedaniel.rei.api.common.util.FormattingUtils; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.util.Unit; +import net.minecraft.world.item.Item; import net.minecraft.world.item.TooltipFlag; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.Nullable; @@ -40,7 +41,7 @@ import java.util.Locale; @ApiStatus.Internal @Environment(EnvType.CLIENT) public final class TextArgumentType extends ArgumentType<Unit, String> { - private static final TooltipContext CONTEXT = TooltipContext.of(new Point(), TooltipFlag.Default.NORMAL, true); + private static final TooltipContext CONTEXT = TooltipContext.of(new Point(), Item.TooltipContext.EMPTY, TooltipFlag.Default.NORMAL, true); @Override public String getName() { diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/search/argument/type/TooltipArgumentType.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/search/argument/type/TooltipArgumentType.java index 308f7ff2e..3999ad0c3 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/search/argument/type/TooltipArgumentType.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/search/argument/type/TooltipArgumentType.java @@ -34,6 +34,7 @@ import net.fabricmc.api.Environment; import net.minecraft.network.chat.Style; import net.minecraft.network.chat.TextColor; import net.minecraft.util.Unit; +import net.minecraft.world.item.Item; import net.minecraft.world.item.TooltipFlag; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.Nullable; @@ -45,7 +46,7 @@ import java.util.StringJoiner; @ApiStatus.Internal @Environment(EnvType.CLIENT) public final class TooltipArgumentType extends ArgumentType<Unit, String> { - private static final TooltipContext CONTEXT = TooltipContext.of(new Point(), TooltipFlag.Default.NORMAL, true); + private static final TooltipContext CONTEXT = TooltipContext.of(new Point(), Item.TooltipContext.EMPTY, TooltipFlag.Default.NORMAL, true); public static String INVALID = "INVALID_PIECE_OF_TOOLTIP_I_DONT_THINK_PEOPLE_WILL_EXACTLY_HAVE_THIS_REI_REI_REI"; private static final Style STYLE = Style.EMPTY.withColor(TextColor.fromRgb(0xffe0ad)); diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/transfer/SimpleTransferHandlerImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/transfer/SimpleTransferHandlerImpl.java index 893562fbe..83630bc61 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/transfer/SimpleTransferHandlerImpl.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/transfer/SimpleTransferHandlerImpl.java @@ -43,7 +43,7 @@ import net.minecraft.client.gui.screens.recipebook.RecipeUpdateListener; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.ListTag; import net.minecraft.nbt.Tag; -import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.chat.Component; import net.minecraft.world.item.ItemStack; @@ -83,7 +83,7 @@ public enum SimpleTransferHandlerImpl implements ClientInternals.SimpleTransferH listener.getRecipeBookComponent().ghostRecipe.clear(); } - FriendlyByteBuf buf = new FriendlyByteBuf(Unpooled.buffer()); + RegistryFriendlyByteBuf buf = new RegistryFriendlyByteBuf(Unpooled.buffer(), context.getMinecraft().getConnection().registryAccess()); buf.writeResourceLocation(context.getDisplay().getCategoryIdentifier().getIdentifier()); buf.writeBoolean(context.isStackedCrafting()); diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/common/entry/AbstractEntryStack.java b/runtime/src/main/java/me/shedaniel/rei/impl/common/entry/AbstractEntryStack.java index 7a360f382..9919db1de 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/common/entry/AbstractEntryStack.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/common/entry/AbstractEntryStack.java @@ -42,6 +42,7 @@ import net.minecraft.client.gui.GuiGraphics; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.TagKey; +import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import org.apache.commons.lang3.mutable.Mutable; import org.apache.commons.lang3.mutable.MutableObject; @@ -241,7 +242,7 @@ public abstract class AbstractEntryStack<A> implements EntryStack<A>, Renderer { @Override public Component asFormattedText() { - return getDefinition().asFormattedText(this, getValue(), TooltipContext.of()); + return getDefinition().asFormattedText(this, getValue(), TooltipContext.of(Item.TooltipContext.EMPTY)); } @Override diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/common/transfer/InputSlotCrafter.java b/runtime/src/main/java/me/shedaniel/rei/impl/common/transfer/InputSlotCrafter.java index 50b24676a..07a2db41d 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/common/transfer/InputSlotCrafter.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/common/transfer/InputSlotCrafter.java @@ -160,7 +160,7 @@ public abstract class InputSlotCrafter<T extends AbstractContainerMenu, C extend } private static boolean areItemsEqual(ItemStack stack1, ItemStack stack2) { - return ItemStack.isSameItemSameTags(stack1, stack2); + return ItemStack.isSameItemSameComponents(stack1, stack2); } public static class NotEnoughMaterialsException extends RuntimeException { diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/common/transfer/NewInputSlotCrafter.java b/runtime/src/main/java/me/shedaniel/rei/impl/common/transfer/NewInputSlotCrafter.java index a2d35f24d..a7965324f 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/common/transfer/NewInputSlotCrafter.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/common/transfer/NewInputSlotCrafter.java @@ -129,6 +129,6 @@ public class NewInputSlotCrafter<T extends AbstractContainerMenu, C extends Cont } static boolean canStackAddMore(ItemStack existingStack, ItemStack stack) { - return !existingStack.isEmpty() && ItemStack.isSameItemSameTags(existingStack, stack) && existingStack.isStackable() && existingStack.getCount() + stack.getCount() <= existingStack.getMaxStackSize(); + return !existingStack.isEmpty() && ItemStack.isSameItemSameComponents(existingStack, stack) && existingStack.isStackable() && existingStack.getCount() + stack.getCount() <= existingStack.getMaxStackSize(); } } diff --git a/runtime/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultCategoryHandler.java b/runtime/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultCategoryHandler.java index 426e19f57..5f5a61cc1 100644 --- a/runtime/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultCategoryHandler.java +++ b/runtime/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultCategoryHandler.java @@ -48,6 +48,7 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen; import net.minecraft.client.gui.screens.recipebook.RecipeUpdateListener; import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.chat.Component; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.AbstractContainerMenu; @@ -114,7 +115,7 @@ public class DefaultCategoryHandler implements TransferHandler { if (containerScreen instanceof RecipeUpdateListener listener) { listener.getRecipeBookComponent().ghostRecipe.clear(); } - FriendlyByteBuf buf = new FriendlyByteBuf(Unpooled.buffer()); + RegistryFriendlyByteBuf buf = new RegistryFriendlyByteBuf(Unpooled.buffer(), context.getMinecraft().getConnection().registryAccess()); buf.writeResourceLocation(display.getCategoryIdentifier().getIdentifier()); buf.writeBoolean(context.isStackedCrafting()); 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 50140d3e2..93aac1fa6 100644 --- a/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/FluidEntryDefinition.java +++ b/ |
