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