diff --git a/src/main/java/com/pahimar/ee3/client/gui/inventory/GuiAlchemicalBag.java b/src/main/java/com/pahimar/ee3/client/gui/inventory/GuiAlchemicalBag.java index a9addf32..17598d7c 100644 --- a/src/main/java/com/pahimar/ee3/client/gui/inventory/GuiAlchemicalBag.java +++ b/src/main/java/com/pahimar/ee3/client/gui/inventory/GuiAlchemicalBag.java @@ -3,6 +3,7 @@ package com.pahimar.ee3.client.gui.inventory; import com.pahimar.ee3.helper.ItemStackNBTHelper; import com.pahimar.ee3.inventory.ContainerAlchemicalBag; import com.pahimar.ee3.lib.Strings; +import com.pahimar.ee3.lib.Textures; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.inventory.GuiContainer; @@ -21,10 +22,8 @@ import org.lwjgl.opengl.GL11; @SideOnly(Side.CLIENT) public class GuiAlchemicalBag extends GuiContainer { - public GuiAlchemicalBag(InventoryPlayer inventoryPlayer) { - super(new ContainerAlchemicalBag(inventoryPlayer)); xSize = 248; ySize = 186; @@ -33,7 +32,6 @@ public class GuiAlchemicalBag extends GuiContainer @Override protected void drawGuiContainerForegroundLayer(int x, int y) { - fontRenderer.drawString(StatCollector.translateToLocal(Strings.CONTAINER_ALCHEMICAL_BAG_NAME), 8, 6, 4210752); fontRenderer.drawString(StatCollector.translateToLocal(Strings.CONTAINER_INVENTORY), 44, ySize - 96 + 2, 4210752); } @@ -41,11 +39,10 @@ public class GuiAlchemicalBag extends GuiContainer @Override protected void drawGuiContainerBackgroundLayer(float opacity, int x, int y) { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); // this.mc.getTextureManager().bindTexture(...) - //this.mc.getTextureManager().bindTexture(Textures.GUI_ALCHEMICAL_STORAGE); + this.mc.getTextureManager().bindTexture(Textures.GUI_ALCHEMICAL_STORAGE_SMALL); int xStart = (width - xSize) / 2; int yStart = (height - ySize) / 2; @@ -55,7 +52,6 @@ public class GuiAlchemicalBag extends GuiContainer @Override public void onGuiClosed() { - super.onGuiClosed(); if (mc.thePlayer != null) diff --git a/src/main/java/com/pahimar/ee3/item/ItemAlchemicalBag.java b/src/main/java/com/pahimar/ee3/item/ItemAlchemicalBag.java index 9046c174..62967889 100644 --- a/src/main/java/com/pahimar/ee3/item/ItemAlchemicalBag.java +++ b/src/main/java/com/pahimar/ee3/item/ItemAlchemicalBag.java @@ -9,12 +9,16 @@ import com.pahimar.ee3.lib.Strings; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.Icon; +import net.minecraft.util.MathHelper; import net.minecraft.world.World; +import java.util.List; + /** * Equivalent-Exchange-3 *

@@ -24,7 +28,7 @@ import net.minecraft.world.World; */ public class ItemAlchemicalBag extends ItemEE implements IDyeable { - private static final String[] ALCHEMICAL_BAG_ICONS = {"Open", "OpenDrawString", "Closed", "ClosedDrawString"}; + private static final String[] ALCHEMICAL_BAG_ICONS = {"open", "closed", "symbolTier1", "symbolTier2", "symbolTier3"}; @SideOnly(Side.CLIENT) private Icon[] icons; @@ -32,9 +36,21 @@ public class ItemAlchemicalBag extends ItemEE implements IDyeable public ItemAlchemicalBag(int id) { super(id); + this.setHasSubtypes(true); this.setUnlocalizedName(Strings.ALCHEMICAL_BAG_NAME); } + @Override + @SuppressWarnings({"rawtypes", "unchecked"}) + @SideOnly(Side.CLIENT) + public void getSubItems(int id, CreativeTabs creativeTab, List list) + { + for (int meta = 0; meta < 3; ++meta) + { + list.add(new ItemStack(id, 1, meta)); + } + } + @Override @SideOnly(Side.CLIENT) public void registerIcons(IconRegister iconRegister) @@ -43,7 +59,7 @@ public class ItemAlchemicalBag extends ItemEE implements IDyeable for (int i = 0; i < ALCHEMICAL_BAG_ICONS.length; ++i) { - icons[i] = iconRegister.registerIcon(Strings.RESOURCE_PREFIX + Strings.ALCHEMICAL_BAG_NAME + ALCHEMICAL_BAG_ICONS[i]); + icons[i] = iconRegister.registerIcon(Strings.RESOURCE_PREFIX + Strings.ALCHEMICAL_BAG_NAME + "." + ALCHEMICAL_BAG_ICONS[i]); } } @@ -75,10 +91,9 @@ public class ItemAlchemicalBag extends ItemEE implements IDyeable @Override public Icon getIcon(ItemStack itemStack, int renderPass) { - // If the bag is open - if (ItemStackNBTHelper.hasTag(itemStack, Strings.NBT_ITEM_ALCHEMICAL_BAG_GUI_OPEN)) + if (renderPass == 0) { - if (renderPass != 1) + if (ItemStackNBTHelper.hasTag(itemStack, Strings.NBT_ITEM_ALCHEMICAL_BAG_GUI_OPEN)) { return icons[0]; } @@ -87,17 +102,9 @@ public class ItemAlchemicalBag extends ItemEE implements IDyeable return icons[1]; } } - // Else, the bag is closed else { - if (renderPass != 1) - { - return icons[2]; - } - else - { - return icons[3]; - } + return icons[2 + MathHelper.clamp_int(itemStack.getItemDamage(), 0, 3)]; } } @@ -105,21 +112,14 @@ public class ItemAlchemicalBag extends ItemEE implements IDyeable @SideOnly(Side.CLIENT) public int getColorFromItemStack(ItemStack itemStack, int renderPass) { - if (renderPass == 1) - { - return Integer.parseInt(Colours.PURE_WHITE, 16); - } - else - { - int bagColor = this.getColor(itemStack); + int bagColor = this.getColor(itemStack); - if (bagColor < 0) - { - bagColor = Integer.parseInt(Colours.PURE_WHITE, 16); - } - - return bagColor; + if (bagColor < 0) + { + bagColor = Integer.parseInt(Colours.PURE_WHITE, 16); } + + return bagColor; } @Override diff --git a/src/main/java/com/pahimar/ee3/item/crafting/RecipesVanilla.java b/src/main/java/com/pahimar/ee3/item/crafting/RecipesVanilla.java index fc6e8da6..81cb9d9f 100644 --- a/src/main/java/com/pahimar/ee3/item/crafting/RecipesVanilla.java +++ b/src/main/java/com/pahimar/ee3/item/crafting/RecipesVanilla.java @@ -26,7 +26,6 @@ public class RecipesVanilla GameRegistry.addRecipe(new ItemStack(ModBlocks.chalk), new Object[]{"cc", "cc", 'c', new ItemStack(ModItems.chalk)}); GameRegistry.addRecipe(new ItemStack(ModBlocks.glassBell), new Object[]{"iii", "i i", "i i", 'i', Block.glass}); - GameRegistry.addRecipe(new ItemStack(ModBlocks.aludelBase), new Object[]{"iii", "sis", "iii", 'i', Item.ingotIron, 's', Block.stone}); GameRegistry.addShapelessRecipe(new ItemStack(ModBlocks.infusedPlanks, 4, 0), new ItemStack(ModBlocks.infusedWood, 1, 0)); GameRegistry.addShapelessRecipe(new ItemStack(ModBlocks.infusedPlanks, 4, 1), new ItemStack(ModBlocks.infusedWood, 1, 1)); @@ -36,7 +35,8 @@ public class RecipesVanilla GameRegistry.addRecipe(new ItemStack(ModBlocks.alchemicalChest.blockID, 1, 1), new Object[]{"ppp", "p p", "ppp", 'p', new ItemStack(ModBlocks.infusedPlanks, 1, 1)}); GameRegistry.addRecipe(new ItemStack(ModBlocks.alchemicalChest.blockID, 1, 2), new Object[]{"ppp", "p p", "ppp", 'p', new ItemStack(ModBlocks.infusedPlanks, 1, 2)}); - CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.calcinator), new Object[]{"iii", "sis", "s s", 'i', Item.ingotIron, 's', "stone"}); + CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.calcinator), new Object[]{"i i", "sis", "s s", 'i', Item.ingotIron, 's', "stone"}); + CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.aludelBase), new Object[]{"iii", "sis", "iii", 'i', Item.ingotIron, 's', "stone"}); CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.researchStation), new Object[]{"ipi", " s ", "sss", 'p', "plankWood", 'i', Item.ingotIron, 's', "stone"}); } @@ -47,7 +47,6 @@ public class RecipesVanilla GameRegistry.addShapelessRecipe(new ItemStack(ModItems.alchemicalFuel, 9, 2), new ItemStack(ModBlocks.alchemicalFuel, 1, 2)); GameRegistry.addRecipe(new ItemStack(ModItems.inertStone), new Object[]{"sis", "igi", "sis", 's', Block.stone, 'i', Item.ingotIron, 'g', Item.ingotGold}); - GameRegistry.addRecipe(new ItemStack(ModItems.miniumStone), new Object[]{"sss", "sis", "sss", 's', ModItems.miniumShard, 'i', ModItems.inertStone}); // TODO Proper recipes for the different bag sizes // TODO Also, decide if we want different sizes, and appropriate recipes diff --git a/src/main/java/com/pahimar/ee3/recipe/AludelRecipeInputPair.java b/src/main/java/com/pahimar/ee3/recipe/AludelRecipeInputPair.java deleted file mode 100644 index 1d966c61..00000000 --- a/src/main/java/com/pahimar/ee3/recipe/AludelRecipeInputPair.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.pahimar.ee3.recipe; - -import com.pahimar.ee3.helper.ItemHelper; -import com.pahimar.ee3.helper.LogHelper; -import com.pahimar.ee3.item.ItemAlchemicalDust; -import net.minecraft.item.ItemStack; -import net.minecraftforge.oredict.OreDictionary; - -public class AludelRecipeInputPair -{ - public final ItemStack inputStack; - public final ItemStack dustStack; - - public AludelRecipeInputPair(ItemStack inputStack, ItemStack dustStack) - { - this.inputStack = inputStack.copy(); - this.dustStack = dustStack.copy(); - } - - @Override - public boolean equals(Object object) - { - if (object instanceof AludelRecipeInputPair) - { - AludelRecipeInputPair recipeInputPair = (AludelRecipeInputPair) object; - - LogHelper.debug(String.format("input - this.itemId: %s, object.inputStack.itemId: %s", this.inputStack.itemID, recipeInputPair.inputStack.itemID)); - LogHelper.debug(String.format("input - this.meta: %s, object.inputStack.meta: %s", this.inputStack.getItemDamage(), recipeInputPair.inputStack.getItemDamage())); - LogHelper.debug(String.format("input - this.stackSize: %s, object.inputStack.stackSize: %s", this.inputStack.stackSize, recipeInputPair.inputStack.stackSize)); - - LogHelper.debug(String.format("dust - this.itemId: %s, object.inputStack.itemId: %s", this.dustStack.itemID, recipeInputPair.dustStack.itemID)); - LogHelper.debug(String.format("dust - this.meta: %s, object.inputStack.meta: %s", this.dustStack.getItemDamage(), recipeInputPair.dustStack.getItemDamage())); - LogHelper.debug(String.format("dust - this.stackSize: %s, object.inputStack.stackSize: %s", this.dustStack.stackSize, recipeInputPair.dustStack.stackSize)); - - if (this.inputStack.itemID == recipeInputPair.inputStack.itemID && (this.inputStack.getItemDamage() == recipeInputPair.inputStack.getItemDamage() || this.inputStack.getItemDamage() == OreDictionary.WILDCARD_VALUE || recipeInputPair.inputStack.getItemDamage() == OreDictionary.WILDCARD_VALUE) && this.inputStack.stackSize <= recipeInputPair.inputStack.stackSize) - { - if (this.dustStack.itemID == recipeInputPair.dustStack.itemID && this.dustStack.getItemDamage() == recipeInputPair.dustStack.getItemDamage() && this.dustStack.stackSize <= recipeInputPair.dustStack.stackSize) - { - return true; - } - } - } - - return false; - } - - public boolean isValid() - { - return inputStack != null && dustStack != null && dustStack.getItem() instanceof ItemAlchemicalDust; - } - - @Override - public String toString() - { - return String.format("Input stack: %s, Dust stack: %s", ItemHelper.toString(this.inputStack), ItemHelper.toString(this.dustStack)); - } -} diff --git a/src/main/resources/assets/ee3/textures/items/alchemicalBag.closed.png b/src/main/resources/assets/ee3/textures/items/alchemicalBag.closed.png new file mode 100644 index 00000000..db0831f8 Binary files /dev/null and b/src/main/resources/assets/ee3/textures/items/alchemicalBag.closed.png differ diff --git a/src/main/resources/assets/ee3/textures/items/alchemicalBag.open.png b/src/main/resources/assets/ee3/textures/items/alchemicalBag.open.png new file mode 100644 index 00000000..54183490 Binary files /dev/null and b/src/main/resources/assets/ee3/textures/items/alchemicalBag.open.png differ diff --git a/src/main/resources/assets/ee3/textures/items/alchemicalBag.symbolTier1.png b/src/main/resources/assets/ee3/textures/items/alchemicalBag.symbolTier1.png new file mode 100644 index 00000000..54587126 Binary files /dev/null and b/src/main/resources/assets/ee3/textures/items/alchemicalBag.symbolTier1.png differ diff --git a/src/main/resources/assets/ee3/textures/items/alchemicalBag.symbolTier2.png b/src/main/resources/assets/ee3/textures/items/alchemicalBag.symbolTier2.png new file mode 100644 index 00000000..22da191d Binary files /dev/null and b/src/main/resources/assets/ee3/textures/items/alchemicalBag.symbolTier2.png differ diff --git a/src/main/resources/assets/ee3/textures/items/alchemicalBag.symbolTier3.png b/src/main/resources/assets/ee3/textures/items/alchemicalBag.symbolTier3.png new file mode 100644 index 00000000..2b2f86f2 Binary files /dev/null and b/src/main/resources/assets/ee3/textures/items/alchemicalBag.symbolTier3.png differ diff --git a/src/main/resources/assets/ee3/textures/items/alchemicalBagClosed.png b/src/main/resources/assets/ee3/textures/items/alchemicalBagClosed.png deleted file mode 100644 index fe81b8e0..00000000 Binary files a/src/main/resources/assets/ee3/textures/items/alchemicalBagClosed.png and /dev/null differ diff --git a/src/main/resources/assets/ee3/textures/items/alchemicalBagClosedDrawString.png b/src/main/resources/assets/ee3/textures/items/alchemicalBagClosedDrawString.png deleted file mode 100644 index b1e508a0..00000000 Binary files a/src/main/resources/assets/ee3/textures/items/alchemicalBagClosedDrawString.png and /dev/null differ diff --git a/src/main/resources/assets/ee3/textures/items/alchemicalBagOpen.png b/src/main/resources/assets/ee3/textures/items/alchemicalBagOpen.png deleted file mode 100644 index 3576d119..00000000 Binary files a/src/main/resources/assets/ee3/textures/items/alchemicalBagOpen.png and /dev/null differ diff --git a/src/main/resources/assets/ee3/textures/items/alchemicalBagOpenDrawString.png b/src/main/resources/assets/ee3/textures/items/alchemicalBagOpenDrawString.png deleted file mode 100644 index af573d58..00000000 Binary files a/src/main/resources/assets/ee3/textures/items/alchemicalBagOpenDrawString.png and /dev/null differ diff --git a/src/main/resources/assets/ee3/textures/xcf/items/alchemicalBagClosed.xcf b/src/main/resources/assets/ee3/textures/xcf/items/alchemicalBagClosed.xcf index b42bba3f..d1f6d999 100644 Binary files a/src/main/resources/assets/ee3/textures/xcf/items/alchemicalBagClosed.xcf and b/src/main/resources/assets/ee3/textures/xcf/items/alchemicalBagClosed.xcf differ