From 42da19090b74e0168c68cc6db02e8bceef203d65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Sat, 31 Dec 2022 12:24:03 +0100 Subject: [PATCH] Migrate to 1.19.3. --- .../java/li/cil/manual/api/prefab/Manual.java | 4 +- .../provider/NamespacePathProvider.java | 14 +-- .../prefab/renderer/BitmapFontRenderer.java | 7 +- .../manual/api/prefab/tab/ItemStackTab.java | 6 +- .../document/segment/RenderSegment.java | 3 +- .../render/ItemStackContentRenderer.java | 6 +- .../render/TextureContentRenderer.java | 3 +- .../cil/manual/client/gui/ManualScreen.java | 113 +++++++++++------- .../provider/BlockRendererProvider.java | 4 +- .../client/provider/ItemRendererProvider.java | 4 +- .../client/provider/TagRendererProvider.java | 6 +- .../cil/manual/client/util/RegistryUtils.java | 5 +- fabric/src/main/resources/fabric.mod.json | 4 +- forge/src/main/resources/META-INF/mods.toml | 8 +- gradle.properties | 8 +- 15 files changed, 110 insertions(+), 85 deletions(-) diff --git a/common/src/main/java/li/cil/manual/api/prefab/Manual.java b/common/src/main/java/li/cil/manual/api/prefab/Manual.java index fb1e5cf..cc2cb05 100644 --- a/common/src/main/java/li/cil/manual/api/prefab/Manual.java +++ b/common/src/main/java/li/cil/manual/api/prefab/Manual.java @@ -2,7 +2,7 @@ import com.google.common.base.Suppliers; import dev.architectury.registry.registries.Registrar; -import dev.architectury.registry.registries.Registries; +import dev.architectury.registry.registries.RegistrarManager; import li.cil.manual.api.ManualModel; import li.cil.manual.api.Tab; import li.cil.manual.api.content.Document; @@ -35,7 +35,7 @@ public class Manual implements ManualModel { */ private static final String REDIRECT_PRAGMA = "#redirect "; - private static final Supplier REGISTRIES = Suppliers.memoize(() -> Registries.get(Constants.MOD_ID)); + private static final Supplier REGISTRIES = Suppliers.memoize(() -> RegistrarManager.get(Constants.MOD_ID)); // ----------------------------------------------------------------------- // diff --git a/common/src/main/java/li/cil/manual/api/prefab/provider/NamespacePathProvider.java b/common/src/main/java/li/cil/manual/api/prefab/provider/NamespacePathProvider.java index 6d74d98..4a6d49d 100644 --- a/common/src/main/java/li/cil/manual/api/prefab/provider/NamespacePathProvider.java +++ b/common/src/main/java/li/cil/manual/api/prefab/provider/NamespacePathProvider.java @@ -4,7 +4,7 @@ import li.cil.manual.api.provider.PathProvider; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; -import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; @@ -43,8 +43,8 @@ public Optional pathFor(final ItemStack stack) { final Item item = stack.getItem(); final Block block = Block.byItem(item); if (block != Blocks.AIR) { - final ResourceLocation blockId = Registry.BLOCK.getKey(block); - if (blockId == Registry.BLOCK.getDefaultKey()) { + final ResourceLocation blockId = BuiltInRegistries.BLOCK.getKey(block); + if (blockId == BuiltInRegistries.BLOCK.getDefaultKey()) { return Optional.empty(); } @@ -56,8 +56,8 @@ public Optional pathFor(final ItemStack stack) { .replace(PATH, blockId.getPath())); } } else { - final ResourceLocation itemId = Registry.ITEM.getKey(item); - if (itemId == Registry.ITEM.getDefaultKey()) { + final ResourceLocation itemId = BuiltInRegistries.ITEM.getKey(item); + if (itemId == BuiltInRegistries.ITEM.getDefaultKey()) { return Optional.empty(); } @@ -76,8 +76,8 @@ public Optional pathFor(final ItemStack stack) { @Override public Optional pathFor(final Level world, final BlockPos pos, final Direction face) { final Block block = world.getBlockState(pos).getBlock(); - final ResourceLocation blockId = Registry.BLOCK.getKey(block); - if (blockId == Registry.BLOCK.getDefaultKey()) { + final ResourceLocation blockId = BuiltInRegistries.BLOCK.getKey(block); + if (blockId == BuiltInRegistries.BLOCK.getDefaultKey()) { return Optional.empty(); } diff --git a/common/src/main/java/li/cil/manual/api/prefab/renderer/BitmapFontRenderer.java b/common/src/main/java/li/cil/manual/api/prefab/renderer/BitmapFontRenderer.java index eafe239..bff2525 100644 --- a/common/src/main/java/li/cil/manual/api/prefab/renderer/BitmapFontRenderer.java +++ b/common/src/main/java/li/cil/manual/api/prefab/renderer/BitmapFontRenderer.java @@ -4,7 +4,6 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.blaze3d.vertex.VertexFormat; -import com.mojang.math.Matrix4f; import it.unimi.dsi.fastutil.chars.Char2IntMap; import it.unimi.dsi.fastutil.chars.Char2IntOpenHashMap; import li.cil.manual.api.render.FontRenderer; @@ -154,7 +153,7 @@ private void drawChar(final PoseStack matrixStack, final VertexConsumer buffer, final float u = column * U_STEP; final float v = row * V_STEP; - final Matrix4f matrix = matrixStack.last().pose(); + final var matrix = matrixStack.last().pose(); buffer.vertex(matrix, x, lineHeight(), 0) .color(r, g, b, a) .uv(u, v + V_SIZE) @@ -203,7 +202,9 @@ public static RenderType create(final ResourceLocation texture) { // --------------------------------------------------------------------- // private FontRenderTypes() { - super("", DefaultVertexFormat.POSITION, VertexFormat.Mode.QUADS, 256, false, false, () -> {}, () -> {}); + super("", DefaultVertexFormat.POSITION, VertexFormat.Mode.QUADS, 256, false, false, () -> { + }, () -> { + }); throw new UnsupportedOperationException("No meant to be instantiated."); } } diff --git a/common/src/main/java/li/cil/manual/api/prefab/tab/ItemStackTab.java b/common/src/main/java/li/cil/manual/api/prefab/tab/ItemStackTab.java index 455a57e..8b33538 100644 --- a/common/src/main/java/li/cil/manual/api/prefab/tab/ItemStackTab.java +++ b/common/src/main/java/li/cil/manual/api/prefab/tab/ItemStackTab.java @@ -2,10 +2,10 @@ import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Vector4f; import net.minecraft.client.Minecraft; import net.minecraft.network.chat.Component; import net.minecraft.world.item.ItemStack; +import org.joml.Vector4f; import javax.annotation.Nullable; @@ -25,8 +25,8 @@ public void renderIcon(final PoseStack matrixStack) { // This is *nasty*, but sadly there's no renderItemAndEffectIntoGUI() variant that // takes a MatrixStack. Yet. - final Vector4f position = new Vector4f(0, 0, 0, 1); - position.transform(matrixStack.last().pose()); + final var position = new Vector4f(); + position.mul(matrixStack.last().pose()); final PoseStack renderSystemPoseStack = RenderSystem.getModelViewStack(); renderSystemPoseStack.pushPose(); diff --git a/common/src/main/java/li/cil/manual/client/document/segment/RenderSegment.java b/common/src/main/java/li/cil/manual/client/document/segment/RenderSegment.java index 88aa253..b59729e 100644 --- a/common/src/main/java/li/cil/manual/client/document/segment/RenderSegment.java +++ b/common/src/main/java/li/cil/manual/client/document/segment/RenderSegment.java @@ -1,7 +1,6 @@ package li.cil.manual.client.document.segment; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Matrix4f; import li.cil.manual.api.render.ContentRenderer; import li.cil.manual.api.render.InteractiveContentRenderer; import li.cil.manual.api.util.PathUtils; @@ -82,7 +81,7 @@ public Optional render(final PoseStack matrixStack, final in mouseY >= y && mouseY <= y + height; if (isHovered) { DocumentRenderTypes.draw(DocumentRenderTypes.highlight(), (buffer) -> { - final Matrix4f matrix = matrixStack.last().pose(); + final var matrix = matrixStack.last().pose(); final float r = 0.2f, g = 0.4f, b = 0.6f, a = 0.25f; diff --git a/common/src/main/java/li/cil/manual/client/document/segment/render/ItemStackContentRenderer.java b/common/src/main/java/li/cil/manual/client/document/segment/render/ItemStackContentRenderer.java index 4c2e798..73ff837 100644 --- a/common/src/main/java/li/cil/manual/client/document/segment/render/ItemStackContentRenderer.java +++ b/common/src/main/java/li/cil/manual/client/document/segment/render/ItemStackContentRenderer.java @@ -2,10 +2,10 @@ import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Vector4f; import li.cil.manual.api.render.ContentRenderer; import net.minecraft.client.Minecraft; import net.minecraft.world.item.ItemStack; +import org.joml.Vector4f; public final class ItemStackContentRenderer implements ContentRenderer { /** @@ -47,8 +47,8 @@ public void render(final PoseStack matrixStack, final int mouseX, final int mous // This is *nasty*, but sadly there's no renderItemAndEffectIntoGUI() variant that // takes a MatrixStack. Yet. - final Vector4f position = new Vector4f(0, 0, 0, 1); - position.transform(matrixStack.last().pose()); + final var position = new Vector4f(); + position.mul(matrixStack.last().pose()); final PoseStack renderSystemPoseStack = RenderSystem.getModelViewStack(); renderSystemPoseStack.pushPose(); diff --git a/common/src/main/java/li/cil/manual/client/document/segment/render/TextureContentRenderer.java b/common/src/main/java/li/cil/manual/client/document/segment/render/TextureContentRenderer.java index 6eca388..1f967e1 100644 --- a/common/src/main/java/li/cil/manual/client/document/segment/render/TextureContentRenderer.java +++ b/common/src/main/java/li/cil/manual/client/document/segment/render/TextureContentRenderer.java @@ -2,7 +2,6 @@ import com.mojang.blaze3d.platform.NativeImage; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Matrix4f; import li.cil.manual.api.render.ContentRenderer; import li.cil.manual.client.document.DocumentRenderTypes; import net.minecraft.client.Minecraft; @@ -51,7 +50,7 @@ public int getHeight() { @Override public void render(final PoseStack matrixStack, final int mouseX, final int mouseY) { DocumentRenderTypes.draw(DocumentRenderTypes.texture(location), (buffer) -> { - final Matrix4f matrix = matrixStack.last().pose(); + final var matrix = matrixStack.last().pose(); buffer.vertex(matrix, 0, texture.height, 0).uv(0, 1).endVertex(); buffer.vertex(matrix, texture.width, texture.height, 0).uv(1, 1).endVertex(); buffer.vertex(matrix, texture.width, 0, 0).uv(1, 0).endVertex(); diff --git a/common/src/main/java/li/cil/manual/client/gui/ManualScreen.java b/common/src/main/java/li/cil/manual/client/gui/ManualScreen.java index ac59739..0c915ce 100644 --- a/common/src/main/java/li/cil/manual/client/gui/ManualScreen.java +++ b/common/src/main/java/li/cil/manual/client/gui/ManualScreen.java @@ -11,17 +11,18 @@ import li.cil.manual.client.document.segment.InteractiveSegment; import li.cil.manual.client.util.IterableUtils; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.components.AbstractWidget; import net.minecraft.client.gui.components.Button; -import net.minecraft.client.gui.components.events.GuiEventListener; import net.minecraft.client.gui.screens.Screen; +import net.minecraft.client.gui.screens.inventory.tooltip.ClientTooltipPositioner; import net.minecraft.client.player.LocalPlayer; import net.minecraft.client.renderer.GameRenderer; import net.minecraft.client.renderer.Rect2i; import net.minecraft.client.resources.sounds.SimpleSoundInstance; import net.minecraft.client.sounds.SoundManager; import net.minecraft.network.chat.Component; +import net.minecraft.util.FormattedCharSequence; import net.minecraft.util.Mth; +import org.joml.Vector2i; import java.util.*; @@ -37,7 +38,7 @@ public final class ManualScreen extends Screen { private int topPos = 0; private float scrollPos = 0; - private boolean isDragging = false; + private boolean isDraggingScrollButton = false; private int documentHeight = 0; private Optional currentSegment = Optional.empty(); @@ -65,7 +66,7 @@ public void init() { addRenderableWidget(new TabButton(leftPos + x, topPos + y, tab, (button) -> pushManualPage(tab))); }); - scrollButton = addRenderableWidget(new ScrollButton( + scrollButton = addWidget(new ScrollButton( leftPos + screenStyle.getScrollBarRect().getX() + screenStyle.getScrollButtonRect().getX(), topPos + screenStyle.getScrollBarRect().getY() + screenStyle.getScrollButtonRect().getY(), screenStyle.getScrollButtonRect().getWidth(), @@ -100,6 +101,9 @@ public void render(final PoseStack matrixStack, final int mouseX, final int mous final Rect2i windowRect = screenStyle.getWindowRect(); blit(matrixStack, leftPos, topPos, 0, 0, windowRect.getWidth(), windowRect.getHeight(), windowRect.getWidth(), windowRect.getHeight()); + // Render scroll bar tooltip (button will override this tooltip if currently dragging). + renderScrollbarTooltip(mouseX, mouseY); + // Render scroll button in front of manual. scrollButton.active = canScroll(); scrollButton.render(matrixStack, mouseX, mouseY, partialTicks); @@ -119,14 +123,6 @@ public void render(final PoseStack matrixStack, final int mouseX, final int mous currentSegment.flatMap(InteractiveSegment::getTooltip).ifPresent(t -> renderComponentTooltip(matrixStack, Collections.singletonList(t), mouseX, mouseY)); - - for (final GuiEventListener widget : this.children()) { - if (widget instanceof final AbstractWidget button) { - if (button.active && (!isDragging || widget == scrollButton)) { - button.renderToolTip(matrixStack, mouseX, mouseY); - } - } - } } @Override @@ -163,7 +159,7 @@ public boolean mouseClicked(final double mouseX, final double mouseY, final int } if (canScroll() && button == 0 && isCoordinateOverScrollBar(mouseX, mouseY)) { - isDragging = true; + isDraggingScrollButton = true; scrollButton.playDownSound(Minecraft.getInstance().getSoundManager()); scrollTo(mouseY); return true; @@ -183,7 +179,7 @@ public boolean mouseDragged(final double mouseX, final double mouseY, final int return true; } - if (isDragging) { + if (isDraggingScrollButton) { scrollTo(mouseY); return true; } @@ -196,7 +192,7 @@ public boolean mouseReleased(final double mouseX, final double mouseY, final int super.mouseReleased(mouseX, mouseY, button); if (button == 0) { - isDragging = false; + isDraggingScrollButton = false; } return true; @@ -209,6 +205,12 @@ public boolean isPauseScreen() { // --------------------------------------------------------------------- // + private void renderScrollbarTooltip(final int mouseX, final int mouseY) { + if (isCoordinateOverScrollBar(mouseX, mouseY)) { + scrollButton.applyTooltip(false); + } + } + private void pushManualPage(final Tab tab) { model.push(tab.getPath()); } @@ -299,26 +301,13 @@ private class TabButton extends Button { private int targetX; TabButton(final int x, final int y, final Tab tab, final OnPress action) { - super(x, y, screenStyle.getTabRect().getWidth(), getTabClickableHeight(), Component.empty(), action); + super(x, y, screenStyle.getTabRect().getWidth(), getTabClickableHeight(), Component.empty(), action, DEFAULT_NARRATION); this.tab = tab; this.baseX = x; this.currentX = x + screenStyle.getTabHoverShift(); this.targetX = (int) currentX; } - @Override - public void renderToolTip(final PoseStack matrixStack, final int mouseX, final int mouseY) { - if (!isHoveredOrFocused()) { - return; - } - - final List tooltip = new ArrayList<>(); - tab.getTooltip(tooltip); - if (!tooltip.isEmpty()) { - ManualScreen.this.renderComponentTooltip(matrixStack, tooltip, mouseX, mouseY); - } - } - @Override public void renderButton(final PoseStack matrixStack, final int mouseX, final int mouseY, final float partialTicks) { if (isHoveredOrFocused()) { @@ -330,12 +319,12 @@ public void renderButton(final PoseStack matrixStack, final int mouseX, final in currentX = Mth.lerp(partialTicks * 0.5f, currentX, targetX); if (currentX < targetX) { - x = (int) Math.ceil(currentX); + setX((int) Math.ceil(currentX)); } else { - x = (int) Math.floor(currentX); + setX((int) Math.floor(currentX)); } - width = screenStyle.getTabAreaRect().getWidth() - (x - baseX); + width = screenStyle.getTabAreaRect().getWidth() - (getX() - baseX); final int v0 = isHoveredOrFocused() ? screenStyle.getTabRect().getHeight() : 0; final int visualWidth = screenStyle.getTabRect().getWidth(); @@ -345,14 +334,33 @@ public void renderButton(final PoseStack matrixStack, final int mouseX, final in RenderSystem.setShader(GameRenderer::getPositionTexShader); RenderSystem.setShaderTexture(0, screenStyle.getTabButtonTexture()); - blit(matrixStack, x, y, 0, v0, visualWidth, visualHeight, textureWidth, textureHeight); + blit(matrixStack, getX(), getY(), 0, v0, visualWidth, visualHeight, textureWidth, textureHeight); matrixStack.pushPose(); - matrixStack.translate(x + 12, (float) (y + (screenStyle.getTabRect().getHeight() - 18) / 2), 0); + matrixStack.translate(getX() + 12, (float) (getY() + (screenStyle.getTabRect().getHeight() - 18) / 2), 0); tab.renderIcon(matrixStack); matrixStack.popPose(); + + updateTooltip(); + } + + private void updateTooltip() { + if (!isHoveredOrFocused() || isDraggingScrollButton) { + return; + } + + final var tooltip = new ArrayList(); + tab.getTooltip(tooltip); + if (tooltip.isEmpty()) { + return; + } + + final var screen = Minecraft.getInstance().screen; + if (screen != null) { + screen.setTooltipForNextRenderPass(tooltip.stream().map(Component::getVisualOrderText).toList()); + } } @Override @@ -367,7 +375,7 @@ private class ScrollButton extends Button { ScrollButton(final int x, final int y, final int w, final int h) { super(x, y, w, h, Component.empty(), (button) -> { - }); + }, DEFAULT_NARRATION); this.baseY = y; } @@ -381,16 +389,16 @@ protected boolean clicked(final double mouseX, final double mouseY) { @Override public void renderButton(final PoseStack matrixStack, final int mouseX, final int mouseY, final float partialTicks) { - y = baseY + getScrollButtonY(); + setY(baseY + getScrollButtonY()); - final int x0 = x; + final int x0 = getX(); final int x1 = x0 + width; - final int y0 = y; + final int y0 = getY(); final int y1 = y0 + height; final float u0 = 0; final float u1 = u0 + 1; - final float v0 = (isDragging || isHoveredOrFocused()) ? 0.5f : 0; + final float v0 = (isDraggingScrollButton || isHoveredOrFocused()) ? 0.5f : 0; final float v1 = v0 + 0.5f; RenderSystem.setShader(GameRenderer::getPositionTexShader); @@ -404,16 +412,33 @@ public void renderButton(final PoseStack matrixStack, final int mouseX, final in builder.vertex(x1, y0, getBlitOffset()).uv(u1, v0).endVertex(); builder.vertex(x0, y0, getBlitOffset()).uv(u0, v0).endVertex(); t.end(); + + updateTooltip(); } - @Override - public void renderToolTip(final PoseStack matrixStack, final int mouseX, final int mouseY) { - if (!isDragging && !isHoveredOrFocused() && !isCoordinateOverScrollBar(mouseX, mouseY)) { + public void applyTooltip(final boolean fixedY) { + final var screen = Minecraft.getInstance().screen; + if (screen != null) { + screen.setTooltipForNextRenderPass(getTooltipContent(), getClientTooltipPositioner(fixedY), true); + } + } + + private void updateTooltip() { + if (!isHoveredOrFocused() && !isDraggingScrollButton) { return; } - renderTooltip(matrixStack, Component.literal(100 * getScrollPosition() / maxScrollPosition() + "%"), + + applyTooltip(true); + } + + private List getTooltipContent() { + return List.of(Component.literal(100 * getScrollPosition() / maxScrollPosition() + "%").getVisualOrderText()); + } + + private ClientTooltipPositioner getClientTooltipPositioner(final boolean fixedY) { + return (screen, mouseX, mouseY, tooltipWidth, tooltipHeight) -> new Vector2i( leftPos + screenStyle.getScrollBarRect().getX() + screenStyle.getScrollBarRect().getWidth(), - y + (getHeight() + TOOLTIP_HEIGHT) / 2); + fixedY ? getY() + (getHeight() + TOOLTIP_HEIGHT) / 2 : mouseY); } } } diff --git a/common/src/main/java/li/cil/manual/client/provider/BlockRendererProvider.java b/common/src/main/java/li/cil/manual/client/provider/BlockRendererProvider.java index cc6e885..1c16736 100644 --- a/common/src/main/java/li/cil/manual/client/provider/BlockRendererProvider.java +++ b/common/src/main/java/li/cil/manual/client/provider/BlockRendererProvider.java @@ -10,7 +10,7 @@ import li.cil.manual.client.document.segment.render.ItemStackContentRenderer; import li.cil.manual.client.document.segment.render.MissingContentRenderer; import net.minecraft.commands.arguments.blocks.BlockStateParser; -import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; @@ -44,7 +44,7 @@ public MatchResult matches(final ManualModel manual) { protected Optional doGetRenderer(final String data) { final BlockState state = Objects.requireNonNull(BLOCK_STATE_CACHE.computeIfAbsent(data, (string) -> { try { - return BlockStateParser.parseForBlock(Registry.BLOCK, new StringReader(string), false).blockState(); + return BlockStateParser.parseForBlock(BuiltInRegistries.BLOCK.asLookup(), new StringReader(string), false).blockState(); } catch (final CommandSyntaxException e) { LOGGER.error("Failed parsing block state.", e); return Blocks.AIR.defaultBlockState(); diff --git a/common/src/main/java/li/cil/manual/client/provider/ItemRendererProvider.java b/common/src/main/java/li/cil/manual/client/provider/ItemRendererProvider.java index 82a49de..0a3a2db 100644 --- a/common/src/main/java/li/cil/manual/client/provider/ItemRendererProvider.java +++ b/common/src/main/java/li/cil/manual/client/provider/ItemRendererProvider.java @@ -7,7 +7,7 @@ import li.cil.manual.client.document.Strings; import li.cil.manual.client.document.segment.render.ItemStackContentRenderer; import li.cil.manual.client.document.segment.render.MissingContentRenderer; -import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; @@ -29,7 +29,7 @@ public MatchResult matches(final ManualModel manual) { @Override protected Optional doGetRenderer(final String data) { - final Item item = Registry.ITEM.get(new ResourceLocation(data)); + final Item item = BuiltInRegistries.ITEM.get(new ResourceLocation(data)); if (item != Items.AIR) { return Optional.of(new ItemStackContentRenderer(new ItemStack(item))); } else { diff --git a/common/src/main/java/li/cil/manual/client/provider/TagRendererProvider.java b/common/src/main/java/li/cil/manual/client/provider/TagRendererProvider.java index 27fdd1e..b0d9703 100644 --- a/common/src/main/java/li/cil/manual/client/provider/TagRendererProvider.java +++ b/common/src/main/java/li/cil/manual/client/provider/TagRendererProvider.java @@ -7,7 +7,7 @@ import li.cil.manual.client.document.Strings; import li.cil.manual.client.document.segment.render.ItemStackContentRenderer; import li.cil.manual.client.document.segment.render.MissingContentRenderer; -import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; @@ -28,10 +28,10 @@ public MatchResult matches(final ManualModel manual) { @Override protected Optional doGetRenderer(final String data) { final ResourceLocation location = new ResourceLocation(data); - return Registry.ITEM.getTagNames() + return BuiltInRegistries.ITEM.getTagNames() .filter(key -> key.location().equals(location)) .findFirst() - .flatMap(Registry.ITEM::getTag) + .flatMap(BuiltInRegistries.ITEM::getTag) .map(tag -> (ContentRenderer) new ItemStackContentRenderer(tag .stream() .map(ItemStack::new) diff --git a/common/src/main/java/li/cil/manual/client/util/RegistryUtils.java b/common/src/main/java/li/cil/manual/client/util/RegistryUtils.java index faf3716..9d5f5b5 100644 --- a/common/src/main/java/li/cil/manual/client/util/RegistryUtils.java +++ b/common/src/main/java/li/cil/manual/client/util/RegistryUtils.java @@ -2,7 +2,7 @@ import dev.architectury.registry.registries.DeferredRegister; import dev.architectury.registry.registries.RegistrarBuilder; -import dev.architectury.registry.registries.Registries; +import dev.architectury.registry.registries.RegistrarManager; import net.minecraft.core.Registry; import net.minecraft.resources.ResourceKey; @@ -20,8 +20,9 @@ private enum Phase { private static Phase phase = Phase.PRE_INIT; private static String modId; + @SafeVarargs public static RegistrarBuilder builder(ResourceKey> registryKey, T... typeGetter) { - return Registries.get(modId).builder(registryKey.location(), typeGetter); + return RegistrarManager.get(modId).builder(registryKey.location(), typeGetter); } public static DeferredRegister get(ResourceKey> registryKey) { diff --git a/fabric/src/main/resources/fabric.mod.json b/fabric/src/main/resources/fabric.mod.json index 8cdb369..81c6028 100644 --- a/fabric/src/main/resources/fabric.mod.json +++ b/fabric/src/main/resources/fabric.mod.json @@ -19,7 +19,7 @@ }, "depends": { "fabric": "*", - "minecraft": ">=1.19.2", - "architectury": ">=6.4" + "minecraft": ">=1.19.3", + "architectury": ">=7" } } diff --git a/forge/src/main/resources/META-INF/mods.toml b/forge/src/main/resources/META-INF/mods.toml index e7730be..de2ab25 100644 --- a/forge/src/main/resources/META-INF/mods.toml +++ b/forge/src/main/resources/META-INF/mods.toml @@ -1,5 +1,5 @@ modLoader = "javafml" -loaderVersion = "[43,)" +loaderVersion = "[44,)" issueTrackerURL = "https://github.com/MightyPirates/MarkdownManual/issues" license = "MIT" @@ -15,20 +15,20 @@ Library mod providing a convenient way of defining in-game manuals. [[dependencies.markdown_manual]] modId = "forge" mandatory = true -versionRange = "[43.2,)" +versionRange = "[44,)" ordering = "NONE" side = "BOTH" [[dependencies.markdown_manual]] modId = "minecraft" mandatory = true -versionRange = "[1.19.2,)" +versionRange = "[1.19.3,)" ordering = "NONE" side = "BOTH" [[dependencies.markdown_manual]] modId = "architectury" mandatory = true -versionRange = "[6.4,)" +versionRange = "[7,)" ordering = "AFTER" side = "BOTH" diff --git a/gradle.properties b/gradle.properties index 4fbb663..4f6c2a1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,18 +1,18 @@ org.gradle.jvmargs=-Xmx3G org.gradle.daemon=false -minecraft_version=1.19.2 +minecraft_version=1.19.3 enabled_platforms=fabric,forge archives_base_name=markdown_manual maven_group=li.cil.markdown_manual -architectury_version=6.4.62 +architectury_version=7.0.66 fabric_loader_version=0.14.12 -fabric_api_version=0.70.0+1.19.2 +fabric_api_version=0.70.0+1.19.3 -forge_version=1.19.2-43.2.3 +forge_version=1.19.3-44.0.48 curse_project_id=502485 modrinth_project_id=markdownmanual