From a30580ce8542f0ae0385aea9d1da6b3b4029c996 Mon Sep 17 00:00:00 2001 From: Tom Gallacher Date: Sat, 24 Nov 2012 14:50:35 +0000 Subject: [PATCH 01/46] Adding build targets for Mac OS X --- build.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/build.xml b/build.xml index c297ebd9..97c6e84c 100644 --- a/build.xml +++ b/build.xml @@ -24,6 +24,9 @@ + + + @@ -33,6 +36,9 @@ + + + From ec961a79fc3b226ecf3751e87b9b60118c13f1e4 Mon Sep 17 00:00:00 2001 From: Wliu Date: Wed, 28 Nov 2012 21:45:16 -0500 Subject: [PATCH 02/46] Update build.xml Enhanced so that it downloads and setups MCP and Forge for you. --- build.xml | 173 +++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 138 insertions(+), 35 deletions(-) diff --git a/build.xml b/build.xml index 97c6e84c..19de2fe8 100644 --- a/build.xml +++ b/build.xml @@ -1,20 +1,139 @@ - + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - + @@ -41,42 +160,26 @@ - - - - - - - - - - - - - - - - - - - - + + + + - - - - - + + + + + - + \ No newline at end of file From ef51bcb12581c75c5cb9bb593bc182db5709fd44 Mon Sep 17 00:00:00 2001 From: Wliu Date: Wed, 28 Nov 2012 21:45:36 -0500 Subject: [PATCH 03/46] Update build.xml Typo fix. --- build.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.xml b/build.xml index 19de2fe8..fca94abb 100644 --- a/build.xml +++ b/build.xml @@ -4,7 +4,7 @@ - Date: Wed, 28 Nov 2012 21:46:53 -0500 Subject: [PATCH 04/46] Update build.xml Unnecessary. --- build.xml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/build.xml b/build.xml index fca94abb..a8e70653 100644 --- a/build.xml +++ b/build.xml @@ -98,11 +98,6 @@ - - - - - From 610adb7e2700b33944dec097ad8726e5608cab06 Mon Sep 17 00:00:00 2001 From: Wliu Date: Wed, 28 Nov 2012 21:58:17 -0500 Subject: [PATCH 05/46] Fix build.xml Fixed massive derps. --- build.xml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/build.xml b/build.xml index a8e70653..c3b9401b 100644 --- a/build.xml +++ b/build.xml @@ -2,11 +2,11 @@ - + - - @@ -116,6 +116,7 @@ + @@ -175,6 +176,7 @@ - + + \ No newline at end of file From e718df4b305455006e57dfadc2e2699807842a0e Mon Sep 17 00:00:00 2001 From: Wliu Date: Wed, 28 Nov 2012 22:10:07 -0500 Subject: [PATCH 06/46] Update mcp.version 722 --> 723 --- build.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.xml b/build.xml index c3b9401b..6fec9fb8 100644 --- a/build.xml +++ b/build.xml @@ -9,7 +9,7 @@ - + From 627282a52f0caf0e2e3d1baea5af00a7be59a4a6 Mon Sep 17 00:00:00 2001 From: Wliu Date: Wed, 28 Nov 2012 22:12:42 -0500 Subject: [PATCH 07/46] Fix derps More derps! :< --- build.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/build.xml b/build.xml index 6fec9fb8..3123821f 100644 --- a/build.xml +++ b/build.xml @@ -133,25 +133,25 @@ - + - + - + - + - + - + From 91baaa3dcd85583275ad4f2aee203fe1dd4d8949 Mon Sep 17 00:00:00 2001 From: YoWazzup Date: Thu, 29 Nov 2012 15:43:43 +0100 Subject: [PATCH 08/46] Changed Red Water name to be more Dutch. I changed the Red Water name to "Stilstaand Rood Water", because "Rood Water (Stilstaand)" Doesn't feel Minecrafty. --- resources/ee3/lang/nl_NL.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/ee3/lang/nl_NL.xml b/resources/ee3/lang/nl_NL.xml index c9212884..cc331bf2 100644 --- a/resources/ee3/lang/nl_NL.xml +++ b/resources/ee3/lang/nl_NL.xml @@ -16,8 +16,8 @@ Azuurblauw Stof Amarant Stof Iriserend Stof - Rood Water (Stilstaand) - Rood Water (Vloeiend) + Stilstaand Rood Water + Vloeiend Rood Water Calcinator Calcinator Equivalent Exchange 3 From d2fca0a6d906fe3283377a7a47b17d28b57331d7 Mon Sep 17 00:00:00 2001 From: pahimar Date: Fri, 30 Nov 2012 10:47:18 -0500 Subject: [PATCH 09/46] Re-jigging of how keybindings are handled, now keybindings are passed to items implementing IKeyBound and the item itself determines what code is called depending on the keybinding --- .../core/handlers/KeyBindingHandler.java | 34 ++++----- ee3_common/ee3/common/item/IKeyBound.java | 4 +- .../ee3/common/item/ITransmutationStone.java | 4 +- .../ee3/common/item/ItemMiniumStone.java | 73 ++++++++++--------- .../ee3/common/item/ItemPhilosopherStone.java | 55 +++++++++----- .../ee3/common/network/PacketKeyPressed.java | 8 +- 6 files changed, 99 insertions(+), 79 deletions(-) diff --git a/ee3_client/ee3/client/core/handlers/KeyBindingHandler.java b/ee3_client/ee3/client/core/handlers/KeyBindingHandler.java index c3029340..b5b46b53 100644 --- a/ee3_client/ee3/client/core/handlers/KeyBindingHandler.java +++ b/ee3_client/ee3/client/core/handlers/KeyBindingHandler.java @@ -3,6 +3,7 @@ package ee3.client.core.handlers; import java.util.EnumSet; import java.util.logging.Level; +import net.minecraft.src.EntityPlayer; import net.minecraft.src.Item; import net.minecraft.src.ItemStack; import net.minecraft.src.KeyBinding; @@ -14,6 +15,7 @@ import cpw.mods.fml.common.registry.LanguageRegistry; import ee3.client.core.helper.KeyBindingHelper; import ee3.common.EquivalentExchange3; import ee3.common.core.helper.LogHelper; +import ee3.common.item.IKeyBound; import ee3.common.item.ITransmutationStone; import ee3.common.item.ModItems; import ee3.common.lib.ConfigurationSettings; @@ -35,36 +37,30 @@ import ee3.common.network.PacketTypeHandler; public class KeyBindingHandler extends KeyBindingRegistry.KeyHandler { public KeyBindingHandler() { + super(KeyBindingHelper.gatherKeyBindings(), KeyBindingHelper.gatherIsRepeating()); } @Override public String getLabel() { - return Reference.MOD_NAME + ": " + this.getClass().getSimpleName(); + + return Reference.MOD_NAME + ": " + this.getClass().getSimpleName(); } @Override public void keyDown(EnumSet types, KeyBinding kb, boolean tickEnd, boolean isRepeat) { + // Only operate at the end of the tick if (tickEnd) { // If we are not in a GUI of any kind, continue execution if (FMLClientHandler.instance().getClient().inGameHasFocus) { - // TODO Clean this up properly - if (kb.keyDescription == Reference.KEYBINDING_EXTRA) { + EntityPlayer player = FMLClientHandler.instance().getClient().thePlayer; + if (player != null) { ItemStack currentItem = FMLClientHandler.instance().getClient().thePlayer.getCurrentEquippedItem(); - + if (currentItem != null) { - if (currentItem.getItem() instanceof ITransmutationStone) { - ((ITransmutationStone)currentItem.getItem()).openPortableCrafting(kb.keyDescription); - } - } - } - else if (kb.keyDescription == Reference.KEYBINDING_TOGGLE) { - ItemStack currentItem = FMLClientHandler.instance().getClient().thePlayer.getCurrentEquippedItem(); - - if (currentItem != null) { - if (currentItem.getItem() instanceof ITransmutationStone) { - ConfigurationSettings.ENABLE_OVERLAY_PHILOSOPHER_STONE = !ConfigurationSettings.ENABLE_OVERLAY_PHILOSOPHER_STONE; + if (currentItem.getItem() instanceof IKeyBound) { + PacketDispatcher.sendPacketToServer(PacketTypeHandler.populatePacket(new PacketKeyPressed(kb.keyDescription))); } } } @@ -74,14 +70,18 @@ public class KeyBindingHandler extends KeyBindingRegistry.KeyHandler { } @Override - public void keyUp(EnumSet types, KeyBinding kb, boolean tickEnd) {} + public void keyUp(EnumSet types, KeyBinding kb, boolean tickEnd) { + + } @Override public EnumSet ticks() { + return EnumSet.of(TickType.CLIENT); } private static String getLocalizedKey(String key) { - return LanguageRegistry.instance().getStringLocalization(key); + + return LanguageRegistry.instance().getStringLocalization(key); } } diff --git a/ee3_common/ee3/common/item/IKeyBound.java b/ee3_common/ee3/common/item/IKeyBound.java index 7d633f9c..400f991d 100644 --- a/ee3_common/ee3/common/item/IKeyBound.java +++ b/ee3_common/ee3/common/item/IKeyBound.java @@ -1,7 +1,9 @@ package ee3.common.item; +import net.minecraft.src.EntityPlayer; + public interface IKeyBound { - public abstract void doKeyBindingAction(String keyBinding, boolean isSneaking); + public abstract void doKeyBindingAction(EntityPlayer thePlayer, String keyBinding); } diff --git a/ee3_common/ee3/common/item/ITransmutationStone.java b/ee3_common/ee3/common/item/ITransmutationStone.java index 33507881..fd6cd504 100644 --- a/ee3_common/ee3/common/item/ITransmutationStone.java +++ b/ee3_common/ee3/common/item/ITransmutationStone.java @@ -1,5 +1,7 @@ package ee3.common.item; +import net.minecraft.src.EntityPlayer; + /** * ITransmutationStone * @@ -11,6 +13,6 @@ package ee3.common.item; */ public interface ITransmutationStone { - public abstract void openPortableCrafting(String keyPressed); + public abstract void openPortableCrafting(EntityPlayer thePlayer); } diff --git a/ee3_common/ee3/common/item/ItemMiniumStone.java b/ee3_common/ee3/common/item/ItemMiniumStone.java index 533f949d..48f23c1d 100644 --- a/ee3_common/ee3/common/item/ItemMiniumStone.java +++ b/ee3_common/ee3/common/item/ItemMiniumStone.java @@ -28,10 +28,11 @@ import ee3.common.network.PacketTypeHandler; * @license Lesser GNU Public License v3 (http://www.gnu.org/licenses/lgpl.html) * */ -public class ItemMiniumStone extends ItemEE - implements ITransmutationStone, IKeyBound { - +public class ItemMiniumStone extends ItemEE implements ITransmutationStone, + IKeyBound { + public ItemMiniumStone(int id) { + super(id); this.setIconCoord(1, 0); this.setItemName(Strings.MINIUM_STONE_NAME); @@ -41,59 +42,61 @@ public class ItemMiniumStone extends ItemEE @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack stack) { + return EquivalentExchange3.proxy.getCustomRarityType(CustomItemRarity.MAGICAL); } - + @Override public boolean doesContainerItemLeaveCraftingGrid(ItemStack itemStack) { - return false; + + return false; } - + @Override public boolean getShareTag() { - return true; + + return true; } - + @Override public ItemStack getContainerItemStack(ItemStack itemStack) { - itemStack.setItemDamage(itemStack.getItemDamage() + 1); - - return itemStack; + + itemStack.setItemDamage(itemStack.getItemDamage() + 1); + + return itemStack; } - - @Override - public boolean onItemUse(ItemStack itemStack, EntityPlayer entityPlayer, World world, int x, int y, int z, int l, float f1, float f2, float f3) { - boolean result = TransmutationHelper.transmuteInWorld(world, entityPlayer, itemStack, x, y, z); - - if (result) { - itemStack.damageItem(1, entityPlayer); - } - - return result; + + @Override + public boolean onItemUse(ItemStack itemStack, EntityPlayer entityPlayer, World world, int x, int y, int z, int l, float f1, float f2, float f3) { + + boolean result = TransmutationHelper.transmuteInWorld(world, entityPlayer, itemStack, x, y, z); + + if (result) { + itemStack.damageItem(1, entityPlayer); + } + + return result; } - - @SideOnly(Side.CLIENT) - public int getColorFromItemStack(ItemStack par1ItemStack, int par2) - { + + @SideOnly(Side.CLIENT) + public int getColorFromItemStack(ItemStack par1ItemStack, int par2) { + return Integer.parseInt(Colours.PURE_RED, 16); } @Override - public void openPortableCrafting(String keyPressed) { - /* - * Notify the Server that we opened the GUI. When the server receives the packet, it will open the Gui - * server side, and notify the client to open the Gui client side on its own. Magic! - */ - PacketDispatcher.sendPacketToServer(PacketTypeHandler.populatePacket(new PacketKeyPressed(keyPressed))); + public void openPortableCrafting(EntityPlayer thePlayer) { + + thePlayer.openGui(EquivalentExchange3.instance, GuiIds.PORTABLE_CRAFTING, thePlayer.worldObj, (int) thePlayer.posX, (int) thePlayer.posY, (int) thePlayer.posZ); } @Override - public void doKeyBindingAction(String keyBinding, boolean isSneaking) { + public void doKeyBindingAction(EntityPlayer thePlayer, String keyBinding) { if (keyBinding.equals(Reference.KEYBINDING_EXTRA)) { - System.out.println("Extra key"); + openPortableCrafting(thePlayer); } - + } - + } diff --git a/ee3_common/ee3/common/item/ItemPhilosopherStone.java b/ee3_common/ee3/common/item/ItemPhilosopherStone.java index f6ec07d9..ed37278c 100644 --- a/ee3_common/ee3/common/item/ItemPhilosopherStone.java +++ b/ee3_common/ee3/common/item/ItemPhilosopherStone.java @@ -9,6 +9,7 @@ import ee3.common.core.helper.NBTHelper; import ee3.common.core.helper.TransmutationHelper; import ee3.common.lib.CustomItemRarity; import ee3.common.lib.GuiIds; +import ee3.common.lib.Reference; import ee3.common.lib.Strings; import ee3.common.network.PacketKeyPressed; import ee3.common.network.PacketTypeHandler; @@ -26,12 +27,13 @@ import net.minecraft.src.World; * @license Lesser GNU Public License v3 (http://www.gnu.org/licenses/lgpl.html) * */ -public class ItemPhilosopherStone extends ItemEE - implements ITransmutationStone, IChargeable { +public class ItemPhilosopherStone extends ItemEE implements + ITransmutationStone, IChargeable, IKeyBound { private int maxChargeLevel; - + public ItemPhilosopherStone(int id) { + super(id); this.setIconCoord(2, 0); this.setItemName(Strings.PHILOSOPHER_STONE_NAME); @@ -41,62 +43,77 @@ public class ItemPhilosopherStone extends ItemEE @SideOnly(Side.CLIENT) public boolean hasEffect(ItemStack stack) { + return true; } @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack stack) { + return EquivalentExchange3.proxy.getCustomRarityType(CustomItemRarity.RARE); } - + @Override public boolean doesContainerItemLeaveCraftingGrid(ItemStack itemStack) { - return false; + + return false; } - + @Override public boolean getShareTag() { - return true; + + return true; } - + @Override public boolean onItemUse(ItemStack itemStack, EntityPlayer entityPlayer, World world, int x, int y, int z, int l, float f1, float f2, float f3) { + return TransmutationHelper.transmuteInWorld(world, entityPlayer, itemStack, x, y, z); } - + @Override - public void openPortableCrafting(String keyPressed) { - /* - * Notify the Server that we opened the GUI. When the server receives the packet, it will open the Gui - * server side, and notify the client to open the Gui client side on its own. Magic! - */ - PacketDispatcher.sendPacketToServer(PacketTypeHandler.populatePacket(new PacketKeyPressed(keyPressed))); + public void openPortableCrafting(EntityPlayer thePlayer) { + + thePlayer.openGui(EquivalentExchange3.instance, GuiIds.PORTABLE_CRAFTING, thePlayer.worldObj, (int) thePlayer.posX, (int) thePlayer.posY, (int) thePlayer.posZ); } - + @Override public short getCharge(ItemStack stack) { + return NBTHelper.getShort(stack, Strings.NBT_CHARGE_LEVEL_KEY); } @Override public void setCharge(ItemStack stack, short charge) { + if (charge <= maxChargeLevel) { NBTHelper.setShort(stack, Strings.NBT_CHARGE_LEVEL_KEY, charge); } } - + @Override public void increaseCharge(ItemStack stack) { + if (NBTHelper.getShort(stack, Strings.NBT_CHARGE_LEVEL_KEY) < maxChargeLevel) { - NBTHelper.setShort(stack, Strings.NBT_CHARGE_LEVEL_KEY, (short)(NBTHelper.getShort(stack, Strings.NBT_CHARGE_LEVEL_KEY) + 1)); + NBTHelper.setShort(stack, Strings.NBT_CHARGE_LEVEL_KEY, (short) (NBTHelper.getShort(stack, Strings.NBT_CHARGE_LEVEL_KEY) + 1)); } } @Override public void decreaseCharge(ItemStack stack) { + if (NBTHelper.getShort(stack, Strings.NBT_CHARGE_LEVEL_KEY) > 0) { - NBTHelper.setShort(stack, Strings.NBT_CHARGE_LEVEL_KEY, (short)(NBTHelper.getShort(stack, Strings.NBT_CHARGE_LEVEL_KEY) - 1)); + NBTHelper.setShort(stack, Strings.NBT_CHARGE_LEVEL_KEY, (short) (NBTHelper.getShort(stack, Strings.NBT_CHARGE_LEVEL_KEY) - 1)); } } + @Override + public void doKeyBindingAction(EntityPlayer thePlayer, String keyBinding) { + + if (keyBinding.equals(Reference.KEYBINDING_EXTRA)) { + openPortableCrafting(thePlayer); + } + + } + } diff --git a/ee3_common/ee3/common/network/PacketKeyPressed.java b/ee3_common/ee3/common/network/PacketKeyPressed.java index e500f1a3..e4260401 100644 --- a/ee3_common/ee3/common/network/PacketKeyPressed.java +++ b/ee3_common/ee3/common/network/PacketKeyPressed.java @@ -53,13 +53,9 @@ public class PacketKeyPressed extends PacketEE { public void execute(INetworkManager manager, Player player) { EntityPlayer thePlayer = (EntityPlayer) player; - /* - if ((this.key.equals(Reference.KEYBINDING_EXTRA)) && (thePlayer.getCurrentEquippedItem().getItem() instanceof ITransmutationStone)) { - thePlayer.openGui(EquivalentExchange3.instance, GuiIds.PORTABLE_CRAFTING, thePlayer.worldObj, (int)thePlayer.posX, (int)thePlayer.posY, (int)thePlayer.posZ); - } - */ + if ((thePlayer.getCurrentEquippedItem() != null) && (thePlayer.getCurrentEquippedItem().getItem() instanceof IKeyBound)) { - ((IKeyBound) thePlayer.getCurrentEquippedItem().getItem()).doKeyBindingAction(this.key, thePlayer.isSneaking()); + ((IKeyBound) thePlayer.getCurrentEquippedItem().getItem()).doKeyBindingAction(thePlayer, this.key); } } } From fa1271f5c5499c00455e2595bd299fb9e2de0443 Mon Sep 17 00:00:00 2001 From: pahimar Date: Fri, 30 Nov 2012 14:03:36 -0500 Subject: [PATCH 10/46] In world transmutation overlay works for all transmutation stones, P Stone now is chargeable and has sounds, sounds renamed to be more intuitive --- .../handlers/DrawBlockHighlightHandler.java | 21 ++++++++++++------ .../core/handlers/ConfigurationHandler.java | 8 +++---- .../core/handlers/RenderTickHandler.java | 10 ++++----- ee3_common/ee3/common/item/IKeyBound.java | 3 ++- .../ee3/common/item/ItemMiniumStone.java | 2 +- .../ee3/common/item/ItemPhilosopherStone.java | 17 +++++++++++--- .../ee3/common/lib/ConfigurationSettings.java | 8 +++---- ee3_common/ee3/common/lib/Sounds.java | 10 ++++----- .../ee3/common/network/PacketKeyPressed.java | 2 +- .../ee3/sound/{break.ogg => chargeDown.ogg} | Bin .../ee3/sound/{flash.ogg => chargeUp.ogg} | Bin resources/ee3/sound/chargetick.ogg | Bin 4465 -> 0 bytes 12 files changed, 49 insertions(+), 32 deletions(-) rename resources/ee3/sound/{break.ogg => chargeDown.ogg} (100%) rename resources/ee3/sound/{flash.ogg => chargeUp.ogg} (100%) delete mode 100644 resources/ee3/sound/chargetick.ogg diff --git a/ee3_client/ee3/client/core/handlers/DrawBlockHighlightHandler.java b/ee3_client/ee3/client/core/handlers/DrawBlockHighlightHandler.java index 7995f2b6..1d71ec51 100644 --- a/ee3_client/ee3/client/core/handlers/DrawBlockHighlightHandler.java +++ b/ee3_client/ee3/client/core/handlers/DrawBlockHighlightHandler.java @@ -3,7 +3,9 @@ package ee3.client.core.handlers; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; -import ee3.common.item.ItemPhilosopherStone; +import ee3.common.item.ITransmutationStone; +import ee3.common.item.IChargeable; +import ee3.common.lib.ConfigurationSettings; import ee3.common.lib.Reference; import net.minecraft.src.EnumMovingObjectType; import net.minecraft.src.RenderEngine; @@ -18,15 +20,17 @@ public class DrawBlockHighlightHandler { public void onDrawBlockHighlightEvent(DrawBlockHighlightEvent event) { if (event.currentItem != null) { - if (event.currentItem.getItem() instanceof ItemPhilosopherStone) { + if (event.currentItem.getItem() instanceof ITransmutationStone) { if (event.target.typeOfHit == EnumMovingObjectType.TILE) { - drawPhilosopherStoneOverlay(event); + if (ConfigurationSettings.ENABLE_OVERLAY_WORLD_TRANSMUTATION) { + drawInWorldTransmutationOverlay(event); + } } } } } - public void drawPhilosopherStoneOverlay(DrawBlockHighlightEvent event) { + public void drawInWorldTransmutationOverlay(DrawBlockHighlightEvent event) { double x = event.target.blockX + 0.5F; double y = event.target.blockY + 0.5F; @@ -39,11 +43,14 @@ public class DrawBlockHighlightHandler { int xScale = 1; int yScale = 1; int zScale = 1; - int chargeLevel = ((ItemPhilosopherStone)event.currentItem.getItem()).getCharge(event.currentItem); + int chargeLevel; + int itemChargeLevel = 0; - if (chargeLevel < 1) { - chargeLevel = 1; + if (event.currentItem.getItem() instanceof IChargeable) { + itemChargeLevel = ((IChargeable)event.currentItem.getItem()).getCharge(event.currentItem); } + + chargeLevel = 1 + itemChargeLevel * 2; if ((event.target.sideHit == 0) || (event.target.sideHit == 1)) { xScale = chargeLevel; diff --git a/ee3_common/ee3/common/core/handlers/ConfigurationHandler.java b/ee3_common/ee3/common/core/handlers/ConfigurationHandler.java index 5606ce4c..294d66cc 100644 --- a/ee3_common/ee3/common/core/handlers/ConfigurationHandler.java +++ b/ee3_common/ee3/common/core/handlers/ConfigurationHandler.java @@ -50,11 +50,11 @@ public class ConfigurationHandler { /* Graphics/Rendering Configs */ ConfigurationSettings.ENABLE_PARTICLE_FX = configuration - .get(CATEGORY_GENERAL, ConfigurationSettings.ENABLE_PARTICLE_FX_CONFIGNAME, ConfigurationSettings.ENABLE_PARTICLE_FX_DEFAULT) + .get(CATEGORY_GRAPHICS, ConfigurationSettings.ENABLE_PARTICLE_FX_CONFIGNAME, ConfigurationSettings.ENABLE_PARTICLE_FX_DEFAULT) .getBoolean(ConfigurationSettings.ENABLE_PARTICLE_FX_DEFAULT); - ConfigurationSettings.ENABLE_OVERLAY_PHILOSOPHER_STONE = configuration - .get(CATEGORY_GENERAL, ConfigurationSettings.ENABLE_OVERLAY_PHILOSOPHER_STONE_CONFIGNAME, ConfigurationSettings.ENABLE_OVERLAY_PHILOSOPHER_STONE_DEFAULT) - .getBoolean(ConfigurationSettings.ENABLE_OVERLAY_PHILOSOPHER_STONE_DEFAULT); + ConfigurationSettings.ENABLE_OVERLAY_WORLD_TRANSMUTATION = configuration + .get(CATEGORY_GRAPHICS, ConfigurationSettings.ENABLE_OVERLAY_WORLD_TRANSMUTATION_CONFIGNAME, ConfigurationSettings.ENABLE_OVERLAY_WORLD_TRANSMUTATION_DEFAULT) + .getBoolean(ConfigurationSettings.ENABLE_OVERLAY_WORLD_TRANSMUTATION_DEFAULT); /* Block Configs */ ConfigurationSettings.AUTO_RESOLVE_BLOCK_IDS = configuration diff --git a/ee3_common/ee3/common/core/handlers/RenderTickHandler.java b/ee3_common/ee3/common/core/handlers/RenderTickHandler.java index 293cbed4..ba1b1884 100644 --- a/ee3_common/ee3/common/core/handlers/RenderTickHandler.java +++ b/ee3_common/ee3/common/core/handlers/RenderTickHandler.java @@ -44,10 +44,10 @@ public class RenderTickHandler implements ITickHandler { if (type.contains(TickType.RENDER)) { if (player != null) { currentItemStack = player.inventory.getCurrentItem(); - } - - if ((player != null) && (currentItemStack != null) && (minecraft.inGameHasFocus) && (currentItemStack.getItem() instanceof ITransmutationStone) && (ConfigurationSettings.ENABLE_OVERLAY_PHILOSOPHER_STONE)) { - renderStoneHUD(minecraft, player, currentItemStack, (Float) tickData[0]); + + if ((currentItemStack != null) && (minecraft.inGameHasFocus) && (currentItemStack.getItem() instanceof ITransmutationStone) && (ConfigurationSettings.ENABLE_OVERLAY_WORLD_TRANSMUTATION)) { + renderStoneHUD(minecraft, player, currentItemStack, (Float) tickData[0]); + } } } } @@ -74,7 +74,7 @@ public class RenderTickHandler implements ITickHandler { ItemStack currentBlock = null; if ((player.worldObj != null) && (rayTrace != null)) { - currentBlock = TransmutationHelper.getNextBlock(player.worldObj.getBlockId(rayTrace.blockX, rayTrace.blockY, rayTrace.blockZ), player.worldObj.getBlockMetadata(rayTrace.blockX, rayTrace.blockY, rayTrace.blockZ), true); + currentBlock = TransmutationHelper.getNextBlock(player.worldObj.getBlockId(rayTrace.blockX, rayTrace.blockY, rayTrace.blockZ), player.worldObj.getBlockMetadata(rayTrace.blockX, rayTrace.blockY, rayTrace.blockZ), player.isSneaking()); } GL11.glPushMatrix(); diff --git a/ee3_common/ee3/common/item/IKeyBound.java b/ee3_common/ee3/common/item/IKeyBound.java index 400f991d..bfdb53a0 100644 --- a/ee3_common/ee3/common/item/IKeyBound.java +++ b/ee3_common/ee3/common/item/IKeyBound.java @@ -1,9 +1,10 @@ package ee3.common.item; import net.minecraft.src.EntityPlayer; +import net.minecraft.src.ItemStack; public interface IKeyBound { - public abstract void doKeyBindingAction(EntityPlayer thePlayer, String keyBinding); + public abstract void doKeyBindingAction(EntityPlayer thePlayer, ItemStack itemStack, String keyBinding); } diff --git a/ee3_common/ee3/common/item/ItemMiniumStone.java b/ee3_common/ee3/common/item/ItemMiniumStone.java index 48f23c1d..f9d432ec 100644 --- a/ee3_common/ee3/common/item/ItemMiniumStone.java +++ b/ee3_common/ee3/common/item/ItemMiniumStone.java @@ -91,7 +91,7 @@ public class ItemMiniumStone extends ItemEE implements ITransmutationStone, } @Override - public void doKeyBindingAction(EntityPlayer thePlayer, String keyBinding) { + public void doKeyBindingAction(EntityPlayer thePlayer, ItemStack itemStack, String keyBinding) { if (keyBinding.equals(Reference.KEYBINDING_EXTRA)) { openPortableCrafting(thePlayer); diff --git a/ee3_common/ee3/common/item/ItemPhilosopherStone.java b/ee3_common/ee3/common/item/ItemPhilosopherStone.java index ed37278c..c0ada593 100644 --- a/ee3_common/ee3/common/item/ItemPhilosopherStone.java +++ b/ee3_common/ee3/common/item/ItemPhilosopherStone.java @@ -10,6 +10,7 @@ import ee3.common.core.helper.TransmutationHelper; import ee3.common.lib.CustomItemRarity; import ee3.common.lib.GuiIds; import ee3.common.lib.Reference; +import ee3.common.lib.Sounds; import ee3.common.lib.Strings; import ee3.common.network.PacketKeyPressed; import ee3.common.network.PacketTypeHandler; @@ -38,7 +39,7 @@ public class ItemPhilosopherStone extends ItemEE implements this.setIconCoord(2, 0); this.setItemName(Strings.PHILOSOPHER_STONE_NAME); this.setCreativeTab(EquivalentExchange3.tabsEE3); - this.maxChargeLevel = 4; + this.maxChargeLevel = 3; } @SideOnly(Side.CLIENT) @@ -108,12 +109,22 @@ public class ItemPhilosopherStone extends ItemEE implements } @Override - public void doKeyBindingAction(EntityPlayer thePlayer, String keyBinding) { + public void doKeyBindingAction(EntityPlayer thePlayer, ItemStack itemStack, String keyBinding) { if (keyBinding.equals(Reference.KEYBINDING_EXTRA)) { openPortableCrafting(thePlayer); } - + else if (keyBinding.equals(Reference.KEYBINDING_CHARGE)) { + if (!thePlayer.isSneaking()) { + increaseCharge(itemStack); + thePlayer.worldObj.playSoundAtEntity(thePlayer, Sounds.CHARGE_UP, 0.5F, 0.5F + (0.5F * (getCharge(itemStack) * 1.0F / maxChargeLevel))); + } + else { + decreaseCharge(itemStack); + thePlayer.worldObj.playSoundAtEntity(thePlayer, Sounds.CHARGE_DOWN, 0.5F, 1.0F - (0.5F - (0.5F * (getCharge(itemStack) * 1.0F / maxChargeLevel)))); + } + } + } } diff --git a/ee3_common/ee3/common/lib/ConfigurationSettings.java b/ee3_common/ee3/common/lib/ConfigurationSettings.java index aee106eb..0cbe5b13 100644 --- a/ee3_common/ee3/common/lib/ConfigurationSettings.java +++ b/ee3_common/ee3/common/lib/ConfigurationSettings.java @@ -39,10 +39,10 @@ public class ConfigurationSettings { public static final String ENABLE_PARTICLE_FX_CONFIGNAME = "enable_particle_fx"; public static final boolean ENABLE_PARTICLE_FX_DEFAULT = true; - // Whether or not the Philosopher Stone overlay is enabled - public static boolean ENABLE_OVERLAY_PHILOSOPHER_STONE; - public static final String ENABLE_OVERLAY_PHILOSOPHER_STONE_CONFIGNAME = "enable_philosopher_stone_overlay"; - public static final boolean ENABLE_OVERLAY_PHILOSOPHER_STONE_DEFAULT = true; + // Whether or not the in world transmutation overlay is enabled + public static boolean ENABLE_OVERLAY_WORLD_TRANSMUTATION; + public static final String ENABLE_OVERLAY_WORLD_TRANSMUTATION_CONFIGNAME = "enable_world_transmutation_overlay"; + public static final boolean ENABLE_OVERLAY_WORLD_TRANSMUTATION_DEFAULT = true; /* * Minium stone config settings diff --git a/ee3_common/ee3/common/lib/Sounds.java b/ee3_common/ee3/common/lib/Sounds.java index 145cdd76..0357bbe3 100644 --- a/ee3_common/ee3/common/lib/Sounds.java +++ b/ee3_common/ee3/common/lib/Sounds.java @@ -15,10 +15,9 @@ public class Sounds { private static final String SOUND_PREFIX = "ee3.sound."; public static String[] soundFiles = { - SOUND_RESOURCE_LOCATION + "break.ogg", - SOUND_RESOURCE_LOCATION + "chargetick.ogg", + SOUND_RESOURCE_LOCATION + "chargeDown.ogg", + SOUND_RESOURCE_LOCATION + "chargeUp.ogg", SOUND_RESOURCE_LOCATION + "destruct.ogg", - SOUND_RESOURCE_LOCATION + "flash.ogg", SOUND_RESOURCE_LOCATION + "gust.ogg", SOUND_RESOURCE_LOCATION + "heal.ogg", SOUND_RESOURCE_LOCATION + "kinesis.ogg", @@ -31,10 +30,9 @@ public class Sounds { SOUND_RESOURCE_LOCATION + "waterball.ogg", SOUND_RESOURCE_LOCATION + "wind.ogg" }; - public static final String BREAK = SOUND_PREFIX + "break"; - public static final String CHARGE_TICK = SOUND_PREFIX + "chargetick"; + public static final String CHARGE_DOWN = SOUND_PREFIX + "chargeDown"; + public static final String CHARGE_UP = SOUND_PREFIX + "chargeUp"; public static final String DESTRUCTION = SOUND_PREFIX + "destruct"; - public static final String FLASH = SOUND_PREFIX + "flash"; public static final String GUST = SOUND_PREFIX + "gust"; public static final String HEAL = SOUND_PREFIX + "heal"; public static final String KINESIS = SOUND_PREFIX + "kinesis"; diff --git a/ee3_common/ee3/common/network/PacketKeyPressed.java b/ee3_common/ee3/common/network/PacketKeyPressed.java index e4260401..c24aa1a4 100644 --- a/ee3_common/ee3/common/network/PacketKeyPressed.java +++ b/ee3_common/ee3/common/network/PacketKeyPressed.java @@ -55,7 +55,7 @@ public class PacketKeyPressed extends PacketEE { EntityPlayer thePlayer = (EntityPlayer) player; if ((thePlayer.getCurrentEquippedItem() != null) && (thePlayer.getCurrentEquippedItem().getItem() instanceof IKeyBound)) { - ((IKeyBound) thePlayer.getCurrentEquippedItem().getItem()).doKeyBindingAction(thePlayer, this.key); + ((IKeyBound) thePlayer.getCurrentEquippedItem().getItem()).doKeyBindingAction(thePlayer, thePlayer.getCurrentEquippedItem(), this.key); } } } diff --git a/resources/ee3/sound/break.ogg b/resources/ee3/sound/chargeDown.ogg similarity index 100% rename from resources/ee3/sound/break.ogg rename to resources/ee3/sound/chargeDown.ogg diff --git a/resources/ee3/sound/flash.ogg b/resources/ee3/sound/chargeUp.ogg similarity index 100% rename from resources/ee3/sound/flash.ogg rename to resources/ee3/sound/chargeUp.ogg diff --git a/resources/ee3/sound/chargetick.ogg b/resources/ee3/sound/chargetick.ogg deleted file mode 100644 index e2c7c1f61c31523e40befa9e090318f598b6361f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4465 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 From 0ecca70ffea917e1628e8e4108451183ed84033e Mon Sep 17 00:00:00 2001 From: pahimar Date: Fri, 30 Nov 2012 15:28:42 -0500 Subject: [PATCH 11/46] Move art/sprite related constants out of the general Reference class into their out Sprites lib class, move the RenderTickHandler into the client package (where it belongs), --- ee3_client/ee3/client/core/ClientProxy.java | 8 +- .../handlers/DrawBlockHighlightHandler.java | 22 +- .../core/handlers/RenderTickHandler.java | 57 +++-- ee3_client/ee3/client/gui/GuiCalcinator.java | 4 +- .../ee3/client/render/ModelCalcinator.java | 4 +- .../client/render/RenderItemCalcinator.java | 3 +- .../ee3/client/render/TextureRedWaterFX.java | 4 +- .../client/render/TextureRedWaterFlowFX.java | 4 +- .../ee3/common/EquivalentExchange3.java | 2 +- .../common/block/BlockRedWaterFlowing.java | 6 +- .../ee3/common/block/BlockRedWaterStill.java | 7 +- .../core/handlers/EquivalencyHandler.java | 206 ++++++++++-------- .../core/helper/TransmutationHelper.java | 87 ++++---- ee3_common/ee3/common/item/ItemEE.java | 3 +- ee3_common/ee3/common/lib/Reference.java | 8 - ee3_common/ee3/common/lib/Sprites.java | 15 ++ ee3_common/ee3/common/lib/Strings.java | 1 + resources/ee3/art/sprites/test-circle.png | Bin 0 -> 19370 bytes 18 files changed, 238 insertions(+), 203 deletions(-) rename {ee3_common/ee3/common => ee3_client/ee3/client}/core/handlers/RenderTickHandler.java (60%) create mode 100644 ee3_common/ee3/common/lib/Sprites.java create mode 100644 resources/ee3/art/sprites/test-circle.png diff --git a/ee3_client/ee3/client/core/ClientProxy.java b/ee3_client/ee3/client/core/ClientProxy.java index 0addd2c9..5185012f 100644 --- a/ee3_client/ee3/client/core/ClientProxy.java +++ b/ee3_client/ee3/client/core/ClientProxy.java @@ -13,6 +13,7 @@ import cpw.mods.fml.common.registry.LanguageRegistry; import cpw.mods.fml.common.registry.TickRegistry; import ee3.client.core.handlers.DrawBlockHighlightHandler; import ee3.client.core.handlers.KeyBindingHandler; +import ee3.client.core.handlers.RenderTickHandler; import ee3.client.core.handlers.SoundHandler; import ee3.client.core.helper.KeyBindingHelper; import ee3.client.render.RenderCalcinator; @@ -20,10 +21,9 @@ import ee3.client.render.RenderItemCalcinator; import ee3.client.render.TextureRedWaterFX; import ee3.client.render.TextureRedWaterFlowFX; import ee3.common.core.CommonProxy; -import ee3.common.core.handlers.RenderTickHandler; import ee3.common.lib.BlockIds; -import ee3.common.lib.Reference; import ee3.common.lib.RenderIds; +import ee3.common.lib.Sprites; import ee3.common.tile.TileCalcinator; import static ee3.common.lib.CustomItemRarity.*; @@ -96,8 +96,8 @@ public class ClientProxy extends CommonProxy { RenderIds.calcinatorRenderId = RenderingRegistry.getNextAvailableRenderId(); - MinecraftForgeClient.preloadTexture(Reference.SPRITE_SHEET_LOCATION + Reference.BLOCK_SPRITE_SHEET); - MinecraftForgeClient.preloadTexture(Reference.SPRITE_SHEET_LOCATION + Reference.ITEM_SPRITE_SHEET); + MinecraftForgeClient.preloadTexture(Sprites.SPRITE_SHEET_LOCATION + Sprites.BLOCK_SPRITE_SHEET); + MinecraftForgeClient.preloadTexture(Sprites.SPRITE_SHEET_LOCATION + Sprites.ITEM_SPRITE_SHEET); FMLClientHandler.instance().getClient().renderEngine.registerTextureFX(new TextureRedWaterFX()); FMLClientHandler.instance().getClient().renderEngine.registerTextureFX(new TextureRedWaterFlowFX()); diff --git a/ee3_client/ee3/client/core/handlers/DrawBlockHighlightHandler.java b/ee3_client/ee3/client/core/handlers/DrawBlockHighlightHandler.java index 1d71ec51..e0ce6d0b 100644 --- a/ee3_client/ee3/client/core/handlers/DrawBlockHighlightHandler.java +++ b/ee3_client/ee3/client/core/handlers/DrawBlockHighlightHandler.java @@ -6,7 +6,7 @@ import org.lwjgl.opengl.GL12; import ee3.common.item.ITransmutationStone; import ee3.common.item.IChargeable; import ee3.common.lib.ConfigurationSettings; -import ee3.common.lib.Reference; +import ee3.common.lib.Sprites; import net.minecraft.src.EnumMovingObjectType; import net.minecraft.src.RenderEngine; import net.minecraft.src.Tessellator; @@ -38,18 +38,18 @@ public class DrawBlockHighlightHandler { double iPX = event.player.prevPosX + (event.player.posX - event.player.prevPosX) * event.partialTicks; double iPY = event.player.prevPosY + (event.player.posY - event.player.prevPosY) * event.partialTicks; double iPZ = event.player.prevPosZ + (event.player.posZ - event.player.prevPosZ) * event.partialTicks; - int texture = event.context.renderEngine.getTexture(Reference.SPRITE_SHEET_LOCATION + "noise.png"); + int texture = event.context.renderEngine.getTexture(Sprites.SPRITE_SHEET_LOCATION + Sprites.WORLD_TRANSMUTATION_TEXTURE); int xScale = 1; int yScale = 1; int zScale = 1; int chargeLevel; int itemChargeLevel = 0; - + if (event.currentItem.getItem() instanceof IChargeable) { - itemChargeLevel = ((IChargeable)event.currentItem.getItem()).getCharge(event.currentItem); + itemChargeLevel = ((IChargeable) event.currentItem.getItem()).getCharge(event.currentItem); } - + chargeLevel = 1 + itemChargeLevel * 2; if ((event.target.sideHit == 0) || (event.target.sideHit == 1)) { @@ -132,15 +132,15 @@ public class DrawBlockHighlightHandler { GL11.glEnable(GL12.GL_RESCALE_NORMAL); GL11.glEnable(GL11.GL_BLEND); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - GL11.glColor4f(1, 1, 1, transparency); + GL11.glColor4f(1, 1, 1, slide); tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(1, 1, 1, transparency); + tessellator.setColorRGBA_F(1, 1, 1, slide); - tessellator.addVertexWithUV(-0.5D, 0.5D, 0F, 0, pulse); - tessellator.addVertexWithUV(0.5D, 0.5D, 0F, 0, pulse); - tessellator.addVertexWithUV(0.5D, -0.5D, 0F, 1, pulse); - tessellator.addVertexWithUV(-0.5D, -0.5D, 0F, 1, pulse); + tessellator.addVertexWithUV(-0.5D, 0.5D, 0F, 0, 1); + tessellator.addVertexWithUV(0.5D, 0.5D, 0F, 1, 1); + tessellator.addVertexWithUV(0.5D, -0.5D, 0F, 1, 0); + tessellator.addVertexWithUV(-0.5D, -0.5D, 0F, 0, 0); tessellator.draw(); GL11.glDisable(GL11.GL_BLEND); diff --git a/ee3_common/ee3/common/core/handlers/RenderTickHandler.java b/ee3_client/ee3/client/core/handlers/RenderTickHandler.java similarity index 60% rename from ee3_common/ee3/common/core/handlers/RenderTickHandler.java rename to ee3_client/ee3/client/core/handlers/RenderTickHandler.java index ba1b1884..6baee069 100644 --- a/ee3_common/ee3/common/core/handlers/RenderTickHandler.java +++ b/ee3_client/ee3/client/core/handlers/RenderTickHandler.java @@ -1,4 +1,4 @@ -package ee3.common.core.handlers; +package ee3.client.core.handlers; import java.util.EnumSet; @@ -19,7 +19,6 @@ import net.minecraft.src.ScaledResolution; import cpw.mods.fml.client.FMLClientHandler; import cpw.mods.fml.common.ITickHandler; import cpw.mods.fml.common.TickType; -import ee3.client.core.handlers.DrawBlockHighlightHandler; import ee3.client.core.helper.RenderUtils; import ee3.common.core.helper.TransmutationHelper; import ee3.common.core.helper.VersionHelper; @@ -44,7 +43,7 @@ public class RenderTickHandler implements ITickHandler { if (type.contains(TickType.RENDER)) { if (player != null) { currentItemStack = player.inventory.getCurrentItem(); - + if ((currentItemStack != null) && (minecraft.inGameHasFocus) && (currentItemStack.getItem() instanceof ITransmutationStone) && (ConfigurationSettings.ENABLE_OVERLAY_WORLD_TRANSMUTATION)) { renderStoneHUD(minecraft, player, currentItemStack, (Float) tickData[0]); } @@ -66,39 +65,39 @@ public class RenderTickHandler implements ITickHandler { private static void renderStoneHUD(Minecraft minecraft, EntityPlayer player, ItemStack stack, float partialTicks) { - float overlayScale = 2F; // TODO config option + float overlayScale = 2F; // TODO config option float blockScale = overlayScale / 2; - float overlayOpacity = 1F; // TODO config option - + float overlayOpacity = 1F; // TODO config option + MovingObjectPosition rayTrace = minecraft.objectMouseOver; ItemStack currentBlock = null; - + if ((player.worldObj != null) && (rayTrace != null)) { currentBlock = TransmutationHelper.getNextBlock(player.worldObj.getBlockId(rayTrace.blockX, rayTrace.blockY, rayTrace.blockZ), player.worldObj.getBlockMetadata(rayTrace.blockX, rayTrace.blockY, rayTrace.blockZ), player.isSneaking()); } - + GL11.glPushMatrix(); - ScaledResolution sr = new ScaledResolution(minecraft.gameSettings, minecraft.displayWidth, minecraft.displayHeight); - GL11.glClear(256); - GL11.glMatrixMode(GL11.GL_PROJECTION); - GL11.glLoadIdentity(); - GL11.glOrtho(0.0D, sr.getScaledWidth_double(), sr.getScaledHeight_double(), 0.0D, 1000.0D, 3000.0D); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glLoadIdentity(); - GL11.glTranslatef(0.0F, 0.0F, -2000.0F); - - GL11.glPushMatrix(); - RenderHelper.enableGUIStandardItemLighting(); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - GL11.glEnable(GL11.GL_COLOR_MATERIAL); - GL11.glEnable(GL11.GL_LIGHTING); - RenderUtils.renderItemIntoGUI(minecraft.fontRenderer, minecraft.renderEngine, stack, (int) (sr.getScaledWidth() - (16 * overlayScale)), (int) (sr.getScaledHeight() - (16 * overlayScale)), overlayOpacity / 2, overlayScale); - if ((currentBlock != null) && (currentBlock.getItem() instanceof ItemBlock)) { - RenderUtils.renderRotatingBlockIntoGUI(minecraft.fontRenderer, minecraft.renderEngine, currentBlock, (int) (sr.getScaledWidth() - (16 * overlayScale) / 2 - 8), (int) (sr.getScaledHeight() - (16 * overlayScale) / 2 - 8), -90, blockScale); - } - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glPopMatrix(); + ScaledResolution sr = new ScaledResolution(minecraft.gameSettings, minecraft.displayWidth, minecraft.displayHeight); + GL11.glClear(256); + GL11.glMatrixMode(GL11.GL_PROJECTION); + GL11.glLoadIdentity(); + GL11.glOrtho(0.0D, sr.getScaledWidth_double(), sr.getScaledHeight_double(), 0.0D, 1000.0D, 3000.0D); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glLoadIdentity(); + GL11.glTranslatef(0.0F, 0.0F, -2000.0F); + + GL11.glPushMatrix(); + RenderHelper.enableGUIStandardItemLighting(); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + GL11.glEnable(GL11.GL_COLOR_MATERIAL); + GL11.glEnable(GL11.GL_LIGHTING); + RenderUtils.renderItemIntoGUI(minecraft.fontRenderer, minecraft.renderEngine, stack, (int) (sr.getScaledWidth() - (16 * overlayScale)), (int) (sr.getScaledHeight() - (16 * overlayScale)), overlayOpacity / 2, overlayScale); + if ((currentBlock != null) && (currentBlock.getItem() instanceof ItemBlock)) { + RenderUtils.renderRotatingBlockIntoGUI(minecraft.fontRenderer, minecraft.renderEngine, currentBlock, (int) (sr.getScaledWidth() - (16 * overlayScale) / 2 - 8), (int) (sr.getScaledHeight() - (16 * overlayScale) / 2 - 8), -90, blockScale); + } + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glPopMatrix(); GL11.glPopMatrix(); } diff --git a/ee3_client/ee3/client/gui/GuiCalcinator.java b/ee3_client/ee3/client/gui/GuiCalcinator.java index 8b3e2619..6132db65 100644 --- a/ee3_client/ee3/client/gui/GuiCalcinator.java +++ b/ee3_client/ee3/client/gui/GuiCalcinator.java @@ -6,7 +6,7 @@ import cpw.mods.fml.common.Side; import cpw.mods.fml.common.asm.SideOnly; import cpw.mods.fml.common.registry.LanguageRegistry; import ee3.common.container.ContainerCalcinator; -import ee3.common.lib.Reference; +import ee3.common.lib.Sprites; import ee3.common.lib.Strings; import ee3.common.tile.TileCalcinator; import net.minecraft.src.Container; @@ -42,7 +42,7 @@ public class GuiCalcinator extends GuiContainer { protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) { - int var4 = this.mc.renderEngine.getTexture(Reference.GUI_SHEET_LOCATION + "calcinator.png"); + int var4 = this.mc.renderEngine.getTexture(Sprites.GUI_SHEET_LOCATION + Sprites.CALCINATOR_MODEL_TEXTURE); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); this.mc.renderEngine.bindTexture(var4); int var5 = (this.width - this.xSize) / 2; diff --git a/ee3_client/ee3/client/render/ModelCalcinator.java b/ee3_client/ee3/client/render/ModelCalcinator.java index fb3c61a1..de21b265 100644 --- a/ee3_client/ee3/client/render/ModelCalcinator.java +++ b/ee3_client/ee3/client/render/ModelCalcinator.java @@ -2,7 +2,7 @@ package ee3.client.render; import org.lwjgl.opengl.GL11; -import ee3.common.lib.Reference; +import ee3.common.lib.Sprites; import ee3.common.tile.TileCalcinator; import net.minecraft.src.ModelBase; import net.minecraft.src.ModelRenderer; @@ -130,7 +130,7 @@ public class ModelCalcinator extends ModelBase { GL11.glDisable(GL11.GL_LIGHTING); GL11.glTranslated(x, y, z); - ForgeHooksClient.bindTexture(Reference.SPRITE_SHEET_LOCATION + Reference.CALCINATOR_TEXTURE_SHEET, 0); + ForgeHooksClient.bindTexture(Sprites.SPRITE_SHEET_LOCATION + Sprites.CALCINATOR_MODEL_TEXTURE, 0); firePotBottom.render(scale); bowlBottom.render(scale); diff --git a/ee3_client/ee3/client/render/RenderItemCalcinator.java b/ee3_client/ee3/client/render/RenderItemCalcinator.java index 3ede590f..8432d6a5 100644 --- a/ee3_client/ee3/client/render/RenderItemCalcinator.java +++ b/ee3_client/ee3/client/render/RenderItemCalcinator.java @@ -3,6 +3,7 @@ package ee3.client.render; import org.lwjgl.opengl.GL11; import ee3.common.lib.Reference; +import ee3.common.lib.Sprites; import net.minecraft.src.ItemStack; import net.minecraft.src.Tessellator; import net.minecraftforge.client.ForgeHooksClient; @@ -48,7 +49,7 @@ public class RenderItemCalcinator implements IItemRenderer { private void renderCalcinator(float x, float y, float z) { Tessellator tesselator = Tessellator.instance; - ForgeHooksClient.bindTexture(Reference.SPRITE_SHEET_LOCATION + "calcinator.png", 0); + ForgeHooksClient.bindTexture(Sprites.SPRITE_SHEET_LOCATION + Sprites.CALCINATOR_MODEL_TEXTURE, 0); GL11.glPushMatrix(); //start GL11.glTranslatef(x, y, z); //size calcinatorModel.render(0.0625F); diff --git a/ee3_client/ee3/client/render/TextureRedWaterFX.java b/ee3_client/ee3/client/render/TextureRedWaterFX.java index 98d4ade7..adee7bc9 100644 --- a/ee3_client/ee3/client/render/TextureRedWaterFX.java +++ b/ee3_client/ee3/client/render/TextureRedWaterFX.java @@ -6,7 +6,7 @@ import net.minecraft.src.RenderEngine; import net.minecraftforge.client.MinecraftForgeClient; import cpw.mods.fml.client.FMLTextureFX; import ee3.common.block.ModBlocks; -import ee3.common.lib.Reference; +import ee3.common.lib.Sprites; /** * TextureRedWaterFX @@ -42,7 +42,7 @@ public class TextureRedWaterFX extends FMLTextureFX { @Override public void bindImage(RenderEngine renderEngine) { - GL11.glBindTexture(GL11.GL_TEXTURE_2D, renderEngine.getTexture(Reference.SPRITE_SHEET_LOCATION + Reference.BLOCK_SPRITE_SHEET)); + GL11.glBindTexture(GL11.GL_TEXTURE_2D, renderEngine.getTexture(Sprites.SPRITE_SHEET_LOCATION + Sprites.BLOCK_SPRITE_SHEET)); } public void onTick() { diff --git a/ee3_client/ee3/client/render/TextureRedWaterFlowFX.java b/ee3_client/ee3/client/render/TextureRedWaterFlowFX.java index 5a70ad8e..f09b2971 100644 --- a/ee3_client/ee3/client/render/TextureRedWaterFlowFX.java +++ b/ee3_client/ee3/client/render/TextureRedWaterFlowFX.java @@ -6,7 +6,7 @@ import org.lwjgl.opengl.GL11; import cpw.mods.fml.client.FMLTextureFX; import ee3.common.block.ModBlocks; -import ee3.common.lib.Reference; +import ee3.common.lib.Sprites; /** * TextureRedWaterFlowFX @@ -43,7 +43,7 @@ public class TextureRedWaterFlowFX extends FMLTextureFX { @Override public void bindImage(RenderEngine renderEngine) { - GL11.glBindTexture(GL11.GL_TEXTURE_2D, renderEngine.getTexture(Reference.SPRITE_SHEET_LOCATION + Reference.BLOCK_SPRITE_SHEET)); + GL11.glBindTexture(GL11.GL_TEXTURE_2D, renderEngine.getTexture(Sprites.SPRITE_SHEET_LOCATION + Sprites.BLOCK_SPRITE_SHEET)); } public void onTick() { diff --git a/ee3_common/ee3/common/EquivalentExchange3.java b/ee3_common/ee3/common/EquivalentExchange3.java index 516e6ab4..51db7eb8 100644 --- a/ee3_common/ee3/common/EquivalentExchange3.java +++ b/ee3_common/ee3/common/EquivalentExchange3.java @@ -17,6 +17,7 @@ import cpw.mods.fml.common.network.NetworkMod; import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.TickRegistry; +import ee3.client.core.handlers.RenderTickHandler; import ee3.common.block.ModBlocks; import ee3.common.core.CommonProxy; import ee3.common.core.CreativeTabEE3; @@ -28,7 +29,6 @@ import ee3.common.core.handlers.ItemPickupHandler; import ee3.common.core.handlers.LocalizationHandler; import ee3.common.core.handlers.PacketHandler; import ee3.common.core.handlers.PlayerDestroyItemHandler; -import ee3.common.core.handlers.RenderTickHandler; import ee3.common.core.handlers.VersionCheckTickHandler; import ee3.common.core.helper.LogHelper; import ee3.common.core.helper.VersionHelper; diff --git a/ee3_common/ee3/common/block/BlockRedWaterFlowing.java b/ee3_common/ee3/common/block/BlockRedWaterFlowing.java index c4633a07..435704d4 100644 --- a/ee3_common/ee3/common/block/BlockRedWaterFlowing.java +++ b/ee3_common/ee3/common/block/BlockRedWaterFlowing.java @@ -2,6 +2,8 @@ package ee3.common.block; import ee3.common.EquivalentExchange3; import ee3.common.lib.Reference; +import ee3.common.lib.Sprites; +import ee3.common.lib.Strings; import net.minecraft.src.BlockFlowing; import net.minecraft.src.CreativeTabs; import net.minecraft.src.Material; @@ -22,12 +24,12 @@ public class BlockRedWaterFlowing extends BlockFlowing { this.blockHardness = 100F; this.setLightOpacity(3); this.setCreativeTab(EquivalentExchange3.tabsEE3); - this.setBlockName("redWaterFlowing"); + this.setBlockName(Strings.RED_WATER_FLOWING_NAME); } @Override public String getTextureFile() { - return Reference.SPRITE_SHEET_LOCATION + Reference.BLOCK_SPRITE_SHEET; + return Sprites.SPRITE_SHEET_LOCATION + Sprites.BLOCK_SPRITE_SHEET; } } diff --git a/ee3_common/ee3/common/block/BlockRedWaterStill.java b/ee3_common/ee3/common/block/BlockRedWaterStill.java index 8c8b89fe..e9081d22 100644 --- a/ee3_common/ee3/common/block/BlockRedWaterStill.java +++ b/ee3_common/ee3/common/block/BlockRedWaterStill.java @@ -1,7 +1,8 @@ package ee3.common.block; import ee3.common.EquivalentExchange3; -import ee3.common.lib.Reference; +import ee3.common.lib.Sprites; +import ee3.common.lib.Strings; import net.minecraft.src.BlockStationary; import net.minecraft.src.Material; @@ -20,7 +21,7 @@ public class BlockRedWaterStill extends BlockStationary { super(id, Material.water); this.blockHardness = 100F; this.setLightOpacity(3); - this.setBlockName("redWaterStill"); + this.setBlockName(Strings.RED_WATER_STILL_NAME); this.setCreativeTab(EquivalentExchange3.tabsEE3); this.disableStats(); this.setRequiresSelfNotify(); @@ -28,7 +29,7 @@ public class BlockRedWaterStill extends BlockStationary { @Override public String getTextureFile() { - return Reference.SPRITE_SHEET_LOCATION + Reference.BLOCK_SPRITE_SHEET; + return Sprites.SPRITE_SHEET_LOCATION + Sprites.BLOCK_SPRITE_SHEET; } } diff --git a/ee3_common/ee3/common/core/handlers/EquivalencyHandler.java b/ee3_common/ee3/common/core/handlers/EquivalencyHandler.java index cd02a3c6..c1f623c5 100644 --- a/ee3_common/ee3/common/core/handlers/EquivalencyHandler.java +++ b/ee3_common/ee3/common/core/handlers/EquivalencyHandler.java @@ -16,19 +16,22 @@ import net.minecraft.src.ItemStack; */ public class EquivalencyHandler { - private static final EquivalencyHandler instance = new EquivalencyHandler(); - + private static final EquivalencyHandler instance = new EquivalencyHandler(); + private static ArrayList> equivalencyList = new ArrayList>(); - + public static EquivalencyHandler instance() { - return instance; + + return instance; } - + public ArrayList> getAllLists() { - return equivalencyList; + + return equivalencyList; } public void addObjects(Object obj1, Object obj2) { + ItemStack stack1 = GeneralHelper.convertObjectToItemStack(obj1); ItemStack stack2 = GeneralHelper.convertObjectToItemStack(obj2); @@ -39,7 +42,7 @@ public class EquivalencyHandler { if ((stack1Index != null) && (stack2Index != null)) { return; - } + } else if ((stack1Index != null) && (stack2Index == null)) { currentList = equivalencyList.get(stack1Index.intValue()); currentList.add(stack2); @@ -58,6 +61,7 @@ public class EquivalencyHandler { } public void addObjects(Object... objList) { + if (objList.length < 2) return; @@ -67,6 +71,7 @@ public class EquivalencyHandler { } public Integer getIndexInList(Object obj) { + ItemStack checkStack = GeneralHelper.convertObjectToItemStack(obj); ArrayList currentList; int i = 0; @@ -83,25 +88,27 @@ public class EquivalencyHandler { return null; } - - public Integer getIndexinList(int id, int meta) { - ArrayList currentList; - int i = 0; - while (i < equivalencyList.size()) { - currentList = equivalencyList.get(i); - for (ItemStack currentStack : currentList) { - if ((id == currentStack.itemID) && (meta == currentStack.getItemDamage())) { - return new Integer(i); - } - } - ++i; - } + public Integer getIndexInList(int id, int meta) { - return null; + ArrayList currentList; + int i = 0; + + while (i < equivalencyList.size()) { + currentList = equivalencyList.get(i); + for (ItemStack currentStack : currentList) { + if ((id == currentStack.itemID) && (meta == currentStack.getItemDamage())) { + return new Integer(i); + } + } + ++i; + } + + return null; } public ArrayList getEquivalencyList(Object obj) { + ItemStack checkStack = GeneralHelper.convertObjectToItemStack(obj); if (checkStack == null) @@ -117,95 +124,106 @@ public class EquivalencyHandler { return null; } - + public ArrayList getEquivalencyList(int id, int meta) { - for (ArrayList list : equivalencyList) { - for (ItemStack currentStack : list) { - if ((id == currentStack.itemID) && (meta == currentStack.getItemDamage())) { - return list; - } - } - } - return null; + for (ArrayList list : equivalencyList) { + for (ItemStack currentStack : list) { + if ((id == currentStack.itemID) && (meta == currentStack.getItemDamage())) { + return list; + } + } + } + + return null; } - + public ItemStack getNextInList(Object obj) { - ItemStack checkStack = GeneralHelper.convertObjectToItemStack(obj); - if (checkStack != null) { - return getNextInList(checkStack.itemID, checkStack.getItemDamage()); - } - - return null; + ItemStack checkStack = GeneralHelper.convertObjectToItemStack(obj); + + if (checkStack != null) { + return getNextInList(checkStack.itemID, checkStack.getItemDamage()); + } + + return null; } - + public ItemStack getNextInList(int id, int meta) { - ArrayList list = getEquivalencyList(id, meta); - ItemStack currentStack; - ItemStack returnStack = null; - int i = 0; + ArrayList list = getEquivalencyList(id, meta); - if (list != null) { - if (list.size() == 1) { - return list.get(i); - } - - while (i < list.size()) { - currentStack = list.get(i); - - if ((id == currentStack.itemID) && (meta == currentStack.getItemDamage())) { - returnStack = list.get((i + 1) % list.size()); - break; - } - - ++i; - } - } + ItemStack currentStack; + ItemStack returnStack = null; + int i = 0; - return returnStack; - } - - public ItemStack getPrevInList(Object obj) { - ItemStack checkStack = GeneralHelper.convertObjectToItemStack(obj); - - if (checkStack != null) { - return getPrevInList(checkStack.itemID, checkStack.getItemDamage()); - } - - return null; - } - - public ItemStack getPrevInList(int id, int meta) { - ArrayList list = getEquivalencyList(id, meta); - - ItemStack currentStack; - ItemStack returnStack = null; - int i = 0; - - if (list != null) { - if (list.size() == 1) { + if (list != null) { + if (list.size() == 1) { return list.get(i); } - - while (i < list.size()) { - currentStack = list.get(i); - - if ((id == currentStack.itemID) && (meta == currentStack.getItemDamage())) { - int index = ((i - 1) + list.size()) % list.size(); - returnStack = list.get(index); - break; - } - - ++i; - } - } - return returnStack; + while (i < list.size()) { + currentStack = list.get(i); + + if ((id == currentStack.itemID) && (meta == currentStack.getItemDamage())) { + returnStack = list.get((i + 1) % list.size()); + break; + } + + ++i; + } + } + + return returnStack; + } + + public ItemStack getPrevInList(Object obj) { + + ItemStack checkStack = GeneralHelper.convertObjectToItemStack(obj); + + if (checkStack != null) { + return getPrevInList(checkStack.itemID, checkStack.getItemDamage()); + } + + return null; + } + + public ItemStack getPrevInList(int id, int meta) { + + ArrayList list = getEquivalencyList(id, meta); + + ItemStack currentStack; + ItemStack returnStack = null; + int i = 0; + + if (list != null) { + if (list.size() == 1) { + return list.get(i); + } + + while (i < list.size()) { + currentStack = list.get(i); + + if ((id == currentStack.itemID) && (meta == currentStack.getItemDamage())) { + int index = ((i - 1) + list.size()) % list.size(); + returnStack = list.get(index); + break; + } + + ++i; + } + } + + return returnStack; + } + + public boolean areEquivalent(Object obj1, Object obj2) { + + return (getEquivalencyList(obj1).equals(getEquivalencyList(obj2))); } public void debug() { + int i = 0; for (ArrayList list : equivalencyList) { System.out.println("equivalencyList[" + i + "]: " + list.toString()); diff --git a/ee3_common/ee3/common/core/helper/TransmutationHelper.java b/ee3_common/ee3/common/core/helper/TransmutationHelper.java index 1de1667e..348eb344 100644 --- a/ee3_common/ee3/common/core/helper/TransmutationHelper.java +++ b/ee3_common/ee3/common/core/helper/TransmutationHelper.java @@ -30,7 +30,7 @@ public class TransmutationHelper { int meta = world.getBlockMetadata(x, y, z); if ((world.getBlockMaterial(x, y, z) == Material.leaves) && (Block.blocksList[id] instanceof BlockLeaves)) { - meta = meta % 4; + meta = meta % 4; } ItemStack nextItem = getNextBlock(id, meta, player.isSneaking()); @@ -42,70 +42,75 @@ public class TransmutationHelper { return true; } } - + return false; } - + public static ItemStack getNextBlock(int id, int meta, boolean allowFalling) { + ArrayList list = EquivalencyHandler.instance().getEquivalencyList(id, meta); - + ItemStack nextStack = null; - + if (list != null) { return getNextBlock(id, meta, id, meta, allowFalling); } - + return nextStack; } - + private static ItemStack getNextBlock(int id, int meta, int origId, int origMeta, boolean allowFalling) { + ArrayList list = EquivalencyHandler.instance().getEquivalencyList(id, meta); - + ItemStack nextStack = null; - + if (list != null) { nextStack = EquivalencyHandler.instance().getNextInList(id, meta); /* - * If the current item is the same as the original one we started with, then we have - * recursed through the entire list and not found a next block so return the original. - * This is the "base case" for the recursion. + * If the current item is the same as the original one we started + * with, then we have recursed through the entire list and not found + * a next block so return the original. This is the "base case" for + * the recursion. */ if ((nextStack.itemID == origId) && (nextStack.getItemDamage() == origMeta)) { - return nextStack; + return nextStack; } else { - /* - * If we are allowing any block (including falling ones) just check to see if the - * next item is a block. If it is, return it. Otherwise continue the recursion. - */ - if (allowFalling) { - if (nextStack.getItem() instanceof ItemBlock) { - return nextStack; - } - else { - return getNextBlock(nextStack.itemID, nextStack.getItemDamage(), origId, origMeta, allowFalling); - } - } - /* - * Else we need to check to make sure the next item is both a block and not an - * instance of BlockSand (which all gravity affected blocks are a subclass of. - * If the next item is a block, and is not a subclass of BlockSand return it, - * otherwise, continue the recursion. - */ - else { - if ((nextStack.getItem() instanceof ItemBlock) && (!(Block.blocksList[nextStack.itemID] instanceof BlockSand))) { - return nextStack; - } - else { - return getNextBlock(nextStack.itemID, nextStack.getItemDamage(), origId, origMeta, allowFalling); - } - } + /* + * If we are allowing any block (including falling ones) just + * check to see if the next item is a block. If it is, return + * it. Otherwise continue the recursion. + */ + if (allowFalling) { + if (nextStack.getItem() instanceof ItemBlock) { + return nextStack; + } + else { + return getNextBlock(nextStack.itemID, nextStack.getItemDamage(), origId, origMeta, allowFalling); + } + } + /* + * Else we need to check to make sure the next item is both a + * block and not an instance of BlockSand (which all gravity + * affected blocks are a subclass of. If the next item is a + * block, and is not a subclass of BlockSand return it, + * otherwise, continue the recursion. + */ + else { + if ((nextStack.getItem() instanceof ItemBlock) && (!(Block.blocksList[nextStack.itemID] instanceof BlockSand))) { + return nextStack; + } + else { + return getNextBlock(nextStack.itemID, nextStack.getItemDamage(), origId, origMeta, allowFalling); + } + } } } - + // In the event the list is null, return null return nextStack; } - + } diff --git a/ee3_common/ee3/common/item/ItemEE.java b/ee3_common/ee3/common/item/ItemEE.java index a20ae239..c2040708 100644 --- a/ee3_common/ee3/common/item/ItemEE.java +++ b/ee3_common/ee3/common/item/ItemEE.java @@ -1,6 +1,7 @@ package ee3.common.item; import ee3.common.lib.Reference; +import ee3.common.lib.Sprites; import net.minecraft.src.Item; /** @@ -17,7 +18,7 @@ public class ItemEE extends Item { public ItemEE(int id) { super(id - Reference.SHIFTED_ID_RANGE_CORRECTION); maxStackSize = 1; - setTextureFile(Reference.SPRITE_SHEET_LOCATION + Reference.ITEM_SPRITE_SHEET); + setTextureFile(Sprites.SPRITE_SHEET_LOCATION + Sprites.ITEM_SPRITE_SHEET); setNoRepair(); } diff --git a/ee3_common/ee3/common/lib/Reference.java b/ee3_common/ee3/common/lib/Reference.java index a6e5c761..cab79fef 100644 --- a/ee3_common/ee3/common/lib/Reference.java +++ b/ee3_common/ee3/common/lib/Reference.java @@ -34,14 +34,6 @@ public class Reference { public static final String KEYBINDING_CHARGE = "key.charge"; public static final int KEYBINDING_CHARGE_DEFAULT = 47; - /* Texture related constants */ - public static final String SPRITE_SHEET_LOCATION = "/ee3/art/sprites/"; - public static final String ARMOR_SHEET_LOCATION = "/ee3/art/armor/"; - public static final String GUI_SHEET_LOCATION = "/ee3/art/gui/"; - public static final String ITEM_SPRITE_SHEET = "ee3_items.png"; - public static final String BLOCK_SPRITE_SHEET = "ee3_blocks.png"; - public static final String CALCINATOR_TEXTURE_SHEET = "calcinator.png"; - /* General Tile Entity related constants */ public static final String TE_GEN_OWNER_NBT_TAG_LABEL = "owner"; public static final String TE_GEN_STATE_NBT_TAG_LABEL = "state"; diff --git a/ee3_common/ee3/common/lib/Sprites.java b/ee3_common/ee3/common/lib/Sprites.java new file mode 100644 index 00000000..fe186c50 --- /dev/null +++ b/ee3_common/ee3/common/lib/Sprites.java @@ -0,0 +1,15 @@ +package ee3.common.lib; + + +public class Sprites { + + public static final String SPRITE_SHEET_LOCATION = "/ee3/art/sprites/"; + public static final String ARMOR_SHEET_LOCATION = "/ee3/art/armor/"; + public static final String GUI_SHEET_LOCATION = "/ee3/art/gui/"; + + public static final String ITEM_SPRITE_SHEET = "ee3_items.png"; + public static final String BLOCK_SPRITE_SHEET = "ee3_blocks.png"; + public static final String CALCINATOR_MODEL_TEXTURE = "calcinator.png"; + public static final String WORLD_TRANSMUTATION_TEXTURE = "noise.png"; + +} diff --git a/ee3_common/ee3/common/lib/Strings.java b/ee3_common/ee3/common/lib/Strings.java index 194ba426..dbca0c37 100644 --- a/ee3_common/ee3/common/lib/Strings.java +++ b/ee3_common/ee3/common/lib/Strings.java @@ -21,6 +21,7 @@ public class Strings { /* Block name constants */ public static final String CALCINATOR_NAME = "calcinator"; public static final String RED_WATER_STILL_NAME = "redWaterStill"; + public static final String RED_WATER_FLOWING_NAME = "redWaterFlowing"; /* Item name constants */ public static final String MINIUM_SHARD_NAME = "miniumShard"; diff --git a/resources/ee3/art/sprites/test-circle.png b/resources/ee3/art/sprites/test-circle.png new file mode 100644 index 0000000000000000000000000000000000000000..5005589e9938391d25f31ddf202bd666208ed761 GIT binary patch literal 19370 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 Date: Fri, 30 Nov 2012 15:40:48 -0500 Subject: [PATCH 12/46] Prepping for a true pulse effect --- .../client/core/handlers/DrawBlockHighlightHandler.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/ee3_client/ee3/client/core/handlers/DrawBlockHighlightHandler.java b/ee3_client/ee3/client/core/handlers/DrawBlockHighlightHandler.java index e0ce6d0b..4c15bcc3 100644 --- a/ee3_client/ee3/client/core/handlers/DrawBlockHighlightHandler.java +++ b/ee3_client/ee3/client/core/handlers/DrawBlockHighlightHandler.java @@ -123,8 +123,7 @@ public class DrawBlockHighlightHandler { public static void renderSlidingQuad(int texture, float transparency) { - float slide = (System.currentTimeMillis() % 3000) / 3000f; - double pulse = (double) 1 + slide; + float pulse = (System.currentTimeMillis() % 3000) / 3000f; GL11.glBindTexture(GL11.GL_TEXTURE_2D, texture); Tessellator tessellator = Tessellator.instance; @@ -132,10 +131,10 @@ public class DrawBlockHighlightHandler { GL11.glEnable(GL12.GL_RESCALE_NORMAL); GL11.glEnable(GL11.GL_BLEND); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - GL11.glColor4f(1, 1, 1, slide); + GL11.glColor4f(1, 1, 1, pulse); tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(1, 1, 1, slide); + tessellator.setColorRGBA_F(1, 1, 1, pulse); tessellator.addVertexWithUV(-0.5D, 0.5D, 0F, 0, 1); tessellator.addVertexWithUV(0.5D, 0.5D, 0F, 1, 1); From abae80d52d3184c2a886812638e75ca809526d42 Mon Sep 17 00:00:00 2001 From: pahimar Date: Fri, 30 Nov 2012 15:45:32 -0500 Subject: [PATCH 13/46] Formatting --- ee3_common/ee3/common/item/IChargeable.java | 2 +- .../ee3/common/item/ItemAlchemyDust.java | 90 +++++++++++-------- ee3_common/ee3/common/item/ItemEE.java | 1 + .../ee3/common/item/ItemInertStone.java | 13 +-- .../ee3/common/item/ItemMiniumStone.java | 4 +- .../ee3/common/item/ItemPhilosopherStone.java | 6 +- 6 files changed, 65 insertions(+), 51 deletions(-) diff --git a/ee3_common/ee3/common/item/IChargeable.java b/ee3_common/ee3/common/item/IChargeable.java index 58e9176c..11d111ce 100644 --- a/ee3_common/ee3/common/item/IChargeable.java +++ b/ee3_common/ee3/common/item/IChargeable.java @@ -5,7 +5,7 @@ import net.minecraft.src.ItemStack; public interface IChargeable { public abstract short getCharge(ItemStack stack); - + public abstract void setCharge(ItemStack stack, short charge); public abstract void increaseCharge(ItemStack stack); diff --git a/ee3_common/ee3/common/item/ItemAlchemyDust.java b/ee3_common/ee3/common/item/ItemAlchemyDust.java index 7aaa1bbe..8df1479b 100644 --- a/ee3_common/ee3/common/item/ItemAlchemyDust.java +++ b/ee3_common/ee3/common/item/ItemAlchemyDust.java @@ -26,60 +26,72 @@ import ee3.common.lib.Strings; */ public class ItemAlchemyDust extends ItemEE { - public static final String[] alchemyDustNames = new String[] {"ash", "minium", "verdant", "azure", "amaranthine", "iridescent"}; - - public ItemAlchemyDust(int id) { - super(id); - this.setHasSubtypes(true); + public static final String[] alchemyDustNames = new String[] { "ash", "minium", "verdant", "azure", "amaranthine", "iridescent" }; + + public ItemAlchemyDust(int id) { + + super(id); + this.setHasSubtypes(true); this.setMaxDamage(0); this.setIconCoord(0, 3); this.setItemName(Strings.ALCHEMY_DUST_NAME); this.setCreativeTab(EquivalentExchange3.tabsEE3); - maxStackSize = 64; - } - - @SideOnly(Side.CLIENT) + maxStackSize = 64; + } + + @SideOnly(Side.CLIENT) public int getIconFromDamage(int meta) { + int i = MathHelper.clamp_int(meta, 0, 11); return (this.iconIndex + i); } - - public String getItemNameIS(ItemStack stack) { + + public String getItemNameIS(ItemStack stack) { + int meta = MathHelper.clamp_int(stack.getItemDamage(), 0, 5); return super.getItemName() + "." + alchemyDustNames[meta]; } - - @SideOnly(Side.CLIENT) + + @SideOnly(Side.CLIENT) public boolean hasEffect(ItemStack stack) { - int meta = MathHelper.clamp_int(stack.getItemDamage(), 0, 5); - - if (meta == 5) { - return true; - } - else { - return false; - } + + int meta = MathHelper.clamp_int(stack.getItemDamage(), 0, 5); + + if (meta == 5) { + return true; + } + else { + return false; + } } - - @SideOnly(Side.CLIENT) + + @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack stack) { - int meta = MathHelper.clamp_int(stack.getItemDamage(), 0, 11); - - switch(meta) { - case 0: return EquivalentExchange3.proxy.getCustomRarityType(CustomItemRarity.NORMAL); - case 1: return EquivalentExchange3.proxy.getCustomRarityType(CustomItemRarity.NORMAL); - case 2: return EquivalentExchange3.proxy.getCustomRarityType(CustomItemRarity.UNCOMMON); - case 3: return EquivalentExchange3.proxy.getCustomRarityType(CustomItemRarity.MAGICAL); - case 4: return EquivalentExchange3.proxy.getCustomRarityType(CustomItemRarity.EPIC); - case 5: return EquivalentExchange3.proxy.getCustomRarityType(CustomItemRarity.LEGENDARY); - default: return EnumRarity.common; - } - + + int meta = MathHelper.clamp_int(stack.getItemDamage(), 0, 11); + + switch (meta) { + case 0: + return EquivalentExchange3.proxy.getCustomRarityType(CustomItemRarity.NORMAL); + case 1: + return EquivalentExchange3.proxy.getCustomRarityType(CustomItemRarity.NORMAL); + case 2: + return EquivalentExchange3.proxy.getCustomRarityType(CustomItemRarity.UNCOMMON); + case 3: + return EquivalentExchange3.proxy.getCustomRarityType(CustomItemRarity.MAGICAL); + case 4: + return EquivalentExchange3.proxy.getCustomRarityType(CustomItemRarity.EPIC); + case 5: + return EquivalentExchange3.proxy.getCustomRarityType(CustomItemRarity.LEGENDARY); + default: + return EnumRarity.common; + } + } - - @SideOnly(Side.CLIENT) - public void getSubItems(int id, CreativeTabs creativeTab, List list) - { + + @SideOnly(Side.CLIENT) + public void getSubItems(int id, CreativeTabs creativeTab, List list) { + for (int meta = 0; meta < 6; ++meta) { list.add(new ItemStack(id, 1, meta)); } diff --git a/ee3_common/ee3/common/item/ItemEE.java b/ee3_common/ee3/common/item/ItemEE.java index c2040708..f8b0a5cd 100644 --- a/ee3_common/ee3/common/item/ItemEE.java +++ b/ee3_common/ee3/common/item/ItemEE.java @@ -16,6 +16,7 @@ import net.minecraft.src.Item; public class ItemEE extends Item { public ItemEE(int id) { + super(id - Reference.SHIFTED_ID_RANGE_CORRECTION); maxStackSize = 1; setTextureFile(Sprites.SPRITE_SHEET_LOCATION + Sprites.ITEM_SPRITE_SHEET); diff --git a/ee3_common/ee3/common/item/ItemInertStone.java b/ee3_common/ee3/common/item/ItemInertStone.java index adea27bc..682cb2cc 100644 --- a/ee3_common/ee3/common/item/ItemInertStone.java +++ b/ee3_common/ee3/common/item/ItemInertStone.java @@ -14,11 +14,12 @@ import ee3.common.lib.Strings; */ public class ItemInertStone extends ItemEE { - public ItemInertStone(int id) { - super(id); - this.setIconCoord(1, 0); - this.setItemName(Strings.INERT_STONE_NAME); - this.setCreativeTab(EquivalentExchange3.tabsEE3); - } + public ItemInertStone(int id) { + + super(id); + this.setIconCoord(1, 0); + this.setItemName(Strings.INERT_STONE_NAME); + this.setCreativeTab(EquivalentExchange3.tabsEE3); + } } diff --git a/ee3_common/ee3/common/item/ItemMiniumStone.java b/ee3_common/ee3/common/item/ItemMiniumStone.java index f9d432ec..95749376 100644 --- a/ee3_common/ee3/common/item/ItemMiniumStone.java +++ b/ee3_common/ee3/common/item/ItemMiniumStone.java @@ -28,8 +28,8 @@ import ee3.common.network.PacketTypeHandler; * @license Lesser GNU Public License v3 (http://www.gnu.org/licenses/lgpl.html) * */ -public class ItemMiniumStone extends ItemEE implements ITransmutationStone, - IKeyBound { +public class ItemMiniumStone extends ItemEE + implements ITransmutationStone, IKeyBound { public ItemMiniumStone(int id) { diff --git a/ee3_common/ee3/common/item/ItemPhilosopherStone.java b/ee3_common/ee3/common/item/ItemPhilosopherStone.java index c0ada593..800a370c 100644 --- a/ee3_common/ee3/common/item/ItemPhilosopherStone.java +++ b/ee3_common/ee3/common/item/ItemPhilosopherStone.java @@ -28,8 +28,8 @@ import net.minecraft.src.World; * @license Lesser GNU Public License v3 (http://www.gnu.org/licenses/lgpl.html) * */ -public class ItemPhilosopherStone extends ItemEE implements - ITransmutationStone, IChargeable, IKeyBound { +public class ItemPhilosopherStone extends ItemEE + implements ITransmutationStone, IChargeable, IKeyBound { private int maxChargeLevel; @@ -124,7 +124,7 @@ public class ItemPhilosopherStone extends ItemEE implements thePlayer.worldObj.playSoundAtEntity(thePlayer, Sounds.CHARGE_DOWN, 0.5F, 1.0F - (0.5F - (0.5F * (getCharge(itemStack) * 1.0F / maxChargeLevel)))); } } - + } } From f0cc3df80e1e7d88b0162ea4313107a988e227fc Mon Sep 17 00:00:00 2001 From: Wliu Date: Fri, 30 Nov 2012 16:49:58 -0500 Subject: [PATCH 14/46] Revert "Fix derps" This reverts commit 627282a52f0caf0e2e3d1baea5af00a7be59a4a6. --- build.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/build.xml b/build.xml index 3123821f..6fec9fb8 100644 --- a/build.xml +++ b/build.xml @@ -133,25 +133,25 @@ - + - + - + - + - + - + From 9cfa4356517dcfa9e8b263ef67bf4b1430210542 Mon Sep 17 00:00:00 2001 From: Wliu Date: Fri, 30 Nov 2012 16:50:03 -0500 Subject: [PATCH 15/46] Revert "Update mcp.version" This reverts commit e718df4b305455006e57dfadc2e2699807842a0e. --- build.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.xml b/build.xml index 6fec9fb8..c3b9401b 100644 --- a/build.xml +++ b/build.xml @@ -9,7 +9,7 @@ - + From 034d48ffafa07610e091033799d892c57aef4513 Mon Sep 17 00:00:00 2001 From: Wliu Date: Fri, 30 Nov 2012 16:50:08 -0500 Subject: [PATCH 16/46] Revert "Fix build.xml" This reverts commit 610adb7e2700b33944dec097ad8726e5608cab06. --- build.xml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/build.xml b/build.xml index c3b9401b..a8e70653 100644 --- a/build.xml +++ b/build.xml @@ -2,11 +2,11 @@ - + - + - + @@ -116,7 +116,6 @@ - @@ -176,7 +175,6 @@ - - + \ No newline at end of file From 2535fc9200031c057534de169bcbf232253bc5a5 Mon Sep 17 00:00:00 2001 From: Wliu Date: Fri, 30 Nov 2012 16:50:11 -0500 Subject: [PATCH 17/46] Revert "Update build.xml" This reverts commit 50a50073c4f019ef6626e5532a3f574648061d4c. --- build.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/build.xml b/build.xml index a8e70653..fca94abb 100644 --- a/build.xml +++ b/build.xml @@ -98,6 +98,11 @@ + + + + + From d567439ce9591cd05be90d73b8c51600f0b0ec01 Mon Sep 17 00:00:00 2001 From: Wliu Date: Fri, 30 Nov 2012 16:50:14 -0500 Subject: [PATCH 18/46] Revert "Update build.xml" This reverts commit ef51bcb12581c75c5cb9bb593bc182db5709fd44. --- build.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.xml b/build.xml index fca94abb..19de2fe8 100644 --- a/build.xml +++ b/build.xml @@ -4,7 +4,7 @@ - Date: Fri, 30 Nov 2012 16:50:17 -0500 Subject: [PATCH 19/46] Revert "Update build.xml" This reverts commit ec961a79fc3b226ecf3751e87b9b60118c13f1e4. --- build.xml | 175 +++++++++++------------------------------------------- 1 file changed, 36 insertions(+), 139 deletions(-) diff --git a/build.xml b/build.xml index 19de2fe8..97c6e84c 100644 --- a/build.xml +++ b/build.xml @@ -1,139 +1,20 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - + + + - + @@ -160,26 +41,42 @@ - + - - - - + - - - - - + + + + + - + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 40e28c73e92c02d5545e018e2796417079415098 Mon Sep 17 00:00:00 2001 From: Wliu Date: Fri, 30 Nov 2012 16:55:30 -0500 Subject: [PATCH 20/46] Update README.md Updated README.md. --- README.md | 55 ++++++++++++++++++++++++++----------------------------- 1 file changed, 26 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index 40360de2..36f7b004 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,13 @@ ## Welcome to Equivalent Exchange 3! -Setup MCP was done mostly by Minalien, I just changed it a bit. Some credit goes to BuildCraft's README.md, which I based this README off of. +Setup MCP was done mostly by the people who update the wiki, I just changed it a bit. Some credit goes to BuildCraft's README.md, which I based this README off of. The Minecraft Forums page can be found [here] (http://www.minecraftforum.net/topic/1540010-equivalent-exchange-3). ### Compiling Equivalent Exchange 3 -IMPORTANT: This is not guaranteed to work as it has not been tested extensively (only done on Linux so far, partly on Windows). +IMPORTANT: This is not guaranteed to work as it has not been tested extensively (Linux and Windows tested). ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ #### Prerequisites (Tested for Windows 7 ONLY!) -1. Download and install the Java JDK [here](http://www.oracle.com/technetwork/java/javase/downloads/jdk7u9-downloads-1859576.html). Just scroll down. +1. Download and install the Java JDK [here](http://www.oracle.com/technetwork/java/javase/downloads/index.html). Click the one that says `Java Platform (JDK) #u#`, and follow instructions. * Go to `Control Panel\System and Security\System`, and click on `Advanced System Settings` on the left-hand side. * Click on `Environment Variables`. * Under `System Variables`, click `New`. @@ -15,7 +15,7 @@ ________________________________________________________________________________ * For `Variable Value`, input something similar to `;C:\Program Files (x86)\Java\jdk1.7.0_09` exactly as shown to the end.(or wherever your Java JDK installation is), and click `Ok`. * Scroll down to a variable named `Path`, and double-click on it. * Append `;C:\Program Files (x86)\Java\jdk1.7.0_09\bin` (or wherever your Java JDK installation is \bin), and click `Ok`. -2. Download and Apache Ant [here] (http://ant.apache.org). +2. Download Apache Ant [here] (http://ant.apache.org). * Unzip the files anywhere you want, eg `C:\Program Files (x86)\Ant`. * Again, go to `Environment Variables` just like you did for the Java JDK. * Under `System Variables`, click `New`. @@ -25,35 +25,32 @@ ________________________________________________________________________________ * Append `;C:\Ant\apache-ant-1.8.4\bin` exactly as shown to the end (or your Ant directory \apache-ant-1.8.4\bin). 3. Download and install Github [here] (http://windows.github.com/). * Create an account. - * Go back to the Equivalent-Exchange-3 directory [here] (http://github.com/pahimar/Equivalent-Exchange-3). - * Click `Clone to Windows` near the top-left of the page. + * Scroll to the top of this page, login at the top-right, and then click `Clone to Windows` near the top-left of the page.. * You should see Github flash and `pahimar/Equivalent-Exchange-3` appear. (The local repository defaults to `C:\Users\(username)\Documents\GitHub\Equivalent-Exchange-3`, you can change it if you want but then you have to find it again on Github). 4. Create an empty directory for EE3 development. This directory is refernced as `mcdev` from now on. It can be where you cloned EE3, but it'll be a little messy. -5. You are now ready to Setup MCP! +5. You are now ready to setup MCP! #### Setup MCP (Linux and Windows 7 tested) -1. Download the latest version of MCP from [here] (http://mcp.ocean-labs.de/index.php/MCP_Releases) , e.g. mcp723.zip. Install MCP dependencies as listed on the website if neccessary. +1. Download the latest version of MCP from [here] (http://mcp.ocean-labs.de/index.php/MCP_Releases), e.g. mcp723.zip. Install MCP dependencies as listed on the website if neccessary. 2. Inside `mcdev`, create a directory named `mcp` and unzip the MCP .zip file into it. + * To verify, check if a file name `CHANGELOG` exists inside `mcp`. +3. Get an unmodded copy of minecraft's `bin` folder. Currently EE3 runs on 1.4.5 but that might have changed. -3. To verify, check if a file name `CHANGELOG` exists inside the `mcp` directory. +4. From your `.minecraft` directory (on Windows, defaults to `%appdata%\.minecraft`), copy the `bin` and the `resources` (not sure if necessary) directory to the `jars` directory inside `mcp`. (Forge might do this for you, not confirmed.) -4. Get a clean (unmodded!) copy of minecraft's `bin` folder. Currently EE3 runs on 1.4.5 but that might have changed. +5. Get an unmodded copy of `minecraft_server.jar` and also place it into `jars`. (Forge might do this for you) -5. From your `.minecraft` directory (on Windows, defaults to `%appdata%\.minecraft`), copy the `bin` and the `resources` (I don't think you need resources on Windows 7) directory to the `jars` directory inside `mcp`. (I actually believe Forge's installation might do it for you) +6. Download the latest forge **source** for Minecraft 1.4.5 and unzip it into `mcp` so that `mcp\forge\install.sh` exists. You need at least Forge 6.4.0, best way is to get it from [here] (http://files.minecraftforge.net/). -6. Get a clean (unmodded!) copy of `minecraft_server.jar` and also place it into `jars`. (Forge might do this for you) +7. Execute `install.sh` (Linux and Mac) or `install.cmd` (Windows), both found in `mcdev\mcp\forge`. On Linux you might have to `chmod +x` `install.sh` before you can execute it. On some system configurations you need to execute `install.sh` from within the `forge` directory whereas on others it doesn't matter. Just check the output for error messages to find out what you need to do. -7. Download the latest forge **source** for Minecraft 1.4.5 and unzip it into `mcp` so that `mcp/forge/install.sh` exists. You need at least Forge 6.4.0, best way is to get it from [here] (http://files.minecraftforge.net/). +#### Setup EE3 (Some tested for Linux, tested fully for Windows) +1. Inside `mcdev`, create a directory named `source`. -8. Execute `install.sh` (Linux and Mac?) or `install.cmd` (Windows), both found in `mcdev/mcp/forge`. On Linux you might have to `chmod +x` `install.sh` before you can execute it. On some system configurations you need to execute `install.sh` from within the `forge` directory whereas on others it doesn't matter. Just check the output for error messages to find out what you need to do. - -#### Setup EE3 (Some tested for Linux, some for Windows) -1. Inside `mcdev`, create a directory named `source`. If you're doing this from the default clone directory, make two folders: `source` and `Equivalent-Exchange-3`. Copy and paste the original files into `Equivalent-Exchange-3`, and then move that into `source`. - -2. If you haven't already, move/clone `Equivalent-Exchange-3` into `source`. +2. Move/clone `Equivalent-Exchange-3` into `source`. 3. Right now, you should have a directory that looks something like: @@ -61,31 +58,31 @@ ________________________________________________________________________________ mcdev \-mcp - \-mcp stuff blablabla (should have CHANGELOG). + \-complicated mcp stuff (should have CHANGELOG). \-forge \-jars \-source \-Equivalent-Exchange-3 - \-EE3's files, including build.xml. + \-EE3's files, (should have build.xml). *** 4. Inside `Equivalent-Exchange-3`, create a new file called `build.properties`. * Open it up, and type into it the following: * `dir.development=../../` - * `dir.share=Shared` (or what you want it to be) + * `dir.share=Shared` (or what you want it to be-optional) * `dir.release=Releases` (what you want it to be) - * `release.minecraft.version=1.4.5` (as of 11/21) + * `release.minecraft.version=1.4.5` (as of 11/30) * `release.mod.version=pre2` (or whatever version # want it to be) 5. [FOR WINDOWS] Open up `cmd` by typing `cmd` in Run. -6. [FOR WINDOWS] Navigate to `mcdev\source` by executing `cd mcdev's location\source`. - -7. Inside `sources\Equivalent-Exchange-3` execute `ant release`. If you've done everything right, `BUILD SUCCESSFUL` is displayed. If not, you probably did something wrong. - -8. Go to `mcdev\source\Equivalent-Exchange-3\Releases\1.4.5\pre2` (or whatever you put into `build.properties` for `dir.release`, `release.minecraft.version`, and `release.mod.version`). You should see a .jar named `ee3-universal-pre2.jar` (or whatever you put into `release.mod.version`). +6. [FOR WINDOWS] Navigate to `mcdev\source\Equivalent-Exchange-3` by executing `cd mcdev's location\source\Equivalent-Exchange-3`. +7. Execute `ant release`. This will generally take around 5-15 minutes, depending on your computer. If you've done everything right, `BUILD SUCCESSFUL` is displayed after it finishes. + * If you see `BUILD FAILED`, check the error output (it should be right around `BUILD FAILED`), fix everything, and try again. +8. Go to `mcdev\source\Equivalent-Exchange-3\Releases\1.4.5\pre2` (This might be different according to what you put in build.properties). + * You should see a .jar named `ee3-universal-pre2.jar` (Again, might be different). 9. Copy the jar into your Minecraft mods folder, and play Minecraft! -### To Update EE3 (For Windows Only?) +### To Update EE3 (For Windows/Mac?) 1. Check to see if pahimar updated EE3 since you last compiled. If he/she did, follow these instructions. 2. Open Github. From bc1740ebee280b93fdb707a49264e0169ec6506b Mon Sep 17 00:00:00 2001 From: pahimar Date: Fri, 30 Nov 2012 22:45:54 -0500 Subject: [PATCH 21/46] 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 From 6a977a7e32162fa89625cbde851492988cb0d95e Mon Sep 17 00:00:00 2001 From: Wliu Date: Sat, 1 Dec 2012 09:52:22 -0500 Subject: [PATCH 22/46] Update README.md Removed a comma. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 36f7b004..0e5008f1 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,7 @@ ________________________________________________________________________________ \-jars \-source \-Equivalent-Exchange-3 - \-EE3's files, (should have build.xml). + \-EE3's files (should have build.xml). *** 4. Inside `Equivalent-Exchange-3`, create a new file called `build.properties`. * Open it up, and type into it the following: From 88600bc9d966c2f9c8aaee85cf4e3e0bf3119eee Mon Sep 17 00:00:00 2001 From: Lure Date: Sat, 1 Dec 2012 19:38:38 -0200 Subject: [PATCH 23/46] Localization Update Update for Portuguese(pt_BR) localization --- resources/ee3/lang/en_US.xml | 92 ++++++++++++++++++------------------ resources/ee3/lang/pt_BR.xml | 16 +++++++ 2 files changed, 62 insertions(+), 46 deletions(-) diff --git a/resources/ee3/lang/en_US.xml b/resources/ee3/lang/en_US.xml index 0f91b2bf..ff312ef7 100644 --- a/resources/ee3/lang/en_US.xml +++ b/resources/ee3/lang/en_US.xml @@ -1,46 +1,46 @@ - - - - English (US) Localization File - Extra - Release - Toggle - Charge - Shard of Minium - Inert Stone - Minium Stone - Philosopher's Stone - Ash - Minium Dust - Verdant Dust - 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 - Calcinator - Equivalent Exchange 3 - Initializing remote version check against remote version authority, located at - Remote version check failed to initialize properly - Currently using the most up to date version (@REMOTE_MOD_VERSION@) of Equivalent Exchange 3 for @MINECRAFT_VERSION@ - A new @MOD_NAME@ version exists (@REMOTE_MOD_VERSION@) for @MINECRAFT_VERSION@. Get it here: @MOD_UPDATE_LOCATION@ - Error checking the remote version authority file - Remote version check disabled, skipping - + + + + English (US) Localization File + Extra + Release + Toggle + Charge + Shard of Minium + Inert Stone + Minium Stone + Philosopher's Stone + Ash + Minium Dust + Verdant Dust + 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 + Calcinator + Equivalent Exchange 3 + Initializing remote version check against remote version authority, located at + Remote version check failed to initialize properly + Currently using the most up to date version (@REMOTE_MOD_VERSION@) of Equivalent Exchange 3 for @MINECRAFT_VERSION@ + A new @MOD_NAME@ version exists (@REMOTE_MOD_VERSION@) for @MINECRAFT_VERSION@. Get it here: @MOD_UPDATE_LOCATION@ + Error checking the remote version authority file + Remote version check disabled, skipping + \ No newline at end of file diff --git a/resources/ee3/lang/pt_BR.xml b/resources/ee3/lang/pt_BR.xml index 7e415f73..e6f0c436 100644 --- a/resources/ee3/lang/pt_BR.xml +++ b/resources/ee3/lang/pt_BR.xml @@ -16,6 +16,22 @@ Pó Índigo Pó Amarantino Pó Iridescente + Bolsa Alquímica Branca + Bolsa Alquímica Laranja + Bolsa Alquímica Magenta + Bolsa Alquímica Azul-Claro + Bolsa Alquímica Amarela + Bolsa Alquímica Lima + Bolsa Alquímica Rosa + Bolsa Alquímica Cinza + Bolsa Alquímica Cinza-Claro + Bolsa Alquímica Ciano + Bolsa Alquímica Roxa + Bolsa Alquímica Azul + Bolsa Alquímica Marrom + Bolsa Alquímica Verde + Bolsa Alquímica Vermelha + Bolsa Alquímica Negra Água Vermelha (Parada) Água Vermelha (Corrente) Calcinador From 59cc8f0a49936a42924bad97fd9b22c224595e3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CE=9BAZ27?= Date: Sun, 2 Dec 2012 14:08:32 +0600 Subject: [PATCH 24/46] JAFU Also, @MOD_NAME@ for the @MOD_NAME@ god! --- resources/ee3/lang/ru_RU.xml | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/resources/ee3/lang/ru_RU.xml b/resources/ee3/lang/ru_RU.xml index 86aec312..8dfae026 100644 --- a/resources/ee3/lang/ru_RU.xml +++ b/resources/ee3/lang/ru_RU.xml @@ -11,20 +11,36 @@ Сурик Философский Камень Пепел - Пыль Сурика + Толченый Сурик Изумрудная Пыль Лазурная Пыль Пурпурная Пыль Радужная Пыль + Белая Алхимическая Сумка + Оранжевая Alchemical Bag + Пурпурная Алхимическая Сумка + Светло-Синяя Алхимическая Сумка + Желтая Алхимическая Сумка + Лаймовая Алхимическая Сумка + Розовая Алхимическая Сумка + Серая Алхимическая Сумка + Светло-Серая Алхимическая Сумка + Голубая Алхимическая Сумка + Фиолетовая Алхимическая Сумка + Синяя Алхимическая Сумка + Коричневая Алхимическая Сумка + Зеленая Алхимическая Сумка + Красная Алхимическая Сумка + Черная Алхимическая Сумка Красная Вода (Стоящая) Красная Вода (Текущая) Кальцинатор Кальцинатор Equivalent Exchange 3 Инициализация проверки версии в удаленном файле, находящемся на - Проверка версии не была завершена успешно (проверка версии не инициализирована правильно) - Вы используете самую последнюю версию для вашей версии Minecraft - Вы используете устаревшую версию, обновите здесь - @MOD_UPDATE_LOCATION@ - Ошибка подключения к удаленному файлу (проверьте подключение к Интернету) + Проверка версии не инициализирована правильно + Вы используете последнюю версию @MOD_NAME@ (@REMOTE_MOD_VERSION@) для @MINECRAFT_VERSION@ + Новая версия @MOD_NAME@ (@REMOTE_MOD_VERSION@) для @MINECRAFT_VERSION@. Скачайте здесь: @MOD_UPDATE_LOCATION@ + Ошибка проверки версии Удаленная проверка версии отключена, пропуск From febe1514a7c9a9294eee302ab600f6ea8143dde1 Mon Sep 17 00:00:00 2001 From: YoWazzup Date: Sun, 2 Dec 2012 12:24:20 +0100 Subject: [PATCH 25/46] Added Alchemical Bags! --- resources/ee3/lang/nl_NL.xml | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/resources/ee3/lang/nl_NL.xml b/resources/ee3/lang/nl_NL.xml index cc331bf2..1cacf575 100644 --- a/resources/ee3/lang/nl_NL.xml +++ b/resources/ee3/lang/nl_NL.xml @@ -1,4 +1,4 @@ - + Dutch (NL) Localization File @@ -16,6 +16,22 @@ Azuurblauw Stof Amarant Stof Iriserend Stof + Witte Alchemistische Zak + Oranje Alchemistische Zak + Magenta Alchemistische Zak + Licht Blauwe Alchemistische Zak + Gele Alchemistische Zak + Lime Alchemistische Zak + Roze Alchemistische Zak + Grijze Alchemistische Zak + Licht Grijze Alchemistische Zak + Cyaan Alchemistische Zak + Paarse Alchemistische Zak + Blauwe Alchemistische Zak + Bruine Alchemistische Zak + Groene Alchemistische Zak + Rode Alchemistische Zak + Zwarte Alchemistische Zak Stilstaand Rood Water Vloeiend Rood Water Calcinator @@ -27,4 +43,4 @@ Een nieuwe @MOD_NAME@ versie bestaat (@REMOTE_MOD_VERSION@) voor @MINECRAFT_VERSION@. Je vindt deze hier: @MOD_UPDATE_LOCATION@ Er deed zich een fout voor tijdens de versiecontrole Externe versiecontrole uitgeschakeld, wordt overgeslagen - + \ No newline at end of file From 0aca53fef5240d63b8d1cdec01eebf987877ac1f Mon Sep 17 00:00:00 2001 From: Wliu Date: Sun, 2 Dec 2012 14:35:46 -0500 Subject: [PATCH 26/46] Update README.md Added a nice descriptive warning, reverted back my previous Java JDK link change (felt like it required more work). --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 0e5008f1..3dab200c 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,8 @@ The Minecraft Forums page can be found [here] (http://www.minecraftforum.net/top IMPORTANT: This is not guaranteed to work as it has not been tested extensively (Linux and Windows tested). ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ #### Prerequisites (Tested for Windows 7 ONLY!) -1. Download and install the Java JDK [here](http://www.oracle.com/technetwork/java/javase/downloads/index.html). Click the one that says `Java Platform (JDK) #u#`, and follow instructions. +0. WARNING: Make sure you know EXACTLY what you're doing! It's not any of our faults if your OS crashes, becomes corrupted, etc. +1. Download and install the Java JDK [here](http://www.oracle.com/technetwork/java/javase/downloads/jdk7u9-downloads-1859576.html). Scroll down, accept the Oracle Binary Code License Agreement for Java SE, and download the one pertaining to your OS. * Go to `Control Panel\System and Security\System`, and click on `Advanced System Settings` on the left-hand side. * Click on `Environment Variables`. * Under `System Variables`, click `New`. From 27538a9604daec68c16013724410af9f92a6c6d8 Mon Sep 17 00:00:00 2001 From: Wliu Date: Sun, 2 Dec 2012 14:36:42 -0500 Subject: [PATCH 27/46] Update README.md Changed release.mod.version to pre1d. --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 3dab200c..8725ee94 100644 --- a/README.md +++ b/README.md @@ -72,15 +72,15 @@ ________________________________________________________________________________ * `dir.share=Shared` (or what you want it to be-optional) * `dir.release=Releases` (what you want it to be) * `release.minecraft.version=1.4.5` (as of 11/30) - * `release.mod.version=pre2` (or whatever version # want it to be) + * `release.mod.version=pre1d` (or whatever version # want it to be) 5. [FOR WINDOWS] Open up `cmd` by typing `cmd` in Run. 6. [FOR WINDOWS] Navigate to `mcdev\source\Equivalent-Exchange-3` by executing `cd mcdev's location\source\Equivalent-Exchange-3`. 7. Execute `ant release`. This will generally take around 5-15 minutes, depending on your computer. If you've done everything right, `BUILD SUCCESSFUL` is displayed after it finishes. * If you see `BUILD FAILED`, check the error output (it should be right around `BUILD FAILED`), fix everything, and try again. -8. Go to `mcdev\source\Equivalent-Exchange-3\Releases\1.4.5\pre2` (This might be different according to what you put in build.properties). - * You should see a .jar named `ee3-universal-pre2.jar` (Again, might be different). +8. Go to `mcdev\source\Equivalent-Exchange-3\Releases\1.4.5\pre1d` (This might be different according to what you put in build.properties). + * You should see a .jar named `ee3-universal-pre1d.jar` (Again, might be different). 9. Copy the jar into your Minecraft mods folder, and play Minecraft! ### To Update EE3 (For Windows/Mac?) From 76ab40448ce7b10ba79553a50547d71751a15fc4 Mon Sep 17 00:00:00 2001 From: Wliu Date: Sun, 2 Dec 2012 14:38:37 -0500 Subject: [PATCH 28/46] Update README.md Github supports Windows AND Mac 10.7+, so added the Mac download link. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8725ee94..f728bcd7 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ ________________________________________________________________________________ * For `Variable Value`, input `C:\Ant\apache-ant-1.8.4` (or your Ant directory \apache-ant-1.8.4). * Scroll down to `Path`, and double-click on it. * Append `;C:\Ant\apache-ant-1.8.4\bin` exactly as shown to the end (or your Ant directory \apache-ant-1.8.4\bin). -3. Download and install Github [here] (http://windows.github.com/). +3. Download and install Github [here] (http://windows.github.com/) (Windows) or [here] (http://mac.github.com/) (Mac OS X 10.7+). * Create an account. * Scroll to the top of this page, login at the top-right, and then click `Clone to Windows` near the top-left of the page.. * You should see Github flash and `pahimar/Equivalent-Exchange-3` appear. (The local repository defaults to `C:\Users\(username)\Documents\GitHub\Equivalent-Exchange-3`, you can change it if you want but then you have to find it again on Github). From c15099f31f00fe2ebe7041ece86644f5139afd29 Mon Sep 17 00:00:00 2001 From: Wliu Date: Sun, 2 Dec 2012 15:24:48 -0500 Subject: [PATCH 29/46] Update README.md Added an unsure Linux tip... --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f728bcd7..57e9ebd9 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ ________________________________________________________________________________ * For `Variable Value`, input `C:\Ant\apache-ant-1.8.4` (or your Ant directory \apache-ant-1.8.4). * Scroll down to `Path`, and double-click on it. * Append `;C:\Ant\apache-ant-1.8.4\bin` exactly as shown to the end (or your Ant directory \apache-ant-1.8.4\bin). -3. Download and install Github [here] (http://windows.github.com/) (Windows) or [here] (http://mac.github.com/) (Mac OS X 10.7+). +3. Download and install Github [here] (http://windows.github.com/) (Windows) or [here] (http://mac.github.com/) (Mac OS X 10.7+). For Linux, I *guess* you could download it as a .zip/tarball and unzip it? * Create an account. * Scroll to the top of this page, login at the top-right, and then click `Clone to Windows` near the top-left of the page.. * You should see Github flash and `pahimar/Equivalent-Exchange-3` appear. (The local repository defaults to `C:\Users\(username)\Documents\GitHub\Equivalent-Exchange-3`, you can change it if you want but then you have to find it again on Github). From 29989987f6f9b7923a15a46534f80c651d0d5b0c Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 2 Dec 2012 17:10:08 -0500 Subject: [PATCH 30/46] Updated Chinese localization file Added in the various multicolored alchemy bags. --- resources/ee3/lang/zh_CN.xml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/resources/ee3/lang/zh_CN.xml b/resources/ee3/lang/zh_CN.xml index 88925d91..6003c7db 100644 --- a/resources/ee3/lang/zh_CN.xml +++ b/resources/ee3/lang/zh_CN.xml @@ -20,6 +20,22 @@ 蔚蓝灰 苋属灰 虹彩灰 + 白色魔力包 + 橙色魔力包 + 品红色魔力包 + 淡蓝色魔力包 + 黄色魔力包 + 黄绿色魔力包 + 粉红色魔力包 + 灰色魔力包 + 淡灰色魔力包 + 青色魔力包 + 紫色魔力包 + 蓝色魔力包 + 棕色魔力包 + 绿色魔力包 + 红色魔力包 + 黑色魔力包 Equivalent Exchange 3 Initializing version check against the remote version authority file, located at The version check did not complete successfully (version check did not initialize properly) From f581ed58808212e0c9b21e0edc7cccad4c4e25b7 Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 2 Dec 2012 17:25:10 -0500 Subject: [PATCH 31/46] Updated traditional Chinese translation Same thing as the simplified update, except traditional. --- resources/ee3/lang/zh_TW.xml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/resources/ee3/lang/zh_TW.xml b/resources/ee3/lang/zh_TW.xml index e2a18c46..9b49292e 100644 --- a/resources/ee3/lang/zh_TW.xml +++ b/resources/ee3/lang/zh_TW.xml @@ -20,6 +20,22 @@ 蔚藍灰 莧屬灰 虹彩灰 + 白色魔力包 + 橙色魔力包 + 品紅色魔力包 + 淡藍色魔力包 + 黄色魔力包 + 黃綠色魔力包 + 粉紅色魔力包 + 灰色魔力包 + 淡灰色魔力包 + 青色魔力包 + 紫色魔力包 + 藍色魔力包 + 棕色魔力包 + 綠色魔力包 + 紅色魔力包 + 黑色魔力包 Equivalent Exchange 3 Initializing version check against the remote version authority file, located at The version check did not complete successfully (version check did not initialize properly) From d4f37bdc56d280f8525d3fdf17b2cefd04d2a985 Mon Sep 17 00:00:00 2001 From: Lure Date: Sun, 2 Dec 2012 20:37:23 -0200 Subject: [PATCH 32/46] Revert "Localization Update" This reverts commit 88600bc9d966c2f9c8aaee85cf4e3e0bf3119eee. --- resources/ee3/lang/en_US.xml | 92 ++++++++++++++++++------------------ resources/ee3/lang/pt_BR.xml | 16 ------- 2 files changed, 46 insertions(+), 62 deletions(-) diff --git a/resources/ee3/lang/en_US.xml b/resources/ee3/lang/en_US.xml index ff312ef7..0f91b2bf 100644 --- a/resources/ee3/lang/en_US.xml +++ b/resources/ee3/lang/en_US.xml @@ -1,46 +1,46 @@ - - - - English (US) Localization File - Extra - Release - Toggle - Charge - Shard of Minium - Inert Stone - Minium Stone - Philosopher's Stone - Ash - Minium Dust - Verdant Dust - 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 - Calcinator - Equivalent Exchange 3 - Initializing remote version check against remote version authority, located at - Remote version check failed to initialize properly - Currently using the most up to date version (@REMOTE_MOD_VERSION@) of Equivalent Exchange 3 for @MINECRAFT_VERSION@ - A new @MOD_NAME@ version exists (@REMOTE_MOD_VERSION@) for @MINECRAFT_VERSION@. Get it here: @MOD_UPDATE_LOCATION@ - Error checking the remote version authority file - Remote version check disabled, skipping - \ No newline at end of file + + + + English (US) Localization File + Extra + Release + Toggle + Charge + Shard of Minium + Inert Stone + Minium Stone + Philosopher's Stone + Ash + Minium Dust + Verdant Dust + 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 + Calcinator + Equivalent Exchange 3 + Initializing remote version check against remote version authority, located at + Remote version check failed to initialize properly + Currently using the most up to date version (@REMOTE_MOD_VERSION@) of Equivalent Exchange 3 for @MINECRAFT_VERSION@ + A new @MOD_NAME@ version exists (@REMOTE_MOD_VERSION@) for @MINECRAFT_VERSION@. Get it here: @MOD_UPDATE_LOCATION@ + Error checking the remote version authority file + Remote version check disabled, skipping + diff --git a/resources/ee3/lang/pt_BR.xml b/resources/ee3/lang/pt_BR.xml index e6f0c436..7e415f73 100644 --- a/resources/ee3/lang/pt_BR.xml +++ b/resources/ee3/lang/pt_BR.xml @@ -16,22 +16,6 @@ Pó Índigo Pó Amarantino Pó Iridescente - Bolsa Alquímica Branca - Bolsa Alquímica Laranja - Bolsa Alquímica Magenta - Bolsa Alquímica Azul-Claro - Bolsa Alquímica Amarela - Bolsa Alquímica Lima - Bolsa Alquímica Rosa - Bolsa Alquímica Cinza - Bolsa Alquímica Cinza-Claro - Bolsa Alquímica Ciano - Bolsa Alquímica Roxa - Bolsa Alquímica Azul - Bolsa Alquímica Marrom - Bolsa Alquímica Verde - Bolsa Alquímica Vermelha - Bolsa Alquímica Negra Água Vermelha (Parada) Água Vermelha (Corrente) Calcinador From b03d9f615fe9a73cceba52d1435197c4c2bb2c3f Mon Sep 17 00:00:00 2001 From: Lure Date: Sun, 2 Dec 2012 20:39:46 -0200 Subject: [PATCH 33/46] pt_BR Localization Update Updated pt_BR localization to match current english localization --- resources/ee3/lang/pt_BR.xml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/resources/ee3/lang/pt_BR.xml b/resources/ee3/lang/pt_BR.xml index 7e415f73..3e87a2a8 100644 --- a/resources/ee3/lang/pt_BR.xml +++ b/resources/ee3/lang/pt_BR.xml @@ -16,6 +16,24 @@ Pó Índigo Pó Amarantino Pó Iridescente + Bolsa Alquímica Branca + Bolsa Alquímica Laranja + Bolsa Alquímica Magenta + Bolsa Alquímica Azul-Claro + Bolsa Alquímica Amarela + Bolsa Alquímica Lima + Bolsa Alquímica Rosa + Bolsa Alquímica Cinza + Bolsa Alquímica Cinza-Claro + Bolsa Alquímica Ciano + Bolsa Alquímica Roxa + Bolsa Alquímica Azul + Bolsa Alquímica Marrom + Bolsa Alquímica Verde + Bolsa Alquímica Vermelha + Bolsa Alquímica Negra + Água Vermelha (Parada) + Água Vermelha (Corrente) Água Vermelha (Parada) Água Vermelha (Corrente) Calcinador From b106fed3ba8c70fbfae0fd9f722f94d795e803f2 Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 2 Dec 2012 17:54:22 -0500 Subject: [PATCH 34/46] Spanish alchemy bags --- resources/ee3/lang/es_ES.xml | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/resources/ee3/lang/es_ES.xml b/resources/ee3/lang/es_ES.xml index a46bc07b..c3f574cb 100644 --- a/resources/ee3/lang/es_ES.xml +++ b/resources/ee3/lang/es_ES.xml @@ -12,10 +12,26 @@ Piedra Filosofal Ceniza Polvo de Minio - Polvo verdante - Polvo azur - Polvo purpúreo - Polvo iridiscente + Polvo Verdante + Polvo Azur + Polvo Purpúreo + Polvo Iridiscente + Bolsa de Alquimia Blanca + Bolsa de Alquimia Naranja + Bolsa de Alquimia Magenta + Bolsa de Alquimia Celeste + Bolsa de Alquimia Amarilla + Bolsa de Alquimia Verde Lima + Bolsa de Alquimia Rosa + Bolsa de Alquimia Gris + Bolsa de Alquimia Gris Claro + Bolsa de Alquimia Cian + Bolsa de Alquimia Púrpura + Bolsa de Alquimia Azul + Bolsa de Alquimia Marrón + Bolsa de Alquimia Verde + Bolsa de Alquimia Roja + Bolsa de Alquimia Negra Agua Roja (Quieta) Agua Roja (Fluyendo) Calcinador From 9104e4d432e655682780050a0ad47fa7363b10c8 Mon Sep 17 00:00:00 2001 From: Wliu Date: Sun, 2 Dec 2012 19:50:35 -0500 Subject: [PATCH 35/46] Update README.md Added Github for Mac changes everywhere, typo fixes, stuff. --- README.md | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 57e9ebd9..2d6a3d78 100644 --- a/README.md +++ b/README.md @@ -26,8 +26,8 @@ ________________________________________________________________________________ * Append `;C:\Ant\apache-ant-1.8.4\bin` exactly as shown to the end (or your Ant directory \apache-ant-1.8.4\bin). 3. Download and install Github [here] (http://windows.github.com/) (Windows) or [here] (http://mac.github.com/) (Mac OS X 10.7+). For Linux, I *guess* you could download it as a .zip/tarball and unzip it? * Create an account. - * Scroll to the top of this page, login at the top-right, and then click `Clone to Windows` near the top-left of the page.. - * You should see Github flash and `pahimar/Equivalent-Exchange-3` appear. (The local repository defaults to `C:\Users\(username)\Documents\GitHub\Equivalent-Exchange-3`, you can change it if you want but then you have to find it again on Github). + * Scroll to the top of this page, login at the top-right, and then click `Clone to Windows/Mac` near the top-left of the page. + * You should see Github flash and `pahimar/Equivalent-Exchange-3` appear. (The local repository on Windows defaults to `C:\Users\(username)\Documents\GitHub\Equivalent-Exchange-3`, you can change it if you want but then you have to find it again on Github). 4. Create an empty directory for EE3 development. This directory is refernced as `mcdev` from now on. It can be where you cloned EE3, but it'll be a little messy. 5. You are now ready to setup MCP! @@ -37,16 +37,10 @@ ________________________________________________________________________________ 1. Download the latest version of MCP from [here] (http://mcp.ocean-labs.de/index.php/MCP_Releases), e.g. mcp723.zip. Install MCP dependencies as listed on the website if neccessary. 2. Inside `mcdev`, create a directory named `mcp` and unzip the MCP .zip file into it. - * To verify, check if a file name `CHANGELOG` exists inside `mcp`. -3. Get an unmodded copy of minecraft's `bin` folder. Currently EE3 runs on 1.4.5 but that might have changed. - -4. From your `.minecraft` directory (on Windows, defaults to `%appdata%\.minecraft`), copy the `bin` and the `resources` (not sure if necessary) directory to the `jars` directory inside `mcp`. (Forge might do this for you, not confirmed.) - -5. Get an unmodded copy of `minecraft_server.jar` and also place it into `jars`. (Forge might do this for you) - -6. Download the latest forge **source** for Minecraft 1.4.5 and unzip it into `mcp` so that `mcp\forge\install.sh` exists. You need at least Forge 6.4.0, best way is to get it from [here] (http://files.minecraftforge.net/). - -7. Execute `install.sh` (Linux and Mac) or `install.cmd` (Windows), both found in `mcdev\mcp\forge`. On Linux you might have to `chmod +x` `install.sh` before you can execute it. On some system configurations you need to execute `install.sh` from within the `forge` directory whereas on others it doesn't matter. Just check the output for error messages to find out what you need to do. + * To verify, check if a file named `CHANGELOG` exists inside `mcp`. +3. Download the latest forge **source** for Minecraft 1.4.5 and unzip it into `mcp`. You need at least Forge 6.4.0, best way is to get it from [here] (http://files.minecraftforge.net/). + * To verify, check if a application named `install.sh` exists. +4. Execute `install.sh` (Linux and Mac) or `install.cmd` (Windows), both found in `mcdev\mcp\forge`. On Linux you might have to `chmod +x` `install.sh` before you can execute it. On some system configurations you need to execute `install.sh` from within the `forge` directory whereas on others it doesn't matter. Just check the output for error messages to find out what you need to do. #### Setup EE3 (Some tested for Linux, tested fully for Windows) 1. Inside `mcdev`, create a directory named `source`. @@ -71,7 +65,7 @@ ________________________________________________________________________________ * `dir.development=../../` * `dir.share=Shared` (or what you want it to be-optional) * `dir.release=Releases` (what you want it to be) - * `release.minecraft.version=1.4.5` (as of 11/30) + * `release.minecraft.version=1.4.5` (as of 12/02) * `release.mod.version=pre1d` (or whatever version # want it to be) 5. [FOR WINDOWS] Open up `cmd` by typing `cmd` in Run. @@ -83,14 +77,14 @@ ________________________________________________________________________________ * You should see a .jar named `ee3-universal-pre1d.jar` (Again, might be different). 9. Copy the jar into your Minecraft mods folder, and play Minecraft! -### To Update EE3 (For Windows/Mac?) +#### To Update EE3 (For Windows/Mac) 1. Check to see if pahimar updated EE3 since you last compiled. If he/she did, follow these instructions. 2. Open Github. 3. Double-click on pahimar/Equivalent-Exchange-3. -4. At the top, there is a button named `Sync` (or `Refreshing...` if its still checking). +4. At the top, there is a button named `Sync`/`Sync Branch` (Mac) (or `Refreshing...` if it's still checking). 5. Click `Sync`, and wait for it to finish. From b4d895a1b9f41dc1bbd1fd6d4a045a220ffb8ddc Mon Sep 17 00:00:00 2001 From: Wliu Date: Sun, 2 Dec 2012 19:58:06 -0500 Subject: [PATCH 36/46] Update README.md Small changes. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2d6a3d78..66187356 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ ## Welcome to Equivalent Exchange 3! -Setup MCP was done mostly by the people who update the wiki, I just changed it a bit. Some credit goes to BuildCraft's README.md, which I based this README off of. +Setup MCP was done mostly by the people who update How to Compile for Beginners on the wiki, I just updated/changed it a bit. Some credit goes to BuildCraft's README.md, which I based this README off of. The Minecraft Forums page can be found [here] (http://www.minecraftforum.net/topic/1540010-equivalent-exchange-3). @@ -77,7 +77,7 @@ ________________________________________________________________________________ * You should see a .jar named `ee3-universal-pre1d.jar` (Again, might be different). 9. Copy the jar into your Minecraft mods folder, and play Minecraft! -#### To Update EE3 (For Windows/Mac) +#### Update EE3 (For Windows/Mac) 1. Check to see if pahimar updated EE3 since you last compiled. If he/she did, follow these instructions. 2. Open Github. From 9624b1067a3660bcc27f143044159b3ac5efdaa3 Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 2 Dec 2012 21:17:10 -0500 Subject: [PATCH 37/46] Japanese alchemy bags MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In this context the term 奇術 to mean "alchemical" is a tad more logical than 錬金術 IMO. --- resources/ee3/lang/ja_JP.xml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/resources/ee3/lang/ja_JP.xml b/resources/ee3/lang/ja_JP.xml index 8b7806da..7f8506fa 100644 --- a/resources/ee3/lang/ja_JP.xml +++ b/resources/ee3/lang/ja_JP.xml @@ -16,6 +16,22 @@ 紺碧の粉末 紫赤色の粉末 玉虫色の粉末 + 白色の奇術袋 + 橙色の奇術袋 + 赤紫色の奇術袋 + 空色の奇術袋 + 黄色の奇術袋 + 黄緑色の奇術袋 + 桃色の奇術袋 + 灰色の奇術袋 + 薄灰色の奇術袋 + 水色の奇術袋 + 紫色の奇術袋 + 青色の奇術袋 + 茶色の奇術袋 + 緑色の奇術袋 + 赤色の奇術袋 + 黒色の奇術袋 赤い水 (水源) 赤い水 (流水) 煆焼器 From 44f951b9244a38aa4011a2a6c781c28645aafd45 Mon Sep 17 00:00:00 2001 From: Adam Date: Mon, 3 Dec 2012 18:42:32 -0500 Subject: [PATCH 38/46] Updated formatting for Czech localization file Reordered terms to match the rest of the files, for consistency's sake. --- resources/ee3/lang/cs_CZ.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/ee3/lang/cs_CZ.xml b/resources/ee3/lang/cs_CZ.xml index 0f4d5f02..ab1e846d 100644 --- a/resources/ee3/lang/cs_CZ.xml +++ b/resources/ee3/lang/cs_CZ.xml @@ -2,6 +2,10 @@ Czech (CS) Localization File + Extra + Vypustit + Přepnout + Nabít Úlomek suříku Kámen suříku Kámen mudrců @@ -12,10 +16,6 @@ Proud Zastaralé Chyba připojení - Extra - Vypustit - Přepnout - Nabít Kalcinátor Provádím kontrolu verze, vzdálený soubor umístěn na Kontrola verze neproběhla úspěšně (nezdařila se inicializace) From 9753091d2941027a4053cfbd350ff615597da1e2 Mon Sep 17 00:00:00 2001 From: Dion Williams Date: Tue, 4 Dec 2012 15:16:14 +0000 Subject: [PATCH 39/46] Updated Welsh localisation with alchemical bag names and revised version checker messages --- resources/ee3/lang/cy_GB.xml | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/resources/ee3/lang/cy_GB.xml b/resources/ee3/lang/cy_GB.xml index cf0f471b..e0e2111a 100644 --- a/resources/ee3/lang/cy_GB.xml +++ b/resources/ee3/lang/cy_GB.xml @@ -10,14 +10,37 @@ Carreg Anadweithiol Carreg Miniwm Maen Athronwyr + Lludw + Llwch Miniwm + Llwch Werdd + Llwch Asur + Llwch Amorol + Llwch Symudliw + Bag Alcemaidd Gwyn + Bag Alcemaidd Oren + Bag Alcemaidd Magenta + Bag Alcemaidd Glas Golau + Bag Alcemaidd Melyn + Bag Alcemaidd Leim + Bag Alcemaidd Pinc + Bag Alcemaidd Llwyd + Bag Alcemaidd Llwyd Golau + Bag Alcemaidd Gwyrddlas + Bag Alcemaidd Porffor + Bag Alcemaidd Glas + Bag Alcemaidd Brown + Bag Alcemaidd Gwyrdd + Bag Alcemaidd Coch + Bag Alcemaidd Du Dŵr Coch (Llonydd) Dŵr Coch (Llifeiriol) Calchyniadwr Calchyniadwr + Equivalent Exchange 3 Ymgychwynnu gwiriad fersiwn yn erbyn y ffeil awdurdod fersiwn o bell, a leolir ar - Ni gyflawnwyd y gwiriad fersiwn yn llwyddiannus (ni ymgychwynodd y gwiriad fersiwn yn briodol) - Rydych yn defnyddio y fersiwn diweddaraf ar gyfer eich fersiwn o Minecraft - Rydych yn defnyddio fersiwn wedi dyddio; cysidrwch diweddaru yma - @MOD_UPDATE_LOCATION@ + Ni ymgychwynodd y gwiriad fersiwn yn briodol + Rydych yn defnyddio y fersiwn diweddaraf (@REMOTE_MOD_VERSION@) o Equivalent Exchange 3 ar gyfer @MINECRAFT_VERSION@ + Mae yna fersiwn mwy diweddar o @MOD_NAME@ ar gael (@REMOTE_MOD_VERSION@) ar gyfer @MINECRAFT_VERSION@. Ffeindiwch o yma: @MOD_UPDATE_LOCATION@ Gwall wrth drio cysylltu gyda'r ffeil awdurdod fersiwn o bell (Gwiriwch eich cysylltiad rhwydwaith) Gwiriad fersiwn o bell wedi'i ddiffodd, esgusodid From bb07edc77c9223aea663a94f8236ff3e1fa88a37 Mon Sep 17 00:00:00 2001 From: pahimar Date: Tue, 4 Dec 2012 16:11:54 -0500 Subject: [PATCH 40/46] Nothing to see here --- .../common/core/addons/AddonRedPower2.java | 39 +++++++++++++++++++ .../common/core/handlers/AddonHandler.java | 6 ++- .../ee3/common/lib/ConfigurationSettings.java | 4 ++ .../recipe/RecipesTransmutationStone.java | 3 +- 4 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 ee3_common/ee3/common/core/addons/AddonRedPower2.java diff --git a/ee3_common/ee3/common/core/addons/AddonRedPower2.java b/ee3_common/ee3/common/core/addons/AddonRedPower2.java new file mode 100644 index 00000000..10b511f0 --- /dev/null +++ b/ee3_common/ee3/common/core/addons/AddonRedPower2.java @@ -0,0 +1,39 @@ +package ee3.common.core.addons; + +import java.util.logging.Level; + +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.Loader; + +import ee3.common.core.helper.LogHelper; +import ee3.common.core.helper.RecipeHelper; +import ee3.common.recipe.RecipesTransmutationStone; +import net.minecraft.src.Block; +import net.minecraft.src.ItemStack; +import net.minecraft.src.ModLoader; + +public class AddonRedPower2 { + + public static Block rp2Stone = null; + + public static void initWorld() { + + if (Loader.isModLoaded("RedPowerWorld")) { + try { + rp2Stone = (Block) Class.forName("RedPowerWorld").getField("blockStone").get(null); + + for (ItemStack stone: RecipesTransmutationStone.transmutationStones) { + // Extremely temporary recipe + RecipeHelper.addRecipe(new ItemStack(rp2Stone.blockID, 1, 3), stone, Block.cobblestone, Block.cobblestone, Block.cobblestone, Block.cobblestone, Block.cobblestone, Block.cobblestone); + } + + LogHelper.log(Level.INFO, "Loaded RP2 World addon"); + } + catch (Exception e) { + LogHelper.log(Level.SEVERE, "Could not load RP2 World addon"); + e.printStackTrace(System.err); + } + } + } + +} diff --git a/ee3_common/ee3/common/core/handlers/AddonHandler.java b/ee3_common/ee3/common/core/handlers/AddonHandler.java index d093e45a..cdd97188 100644 --- a/ee3_common/ee3/common/core/handlers/AddonHandler.java +++ b/ee3_common/ee3/common/core/handlers/AddonHandler.java @@ -1,5 +1,7 @@ package ee3.common.core.handlers; +import ee3.common.core.addons.AddonRedPower2; + /** * AddonHandler * @@ -12,6 +14,8 @@ package ee3.common.core.handlers; */ public class AddonHandler { - public static void init() {} + public static void init() { + AddonRedPower2.initWorld(); + } } diff --git a/ee3_common/ee3/common/lib/ConfigurationSettings.java b/ee3_common/ee3/common/lib/ConfigurationSettings.java index 0cbe5b13..419554ec 100644 --- a/ee3_common/ee3/common/lib/ConfigurationSettings.java +++ b/ee3_common/ee3/common/lib/ConfigurationSettings.java @@ -56,5 +56,9 @@ public class ConfigurationSettings { public static int MINIUM_STONE_MAX_DURABILITY; public static final String MINIUM_STONE_MAX_DURABILITY_CONFIGNAME = Strings.MINIUM_STONE_NAME + ".maxDurability"; public static final int MINIUM_STONE_MAX_DURABILITY_DEFAULT = 1521; + + public static int PHILOSOPHERS_STONE_MAX_DURABILITY; + public static final String PHILOSOPHERS_STONE_MAX_DURABILITY_CONFIGNAME = Strings.PHILOSOPHER_STONE_NAME + ".maxDurability"; + public static final int PHILOSOPHERS_STONE_MAX_DURABILITY_DEFAULT = 10001; } diff --git a/ee3_common/ee3/common/recipe/RecipesTransmutationStone.java b/ee3_common/ee3/common/recipe/RecipesTransmutationStone.java index c39e05a3..ae63306d 100644 --- a/ee3_common/ee3/common/recipe/RecipesTransmutationStone.java +++ b/ee3_common/ee3/common/recipe/RecipesTransmutationStone.java @@ -31,7 +31,8 @@ public class RecipesTransmutationStone { private static ItemStack philStone = new ItemStack(ModItems.philStone, 1, -1); private static ItemStack miniumStone = new ItemStack(ModItems.miniumStone, 1, -1); - private static List transmutationStones = Arrays.asList(miniumStone, philStone); + + public static List transmutationStones = Arrays.asList(miniumStone, philStone); private static ItemStack anyCoal = new ItemStack(Item.coal, 1, -1); private static ItemStack anyWood = new ItemStack(Block.wood, 1, -1); From 8b059dfd0c3ed564dcd4cbccbb42221af4e0f0ca Mon Sep 17 00:00:00 2001 From: pahimar Date: Wed, 5 Dec 2012 14:33:03 -0500 Subject: [PATCH 41/46] Some rework on configs (where they are stored/etc) --- .../core/handlers/ConfigurationHandler.java | 89 +++++++++++++------ .../common/core/helper/RedWaterHelper.java | 14 +-- .../ee3/common/item/ItemMiniumStone.java | 2 +- .../ee3/common/item/ItemPhilosopherStone.java | 34 +++++-- .../ee3/common/lib/ConfigurationSettings.java | 84 +++++++++++++---- ee3_common/ee3/common/lib/Reference.java | 21 ----- ee3_common/ee3/common/lib/Strings.java | 14 ++- ee3_common/ee3/common/tile/TileEE.java | 13 +-- 8 files changed, 179 insertions(+), 92 deletions(-) diff --git a/ee3_common/ee3/common/core/handlers/ConfigurationHandler.java b/ee3_common/ee3/common/core/handlers/ConfigurationHandler.java index 1ce26b67..66aaef99 100644 --- a/ee3_common/ee3/common/core/handlers/ConfigurationHandler.java +++ b/ee3_common/ee3/common/core/handlers/ConfigurationHandler.java @@ -25,8 +25,12 @@ import static net.minecraftforge.common.Configuration.*; */ public class ConfigurationHandler { - private static final String CATEGORY_KEYBIND = "keybinds"; + private static final String CATEGORY_KEYBIND = "keybindings"; private static final String CATEGORY_GRAPHICS = "graphics"; + private static final String CATEGORY_TRANSMUTATION = "transmutation"; + private static final String CATEGORY_BLOCK_PROPERTIES = Configuration.CATEGORY_BLOCK + Configuration.CATEGORY_SPLITTER + "properties"; + private static final String CATEGORY_RED_WATER_PROPERTIES = CATEGORY_BLOCK_PROPERTIES + Configuration.CATEGORY_SPLITTER + "red_water"; + private static final String CATEGORY_DURABILITY = Configuration.CATEGORY_ITEM + Configuration.CATEGORY_SPLITTER + "durability"; public static void init(File configFile) { Configuration configuration = new Configuration(configFile); @@ -34,21 +38,15 @@ public class ConfigurationHandler { try { configuration.load(); - /* General Configs */ + /* General configs */ ConfigurationSettings.ENABLE_VERSION_CHECK = configuration .get(CATEGORY_GENERAL, ConfigurationSettings.ENABLE_VERSION_CHECK_CONFIGNAME, ConfigurationSettings.ENABLE_VERSION_CHECK_DEFAULT) .getBoolean(ConfigurationSettings.ENABLE_VERSION_CHECK_DEFAULT); ConfigurationSettings.ENABLE_SOUNDS = configuration .get(CATEGORY_GENERAL, ConfigurationSettings.ENABLE_SOUNDS_CONFIGNAME, ConfigurationSettings.ENABLE_SOUNDS_DEFAULT) .getBoolean(ConfigurationSettings.ENABLE_SOUNDS_DEFAULT); - ConfigurationSettings.MINIUM_STONE_TRANSMUTE_COST = configuration - .get(CATEGORY_GENERAL, ConfigurationSettings.MINIUM_STONE_TRANSMUTE_COST_CONFIGNAME, ConfigurationSettings.MINIUM_STONE_TRANSMUTE_COST_DEFAULT) - .getInt(ConfigurationSettings.MINIUM_STONE_TRANSMUTE_COST_DEFAULT); - ConfigurationSettings.MINIUM_STONE_MAX_DURABILITY = configuration - .get(CATEGORY_GENERAL, ConfigurationSettings.MINIUM_STONE_MAX_DURABILITY_CONFIGNAME, ConfigurationSettings.MINIUM_STONE_MAX_DURABILITY_DEFAULT) - .getInt(ConfigurationSettings.MINIUM_STONE_MAX_DURABILITY_DEFAULT); - /* Graphics/Rendering Configs */ + /* Graphic configs */ ConfigurationSettings.ENABLE_PARTICLE_FX = configuration .get(CATEGORY_GRAPHICS, ConfigurationSettings.ENABLE_PARTICLE_FX_CONFIGNAME, ConfigurationSettings.ENABLE_PARTICLE_FX_DEFAULT) .getBoolean(ConfigurationSettings.ENABLE_PARTICLE_FX_DEFAULT); @@ -56,18 +54,34 @@ public class ConfigurationHandler { .get(CATEGORY_GRAPHICS, ConfigurationSettings.ENABLE_OVERLAY_WORLD_TRANSMUTATION_CONFIGNAME, ConfigurationSettings.ENABLE_OVERLAY_WORLD_TRANSMUTATION_DEFAULT) .getBoolean(ConfigurationSettings.ENABLE_OVERLAY_WORLD_TRANSMUTATION_DEFAULT); - /* Block Configs */ - ConfigurationSettings.AUTO_RESOLVE_BLOCK_IDS = configuration - .get(CATEGORY_BLOCK, ConfigurationSettings.AUTO_RESOLVE_BLOCK_IDS_CONFIGNAME, ConfigurationSettings.AUTO_RESOLVE_BLOCK_IDS_DEFAULT) - .getBoolean(ConfigurationSettings.AUTO_RESOLVE_BLOCK_IDS_DEFAULT); + /* Block configs */ BlockIds.CALCINATOR = configuration .getBlock(Strings.CALCINATOR_NAME, BlockIds.CALCINATOR_DEFAULT) .getInt(BlockIds.CALCINATOR_DEFAULT); BlockIds.RED_WATER_STILL = configuration .getBlock(Strings.RED_WATER_STILL_NAME, BlockIds.RED_WATER_STILL_DEFAULT) .getInt(BlockIds.RED_WATER_STILL_DEFAULT); + + /* Block property configs */ + configuration.addCustomCategoryComment(CATEGORY_BLOCK_PROPERTIES, "Custom block properties"); + + /* Red Water configs */ + configuration.addCustomCategoryComment(CATEGORY_RED_WATER_PROPERTIES, "Configuration settings for various properties of Red Water"); + ConfigurationSettings.RED_WATER_DURATION_BASE = configuration + .get(CATEGORY_RED_WATER_PROPERTIES, ConfigurationSettings.RED_WATER_DURATION_BASE_CONFIGNAME, ConfigurationSettings.RED_WATER_DURATION_BASE_DEFAULT) + .getInt(ConfigurationSettings.RED_WATER_DURATION_BASE_DEFAULT); + ConfigurationSettings.RED_WATER_DURATION_MODIFIER = configuration + .get(CATEGORY_RED_WATER_PROPERTIES, ConfigurationSettings.RED_WATER_DURATION_MODIFIER_CONFIGNAME, ConfigurationSettings.RED_WATER_DURATION_MODIFIER_DEFAULT) + .getInt(ConfigurationSettings.RED_WATER_DURATION_MODIFIER_DEFAULT); + ConfigurationSettings.RED_WATER_RANGE_BASE = configuration + .get(CATEGORY_RED_WATER_PROPERTIES, ConfigurationSettings.RED_WATER_RANGE_BASE_CONFIGNAME, ConfigurationSettings.RED_WATER_RANGE_BASE_DEFAULT) + .getInt(ConfigurationSettings.RED_WATER_RANGE_BASE_DEFAULT); + ConfigurationSettings.RED_WATER_RANGE_MODIFIER = configuration + .get(CATEGORY_RED_WATER_PROPERTIES, ConfigurationSettings.RED_WATER_RANGE_MODIFIER_CONFIGNAME, ConfigurationSettings.RED_WATER_RANGE_MODIFIER_DEFAULT) + .getInt(ConfigurationSettings.RED_WATER_RANGE_MODIFIER_DEFAULT); + - /* Item Configs */ + /* Item configs */ ItemIds.MINIUM_SHARD = configuration .getItem(Strings.MINIUM_SHARD_NAME, ItemIds.MINIUM_SHARD_DEFAULT) .getInt(ItemIds.MINIUM_SHARD_DEFAULT); @@ -86,21 +100,40 @@ public class ConfigurationHandler { ItemIds.ALCHEMY_BAG = configuration .getItem(Strings.ALCHEMY_BAG_NAME, ItemIds.ALCHEMY_BAG_DEFAULT) .getInt(ItemIds.ALCHEMY_BAG_DEFAULT); + + /* Item durability configs */ + ConfigurationSettings.MINIUM_STONE_MAX_DURABILITY = configuration + .get(CATEGORY_DURABILITY, ConfigurationSettings.MINIUM_STONE_MAX_DURABILITY_CONFIGNAME, ConfigurationSettings.MINIUM_STONE_MAX_DURABILITY_DEFAULT) + .getInt(ConfigurationSettings.MINIUM_STONE_MAX_DURABILITY_DEFAULT); + ConfigurationSettings.PHILOSOPHERS_STONE_MAX_DURABILITY = configuration + .get(CATEGORY_DURABILITY, ConfigurationSettings.PHILOSOPHERS_STONE_MAX_DURABILITY_CONFIGNAME, ConfigurationSettings.PHILOSOPHERS_STONE_MAX_DURABILITY_DEFAULT) + .getInt(ConfigurationSettings.PHILOSOPHERS_STONE_MAX_DURABILITY_DEFAULT); - /* KeyBinding Configs */ - configuration.addCustomCategoryComment(CATEGORY_KEYBIND, ""); - EquivalentExchange3.proxy.setKeyBinding(Reference.KEYBINDING_EXTRA, configuration - .get(CATEGORY_KEYBIND, Reference.KEYBINDING_EXTRA, Reference.KEYBINDING_EXTRA_DEFAULT) - .getInt(Reference.KEYBINDING_EXTRA_DEFAULT)); - EquivalentExchange3.proxy.setKeyBinding(Reference.KEYBINDING_CHARGE, configuration - .get(CATEGORY_KEYBIND, Reference.KEYBINDING_CHARGE, Reference.KEYBINDING_CHARGE_DEFAULT) - .getInt(Reference.KEYBINDING_CHARGE_DEFAULT)); - EquivalentExchange3.proxy.setKeyBinding(Reference.KEYBINDING_TOGGLE, configuration - .get(CATEGORY_KEYBIND, Reference.KEYBINDING_TOGGLE, Reference.KEYBINDING_TOGGLE_DEFAULT) - .getInt(Reference.KEYBINDING_TOGGLE_DEFAULT)); - EquivalentExchange3.proxy.setKeyBinding(Reference.KEYBINDING_RELEASE, configuration - .get(CATEGORY_KEYBIND, Reference.KEYBINDING_RELEASE, Reference.KEYBINDING_RELEASE_DEFAULT) - .getInt(Reference.KEYBINDING_RELEASE_DEFAULT)); + /* KeyBinding configs */ + configuration.addCustomCategoryComment(CATEGORY_KEYBIND, "Keybindings for Equivalent Exchange 3. See http://www.minecraftwiki.net/wiki/Key_codes for mapping of key codes to keyboard keys"); + EquivalentExchange3.proxy.setKeyBinding(ConfigurationSettings.KEYBINDING_EXTRA, configuration + .get(CATEGORY_KEYBIND, ConfigurationSettings.KEYBINDING_EXTRA, ConfigurationSettings.KEYBINDING_EXTRA_DEFAULT) + .getInt(ConfigurationSettings.KEYBINDING_EXTRA_DEFAULT)); + EquivalentExchange3.proxy.setKeyBinding(ConfigurationSettings.KEYBINDING_CHARGE, configuration + .get(CATEGORY_KEYBIND, ConfigurationSettings.KEYBINDING_CHARGE, ConfigurationSettings.KEYBINDING_CHARGE_DEFAULT) + .getInt(ConfigurationSettings.KEYBINDING_CHARGE_DEFAULT)); + EquivalentExchange3.proxy.setKeyBinding(ConfigurationSettings.KEYBINDING_TOGGLE, configuration + .get(CATEGORY_KEYBIND, ConfigurationSettings.KEYBINDING_TOGGLE, ConfigurationSettings.KEYBINDING_TOGGLE_DEFAULT) + .getInt(ConfigurationSettings.KEYBINDING_TOGGLE_DEFAULT)); + EquivalentExchange3.proxy.setKeyBinding(ConfigurationSettings.KEYBINDING_RELEASE, configuration + .get(CATEGORY_KEYBIND, ConfigurationSettings.KEYBINDING_RELEASE, ConfigurationSettings.KEYBINDING_RELEASE_DEFAULT) + .getInt(ConfigurationSettings.KEYBINDING_RELEASE_DEFAULT)); + + /* Transmutation configs */ + ConfigurationSettings.TRANSMUTE_COST_ITEM = configuration + .get(CATEGORY_TRANSMUTATION, ConfigurationSettings.TRANSMUTE_COST_ITEM_CONFIGNAME, ConfigurationSettings.TRANSMUTE_COST_ITEM_DEFAULT) + .getInt(ConfigurationSettings.TRANSMUTE_COST_ITEM_DEFAULT); + ConfigurationSettings.TRANSMUTE_COST_BLOCK = configuration + .get(CATEGORY_TRANSMUTATION, ConfigurationSettings.TRANSMUTE_COST_BLOCK_CONFIGNAME, ConfigurationSettings.TRANSMUTE_COST_BLOCK_DEFAULT) + .getInt(ConfigurationSettings.TRANSMUTE_COST_BLOCK_DEFAULT); + ConfigurationSettings.TRANSMUTE_COST_MOB = configuration + .get(CATEGORY_TRANSMUTATION, ConfigurationSettings.TRANSMUTE_COST_MOB_CONFIGNAME, ConfigurationSettings.TRANSMUTE_COST_MOB_DEFAULT) + .getInt(ConfigurationSettings.TRANSMUTE_COST_MOB_DEFAULT); } catch (Exception e) { FMLLog.log(Level.SEVERE, e, Reference.MOD_NAME + " has had a problem loading its configuration"); diff --git a/ee3_common/ee3/common/core/helper/RedWaterHelper.java b/ee3_common/ee3/common/core/helper/RedWaterHelper.java index e35a37f2..d24bc1f5 100644 --- a/ee3_common/ee3/common/core/helper/RedWaterHelper.java +++ b/ee3_common/ee3/common/core/helper/RedWaterHelper.java @@ -1,7 +1,7 @@ package ee3.common.core.helper; import ee3.common.block.ModBlocks; -import ee3.common.lib.Reference; +import ee3.common.lib.ConfigurationSettings; import net.minecraft.src.AxisAlignedBB; import net.minecraft.src.Block; import net.minecraft.src.EntityLiving; @@ -24,12 +24,12 @@ public class RedWaterHelper { } public static boolean isBlockInBB(World world, AxisAlignedBB par1AxisAlignedBB, Block block) { - int minX = MathHelper.floor_double(par1AxisAlignedBB.minX - Reference.BLOCK_RED_WATER_RANGE_BASE * Reference.BLOCK_RED_WATER_RANGE_MODIFIER * 1.0D); - int maxX = MathHelper.floor_double(par1AxisAlignedBB.maxX + Reference.BLOCK_RED_WATER_RANGE_BASE * Reference.BLOCK_RED_WATER_RANGE_MODIFIER * 1.0D); - int minY = MathHelper.floor_double(par1AxisAlignedBB.minY - Reference.BLOCK_RED_WATER_RANGE_BASE * Reference.BLOCK_RED_WATER_RANGE_MODIFIER * 1.0D); - int maxY = MathHelper.floor_double(par1AxisAlignedBB.maxY + Reference.BLOCK_RED_WATER_RANGE_BASE * Reference.BLOCK_RED_WATER_RANGE_MODIFIER * 1.0D); - int minZ = MathHelper.floor_double(par1AxisAlignedBB.minZ - Reference.BLOCK_RED_WATER_RANGE_BASE * Reference.BLOCK_RED_WATER_RANGE_MODIFIER * 1.0D); - int maxZ = MathHelper.floor_double(par1AxisAlignedBB.maxZ + Reference.BLOCK_RED_WATER_RANGE_BASE * Reference.BLOCK_RED_WATER_RANGE_MODIFIER * 1.0D); + int minX = MathHelper.floor_double(par1AxisAlignedBB.minX - ConfigurationSettings.RED_WATER_RANGE_BASE * ConfigurationSettings.RED_WATER_RANGE_MODIFIER * 1.0D); + int maxX = MathHelper.floor_double(par1AxisAlignedBB.maxX + ConfigurationSettings.RED_WATER_RANGE_BASE * ConfigurationSettings.RED_WATER_RANGE_MODIFIER * 1.0D); + int minY = MathHelper.floor_double(par1AxisAlignedBB.minY - ConfigurationSettings.RED_WATER_RANGE_BASE * ConfigurationSettings.RED_WATER_RANGE_MODIFIER * 1.0D); + int maxY = MathHelper.floor_double(par1AxisAlignedBB.maxY + ConfigurationSettings.RED_WATER_RANGE_BASE * ConfigurationSettings.RED_WATER_RANGE_MODIFIER * 1.0D); + int minZ = MathHelper.floor_double(par1AxisAlignedBB.minZ - ConfigurationSettings.RED_WATER_RANGE_BASE * ConfigurationSettings.RED_WATER_RANGE_MODIFIER * 1.0D); + int maxZ = MathHelper.floor_double(par1AxisAlignedBB.maxZ + ConfigurationSettings.RED_WATER_RANGE_BASE * ConfigurationSettings.RED_WATER_RANGE_MODIFIER * 1.0D); for (int i = minX; i < maxX; ++i) { for (int j = minY; j < maxY; ++j) { diff --git a/ee3_common/ee3/common/item/ItemMiniumStone.java b/ee3_common/ee3/common/item/ItemMiniumStone.java index 95749376..cd58846d 100644 --- a/ee3_common/ee3/common/item/ItemMiniumStone.java +++ b/ee3_common/ee3/common/item/ItemMiniumStone.java @@ -93,7 +93,7 @@ public class ItemMiniumStone extends ItemEE @Override public void doKeyBindingAction(EntityPlayer thePlayer, ItemStack itemStack, String keyBinding) { - if (keyBinding.equals(Reference.KEYBINDING_EXTRA)) { + if (keyBinding.equals(ConfigurationSettings.KEYBINDING_EXTRA)) { openPortableCrafting(thePlayer); } diff --git a/ee3_common/ee3/common/item/ItemPhilosopherStone.java b/ee3_common/ee3/common/item/ItemPhilosopherStone.java index 800a370c..7d71ad16 100644 --- a/ee3_common/ee3/common/item/ItemPhilosopherStone.java +++ b/ee3_common/ee3/common/item/ItemPhilosopherStone.java @@ -7,6 +7,7 @@ import cpw.mods.fml.common.network.PacketDispatcher; import ee3.common.EquivalentExchange3; import ee3.common.core.helper.NBTHelper; import ee3.common.core.helper.TransmutationHelper; +import ee3.common.lib.ConfigurationSettings; import ee3.common.lib.CustomItemRarity; import ee3.common.lib.GuiIds; import ee3.common.lib.Reference; @@ -39,6 +40,7 @@ public class ItemPhilosopherStone extends ItemEE this.setIconCoord(2, 0); this.setItemName(Strings.PHILOSOPHER_STONE_NAME); this.setCreativeTab(EquivalentExchange3.tabsEE3); + this.setMaxDamage(ConfigurationSettings.PHILOSOPHERS_STONE_MAX_DURABILITY - 1); this.maxChargeLevel = 3; } @@ -66,10 +68,24 @@ public class ItemPhilosopherStone extends ItemEE return true; } + @Override + public ItemStack getContainerItemStack(ItemStack itemStack) { + + itemStack.setItemDamage(itemStack.getItemDamage() + 1); + + return itemStack; + } + @Override public boolean onItemUse(ItemStack itemStack, EntityPlayer entityPlayer, World world, int x, int y, int z, int l, float f1, float f2, float f3) { - return TransmutationHelper.transmuteInWorld(world, entityPlayer, itemStack, x, y, z); + boolean result = TransmutationHelper.transmuteInWorld(world, entityPlayer, itemStack, x, y, z); + + if (result) { + itemStack.damageItem(1, entityPlayer); + } + + return result; } @Override @@ -81,40 +97,40 @@ public class ItemPhilosopherStone extends ItemEE @Override public short getCharge(ItemStack stack) { - return NBTHelper.getShort(stack, Strings.NBT_CHARGE_LEVEL_KEY); + return NBTHelper.getShort(stack, Strings.NBT_ITEM_CHARGE_LEVEL_KEY); } @Override public void setCharge(ItemStack stack, short charge) { if (charge <= maxChargeLevel) { - NBTHelper.setShort(stack, Strings.NBT_CHARGE_LEVEL_KEY, charge); + NBTHelper.setShort(stack, Strings.NBT_ITEM_CHARGE_LEVEL_KEY, charge); } } @Override public void increaseCharge(ItemStack stack) { - if (NBTHelper.getShort(stack, Strings.NBT_CHARGE_LEVEL_KEY) < maxChargeLevel) { - NBTHelper.setShort(stack, Strings.NBT_CHARGE_LEVEL_KEY, (short) (NBTHelper.getShort(stack, Strings.NBT_CHARGE_LEVEL_KEY) + 1)); + if (NBTHelper.getShort(stack, Strings.NBT_ITEM_CHARGE_LEVEL_KEY) < maxChargeLevel) { + NBTHelper.setShort(stack, Strings.NBT_ITEM_CHARGE_LEVEL_KEY, (short) (NBTHelper.getShort(stack, Strings.NBT_ITEM_CHARGE_LEVEL_KEY) + 1)); } } @Override public void decreaseCharge(ItemStack stack) { - if (NBTHelper.getShort(stack, Strings.NBT_CHARGE_LEVEL_KEY) > 0) { - NBTHelper.setShort(stack, Strings.NBT_CHARGE_LEVEL_KEY, (short) (NBTHelper.getShort(stack, Strings.NBT_CHARGE_LEVEL_KEY) - 1)); + if (NBTHelper.getShort(stack, Strings.NBT_ITEM_CHARGE_LEVEL_KEY) > 0) { + NBTHelper.setShort(stack, Strings.NBT_ITEM_CHARGE_LEVEL_KEY, (short) (NBTHelper.getShort(stack, Strings.NBT_ITEM_CHARGE_LEVEL_KEY) - 1)); } } @Override public void doKeyBindingAction(EntityPlayer thePlayer, ItemStack itemStack, String keyBinding) { - if (keyBinding.equals(Reference.KEYBINDING_EXTRA)) { + if (keyBinding.equals(ConfigurationSettings.KEYBINDING_EXTRA)) { openPortableCrafting(thePlayer); } - else if (keyBinding.equals(Reference.KEYBINDING_CHARGE)) { + else if (keyBinding.equals(ConfigurationSettings.KEYBINDING_CHARGE)) { if (!thePlayer.isSneaking()) { increaseCharge(itemStack); thePlayer.worldObj.playSoundAtEntity(thePlayer, Sounds.CHARGE_UP, 0.5F, 0.5F + (0.5F * (getCharge(itemStack) * 1.0F / maxChargeLevel))); diff --git a/ee3_common/ee3/common/lib/ConfigurationSettings.java b/ee3_common/ee3/common/lib/ConfigurationSettings.java index 419554ec..acc22f37 100644 --- a/ee3_common/ee3/common/lib/ConfigurationSettings.java +++ b/ee3_common/ee3/common/lib/ConfigurationSettings.java @@ -1,5 +1,6 @@ package ee3.common.lib; +import net.minecraftforge.common.Configuration; import ee3.common.item.ModItems; /** @@ -16,49 +17,96 @@ public class ConfigurationSettings { /* * General configuration settings */ - // Whether or not automatic block id resolution for EE3 is turned on or off - public static boolean AUTO_RESOLVE_BLOCK_IDS; - public static final String ENABLE_VERSION_CHECK_CONFIGNAME = "enable_version_check"; - public static final boolean AUTO_RESOLVE_BLOCK_IDS_DEFAULT = false; - // Whether or not EE3 sounds are enabled public static boolean ENABLE_SOUNDS; - public static final String ENABLE_SOUNDS_CONFIGNAME = "enable_sounds"; + public static final String ENABLE_SOUNDS_CONFIGNAME = "sounds.enabled"; public static final boolean ENABLE_SOUNDS_DEFAULT = true; // Whether or not EE3 will do a version check when loaded public static boolean ENABLE_VERSION_CHECK; - public static final String AUTO_RESOLVE_BLOCK_IDS_CONFIGNAME = "auto_resolve_block_ids"; + public static final String ENABLE_VERSION_CHECK_CONFIGNAME = "version_check.enabled"; public static final boolean ENABLE_VERSION_CHECK_DEFAULT = true; /* - * Render config settings + * Graphic config settings */ // Whether or not EE3 particle fx are enabled public static boolean ENABLE_PARTICLE_FX; - public static final String ENABLE_PARTICLE_FX_CONFIGNAME = "enable_particle_fx"; + public static final String ENABLE_PARTICLE_FX_CONFIGNAME = "particle_fx.enabled"; public static final boolean ENABLE_PARTICLE_FX_DEFAULT = true; // Whether or not the in world transmutation overlay is enabled public static boolean ENABLE_OVERLAY_WORLD_TRANSMUTATION; - public static final String ENABLE_OVERLAY_WORLD_TRANSMUTATION_CONFIGNAME = "enable_world_transmutation_overlay"; + public static final String ENABLE_OVERLAY_WORLD_TRANSMUTATION_CONFIGNAME = "world_transmutation_overlay.enabled"; public static final boolean ENABLE_OVERLAY_WORLD_TRANSMUTATION_DEFAULT = true; /* - * Minium stone config settings + * Block related config settings */ - // The durability cost for each transmute with the Minium Stone - public static int MINIUM_STONE_TRANSMUTE_COST; - public static final String MINIUM_STONE_TRANSMUTE_COST_CONFIGNAME = Strings.MINIUM_STONE_NAME + ".transmuteCost"; - public static final int MINIUM_STONE_TRANSMUTE_COST_DEFAULT = 1; + public static int RED_WATER_DURATION_BASE; + public static String RED_WATER_DURATION_BASE_CONFIGNAME = "duration.base"; + public static final int RED_WATER_DURATION_BASE_DEFAULT = 5; + public static int RED_WATER_DURATION_MODIFIER; + public static String RED_WATER_DURATION_MODIFIER_CONFIGNAME = "duration.modifier"; + public static final int RED_WATER_DURATION_MODIFIER_DEFAULT = 2; + + public static int RED_WATER_RANGE_BASE; + public static String RED_WATER_RANGE_BASE_CONFIGNAME = "range.base"; + public static final int RED_WATER_RANGE_BASE_DEFAULT = 1; + + public static int RED_WATER_RANGE_MODIFIER; + public static String RED_WATER_RANGE_MODIFIER_CONFIGNAME = "range.modifier"; + public static final int RED_WATER_RANGE_MODIFIER_DEFAULT = 3; + + /* + * Item related config settings + */ // The maximum durability for the Minium Stone public static int MINIUM_STONE_MAX_DURABILITY; - public static final String MINIUM_STONE_MAX_DURABILITY_CONFIGNAME = Strings.MINIUM_STONE_NAME + ".maxDurability"; + public static final String MINIUM_STONE_MAX_DURABILITY_CONFIGNAME = Strings.MINIUM_STONE_NAME; public static final int MINIUM_STONE_MAX_DURABILITY_DEFAULT = 1521; - + + // The maximum durability for the Philosophers Stone public static int PHILOSOPHERS_STONE_MAX_DURABILITY; - public static final String PHILOSOPHERS_STONE_MAX_DURABILITY_CONFIGNAME = Strings.PHILOSOPHER_STONE_NAME + ".maxDurability"; + public static final String PHILOSOPHERS_STONE_MAX_DURABILITY_CONFIGNAME = Strings.PHILOSOPHER_STONE_NAME; public static final int PHILOSOPHERS_STONE_MAX_DURABILITY_DEFAULT = 10001; + /* + * Keybinding related config settings + */ + // Extra key + public static final String KEYBINDING_EXTRA = "key.extra"; + public static final int KEYBINDING_EXTRA_DEFAULT = 46; + + // Release key + public static final String KEYBINDING_RELEASE = "key.release"; + public static final int KEYBINDING_RELEASE_DEFAULT = 19; + + // Toggle key + public static final String KEYBINDING_TOGGLE = "key.toggle"; + public static final int KEYBINDING_TOGGLE_DEFAULT = 34; + + // Charge key + public static final String KEYBINDING_CHARGE = "key.charge"; + public static final int KEYBINDING_CHARGE_DEFAULT = 47; + + /* + * Transmutation related config settings + */ + // The durability cost for each item transmutation + public static int TRANSMUTE_COST_ITEM; + public static final String TRANSMUTE_COST_ITEM_CONFIGNAME = Strings.TRANSMUTATION_COST_ITEM; + public static final int TRANSMUTE_COST_ITEM_DEFAULT = 1; + + // The durability cost for each block transmutation + public static int TRANSMUTE_COST_BLOCK; + public static final String TRANSMUTE_COST_BLOCK_CONFIGNAME = Strings.TRANSMUTATION_COST_BLOCK; + public static final int TRANSMUTE_COST_BLOCK_DEFAULT = 1; + + // The durability cost for each block transmutation + public static int TRANSMUTE_COST_MOB; + public static final String TRANSMUTE_COST_MOB_CONFIGNAME = Strings.TRANSMUTATION_COST_MOB; + public static final int TRANSMUTE_COST_MOB_DEFAULT = 1; + } diff --git a/ee3_common/ee3/common/lib/Reference.java b/ee3_common/ee3/common/lib/Reference.java index cab79fef..5460cef7 100644 --- a/ee3_common/ee3/common/lib/Reference.java +++ b/ee3_common/ee3/common/lib/Reference.java @@ -24,25 +24,4 @@ public class Reference { public static final String SERVER_PROXY_CLASS = "ee3.common.core.CommonProxy"; public static final String CLIENT_PROXY_CLASS = "ee3.client.core.ClientProxy"; - /* KeyBinding related constants */ - public static final String KEYBINDING_EXTRA = "key.extra"; - public static final int KEYBINDING_EXTRA_DEFAULT = 46; - public static final String KEYBINDING_RELEASE = "key.release"; - public static final int KEYBINDING_RELEASE_DEFAULT = 19; - public static final String KEYBINDING_TOGGLE = "key.toggle"; - public static final int KEYBINDING_TOGGLE_DEFAULT = 34; - public static final String KEYBINDING_CHARGE = "key.charge"; - public static final int KEYBINDING_CHARGE_DEFAULT = 47; - - /* General Tile Entity related constants */ - public static final String TE_GEN_OWNER_NBT_TAG_LABEL = "owner"; - public static final String TE_GEN_STATE_NBT_TAG_LABEL = "state"; - public static final String TE_GEN_DIRECTION_NBT_TAG_LABEL = "direction"; - - // TODO: Find a better spot for these - public static final int BLOCK_RED_WATER_EFFECT_DURATION_BASE = 5; - public static final int BLOCK_RED_WATER_EFFECT_DURATION_MODIFIER = 2; - public static final int BLOCK_RED_WATER_RANGE_BASE = 1; - public static final int BLOCK_RED_WATER_RANGE_MODIFIER = 3; - } diff --git a/ee3_common/ee3/common/lib/Strings.java b/ee3_common/ee3/common/lib/Strings.java index bcc8ec3c..9e289da8 100644 --- a/ee3_common/ee3/common/lib/Strings.java +++ b/ee3_common/ee3/common/lib/Strings.java @@ -2,7 +2,7 @@ package ee3.common.lib; public class Strings { - /* General text keys */ + /* General keys */ /* Version check related constants */ public static final String VERSION_CHECK_DISABLED = "version.check_disabled"; @@ -16,7 +16,11 @@ public class Strings { public static final String GUI_CALCINATOR_NAME = "gui.calcinator.name"; /* NBT related constants */ - public static final String NBT_CHARGE_LEVEL_KEY = "chargeLevel"; + public static final String NBT_ITEM_CHARGE_LEVEL_KEY = "itemChargeLevel"; + public static final String NBT_ITEM_MODE_KEY = "itemMode"; + public static final String NBT_TE_OWNER_KEY = "teOwner"; + public static final String NBT_TE_STATE_KEY = "teState"; + public static final String NBT_TE_DIRECTION_KEY = "teDirection"; /* Block name constants */ public static final String CALCINATOR_NAME = "calcinator"; @@ -33,5 +37,11 @@ public class Strings { /* TileEntity name constants */ public static final String TE_CALCINATOR_NAME = "tileCalcinator"; + + /* Transmutation cost related constants */ + public static final String TRANSMUTATION_COST = "_cost"; + public static final String TRANSMUTATION_COST_ITEM = "item" + TRANSMUTATION_COST; + public static final String TRANSMUTATION_COST_BLOCK = "block" + TRANSMUTATION_COST; + public static final String TRANSMUTATION_COST_MOB = "mob" + TRANSMUTATION_COST; } diff --git a/ee3_common/ee3/common/tile/TileEE.java b/ee3_common/ee3/common/tile/TileEE.java index 3213f6bf..a4dac65f 100644 --- a/ee3_common/ee3/common/tile/TileEE.java +++ b/ee3_common/ee3/common/tile/TileEE.java @@ -1,6 +1,7 @@ package ee3.common.tile; import ee3.common.lib.Reference; +import ee3.common.lib.Strings; import net.minecraft.src.EntityPlayer; import net.minecraft.src.NBTTagCompound; import net.minecraft.src.TileEntity; @@ -51,18 +52,18 @@ public class TileEE extends TileEntity { public void readFromNBT(NBTTagCompound nbtTagCompound) { super.readFromNBT(nbtTagCompound); - direction = nbtTagCompound.getByte(Reference.TE_GEN_DIRECTION_NBT_TAG_LABEL); - state = nbtTagCompound.getShort(Reference.TE_GEN_STATE_NBT_TAG_LABEL); - owner = nbtTagCompound.getString(Reference.TE_GEN_OWNER_NBT_TAG_LABEL); + direction = nbtTagCompound.getByte(Strings.NBT_TE_DIRECTION_KEY); + state = nbtTagCompound.getShort(Strings.NBT_TE_STATE_KEY); + owner = nbtTagCompound.getString(Strings.NBT_TE_OWNER_KEY); } public void writeToNBT(NBTTagCompound nbtTagCompound) { super.writeToNBT(nbtTagCompound); - nbtTagCompound.setByte(Reference.TE_GEN_DIRECTION_NBT_TAG_LABEL, direction); - nbtTagCompound.setShort(Reference.TE_GEN_STATE_NBT_TAG_LABEL, state); + nbtTagCompound.setByte(Strings.NBT_TE_DIRECTION_KEY, direction); + nbtTagCompound.setShort(Strings.NBT_TE_STATE_KEY, state); if(owner != null && owner != "") { - nbtTagCompound.setString(Reference.TE_GEN_OWNER_NBT_TAG_LABEL, owner); + nbtTagCompound.setString(Strings.NBT_TE_OWNER_KEY, owner); } } From 02e9bb09daf5acfe37e056c66512ad5d98e00612 Mon Sep 17 00:00:00 2001 From: pahimar Date: Wed, 5 Dec 2012 16:06:50 -0500 Subject: [PATCH 42/46] Beginning work on world transmutation packets --- ee3_common/ee3/common/lib/PacketIds.java | 1 + .../ee3/common/network/PacketTypeHandler.java | 3 ++- .../common/network/PacketWorldTransmutation.java | 14 ++++++++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 ee3_common/ee3/common/network/PacketWorldTransmutation.java diff --git a/ee3_common/ee3/common/lib/PacketIds.java b/ee3_common/ee3/common/lib/PacketIds.java index 6880064e..d81ff22e 100644 --- a/ee3_common/ee3/common/lib/PacketIds.java +++ b/ee3_common/ee3/common/lib/PacketIds.java @@ -13,5 +13,6 @@ public class PacketIds { public static final int KEYBINDING_PRESSED = 0; public static final int TILEENTITY_UPDATE = 1; + public static final int WORLD_TRANSMUTATION_EVENT = 2; } diff --git a/ee3_common/ee3/common/network/PacketTypeHandler.java b/ee3_common/ee3/common/network/PacketTypeHandler.java index c19cfdc0..7ab8af91 100644 --- a/ee3_common/ee3/common/network/PacketTypeHandler.java +++ b/ee3_common/ee3/common/network/PacketTypeHandler.java @@ -19,7 +19,8 @@ import net.minecraft.src.Packet250CustomPayload; */ public enum PacketTypeHandler { KEY(PacketKeyPressed.class), - TILE(PacketTileUpdate.class); + TILE(PacketTileUpdate.class), + WORLD_TRANSMUTATION(PacketWorldTransmutation.class); private Class clazz; diff --git a/ee3_common/ee3/common/network/PacketWorldTransmutation.java b/ee3_common/ee3/common/network/PacketWorldTransmutation.java new file mode 100644 index 00000000..8c7f9605 --- /dev/null +++ b/ee3_common/ee3/common/network/PacketWorldTransmutation.java @@ -0,0 +1,14 @@ +package ee3.common.network; + +public class PacketWorldTransmutation extends PacketEE { + + public int originX, originY, originZ; + public int rangeX, rangeY, rangeZ; + public int targetID, targetMeta; + + public PacketWorldTransmutation() { + + super(PacketTypeHandler.TILE, true); + } + +} From 0d7199ccd497dd4ed290ac4eb206a6b56b271a80 Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 5 Dec 2012 18:04:06 -0500 Subject: [PATCH 43/46] Removed duplicate Red Water entries --- resources/ee3/lang/pt_BR.xml | 2 -- 1 file changed, 2 deletions(-) diff --git a/resources/ee3/lang/pt_BR.xml b/resources/ee3/lang/pt_BR.xml index 3e87a2a8..e6f0c436 100644 --- a/resources/ee3/lang/pt_BR.xml +++ b/resources/ee3/lang/pt_BR.xml @@ -34,8 +34,6 @@ Bolsa Alquímica Negra Água Vermelha (Parada) Água Vermelha (Corrente) - Água Vermelha (Parada) - Água Vermelha (Corrente) Calcinador Calcinador Equivalent Exchange 3 From a5127a6a13b3073f6dab6bed30a88707a64bf400 Mon Sep 17 00:00:00 2001 From: pahimar Date: Wed, 5 Dec 2012 23:15:36 -0500 Subject: [PATCH 44/46] More work on a packet for in world events --- .../network/PacketWorldTransmutation.java | 55 ++++++++++++++++++- 1 file changed, 53 insertions(+), 2 deletions(-) diff --git a/ee3_common/ee3/common/network/PacketWorldTransmutation.java b/ee3_common/ee3/common/network/PacketWorldTransmutation.java index 8c7f9605..0956b40a 100644 --- a/ee3_common/ee3/common/network/PacketWorldTransmutation.java +++ b/ee3_common/ee3/common/network/PacketWorldTransmutation.java @@ -1,14 +1,65 @@ package ee3.common.network; +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; + +import net.minecraft.src.INetworkManager; +import cpw.mods.fml.common.network.Player; + public class PacketWorldTransmutation extends PacketEE { public int originX, originY, originZ; - public int rangeX, rangeY, rangeZ; + public byte rangeX, rangeY, rangeZ; public int targetID, targetMeta; + // TODO: Decide if this will be a general "action" packet or specific public PacketWorldTransmutation() { - super(PacketTypeHandler.TILE, true); + super(PacketTypeHandler.TILE, false); + } + + public void setOrigin(int originX, int originY, int originZ) { + this.originX = originX; + this.originY = originY; + this.originZ = originZ; + } + + public void setRange(byte rangeX, byte rangeY, byte rangeZ) { + this.rangeX = rangeX; + this.rangeY = rangeY; + this.rangeZ = rangeZ; + } + + public void setTransmutationTarget(int targetID, int targetMeta) { + this.targetID = targetID; + this.targetMeta = targetMeta; + } + + public void writeData(DataOutputStream data) throws IOException { + data.writeInt(originX); + data.writeInt(originY); + data.writeInt(originZ); + data.writeByte(rangeX); + data.writeByte(rangeY); + data.writeByte(rangeZ); + data.writeInt(targetID); + data.writeInt(targetMeta); + } + + public void readData(DataInputStream data) throws IOException { + this.originX = data.readInt(); + this.originY = data.readInt(); + this.originZ = data.readInt(); + this.rangeX = data.readByte(); + this.rangeY = data.readByte(); + this.rangeZ = data.readByte(); + this.targetID = data.readInt(); + this.targetMeta = data.readInt(); + } + + public void execute(INetworkManager manager, Player player) { + // TODO: Stuff here } } From 69293538b95e53a886fb900f72b7b7cf1b307bd6 Mon Sep 17 00:00:00 2001 From: pahimar Date: Thu, 6 Dec 2012 16:04:20 -0500 Subject: [PATCH 45/46] More work on WorldEvent packets (the way clients will request servers to do world modification events). Decided to go with a general packet with event types --- ee3_client/ee3/client/core/ClientProxy.java | 11 +++- ee3_common/ee3/common/core/CommonProxy.java | 58 +++++++++++----- .../ee3/common/item/ItemMiniumStone.java | 2 +- .../ee3/common/item/ItemPhilosopherStone.java | 9 ++- ee3_common/ee3/common/lib/WorldEvents.java | 8 +++ .../ee3/common/network/PacketTypeHandler.java | 2 +- ...ansmutation.java => PacketWorldEvent.java} | 66 +++++++++++++++---- 7 files changed, 121 insertions(+), 35 deletions(-) create mode 100644 ee3_common/ee3/common/lib/WorldEvents.java rename ee3_common/ee3/common/network/{PacketWorldTransmutation.java => PacketWorldEvent.java} (50%) diff --git a/ee3_client/ee3/client/core/ClientProxy.java b/ee3_client/ee3/client/core/ClientProxy.java index 5185012f..ec5dd991 100644 --- a/ee3_client/ee3/client/core/ClientProxy.java +++ b/ee3_client/ee3/client/core/ClientProxy.java @@ -9,6 +9,7 @@ import cpw.mods.fml.client.registry.ClientRegistry; import cpw.mods.fml.client.registry.KeyBindingRegistry; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.common.Side; +import cpw.mods.fml.common.network.PacketDispatcher; import cpw.mods.fml.common.registry.LanguageRegistry; import cpw.mods.fml.common.registry.TickRegistry; import ee3.client.core.handlers.DrawBlockHighlightHandler; @@ -24,6 +25,8 @@ import ee3.common.core.CommonProxy; import ee3.common.lib.BlockIds; import ee3.common.lib.RenderIds; import ee3.common.lib.Sprites; +import ee3.common.network.PacketTypeHandler; +import ee3.common.network.PacketWorldEvent; import ee3.common.tile.TileCalcinator; import static ee3.common.lib.CustomItemRarity.*; @@ -112,5 +115,11 @@ public class ClientProxy extends CommonProxy { ClientRegistry.bindTileEntitySpecialRenderer(TileCalcinator.class, new RenderCalcinator()); } - + + @Override + public void sendWorldEventPacket(byte eventType, int originX, int originY, int originZ, byte sideHit, byte rangeX, byte rangeY, byte rangeZ, int targetID, int targetMeta) { + + PacketDispatcher.sendPacketToServer(PacketTypeHandler.populatePacket(new PacketWorldEvent(eventType, originX, originY, originZ, sideHit, rangeX, rangeY, rangeZ, targetID, targetMeta))); + } + } diff --git a/ee3_common/ee3/common/core/CommonProxy.java b/ee3_common/ee3/common/core/CommonProxy.java index 35fd2dc4..4c163fbe 100644 --- a/ee3_common/ee3/common/core/CommonProxy.java +++ b/ee3_common/ee3/common/core/CommonProxy.java @@ -25,51 +25,73 @@ import ee3.common.tile.TileCalcinator; */ public class CommonProxy implements IGuiHandler { - public void registerKeyBindingHandler() {} - - public void registerRenderTickHandler() {} - - public void registerDrawBlockHighlightHandler() {} + public void registerKeyBindingHandler() { - public void setKeyBinding(String name, int value) {} + } - public void registerSoundHandler() {} + public void registerRenderTickHandler() { - public void initCustomRarityTypes() {} + } + + public void registerDrawBlockHighlightHandler() { + + } + + public void setKeyBinding(String name, int value) { + + } + + public void registerSoundHandler() { + + } + + public void initCustomRarityTypes() { + + } public EnumRarity getCustomRarityType(String customRarity) { + return null; } - - public void initRenderingAndTextures() {} - - public void initTileEntities() { - GameRegistry.registerTileEntity(TileCalcinator.class, Strings.TE_CALCINATOR_NAME); + + public void initRenderingAndTextures() { + } - + + public void initTileEntities() { + + GameRegistry.registerTileEntity(TileCalcinator.class, Strings.TE_CALCINATOR_NAME); + } + + public void sendWorldEventPacket(byte eventType, int originX, int originY, int originZ, byte sideHit, byte rangeX, byte rangeY, byte rangeZ, int targetID, int targetMeta) { + + } + @Override public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { + if (ID == GuiIds.PORTABLE_CRAFTING) { return new ContainerPortableCrafting(player.inventory, world, x, y, z); } else if (ID == GuiIds.CALCINATOR) { - TileCalcinator calcinator = (TileCalcinator)world.getBlockTileEntity(x, y, z); + TileCalcinator calcinator = (TileCalcinator) world.getBlockTileEntity(x, y, z); return new ContainerCalcinator(player.inventory, calcinator); } - + return null; } @Override public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { + if (ID == GuiIds.PORTABLE_CRAFTING) { return new GuiPortableCrafting(player, world, x, y, z); } else if (ID == GuiIds.CALCINATOR) { - TileCalcinator calcinator = (TileCalcinator)world.getBlockTileEntity(x, y, z); + TileCalcinator calcinator = (TileCalcinator) world.getBlockTileEntity(x, y, z); return new GuiCalcinator(player.inventory, calcinator); } - + return null; } diff --git a/ee3_common/ee3/common/item/ItemMiniumStone.java b/ee3_common/ee3/common/item/ItemMiniumStone.java index cd58846d..53a82afd 100644 --- a/ee3_common/ee3/common/item/ItemMiniumStone.java +++ b/ee3_common/ee3/common/item/ItemMiniumStone.java @@ -67,7 +67,7 @@ public class ItemMiniumStone extends ItemEE } @Override - public boolean onItemUse(ItemStack itemStack, EntityPlayer entityPlayer, World world, int x, int y, int z, int l, float f1, float f2, float f3) { + public boolean onItemUse(ItemStack itemStack, EntityPlayer entityPlayer, World world, int x, int y, int z, int sideHit, float hitVecX, float hitVecY, float hitVecZ) { boolean result = TransmutationHelper.transmuteInWorld(world, entityPlayer, itemStack, x, y, z); diff --git a/ee3_common/ee3/common/item/ItemPhilosopherStone.java b/ee3_common/ee3/common/item/ItemPhilosopherStone.java index 7d71ad16..4c632472 100644 --- a/ee3_common/ee3/common/item/ItemPhilosopherStone.java +++ b/ee3_common/ee3/common/item/ItemPhilosopherStone.java @@ -3,7 +3,6 @@ package ee3.common.item; import cpw.mods.fml.client.FMLClientHandler; import cpw.mods.fml.common.Side; import cpw.mods.fml.common.asm.SideOnly; -import cpw.mods.fml.common.network.PacketDispatcher; import ee3.common.EquivalentExchange3; import ee3.common.core.helper.NBTHelper; import ee3.common.core.helper.TransmutationHelper; @@ -13,8 +12,10 @@ import ee3.common.lib.GuiIds; import ee3.common.lib.Reference; import ee3.common.lib.Sounds; import ee3.common.lib.Strings; +import ee3.common.lib.WorldEvents; import ee3.common.network.PacketKeyPressed; import ee3.common.network.PacketTypeHandler; +import ee3.common.network.PacketWorldEvent; import net.minecraft.src.EntityPlayer; import net.minecraft.src.EnumRarity; import net.minecraft.src.ItemStack; @@ -77,10 +78,12 @@ public class ItemPhilosopherStone extends ItemEE } @Override - public boolean onItemUse(ItemStack itemStack, EntityPlayer entityPlayer, World world, int x, int y, int z, int l, float f1, float f2, float f3) { + public boolean onItemUse(ItemStack itemStack, EntityPlayer entityPlayer, World world, int x, int y, int z, int sideHit, float hitVecX, float hitVecY, float hitVecZ) { boolean result = TransmutationHelper.transmuteInWorld(world, entityPlayer, itemStack, x, y, z); - + + EquivalentExchange3.proxy.sendWorldEventPacket(WorldEvents.TRANSMUTATION, x, y, z, (byte)sideHit, (byte)getCharge(itemStack), (byte)getCharge(itemStack), (byte)getCharge(itemStack), 50, 0); + if (result) { itemStack.damageItem(1, entityPlayer); } diff --git a/ee3_common/ee3/common/lib/WorldEvents.java b/ee3_common/ee3/common/lib/WorldEvents.java new file mode 100644 index 00000000..5bf67236 --- /dev/null +++ b/ee3_common/ee3/common/lib/WorldEvents.java @@ -0,0 +1,8 @@ +package ee3.common.lib; + + +public class WorldEvents { + + public static final byte TRANSMUTATION = 0; + +} diff --git a/ee3_common/ee3/common/network/PacketTypeHandler.java b/ee3_common/ee3/common/network/PacketTypeHandler.java index 7ab8af91..f1d8da89 100644 --- a/ee3_common/ee3/common/network/PacketTypeHandler.java +++ b/ee3_common/ee3/common/network/PacketTypeHandler.java @@ -20,7 +20,7 @@ import net.minecraft.src.Packet250CustomPayload; public enum PacketTypeHandler { KEY(PacketKeyPressed.class), TILE(PacketTileUpdate.class), - WORLD_TRANSMUTATION(PacketWorldTransmutation.class); + WORLD_EVENT(PacketWorldEvent.class); private Class clazz; diff --git a/ee3_common/ee3/common/network/PacketWorldTransmutation.java b/ee3_common/ee3/common/network/PacketWorldEvent.java similarity index 50% rename from ee3_common/ee3/common/network/PacketWorldTransmutation.java rename to ee3_common/ee3/common/network/PacketWorldEvent.java index 0956b40a..8a03c3f2 100644 --- a/ee3_common/ee3/common/network/PacketWorldTransmutation.java +++ b/ee3_common/ee3/common/network/PacketWorldEvent.java @@ -7,59 +7,103 @@ import java.io.IOException; import net.minecraft.src.INetworkManager; import cpw.mods.fml.common.network.Player; -public class PacketWorldTransmutation extends PacketEE { +public class PacketWorldEvent extends PacketEE { + public byte eventType; public int originX, originY, originZ; + public byte sideHit; public byte rangeX, rangeY, rangeZ; public int targetID, targetMeta; - // TODO: Decide if this will be a general "action" packet or specific - - public PacketWorldTransmutation() { - super(PacketTypeHandler.TILE, false); + public PacketWorldEvent() { + + super(PacketTypeHandler.WORLD_EVENT, false); } - + + public PacketWorldEvent(byte eventType, int originX, int originY, int originZ, byte sideHit, byte rangeX, byte rangeY, byte rangeZ, int targetID, int targetMeta) { + + super(PacketTypeHandler.WORLD_EVENT, false); + this.eventType = eventType; + this.originX = originX; + this.originY = originY; + this.originZ = originZ; + this.sideHit = sideHit; + this.rangeX = rangeX; + this.rangeY = rangeY; + this.rangeZ = rangeZ; + this.targetID = targetID; + this.targetMeta = targetMeta; + } + + public void setEventType(byte eventType) { + + this.eventType = eventType; + } + public void setOrigin(int originX, int originY, int originZ) { + this.originX = originX; this.originY = originY; this.originZ = originZ; } + public void setSideHit(byte sideHit) { + this.sideHit = sideHit; + } + public void setRange(byte rangeX, byte rangeY, byte rangeZ) { + this.rangeX = rangeX; this.rangeY = rangeY; this.rangeZ = rangeZ; } - + public void setTransmutationTarget(int targetID, int targetMeta) { + this.targetID = targetID; this.targetMeta = targetMeta; } - + public void writeData(DataOutputStream data) throws IOException { + + data.writeByte(eventType); data.writeInt(originX); data.writeInt(originY); data.writeInt(originZ); + data.writeByte(sideHit); data.writeByte(rangeX); data.writeByte(rangeY); data.writeByte(rangeZ); data.writeInt(targetID); data.writeInt(targetMeta); } - + public void readData(DataInputStream data) throws IOException { + + this.eventType = data.readByte(); this.originX = data.readInt(); this.originY = data.readInt(); this.originZ = data.readInt(); + this.sideHit = data.readByte(); this.rangeX = data.readByte(); this.rangeY = data.readByte(); this.rangeZ = data.readByte(); this.targetID = data.readInt(); this.targetMeta = data.readInt(); } - + public void execute(INetworkManager manager, Player player) { - // TODO: Stuff here + + System.out.println("World Event Packet received"); + System.out.println("originX: " + originX); + System.out.println("originY: " + originY); + System.out.println("originZ: " + originZ); + System.out.println("sideHit: " + sideHit); + System.out.println("rangeX: " + rangeX); + System.out.println("rangeY: " + rangeY); + System.out.println("rangeZ: " + rangeZ); + System.out.println("targetID: " + targetID); + System.out.println("targetMeta: " + targetMeta); } } From ae14f68167256576d52765eaf54e15fea1388da6 Mon Sep 17 00:00:00 2001 From: pahimar Date: Thu, 6 Dec 2012 21:06:16 -0500 Subject: [PATCH 46/46] More WorldEvent work --- ee3_client/ee3/client/core/ClientProxy.java | 4 ++-- ee3_common/ee3/common/core/CommonProxy.java | 2 +- .../ee3/common/item/ItemPhilosopherStone.java | 12 ++++++----- .../ee3/common/network/PacketWorldEvent.java | 21 +++++++------------ 4 files changed, 18 insertions(+), 21 deletions(-) diff --git a/ee3_client/ee3/client/core/ClientProxy.java b/ee3_client/ee3/client/core/ClientProxy.java index ec5dd991..239cd2a0 100644 --- a/ee3_client/ee3/client/core/ClientProxy.java +++ b/ee3_client/ee3/client/core/ClientProxy.java @@ -117,9 +117,9 @@ public class ClientProxy extends CommonProxy { } @Override - public void sendWorldEventPacket(byte eventType, int originX, int originY, int originZ, byte sideHit, byte rangeX, byte rangeY, byte rangeZ, int targetID, int targetMeta) { + public void sendWorldEventPacket(byte eventType, int originX, int originY, int originZ, byte sideHit, byte rangeX, byte rangeY, byte rangeZ, String data) { - PacketDispatcher.sendPacketToServer(PacketTypeHandler.populatePacket(new PacketWorldEvent(eventType, originX, originY, originZ, sideHit, rangeX, rangeY, rangeZ, targetID, targetMeta))); + PacketDispatcher.sendPacketToServer(PacketTypeHandler.populatePacket(new PacketWorldEvent(eventType, originX, originY, originZ, sideHit, rangeX, rangeY, rangeZ, data))); } } diff --git a/ee3_common/ee3/common/core/CommonProxy.java b/ee3_common/ee3/common/core/CommonProxy.java index 4c163fbe..57d7e18a 100644 --- a/ee3_common/ee3/common/core/CommonProxy.java +++ b/ee3_common/ee3/common/core/CommonProxy.java @@ -63,7 +63,7 @@ public class CommonProxy implements IGuiHandler { GameRegistry.registerTileEntity(TileCalcinator.class, Strings.TE_CALCINATOR_NAME); } - public void sendWorldEventPacket(byte eventType, int originX, int originY, int originZ, byte sideHit, byte rangeX, byte rangeY, byte rangeZ, int targetID, int targetMeta) { + public void sendWorldEventPacket(byte eventType, int originX, int originY, int originZ, byte sideHit, byte rangeX, byte rangeY, byte rangeZ, String data) { } diff --git a/ee3_common/ee3/common/item/ItemPhilosopherStone.java b/ee3_common/ee3/common/item/ItemPhilosopherStone.java index 4c632472..12f8aa5e 100644 --- a/ee3_common/ee3/common/item/ItemPhilosopherStone.java +++ b/ee3_common/ee3/common/item/ItemPhilosopherStone.java @@ -80,14 +80,16 @@ public class ItemPhilosopherStone extends ItemEE @Override public boolean onItemUse(ItemStack itemStack, EntityPlayer entityPlayer, World world, int x, int y, int z, int sideHit, float hitVecX, float hitVecY, float hitVecZ) { - boolean result = TransmutationHelper.transmuteInWorld(world, entityPlayer, itemStack, x, y, z); - - EquivalentExchange3.proxy.sendWorldEventPacket(WorldEvents.TRANSMUTATION, x, y, z, (byte)sideHit, (byte)getCharge(itemStack), (byte)getCharge(itemStack), (byte)getCharge(itemStack), 50, 0); - + //boolean result = TransmutationHelper.transmuteInWorld(world, entityPlayer, itemStack, x, y, z); + boolean result = true; + if (!world.isRemote) { + EquivalentExchange3.proxy.sendWorldEventPacket(WorldEvents.TRANSMUTATION, x, y, z, (byte)sideHit, (byte)getCharge(itemStack), (byte)getCharge(itemStack), (byte)getCharge(itemStack), "50:0"); + } + /* if (result) { itemStack.damageItem(1, entityPlayer); } - + */ return result; } diff --git a/ee3_common/ee3/common/network/PacketWorldEvent.java b/ee3_common/ee3/common/network/PacketWorldEvent.java index 8a03c3f2..d511812a 100644 --- a/ee3_common/ee3/common/network/PacketWorldEvent.java +++ b/ee3_common/ee3/common/network/PacketWorldEvent.java @@ -13,14 +13,14 @@ public class PacketWorldEvent extends PacketEE { public int originX, originY, originZ; public byte sideHit; public byte rangeX, rangeY, rangeZ; - public int targetID, targetMeta; + public String data; public PacketWorldEvent() { super(PacketTypeHandler.WORLD_EVENT, false); } - public PacketWorldEvent(byte eventType, int originX, int originY, int originZ, byte sideHit, byte rangeX, byte rangeY, byte rangeZ, int targetID, int targetMeta) { + public PacketWorldEvent(byte eventType, int originX, int originY, int originZ, byte sideHit, byte rangeX, byte rangeY, byte rangeZ, String data) { super(PacketTypeHandler.WORLD_EVENT, false); this.eventType = eventType; @@ -31,8 +31,7 @@ public class PacketWorldEvent extends PacketEE { this.rangeX = rangeX; this.rangeY = rangeY; this.rangeZ = rangeZ; - this.targetID = targetID; - this.targetMeta = targetMeta; + this.data = data; } public void setEventType(byte eventType) { @@ -58,10 +57,9 @@ public class PacketWorldEvent extends PacketEE { this.rangeZ = rangeZ; } - public void setTransmutationTarget(int targetID, int targetMeta) { + public void setData(String data) { - this.targetID = targetID; - this.targetMeta = targetMeta; + this.data = data; } public void writeData(DataOutputStream data) throws IOException { @@ -74,8 +72,7 @@ public class PacketWorldEvent extends PacketEE { data.writeByte(rangeX); data.writeByte(rangeY); data.writeByte(rangeZ); - data.writeInt(targetID); - data.writeInt(targetMeta); + data.writeUTF(this.data); } public void readData(DataInputStream data) throws IOException { @@ -88,8 +85,7 @@ public class PacketWorldEvent extends PacketEE { this.rangeX = data.readByte(); this.rangeY = data.readByte(); this.rangeZ = data.readByte(); - this.targetID = data.readInt(); - this.targetMeta = data.readInt(); + this.data = data.readUTF(); } public void execute(INetworkManager manager, Player player) { @@ -102,8 +98,7 @@ public class PacketWorldEvent extends PacketEE { System.out.println("rangeX: " + rangeX); System.out.println("rangeY: " + rangeY); System.out.println("rangeZ: " + rangeZ); - System.out.println("targetID: " + targetID); - System.out.println("targetMeta: " + targetMeta); + System.out.println("data: " + data); } }