From ce6ee952562b3cc9fbb9cf973ac96d32b13c44f8 Mon Sep 17 00:00:00 2001 From: hypherionmc Date: Fri, 5 Jul 2024 20:32:53 +0200 Subject: [PATCH] [CHORE] Update porting patches --- commit.sha | 2 +- .../resources/ResourceIdentifier.java.patch | 2 +- .../craterlib/utils/ChatUtils.java.patch | 36 ++++++++-- .../craterlib/CraterLib.java.patch | 32 ++------- .../client/NeoForgeClientHelper.java.patch | 23 ++++++- .../resources/ResourceIdentifier.java.patch | 2 +- .../craterlib/utils/ChatUtils.java.patch | 30 +++++++-- .../craterlib/CraterLib.java.patch | 32 ++------- .../client/NeoForgeClientHelper.java.patch | 23 ++++++- .../resources/ResourceIdentifier.java.patch | 2 +- .../craterlib/utils/ChatUtils.java.patch | 30 +++++++-- .../craterlib/CraterLib.java.patch | 32 ++------- .../client/NeoForgeClientHelper.java.patch | 23 ++++++- .../resources/ResourceIdentifier.java.patch | 2 +- .../craterlib/utils/ChatUtils.java.patch | 30 +++++++-- .../craterlib/CraterLib.java.patch | 32 ++------- .../client/NeoForgeClientHelper.java.patch | 23 ++++++- .../resources/ResourceIdentifier.java.patch | 2 +- .../craterlib/utils/ChatUtils.java.patch | 30 +++++++-- .../craterlib/CraterLib.java.patch | 58 +++++++++-------- .../client/NeoForgeClientHelper.java.patch | 46 ++++++------- .../resources/ResourceIdentifier.java.patch | 2 +- .../craterlib/utils/ChatUtils.java.patch | 30 +++++++-- .../craterlib/CraterLib.java.patch | 32 ++------- .../client/NeoForgeClientHelper.java.patch | 23 ++++++- .../resources/ResourceIdentifier.java.patch | 11 ---- .../craterlib/utils/ChatUtils.java.patch | 46 ------------- .../craterlib/CraterLib.java.patch | 65 ------------------- 28 files changed, 364 insertions(+), 337 deletions(-) rename patches/{1.21 => 1.20.4}/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java.patch (52%) delete mode 100644 patches/1.21/Common/src/main/java/com/hypherionmc/craterlib/nojang/resources/ResourceIdentifier.java.patch delete mode 100644 patches/1.21/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch delete mode 100644 patches/1.21/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java.patch diff --git a/commit.sha b/commit.sha index fbd3597..17d040c 100644 --- a/commit.sha +++ b/commit.sha @@ -1 +1 @@ -ce16c08760cf548e5c6a3d698a4f4a3c31f7aca1 \ No newline at end of file +843f23b9c72c71b2ac99a9f3b874a4613462980e \ No newline at end of file diff --git a/patches/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/nojang/resources/ResourceIdentifier.java.patch b/patches/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/nojang/resources/ResourceIdentifier.java.patch index b8e086e..484a162 100644 --- a/patches/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/nojang/resources/ResourceIdentifier.java.patch +++ b/patches/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/nojang/resources/ResourceIdentifier.java.patch @@ -9,7 +9,7 @@ } public ResourceIdentifier(String path) { -- this.internal = ResourceLocation.withDefaultNamespace(path); +- this.internal = ResourceLocation.parse(path); + this.internal = new ResourceLocation(path); } diff --git a/patches/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch b/patches/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch index abfedb3..6b49d18 100644 --- a/patches/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch +++ b/patches/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch @@ -1,10 +1,21 @@ --- a/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java +++ b/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java -@@ -9,11 +9,10 @@ +@@ -1,7 +1,5 @@ + package com.hypherionmc.craterlib.utils; + +-import com.hypherionmc.craterlib.core.platform.CommonPlatform; +-import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; + import com.hypherionmc.craterlib.nojang.resources.ResourceIdentifier; + import me.hypherionmc.mcdiscordformatter.discord.DiscordSerializer; + import me.hypherionmc.mcdiscordformatter.minecraft.MinecraftSerializer; +@@ -11,14 +9,10 @@ import net.minecraft.ChatFormatting; import net.minecraft.SharedConstants; import net.minecraft.Util; +-import net.minecraft.client.Minecraft; +-import net.minecraft.core.HolderLookup; -import net.minecraft.core.RegistryAccess; +-import net.minecraft.data.registries.VanillaRegistries; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.Style; - @@ -14,21 +25,32 @@ public class ChatUtils { -@@ -23,11 +22,11 @@ +@@ -28,30 +22,20 @@ public static Component adventureToMojang(net.kyori.adventure.text.Component inComponent) { final String serialised = adventureSerializer.serialize(inComponent); -- return Component.Serializer.fromJson(serialised, RegistryAccess.EMPTY); +- return Component.Serializer.fromJson(serialised, getRegistryLookup()); + return Component.Serializer.fromJson(serialised); } public static net.kyori.adventure.text.Component mojangToAdventure(Component inComponent) { -- final String serialised = Component.Serializer.toJson(inComponent, RegistryAccess.EMPTY); +- final String serialised = Component.Serializer.toJson(inComponent, getRegistryLookup()); + final String serialised = Component.Serializer.toJson(inComponent); return adventureSerializer.deserialize(serialised); } -@@ -36,7 +35,7 @@ +- private static HolderLookup.Provider getRegistryLookup() { +- if (ModloaderEnvironment.INSTANCE.getEnvironment().isClient() && Minecraft.getInstance().level != null) +- return Minecraft.getInstance().level.registryAccess(); +- +- if (ModloaderEnvironment.INSTANCE.getEnvironment().isServer() && CommonPlatform.INSTANCE.getMCServer() != null) +- return CommonPlatform.INSTANCE.getMCServer().toMojang().registryAccess(); +- +- return RegistryAccess.EMPTY; +- } +- + // Some text components contain duplicate text, resulting in duplicate messages + // sent back to discord. This should help fix those issues public static Component safeCopy(Component inComponent) { String value = inComponent.getString(); Style style = inComponent.getStyle(); @@ -37,7 +59,7 @@ } public static String strip(String inString, String... toStrip) { -@@ -65,7 +64,7 @@ +@@ -80,7 +64,7 @@ } public static net.kyori.adventure.text.Component resolve(String component, boolean formatted) { @@ -46,7 +68,7 @@ if (formatted) { returnVal = MinecraftSerializer.INSTANCE.serialize(component); } -@@ -93,7 +92,7 @@ +@@ -108,7 +92,7 @@ if (identifier == null) return net.kyori.adventure.text.Component.text("Unknown"); diff --git a/patches/1.18.2/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java.patch b/patches/1.18.2/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java.patch index 12a3545..896a96b 100644 --- a/patches/1.18.2/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java.patch +++ b/patches/1.18.2/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java.patch @@ -1,35 +1,23 @@ --- a/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java +++ /dev/null -@@ -1,59 +1,0 @@ +@@ -1,41 +1,0 @@ -package com.hypherionmc.craterlib; - --import com.hypherionmc.craterlib.api.events.client.LateInitEvent; --import com.hypherionmc.craterlib.client.gui.config.CraterConfigScreen; +-import com.hypherionmc.craterlib.client.NeoForgeClientHelper; -import com.hypherionmc.craterlib.common.NeoForgeServerEvents; -import com.hypherionmc.craterlib.compat.Vanish; --import com.hypherionmc.craterlib.core.config.ConfigController; --import com.hypherionmc.craterlib.core.config.ModuleConfig; --import com.hypherionmc.craterlib.core.config.annotations.NoConfigScreen; --import com.hypherionmc.craterlib.core.event.CraterEventBus; -import com.hypherionmc.craterlib.core.networking.CraterPacketNetwork; -import com.hypherionmc.craterlib.core.networking.PacketRegistry; -import com.hypherionmc.craterlib.core.networking.data.PacketSide; -import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; -import com.hypherionmc.craterlib.network.CraterNeoForgeNetworkHandler; --import com.hypherionmc.craterlib.nojang.client.BridgedMinecraft; --import com.hypherionmc.craterlib.nojang.client.BridgedOptions; --import net.minecraft.client.Minecraft; -import net.neoforged.bus.api.IEventBus; --import net.neoforged.fml.ModList; -import net.neoforged.fml.common.Mod; +-import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent; -import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent; --import net.neoforged.fml.loading.FMLEnvironment; -import net.neoforged.fml.loading.FMLLoader; --import net.neoforged.neoforge.client.gui.IConfigScreenFactory; -import net.neoforged.neoforge.common.NeoForge; - --import java.util.Optional; -- -@Mod(CraterConstants.MOD_ID) -public class CraterLib { - @@ -38,6 +26,7 @@ - public CraterLib(IEventBus eventBus) { - NeoForge.EVENT_BUS.register(new NeoForgeServerEvents()); - eventBus.addListener(this::commonSetup); +- eventBus.addListener(this::clientSetup); - handler = new CraterNeoForgeNetworkHandler(FMLLoader.getDist().isClient() ? PacketSide.CLIENT : PacketSide.SERVER); - - if (ModloaderEnvironment.INSTANCE.isModLoaded("vmod")) { @@ -47,16 +36,9 @@ - - public void commonSetup(FMLCommonSetupEvent evt) { - new CraterPacketNetwork(handler); -- if (FMLEnvironment.dist.isClient()) { -- LateInitEvent event = new LateInitEvent(new BridgedMinecraft(), BridgedOptions.of(Minecraft.getInstance().options)); -- CraterEventBus.INSTANCE.postEvent(event); +- } - -- ConfigController.getMonitoredConfigs().forEach((conf, watcher) -> { -- if (!conf.getClass().isAnnotationPresent(NoConfigScreen.class)) { -- ModuleConfig config = (ModuleConfig) conf; -- ModList.get().getModContainerById(config.getModId()).ifPresent(c -> c.registerExtensionPoint(IConfigScreenFactory.class, ((minecraft, screen) -> new CraterConfigScreen(config, screen)))); -- } -- }); -- } +- public void clientSetup(FMLClientSetupEvent evt) { +- NeoForgeClientHelper.registerClient(); - } -} diff --git a/patches/1.18.2/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java.patch b/patches/1.18.2/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java.patch index d082d6c..a0d386b 100644 --- a/patches/1.18.2/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java.patch +++ b/patches/1.18.2/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java.patch @@ -1,14 +1,23 @@ --- a/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java +++ /dev/null -@@ -1,40 +1,0 @@ +@@ -1,61 +1,0 @@ -package com.hypherionmc.craterlib.client; - +-import com.hypherionmc.craterlib.api.events.client.LateInitEvent; +-import com.hypherionmc.craterlib.client.gui.config.CraterConfigScreen; +-import com.hypherionmc.craterlib.core.config.ConfigController; +-import com.hypherionmc.craterlib.core.config.ModuleConfig; +-import com.hypherionmc.craterlib.core.config.annotations.NoConfigScreen; +-import com.hypherionmc.craterlib.core.event.CraterEventBus; -import com.hypherionmc.craterlib.core.platform.ClientPlatform; -import com.hypherionmc.craterlib.nojang.client.BridgedMinecraft; +-import com.hypherionmc.craterlib.nojang.client.BridgedOptions; -import com.hypherionmc.craterlib.nojang.client.multiplayer.BridgedClientLevel; -import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; -import net.minecraft.client.Minecraft; -import net.minecraft.network.Connection; +-import net.neoforged.fml.ModList; +-import net.neoforged.neoforge.client.gui.IConfigScreenFactory; - -import java.util.Objects; - @@ -40,4 +49,16 @@ - Objects.requireNonNull(Minecraft.getInstance().getConnection(), "Cannot send packets when not in game!"); - return Minecraft.getInstance().getConnection().getConnection(); - } +- +- public static void registerClient() { +- LateInitEvent event = new LateInitEvent(new BridgedMinecraft(), BridgedOptions.of(Minecraft.getInstance().options)); +- CraterEventBus.INSTANCE.postEvent(event); +- +- ConfigController.getMonitoredConfigs().forEach((conf, watcher) -> { +- if (!conf.getClass().isAnnotationPresent(NoConfigScreen.class)) { +- ModuleConfig config = (ModuleConfig) conf; +- ModList.get().getModContainerById(config.getModId()).ifPresent(c -> c.registerExtensionPoint(IConfigScreenFactory.class, ((minecraft, screen) -> new CraterConfigScreen(config, screen)))); +- } +- }); +- } -} diff --git a/patches/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/nojang/resources/ResourceIdentifier.java.patch b/patches/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/nojang/resources/ResourceIdentifier.java.patch index b8e086e..484a162 100644 --- a/patches/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/nojang/resources/ResourceIdentifier.java.patch +++ b/patches/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/nojang/resources/ResourceIdentifier.java.patch @@ -9,7 +9,7 @@ } public ResourceIdentifier(String path) { -- this.internal = ResourceLocation.withDefaultNamespace(path); +- this.internal = ResourceLocation.parse(path); + this.internal = new ResourceLocation(path); } diff --git a/patches/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch b/patches/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch index 3c0c085..91af5fb 100644 --- a/patches/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch +++ b/patches/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch @@ -1,10 +1,21 @@ --- a/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java +++ b/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java -@@ -9,12 +9,9 @@ +@@ -1,7 +1,5 @@ + package com.hypherionmc.craterlib.utils; + +-import com.hypherionmc.craterlib.core.platform.CommonPlatform; +-import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; + import com.hypherionmc.craterlib.nojang.resources.ResourceIdentifier; + import me.hypherionmc.mcdiscordformatter.discord.DiscordSerializer; + import me.hypherionmc.mcdiscordformatter.minecraft.MinecraftSerializer; +@@ -11,15 +9,9 @@ import net.minecraft.ChatFormatting; import net.minecraft.SharedConstants; import net.minecraft.Util; +-import net.minecraft.client.Minecraft; +-import net.minecraft.core.HolderLookup; -import net.minecraft.core.RegistryAccess; +-import net.minecraft.data.registries.VanillaRegistries; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.Style; @@ -13,17 +24,28 @@ public class ChatUtils { private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().options( -@@ -23,11 +20,11 @@ +@@ -28,22 +20,12 @@ public static Component adventureToMojang(net.kyori.adventure.text.Component inComponent) { final String serialised = adventureSerializer.serialize(inComponent); -- return Component.Serializer.fromJson(serialised, RegistryAccess.EMPTY); +- return Component.Serializer.fromJson(serialised, getRegistryLookup()); + return Component.Serializer.fromJson(serialised); } public static net.kyori.adventure.text.Component mojangToAdventure(Component inComponent) { -- final String serialised = Component.Serializer.toJson(inComponent, RegistryAccess.EMPTY); +- final String serialised = Component.Serializer.toJson(inComponent, getRegistryLookup()); + final String serialised = Component.Serializer.toJson(inComponent); return adventureSerializer.deserialize(serialised); +- } +- +- private static HolderLookup.Provider getRegistryLookup() { +- if (ModloaderEnvironment.INSTANCE.getEnvironment().isClient() && Minecraft.getInstance().level != null) +- return Minecraft.getInstance().level.registryAccess(); +- +- if (ModloaderEnvironment.INSTANCE.getEnvironment().isServer() && CommonPlatform.INSTANCE.getMCServer() != null) +- return CommonPlatform.INSTANCE.getMCServer().toMojang().registryAccess(); +- +- return RegistryAccess.EMPTY; } + // Some text components contain duplicate text, resulting in duplicate messages diff --git a/patches/1.19.2/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java.patch b/patches/1.19.2/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java.patch index 12a3545..896a96b 100644 --- a/patches/1.19.2/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java.patch +++ b/patches/1.19.2/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java.patch @@ -1,35 +1,23 @@ --- a/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java +++ /dev/null -@@ -1,59 +1,0 @@ +@@ -1,41 +1,0 @@ -package com.hypherionmc.craterlib; - --import com.hypherionmc.craterlib.api.events.client.LateInitEvent; --import com.hypherionmc.craterlib.client.gui.config.CraterConfigScreen; +-import com.hypherionmc.craterlib.client.NeoForgeClientHelper; -import com.hypherionmc.craterlib.common.NeoForgeServerEvents; -import com.hypherionmc.craterlib.compat.Vanish; --import com.hypherionmc.craterlib.core.config.ConfigController; --import com.hypherionmc.craterlib.core.config.ModuleConfig; --import com.hypherionmc.craterlib.core.config.annotations.NoConfigScreen; --import com.hypherionmc.craterlib.core.event.CraterEventBus; -import com.hypherionmc.craterlib.core.networking.CraterPacketNetwork; -import com.hypherionmc.craterlib.core.networking.PacketRegistry; -import com.hypherionmc.craterlib.core.networking.data.PacketSide; -import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; -import com.hypherionmc.craterlib.network.CraterNeoForgeNetworkHandler; --import com.hypherionmc.craterlib.nojang.client.BridgedMinecraft; --import com.hypherionmc.craterlib.nojang.client.BridgedOptions; --import net.minecraft.client.Minecraft; -import net.neoforged.bus.api.IEventBus; --import net.neoforged.fml.ModList; -import net.neoforged.fml.common.Mod; +-import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent; -import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent; --import net.neoforged.fml.loading.FMLEnvironment; -import net.neoforged.fml.loading.FMLLoader; --import net.neoforged.neoforge.client.gui.IConfigScreenFactory; -import net.neoforged.neoforge.common.NeoForge; - --import java.util.Optional; -- -@Mod(CraterConstants.MOD_ID) -public class CraterLib { - @@ -38,6 +26,7 @@ - public CraterLib(IEventBus eventBus) { - NeoForge.EVENT_BUS.register(new NeoForgeServerEvents()); - eventBus.addListener(this::commonSetup); +- eventBus.addListener(this::clientSetup); - handler = new CraterNeoForgeNetworkHandler(FMLLoader.getDist().isClient() ? PacketSide.CLIENT : PacketSide.SERVER); - - if (ModloaderEnvironment.INSTANCE.isModLoaded("vmod")) { @@ -47,16 +36,9 @@ - - public void commonSetup(FMLCommonSetupEvent evt) { - new CraterPacketNetwork(handler); -- if (FMLEnvironment.dist.isClient()) { -- LateInitEvent event = new LateInitEvent(new BridgedMinecraft(), BridgedOptions.of(Minecraft.getInstance().options)); -- CraterEventBus.INSTANCE.postEvent(event); +- } - -- ConfigController.getMonitoredConfigs().forEach((conf, watcher) -> { -- if (!conf.getClass().isAnnotationPresent(NoConfigScreen.class)) { -- ModuleConfig config = (ModuleConfig) conf; -- ModList.get().getModContainerById(config.getModId()).ifPresent(c -> c.registerExtensionPoint(IConfigScreenFactory.class, ((minecraft, screen) -> new CraterConfigScreen(config, screen)))); -- } -- }); -- } +- public void clientSetup(FMLClientSetupEvent evt) { +- NeoForgeClientHelper.registerClient(); - } -} diff --git a/patches/1.19.2/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java.patch b/patches/1.19.2/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java.patch index d082d6c..a0d386b 100644 --- a/patches/1.19.2/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java.patch +++ b/patches/1.19.2/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java.patch @@ -1,14 +1,23 @@ --- a/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java +++ /dev/null -@@ -1,40 +1,0 @@ +@@ -1,61 +1,0 @@ -package com.hypherionmc.craterlib.client; - +-import com.hypherionmc.craterlib.api.events.client.LateInitEvent; +-import com.hypherionmc.craterlib.client.gui.config.CraterConfigScreen; +-import com.hypherionmc.craterlib.core.config.ConfigController; +-import com.hypherionmc.craterlib.core.config.ModuleConfig; +-import com.hypherionmc.craterlib.core.config.annotations.NoConfigScreen; +-import com.hypherionmc.craterlib.core.event.CraterEventBus; -import com.hypherionmc.craterlib.core.platform.ClientPlatform; -import com.hypherionmc.craterlib.nojang.client.BridgedMinecraft; +-import com.hypherionmc.craterlib.nojang.client.BridgedOptions; -import com.hypherionmc.craterlib.nojang.client.multiplayer.BridgedClientLevel; -import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; -import net.minecraft.client.Minecraft; -import net.minecraft.network.Connection; +-import net.neoforged.fml.ModList; +-import net.neoforged.neoforge.client.gui.IConfigScreenFactory; - -import java.util.Objects; - @@ -40,4 +49,16 @@ - Objects.requireNonNull(Minecraft.getInstance().getConnection(), "Cannot send packets when not in game!"); - return Minecraft.getInstance().getConnection().getConnection(); - } +- +- public static void registerClient() { +- LateInitEvent event = new LateInitEvent(new BridgedMinecraft(), BridgedOptions.of(Minecraft.getInstance().options)); +- CraterEventBus.INSTANCE.postEvent(event); +- +- ConfigController.getMonitoredConfigs().forEach((conf, watcher) -> { +- if (!conf.getClass().isAnnotationPresent(NoConfigScreen.class)) { +- ModuleConfig config = (ModuleConfig) conf; +- ModList.get().getModContainerById(config.getModId()).ifPresent(c -> c.registerExtensionPoint(IConfigScreenFactory.class, ((minecraft, screen) -> new CraterConfigScreen(config, screen)))); +- } +- }); +- } -} diff --git a/patches/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/nojang/resources/ResourceIdentifier.java.patch b/patches/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/nojang/resources/ResourceIdentifier.java.patch index b8e086e..484a162 100644 --- a/patches/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/nojang/resources/ResourceIdentifier.java.patch +++ b/patches/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/nojang/resources/ResourceIdentifier.java.patch @@ -9,7 +9,7 @@ } public ResourceIdentifier(String path) { -- this.internal = ResourceLocation.withDefaultNamespace(path); +- this.internal = ResourceLocation.parse(path); + this.internal = new ResourceLocation(path); } diff --git a/patches/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch b/patches/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch index 3c0c085..91af5fb 100644 --- a/patches/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch +++ b/patches/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch @@ -1,10 +1,21 @@ --- a/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java +++ b/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java -@@ -9,12 +9,9 @@ +@@ -1,7 +1,5 @@ + package com.hypherionmc.craterlib.utils; + +-import com.hypherionmc.craterlib.core.platform.CommonPlatform; +-import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; + import com.hypherionmc.craterlib.nojang.resources.ResourceIdentifier; + import me.hypherionmc.mcdiscordformatter.discord.DiscordSerializer; + import me.hypherionmc.mcdiscordformatter.minecraft.MinecraftSerializer; +@@ -11,15 +9,9 @@ import net.minecraft.ChatFormatting; import net.minecraft.SharedConstants; import net.minecraft.Util; +-import net.minecraft.client.Minecraft; +-import net.minecraft.core.HolderLookup; -import net.minecraft.core.RegistryAccess; +-import net.minecraft.data.registries.VanillaRegistries; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.Style; @@ -13,17 +24,28 @@ public class ChatUtils { private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().options( -@@ -23,11 +20,11 @@ +@@ -28,22 +20,12 @@ public static Component adventureToMojang(net.kyori.adventure.text.Component inComponent) { final String serialised = adventureSerializer.serialize(inComponent); -- return Component.Serializer.fromJson(serialised, RegistryAccess.EMPTY); +- return Component.Serializer.fromJson(serialised, getRegistryLookup()); + return Component.Serializer.fromJson(serialised); } public static net.kyori.adventure.text.Component mojangToAdventure(Component inComponent) { -- final String serialised = Component.Serializer.toJson(inComponent, RegistryAccess.EMPTY); +- final String serialised = Component.Serializer.toJson(inComponent, getRegistryLookup()); + final String serialised = Component.Serializer.toJson(inComponent); return adventureSerializer.deserialize(serialised); +- } +- +- private static HolderLookup.Provider getRegistryLookup() { +- if (ModloaderEnvironment.INSTANCE.getEnvironment().isClient() && Minecraft.getInstance().level != null) +- return Minecraft.getInstance().level.registryAccess(); +- +- if (ModloaderEnvironment.INSTANCE.getEnvironment().isServer() && CommonPlatform.INSTANCE.getMCServer() != null) +- return CommonPlatform.INSTANCE.getMCServer().toMojang().registryAccess(); +- +- return RegistryAccess.EMPTY; } + // Some text components contain duplicate text, resulting in duplicate messages diff --git a/patches/1.19.3/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java.patch b/patches/1.19.3/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java.patch index 12a3545..896a96b 100644 --- a/patches/1.19.3/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java.patch +++ b/patches/1.19.3/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java.patch @@ -1,35 +1,23 @@ --- a/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java +++ /dev/null -@@ -1,59 +1,0 @@ +@@ -1,41 +1,0 @@ -package com.hypherionmc.craterlib; - --import com.hypherionmc.craterlib.api.events.client.LateInitEvent; --import com.hypherionmc.craterlib.client.gui.config.CraterConfigScreen; +-import com.hypherionmc.craterlib.client.NeoForgeClientHelper; -import com.hypherionmc.craterlib.common.NeoForgeServerEvents; -import com.hypherionmc.craterlib.compat.Vanish; --import com.hypherionmc.craterlib.core.config.ConfigController; --import com.hypherionmc.craterlib.core.config.ModuleConfig; --import com.hypherionmc.craterlib.core.config.annotations.NoConfigScreen; --import com.hypherionmc.craterlib.core.event.CraterEventBus; -import com.hypherionmc.craterlib.core.networking.CraterPacketNetwork; -import com.hypherionmc.craterlib.core.networking.PacketRegistry; -import com.hypherionmc.craterlib.core.networking.data.PacketSide; -import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; -import com.hypherionmc.craterlib.network.CraterNeoForgeNetworkHandler; --import com.hypherionmc.craterlib.nojang.client.BridgedMinecraft; --import com.hypherionmc.craterlib.nojang.client.BridgedOptions; --import net.minecraft.client.Minecraft; -import net.neoforged.bus.api.IEventBus; --import net.neoforged.fml.ModList; -import net.neoforged.fml.common.Mod; +-import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent; -import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent; --import net.neoforged.fml.loading.FMLEnvironment; -import net.neoforged.fml.loading.FMLLoader; --import net.neoforged.neoforge.client.gui.IConfigScreenFactory; -import net.neoforged.neoforge.common.NeoForge; - --import java.util.Optional; -- -@Mod(CraterConstants.MOD_ID) -public class CraterLib { - @@ -38,6 +26,7 @@ - public CraterLib(IEventBus eventBus) { - NeoForge.EVENT_BUS.register(new NeoForgeServerEvents()); - eventBus.addListener(this::commonSetup); +- eventBus.addListener(this::clientSetup); - handler = new CraterNeoForgeNetworkHandler(FMLLoader.getDist().isClient() ? PacketSide.CLIENT : PacketSide.SERVER); - - if (ModloaderEnvironment.INSTANCE.isModLoaded("vmod")) { @@ -47,16 +36,9 @@ - - public void commonSetup(FMLCommonSetupEvent evt) { - new CraterPacketNetwork(handler); -- if (FMLEnvironment.dist.isClient()) { -- LateInitEvent event = new LateInitEvent(new BridgedMinecraft(), BridgedOptions.of(Minecraft.getInstance().options)); -- CraterEventBus.INSTANCE.postEvent(event); +- } - -- ConfigController.getMonitoredConfigs().forEach((conf, watcher) -> { -- if (!conf.getClass().isAnnotationPresent(NoConfigScreen.class)) { -- ModuleConfig config = (ModuleConfig) conf; -- ModList.get().getModContainerById(config.getModId()).ifPresent(c -> c.registerExtensionPoint(IConfigScreenFactory.class, ((minecraft, screen) -> new CraterConfigScreen(config, screen)))); -- } -- }); -- } +- public void clientSetup(FMLClientSetupEvent evt) { +- NeoForgeClientHelper.registerClient(); - } -} diff --git a/patches/1.19.3/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java.patch b/patches/1.19.3/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java.patch index d082d6c..a0d386b 100644 --- a/patches/1.19.3/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java.patch +++ b/patches/1.19.3/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java.patch @@ -1,14 +1,23 @@ --- a/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java +++ /dev/null -@@ -1,40 +1,0 @@ +@@ -1,61 +1,0 @@ -package com.hypherionmc.craterlib.client; - +-import com.hypherionmc.craterlib.api.events.client.LateInitEvent; +-import com.hypherionmc.craterlib.client.gui.config.CraterConfigScreen; +-import com.hypherionmc.craterlib.core.config.ConfigController; +-import com.hypherionmc.craterlib.core.config.ModuleConfig; +-import com.hypherionmc.craterlib.core.config.annotations.NoConfigScreen; +-import com.hypherionmc.craterlib.core.event.CraterEventBus; -import com.hypherionmc.craterlib.core.platform.ClientPlatform; -import com.hypherionmc.craterlib.nojang.client.BridgedMinecraft; +-import com.hypherionmc.craterlib.nojang.client.BridgedOptions; -import com.hypherionmc.craterlib.nojang.client.multiplayer.BridgedClientLevel; -import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; -import net.minecraft.client.Minecraft; -import net.minecraft.network.Connection; +-import net.neoforged.fml.ModList; +-import net.neoforged.neoforge.client.gui.IConfigScreenFactory; - -import java.util.Objects; - @@ -40,4 +49,16 @@ - Objects.requireNonNull(Minecraft.getInstance().getConnection(), "Cannot send packets when not in game!"); - return Minecraft.getInstance().getConnection().getConnection(); - } +- +- public static void registerClient() { +- LateInitEvent event = new LateInitEvent(new BridgedMinecraft(), BridgedOptions.of(Minecraft.getInstance().options)); +- CraterEventBus.INSTANCE.postEvent(event); +- +- ConfigController.getMonitoredConfigs().forEach((conf, watcher) -> { +- if (!conf.getClass().isAnnotationPresent(NoConfigScreen.class)) { +- ModuleConfig config = (ModuleConfig) conf; +- ModList.get().getModContainerById(config.getModId()).ifPresent(c -> c.registerExtensionPoint(IConfigScreenFactory.class, ((minecraft, screen) -> new CraterConfigScreen(config, screen)))); +- } +- }); +- } -} diff --git a/patches/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/nojang/resources/ResourceIdentifier.java.patch b/patches/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/nojang/resources/ResourceIdentifier.java.patch index b8e086e..484a162 100644 --- a/patches/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/nojang/resources/ResourceIdentifier.java.patch +++ b/patches/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/nojang/resources/ResourceIdentifier.java.patch @@ -9,7 +9,7 @@ } public ResourceIdentifier(String path) { -- this.internal = ResourceLocation.withDefaultNamespace(path); +- this.internal = ResourceLocation.parse(path); + this.internal = new ResourceLocation(path); } diff --git a/patches/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch b/patches/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch index 3c0c085..91af5fb 100644 --- a/patches/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch +++ b/patches/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch @@ -1,10 +1,21 @@ --- a/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java +++ b/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java -@@ -9,12 +9,9 @@ +@@ -1,7 +1,5 @@ + package com.hypherionmc.craterlib.utils; + +-import com.hypherionmc.craterlib.core.platform.CommonPlatform; +-import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; + import com.hypherionmc.craterlib.nojang.resources.ResourceIdentifier; + import me.hypherionmc.mcdiscordformatter.discord.DiscordSerializer; + import me.hypherionmc.mcdiscordformatter.minecraft.MinecraftSerializer; +@@ -11,15 +9,9 @@ import net.minecraft.ChatFormatting; import net.minecraft.SharedConstants; import net.minecraft.Util; +-import net.minecraft.client.Minecraft; +-import net.minecraft.core.HolderLookup; -import net.minecraft.core.RegistryAccess; +-import net.minecraft.data.registries.VanillaRegistries; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.Style; @@ -13,17 +24,28 @@ public class ChatUtils { private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().options( -@@ -23,11 +20,11 @@ +@@ -28,22 +20,12 @@ public static Component adventureToMojang(net.kyori.adventure.text.Component inComponent) { final String serialised = adventureSerializer.serialize(inComponent); -- return Component.Serializer.fromJson(serialised, RegistryAccess.EMPTY); +- return Component.Serializer.fromJson(serialised, getRegistryLookup()); + return Component.Serializer.fromJson(serialised); } public static net.kyori.adventure.text.Component mojangToAdventure(Component inComponent) { -- final String serialised = Component.Serializer.toJson(inComponent, RegistryAccess.EMPTY); +- final String serialised = Component.Serializer.toJson(inComponent, getRegistryLookup()); + final String serialised = Component.Serializer.toJson(inComponent); return adventureSerializer.deserialize(serialised); +- } +- +- private static HolderLookup.Provider getRegistryLookup() { +- if (ModloaderEnvironment.INSTANCE.getEnvironment().isClient() && Minecraft.getInstance().level != null) +- return Minecraft.getInstance().level.registryAccess(); +- +- if (ModloaderEnvironment.INSTANCE.getEnvironment().isServer() && CommonPlatform.INSTANCE.getMCServer() != null) +- return CommonPlatform.INSTANCE.getMCServer().toMojang().registryAccess(); +- +- return RegistryAccess.EMPTY; } + // Some text components contain duplicate text, resulting in duplicate messages diff --git a/patches/1.20.2/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java.patch b/patches/1.20.2/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java.patch index 12a3545..896a96b 100644 --- a/patches/1.20.2/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java.patch +++ b/patches/1.20.2/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java.patch @@ -1,35 +1,23 @@ --- a/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java +++ /dev/null -@@ -1,59 +1,0 @@ +@@ -1,41 +1,0 @@ -package com.hypherionmc.craterlib; - --import com.hypherionmc.craterlib.api.events.client.LateInitEvent; --import com.hypherionmc.craterlib.client.gui.config.CraterConfigScreen; +-import com.hypherionmc.craterlib.client.NeoForgeClientHelper; -import com.hypherionmc.craterlib.common.NeoForgeServerEvents; -import com.hypherionmc.craterlib.compat.Vanish; --import com.hypherionmc.craterlib.core.config.ConfigController; --import com.hypherionmc.craterlib.core.config.ModuleConfig; --import com.hypherionmc.craterlib.core.config.annotations.NoConfigScreen; --import com.hypherionmc.craterlib.core.event.CraterEventBus; -import com.hypherionmc.craterlib.core.networking.CraterPacketNetwork; -import com.hypherionmc.craterlib.core.networking.PacketRegistry; -import com.hypherionmc.craterlib.core.networking.data.PacketSide; -import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; -import com.hypherionmc.craterlib.network.CraterNeoForgeNetworkHandler; --import com.hypherionmc.craterlib.nojang.client.BridgedMinecraft; --import com.hypherionmc.craterlib.nojang.client.BridgedOptions; --import net.minecraft.client.Minecraft; -import net.neoforged.bus.api.IEventBus; --import net.neoforged.fml.ModList; -import net.neoforged.fml.common.Mod; +-import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent; -import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent; --import net.neoforged.fml.loading.FMLEnvironment; -import net.neoforged.fml.loading.FMLLoader; --import net.neoforged.neoforge.client.gui.IConfigScreenFactory; -import net.neoforged.neoforge.common.NeoForge; - --import java.util.Optional; -- -@Mod(CraterConstants.MOD_ID) -public class CraterLib { - @@ -38,6 +26,7 @@ - public CraterLib(IEventBus eventBus) { - NeoForge.EVENT_BUS.register(new NeoForgeServerEvents()); - eventBus.addListener(this::commonSetup); +- eventBus.addListener(this::clientSetup); - handler = new CraterNeoForgeNetworkHandler(FMLLoader.getDist().isClient() ? PacketSide.CLIENT : PacketSide.SERVER); - - if (ModloaderEnvironment.INSTANCE.isModLoaded("vmod")) { @@ -47,16 +36,9 @@ - - public void commonSetup(FMLCommonSetupEvent evt) { - new CraterPacketNetwork(handler); -- if (FMLEnvironment.dist.isClient()) { -- LateInitEvent event = new LateInitEvent(new BridgedMinecraft(), BridgedOptions.of(Minecraft.getInstance().options)); -- CraterEventBus.INSTANCE.postEvent(event); +- } - -- ConfigController.getMonitoredConfigs().forEach((conf, watcher) -> { -- if (!conf.getClass().isAnnotationPresent(NoConfigScreen.class)) { -- ModuleConfig config = (ModuleConfig) conf; -- ModList.get().getModContainerById(config.getModId()).ifPresent(c -> c.registerExtensionPoint(IConfigScreenFactory.class, ((minecraft, screen) -> new CraterConfigScreen(config, screen)))); -- } -- }); -- } +- public void clientSetup(FMLClientSetupEvent evt) { +- NeoForgeClientHelper.registerClient(); - } -} diff --git a/patches/1.20.2/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java.patch b/patches/1.20.2/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java.patch index d082d6c..a0d386b 100644 --- a/patches/1.20.2/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java.patch +++ b/patches/1.20.2/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java.patch @@ -1,14 +1,23 @@ --- a/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java +++ /dev/null -@@ -1,40 +1,0 @@ +@@ -1,61 +1,0 @@ -package com.hypherionmc.craterlib.client; - +-import com.hypherionmc.craterlib.api.events.client.LateInitEvent; +-import com.hypherionmc.craterlib.client.gui.config.CraterConfigScreen; +-import com.hypherionmc.craterlib.core.config.ConfigController; +-import com.hypherionmc.craterlib.core.config.ModuleConfig; +-import com.hypherionmc.craterlib.core.config.annotations.NoConfigScreen; +-import com.hypherionmc.craterlib.core.event.CraterEventBus; -import com.hypherionmc.craterlib.core.platform.ClientPlatform; -import com.hypherionmc.craterlib.nojang.client.BridgedMinecraft; +-import com.hypherionmc.craterlib.nojang.client.BridgedOptions; -import com.hypherionmc.craterlib.nojang.client.multiplayer.BridgedClientLevel; -import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; -import net.minecraft.client.Minecraft; -import net.minecraft.network.Connection; +-import net.neoforged.fml.ModList; +-import net.neoforged.neoforge.client.gui.IConfigScreenFactory; - -import java.util.Objects; - @@ -40,4 +49,16 @@ - Objects.requireNonNull(Minecraft.getInstance().getConnection(), "Cannot send packets when not in game!"); - return Minecraft.getInstance().getConnection().getConnection(); - } +- +- public static void registerClient() { +- LateInitEvent event = new LateInitEvent(new BridgedMinecraft(), BridgedOptions.of(Minecraft.getInstance().options)); +- CraterEventBus.INSTANCE.postEvent(event); +- +- ConfigController.getMonitoredConfigs().forEach((conf, watcher) -> { +- if (!conf.getClass().isAnnotationPresent(NoConfigScreen.class)) { +- ModuleConfig config = (ModuleConfig) conf; +- ModList.get().getModContainerById(config.getModId()).ifPresent(c -> c.registerExtensionPoint(IConfigScreenFactory.class, ((minecraft, screen) -> new CraterConfigScreen(config, screen)))); +- } +- }); +- } -} diff --git a/patches/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/nojang/resources/ResourceIdentifier.java.patch b/patches/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/nojang/resources/ResourceIdentifier.java.patch index b8e086e..484a162 100644 --- a/patches/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/nojang/resources/ResourceIdentifier.java.patch +++ b/patches/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/nojang/resources/ResourceIdentifier.java.patch @@ -9,7 +9,7 @@ } public ResourceIdentifier(String path) { -- this.internal = ResourceLocation.withDefaultNamespace(path); +- this.internal = ResourceLocation.parse(path); + this.internal = new ResourceLocation(path); } diff --git a/patches/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch b/patches/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch index 3c0c085..91af5fb 100644 --- a/patches/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch +++ b/patches/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch @@ -1,10 +1,21 @@ --- a/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java +++ b/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java -@@ -9,12 +9,9 @@ +@@ -1,7 +1,5 @@ + package com.hypherionmc.craterlib.utils; + +-import com.hypherionmc.craterlib.core.platform.CommonPlatform; +-import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; + import com.hypherionmc.craterlib.nojang.resources.ResourceIdentifier; + import me.hypherionmc.mcdiscordformatter.discord.DiscordSerializer; + import me.hypherionmc.mcdiscordformatter.minecraft.MinecraftSerializer; +@@ -11,15 +9,9 @@ import net.minecraft.ChatFormatting; import net.minecraft.SharedConstants; import net.minecraft.Util; +-import net.minecraft.client.Minecraft; +-import net.minecraft.core.HolderLookup; -import net.minecraft.core.RegistryAccess; +-import net.minecraft.data.registries.VanillaRegistries; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.Style; @@ -13,17 +24,28 @@ public class ChatUtils { private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().options( -@@ -23,11 +20,11 @@ +@@ -28,22 +20,12 @@ public static Component adventureToMojang(net.kyori.adventure.text.Component inComponent) { final String serialised = adventureSerializer.serialize(inComponent); -- return Component.Serializer.fromJson(serialised, RegistryAccess.EMPTY); +- return Component.Serializer.fromJson(serialised, getRegistryLookup()); + return Component.Serializer.fromJson(serialised); } public static net.kyori.adventure.text.Component mojangToAdventure(Component inComponent) { -- final String serialised = Component.Serializer.toJson(inComponent, RegistryAccess.EMPTY); +- final String serialised = Component.Serializer.toJson(inComponent, getRegistryLookup()); + final String serialised = Component.Serializer.toJson(inComponent); return adventureSerializer.deserialize(serialised); +- } +- +- private static HolderLookup.Provider getRegistryLookup() { +- if (ModloaderEnvironment.INSTANCE.getEnvironment().isClient() && Minecraft.getInstance().level != null) +- return Minecraft.getInstance().level.registryAccess(); +- +- if (ModloaderEnvironment.INSTANCE.getEnvironment().isServer() && CommonPlatform.INSTANCE.getMCServer() != null) +- return CommonPlatform.INSTANCE.getMCServer().toMojang().registryAccess(); +- +- return RegistryAccess.EMPTY; } + // Some text components contain duplicate text, resulting in duplicate messages diff --git a/patches/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java.patch b/patches/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java.patch index 61abbbb..ce47d0b 100644 --- a/patches/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java.patch +++ b/patches/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java.patch @@ -1,46 +1,48 @@ --- a/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java +++ b/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java -@@ -1,12 +1,8 @@ +@@ -1,17 +1,21 @@ package com.hypherionmc.craterlib; - import com.hypherionmc.craterlib.api.events.client.LateInitEvent; --import com.hypherionmc.craterlib.client.gui.config.CraterConfigScreen; +-import com.hypherionmc.craterlib.client.NeoForgeClientHelper; ++import com.hypherionmc.craterlib.api.events.client.LateInitEvent; import com.hypherionmc.craterlib.common.NeoForgeServerEvents; import com.hypherionmc.craterlib.compat.Vanish; --import com.hypherionmc.craterlib.core.config.ConfigController; --import com.hypherionmc.craterlib.core.config.ModuleConfig; --import com.hypherionmc.craterlib.core.config.annotations.NoConfigScreen; - import com.hypherionmc.craterlib.core.event.CraterEventBus; ++import com.hypherionmc.craterlib.core.event.CraterEventBus; import com.hypherionmc.craterlib.core.networking.CraterPacketNetwork; import com.hypherionmc.craterlib.core.networking.PacketRegistry; -@@ -17,16 +13,12 @@ - import com.hypherionmc.craterlib.nojang.client.BridgedOptions; - import net.minecraft.client.Minecraft; + import com.hypherionmc.craterlib.core.networking.data.PacketSide; + import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; + import com.hypherionmc.craterlib.network.CraterNeoForgeNetworkHandler; ++import com.hypherionmc.craterlib.nojang.client.BridgedMinecraft; ++import com.hypherionmc.craterlib.nojang.client.BridgedOptions; ++import net.minecraft.client.Minecraft; import net.neoforged.bus.api.IEventBus; --import net.neoforged.fml.ModList; import net.neoforged.fml.common.Mod; +-import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent; import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent; - import net.neoforged.fml.loading.FMLEnvironment; ++import net.neoforged.fml.loading.FMLEnvironment; import net.neoforged.fml.loading.FMLLoader; --import net.neoforged.neoforge.client.gui.IConfigScreenFactory; import net.neoforged.neoforge.common.NeoForge; --import java.util.Optional; -- - @Mod(CraterConstants.MOD_ID) - public class CraterLib { +@@ -23,7 +27,6 @@ + public CraterLib(IEventBus eventBus) { + NeoForge.EVENT_BUS.register(new NeoForgeServerEvents()); + eventBus.addListener(this::commonSetup); +- eventBus.addListener(this::clientSetup); + handler = new CraterNeoForgeNetworkHandler(FMLLoader.getDist().isClient() ? PacketSide.CLIENT : PacketSide.SERVER); -@@ -47,13 +39,6 @@ - if (FMLEnvironment.dist.isClient()) { - LateInitEvent event = new LateInitEvent(new BridgedMinecraft(), BridgedOptions.of(Minecraft.getInstance().options)); - CraterEventBus.INSTANCE.postEvent(event); + if (ModloaderEnvironment.INSTANCE.isModLoaded("vmod")) { +@@ -33,9 +36,9 @@ + + public void commonSetup(FMLCommonSetupEvent evt) { + new CraterPacketNetwork(handler); +- } - -- ConfigController.getMonitoredConfigs().forEach((conf, watcher) -> { -- if (!conf.getClass().isAnnotationPresent(NoConfigScreen.class)) { -- ModuleConfig config = (ModuleConfig) conf; -- ModList.get().getModContainerById(config.getModId()).ifPresent(c -> c.registerExtensionPoint(IConfigScreenFactory.class, ((minecraft, screen) -> new CraterConfigScreen(config, screen)))); -- } -- }); - } +- public void clientSetup(FMLClientSetupEvent evt) { +- NeoForgeClientHelper.registerClient(); ++ if (FMLEnvironment.dist.isClient()) { ++ LateInitEvent event = new LateInitEvent(new BridgedMinecraft(), BridgedOptions.of(Minecraft.getInstance().options)); ++ CraterEventBus.INSTANCE.postEvent(event); ++ } } } diff --git a/patches/1.21/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java.patch b/patches/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java.patch similarity index 52% rename from patches/1.21/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java.patch rename to patches/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java.patch index 3cee827..82b6d77 100644 --- a/patches/1.21/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java.patch +++ b/patches/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java.patch @@ -1,41 +1,41 @@ --- a/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java +++ b/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java -@@ -1,11 +1,20 @@ +@@ -1,20 +1,11 @@ package com.hypherionmc.craterlib.client; -+import com.hypherionmc.craterlib.api.events.client.LateInitEvent; -+import com.hypherionmc.craterlib.client.gui.config.CraterConfigScreen; -+import com.hypherionmc.craterlib.core.config.ConfigController; -+import com.hypherionmc.craterlib.core.config.ModuleConfig; -+import com.hypherionmc.craterlib.core.config.annotations.NoConfigScreen; -+import com.hypherionmc.craterlib.core.event.CraterEventBus; +-import com.hypherionmc.craterlib.api.events.client.LateInitEvent; +-import com.hypherionmc.craterlib.client.gui.config.CraterConfigScreen; +-import com.hypherionmc.craterlib.core.config.ConfigController; +-import com.hypherionmc.craterlib.core.config.ModuleConfig; +-import com.hypherionmc.craterlib.core.config.annotations.NoConfigScreen; +-import com.hypherionmc.craterlib.core.event.CraterEventBus; import com.hypherionmc.craterlib.core.platform.ClientPlatform; import com.hypherionmc.craterlib.nojang.client.BridgedMinecraft; -+import com.hypherionmc.craterlib.nojang.client.BridgedOptions; +-import com.hypherionmc.craterlib.nojang.client.BridgedOptions; import com.hypherionmc.craterlib.nojang.client.multiplayer.BridgedClientLevel; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; import net.minecraft.client.Minecraft; import net.minecraft.network.Connection; -+import net.neoforged.fml.ModList; -+import net.neoforged.neoforge.client.gui.IConfigScreenFactory; +-import net.neoforged.fml.ModList; +-import net.neoforged.neoforge.client.gui.IConfigScreenFactory; import java.util.Objects; -@@ -36,5 +45,17 @@ +@@ -45,17 +36,5 @@ public Connection getClientConnection() { Objects.requireNonNull(Minecraft.getInstance().getConnection(), "Cannot send packets when not in game!"); return Minecraft.getInstance().getConnection().getConnection(); -+ } -+ -+ public static void registerClient() { -+ LateInitEvent event = new LateInitEvent(new BridgedMinecraft(), BridgedOptions.of(Minecraft.getInstance().options)); -+ CraterEventBus.INSTANCE.postEvent(event); -+ -+ ConfigController.getMonitoredConfigs().forEach((conf, watcher) -> { -+ if (!conf.getClass().isAnnotationPresent(NoConfigScreen.class)) { -+ ModuleConfig config = (ModuleConfig) conf; -+ ModList.get().getModContainerById(config.getModId()).ifPresent(c -> c.registerExtensionPoint(IConfigScreenFactory.class, ((minecraft, screen) -> new CraterConfigScreen(config, screen)))); -+ } -+ }); +- } +- +- public static void registerClient() { +- LateInitEvent event = new LateInitEvent(new BridgedMinecraft(), BridgedOptions.of(Minecraft.getInstance().options)); +- CraterEventBus.INSTANCE.postEvent(event); +- +- ConfigController.getMonitoredConfigs().forEach((conf, watcher) -> { +- if (!conf.getClass().isAnnotationPresent(NoConfigScreen.class)) { +- ModuleConfig config = (ModuleConfig) conf; +- ModList.get().getModContainerById(config.getModId()).ifPresent(c -> c.registerExtensionPoint(IConfigScreenFactory.class, ((minecraft, screen) -> new CraterConfigScreen(config, screen)))); +- } +- }); } } diff --git a/patches/1.20/Common/src/main/java/com/hypherionmc/craterlib/nojang/resources/ResourceIdentifier.java.patch b/patches/1.20/Common/src/main/java/com/hypherionmc/craterlib/nojang/resources/ResourceIdentifier.java.patch index b8e086e..484a162 100644 --- a/patches/1.20/Common/src/main/java/com/hypherionmc/craterlib/nojang/resources/ResourceIdentifier.java.patch +++ b/patches/1.20/Common/src/main/java/com/hypherionmc/craterlib/nojang/resources/ResourceIdentifier.java.patch @@ -9,7 +9,7 @@ } public ResourceIdentifier(String path) { -- this.internal = ResourceLocation.withDefaultNamespace(path); +- this.internal = ResourceLocation.parse(path); + this.internal = new ResourceLocation(path); } diff --git a/patches/1.20/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch b/patches/1.20/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch index 3c0c085..91af5fb 100644 --- a/patches/1.20/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch +++ b/patches/1.20/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch @@ -1,10 +1,21 @@ --- a/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java +++ b/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java -@@ -9,12 +9,9 @@ +@@ -1,7 +1,5 @@ + package com.hypherionmc.craterlib.utils; + +-import com.hypherionmc.craterlib.core.platform.CommonPlatform; +-import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; + import com.hypherionmc.craterlib.nojang.resources.ResourceIdentifier; + import me.hypherionmc.mcdiscordformatter.discord.DiscordSerializer; + import me.hypherionmc.mcdiscordformatter.minecraft.MinecraftSerializer; +@@ -11,15 +9,9 @@ import net.minecraft.ChatFormatting; import net.minecraft.SharedConstants; import net.minecraft.Util; +-import net.minecraft.client.Minecraft; +-import net.minecraft.core.HolderLookup; -import net.minecraft.core.RegistryAccess; +-import net.minecraft.data.registries.VanillaRegistries; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.Style; @@ -13,17 +24,28 @@ public class ChatUtils { private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().options( -@@ -23,11 +20,11 @@ +@@ -28,22 +20,12 @@ public static Component adventureToMojang(net.kyori.adventure.text.Component inComponent) { final String serialised = adventureSerializer.serialize(inComponent); -- return Component.Serializer.fromJson(serialised, RegistryAccess.EMPTY); +- return Component.Serializer.fromJson(serialised, getRegistryLookup()); + return Component.Serializer.fromJson(serialised); } public static net.kyori.adventure.text.Component mojangToAdventure(Component inComponent) { -- final String serialised = Component.Serializer.toJson(inComponent, RegistryAccess.EMPTY); +- final String serialised = Component.Serializer.toJson(inComponent, getRegistryLookup()); + final String serialised = Component.Serializer.toJson(inComponent); return adventureSerializer.deserialize(serialised); +- } +- +- private static HolderLookup.Provider getRegistryLookup() { +- if (ModloaderEnvironment.INSTANCE.getEnvironment().isClient() && Minecraft.getInstance().level != null) +- return Minecraft.getInstance().level.registryAccess(); +- +- if (ModloaderEnvironment.INSTANCE.getEnvironment().isServer() && CommonPlatform.INSTANCE.getMCServer() != null) +- return CommonPlatform.INSTANCE.getMCServer().toMojang().registryAccess(); +- +- return RegistryAccess.EMPTY; } + // Some text components contain duplicate text, resulting in duplicate messages diff --git a/patches/1.20/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java.patch b/patches/1.20/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java.patch index 12a3545..896a96b 100644 --- a/patches/1.20/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java.patch +++ b/patches/1.20/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java.patch @@ -1,35 +1,23 @@ --- a/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java +++ /dev/null -@@ -1,59 +1,0 @@ +@@ -1,41 +1,0 @@ -package com.hypherionmc.craterlib; - --import com.hypherionmc.craterlib.api.events.client.LateInitEvent; --import com.hypherionmc.craterlib.client.gui.config.CraterConfigScreen; +-import com.hypherionmc.craterlib.client.NeoForgeClientHelper; -import com.hypherionmc.craterlib.common.NeoForgeServerEvents; -import com.hypherionmc.craterlib.compat.Vanish; --import com.hypherionmc.craterlib.core.config.ConfigController; --import com.hypherionmc.craterlib.core.config.ModuleConfig; --import com.hypherionmc.craterlib.core.config.annotations.NoConfigScreen; --import com.hypherionmc.craterlib.core.event.CraterEventBus; -import com.hypherionmc.craterlib.core.networking.CraterPacketNetwork; -import com.hypherionmc.craterlib.core.networking.PacketRegistry; -import com.hypherionmc.craterlib.core.networking.data.PacketSide; -import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; -import com.hypherionmc.craterlib.network.CraterNeoForgeNetworkHandler; --import com.hypherionmc.craterlib.nojang.client.BridgedMinecraft; --import com.hypherionmc.craterlib.nojang.client.BridgedOptions; --import net.minecraft.client.Minecraft; -import net.neoforged.bus.api.IEventBus; --import net.neoforged.fml.ModList; -import net.neoforged.fml.common.Mod; +-import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent; -import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent; --import net.neoforged.fml.loading.FMLEnvironment; -import net.neoforged.fml.loading.FMLLoader; --import net.neoforged.neoforge.client.gui.IConfigScreenFactory; -import net.neoforged.neoforge.common.NeoForge; - --import java.util.Optional; -- -@Mod(CraterConstants.MOD_ID) -public class CraterLib { - @@ -38,6 +26,7 @@ - public CraterLib(IEventBus eventBus) { - NeoForge.EVENT_BUS.register(new NeoForgeServerEvents()); - eventBus.addListener(this::commonSetup); +- eventBus.addListener(this::clientSetup); - handler = new CraterNeoForgeNetworkHandler(FMLLoader.getDist().isClient() ? PacketSide.CLIENT : PacketSide.SERVER); - - if (ModloaderEnvironment.INSTANCE.isModLoaded("vmod")) { @@ -47,16 +36,9 @@ - - public void commonSetup(FMLCommonSetupEvent evt) { - new CraterPacketNetwork(handler); -- if (FMLEnvironment.dist.isClient()) { -- LateInitEvent event = new LateInitEvent(new BridgedMinecraft(), BridgedOptions.of(Minecraft.getInstance().options)); -- CraterEventBus.INSTANCE.postEvent(event); +- } - -- ConfigController.getMonitoredConfigs().forEach((conf, watcher) -> { -- if (!conf.getClass().isAnnotationPresent(NoConfigScreen.class)) { -- ModuleConfig config = (ModuleConfig) conf; -- ModList.get().getModContainerById(config.getModId()).ifPresent(c -> c.registerExtensionPoint(IConfigScreenFactory.class, ((minecraft, screen) -> new CraterConfigScreen(config, screen)))); -- } -- }); -- } +- public void clientSetup(FMLClientSetupEvent evt) { +- NeoForgeClientHelper.registerClient(); - } -} diff --git a/patches/1.20/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java.patch b/patches/1.20/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java.patch index d082d6c..a0d386b 100644 --- a/patches/1.20/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java.patch +++ b/patches/1.20/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java.patch @@ -1,14 +1,23 @@ --- a/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java +++ /dev/null -@@ -1,40 +1,0 @@ +@@ -1,61 +1,0 @@ -package com.hypherionmc.craterlib.client; - +-import com.hypherionmc.craterlib.api.events.client.LateInitEvent; +-import com.hypherionmc.craterlib.client.gui.config.CraterConfigScreen; +-import com.hypherionmc.craterlib.core.config.ConfigController; +-import com.hypherionmc.craterlib.core.config.ModuleConfig; +-import com.hypherionmc.craterlib.core.config.annotations.NoConfigScreen; +-import com.hypherionmc.craterlib.core.event.CraterEventBus; -import com.hypherionmc.craterlib.core.platform.ClientPlatform; -import com.hypherionmc.craterlib.nojang.client.BridgedMinecraft; +-import com.hypherionmc.craterlib.nojang.client.BridgedOptions; -import com.hypherionmc.craterlib.nojang.client.multiplayer.BridgedClientLevel; -import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; -import net.minecraft.client.Minecraft; -import net.minecraft.network.Connection; +-import net.neoforged.fml.ModList; +-import net.neoforged.neoforge.client.gui.IConfigScreenFactory; - -import java.util.Objects; - @@ -40,4 +49,16 @@ - Objects.requireNonNull(Minecraft.getInstance().getConnection(), "Cannot send packets when not in game!"); - return Minecraft.getInstance().getConnection().getConnection(); - } +- +- public static void registerClient() { +- LateInitEvent event = new LateInitEvent(new BridgedMinecraft(), BridgedOptions.of(Minecraft.getInstance().options)); +- CraterEventBus.INSTANCE.postEvent(event); +- +- ConfigController.getMonitoredConfigs().forEach((conf, watcher) -> { +- if (!conf.getClass().isAnnotationPresent(NoConfigScreen.class)) { +- ModuleConfig config = (ModuleConfig) conf; +- ModList.get().getModContainerById(config.getModId()).ifPresent(c -> c.registerExtensionPoint(IConfigScreenFactory.class, ((minecraft, screen) -> new CraterConfigScreen(config, screen)))); +- } +- }); +- } -} diff --git a/patches/1.21/Common/src/main/java/com/hypherionmc/craterlib/nojang/resources/ResourceIdentifier.java.patch b/patches/1.21/Common/src/main/java/com/hypherionmc/craterlib/nojang/resources/ResourceIdentifier.java.patch deleted file mode 100644 index 267e68b..0000000 --- a/patches/1.21/Common/src/main/java/com/hypherionmc/craterlib/nojang/resources/ResourceIdentifier.java.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/Common/src/main/java/com/hypherionmc/craterlib/nojang/resources/ResourceIdentifier.java -+++ b/Common/src/main/java/com/hypherionmc/craterlib/nojang/resources/ResourceIdentifier.java -@@ -11,7 +11,7 @@ - } - - public ResourceIdentifier(String path) { -- this.internal = ResourceLocation.withDefaultNamespace(path); -+ this.internal = ResourceLocation.parse(path); - } - - public String getNamespace() { diff --git a/patches/1.21/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch b/patches/1.21/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch deleted file mode 100644 index c37e32a..0000000 --- a/patches/1.21/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch +++ /dev/null @@ -1,46 +0,0 @@ ---- a/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java -+++ b/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java -@@ -1,5 +1,7 @@ - package com.hypherionmc.craterlib.utils; - -+import com.hypherionmc.craterlib.core.platform.CommonPlatform; -+import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; - import com.hypherionmc.craterlib.nojang.resources.ResourceIdentifier; - import me.hypherionmc.mcdiscordformatter.discord.DiscordSerializer; - import me.hypherionmc.mcdiscordformatter.minecraft.MinecraftSerializer; -@@ -9,7 +11,10 @@ - import net.minecraft.ChatFormatting; - import net.minecraft.SharedConstants; - import net.minecraft.Util; -+import net.minecraft.client.Minecraft; -+import net.minecraft.core.HolderLookup; - import net.minecraft.core.RegistryAccess; -+import net.minecraft.data.registries.VanillaRegistries; - import net.minecraft.network.chat.Component; - import net.minecraft.network.chat.Style; - -@@ -23,12 +28,22 @@ - - public static Component adventureToMojang(net.kyori.adventure.text.Component inComponent) { - final String serialised = adventureSerializer.serialize(inComponent); -- return Component.Serializer.fromJson(serialised, RegistryAccess.EMPTY); -+ return Component.Serializer.fromJson(serialised, getRegistryLookup()); - } - - public static net.kyori.adventure.text.Component mojangToAdventure(Component inComponent) { -- final String serialised = Component.Serializer.toJson(inComponent, RegistryAccess.EMPTY); -+ final String serialised = Component.Serializer.toJson(inComponent, getRegistryLookup()); - return adventureSerializer.deserialize(serialised); -+ } -+ -+ private static HolderLookup.Provider getRegistryLookup() { -+ if (ModloaderEnvironment.INSTANCE.getEnvironment().isClient() && Minecraft.getInstance().level != null) -+ return Minecraft.getInstance().level.registryAccess(); -+ -+ if (ModloaderEnvironment.INSTANCE.getEnvironment().isServer() && CommonPlatform.INSTANCE.getMCServer() != null) -+ return CommonPlatform.INSTANCE.getMCServer().toMojang().registryAccess(); -+ -+ return RegistryAccess.EMPTY; - } - - // Some text components contain duplicate text, resulting in duplicate messages diff --git a/patches/1.21/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java.patch b/patches/1.21/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java.patch deleted file mode 100644 index 8e97015..0000000 --- a/patches/1.21/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java.patch +++ /dev/null @@ -1,65 +0,0 @@ ---- a/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java -+++ b/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java -@@ -1,32 +1,20 @@ - package com.hypherionmc.craterlib; - --import com.hypherionmc.craterlib.api.events.client.LateInitEvent; --import com.hypherionmc.craterlib.client.gui.config.CraterConfigScreen; -+import com.hypherionmc.craterlib.client.NeoForgeClientHelper; - import com.hypherionmc.craterlib.common.NeoForgeServerEvents; - import com.hypherionmc.craterlib.compat.Vanish; --import com.hypherionmc.craterlib.core.config.ConfigController; --import com.hypherionmc.craterlib.core.config.ModuleConfig; --import com.hypherionmc.craterlib.core.config.annotations.NoConfigScreen; --import com.hypherionmc.craterlib.core.event.CraterEventBus; - import com.hypherionmc.craterlib.core.networking.CraterPacketNetwork; - import com.hypherionmc.craterlib.core.networking.PacketRegistry; - import com.hypherionmc.craterlib.core.networking.data.PacketSide; - import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; - import com.hypherionmc.craterlib.network.CraterNeoForgeNetworkHandler; --import com.hypherionmc.craterlib.nojang.client.BridgedMinecraft; --import com.hypherionmc.craterlib.nojang.client.BridgedOptions; --import net.minecraft.client.Minecraft; - import net.neoforged.bus.api.IEventBus; --import net.neoforged.fml.ModList; - import net.neoforged.fml.common.Mod; -+import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent; - import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent; --import net.neoforged.fml.loading.FMLEnvironment; - import net.neoforged.fml.loading.FMLLoader; --import net.neoforged.neoforge.client.gui.IConfigScreenFactory; - import net.neoforged.neoforge.common.NeoForge; - --import java.util.Optional; -- - @Mod(CraterConstants.MOD_ID) - public class CraterLib { - -@@ -35,6 +23,7 @@ - public CraterLib(IEventBus eventBus) { - NeoForge.EVENT_BUS.register(new NeoForgeServerEvents()); - eventBus.addListener(this::commonSetup); -+ eventBus.addListener(this::clientSetup); - handler = new CraterNeoForgeNetworkHandler(FMLLoader.getDist().isClient() ? PacketSide.CLIENT : PacketSide.SERVER); - - if (ModloaderEnvironment.INSTANCE.isModLoaded("vmod")) { -@@ -44,16 +33,9 @@ - - public void commonSetup(FMLCommonSetupEvent evt) { - new CraterPacketNetwork(handler); -- if (FMLEnvironment.dist.isClient()) { -- LateInitEvent event = new LateInitEvent(new BridgedMinecraft(), BridgedOptions.of(Minecraft.getInstance().options)); -- CraterEventBus.INSTANCE.postEvent(event); -+ } - -- ConfigController.getMonitoredConfigs().forEach((conf, watcher) -> { -- if (!conf.getClass().isAnnotationPresent(NoConfigScreen.class)) { -- ModuleConfig config = (ModuleConfig) conf; -- ModList.get().getModContainerById(config.getModId()).ifPresent(c -> c.registerExtensionPoint(IConfigScreenFactory.class, ((minecraft, screen) -> new CraterConfigScreen(config, screen)))); -- } -- }); -- } -+ public void clientSetup(FMLClientSetupEvent evt) { -+ NeoForgeClientHelper.registerClient(); - } - }