From a259ba716fb8c9a541f346063b34471ddd80b7ee Mon Sep 17 00:00:00 2001 From: George Paton Date: Mon, 1 Apr 2024 20:36:30 +1100 Subject: [PATCH] Include subitems too, with rules for items like RBMK pellets Ignore unlocalized items --- .../inventory/gui/GUIScreenWikiRender.java | 4 ++- .../com/hbm/main/ModEventHandlerClient.java | 29 ++++++++++++++++++- 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/hbm/inventory/gui/GUIScreenWikiRender.java b/src/main/java/com/hbm/inventory/gui/GUIScreenWikiRender.java index 1e9cd440a..368a9371d 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIScreenWikiRender.java +++ b/src/main/java/com/hbm/inventory/gui/GUIScreenWikiRender.java @@ -57,7 +57,9 @@ public class GUIScreenWikiRender extends GuiScreen { try { String slotName = preview[index].getDisplayName().replaceAll("[^\\w ().-]+", ""); - saveScreenshot(Minecraft.getMinecraft().mcDataDir, "Slot " + slotName + ".png", 2, 2, 32, 32, 0xFF8B8B8B); + if(!slotName.endsWith(".name")) { + saveScreenshot(Minecraft.getMinecraft().mcDataDir, "Slot " + slotName + ".png", 2, 2, 32, 32, 0xFF8B8B8B); + } } catch (Exception ex) { // Just skip any failures caused by display name or rendering } diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index 59dec7202..281a1d9d0 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -2,6 +2,7 @@ package com.hbm.main; import java.lang.reflect.Method; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.Locale; import java.util.Random; @@ -39,6 +40,9 @@ import com.hbm.items.armor.ArmorFSBPowered; import com.hbm.items.armor.ArmorNo9; import com.hbm.items.armor.ItemArmorMod; import com.hbm.items.armor.JetpackBase; +import com.hbm.items.machine.ItemDepletedFuel; +import com.hbm.items.machine.ItemFluidDuct; +import com.hbm.items.machine.ItemRBMKPellet; import com.hbm.items.weapon.ItemGunBase; import com.hbm.lib.Library; import com.hbm.lib.RefStrings; @@ -108,6 +112,7 @@ import net.minecraft.client.settings.KeyBinding; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; +import net.minecraft.init.Blocks; import net.minecraft.inventory.Slot; import net.minecraft.item.Item; import net.minecraft.item.ItemArmor; @@ -982,10 +987,32 @@ public class ModEventHandlerClient { MainRegistry.logger.info("Taking a screenshot of ALL items, if you did this by mistake: fucking lmao get rekt nerd"); + List ignoredItems = Arrays.asList( + ModItems.assembly_template, + ModItems.crucible_template, + ModItems.chemistry_template, + ModItems.chemistry_icon, + ModItems.fluid_icon, + ModItems.achievement_icon, + Items.spawn_egg, + Item.getItemFromBlock(Blocks.mob_spawner) + ); + + List> collapsedClasses = Arrays.asList( + ItemRBMKPellet.class, + ItemDepletedFuel.class, + ItemFluidDuct.class + ); + List stacks = new ArrayList(); for (Object reg : Item.itemRegistry) { Item item = (Item) reg; - stacks.add(new ItemStack(item)); + if(ignoredItems.contains(item)) continue; + if(collapsedClasses.contains(item.getClass())) { + stacks.add(new ItemStack(item)); + } else { + item.getSubItems(item, null, stacks); + } } FMLCommonHandler.instance().showGuiScreen(new GUIScreenWikiRender(stacks.toArray(new ItemStack[0])));