Simplify book deduplication

This commit is contained in:
embeddedt 2023-04-25 21:20:30 -04:00
parent d86344f309
commit c684cccf74
No known key found for this signature in database
GPG Key ID: A69433EC199B5613

View File

@ -1,6 +1,5 @@
package org.embeddedt.modernfix.mixin.perf.patchouli_deduplicate_books; package org.embeddedt.modernfix.mixin.perf.patchouli_deduplicate_books;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Items; import net.minecraft.world.item.Items;
import net.minecraftforge.fml.common.ObfuscationReflectionHelper; import net.minecraftforge.fml.common.ObfuscationReflectionHelper;
@ -20,7 +19,6 @@ import vazkii.patchouli.common.book.Book;
import vazkii.patchouli.common.book.BookRegistry; import vazkii.patchouli.common.book.BookRegistry;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List; import java.util.List;
@Mixin(ClientBookRegistry.class) @Mixin(ClientBookRegistry.class)
@ -42,16 +40,9 @@ public class ClientBookRegistryMixin {
for(TemplateComponent component : components) { for(TemplateComponent component : components) {
if(component instanceof ComponentItemStack) { if(component instanceof ComponentItemStack) {
ItemStack[] items = (ItemStack[])itemsField.get(component); ItemStack[] items = (ItemStack[])itemsField.get(component);
for(ItemStack item : items) { for(int i = 0; i < items.length; i++) {
if(item.getItem() == Items.AIR) { if(items[i] != null && items[i].getItem() == Items.AIR) {
// remove any NBT items[i] = ItemStack.EMPTY;
CompoundTag tag = item.getTag();
if(tag != null) {
numItemsCleared++;
List<String> keys = new ArrayList<>(tag.getAllKeys());
for(String key : keys)
item.removeTagKey(key);
}
} }
} }
} }