diff options
author | Aaron <51387595+AzureAaron@users.noreply.github.com> | 2024-04-22 23:03:21 -0400 |
---|---|---|
committer | Aaron <51387595+AzureAaron@users.noreply.github.com> | 2024-04-26 16:23:21 -0400 |
commit | e36715cf5d6abc9908eb1ca2d4605d93cc6cc2d1 (patch) | |
tree | c17ca20018a72a5e2c8a1dfc44f3c7881fd3df7d /src/main/java/de | |
parent | be9c81c9944a9456f2338e0a18ea78c60470d8f8 (diff) | |
download | Skyblocker-e36715cf5d6abc9908eb1ca2d4605d93cc6cc2d1.tar.gz Skyblocker-e36715cf5d6abc9908eb1ca2d4605d93cc6cc2d1.tar.bz2 Skyblocker-e36715cf5d6abc9908eb1ca2d4605d93cc6cc2d1.zip |
Simplify armour trim caching
Diffstat (limited to 'src/main/java/de')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/item/CustomArmorTrims.java | 18 |
1 files changed, 7 insertions, 11 deletions
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 2af88de7..277ca19c 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/CustomArmorTrims.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/CustomArmorTrims.java @@ -26,9 +26,12 @@ import net.minecraft.command.argument.IdentifierArgumentType; import net.minecraft.item.ArmorItem; import net.minecraft.item.ItemStack; import net.minecraft.item.trim.ArmorTrim; +import net.minecraft.item.trim.ArmorTrimMaterial; +import net.minecraft.item.trim.ArmorTrimPattern; import net.minecraft.nbt.NbtCompound; import net.minecraft.nbt.NbtOps; import net.minecraft.registry.*; +import net.minecraft.registry.entry.RegistryEntry.Reference; import net.minecraft.text.Text; import net.minecraft.util.Identifier; @@ -57,18 +60,11 @@ public class CustomArmorTrims { try { TRIMS_CACHE.clear(); RegistryWrapper.WrapperLookup wrapperLookup = getWrapperLookup(loader, player); - for (Identifier material : wrapperLookup.getWrapperOrThrow(RegistryKeys.TRIM_MATERIAL).streamEntries().map(r -> new Identifier(r.value().assetName())).collect(Collectors.toSet())) { - for (Identifier pattern : wrapperLookup.getWrapperOrThrow(RegistryKeys.TRIM_PATTERN).streamEntries().map(r -> r.value().assetId()).collect(Collectors.toSet())) { - NbtCompound compound = new NbtCompound(); - compound.putString("material", material.toString()); - compound.putString("pattern", pattern.toString()); + for (Reference<ArmorTrimMaterial> material : wrapperLookup.getWrapperOrThrow(RegistryKeys.TRIM_MATERIAL).streamEntries().toList()) { + for (Reference<ArmorTrimPattern> pattern : wrapperLookup.getWrapperOrThrow(RegistryKeys.TRIM_PATTERN).streamEntries().toList()) { + ArmorTrim trim = new ArmorTrim(material, pattern); - ArmorTrim trim = ArmorTrim.CODEC.parse(RegistryOps.of(NbtOps.INSTANCE, wrapperLookup), compound).resultOrPartial(LOGGER::error).orElse(null); - - // Something went terribly wrong - if (trim == null) throw new IllegalStateException("Trim shouldn't be null! [" + "\"" + material + "\",\"" + pattern + "\"]"); - - TRIMS_CACHE.put(new ArmorTrimId(material, pattern), trim); + TRIMS_CACHE.put(new ArmorTrimId(material.registryKey().getValue(), pattern.registryKey().getValue()), trim); } } |