[CHORE] Update porting patches

This commit is contained in:
2024-07-05 20:32:53 +02:00
parent 7cb010183f
commit ce6ee95256
28 changed files with 364 additions and 337 deletions

View File

@@ -1 +1 @@
ce16c08760cf548e5c6a3d698a4f4a3c31f7aca1 843f23b9c72c71b2ac99a9f3b874a4613462980e

View File

@@ -9,7 +9,7 @@
} }
public ResourceIdentifier(String path) { public ResourceIdentifier(String path) {
- this.internal = ResourceLocation.withDefaultNamespace(path); - this.internal = ResourceLocation.parse(path);
+ this.internal = new ResourceLocation(path); + this.internal = new ResourceLocation(path);
} }

View File

@@ -1,10 +1,21 @@
--- a/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java --- a/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java
+++ b/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.ChatFormatting;
import net.minecraft.SharedConstants; import net.minecraft.SharedConstants;
import net.minecraft.Util; import net.minecraft.Util;
-import net.minecraft.client.Minecraft;
-import net.minecraft.core.HolderLookup;
-import net.minecraft.core.RegistryAccess; -import net.minecraft.core.RegistryAccess;
-import net.minecraft.data.registries.VanillaRegistries;
import net.minecraft.network.chat.Component; import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.Style; import net.minecraft.network.chat.Style;
- -
@@ -14,21 +25,32 @@
public class ChatUtils { public class ChatUtils {
@@ -23,11 +22,11 @@ @@ -28,30 +22,20 @@
public static Component adventureToMojang(net.kyori.adventure.text.Component inComponent) { public static Component adventureToMojang(net.kyori.adventure.text.Component inComponent) {
final String serialised = adventureSerializer.serialize(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); + return Component.Serializer.fromJson(serialised);
} }
public static net.kyori.adventure.text.Component mojangToAdventure(Component inComponent) { 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); + final String serialised = Component.Serializer.toJson(inComponent);
return adventureSerializer.deserialize(serialised); 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) { public static Component safeCopy(Component inComponent) {
String value = inComponent.getString(); String value = inComponent.getString();
Style style = inComponent.getStyle(); Style style = inComponent.getStyle();
@@ -37,7 +59,7 @@
} }
public static String strip(String inString, String... toStrip) { 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) { public static net.kyori.adventure.text.Component resolve(String component, boolean formatted) {
@@ -46,7 +68,7 @@
if (formatted) { if (formatted) {
returnVal = MinecraftSerializer.INSTANCE.serialize(component); returnVal = MinecraftSerializer.INSTANCE.serialize(component);
} }
@@ -93,7 +92,7 @@ @@ -108,7 +92,7 @@
if (identifier == null) if (identifier == null)
return net.kyori.adventure.text.Component.text("Unknown"); return net.kyori.adventure.text.Component.text("Unknown");

View File

@@ -1,35 +1,23 @@
--- a/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java --- a/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java
+++ /dev/null +++ /dev/null
@@ -1,59 +1,0 @@ @@ -1,41 +1,0 @@
-package com.hypherionmc.craterlib; -package com.hypherionmc.craterlib;
- -
-import com.hypherionmc.craterlib.api.events.client.LateInitEvent; -import com.hypherionmc.craterlib.client.NeoForgeClientHelper;
-import com.hypherionmc.craterlib.client.gui.config.CraterConfigScreen;
-import com.hypherionmc.craterlib.common.NeoForgeServerEvents; -import com.hypherionmc.craterlib.common.NeoForgeServerEvents;
-import com.hypherionmc.craterlib.compat.Vanish; -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.CraterPacketNetwork;
-import com.hypherionmc.craterlib.core.networking.PacketRegistry; -import com.hypherionmc.craterlib.core.networking.PacketRegistry;
-import com.hypherionmc.craterlib.core.networking.data.PacketSide; -import com.hypherionmc.craterlib.core.networking.data.PacketSide;
-import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; -import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment;
-import com.hypherionmc.craterlib.network.CraterNeoForgeNetworkHandler; -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.bus.api.IEventBus;
-import net.neoforged.fml.ModList;
-import net.neoforged.fml.common.Mod; -import net.neoforged.fml.common.Mod;
-import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent;
-import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent; -import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent;
-import net.neoforged.fml.loading.FMLEnvironment;
-import net.neoforged.fml.loading.FMLLoader; -import net.neoforged.fml.loading.FMLLoader;
-import net.neoforged.neoforge.client.gui.IConfigScreenFactory;
-import net.neoforged.neoforge.common.NeoForge; -import net.neoforged.neoforge.common.NeoForge;
- -
-import java.util.Optional;
-
-@Mod(CraterConstants.MOD_ID) -@Mod(CraterConstants.MOD_ID)
-public class CraterLib { -public class CraterLib {
- -
@@ -38,6 +26,7 @@
- public CraterLib(IEventBus eventBus) { - public CraterLib(IEventBus eventBus) {
- NeoForge.EVENT_BUS.register(new NeoForgeServerEvents()); - NeoForge.EVENT_BUS.register(new NeoForgeServerEvents());
- eventBus.addListener(this::commonSetup); - eventBus.addListener(this::commonSetup);
- eventBus.addListener(this::clientSetup);
- handler = new CraterNeoForgeNetworkHandler(FMLLoader.getDist().isClient() ? PacketSide.CLIENT : PacketSide.SERVER); - handler = new CraterNeoForgeNetworkHandler(FMLLoader.getDist().isClient() ? PacketSide.CLIENT : PacketSide.SERVER);
- -
- if (ModloaderEnvironment.INSTANCE.isModLoaded("vmod")) { - if (ModloaderEnvironment.INSTANCE.isModLoaded("vmod")) {
@@ -47,16 +36,9 @@
- -
- public void commonSetup(FMLCommonSetupEvent evt) { - public void commonSetup(FMLCommonSetupEvent evt) {
- new CraterPacketNetwork(handler); - 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) -> { - public void clientSetup(FMLClientSetupEvent evt) {
- if (!conf.getClass().isAnnotationPresent(NoConfigScreen.class)) { - NeoForgeClientHelper.registerClient();
- ModuleConfig config = (ModuleConfig) conf;
- ModList.get().getModContainerById(config.getModId()).ifPresent(c -> c.registerExtensionPoint(IConfigScreenFactory.class, ((minecraft, screen) -> new CraterConfigScreen(config, screen))));
- }
- });
- }
- } - }
-} -}

View File

@@ -1,14 +1,23 @@
--- a/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java --- a/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java
+++ /dev/null +++ /dev/null
@@ -1,40 +1,0 @@ @@ -1,61 +1,0 @@
-package com.hypherionmc.craterlib.client; -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.core.platform.ClientPlatform;
-import com.hypherionmc.craterlib.nojang.client.BridgedMinecraft; -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.client.multiplayer.BridgedClientLevel;
-import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; -import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer;
-import net.minecraft.client.Minecraft; -import net.minecraft.client.Minecraft;
-import net.minecraft.network.Connection; -import net.minecraft.network.Connection;
-import net.neoforged.fml.ModList;
-import net.neoforged.neoforge.client.gui.IConfigScreenFactory;
- -
-import java.util.Objects; -import java.util.Objects;
- -
@@ -40,4 +49,16 @@
- Objects.requireNonNull(Minecraft.getInstance().getConnection(), "Cannot send packets when not in game!"); - Objects.requireNonNull(Minecraft.getInstance().getConnection(), "Cannot send packets when not in game!");
- return Minecraft.getInstance().getConnection().getConnection(); - 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))));
- }
- });
- }
-} -}

View File

@@ -9,7 +9,7 @@
} }
public ResourceIdentifier(String path) { public ResourceIdentifier(String path) {
- this.internal = ResourceLocation.withDefaultNamespace(path); - this.internal = ResourceLocation.parse(path);
+ this.internal = new ResourceLocation(path); + this.internal = new ResourceLocation(path);
} }

View File

@@ -1,10 +1,21 @@
--- a/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java --- a/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java
+++ b/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.ChatFormatting;
import net.minecraft.SharedConstants; import net.minecraft.SharedConstants;
import net.minecraft.Util; import net.minecraft.Util;
-import net.minecraft.client.Minecraft;
-import net.minecraft.core.HolderLookup;
-import net.minecraft.core.RegistryAccess; -import net.minecraft.core.RegistryAccess;
-import net.minecraft.data.registries.VanillaRegistries;
import net.minecraft.network.chat.Component; import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.Style; import net.minecraft.network.chat.Style;
@@ -13,17 +24,28 @@
public class ChatUtils { public class ChatUtils {
private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().options( 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) { public static Component adventureToMojang(net.kyori.adventure.text.Component inComponent) {
final String serialised = adventureSerializer.serialize(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); + return Component.Serializer.fromJson(serialised);
} }
public static net.kyori.adventure.text.Component mojangToAdventure(Component inComponent) { 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); + final String serialised = Component.Serializer.toJson(inComponent);
return adventureSerializer.deserialize(serialised); 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

View File

@@ -1,35 +1,23 @@
--- a/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java --- a/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java
+++ /dev/null +++ /dev/null
@@ -1,59 +1,0 @@ @@ -1,41 +1,0 @@
-package com.hypherionmc.craterlib; -package com.hypherionmc.craterlib;
- -
-import com.hypherionmc.craterlib.api.events.client.LateInitEvent; -import com.hypherionmc.craterlib.client.NeoForgeClientHelper;
-import com.hypherionmc.craterlib.client.gui.config.CraterConfigScreen;
-import com.hypherionmc.craterlib.common.NeoForgeServerEvents; -import com.hypherionmc.craterlib.common.NeoForgeServerEvents;
-import com.hypherionmc.craterlib.compat.Vanish; -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.CraterPacketNetwork;
-import com.hypherionmc.craterlib.core.networking.PacketRegistry; -import com.hypherionmc.craterlib.core.networking.PacketRegistry;
-import com.hypherionmc.craterlib.core.networking.data.PacketSide; -import com.hypherionmc.craterlib.core.networking.data.PacketSide;
-import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; -import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment;
-import com.hypherionmc.craterlib.network.CraterNeoForgeNetworkHandler; -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.bus.api.IEventBus;
-import net.neoforged.fml.ModList;
-import net.neoforged.fml.common.Mod; -import net.neoforged.fml.common.Mod;
-import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent;
-import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent; -import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent;
-import net.neoforged.fml.loading.FMLEnvironment;
-import net.neoforged.fml.loading.FMLLoader; -import net.neoforged.fml.loading.FMLLoader;
-import net.neoforged.neoforge.client.gui.IConfigScreenFactory;
-import net.neoforged.neoforge.common.NeoForge; -import net.neoforged.neoforge.common.NeoForge;
- -
-import java.util.Optional;
-
-@Mod(CraterConstants.MOD_ID) -@Mod(CraterConstants.MOD_ID)
-public class CraterLib { -public class CraterLib {
- -
@@ -38,6 +26,7 @@
- public CraterLib(IEventBus eventBus) { - public CraterLib(IEventBus eventBus) {
- NeoForge.EVENT_BUS.register(new NeoForgeServerEvents()); - NeoForge.EVENT_BUS.register(new NeoForgeServerEvents());
- eventBus.addListener(this::commonSetup); - eventBus.addListener(this::commonSetup);
- eventBus.addListener(this::clientSetup);
- handler = new CraterNeoForgeNetworkHandler(FMLLoader.getDist().isClient() ? PacketSide.CLIENT : PacketSide.SERVER); - handler = new CraterNeoForgeNetworkHandler(FMLLoader.getDist().isClient() ? PacketSide.CLIENT : PacketSide.SERVER);
- -
- if (ModloaderEnvironment.INSTANCE.isModLoaded("vmod")) { - if (ModloaderEnvironment.INSTANCE.isModLoaded("vmod")) {
@@ -47,16 +36,9 @@
- -
- public void commonSetup(FMLCommonSetupEvent evt) { - public void commonSetup(FMLCommonSetupEvent evt) {
- new CraterPacketNetwork(handler); - 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) -> { - public void clientSetup(FMLClientSetupEvent evt) {
- if (!conf.getClass().isAnnotationPresent(NoConfigScreen.class)) { - NeoForgeClientHelper.registerClient();
- ModuleConfig config = (ModuleConfig) conf;
- ModList.get().getModContainerById(config.getModId()).ifPresent(c -> c.registerExtensionPoint(IConfigScreenFactory.class, ((minecraft, screen) -> new CraterConfigScreen(config, screen))));
- }
- });
- }
- } - }
-} -}

View File

@@ -1,14 +1,23 @@
--- a/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java --- a/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java
+++ /dev/null +++ /dev/null
@@ -1,40 +1,0 @@ @@ -1,61 +1,0 @@
-package com.hypherionmc.craterlib.client; -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.core.platform.ClientPlatform;
-import com.hypherionmc.craterlib.nojang.client.BridgedMinecraft; -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.client.multiplayer.BridgedClientLevel;
-import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; -import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer;
-import net.minecraft.client.Minecraft; -import net.minecraft.client.Minecraft;
-import net.minecraft.network.Connection; -import net.minecraft.network.Connection;
-import net.neoforged.fml.ModList;
-import net.neoforged.neoforge.client.gui.IConfigScreenFactory;
- -
-import java.util.Objects; -import java.util.Objects;
- -
@@ -40,4 +49,16 @@
- Objects.requireNonNull(Minecraft.getInstance().getConnection(), "Cannot send packets when not in game!"); - Objects.requireNonNull(Minecraft.getInstance().getConnection(), "Cannot send packets when not in game!");
- return Minecraft.getInstance().getConnection().getConnection(); - 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))));
- }
- });
- }
-} -}

View File

@@ -9,7 +9,7 @@
} }
public ResourceIdentifier(String path) { public ResourceIdentifier(String path) {
- this.internal = ResourceLocation.withDefaultNamespace(path); - this.internal = ResourceLocation.parse(path);
+ this.internal = new ResourceLocation(path); + this.internal = new ResourceLocation(path);
} }

View File

@@ -1,10 +1,21 @@
--- a/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java --- a/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java
+++ b/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.ChatFormatting;
import net.minecraft.SharedConstants; import net.minecraft.SharedConstants;
import net.minecraft.Util; import net.minecraft.Util;
-import net.minecraft.client.Minecraft;
-import net.minecraft.core.HolderLookup;
-import net.minecraft.core.RegistryAccess; -import net.minecraft.core.RegistryAccess;
-import net.minecraft.data.registries.VanillaRegistries;
import net.minecraft.network.chat.Component; import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.Style; import net.minecraft.network.chat.Style;
@@ -13,17 +24,28 @@
public class ChatUtils { public class ChatUtils {
private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().options( 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) { public static Component adventureToMojang(net.kyori.adventure.text.Component inComponent) {
final String serialised = adventureSerializer.serialize(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); + return Component.Serializer.fromJson(serialised);
} }
public static net.kyori.adventure.text.Component mojangToAdventure(Component inComponent) { 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); + final String serialised = Component.Serializer.toJson(inComponent);
return adventureSerializer.deserialize(serialised); 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

View File

@@ -1,35 +1,23 @@
--- a/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java --- a/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java
+++ /dev/null +++ /dev/null
@@ -1,59 +1,0 @@ @@ -1,41 +1,0 @@
-package com.hypherionmc.craterlib; -package com.hypherionmc.craterlib;
- -
-import com.hypherionmc.craterlib.api.events.client.LateInitEvent; -import com.hypherionmc.craterlib.client.NeoForgeClientHelper;
-import com.hypherionmc.craterlib.client.gui.config.CraterConfigScreen;
-import com.hypherionmc.craterlib.common.NeoForgeServerEvents; -import com.hypherionmc.craterlib.common.NeoForgeServerEvents;
-import com.hypherionmc.craterlib.compat.Vanish; -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.CraterPacketNetwork;
-import com.hypherionmc.craterlib.core.networking.PacketRegistry; -import com.hypherionmc.craterlib.core.networking.PacketRegistry;
-import com.hypherionmc.craterlib.core.networking.data.PacketSide; -import com.hypherionmc.craterlib.core.networking.data.PacketSide;
-import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; -import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment;
-import com.hypherionmc.craterlib.network.CraterNeoForgeNetworkHandler; -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.bus.api.IEventBus;
-import net.neoforged.fml.ModList;
-import net.neoforged.fml.common.Mod; -import net.neoforged.fml.common.Mod;
-import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent;
-import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent; -import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent;
-import net.neoforged.fml.loading.FMLEnvironment;
-import net.neoforged.fml.loading.FMLLoader; -import net.neoforged.fml.loading.FMLLoader;
-import net.neoforged.neoforge.client.gui.IConfigScreenFactory;
-import net.neoforged.neoforge.common.NeoForge; -import net.neoforged.neoforge.common.NeoForge;
- -
-import java.util.Optional;
-
-@Mod(CraterConstants.MOD_ID) -@Mod(CraterConstants.MOD_ID)
-public class CraterLib { -public class CraterLib {
- -
@@ -38,6 +26,7 @@
- public CraterLib(IEventBus eventBus) { - public CraterLib(IEventBus eventBus) {
- NeoForge.EVENT_BUS.register(new NeoForgeServerEvents()); - NeoForge.EVENT_BUS.register(new NeoForgeServerEvents());
- eventBus.addListener(this::commonSetup); - eventBus.addListener(this::commonSetup);
- eventBus.addListener(this::clientSetup);
- handler = new CraterNeoForgeNetworkHandler(FMLLoader.getDist().isClient() ? PacketSide.CLIENT : PacketSide.SERVER); - handler = new CraterNeoForgeNetworkHandler(FMLLoader.getDist().isClient() ? PacketSide.CLIENT : PacketSide.SERVER);
- -
- if (ModloaderEnvironment.INSTANCE.isModLoaded("vmod")) { - if (ModloaderEnvironment.INSTANCE.isModLoaded("vmod")) {
@@ -47,16 +36,9 @@
- -
- public void commonSetup(FMLCommonSetupEvent evt) { - public void commonSetup(FMLCommonSetupEvent evt) {
- new CraterPacketNetwork(handler); - 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) -> { - public void clientSetup(FMLClientSetupEvent evt) {
- if (!conf.getClass().isAnnotationPresent(NoConfigScreen.class)) { - NeoForgeClientHelper.registerClient();
- ModuleConfig config = (ModuleConfig) conf;
- ModList.get().getModContainerById(config.getModId()).ifPresent(c -> c.registerExtensionPoint(IConfigScreenFactory.class, ((minecraft, screen) -> new CraterConfigScreen(config, screen))));
- }
- });
- }
- } - }
-} -}

View File

@@ -1,14 +1,23 @@
--- a/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java --- a/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java
+++ /dev/null +++ /dev/null
@@ -1,40 +1,0 @@ @@ -1,61 +1,0 @@
-package com.hypherionmc.craterlib.client; -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.core.platform.ClientPlatform;
-import com.hypherionmc.craterlib.nojang.client.BridgedMinecraft; -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.client.multiplayer.BridgedClientLevel;
-import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; -import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer;
-import net.minecraft.client.Minecraft; -import net.minecraft.client.Minecraft;
-import net.minecraft.network.Connection; -import net.minecraft.network.Connection;
-import net.neoforged.fml.ModList;
-import net.neoforged.neoforge.client.gui.IConfigScreenFactory;
- -
-import java.util.Objects; -import java.util.Objects;
- -
@@ -40,4 +49,16 @@
- Objects.requireNonNull(Minecraft.getInstance().getConnection(), "Cannot send packets when not in game!"); - Objects.requireNonNull(Minecraft.getInstance().getConnection(), "Cannot send packets when not in game!");
- return Minecraft.getInstance().getConnection().getConnection(); - 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))));
- }
- });
- }
-} -}

View File

@@ -9,7 +9,7 @@
} }
public ResourceIdentifier(String path) { public ResourceIdentifier(String path) {
- this.internal = ResourceLocation.withDefaultNamespace(path); - this.internal = ResourceLocation.parse(path);
+ this.internal = new ResourceLocation(path); + this.internal = new ResourceLocation(path);
} }

View File

@@ -1,10 +1,21 @@
--- a/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java --- a/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java
+++ b/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.ChatFormatting;
import net.minecraft.SharedConstants; import net.minecraft.SharedConstants;
import net.minecraft.Util; import net.minecraft.Util;
-import net.minecraft.client.Minecraft;
-import net.minecraft.core.HolderLookup;
-import net.minecraft.core.RegistryAccess; -import net.minecraft.core.RegistryAccess;
-import net.minecraft.data.registries.VanillaRegistries;
import net.minecraft.network.chat.Component; import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.Style; import net.minecraft.network.chat.Style;
@@ -13,17 +24,28 @@
public class ChatUtils { public class ChatUtils {
private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().options( 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) { public static Component adventureToMojang(net.kyori.adventure.text.Component inComponent) {
final String serialised = adventureSerializer.serialize(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); + return Component.Serializer.fromJson(serialised);
} }
public static net.kyori.adventure.text.Component mojangToAdventure(Component inComponent) { 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); + final String serialised = Component.Serializer.toJson(inComponent);
return adventureSerializer.deserialize(serialised); 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

View File

@@ -1,35 +1,23 @@
--- a/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java --- a/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java
+++ /dev/null +++ /dev/null
@@ -1,59 +1,0 @@ @@ -1,41 +1,0 @@
-package com.hypherionmc.craterlib; -package com.hypherionmc.craterlib;
- -
-import com.hypherionmc.craterlib.api.events.client.LateInitEvent; -import com.hypherionmc.craterlib.client.NeoForgeClientHelper;
-import com.hypherionmc.craterlib.client.gui.config.CraterConfigScreen;
-import com.hypherionmc.craterlib.common.NeoForgeServerEvents; -import com.hypherionmc.craterlib.common.NeoForgeServerEvents;
-import com.hypherionmc.craterlib.compat.Vanish; -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.CraterPacketNetwork;
-import com.hypherionmc.craterlib.core.networking.PacketRegistry; -import com.hypherionmc.craterlib.core.networking.PacketRegistry;
-import com.hypherionmc.craterlib.core.networking.data.PacketSide; -import com.hypherionmc.craterlib.core.networking.data.PacketSide;
-import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; -import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment;
-import com.hypherionmc.craterlib.network.CraterNeoForgeNetworkHandler; -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.bus.api.IEventBus;
-import net.neoforged.fml.ModList;
-import net.neoforged.fml.common.Mod; -import net.neoforged.fml.common.Mod;
-import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent;
-import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent; -import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent;
-import net.neoforged.fml.loading.FMLEnvironment;
-import net.neoforged.fml.loading.FMLLoader; -import net.neoforged.fml.loading.FMLLoader;
-import net.neoforged.neoforge.client.gui.IConfigScreenFactory;
-import net.neoforged.neoforge.common.NeoForge; -import net.neoforged.neoforge.common.NeoForge;
- -
-import java.util.Optional;
-
-@Mod(CraterConstants.MOD_ID) -@Mod(CraterConstants.MOD_ID)
-public class CraterLib { -public class CraterLib {
- -
@@ -38,6 +26,7 @@
- public CraterLib(IEventBus eventBus) { - public CraterLib(IEventBus eventBus) {
- NeoForge.EVENT_BUS.register(new NeoForgeServerEvents()); - NeoForge.EVENT_BUS.register(new NeoForgeServerEvents());
- eventBus.addListener(this::commonSetup); - eventBus.addListener(this::commonSetup);
- eventBus.addListener(this::clientSetup);
- handler = new CraterNeoForgeNetworkHandler(FMLLoader.getDist().isClient() ? PacketSide.CLIENT : PacketSide.SERVER); - handler = new CraterNeoForgeNetworkHandler(FMLLoader.getDist().isClient() ? PacketSide.CLIENT : PacketSide.SERVER);
- -
- if (ModloaderEnvironment.INSTANCE.isModLoaded("vmod")) { - if (ModloaderEnvironment.INSTANCE.isModLoaded("vmod")) {
@@ -47,16 +36,9 @@
- -
- public void commonSetup(FMLCommonSetupEvent evt) { - public void commonSetup(FMLCommonSetupEvent evt) {
- new CraterPacketNetwork(handler); - 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) -> { - public void clientSetup(FMLClientSetupEvent evt) {
- if (!conf.getClass().isAnnotationPresent(NoConfigScreen.class)) { - NeoForgeClientHelper.registerClient();
- ModuleConfig config = (ModuleConfig) conf;
- ModList.get().getModContainerById(config.getModId()).ifPresent(c -> c.registerExtensionPoint(IConfigScreenFactory.class, ((minecraft, screen) -> new CraterConfigScreen(config, screen))));
- }
- });
- }
- } - }
-} -}

View File

@@ -1,14 +1,23 @@
--- a/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java --- a/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java
+++ /dev/null +++ /dev/null
@@ -1,40 +1,0 @@ @@ -1,61 +1,0 @@
-package com.hypherionmc.craterlib.client; -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.core.platform.ClientPlatform;
-import com.hypherionmc.craterlib.nojang.client.BridgedMinecraft; -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.client.multiplayer.BridgedClientLevel;
-import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; -import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer;
-import net.minecraft.client.Minecraft; -import net.minecraft.client.Minecraft;
-import net.minecraft.network.Connection; -import net.minecraft.network.Connection;
-import net.neoforged.fml.ModList;
-import net.neoforged.neoforge.client.gui.IConfigScreenFactory;
- -
-import java.util.Objects; -import java.util.Objects;
- -
@@ -40,4 +49,16 @@
- Objects.requireNonNull(Minecraft.getInstance().getConnection(), "Cannot send packets when not in game!"); - Objects.requireNonNull(Minecraft.getInstance().getConnection(), "Cannot send packets when not in game!");
- return Minecraft.getInstance().getConnection().getConnection(); - 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))));
- }
- });
- }
-} -}

View File

@@ -9,7 +9,7 @@
} }
public ResourceIdentifier(String path) { public ResourceIdentifier(String path) {
- this.internal = ResourceLocation.withDefaultNamespace(path); - this.internal = ResourceLocation.parse(path);
+ this.internal = new ResourceLocation(path); + this.internal = new ResourceLocation(path);
} }

View File

@@ -1,10 +1,21 @@
--- a/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java --- a/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java
+++ b/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.ChatFormatting;
import net.minecraft.SharedConstants; import net.minecraft.SharedConstants;
import net.minecraft.Util; import net.minecraft.Util;
-import net.minecraft.client.Minecraft;
-import net.minecraft.core.HolderLookup;
-import net.minecraft.core.RegistryAccess; -import net.minecraft.core.RegistryAccess;
-import net.minecraft.data.registries.VanillaRegistries;
import net.minecraft.network.chat.Component; import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.Style; import net.minecraft.network.chat.Style;
@@ -13,17 +24,28 @@
public class ChatUtils { public class ChatUtils {
private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().options( 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) { public static Component adventureToMojang(net.kyori.adventure.text.Component inComponent) {
final String serialised = adventureSerializer.serialize(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); + return Component.Serializer.fromJson(serialised);
} }
public static net.kyori.adventure.text.Component mojangToAdventure(Component inComponent) { 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); + final String serialised = Component.Serializer.toJson(inComponent);
return adventureSerializer.deserialize(serialised); 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

View File

@@ -1,46 +1,48 @@
--- a/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java --- a/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java
+++ b/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; package com.hypherionmc.craterlib;
import com.hypherionmc.craterlib.api.events.client.LateInitEvent; -import com.hypherionmc.craterlib.client.NeoForgeClientHelper;
-import com.hypherionmc.craterlib.client.gui.config.CraterConfigScreen; +import com.hypherionmc.craterlib.api.events.client.LateInitEvent;
import com.hypherionmc.craterlib.common.NeoForgeServerEvents; import com.hypherionmc.craterlib.common.NeoForgeServerEvents;
import com.hypherionmc.craterlib.compat.Vanish; import com.hypherionmc.craterlib.compat.Vanish;
-import com.hypherionmc.craterlib.core.config.ConfigController; +import com.hypherionmc.craterlib.core.event.CraterEventBus;
-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.CraterPacketNetwork;
import com.hypherionmc.craterlib.core.networking.PacketRegistry; import com.hypherionmc.craterlib.core.networking.PacketRegistry;
@@ -17,16 +13,12 @@ import com.hypherionmc.craterlib.core.networking.data.PacketSide;
import com.hypherionmc.craterlib.nojang.client.BridgedOptions; import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment;
import net.minecraft.client.Minecraft; 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.bus.api.IEventBus;
-import net.neoforged.fml.ModList;
import net.neoforged.fml.common.Mod; import net.neoforged.fml.common.Mod;
-import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent;
import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent; 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.fml.loading.FMLLoader;
-import net.neoforged.neoforge.client.gui.IConfigScreenFactory;
import net.neoforged.neoforge.common.NeoForge; import net.neoforged.neoforge.common.NeoForge;
-import java.util.Optional; @@ -23,7 +27,6 @@
- public CraterLib(IEventBus eventBus) {
@Mod(CraterConstants.MOD_ID) NeoForge.EVENT_BUS.register(new NeoForgeServerEvents());
public class CraterLib { eventBus.addListener(this::commonSetup);
- eventBus.addListener(this::clientSetup);
handler = new CraterNeoForgeNetworkHandler(FMLLoader.getDist().isClient() ? PacketSide.CLIENT : PacketSide.SERVER);
@@ -47,13 +39,6 @@ if (ModloaderEnvironment.INSTANCE.isModLoaded("vmod")) {
if (FMLEnvironment.dist.isClient()) { @@ -33,9 +36,9 @@
LateInitEvent event = new LateInitEvent(new BridgedMinecraft(), BridgedOptions.of(Minecraft.getInstance().options));
CraterEventBus.INSTANCE.postEvent(event); 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);
+ }
} }
} }

View File

@@ -1,41 +1,41 @@
--- a/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java --- a/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java
+++ b/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; package com.hypherionmc.craterlib.client;
+import com.hypherionmc.craterlib.api.events.client.LateInitEvent; -import com.hypherionmc.craterlib.api.events.client.LateInitEvent;
+import com.hypherionmc.craterlib.client.gui.config.CraterConfigScreen; -import com.hypherionmc.craterlib.client.gui.config.CraterConfigScreen;
+import com.hypherionmc.craterlib.core.config.ConfigController; -import com.hypherionmc.craterlib.core.config.ConfigController;
+import com.hypherionmc.craterlib.core.config.ModuleConfig; -import com.hypherionmc.craterlib.core.config.ModuleConfig;
+import com.hypherionmc.craterlib.core.config.annotations.NoConfigScreen; -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.platform.ClientPlatform; import com.hypherionmc.craterlib.core.platform.ClientPlatform;
import com.hypherionmc.craterlib.nojang.client.BridgedMinecraft; 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.client.multiplayer.BridgedClientLevel;
import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.network.Connection; import net.minecraft.network.Connection;
+import net.neoforged.fml.ModList; -import net.neoforged.fml.ModList;
+import net.neoforged.neoforge.client.gui.IConfigScreenFactory; -import net.neoforged.neoforge.client.gui.IConfigScreenFactory;
import java.util.Objects; import java.util.Objects;
@@ -36,5 +45,17 @@ @@ -45,17 +36,5 @@
public Connection getClientConnection() { public Connection getClientConnection() {
Objects.requireNonNull(Minecraft.getInstance().getConnection(), "Cannot send packets when not in game!"); Objects.requireNonNull(Minecraft.getInstance().getConnection(), "Cannot send packets when not in game!");
return Minecraft.getInstance().getConnection().getConnection(); return Minecraft.getInstance().getConnection().getConnection();
+ } - }
+ -
+ public static void registerClient() { - public static void registerClient() {
+ LateInitEvent event = new LateInitEvent(new BridgedMinecraft(), BridgedOptions.of(Minecraft.getInstance().options)); - LateInitEvent event = new LateInitEvent(new BridgedMinecraft(), BridgedOptions.of(Minecraft.getInstance().options));
+ CraterEventBus.INSTANCE.postEvent(event); - CraterEventBus.INSTANCE.postEvent(event);
+ -
+ ConfigController.getMonitoredConfigs().forEach((conf, watcher) -> { - ConfigController.getMonitoredConfigs().forEach((conf, watcher) -> {
+ if (!conf.getClass().isAnnotationPresent(NoConfigScreen.class)) { - if (!conf.getClass().isAnnotationPresent(NoConfigScreen.class)) {
+ ModuleConfig config = (ModuleConfig) conf; - ModuleConfig config = (ModuleConfig) conf;
+ ModList.get().getModContainerById(config.getModId()).ifPresent(c -> c.registerExtensionPoint(IConfigScreenFactory.class, ((minecraft, screen) -> new CraterConfigScreen(config, screen)))); - ModList.get().getModContainerById(config.getModId()).ifPresent(c -> c.registerExtensionPoint(IConfigScreenFactory.class, ((minecraft, screen) -> new CraterConfigScreen(config, screen))));
+ } - }
+ }); - });
} }
} }

View File

@@ -9,7 +9,7 @@
} }
public ResourceIdentifier(String path) { public ResourceIdentifier(String path) {
- this.internal = ResourceLocation.withDefaultNamespace(path); - this.internal = ResourceLocation.parse(path);
+ this.internal = new ResourceLocation(path); + this.internal = new ResourceLocation(path);
} }

View File

@@ -1,10 +1,21 @@
--- a/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java --- a/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java
+++ b/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.ChatFormatting;
import net.minecraft.SharedConstants; import net.minecraft.SharedConstants;
import net.minecraft.Util; import net.minecraft.Util;
-import net.minecraft.client.Minecraft;
-import net.minecraft.core.HolderLookup;
-import net.minecraft.core.RegistryAccess; -import net.minecraft.core.RegistryAccess;
-import net.minecraft.data.registries.VanillaRegistries;
import net.minecraft.network.chat.Component; import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.Style; import net.minecraft.network.chat.Style;
@@ -13,17 +24,28 @@
public class ChatUtils { public class ChatUtils {
private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().options( 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) { public static Component adventureToMojang(net.kyori.adventure.text.Component inComponent) {
final String serialised = adventureSerializer.serialize(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); + return Component.Serializer.fromJson(serialised);
} }
public static net.kyori.adventure.text.Component mojangToAdventure(Component inComponent) { 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); + final String serialised = Component.Serializer.toJson(inComponent);
return adventureSerializer.deserialize(serialised); 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

View File

@@ -1,35 +1,23 @@
--- a/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java --- a/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java
+++ /dev/null +++ /dev/null
@@ -1,59 +1,0 @@ @@ -1,41 +1,0 @@
-package com.hypherionmc.craterlib; -package com.hypherionmc.craterlib;
- -
-import com.hypherionmc.craterlib.api.events.client.LateInitEvent; -import com.hypherionmc.craterlib.client.NeoForgeClientHelper;
-import com.hypherionmc.craterlib.client.gui.config.CraterConfigScreen;
-import com.hypherionmc.craterlib.common.NeoForgeServerEvents; -import com.hypherionmc.craterlib.common.NeoForgeServerEvents;
-import com.hypherionmc.craterlib.compat.Vanish; -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.CraterPacketNetwork;
-import com.hypherionmc.craterlib.core.networking.PacketRegistry; -import com.hypherionmc.craterlib.core.networking.PacketRegistry;
-import com.hypherionmc.craterlib.core.networking.data.PacketSide; -import com.hypherionmc.craterlib.core.networking.data.PacketSide;
-import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; -import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment;
-import com.hypherionmc.craterlib.network.CraterNeoForgeNetworkHandler; -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.bus.api.IEventBus;
-import net.neoforged.fml.ModList;
-import net.neoforged.fml.common.Mod; -import net.neoforged.fml.common.Mod;
-import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent;
-import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent; -import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent;
-import net.neoforged.fml.loading.FMLEnvironment;
-import net.neoforged.fml.loading.FMLLoader; -import net.neoforged.fml.loading.FMLLoader;
-import net.neoforged.neoforge.client.gui.IConfigScreenFactory;
-import net.neoforged.neoforge.common.NeoForge; -import net.neoforged.neoforge.common.NeoForge;
- -
-import java.util.Optional;
-
-@Mod(CraterConstants.MOD_ID) -@Mod(CraterConstants.MOD_ID)
-public class CraterLib { -public class CraterLib {
- -
@@ -38,6 +26,7 @@
- public CraterLib(IEventBus eventBus) { - public CraterLib(IEventBus eventBus) {
- NeoForge.EVENT_BUS.register(new NeoForgeServerEvents()); - NeoForge.EVENT_BUS.register(new NeoForgeServerEvents());
- eventBus.addListener(this::commonSetup); - eventBus.addListener(this::commonSetup);
- eventBus.addListener(this::clientSetup);
- handler = new CraterNeoForgeNetworkHandler(FMLLoader.getDist().isClient() ? PacketSide.CLIENT : PacketSide.SERVER); - handler = new CraterNeoForgeNetworkHandler(FMLLoader.getDist().isClient() ? PacketSide.CLIENT : PacketSide.SERVER);
- -
- if (ModloaderEnvironment.INSTANCE.isModLoaded("vmod")) { - if (ModloaderEnvironment.INSTANCE.isModLoaded("vmod")) {
@@ -47,16 +36,9 @@
- -
- public void commonSetup(FMLCommonSetupEvent evt) { - public void commonSetup(FMLCommonSetupEvent evt) {
- new CraterPacketNetwork(handler); - 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) -> { - public void clientSetup(FMLClientSetupEvent evt) {
- if (!conf.getClass().isAnnotationPresent(NoConfigScreen.class)) { - NeoForgeClientHelper.registerClient();
- ModuleConfig config = (ModuleConfig) conf;
- ModList.get().getModContainerById(config.getModId()).ifPresent(c -> c.registerExtensionPoint(IConfigScreenFactory.class, ((minecraft, screen) -> new CraterConfigScreen(config, screen))));
- }
- });
- }
- } - }
-} -}

View File

@@ -1,14 +1,23 @@
--- a/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java --- a/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java
+++ /dev/null +++ /dev/null
@@ -1,40 +1,0 @@ @@ -1,61 +1,0 @@
-package com.hypherionmc.craterlib.client; -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.core.platform.ClientPlatform;
-import com.hypherionmc.craterlib.nojang.client.BridgedMinecraft; -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.client.multiplayer.BridgedClientLevel;
-import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; -import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer;
-import net.minecraft.client.Minecraft; -import net.minecraft.client.Minecraft;
-import net.minecraft.network.Connection; -import net.minecraft.network.Connection;
-import net.neoforged.fml.ModList;
-import net.neoforged.neoforge.client.gui.IConfigScreenFactory;
- -
-import java.util.Objects; -import java.util.Objects;
- -
@@ -40,4 +49,16 @@
- Objects.requireNonNull(Minecraft.getInstance().getConnection(), "Cannot send packets when not in game!"); - Objects.requireNonNull(Minecraft.getInstance().getConnection(), "Cannot send packets when not in game!");
- return Minecraft.getInstance().getConnection().getConnection(); - 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))));
- }
- });
- }
-} -}

View File

@@ -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() {

View File

@@ -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

View File

@@ -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();
}
}