[CHORE] Update dev branch with hotfixes

This commit is contained in:
2024-07-05 20:29:10 +02:00
parent ce16c08760
commit 843f23b9c7
5 changed files with 46 additions and 28 deletions

View File

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

View File

@@ -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.kyori.adventure.text.serializer.json.JSONOptions;
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,14 +28,24 @@ public class ChatUtils {
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
// sent back to discord. This should help fix those issues
public static Component safeCopy(Component inComponent) {