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 0294c74a..bbb839e0 100644
Binary files a/resources/ee3/art/sprites/ee3_items.png and b/resources/ee3/art/sprites/ee3_items.png differ
diff --git a/resources/ee3/art/sprites/xcf/ee3_items.xcf b/resources/ee3/art/sprites/xcf/ee3_items.xcf
index 85bb2748..047419fa 100644
Binary files a/resources/ee3/art/sprites/xcf/ee3_items.xcf and b/resources/ee3/art/sprites/xcf/ee3_items.xcf differ
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