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