From bc1740ebee280b93fdb707a49264e0169ec6506b Mon Sep 17 00:00:00 2001 From: pahimar Date: Fri, 30 Nov 2012 22:45:54 -0500 Subject: [PATCH] Some work on getting bags off the ground, also learned how to do multiple render passes and overlays of overlays (yay!). Note: the bags aren't functional at all yet; just viewable in game. Much more work to be done. --- .../core/handlers/ConfigurationHandler.java | 3 + .../ee3/common/item/ItemAlchemyBag.java | 130 ++++++++++++++++++ .../ee3/common/item/ItemAlchemyDust.java | 6 +- ee3_common/ee3/common/item/ModItems.java | 2 + ee3_common/ee3/common/lib/Colours.java | 22 ++- ee3_common/ee3/common/lib/ItemIds.java | 2 + ee3_common/ee3/common/lib/Strings.java | 1 + resources/ee3/art/sprites/ee3_items.png | Bin 6841 -> 7008 bytes resources/ee3/art/sprites/xcf/ee3_items.xcf | Bin 33717 -> 41145 bytes resources/ee3/lang/en_US.xml | 16 +++ 10 files changed, 177 insertions(+), 5 deletions(-) create mode 100644 ee3_common/ee3/common/item/ItemAlchemyBag.java diff --git a/ee3_common/ee3/common/core/handlers/ConfigurationHandler.java b/ee3_common/ee3/common/core/handlers/ConfigurationHandler.java index 294d66cc..1ce26b67 100644 --- a/ee3_common/ee3/common/core/handlers/ConfigurationHandler.java +++ b/ee3_common/ee3/common/core/handlers/ConfigurationHandler.java @@ -83,6 +83,9 @@ public class ConfigurationHandler { ItemIds.ALCHEMY_DUST = configuration .getItem(Strings.ALCHEMY_DUST_NAME, ItemIds.ALCHEMY_DUST_DEFAULT) .getInt(ItemIds.ALCHEMY_DUST_DEFAULT); + ItemIds.ALCHEMY_BAG = configuration + .getItem(Strings.ALCHEMY_BAG_NAME, ItemIds.ALCHEMY_BAG_DEFAULT) + .getInt(ItemIds.ALCHEMY_BAG_DEFAULT); /* KeyBinding Configs */ configuration.addCustomCategoryComment(CATEGORY_KEYBIND, ""); diff --git a/ee3_common/ee3/common/item/ItemAlchemyBag.java b/ee3_common/ee3/common/item/ItemAlchemyBag.java new file mode 100644 index 00000000..3a1a52aa --- /dev/null +++ b/ee3_common/ee3/common/item/ItemAlchemyBag.java @@ -0,0 +1,130 @@ +package ee3.common.item; + +import java.util.List; + +import net.minecraft.src.CreativeTabs; +import net.minecraft.src.ItemStack; +import net.minecraft.src.MathHelper; +import cpw.mods.fml.client.FMLClientHandler; +import cpw.mods.fml.common.Side; +import cpw.mods.fml.common.asm.SideOnly; +import ee3.common.EquivalentExchange3; +import ee3.common.lib.Colours; +import ee3.common.lib.Strings; + +public class ItemAlchemyBag extends ItemEE { + + public static final String[] alchemyBagNames = new String[] { "white", "orange", "magenta", "light_blue", "yellow", "lime", "pink", "gray", "light_gray", "cyan", "purple", "blue", "brown", "green", "red", "black" }; + + public ItemAlchemyBag(int id) { + + super(id); + this.setHasSubtypes(true); + this.setIconCoord(6, 0); + this.setItemName(Strings.ALCHEMY_BAG_NAME); + this.setCreativeTab(EquivalentExchange3.tabsEE3); + } + + @SideOnly(Side.CLIENT) + public boolean requiresMultipleRenderPasses() { + + return true; + } + + @SideOnly(Side.CLIENT) + public int getIconFromDamageForRenderPass(int meta, int renderPass) { + + if (renderPass == 0) { + return this.getIconFromDamage(meta); + } + else { + return this.getIconFromDamage(meta) + 1; + } + } + + @SideOnly(Side.CLIENT) + public int getIconFromDamage(int meta) { + + if (FMLClientHandler.instance().getClient().currentScreen != null) { + return (this.iconIndex + 2); + } + + return this.iconIndex; + } + + @SideOnly(Side.CLIENT) + public String getItemNameIS(ItemStack stack) { + + int meta = MathHelper.clamp_int(stack.getItemDamage(), 0, 15); + return super.getItemName() + "." + alchemyBagNames[meta]; + } + + @SideOnly(Side.CLIENT) + public int getColorFromItemStack(ItemStack itemStack, int renderPass) { + + int returnValue = Integer.parseInt(Colours.PURE_WHITE, 16); + + if (renderPass == 0) { + switch (itemStack.getItemDamage()) { + case 0: + returnValue = Integer.parseInt(Colours.BAG_WHITE, 16); + break; + case 1: + returnValue = Integer.parseInt(Colours.BAG_ORANGE, 16); + break; + case 2: + returnValue = Integer.parseInt(Colours.BAG_MAGENTA, 16); + break; + case 3: + returnValue = Integer.parseInt(Colours.BAG_LIGHT_BLUE, 16); + break; + case 4: + returnValue = Integer.parseInt(Colours.BAG_YELLOW, 16); + break; + case 5: + returnValue = Integer.parseInt(Colours.BAG_LIME, 16); + break; + case 6: + returnValue = Integer.parseInt(Colours.BAG_PINK, 16); + break; + case 7: + returnValue = Integer.parseInt(Colours.BAG_GRAY, 16); + break; + case 8: + returnValue = Integer.parseInt(Colours.BAG_LIGHT_GRAY, 16); + break; + case 9: + returnValue = Integer.parseInt(Colours.BAG_CYAN, 16); + break; + case 10: + returnValue = Integer.parseInt(Colours.BAG_PURPLE, 16); + break; + case 11: + returnValue = Integer.parseInt(Colours.BAG_BLUE, 16); + break; + case 12: + returnValue = Integer.parseInt(Colours.BAG_BROWN, 16); + break; + case 13: + returnValue = Integer.parseInt(Colours.BAG_GREEN, 16); + break; + case 14: + returnValue = Integer.parseInt(Colours.BAG_RED, 16); + break; + case 15: + returnValue = Integer.parseInt(Colours.BAG_BLACK, 16); + break; + } + } + return returnValue; + } + + @SideOnly(Side.CLIENT) + public void getSubItems(int id, CreativeTabs creativeTab, List list) { + + for (int meta = 0; meta < 16; ++meta) { + list.add(new ItemStack(id, 1, meta)); + } + } + +} diff --git a/ee3_common/ee3/common/item/ItemAlchemyDust.java b/ee3_common/ee3/common/item/ItemAlchemyDust.java index 8df1479b..d7de84be 100644 --- a/ee3_common/ee3/common/item/ItemAlchemyDust.java +++ b/ee3_common/ee3/common/item/ItemAlchemyDust.java @@ -32,8 +32,7 @@ public class ItemAlchemyDust extends ItemEE { super(id); this.setHasSubtypes(true); - this.setMaxDamage(0); - this.setIconCoord(0, 3); + this.setIconCoord(10, 0); this.setItemName(Strings.ALCHEMY_DUST_NAME); this.setCreativeTab(EquivalentExchange3.tabsEE3); maxStackSize = 64; @@ -42,10 +41,11 @@ public class ItemAlchemyDust extends ItemEE { @SideOnly(Side.CLIENT) public int getIconFromDamage(int meta) { - int i = MathHelper.clamp_int(meta, 0, 11); + int i = MathHelper.clamp_int(meta, 0, 5); return (this.iconIndex + i); } + @SideOnly(Side.CLIENT) public String getItemNameIS(ItemStack stack) { int meta = MathHelper.clamp_int(stack.getItemDamage(), 0, 5); diff --git a/ee3_common/ee3/common/item/ModItems.java b/ee3_common/ee3/common/item/ModItems.java index aa91c16c..60105f0d 100644 --- a/ee3_common/ee3/common/item/ModItems.java +++ b/ee3_common/ee3/common/item/ModItems.java @@ -27,6 +27,7 @@ public class ModItems { public static Item miniumStone; public static Item philStone; public static Item alchemyDust; + public static Item alchemyBag; public static void init() { /* Initialize each mod item individually */ @@ -35,6 +36,7 @@ public class ModItems { miniumStone = new ItemMiniumStone(ItemIds.MINIUM_STONE); philStone = new ItemPhilosopherStone(ItemIds.PHILOSOPHER_STONE); alchemyDust = new ItemAlchemyDust(ItemIds.ALCHEMY_DUST); + alchemyBag = new ItemAlchemyBag(ItemIds.ALCHEMY_BAG); miniumStone.setContainerItem(miniumStone); philStone.setContainerItem(philStone); diff --git a/ee3_common/ee3/common/lib/Colours.java b/ee3_common/ee3/common/lib/Colours.java index a65fe95f..760104a3 100644 --- a/ee3_common/ee3/common/lib/Colours.java +++ b/ee3_common/ee3/common/lib/Colours.java @@ -10,12 +10,30 @@ package ee3.common.lib; * */ public class Colours { - + + public static final String PURE_WHITE = "ffffff"; public static final String PURE_RED = "ff0000"; /* Text colour related constants */ public static final String TEXT_COLOUR_PREFIX_YELLOW = "\u00a7e"; - public static final String TEXT_COLOUR_PREFIX_WHITE = "\u00a7f"; + /* Bag colour related constants */ + public static final String BAG_WHITE = "ffffff"; + public static final String BAG_ORANGE = "db7d3e"; + public static final String BAG_MAGENTA = "b350bc"; + public static final String BAG_LIGHT_BLUE = "6b8ac9"; + public static final String BAG_YELLOW = "b1a627"; + public static final String BAG_LIME = "41ae38"; + public static final String BAG_PINK = "d08499"; + public static final String BAG_GRAY = "868d8d"; + public static final String BAG_LIGHT_GRAY = "c8c8be"; + public static final String BAG_CYAN = "2e6e89"; + public static final String BAG_PURPLE = "7e3db5"; + public static final String BAG_BLUE = "2e388d"; + public static final String BAG_BROWN = "4f321f"; + public static final String BAG_GREEN = "35461b"; + public static final String BAG_RED = "963430"; + public static final String BAG_BLACK = "404040"; + } diff --git a/ee3_common/ee3/common/lib/ItemIds.java b/ee3_common/ee3/common/lib/ItemIds.java index aa098633..e4be319b 100644 --- a/ee3_common/ee3/common/lib/ItemIds.java +++ b/ee3_common/ee3/common/lib/ItemIds.java @@ -17,6 +17,7 @@ public class ItemIds { public static int MINIUM_STONE_DEFAULT = 27002; public static int PHILOSOPHER_STONE_DEFAULT = 27003; public static int ALCHEMY_DUST_DEFAULT = 27004; + public static int ALCHEMY_BAG_DEFAULT = 27005; /* Current item ids */ public static int MINIUM_SHARD; @@ -24,5 +25,6 @@ public class ItemIds { public static int MINIUM_STONE; public static int PHILOSOPHER_STONE; public static int ALCHEMY_DUST; + public static int ALCHEMY_BAG; } diff --git a/ee3_common/ee3/common/lib/Strings.java b/ee3_common/ee3/common/lib/Strings.java index dbca0c37..bcc8ec3c 100644 --- a/ee3_common/ee3/common/lib/Strings.java +++ b/ee3_common/ee3/common/lib/Strings.java @@ -29,6 +29,7 @@ public class Strings { public static final String MINIUM_STONE_NAME = "miniumStone"; public static final String PHILOSOPHER_STONE_NAME = "philStone"; public static final String ALCHEMY_DUST_NAME = "alchemyDust"; + public static final String ALCHEMY_BAG_NAME = "alchemyBag"; /* TileEntity name constants */ public static final String TE_CALCINATOR_NAME = "tileCalcinator"; diff --git a/resources/ee3/art/sprites/ee3_items.png b/resources/ee3/art/sprites/ee3_items.png index 0294c74aa960cc49f4efe5b3f9eb06460db3c56f..bbb839e0241cc7b1efc8d1166fc84321f0b73e3c 100644 GIT binary patch literal 7008 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 JtK%5+{{ZAo<2V2S literal 6841 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 HZIJLUjdM;0 diff --git a/resources/ee3/lang/en_US.xml b/resources/ee3/lang/en_US.xml index 66e55db6..0f91b2bf 100644 --- a/resources/ee3/lang/en_US.xml +++ b/resources/ee3/lang/en_US.xml @@ -16,6 +16,22 @@ Azure Dust Amaranthine Dust Iridescent Dust + White Alchemical Bag + Orange Alchemical Bag + Magenta Alchemical Bag + Light Blue Alchemical Bag + Yellow Alchemical Bag + Lime Alchemical Bag + Pink Alchemical Bag + Gray Alchemical Bag + Light Gray Alchemical Bag + Cyan Alchemical Bag + Purple Alchemical Bag + Blue Alchemical Bag + Brown Alchemical Bag + Green Alchemical Bag + Red Alchemical Bag + Black Alchemical Bag Red Water (Still) Red Water (Flowing) Calcinator