aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de
diff options
context:
space:
mode:
authorAaron <51387595+AzureAaron@users.noreply.github.com>2024-04-22 23:03:21 -0400
committerAaron <51387595+AzureAaron@users.noreply.github.com>2024-04-26 16:23:21 -0400
commite36715cf5d6abc9908eb1ca2d4605d93cc6cc2d1 (patch)
treec17ca20018a72a5e2c8a1dfc44f3c7881fd3df7d /src/main/java/de
parentbe9c81c9944a9456f2338e0a18ea78c60470d8f8 (diff)
downloadSkyblocker-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.java18
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);
}
}