From 5b1f943957d3ded24f5c0f371f43d6f62f3864f0 Mon Sep 17 00:00:00 2001 From: Léa Gris Date: Fri, 27 Nov 2020 01:26:01 +0100 Subject: feat(gregtech): visual programmed circuit (#355) * feat(gregtech): visual programmed circuit Add: Feature a configuration display for the programmed circuit (integrated circuit). Address feature request https://github.com/GTNewHorizons/GT-New-Horizons-Modpack/issues/6993 * fix(bug): potential out of bound index --- .../gregtech/common/items/GT_IntegratedCircuit_Item.java | 14 ++++++++++++++ .../gregtech/textures/items/gt.integrated_circuit/0.png | Bin 0 -> 614 bytes .../gregtech/textures/items/gt.integrated_circuit/1.png | Bin 0 -> 602 bytes .../gregtech/textures/items/gt.integrated_circuit/10.png | Bin 0 -> 624 bytes .../gregtech/textures/items/gt.integrated_circuit/11.png | Bin 0 -> 612 bytes .../gregtech/textures/items/gt.integrated_circuit/12.png | Bin 0 -> 626 bytes .../gregtech/textures/items/gt.integrated_circuit/13.png | Bin 0 -> 625 bytes .../gregtech/textures/items/gt.integrated_circuit/14.png | Bin 0 -> 615 bytes .../gregtech/textures/items/gt.integrated_circuit/15.png | Bin 0 -> 622 bytes .../gregtech/textures/items/gt.integrated_circuit/16.png | Bin 0 -> 624 bytes .../gregtech/textures/items/gt.integrated_circuit/17.png | Bin 0 -> 615 bytes .../gregtech/textures/items/gt.integrated_circuit/18.png | Bin 0 -> 625 bytes .../gregtech/textures/items/gt.integrated_circuit/19.png | Bin 0 -> 624 bytes .../gregtech/textures/items/gt.integrated_circuit/2.png | Bin 0 -> 613 bytes .../gregtech/textures/items/gt.integrated_circuit/20.png | Bin 0 -> 623 bytes .../gregtech/textures/items/gt.integrated_circuit/21.png | Bin 0 -> 619 bytes .../gregtech/textures/items/gt.integrated_circuit/22.png | Bin 0 -> 623 bytes .../gregtech/textures/items/gt.integrated_circuit/23.png | Bin 0 -> 620 bytes .../gregtech/textures/items/gt.integrated_circuit/24.png | Bin 0 -> 624 bytes .../gregtech/textures/items/gt.integrated_circuit/3.png | Bin 0 -> 609 bytes .../gregtech/textures/items/gt.integrated_circuit/4.png | Bin 0 -> 610 bytes .../gregtech/textures/items/gt.integrated_circuit/5.png | Bin 0 -> 610 bytes .../gregtech/textures/items/gt.integrated_circuit/6.png | Bin 0 -> 613 bytes .../gregtech/textures/items/gt.integrated_circuit/7.png | Bin 0 -> 602 bytes .../gregtech/textures/items/gt.integrated_circuit/8.png | Bin 0 -> 614 bytes .../gregtech/textures/items/gt.integrated_circuit/9.png | Bin 0 -> 610 bytes 26 files changed, 14 insertions(+) create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/0.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/1.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/10.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/11.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/12.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/13.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/14.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/15.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/16.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/17.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/18.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/19.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/2.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/20.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/21.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/22.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/23.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/24.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/3.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/4.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/5.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/6.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/7.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/8.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/9.png (limited to 'src') diff --git a/src/main/java/gregtech/common/items/GT_IntegratedCircuit_Item.java b/src/main/java/gregtech/common/items/GT_IntegratedCircuit_Item.java index 92eb3af4d2..ee69c90be1 100644 --- a/src/main/java/gregtech/common/items/GT_IntegratedCircuit_Item.java +++ b/src/main/java/gregtech/common/items/GT_IntegratedCircuit_Item.java @@ -7,6 +7,7 @@ import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.items.GT_Generic_Item; +import gregtech.api.util.GT_Config; import gregtech.api.util.GT_LanguageManager; import gregtech.api.util.GT_Log; import gregtech.api.util.GT_ModHandler; @@ -15,13 +16,17 @@ import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import java.lang.reflect.Array; import java.util.List; import static gregtech.GT_Mod.GT_FML_LOGGER; +import static gregtech.api.enums.GT_Values.RES_PATH_ITEM; public class GT_IntegratedCircuit_Item extends GT_Generic_Item { private final static String aTextEmptyRow = " "; + protected IIcon[] mIconDamage = new IIcon[25]; public GT_IntegratedCircuit_Item() { super("integrated_circuit", "Programmed Circuit", ""); setHasSubtypes(true); @@ -93,9 +98,13 @@ public class GT_IntegratedCircuit_Item extends GT_Generic_Item { aList.add(new ItemStack(this, 1, 0)); } + @Override @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister aIconRegister) { super.registerIcons(aIconRegister); + for (int i=0; i < mIconDamage.length; i++) { + mIconDamage[i] = aIconRegister.registerIcon(RES_PATH_ITEM + (GT_Config.troll ? "troll" : getUnlocalizedName() + "/" + i)); + } if (GregTech_API.sPostloadFinished) { GT_Log.out.println("GT_Mod: Starting Item Icon Load Phase"); GT_FML_LOGGER.info("GT_Mod: Starting Item Icon Load Phase"); @@ -109,4 +118,9 @@ public class GT_IntegratedCircuit_Item extends GT_Generic_Item { GT_FML_LOGGER.info("GT_Mod: Finished Item Icon Load Phase"); } } + + @Override + public IIcon getIconFromDamage(int damage) { + return (damage < mIconDamage.length ? mIconDamage[damage] : mIcon); + } } diff --git a/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/0.png b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/0.png new file mode 100644 index 0000000000..e35727ec34 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/0.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/1.png b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/1.png new file mode 100644 index 0000000000..d2b07c8a6c Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/1.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/10.png b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/10.png new file mode 100644 index 0000000000..d3648dbd35 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/10.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/11.png b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/11.png new file mode 100644 index 0000000000..ccf9f81399 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/11.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/12.png b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/12.png new file mode 100644 index 0000000000..3150356e16 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/12.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/13.png b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/13.png new file mode 100644 index 0000000000..0f5d3c1ca5 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/13.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/14.png b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/14.png new file mode 100644 index 0000000000..8109357533 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/14.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/15.png b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/15.png new file mode 100644 index 0000000000..1bc89f80b2 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/15.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/16.png b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/16.png new file mode 100644 index 0000000000..4cf2f0d825 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/16.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/17.png b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/17.png new file mode 100644 index 0000000000..3ac05fd824 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/17.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/18.png b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/18.png new file mode 100644 index 0000000000..b668f379cf Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/18.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/19.png b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/19.png new file mode 100644 index 0000000000..d13a9415cd Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/19.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/2.png b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/2.png new file mode 100644 index 0000000000..b31f73a4f7 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/2.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/20.png b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/20.png new file mode 100644 index 0000000000..5858bc43b8 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/20.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/21.png b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/21.png new file mode 100644 index 0000000000..e7d903a404 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/21.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/22.png b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/22.png new file mode 100644 index 0000000000..45d56bb2e7 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/22.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/23.png b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/23.png new file mode 100644 index 0000000000..5d2a8f638a Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/23.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/24.png b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/24.png new file mode 100644 index 0000000000..78f30e2299 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/24.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/3.png b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/3.png new file mode 100644 index 0000000000..996887e4ef Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/3.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/4.png b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/4.png new file mode 100644 index 0000000000..0ef50ef775 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/4.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/5.png b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/5.png new file mode 100644 index 0000000000..2b67a655f5 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/5.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/6.png b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/6.png new file mode 100644 index 0000000000..a30a06a13c Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/6.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/7.png b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/7.png new file mode 100644 index 0000000000..e5dfc35674 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/7.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/8.png b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/8.png new file mode 100644 index 0000000000..0ed9386325 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/8.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/9.png b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/9.png new file mode 100644 index 0000000000..97398ff800 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/gt.integrated_circuit/9.png differ -- cgit