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.
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 @@
+
+
+
diff --git a/ee3_client/ee3/client/core/ClientProxy.java b/ee3_client/ee3/client/core/ClientProxy.java
index c974814f..5185012f 100644
--- a/ee3_client/ee3/client/core/ClientProxy.java
+++ b/ee3_client/ee3/client/core/ClientProxy.java
@@ -8,9 +8,12 @@ import cpw.mods.fml.client.FMLClientHandler;
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.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;
@@ -19,8 +22,8 @@ import ee3.client.render.TextureRedWaterFX;
import ee3.client.render.TextureRedWaterFlowFX;
import ee3.common.core.CommonProxy;
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.*;
@@ -37,27 +40,38 @@ public class ClientProxy extends CommonProxy {
@Override
public void registerKeyBindingHandler() {
+
KeyBindingRegistry.registerKeyBinding(new KeyBindingHandler());
}
-
+
+ @Override
+ public void registerRenderTickHandler() {
+
+ TickRegistry.registerTickHandler(new RenderTickHandler(), Side.CLIENT);
+ }
+
@Override
public void registerDrawBlockHighlightHandler() {
+
MinecraftForge.EVENT_BUS.register(new DrawBlockHighlightHandler());
}
@Override
public void setKeyBinding(String name, int value) {
+
KeyBindingHelper.addKeyBinding(name, value);
KeyBindingHelper.addIsRepeating(false);
}
@Override
public void registerSoundHandler() {
+
MinecraftForge.EVENT_BUS.register(new SoundHandler());
}
@Override
public void initCustomRarityTypes() {
+
EnumHelperClient.addRarity(JUNK, COLOR_JUNK, DISPLAY_NAME_JUNK);
EnumHelperClient.addRarity(NORMAL, COLOR_NORMAL, DISPLAY_NAME_NORMAL);
EnumHelperClient.addRarity(UNCOMMON, COLOR_UNCOMMON, DISPLAY_NAME_UNCOMMON);
@@ -69,31 +83,34 @@ public class ClientProxy extends CommonProxy {
@Override
public EnumRarity getCustomRarityType(String customRarity) {
+
for (EnumRarity rarity : EnumRarity.class.getEnumConstants()) {
if (rarity.name().equals(customRarity))
return rarity;
}
return EnumRarity.common;
}
-
+
@Override
public void initRenderingAndTextures() {
- RenderIds.calcinatorRenderId = RenderingRegistry.getNextAvailableRenderId();
-
- MinecraftForgeClient.preloadTexture(Reference.SPRITE_SHEET_LOCATION + Reference.BLOCK_SPRITE_SHEET);
- MinecraftForgeClient.preloadTexture(Reference.SPRITE_SHEET_LOCATION + Reference.ITEM_SPRITE_SHEET);
-
+
+ RenderIds.calcinatorRenderId = RenderingRegistry.getNextAvailableRenderId();
+
+ 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());
-
+
MinecraftForgeClient.registerItemRenderer(BlockIds.CALCINATOR, new RenderItemCalcinator());
}
-
+
@Override
public void initTileEntities() {
- super.initTileEntities();
-
- ClientRegistry.bindTileEntitySpecialRenderer(TileCalcinator.class, new RenderCalcinator());
-
+
+ super.initTileEntities();
+
+ ClientRegistry.bindTileEntitySpecialRenderer(TileCalcinator.class, new RenderCalcinator());
}
+
}
diff --git a/ee3_client/ee3/client/core/handlers/DrawBlockHighlightHandler.java b/ee3_client/ee3/client/core/handlers/DrawBlockHighlightHandler.java
index 0f84211f..4c15bcc3 100644
--- a/ee3_client/ee3/client/core/handlers/DrawBlockHighlightHandler.java
+++ b/ee3_client/ee3/client/core/handlers/DrawBlockHighlightHandler.java
@@ -1,17 +1,149 @@
package ee3.client.core.handlers;
+import org.lwjgl.opengl.GL11;
+import org.lwjgl.opengl.GL12;
+
+import ee3.common.item.ITransmutationStone;
+import ee3.common.item.IChargeable;
+import ee3.common.lib.ConfigurationSettings;
+import ee3.common.lib.Sprites;
+import net.minecraft.src.EnumMovingObjectType;
import net.minecraft.src.RenderEngine;
+import net.minecraft.src.Tessellator;
import net.minecraftforge.client.event.DrawBlockHighlightEvent;
+import net.minecraftforge.common.ForgeDirection;
import net.minecraftforge.event.ForgeSubscribe;
public class DrawBlockHighlightHandler {
-
@ForgeSubscribe
public void onDrawBlockHighlightEvent(DrawBlockHighlightEvent event) {
- RenderEngine renderEngine = event.context.renderEngine;
-
- // TODO Magic happens here
+
+ if (event.currentItem != null) {
+ if (event.currentItem.getItem() instanceof ITransmutationStone) {
+ if (event.target.typeOfHit == EnumMovingObjectType.TILE) {
+ if (ConfigurationSettings.ENABLE_OVERLAY_WORLD_TRANSMUTATION) {
+ drawInWorldTransmutationOverlay(event);
+ }
+ }
+ }
+ }
+ }
+
+ public void drawInWorldTransmutationOverlay(DrawBlockHighlightEvent event) {
+
+ double x = event.target.blockX + 0.5F;
+ double y = event.target.blockY + 0.5F;
+ double z = event.target.blockZ + 0.5F;
+ 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(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);
+ }
+
+ chargeLevel = 1 + itemChargeLevel * 2;
+
+ if ((event.target.sideHit == 0) || (event.target.sideHit == 1)) {
+ xScale = chargeLevel;
+ zScale = chargeLevel;
+ }
+ else if ((event.target.sideHit == 2) || (event.target.sideHit == 3)) {
+ xScale = chargeLevel;
+ yScale = chargeLevel;
+ }
+ else if ((event.target.sideHit == 4) || (event.target.sideHit == 5)) {
+ yScale = chargeLevel;
+ zScale = chargeLevel;
+ }
+
+ float xShift = 0.1F;
+ float yShift = 0.1F;
+ float zShift = 0.1F;
+
+ if (event.target.sideHit == 0) {
+ xShift = 0;
+ yShift = -yShift;
+ zShift = 0;
+ }
+ else if (event.target.sideHit == 1) {
+ xShift = 0;
+ zShift = 0;
+ }
+ else if (event.target.sideHit == 2) {
+ xShift = 0;
+ yShift = 0;
+ if (chargeLevel > 1) {
+ zShift = -zShift - 1;
+ }
+ else {
+ zShift = -zShift;
+ }
+ }
+ else if (event.target.sideHit == 3) {
+ xShift = 0;
+ yShift = 0;
+ }
+ else if (event.target.sideHit == 4) {
+ xShift = -xShift;
+ yShift = 0;
+ zShift = 0;
+ }
+ else if (event.target.sideHit == 5) {
+ yShift = 0;
+ zShift = 0;
+ }
+
+ GL11.glDepthMask(false);
+ GL11.glDisable(GL11.GL_CULL_FACE);
+
+ for (int i = 0; i < 6; i++) {
+ ForgeDirection forgeDir = ForgeDirection.getOrientation(i);
+ GL11.glPushMatrix();
+ GL11.glTranslated(-iPX + x + xShift, -iPY + y + yShift, -iPZ + z + zShift);
+ GL11.glScalef(1F * xScale, 1F * yScale, 1F * zScale);
+ GL11.glRotatef(90, forgeDir.offsetX, forgeDir.offsetY, forgeDir.offsetZ);
+ GL11.glTranslated(0, 0, 0.5f);
+ GL11.glClear(GL11.GL_DEPTH_BUFFER_BIT);
+ renderSlidingQuad(texture, 0.75F);
+ GL11.glPopMatrix();
+ }
+
+ GL11.glEnable(GL11.GL_CULL_FACE);
+ GL11.glDepthMask(true);
+ }
+
+ public static void renderSlidingQuad(int texture, float transparency) {
+
+ float pulse = (System.currentTimeMillis() % 3000) / 3000f;
+
+ GL11.glBindTexture(GL11.GL_TEXTURE_2D, texture);
+ Tessellator tessellator = Tessellator.instance;
+
+ 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, pulse);
+
+ tessellator.startDrawingQuads();
+ 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);
+ 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);
+ GL11.glDisable(GL12.GL_RESCALE_NORMAL);
}
}
diff --git a/ee3_client/ee3/client/core/handlers/KeyBindingHandler.java b/ee3_client/ee3/client/core/handlers/KeyBindingHandler.java
index 7552f1be..b5b46b53 100644
--- a/ee3_client/ee3/client/core/handlers/KeyBindingHandler.java
+++ b/ee3_client/ee3/client/core/handlers/KeyBindingHandler.java
@@ -3,7 +3,7 @@ package ee3.client.core.handlers;
import java.util.EnumSet;
import java.util.logging.Level;
-import net.minecraft.src.EntityClientPlayerMP;
+import net.minecraft.src.EntityPlayer;
import net.minecraft.src.Item;
import net.minecraft.src.ItemStack;
import net.minecraft.src.KeyBinding;
@@ -15,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;
@@ -36,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().currentScreen == null) {
- // TODO Clean this up properly
- if (kb.keyDescription == Reference.KEYBINDING_EXTRA) {
+ if (FMLClientHandler.instance().getClient().inGameHasFocus) {
+ 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)));
}
}
}
@@ -75,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/core/handlers/RenderTickHandler.java b/ee3_client/ee3/client/core/handlers/RenderTickHandler.java
similarity index 51%
rename from ee3_common/ee3/common/core/handlers/RenderTickHandler.java
rename to ee3_client/ee3/client/core/handlers/RenderTickHandler.java
index b58c79cd..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,11 +19,10 @@ 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;
-import ee3.common.item.ItemPhilosopherStone;
+import ee3.common.item.ITransmutationStone;
import ee3.common.lib.ConfigurationSettings;
import ee3.common.lib.Reference;
@@ -44,10 +43,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 ItemPhilosopherStone) && (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]);
+ }
}
}
}
@@ -66,40 +65,39 @@ public class RenderTickHandler implements ITickHandler {
private static void renderStoneHUD(Minecraft minecraft, EntityPlayer player, ItemStack stack, float partialTicks) {
- float overlayScale = 2F;
+ float overlayScale = 2F; // TODO config option
float blockScale = overlayScale / 2;
- float overlayOpacity = 1F;
-
+ 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), 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();
- 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);
- RenderItem renderItem = new RenderItem();
- 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 b9aa4319..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;
@@ -80,7 +80,7 @@ public class EquivalentExchange3 {
TickRegistry.registerTickHandler(new VersionCheckTickHandler(), Side.CLIENT);
// Initialize the Render Tick Handler (Client only)
- TickRegistry.registerTickHandler(new RenderTickHandler(), Side.CLIENT);
+ proxy.registerRenderTickHandler();
// Register the KeyBinding Handler (Client only)
proxy.registerKeyBindingHandler();
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/CommonProxy.java b/ee3_common/ee3/common/core/CommonProxy.java
index 232e4207..35fd2dc4 100644
--- a/ee3_common/ee3/common/core/CommonProxy.java
+++ b/ee3_common/ee3/common/core/CommonProxy.java
@@ -27,6 +27,8 @@ public class CommonProxy implements IGuiHandler {
public void registerKeyBindingHandler() {}
+ public void registerRenderTickHandler() {}
+
public void registerDrawBlockHighlightHandler() {}
public void setKeyBinding(String name, int value) {}
diff --git a/ee3_common/ee3/common/core/handlers/ConfigurationHandler.java b/ee3_common/ee3/common/core/handlers/ConfigurationHandler.java
index 8bcd86d9..1ce26b67 100644
--- a/ee3_common/ee3/common/core/handlers/ConfigurationHandler.java
+++ b/ee3_common/ee3/common/core/handlers/ConfigurationHandler.java
@@ -26,6 +26,7 @@ import static net.minecraftforge.common.Configuration.*;
public class ConfigurationHandler {
private static final String CATEGORY_KEYBIND = "keybinds";
+ private static final String CATEGORY_GRAPHICS = "graphics";
public static void init(File configFile) {
Configuration configuration = new Configuration(configFile);
@@ -35,14 +36,11 @@ public class ConfigurationHandler {
/* General Configs */
ConfigurationSettings.ENABLE_VERSION_CHECK = configuration
- .get(CATEGORY_GENERAL, Reference.ENABLE_VERSION_CHECK, ConfigurationSettings.ENABLE_VERSION_CHECK_DEFAULT)
+ .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, Reference.ENABLE_SOUNDS, ConfigurationSettings.ENABLE_SOUNDS_DEFAULT)
+ .get(CATEGORY_GENERAL, ConfigurationSettings.ENABLE_SOUNDS_CONFIGNAME, ConfigurationSettings.ENABLE_SOUNDS_DEFAULT)
.getBoolean(ConfigurationSettings.ENABLE_SOUNDS_DEFAULT);
- ConfigurationSettings.ENABLE_PARTICLE_FX = configuration
- .get(CATEGORY_GENERAL, Reference.ENABLE_PARTICLE_FX, ConfigurationSettings.ENABLE_PARTICLE_FX_DEFAULT)
- .getBoolean(ConfigurationSettings.ENABLE_PARTICLE_FX_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);
@@ -50,9 +48,17 @@ public class ConfigurationHandler {
.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 */
+ ConfigurationSettings.ENABLE_PARTICLE_FX = configuration
+ .get(CATEGORY_GRAPHICS, ConfigurationSettings.ENABLE_PARTICLE_FX_CONFIGNAME, ConfigurationSettings.ENABLE_PARTICLE_FX_DEFAULT)
+ .getBoolean(ConfigurationSettings.ENABLE_PARTICLE_FX_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
- .get(CATEGORY_BLOCK, Reference.AUTO_RESOLVE_BLOCK_IDS, ConfigurationSettings.AUTO_RESOLVE_BLOCK_IDS_DEFAULT)
+ .get(CATEGORY_BLOCK, ConfigurationSettings.AUTO_RESOLVE_BLOCK_IDS_CONFIGNAME, ConfigurationSettings.AUTO_RESOLVE_BLOCK_IDS_DEFAULT)
.getBoolean(ConfigurationSettings.AUTO_RESOLVE_BLOCK_IDS_DEFAULT);
BlockIds.CALCINATOR = configuration
.getBlock(Strings.CALCINATOR_NAME, BlockIds.CALCINATOR_DEFAULT)
@@ -77,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/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 4f5d022b..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());
@@ -38,75 +38,79 @@ public class TransmutationHelper {
if (nextItem != null) {
if (Block.blocksList[nextItem.itemID] != null) {
world.setBlockAndMetadataWithNotify(x, y, z, nextItem.itemID, nextItem.getItemDamage());
- // TODO Send the sound event to everyone around the player, and not just play the sound on the current client
world.playSoundAtEntity(player, Sounds.TRANSMUTE, 0.5F, 1.0F);
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/IChargeable.java b/ee3_common/ee3/common/item/IChargeable.java
index 98cdf141..11d111ce 100644
--- a/ee3_common/ee3/common/item/IChargeable.java
+++ b/ee3_common/ee3/common/item/IChargeable.java
@@ -3,11 +3,13 @@ package ee3.common.item;
import net.minecraft.src.ItemStack;
public interface IChargeable {
-
- public abstract void setCharge(ItemStack stone, short charge);
-
- public abstract void increaseCharge(ItemStack stone);
-
- public abstract void decreaseCharge(ItemStack stone);
+
+ public abstract short getCharge(ItemStack stack);
+
+ public abstract void setCharge(ItemStack stack, short charge);
+
+ public abstract void increaseCharge(ItemStack stack);
+
+ public abstract void decreaseCharge(ItemStack stack);
}
diff --git a/ee3_common/ee3/common/item/IKeyBound.java b/ee3_common/ee3/common/item/IKeyBound.java
new file mode 100644
index 00000000..bfdb53a0
--- /dev/null
+++ b/ee3_common/ee3/common/item/IKeyBound.java
@@ -0,0 +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, ItemStack itemStack, 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/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 7aaa1bbe..d7de84be 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);
- this.setMaxDamage(0);
- this.setIconCoord(0, 3);
+ public static final String[] alchemyDustNames = new String[] { "ash", "minium", "verdant", "azure", "amaranthine", "iridescent" };
+
+ public ItemAlchemyDust(int id) {
+
+ super(id);
+ this.setHasSubtypes(true);
+ this.setIconCoord(10, 0);
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);
+
+ int i = MathHelper.clamp_int(meta, 0, 5);
return (this.iconIndex + i);
}
-
- public String getItemNameIS(ItemStack stack) {
+
+ @SideOnly(Side.CLIENT)
+ 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 a20ae239..f8b0a5cd 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;
/**
@@ -15,9 +16,10 @@ import net.minecraft.src.Item;
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/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 5d20b384..95749376 100644
--- a/ee3_common/ee3/common/item/ItemMiniumStone.java
+++ b/ee3_common/ee3/common/item/ItemMiniumStone.java
@@ -1,6 +1,5 @@
package ee3.common.item;
-import net.minecraft.src.EntityClientPlayerMP;
import net.minecraft.src.EntityPlayer;
import net.minecraft.src.EnumRarity;
import net.minecraft.src.ItemStack;
@@ -15,6 +14,7 @@ import ee3.common.lib.Colours;
import ee3.common.lib.ConfigurationSettings;
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;
@@ -28,9 +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 {
-
+public class ItemMiniumStone extends ItemEE
+ implements ITransmutationStone, IKeyBound {
+
public ItemMiniumStone(int id) {
+
super(id);
this.setIconCoord(1, 0);
this.setItemName(Strings.MINIUM_STONE_NAME);
@@ -40,50 +42,61 @@ public class ItemMiniumStone extends ItemEE implements ITransmutationStone {
@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(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 04ac9fbf..800a370c 100644
--- a/ee3_common/ee3/common/item/ItemPhilosopherStone.java
+++ b/ee3_common/ee3/common/item/ItemPhilosopherStone.java
@@ -9,10 +9,11 @@ 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.Sounds;
import ee3.common.lib.Strings;
import ee3.common.network.PacketKeyPressed;
import ee3.common.network.PacketTypeHandler;
-import net.minecraft.src.EntityClientPlayerMP;
import net.minecraft.src.EntityPlayer;
import net.minecraft.src.EnumRarity;
import net.minecraft.src.ItemStack;
@@ -27,72 +28,103 @@ 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);
this.setCreativeTab(EquivalentExchange3.tabsEE3);
- this.maxChargeLevel = 4;
+ this.maxChargeLevel = 3;
}
@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 void setCharge(ItemStack stone, short charge) {
+ 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(stone, "chargeLevel", charge);
- }
- }
-
- @Override
- public void increaseCharge(ItemStack stone) {
- if (NBTHelper.getShort(stone, "chargeLevel") < maxChargeLevel) {
- NBTHelper.setShort(stone, "chargeLevel", (short)(NBTHelper.getShort(stone, "chargeLevel") + 1));
+ NBTHelper.setShort(stack, Strings.NBT_CHARGE_LEVEL_KEY, charge);
}
}
@Override
- public void decreaseCharge(ItemStack stone) {
- if (NBTHelper.getShort(stone, "chargeLevel") > 0) {
- NBTHelper.setShort(stone, "chargeLevel", (short)(NBTHelper.getShort(stone, "chargeLevel") - 1));
+ 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));
}
}
+ @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));
+ }
+ }
+
+ @Override
+ 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/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/ConfigurationSettings.java b/ee3_common/ee3/common/lib/ConfigurationSettings.java
index f2c9bee9..0cbe5b13 100644
--- a/ee3_common/ee3/common/lib/ConfigurationSettings.java
+++ b/ee3_common/ee3/common/lib/ConfigurationSettings.java
@@ -13,40 +13,48 @@ import ee3.common.item.ModItems;
*/
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 boolean ENABLE_SOUNDS_DEFAULT = true;
-
- // Whether or not EE3 particle fx are enabled
- public static boolean ENABLE_PARTICLE_FX;
- public static final boolean ENABLE_PARTICLE_FX_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 boolean ENABLE_VERSION_CHECK_DEFAULT = true;
-
- // Whether or not the Philosopher Stone overlay is enabled
- // TODO Do a proper overlay toggle that is saved between sessions
- public static boolean ENABLE_OVERLAY_PHILOSOPHER_STONE = false;
-
- /*
+
+ /*
+ * Render 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 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 boolean ENABLE_OVERLAY_WORLD_TRANSMUTATION_DEFAULT = true;
+
+ /*
* Minium stone 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;
-
+
// 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 int MINIUM_STONE_MAX_DURABILITY_DEFAULT = 1521;
-
+
}
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/Reference.java b/ee3_common/ee3/common/lib/Reference.java
index e5ef090e..cab79fef 100644
--- a/ee3_common/ee3/common/lib/Reference.java
+++ b/ee3_common/ee3/common/lib/Reference.java
@@ -24,12 +24,6 @@ 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";
- /* Configuration related constants */
- public static final String ENABLE_VERSION_CHECK = "enable_version_check";
- public static final String ENABLE_SOUNDS = "enable_sounds";
- public static final String ENABLE_PARTICLE_FX = "enable_particle_fx";
- public static final String AUTO_RESOLVE_BLOCK_IDS = "auto_resolve_block_ids";
-
/* KeyBinding related constants */
public static final String KEYBINDING_EXTRA = "key.extra";
public static final int KEYBINDING_EXTRA_DEFAULT = 46;
@@ -40,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/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/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 9eb60933..bcc8ec3c 100644
--- a/ee3_common/ee3/common/lib/Strings.java
+++ b/ee3_common/ee3/common/lib/Strings.java
@@ -14,10 +14,14 @@ public class Strings {
/* Gui related constants */
public static final String GUI_CALCINATOR_NAME = "gui.calcinator.name";
+
+ /* NBT related constants */
+ public static final String NBT_CHARGE_LEVEL_KEY = "chargeLevel";
/* 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";
@@ -25,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/ee3_common/ee3/common/network/PacketKeyPressed.java b/ee3_common/ee3/common/network/PacketKeyPressed.java
index f7978b4d..c24aa1a4 100644
--- a/ee3_common/ee3/common/network/PacketKeyPressed.java
+++ b/ee3_common/ee3/common/network/PacketKeyPressed.java
@@ -7,6 +7,7 @@ import java.io.IOException;
import cpw.mods.fml.common.network.Player;
import cpw.mods.fml.common.registry.LanguageRegistry;
import ee3.common.EquivalentExchange3;
+import ee3.common.item.IKeyBound;
import ee3.common.item.ITransmutationStone;
import ee3.common.lib.GuiIds;
import ee3.common.lib.ItemIds;
@@ -38,7 +39,6 @@ public class PacketKeyPressed extends PacketEE {
this.key = key;
}
- @Override
public void writeData(DataOutputStream data) throws IOException {
data.writeUTF(key);
}
@@ -54,8 +54,8 @@ 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(thePlayer, thePlayer.getCurrentEquippedItem(), this.key);
}
}
}
diff --git a/ee3_common/ee3/common/network/PacketTileUpdate.java b/ee3_common/ee3/common/network/PacketTileUpdate.java
index 3e8a6838..9d6b367f 100644
--- a/ee3_common/ee3/common/network/PacketTileUpdate.java
+++ b/ee3_common/ee3/common/network/PacketTileUpdate.java
@@ -52,7 +52,6 @@ public class PacketTileUpdate extends PacketEE {
this.player = player;
}
- @Override
public void writeData(DataOutputStream data) throws IOException {
data.writeInt(x);
data.writeInt(y);
diff --git a/resources/ee3/art/sprites/ee3_items.png b/resources/ee3/art/sprites/ee3_items.png
index 0294c74a..bbb839e0 100644
Binary files a/resources/ee3/art/sprites/ee3_items.png and b/resources/ee3/art/sprites/ee3_items.png differ
diff --git a/resources/ee3/art/sprites/noise.png b/resources/ee3/art/sprites/noise.png
new file mode 100644
index 00000000..03f06c76
Binary files /dev/null and b/resources/ee3/art/sprites/noise.png differ
diff --git a/resources/ee3/art/sprites/test-circle.png b/resources/ee3/art/sprites/test-circle.png
new file mode 100644
index 00000000..5005589e
Binary files /dev/null and b/resources/ee3/art/sprites/test-circle.png differ
diff --git a/resources/ee3/art/sprites/xcf/ee3_items.xcf b/resources/ee3/art/sprites/xcf/ee3_items.xcf
index 85bb2748..047419fa 100644
Binary files a/resources/ee3/art/sprites/xcf/ee3_items.xcf and b/resources/ee3/art/sprites/xcf/ee3_items.xcf differ
diff --git a/resources/ee3/art/sprites/xcf/noise.xcf b/resources/ee3/art/sprites/xcf/noise.xcf
new file mode 100644
index 00000000..4d965fb7
Binary files /dev/null and b/resources/ee3/art/sprites/xcf/noise.xcf differ
diff --git a/resources/ee3/lang/en_US.xml b/resources/ee3/lang/en_US.xml
index 66e55db6..0f91b2bf 100644
--- a/resources/ee3/lang/en_US.xml
+++ b/resources/ee3/lang/en_US.xml
@@ -16,6 +16,22 @@
Azure Dust
Amaranthine Dust
Iridescent Dust
+ White Alchemical Bag
+ Orange Alchemical Bag
+ Magenta Alchemical Bag
+ Light Blue Alchemical Bag
+ Yellow Alchemical Bag
+ Lime Alchemical Bag
+ Pink Alchemical Bag
+ Gray Alchemical Bag
+ Light Gray Alchemical Bag
+ Cyan Alchemical Bag
+ Purple Alchemical Bag
+ Blue Alchemical Bag
+ Brown Alchemical Bag
+ Green Alchemical Bag
+ Red Alchemical Bag
+ Black Alchemical Bag
Red Water (Still)
Red Water (Flowing)
Calcinator
diff --git a/resources/ee3/lang/fr_FR.xml b/resources/ee3/lang/fr_FR.xml
index 4f36f4c2..9aebbe7c 100644
--- a/resources/ee3/lang/fr_FR.xml
+++ b/resources/ee3/lang/fr_FR.xml
@@ -14,7 +14,7 @@
Calcinateur
Lancement de la vérification de votre version par rapport à cette de reference :
Le lancement de la vérification a échoué
- Vous utilisez la version la plus à jour pour votre version de Minecraft
+ Vous utilisez la version (@REMOTE_MOD_VERSION@) la plus à jour pour votre version de Minecraft (@MINECRAFT_VERSION)
Vous utilisez une verison obsolète, pensez à effecuter une mise a jour ici - @MOD_UPDATE_LOCATION@
Erreur de connexion vers la version de référence (vérifiez votre connexion internet ?)
Verification de version désactiée
diff --git a/resources/ee3/lang/nl_NL.xml b/resources/ee3/lang/nl_NL.xml
index e851949a..cc331bf2 100644
--- a/resources/ee3/lang/nl_NL.xml
+++ b/resources/ee3/lang/nl_NL.xml
@@ -16,15 +16,15 @@
Azuurblauw Stof
Amarant Stof
Iriserend Stof
- Rood Water (Stilstaand)
- Rood Water (Vloeiend)
+ Stilstaand Rood Water
+ Vloeiend Rood Water
Calcinator
Calcinator
Equivalent Exchange 3
Start versiecontrole tegen extern versiebestand, te vinden op
De versiecontrole is niet geslaagd (versiecontrole niet correct gestart)
- Je gebruikt momenteel de meest recente versie voor jouw Minecraft versie
- Je gebruikt momenteel een verouderde versie; overweeg om up te daten - @MOD_UPDATE_LOCATION@
- Fout bij het verbinden met het extern versiecontrole bestand (controleer je internetverbinding)
+ Je gebruikt momenteel de meest recente versie (@REMOTE_MOD_VERSION@) van Equivalent Exchange 3 voor @MINECRAFT_VERSION@
+ 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
diff --git a/resources/ee3/lang/sr_RS.xml b/resources/ee3/lang/sr_RS.xml
index 70e36c08..eb09c4cb 100644
--- a/resources/ee3/lang/sr_RS.xml
+++ b/resources/ee3/lang/sr_RS.xml
@@ -10,15 +10,21 @@
Инерт Камен
Миниум Камен
Философ'сКи Камен
+ Пепео
+ Minium Прашина
+ Зелена Прашина
+ Плава Пашина
+ Неувенљива Прашина
+ Преливач боја Прашина
Црвена Вода (Извор)
Црвена Вода (Текућа)
Цалцинатор
Цалцинатор
Иста Размена 3
- Покретање верзије провера према Приступу удаљеним фајловима верзије ауторитета, који се налази у
+ Покретање верзије провера према приступу удаљеним фајловима верзије ауторитета, који се налази у
Провера Верзије није успешно завршена (верзија провере није покренута правилно)
- Ви тренутно користите најновију верзију за мајнкрафт
- Ви тренутно користите застарелу верзију; Размотрити надоградљу на - @MOD_UPDATE_LOCATION@
+ Ви тренутно користите најновију верзинју (@REMOTE_MOD_VERSION@) од Исте Замене 3 за @MINECRAFT_VERSION@
+ Нова @MOD_NAME@ верзија постоји (@REMOTE_MOD_VERSION@) за @MINECRAFT_VERSION@. Узмите овде: @MOD_UPDATE_LOCATION@
Грешка у повезивању удаљене верзије ауторетета податка (Погледајте вашу конекцију?)
Провера верзије је искључено, Прескочено
\ No newline at end of file
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 e2c7c1f6..00000000
Binary files a/resources/ee3/sound/chargetick.ogg and /dev/null differ
diff --git a/version.xml b/version.xml
index ad091f0c..106688dd 100644
--- a/version.xml
+++ b/version.xml
@@ -4,5 +4,5 @@
Version lookup for Equivalent Exchange 3. Format is "Current Version Number|URL to update page"
pre1a|http://goo.gl/Ria2V
pre1b|http://goo.gl/Ria2V
- pre2|http://goo.gl/Ria2V
+ pre1d|http://goo.gl/Ria2V
\ No newline at end of file