From 70a7e2528cc4757e324c99dc8b51f082a457d1db Mon Sep 17 00:00:00 2001 From: Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> Date: Fri, 14 Jun 2024 20:01:38 +0800 Subject: Fix dynamic registry usage and related tests --- .../de/hysky/skyblocker/skyblock/end/EndHudWidget.java | 2 +- .../hysky/skyblocker/skyblock/item/CustomArmorTrims.java | 14 +++++++------- .../skyblock/item/SkyblockCraftingTableScreen.java | 10 +++++----- .../skyblocker/skyblock/item/tooltip/BackpackPreview.java | 5 ++--- 4 files changed, 15 insertions(+), 16 deletions(-) (limited to 'src/main/java/de/hysky/skyblocker/skyblock') diff --git a/src/main/java/de/hysky/skyblocker/skyblock/end/EndHudWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/end/EndHudWidget.java index 0d9822fe..86e8d23e 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/end/EndHudWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/end/EndHudWidget.java @@ -37,7 +37,7 @@ public class EndHudWidget extends Widget { static { ENDERMAN_HEAD.set(DataComponentTypes.PROFILE, new ProfileComponent(Optional.of("MHF_Enderman"), Optional.empty(), new PropertyMap())); - POPPY.addEnchantment(BuiltinRegistries.createWrapperLookup().getWrapperOrThrow(RegistryKeys.ENCHANTMENT).getOptional(Enchantments.INFINITY).get(), 1); + POPPY.set(DataComponentTypes.ENCHANTMENT_GLINT_OVERRIDE, true); INSTANCE.setX(SkyblockerConfigManager.get().otherLocations.end.x); INSTANCE.setY(SkyblockerConfigManager.get().otherLocations.end.y); diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/CustomArmorTrims.java b/src/main/java/de/hysky/skyblocker/skyblock/item/CustomArmorTrims.java index 65e1b138..6170eab1 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/CustomArmorTrims.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/CustomArmorTrims.java @@ -47,14 +47,14 @@ public class CustomArmorTrims { } private static void initializeTrimCache() { - ClientPlayerEntity player = MinecraftClient.getInstance().player; + MinecraftClient client = MinecraftClient.getInstance(); FabricLoader loader = FabricLoader.getInstance(); - if (trimsInitialized || (player == null && !Debug.debugEnabled())) { + if (trimsInitialized || (client == null && !Debug.debugEnabled())) { return; } try { TRIMS_CACHE.clear(); - RegistryWrapper.WrapperLookup wrapperLookup = getWrapperLookup(loader, player); + RegistryWrapper.WrapperLookup wrapperLookup = getWrapperLookup(loader, client); for (Reference material : wrapperLookup.getWrapperOrThrow(RegistryKeys.TRIM_MATERIAL).streamEntries().toList()) { for (Reference pattern : wrapperLookup.getWrapperOrThrow(RegistryKeys.TRIM_PATTERN).streamEntries().toList()) { ArmorTrim trim = new ArmorTrim(material, pattern); @@ -70,8 +70,8 @@ public class CustomArmorTrims { } } - private static RegistryWrapper.WrapperLookup getWrapperLookup(FabricLoader loader, ClientPlayerEntity player) { - return !Debug.debugEnabled() ? player.networkHandler.getRegistryManager() : BuiltinRegistries.createWrapperLookup(); + private static RegistryWrapper.WrapperLookup getWrapperLookup(FabricLoader loader, MinecraftClient client) { + return client != null && client.getNetworkHandler() != null && client.getNetworkHandler().getRegistryManager() != null ? client.getNetworkHandler().getRegistryManager() : BuiltinRegistries.createWrapperLookup(); } private static void registerCommand(CommandDispatcher dispatcher, CommandRegistryAccess registryAccess) { @@ -140,8 +140,8 @@ public class CustomArmorTrims { public record ArmorTrimId(@SerialEntry Identifier material, @SerialEntry Identifier pattern) implements Pair { public static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( - Identifier.CODEC.fieldOf("material").forGetter(ArmorTrimId::material), - Identifier.CODEC.fieldOf("pattern").forGetter(ArmorTrimId::pattern)) + Identifier.CODEC.fieldOf("material").forGetter(ArmorTrimId::material), + Identifier.CODEC.fieldOf("pattern").forGetter(ArmorTrimId::pattern)) .apply(instance, ArmorTrimId::new)); @Override diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/SkyblockCraftingTableScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/item/SkyblockCraftingTableScreen.java index 6bd163e9..e7cc61ae 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/SkyblockCraftingTableScreen.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/SkyblockCraftingTableScreen.java @@ -153,6 +153,11 @@ public class SkyblockCraftingTableScreen extends HandledScreen recipe) { + return false; + } + @Override public int getCraftingResultSlotIndex() { return 0; @@ -192,10 +197,5 @@ public class SkyblockCraftingTableScreen extends HandledScreen recipe) { - return false; - } } } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/BackpackPreview.java b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/BackpackPreview.java index ecbd2f31..cad1eaab 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/BackpackPreview.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/BackpackPreview.java @@ -101,9 +101,8 @@ public class BackpackPreview { } private static RegistryOps getOps() { - ClientPlayNetworkHandler handler = MinecraftClient.getInstance().player != null ? MinecraftClient.getInstance().player.networkHandler : null; - - return handler != null ? handler.getRegistryManager().getOps(NbtOps.INSTANCE) : BuiltinRegistries.createWrapperLookup().getOps(NbtOps.INSTANCE); + MinecraftClient client = MinecraftClient.getInstance(); + return client != null && client.getNetworkHandler() != null && client.getNetworkHandler().getRegistryManager() != null ? client.getNetworkHandler().getRegistryManager().getOps(NbtOps.INSTANCE) : BuiltinRegistries.createWrapperLookup().getOps(NbtOps.INSTANCE); } private static void saveStorages() { -- cgit