diff --git a/bin/minecraft/armor/bronze_1.png b/bin/minecraft/armor/bronze_1.png new file mode 100755 index 000000000..b3e0d9651 Binary files /dev/null and b/bin/minecraft/armor/bronze_1.png differ diff --git a/bin/minecraft/armor/bronze_2.png b/bin/minecraft/armor/bronze_2.png new file mode 100755 index 000000000..e50712ecd Binary files /dev/null and b/bin/minecraft/armor/bronze_2.png differ diff --git a/bin/minecraft/armor/redstone_1.png b/bin/minecraft/armor/redstone_1.png deleted file mode 100755 index de670b471..000000000 Binary files a/bin/minecraft/armor/redstone_1.png and /dev/null differ diff --git a/bin/minecraft/armor/redstone_2.png b/bin/minecraft/armor/redstone_2.png deleted file mode 100755 index ba788fe65..000000000 Binary files a/bin/minecraft/armor/redstone_2.png and /dev/null differ diff --git a/bin/minecraft/resources/mekanism/textures/items.png b/bin/minecraft/resources/mekanism/textures/items.png index 2bd6bc0aa..ce23d9601 100644 Binary files a/bin/minecraft/resources/mekanism/textures/items.png and b/bin/minecraft/resources/mekanism/textures/items.png differ diff --git a/bin/minecraft/resources/mekanism/textures/terrain.png b/bin/minecraft/resources/mekanism/textures/terrain.png index 4f712d64f..bb38862cd 100755 Binary files a/bin/minecraft/resources/mekanism/textures/terrain.png and b/bin/minecraft/resources/mekanism/textures/terrain.png differ diff --git a/src/minecraft/mekanism/api/InfusionType.java b/src/minecraft/mekanism/api/InfusionType.java index 862bd23f6..2417e46fc 100644 --- a/src/minecraft/mekanism/api/InfusionType.java +++ b/src/minecraft/mekanism/api/InfusionType.java @@ -1,7 +1,5 @@ package mekanism.api; -import mekanism.api.Tier.EnergyCubeTier; - public enum InfusionType { COAL("COAL"), @@ -20,7 +18,7 @@ public enum InfusionType } } - System.out.println("[Mekanism] Invalid tier identifier when retrieving with name."); + System.out.println("[Mekanism] Invalid infusion identifier when retrieving with name."); return NONE; } diff --git a/src/minecraft/mekanism/client/ClientProxy.java b/src/minecraft/mekanism/client/ClientProxy.java index 0c40d76b4..7ec709e58 100644 --- a/src/minecraft/mekanism/client/ClientProxy.java +++ b/src/minecraft/mekanism/client/ClientProxy.java @@ -165,4 +165,19 @@ public class ClientProxy extends CommonProxy { Mekanism.audioHandler = new SoundHandler(); } + + @Override + public void unloadSoundHandler() + { + synchronized(Mekanism.audioHandler.sounds) + { + for(Sound sound : Mekanism.audioHandler.sounds) + { + sound.stop(); + Mekanism.audioHandler.soundSystem.removeSource(sound.identifier); + } + + Mekanism.audioHandler.sounds.clear(); + } + } } diff --git a/src/minecraft/mekanism/client/ClientTickHandler.java b/src/minecraft/mekanism/client/ClientTickHandler.java index e00e77e46..bd44f748b 100644 --- a/src/minecraft/mekanism/client/ClientTickHandler.java +++ b/src/minecraft/mekanism/client/ClientTickHandler.java @@ -32,7 +32,10 @@ public class ClientTickHandler implements ITickHandler @Override public void tickEnd(EnumSet type, Object... tickData) { - Mekanism.audioHandler.onTick(); + synchronized(Mekanism.audioHandler.sounds) + { + Mekanism.audioHandler.onTick(); + } } @Override diff --git a/src/minecraft/mekanism/client/Sound.java b/src/minecraft/mekanism/client/Sound.java index ad2a5f822..18a2550fb 100644 --- a/src/minecraft/mekanism/client/Sound.java +++ b/src/minecraft/mekanism/client/Sound.java @@ -17,24 +17,21 @@ import paulscode.sound.SoundSystem; */ public class Sound { - /** The PaulsCode SoundSystem */ - public SoundSystem soundSystem; - /** The bundled path where the sound is */ public String soundPath; + /** A unique identifier for this sound */ public String identifier; /** X coordinate of this sound effect */ public int xCoord; + /** Y coordinate of this sound effect */ public int yCoord; + /** Z coordinate of this sound effect */ public int zCoord; - /** The world in which this sound is playing */ - public World worldObj; - /** Whether or not this sound is playing */ public boolean isPlaying = false; @@ -48,25 +45,26 @@ public class Sound * @param y - y coord * @param z - z coord */ - public Sound(SoundSystem system, String id, String sound, World world, int x, int y, int z) + public Sound(String id, String sound, World world, int x, int y, int z) { - soundSystem = system; - soundPath = sound; - identifier = id; - worldObj = world; - xCoord = x; - yCoord = y; - zCoord = z; - - URL url = getClass().getClassLoader().getResource("resources/mekanism/sound/" + sound); - if(url == null) + synchronized(Mekanism.audioHandler.sounds) { - System.out.println("[Mekanism] Invalid sound file: " + sound); + soundPath = sound; + identifier = id; + xCoord = x; + yCoord = y; + zCoord = z; + + URL url = getClass().getClassLoader().getResource("resources/mekanism/sound/" + sound); + if(url == null) + { + System.out.println("[Mekanism] Invalid sound file: " + sound); + } + + Mekanism.audioHandler.sounds.add(this); + Mekanism.audioHandler.soundSystem.newSource(false, id, url, sound, true, x, y, z, 0, 16F); + Mekanism.audioHandler.soundSystem.activate(id); } - - Mekanism.audioHandler.sounds.add(this); - soundSystem.newSource(false, id, url, sound, true, x, y, z, 0, 16F); - soundSystem.activate(id); } /** @@ -74,13 +72,16 @@ public class Sound */ public void play() { - if(isPlaying) + synchronized(Mekanism.audioHandler.sounds) { - return; + if(isPlaying) + { + return; + } + + Mekanism.audioHandler.soundSystem.play(identifier); + isPlaying = true; } - - soundSystem.play(identifier); - isPlaying = true; } /** @@ -88,13 +89,16 @@ public class Sound */ public void stop() { - if(!isPlaying) + synchronized(Mekanism.audioHandler.sounds) { - return; + if(!isPlaying) + { + return; + } + + Mekanism.audioHandler.soundSystem.stop(identifier); + isPlaying = false; } - - soundSystem.stop(identifier); - isPlaying = false; } /** @@ -102,31 +106,37 @@ public class Sound */ public void remove() { - if(isPlaying) + synchronized(Mekanism.audioHandler.sounds) { - stop(); + if(isPlaying) + { + stop(); + } + + Mekanism.audioHandler.sounds.remove(this); + Mekanism.audioHandler.soundSystem.removeSource(identifier); } - - Mekanism.audioHandler.sounds.remove(this); - soundSystem.removeSource(identifier); } - /** Updates the volume based on how far away the player is from the machine + /** Updates the volume based on how far away the player is from the machine. * - * @param entityplayer - player who is near the machine, usually Minecraft.thePlayer + * @param entityplayer - player who is near the machine, always Minecraft.thePlayer */ public void updateVolume(EntityPlayer entityplayer) { - float volume = 0; - if (!isPlaying) - { - volume = 0.0F; - return; - } - - double distanceVolume = entityplayer.getDistanceSq(xCoord, yCoord, zCoord)*0.01; - volume = (float)Math.max(Mekanism.audioHandler.masterVolume-distanceVolume, 0); - - soundSystem.setVolume(identifier, volume); + synchronized(Mekanism.audioHandler.sounds) + { + float volume = 0; + + if (!isPlaying) + { + return; + } + + double distanceVolume = entityplayer.getDistanceSq(xCoord, yCoord, zCoord)*0.01; + volume = (float)Math.max(Mekanism.audioHandler.masterVolume-distanceVolume, 0); + + Mekanism.audioHandler.soundSystem.setVolume(identifier, volume); + } } } diff --git a/src/minecraft/mekanism/client/SoundHandler.java b/src/minecraft/mekanism/client/SoundHandler.java index 42c42b45f..95b8c4167 100644 --- a/src/minecraft/mekanism/client/SoundHandler.java +++ b/src/minecraft/mekanism/client/SoundHandler.java @@ -1,9 +1,11 @@ package mekanism.client; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.Random; +import mekanism.common.TileEntityBasicMachine; import net.minecraft.world.World; import paulscode.sound.SoundSystem; import cpw.mods.fml.client.FMLClientHandler; @@ -19,7 +21,7 @@ public class SoundHandler /** The PaulsCode SoundSystem */ public SoundSystem soundSystem; - public List sounds = new ArrayList(); + public List sounds = Collections.synchronizedList(new ArrayList()); public float masterVolume = 0; @@ -35,13 +37,18 @@ public class SoundHandler public void onTick() { - for(Sound sound : sounds) + synchronized(sounds) { - if(FMLClientHandler.instance().getClient().theWorld != null && FMLClientHandler.instance().getClient().thePlayer != null) - sound.updateVolume(FMLClientHandler.instance().getClient().thePlayer); + for(Sound sound : sounds) + { + if(FMLClientHandler.instance().getClient().thePlayer != null && FMLClientHandler.instance().getClient().theWorld != null) + { + sound.updateVolume(FMLClientHandler.instance().getClient().thePlayer); + } + } + + masterVolume = FMLClientHandler.instance().getClient().gameSettings.soundVolume; } - - masterVolume = FMLClientHandler.instance().getClient().gameSettings.soundVolume; } /** Create and return an instance of a Sound. @@ -56,26 +63,25 @@ public class SoundHandler */ public Sound getSound(String name, String path, World world, int x, int y, int z) { - if(soundSystem != null) + synchronized(sounds) { - return new Sound(soundSystem, getSoundName(name), path, world, x, y, z); - } - else { - soundSystem = FMLClientHandler.instance().getClient().sndManager.sndSystem; - return new Sound(soundSystem, getSoundName(name), path, world, x, y, z); + String s = getIdentifier(); + System.out.println(s); + return new Sound(s, path, world, x, y, z); } } /** - * Get a unique identifier for a sound effect instance by getting adding a random - * number between 0 and 10,000 to the end of the effect's name. Example: - * EnrichmentChamber_2859 - * @param s - sound name + * Get a unique identifier for a sound effect instance by combining the mod's name, + * Mekanism, the new sound's unique position on the 'sounds' ArrayList, and a random + * number between 0 and 10,000. Example: "Mekanism_6_6123" * @return unique identifier */ - public String getSoundName(String s) + public String getIdentifier() { - Random random = new Random(); - return s + "_" + random.nextInt(10000); + synchronized(sounds) + { + return "Mekanism_" + sounds.size()+1 + "_" + new Random().nextInt(10000); + } } } diff --git a/src/minecraft/mekanism/common/BlockBasic.java b/src/minecraft/mekanism/common/BlockBasic.java index e989122b2..e8f217970 100644 --- a/src/minecraft/mekanism/common/BlockBasic.java +++ b/src/minecraft/mekanism/common/BlockBasic.java @@ -23,7 +23,7 @@ import net.minecraftforge.common.ForgeChunkManager; /** * Block class for handling multiple metal block IDs. * 0: Platinum Block - * 1: Redstone Block + * 1: Bronze Block * 2: Refined Obsidian * 3: Coal Block * 4: Refined Glowstone diff --git a/src/minecraft/mekanism/common/CommonProxy.java b/src/minecraft/mekanism/common/CommonProxy.java index 4af82d3d4..fd7c33c22 100644 --- a/src/minecraft/mekanism/common/CommonProxy.java +++ b/src/minecraft/mekanism/common/CommonProxy.java @@ -34,7 +34,7 @@ public class CommonProxy /** * Gets the armor index number from ClientProxy. - * @param armor indicator + * @param string - armor indicator * @return armor index number */ public int getArmorIndex(String string) @@ -53,10 +53,10 @@ public class CommonProxy Mekanism.oreBlockID = Mekanism.configuration.getBlock("OreBlock", 3002).getInt(); Mekanism.obsidianTNTID = Mekanism.configuration.getBlock("ObsidianTNT", 3003).getInt(); Mekanism.energyCubeID = Mekanism.configuration.getBlock("EnergyCube", 3004).getInt(); - Mekanism.nullRenderID = Mekanism.configuration.getBlock("NullRender", 3007).getInt(); - Mekanism.gasTankID = Mekanism.configuration.getBlock("GasTank", 3009).getInt(); - Mekanism.extrasEnabled = Mekanism.configuration.get("ExtrasEnabled", Configuration.CATEGORY_GENERAL, true).getBoolean(true); - Mekanism.oreGenerationEnabled = Mekanism.configuration.get("OreGenerationEnabled", Configuration.CATEGORY_GENERAL, true).getBoolean(true); + Mekanism.nullRenderID = Mekanism.configuration.getBlock("NullRender", 3005).getInt(); + Mekanism.gasTankID = Mekanism.configuration.getBlock("GasTank", 3006).getInt(); + Mekanism.extrasEnabled = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "ExtrasEnabled", true).getBoolean(true); + Mekanism.oreGenerationEnabled = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "OreGenerationEnabled", true).getBoolean(true); Mekanism.configuration.save(); } @@ -75,6 +75,11 @@ public class CommonProxy */ public void loadSoundHandler() {} + /** + * Unload the sound handler. + */ + public void unloadSoundHandler() {} + /** * Get the actual interface for a GUI. Client-only. * @param ID - gui ID diff --git a/src/minecraft/mekanism/common/ItemBlockBasic.java b/src/minecraft/mekanism/common/ItemBlockBasic.java index e21e64507..4dff935cc 100644 --- a/src/minecraft/mekanism/common/ItemBlockBasic.java +++ b/src/minecraft/mekanism/common/ItemBlockBasic.java @@ -7,7 +7,7 @@ import net.minecraft.item.ItemStack; /** * Item class for handling multiple metal block IDs. * 0: Platinum Block - * 1: Redstone Block + * 1: Bronze Block * 2: Refined Obsidian * 3: Coal Block * 4: Refined Glowstone @@ -49,7 +49,7 @@ public class ItemBlockBasic extends ItemBlock name = "PlatinumBlock"; break; case 1: - name = "RedstoneBlock"; + name = "BronzeBlock"; break; case 2: name = "RefinedObsidian"; diff --git a/src/minecraft/mekanism/common/ItemDust.java b/src/minecraft/mekanism/common/ItemDust.java index 3d8d25a70..09f16db8f 100644 --- a/src/minecraft/mekanism/common/ItemDust.java +++ b/src/minecraft/mekanism/common/ItemDust.java @@ -8,7 +8,7 @@ import net.minecraft.item.ItemStack; public class ItemDust extends ItemMekanism { public static String[] en_USNames = {"Iron", "Gold", "Platinum", - "Obsidian", "Diamond", "RefinedSteel"}; + "Obsidian", "Diamond", "Steel"}; public ItemDust(int id) { diff --git a/src/minecraft/mekanism/common/ItemIngot.java b/src/minecraft/mekanism/common/ItemIngot.java index b0b8c6634..b7ab72dc8 100644 --- a/src/minecraft/mekanism/common/ItemIngot.java +++ b/src/minecraft/mekanism/common/ItemIngot.java @@ -7,7 +7,7 @@ import net.minecraft.item.ItemStack; public class ItemIngot extends ItemMekanism { - public static String[] en_USNames = {"Obsidian", "Platinum", "Redstone", "Glowstone", "RefinedSteel"}; + public static String[] en_USNames = {"Obsidian", "Platinum", "Bronze", "Glowstone", "Steel"}; public ItemIngot(int id) { diff --git a/src/minecraft/mekanism/common/Mekanism.java b/src/minecraft/mekanism/common/Mekanism.java index 3488a2b03..3bb72058d 100644 --- a/src/minecraft/mekanism/common/Mekanism.java +++ b/src/minecraft/mekanism/common/Mekanism.java @@ -25,10 +25,12 @@ import cpw.mods.fml.common.Mod.Init; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.Mod.PostInit; import cpw.mods.fml.common.Mod.PreInit; +import cpw.mods.fml.common.Mod.ServerStopping; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; +import cpw.mods.fml.common.event.FMLServerStoppingEvent; import cpw.mods.fml.common.network.NetworkMod; import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.registry.EntityRegistry; @@ -42,7 +44,7 @@ import cpw.mods.fml.relauncher.SideOnly; * @author AidanBrady * */ -@Mod(modid = "Mekanism", name = "Mekanism", version = "5.0.2") +@Mod(modid = "Mekanism", name = "Mekanism", version = "5.0.3") @NetworkMod(channels = {"Mekanism"}, clientSideRequired = true, serverSideRequired = false, packetHandler = PacketHandler.class) public class Mekanism { @@ -64,7 +66,7 @@ public class Mekanism public static Configuration configuration; /** Mekanism version number */ - public static Version versionNumber = new Version(5, 0, 2); + public static Version versionNumber = new Version(5, 0, 3); /** Mekanism creative tab */ public static CreativeTabMekanism tabMekanism = new CreativeTabMekanism(); @@ -94,8 +96,8 @@ public class Mekanism public static int oreBlockID = 3002; public static int obsidianTNTID = 3003; public static int energyCubeID = 3004; - public static int nullRenderID = 3007; - public static int gasTankID = 3009; + public static int nullRenderID = 3005; + public static int gasTankID = 3006; //Extra Items @@ -177,13 +179,13 @@ public class Mekanism "*", Character.valueOf('*'), new ItemStack(BasicBlock, 1, 0) })); CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(BasicBlock, 1, 1), new Object[] { - "***", "***", "***", Character.valueOf('*'), "ingotRedstone" + "***", "***", "***", Character.valueOf('*'), "ingotBronze" })); CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(Ingot, 9, 2), new Object[] { "*", Character.valueOf('*'), new ItemStack(BasicBlock, 1, 1) })); CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(BasicBlock, 1, 5), new Object[] { - "***", "***", "***", Character.valueOf('*'), "ingotRefinedSteel" + "***", "***", "***", Character.valueOf('*'), "ingotSteel" })); //Extra @@ -244,13 +246,13 @@ public class Mekanism CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(ControlCircuit), new Object[] { " P ", "PEP", " P ", Character.valueOf('P'), "ingotPlatinum", Character.valueOf('E'), EnrichedAlloy })); - CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(EnrichedIron, 2), new Object[] { + CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(EnrichedIron, 6), new Object[] { "A", "I", "A", Character.valueOf('A'), EnrichedAlloy, Character.valueOf('I'), Item.ingotIron })); - CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(EnrichedIron, 1), new Object[] { + CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(EnrichedIron, 4), new Object[] { "C", "I", "C", Character.valueOf('C'), "dustCopper", Character.valueOf('I'), Item.ingotIron })); - CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(EnrichedIron, 1), new Object[] { + CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(EnrichedIron, 4), new Object[] { "T", "I", "T", Character.valueOf('T'), "dustTin", Character.valueOf('I'), Item.ingotIron })); CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(MachineBlock, 1, 5), new Object[] { @@ -280,7 +282,6 @@ public class Mekanism FurnaceRecipes.smelting().addSmelting(Dust.shiftedIndex, 1, new ItemStack(Item.ingotGold), 1.0F); FurnaceRecipes.smelting().addSmelting(Dust.shiftedIndex, 5, new ItemStack(Ingot, 1, 4), 1.0F); GameRegistry.addSmelting(Item.coal.shiftedIndex, new ItemStack(CompressedCarbon), 1.0F); - GameRegistry.addSmelting(EnrichedIron.shiftedIndex, new ItemStack(EnrichedAlloy), 1.0F); //Enrichment Chamber Recipes RecipeHandler.addEnrichmentChamberRecipe(new ItemStack(Dust, 1, 4), new ItemStack(Item.diamond)); @@ -288,11 +289,9 @@ public class Mekanism RecipeHandler.addEnrichmentChamberRecipe(new ItemStack(Block.obsidian), new ItemStack(Dust, 1, 3)); RecipeHandler.addEnrichmentChamberRecipe(new ItemStack(Block.oreIron), new ItemStack(Dust, 2, 0)); RecipeHandler.addEnrichmentChamberRecipe(new ItemStack(Block.oreGold), new ItemStack(Dust, 2, 1)); - RecipeHandler.addEnrichmentChamberRecipe(new ItemStack(EnrichedIron, 2), new ItemStack(Dust, 1, 2)); RecipeHandler.addEnrichmentChamberRecipe(new ItemStack(Item.coal, 4), new ItemStack(CompressedCarbon, 8)); //Platinum Compressor Recipes - RecipeHandler.addPlatinumCompressorRecipe(new ItemStack(Item.redstone), new ItemStack(Ingot, 1, 2)); RecipeHandler.addPlatinumCompressorRecipe(new ItemStack(Item.lightStoneDust), new ItemStack(Ingot, 1, 3)); //Combiner Recipes @@ -347,7 +346,7 @@ public class Mekanism //Localization for MultiBlock LanguageRegistry.instance().addStringLocalization("tile.BasicBlock.PlatinumBlock.name", "Platinum Block"); - LanguageRegistry.instance().addStringLocalization("tile.BasicBlock.RedstoneBlock.name", "Redstone Block"); + LanguageRegistry.instance().addStringLocalization("tile.BasicBlock.BronzeBlock.name", "Bronze Block"); LanguageRegistry.instance().addStringLocalization("tile.BasicBlock.RefinedObsidian.name", "Refined Obsidian"); LanguageRegistry.instance().addStringLocalization("tile.BasicBlock.CoalBlock.name", "Coal Block"); LanguageRegistry.instance().addStringLocalization("tile.BasicBlock.RefinedGlowstone.name", "Refined Glowstone"); @@ -379,14 +378,14 @@ public class Mekanism LanguageRegistry.instance().addStringLocalization("item.platinumDust.name", "Platinum Dust"); LanguageRegistry.instance().addStringLocalization("item.obsidianDust.name", "Obsidian Dust"); LanguageRegistry.instance().addStringLocalization("item.diamondDust.name", "Diamond Dust"); - LanguageRegistry.instance().addStringLocalization("item.refinedsteelDust.name", "Refined Steel Dust"); + LanguageRegistry.instance().addStringLocalization("item.steelDust.name", "Steel Dust"); //Localization for Ingot LanguageRegistry.instance().addStringLocalization("item.obsidianIngot.name", "Obsidian Ingot"); LanguageRegistry.instance().addStringLocalization("item.platinumIngot.name", "Platinum Ingot"); - LanguageRegistry.instance().addStringLocalization("item.redstoneIngot.name", "Redstone Ingot"); + LanguageRegistry.instance().addStringLocalization("item.bronzeIngot.name", "Bronze Ingot"); LanguageRegistry.instance().addStringLocalization("item.glowstoneIngot.name", "Glowstone Ingot"); - LanguageRegistry.instance().addStringLocalization("item.refinedsteelIngot.name", "Refined Steel Ingot"); + LanguageRegistry.instance().addStringLocalization("item.steelIngot.name", "Steel Ingot"); //Localization for Mekanism creative tab LanguageRegistry.instance().addStringLocalization("itemGroup.tabMekanism", "Mekanism"); @@ -460,9 +459,9 @@ public class Mekanism GasTank = new BlockGasTank(gasTankID).setBlockName("GasTank"); //Registrations - GameRegistry.registerBlock(ObsidianTNT); - GameRegistry.registerBlock(NullRender); - GameRegistry.registerBlock(GasTank); + GameRegistry.registerBlock(ObsidianTNT, "ObsidianTNT"); + GameRegistry.registerBlock(NullRender, "NullRender"); + GameRegistry.registerBlock(GasTank, "GasTank"); //Add block items into itemsList for blocks with common IDs. Item.itemsList[basicBlockID] = new ItemBlockBasic(basicBlockID - 256, BasicBlock).setItemName("BasicBlock"); @@ -482,13 +481,13 @@ public class Mekanism OreDictionary.registerOre("dustPlatinum", new ItemStack(Dust, 1, 2)); OreDictionary.registerOre("dustObsidian", new ItemStack(Dust, 1, 3)); OreDictionary.registerOre("dustDiamond", new ItemStack(Dust, 1, 4)); - OreDictionary.registerOre("dustRefinedSteel", new ItemStack(Dust, 1, 5)); + OreDictionary.registerOre("dustSteel", new ItemStack(Dust, 1, 5)); OreDictionary.registerOre("ingotObsidian", new ItemStack(Ingot, 1, 0)); OreDictionary.registerOre("ingotPlatinum", new ItemStack(Ingot, 1, 1)); - OreDictionary.registerOre("ingotRedstone", new ItemStack(Ingot, 1, 2)); + OreDictionary.registerOre("ingotBronze", new ItemStack(Ingot, 1, 2)); OreDictionary.registerOre("ingotGlowstone", new ItemStack(Ingot, 1, 3)); - OreDictionary.registerOre("ingotRefinedSteel", new ItemStack(Ingot, 1, 4)); + OreDictionary.registerOre("ingotSteel", new ItemStack(Ingot, 1, 4)); OreDictionary.registerOre("orePlatinum", new ItemStack(OreBlock, 1, 0)); @@ -541,13 +540,6 @@ public class Mekanism } } catch(Exception e) {} - try { - for(ItemStack ore : OreDictionary.getOres("ingotRefinedSteel")) - { - RecipeHandler.addEnrichmentChamberRecipe(ore, OreDictionary.getOres("ingotSteel").get(0)); - } - } catch(Exception e) {} - for(ItemStack ore : OreDictionary.getOres("ingotObsidian")) { RecipeHandler.addCrusherRecipe(ore, new ItemStack(Dust, 1, 3)); @@ -618,7 +610,7 @@ public class Mekanism try { for(ItemStack ore : OreDictionary.getOres("ingotCopper")) { - RecipeHandler.addMetallurgicInfuserRecipe(Infusion.getInfusion(InfusionType.TIN, ore), MekanismUtils.getStackWithSize(OreDictionary.getOres("ingotBronze").get(0), 1)); + RecipeHandler.addMetallurgicInfuserRecipe(Infusion.getInfusion(InfusionType.TIN, ore), new ItemStack(Ingot, 1, 2)); } } catch(Exception e) {} @@ -682,6 +674,12 @@ public class Mekanism ServerCommandHandler.initialize(); } + @ServerStopping + public void serverStopping(FMLServerStoppingEvent event) + { + proxy.unloadSoundHandler(); + } + @PreInit public void preInit(FMLPreInitializationEvent event) { diff --git a/src/minecraft/mekanism/common/TileEntityBasicMachine.java b/src/minecraft/mekanism/common/TileEntityBasicMachine.java index ee8fa82d9..897bd0773 100644 --- a/src/minecraft/mekanism/common/TileEntityBasicMachine.java +++ b/src/minecraft/mekanism/common/TileEntityBasicMachine.java @@ -95,23 +95,20 @@ public abstract class TileEntityBasicMachine extends TileEntityElectricBlock imp { for(ForgeDirection direction : ForgeDirection.values()) { - if(direction != ForgeDirection.getOrientation(facing)) + TileEntity tileEntity = Vector3.getTileEntityFromSide(worldObj, new Vector3(this), direction); + if(tileEntity != null) { - TileEntity tileEntity = Vector3.getTileEntityFromSide(worldObj, new Vector3(this), direction); - if(tileEntity != null) + if(tileEntity instanceof IConductor) { - if(tileEntity instanceof IConductor) + if(electricityStored < currentMaxElectricity) { - if(electricityStored < currentMaxElectricity) - { - double electricityNeeded = currentMaxElectricity - electricityStored; - ((IConductor)tileEntity).getNetwork().startRequesting(this, electricityNeeded, electricityNeeded >= getVoltage() ? getVoltage() : electricityNeeded); - setJoules(electricityStored + ((IConductor)tileEntity).getNetwork().consumeElectricity(this).getWatts()); - } - else if(electricityStored >= currentMaxElectricity) - { - ((IConductor)tileEntity).getNetwork().stopRequesting(this); - } + double electricityNeeded = currentMaxElectricity - electricityStored; + ((IConductor)tileEntity).getNetwork().startRequesting(this, electricityNeeded, electricityNeeded >= getVoltage() ? getVoltage() : electricityNeeded); + setJoules(electricityStored + ((IConductor)tileEntity).getNetwork().consumeElectricity(this).getWatts()); + } + else if(electricityStored >= currentMaxElectricity) + { + ((IConductor)tileEntity).getNetwork().stopRequesting(this); } } } @@ -120,30 +117,38 @@ public abstract class TileEntityBasicMachine extends TileEntityElectricBlock imp if(worldObj.isRemote) { - handleSound(); + try { + synchronized(Mekanism.audioHandler.sounds) + { + handleSound(); + } + } catch(NoSuchMethodError e) {} } } - + @SideOnly(Side.CLIENT) public void handleSound() { - if(audio == null && worldObj != null && worldObj.isRemote) + synchronized(Mekanism.audioHandler.sounds) { - if(FMLClientHandler.instance().getClient().sndManager.sndSystem != null) + if(audio == null && worldObj != null && worldObj.isRemote) { - audio = Mekanism.audioHandler.getSound(fullName.replace(" ", ""), soundURL, worldObj, xCoord, yCoord, zCoord); + if(FMLClientHandler.instance().getClient().sndManager.sndSystem != null) + { + audio = Mekanism.audioHandler.getSound(fullName.replace(" ", ""), soundURL, worldObj, xCoord, yCoord, zCoord); + } } - } - - if(worldObj != null && worldObj.isRemote && audio != null) - { - if(!audio.isPlaying && isActive == true) + + if(worldObj != null && worldObj.isRemote && audio != null) { - audio.play(); - } - else if(audio.isPlaying && isActive == false) - { - audio.stop(); + if(!audio.isPlaying && isActive == true) + { + audio.play(); + } + else if(audio.isPlaying && isActive == false) + { + audio.stop(); + } } } } diff --git a/src/minecraft/mekanism/common/TileEntityMetallurgicInfuser.java b/src/minecraft/mekanism/common/TileEntityMetallurgicInfuser.java index 50876ee3e..e9928886b 100644 --- a/src/minecraft/mekanism/common/TileEntityMetallurgicInfuser.java +++ b/src/minecraft/mekanism/common/TileEntityMetallurgicInfuser.java @@ -5,6 +5,7 @@ import ic2.api.ElectricItem; import ic2.api.IElectricItem; import ic2.api.energy.tile.IEnergySink; +import java.util.EnumSet; import java.util.HashMap; import java.util.Map; @@ -21,9 +22,12 @@ import net.minecraft.network.packet.Packet250CustomPayload; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.oredict.OreDictionary; +import universalelectricity.core.electricity.ElectricityConnections; +import universalelectricity.core.implement.IConductor; import universalelectricity.core.implement.IItemElectric; import universalelectricity.core.implement.IJouleStorage; import universalelectricity.core.implement.IVoltage; +import universalelectricity.core.vector.Vector3; import com.google.common.io.ByteArrayDataInput; @@ -41,7 +45,7 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem public int MAX_INFUSE = 1000; /** How much energy this machine consumes per-tick. */ - public double ENERGY_PER_TICK = 100; + public double ENERGY_PER_TICK = 12; /** How many ticks it takes to run an operation. */ public int TICKS_REQUIRED = 200; @@ -72,6 +76,8 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem currentTicksRequired = TICKS_REQUIRED; currentMaxElectricity = MAX_ELECTRICITY; + + ElectricityConnections.registerConnector(this, EnumSet.allOf(ForgeDirection.class)); } @Override @@ -81,6 +87,30 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem boolean testActive = operatingTicks > 0; + if(!worldObj.isRemote) + { + for(ForgeDirection direction : ForgeDirection.values()) + { + TileEntity tileEntity = Vector3.getTileEntityFromSide(worldObj, new Vector3(this), direction); + if(tileEntity != null) + { + if(tileEntity instanceof IConductor) + { + if(electricityStored < currentMaxElectricity) + { + double electricityNeeded = currentMaxElectricity - electricityStored; + ((IConductor)tileEntity).getNetwork().startRequesting(this, electricityNeeded, electricityNeeded >= getVoltage() ? getVoltage() : electricityNeeded); + setJoules(electricityStored + ((IConductor)tileEntity).getNetwork().consumeElectricity(this).getWatts()); + } + else if(electricityStored >= currentMaxElectricity) + { + ((IConductor)tileEntity).getNetwork().stopRequesting(this); + } + } + } + } + } + if(inventory[4] != null) { if(electricityStored < currentMaxElectricity) diff --git a/src/minecraft/mekanism/common/TileEntityPlatinumCompressor.java b/src/minecraft/mekanism/common/TileEntityPlatinumCompressor.java index 1a1c38e27..d863f22e4 100644 --- a/src/minecraft/mekanism/common/TileEntityPlatinumCompressor.java +++ b/src/minecraft/mekanism/common/TileEntityPlatinumCompressor.java @@ -4,6 +4,7 @@ import java.util.HashMap; import java.util.Map; import net.minecraft.item.ItemStack; +import net.minecraftforge.oredict.OreDictionary; public class TileEntityPlatinumCompressor extends TileEntityAdvancedElectricMachine { @@ -23,7 +24,18 @@ public class TileEntityPlatinumCompressor extends TileEntityAdvancedElectricMach @Override public int getFuelTicks(ItemStack itemstack) { - if (itemstack.itemID == new ItemStack(Mekanism.Ingot, 1, 1).itemID) return 200; + boolean hasPlatinum = false; + + for(ItemStack ore : OreDictionary.getOres("ingotPlatinum")) + { + if(ore.isItemEqual(itemstack)) + { + hasPlatinum = true; + break; + } + } + + if(hasPlatinum) return 200; return 0; } } diff --git a/src/minecraft/mekanism/common/Version.java b/src/minecraft/mekanism/common/Version.java index 5b566dcdf..b7061606e 100644 --- a/src/minecraft/mekanism/common/Version.java +++ b/src/minecraft/mekanism/common/Version.java @@ -9,8 +9,10 @@ public class Version { /** Major number for version */ public int major; + /** Minor number for version */ public int minor; + /** Build number for version */ public int build; diff --git a/src/minecraft/mekanism/generators/common/MekanismGenerators.java b/src/minecraft/mekanism/generators/common/MekanismGenerators.java index 0fe80162f..f5e915bd9 100644 --- a/src/minecraft/mekanism/generators/common/MekanismGenerators.java +++ b/src/minecraft/mekanism/generators/common/MekanismGenerators.java @@ -19,7 +19,7 @@ import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; -@Mod(modid = "MekanismGenerators", name = "MekanismGenerators", version = "5.0.2", dependencies = "required-after:Mekanism") +@Mod(modid = "MekanismGenerators", name = "MekanismGenerators", version = "5.0.3", dependencies = "required-after:Mekanism") @NetworkMod(clientSideRequired = true, serverSideRequired = false) public class MekanismGenerators { diff --git a/src/minecraft/mekanism/generators/common/TileEntityAdvancedSolarGenerator.java b/src/minecraft/mekanism/generators/common/TileEntityAdvancedSolarGenerator.java index ef390eebb..6f0be181d 100644 --- a/src/minecraft/mekanism/generators/common/TileEntityAdvancedSolarGenerator.java +++ b/src/minecraft/mekanism/generators/common/TileEntityAdvancedSolarGenerator.java @@ -10,7 +10,7 @@ public class TileEntityAdvancedSolarGenerator extends TileEntitySolarGenerator i { public TileEntityAdvancedSolarGenerator() { - super("Advanced Solar Generator", 600000, 256, 256); + super("Advanced Solar Generator", 600000, 512, 512); } @Override diff --git a/src/minecraft/mekanism/tools/common/MekanismTools.java b/src/minecraft/mekanism/tools/common/MekanismTools.java index 49edc0c80..dc376b3b2 100644 --- a/src/minecraft/mekanism/tools/common/MekanismTools.java +++ b/src/minecraft/mekanism/tools/common/MekanismTools.java @@ -26,7 +26,7 @@ import cpw.mods.fml.common.network.NetworkMod; import cpw.mods.fml.common.registry.EntityRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; -@Mod(modid = "MekanismTools", name = "MekanismTools", version = "5.0.2", dependencies = "required-after:Mekanism") +@Mod(modid = "MekanismTools", name = "MekanismTools", version = "5.0.3", dependencies = "required-after:Mekanism") @NetworkMod(clientSideRequired = true, serverSideRequired = false) public class MekanismTools { @@ -34,14 +34,14 @@ public class MekanismTools public static MekanismTools instance; //Enums: Tools - public static EnumToolMaterial toolOBSIDIAN = EnumHelper.addToolMaterial("OBSIDIAN", 3, 2500, 20F, 10, 50); + public static EnumToolMaterial toolOBSIDIAN = EnumHelper.addToolMaterial("OBSIDIAN", 3, 2500, 20F, 10, 100); public static EnumToolMaterial toolOBSIDIAN2 = EnumHelper.addToolMaterial("OBSIDIAN2", 3, 3000, 25F, 10, 100); public static EnumToolMaterial toolLAZULI = EnumHelper.addToolMaterial("LAZULI", 2, 200, 5F, 2, 22); public static EnumToolMaterial toolLAZULI2 = EnumHelper.addToolMaterial("LAZULI2", 2, 250, 6F, 4, 50); public static EnumToolMaterial toolPLATINUM = EnumHelper.addToolMaterial("PLATINUM", 2, 500, 10F, 4, 30); public static EnumToolMaterial toolPLATINUM2 = EnumHelper.addToolMaterial("PLATINUM2", 3, 700, 12F, 5, 40); - public static EnumToolMaterial toolREDSTONE = EnumHelper.addToolMaterial("REDSTONE", 2, 250, 10F, 6, 50); - public static EnumToolMaterial toolREDSTONE2 = EnumHelper.addToolMaterial("REDSTONE2", 2, 400, 12F, 6, 60); + public static EnumToolMaterial toolBRONZE = EnumHelper.addToolMaterial("BRONZE", 3, 1000, 16F, 6, 100); + public static EnumToolMaterial toolBRONZE2 = EnumHelper.addToolMaterial("BRONZE2", 3, 1400, 22F, 10, 100); public static EnumToolMaterial toolGLOWSTONE = EnumHelper.addToolMaterial("GLOWSTONE", 2, 300, 14F, 5, 80); public static EnumToolMaterial toolGLOWSTONE2 = EnumHelper.addToolMaterial("GLOWSTONE2", 2, 450, 18F, 5, 100); public static EnumToolMaterial toolSTEEL = EnumHelper.addToolMaterial("STEEL", 3, 850, 14F, 4, 100); @@ -50,10 +50,10 @@ public class MekanismTools //Enums: Armor public static EnumArmorMaterial armorOBSIDIAN = EnumHelper.addArmorMaterial("OBSIDIAN", 50, new int[]{5, 12, 8, 5}, 50); public static EnumArmorMaterial armorLAZULI = EnumHelper.addArmorMaterial("LAZULI", 13, new int[]{2, 5, 4, 2}, 50); - public static EnumArmorMaterial armorPLATINUM = EnumHelper.addArmorMaterial("PLATINUM", 30, new int[]{4, 10, 7, 4}, 50); - public static EnumArmorMaterial armorREDSTONE = EnumHelper.addArmorMaterial("REDSTONE", 16, new int[]{2, 7, 5, 3}, 50); + public static EnumArmorMaterial armorPLATINUM = EnumHelper.addArmorMaterial("PLATINUM", 30, new int[]{3, 9, 7, 3}, 50); + public static EnumArmorMaterial armorBRONZE = EnumHelper.addArmorMaterial("BRONZE", 42, new int[]{4, 10, 8, 4}, 50); public static EnumArmorMaterial armorGLOWSTONE = EnumHelper.addArmorMaterial("GLOWSTONE", 18, new int[]{3, 7, 6, 3}, 50); - public static EnumArmorMaterial armorSTEEL = EnumHelper.addArmorMaterial("STEEL", 40, new int[] {4, 11, 8, 4}, 50); + public static EnumArmorMaterial armorSTEEL = EnumHelper.addArmorMaterial("STEEL", 40, new int[] {4, 10, 8, 4}, 50); //Base Items public static Item WoodPaxel; @@ -75,16 +75,16 @@ public class MekanismTools public static Item GlowstoneBoots; //Redstone Items - public static Item RedstonePaxel; - public static Item RedstonePickaxe; - public static Item RedstoneAxe; - public static Item RedstoneSpade; - public static Item RedstoneHoe; - public static Item RedstoneSword; - public static Item RedstoneHelmet; - public static Item RedstoneBody; - public static Item RedstoneLegs; - public static Item RedstoneBoots; + public static Item BronzePaxel; + public static Item BronzePickaxe; + public static Item BronzeAxe; + public static Item BronzeSpade; + public static Item BronzeHoe; + public static Item BronzeSword; + public static Item BronzeHelmet; + public static Item BronzeBody; + public static Item BronzeLegs; + public static Item BronzeBoots; //Platinum Items public static Item PlatinumPaxel; @@ -298,68 +298,68 @@ public class MekanismTools "* *", "* *", Character.valueOf('*'), "ingotPlatinum" })); - //Redstone - CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(RedstonePaxel, 1), new Object[] { - "XYZ", " T ", " T ", Character.valueOf('X'), RedstoneAxe, Character.valueOf('Y'), RedstonePickaxe, Character.valueOf('Z'), RedstoneSpade, Character.valueOf('T'), Item.stick + //Bronze + CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(BronzePaxel, 1), new Object[] { + "XYZ", " T ", " T ", Character.valueOf('X'), BronzeAxe, Character.valueOf('Y'), BronzePickaxe, Character.valueOf('Z'), BronzeSpade, Character.valueOf('T'), Item.stick })); - CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(RedstonePickaxe, 1), new Object[] { - "XXX", " T ", " T ", Character.valueOf('X'), "ingotRedstone", Character.valueOf('T'), Item.stick + CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(BronzePickaxe, 1), new Object[] { + "XXX", " T ", " T ", Character.valueOf('X'), "ingotBronze", Character.valueOf('T'), Item.stick })); - CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(RedstoneAxe, 1), new Object[] { - "XX", "XT", " T", Character.valueOf('X'), "ingotRedstone", Character.valueOf('T'), Item.stick + CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(BronzeAxe, 1), new Object[] { + "XX", "XT", " T", Character.valueOf('X'), "ingotBronze", Character.valueOf('T'), Item.stick })); - CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(RedstoneSpade, 1), new Object[] { - "X", "T", "T", Character.valueOf('X'), "ingotRedstone", Character.valueOf('T'), Item.stick + CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(BronzeSpade, 1), new Object[] { + "X", "T", "T", Character.valueOf('X'), "ingotBronze", Character.valueOf('T'), Item.stick })); - CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(RedstoneHoe, 1), new Object[] { - "XX", " T", " T", Character.valueOf('X'), "ingotRedstone", Character.valueOf('T'), Item.stick + CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(BronzeHoe, 1), new Object[] { + "XX", " T", " T", Character.valueOf('X'), "ingotBronze", Character.valueOf('T'), Item.stick })); - CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(RedstoneSword, 1), new Object[] { - "X", "X", "T", Character.valueOf('X'), "ingotRedstone", Character.valueOf('T'), Item.stick + CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(BronzeSword, 1), new Object[] { + "X", "X", "T", Character.valueOf('X'), "ingotBronze", Character.valueOf('T'), Item.stick })); - CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(RedstoneHelmet, 1), new Object[] { - "***", "* *", Character.valueOf('*'), "ingotRedstone" + CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(BronzeHelmet, 1), new Object[] { + "***", "* *", Character.valueOf('*'), "ingotBronze" })); - CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(RedstoneBody, 1), new Object[] { - "* *", "***", "***", Character.valueOf('*'), "ingotRedstone" + CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(BronzeBody, 1), new Object[] { + "* *", "***", "***", Character.valueOf('*'), "ingotBronze" })); - CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(RedstoneLegs, 1), new Object[] { - "***", "* *", "* *", Character.valueOf('*'), "ingotRedstone" + CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(BronzeLegs, 1), new Object[] { + "***", "* *", "* *", Character.valueOf('*'), "ingotBronze" })); - CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(RedstoneBoots, 1), new Object[] { - "* *", "* *", Character.valueOf('*'), "ingotRedstone" + CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(BronzeBoots, 1), new Object[] { + "* *", "* *", Character.valueOf('*'), "ingotBronze" })); //Steel CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(SteelPaxel, 1), new Object[] { - "XYZ", " T ", " T ", Character.valueOf('X'), SteelAxe, Character.valueOf('Y'), SteelPickaxe, Character.valueOf('Z'), SteelSpade, Character.valueOf('T'), Item.stick + "XYZ", " I ", " I ", Character.valueOf('X'), SteelAxe, Character.valueOf('Y'), SteelPickaxe, Character.valueOf('Z'), SteelSpade, Character.valueOf('I'), Item.ingotIron })); CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(SteelPickaxe, 1), new Object[] { - "XXX", " T ", " T ", Character.valueOf('X'), "ingotRefinedSteel", Character.valueOf('T'), Item.stick + "XXX", " I ", " I ", Character.valueOf('X'), "ingotSteel", Character.valueOf('I'), Item.ingotIron })); CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(SteelAxe, 1), new Object[] { - "XX", "XT", " T", Character.valueOf('X'), "ingotRefinedSteel", Character.valueOf('T'), Item.stick + "XX", "XI", " I", Character.valueOf('X'), "ingotSteel", Character.valueOf('I'), Item.ingotIron })); CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(SteelSpade, 1), new Object[] { - "X", "T", "T", Character.valueOf('X'), "ingotRefinedSteel", Character.valueOf('T'), Item.stick + "X", "I", "I", Character.valueOf('X'), "ingotSteel", Character.valueOf('I'), Item.ingotIron })); CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(SteelHoe, 1), new Object[] { - "XX", " T", " T", Character.valueOf('X'), "ingotRefinedSteel", Character.valueOf('T'), Item.stick + "XX", " I", " I", Character.valueOf('X'), "ingotSteel", Character.valueOf('I'), Item.ingotIron })); CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(SteelSword, 1), new Object[] { - "X", "X", "T", Character.valueOf('X'), "ingotRefinedSteel", Character.valueOf('T'), Item.stick + "X", "X", "I", Character.valueOf('X'), "ingotSteel", Character.valueOf('I'), Item.ingotIron })); CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(SteelHelmet, 1), new Object[] { - "***", "* *", Character.valueOf('*'), "ingotRefinedSteel" + "***", "I I", Character.valueOf('*'), "ingotSteel", Character.valueOf('I'), Item.ingotIron })); CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(SteelBody, 1), new Object[] { - "* *", "***", "***", Character.valueOf('*'), "ingotRefinedSteel" + "I I", "*I*", "***", Character.valueOf('*'), "ingotSteel", Character.valueOf('I'), Item.ingotIron })); CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(SteelLegs, 1), new Object[] { - "***", "* *", "* *", Character.valueOf('*'), "ingotRefinedSteel" + "I*I", "* *", "* *", Character.valueOf('*'), "ingotSteel", Character.valueOf('I'), Item.ingotIron })); CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(SteelBoots, 1), new Object[] { - "* *", "* *", Character.valueOf('*'), "ingotRefinedSteel" + "I *", "* I", Character.valueOf('*'), "ingotSteel", Character.valueOf('I'), Item.ingotIron })); } @@ -409,16 +409,16 @@ public class MekanismTools LanguageRegistry.addName(PlatinumSword, "Platinum Sword"); //Redstone - LanguageRegistry.addName(RedstoneHelmet, "Redstone Helmet"); - LanguageRegistry.addName(RedstoneBody, "Redstone Chestplate"); - LanguageRegistry.addName(RedstoneLegs, "Redstone Leggings"); - LanguageRegistry.addName(RedstoneBoots, "Redstone Boots"); - LanguageRegistry.addName(RedstonePaxel, "Redstone Paxel"); - LanguageRegistry.addName(RedstonePickaxe, "Redstone Pickaxe"); - LanguageRegistry.addName(RedstoneAxe, "Redstone Axe"); - LanguageRegistry.addName(RedstoneSpade, "Redstone Shovel"); - LanguageRegistry.addName(RedstoneHoe, "Redstone Hoe"); - LanguageRegistry.addName(RedstoneSword, "Redstone Sword"); + LanguageRegistry.addName(BronzeHelmet, "Bronze Helmet"); + LanguageRegistry.addName(BronzeBody, "Bronze Chestplate"); + LanguageRegistry.addName(BronzeLegs, "Bronze Leggings"); + LanguageRegistry.addName(BronzeBoots, "Bronze Boots"); + LanguageRegistry.addName(BronzePaxel, "Bronze Paxel"); + LanguageRegistry.addName(BronzePickaxe, "Bronze Pickaxe"); + LanguageRegistry.addName(BronzeAxe, "Bronze Axe"); + LanguageRegistry.addName(BronzeSpade, "Bronze Shovel"); + LanguageRegistry.addName(BronzeHoe, "Bronze Hoe"); + LanguageRegistry.addName(BronzeSword, "Bronze Sword"); //Glowstone LanguageRegistry.addName(GlowstonePaxel, "Glowstone Paxel"); @@ -467,16 +467,16 @@ public class MekanismTools GlowstoneSword.setIconIndex(132); //Redstone - RedstoneHelmet.setIconIndex(3); - RedstoneBody.setIconIndex(19); - RedstoneLegs.setIconIndex(35); - RedstoneBoots.setIconIndex(51); - RedstonePaxel.setIconIndex(147); - RedstonePickaxe.setIconIndex(67); - RedstoneAxe.setIconIndex(83); - RedstoneSpade.setIconIndex(99); - RedstoneHoe.setIconIndex(115); - RedstoneSword.setIconIndex(131); + BronzeHelmet.setIconIndex(3); + BronzeBody.setIconIndex(19); + BronzeLegs.setIconIndex(35); + BronzeBoots.setIconIndex(51); + BronzePaxel.setIconIndex(147); + BronzePickaxe.setIconIndex(67); + BronzeAxe.setIconIndex(83); + BronzeSpade.setIconIndex(99); + BronzeHoe.setIconIndex(115); + BronzeSword.setIconIndex(131); //Platinum PlatinumHelmet.setIconIndex(2); @@ -529,17 +529,17 @@ public class MekanismTools public void addItems() { - //Redstone - RedstoneHelmet = (new ItemMekanismArmor(11400, armorREDSTONE, Mekanism.proxy.getArmorIndex("redstone"), 0)).setItemName("RedstoneHelmet"); - RedstoneBody = (new ItemMekanismArmor(11401, armorREDSTONE, Mekanism.proxy.getArmorIndex("redstone"), 1)).setItemName("RedstoneBody"); - RedstoneLegs = (new ItemMekanismArmor(11402, armorREDSTONE, Mekanism.proxy.getArmorIndex("redstone"), 2)).setItemName("RedstoneLegs"); - RedstoneBoots = (new ItemMekanismArmor(11403, armorREDSTONE, Mekanism.proxy.getArmorIndex("redstone"), 3)).setItemName("RedstoneBoots"); - RedstonePaxel = new ItemMekanismPaxel(11404, toolREDSTONE2).setItemName("RedstonePaxel"); - RedstonePickaxe = new ItemMekanismPickaxe(11405, toolREDSTONE).setItemName("RedstonePickaxe"); - RedstoneAxe = new ItemMekanismAxe(11406, toolREDSTONE).setItemName("RedstoneAxe"); - RedstoneSpade = new ItemMekanismSpade(11407, toolREDSTONE).setItemName("RedstoneSpade"); - RedstoneHoe = new ItemMekanismHoe(11408, toolREDSTONE).setItemName("RedstoneHoe"); - RedstoneSword = new ItemMekanismSword(11409, toolREDSTONE).setItemName("RedstoneSword"); + //Bronze + BronzeHelmet = (new ItemMekanismArmor(11400, armorBRONZE, Mekanism.proxy.getArmorIndex("bronze"), 0)).setItemName("BronzeHelmet"); + BronzeBody = (new ItemMekanismArmor(11401, armorBRONZE, Mekanism.proxy.getArmorIndex("bronze"), 1)).setItemName("BronzeBody"); + BronzeLegs = (new ItemMekanismArmor(11402, armorBRONZE, Mekanism.proxy.getArmorIndex("bronze"), 2)).setItemName("BronzeLegs"); + BronzeBoots = (new ItemMekanismArmor(11403, armorBRONZE, Mekanism.proxy.getArmorIndex("bronze"), 3)).setItemName("BronzeBoots"); + BronzePaxel = new ItemMekanismPaxel(11404, toolBRONZE2).setItemName("BronzePaxel"); + BronzePickaxe = new ItemMekanismPickaxe(11405, toolBRONZE).setItemName("BronzePickaxe"); + BronzeAxe = new ItemMekanismAxe(11406, toolBRONZE).setItemName("BronzeAxe"); + BronzeSpade = new ItemMekanismSpade(11407, toolBRONZE).setItemName("BronzeSpade"); + BronzeHoe = new ItemMekanismHoe(11408, toolBRONZE).setItemName("BronzeHoe"); + BronzeSword = new ItemMekanismSword(11409, toolBRONZE).setItemName("BronzeSword"); //Platinum PlatinumHelmet = (new ItemMekanismArmor(11410, EnumArmorMaterial.DIAMOND, Mekanism.proxy.getArmorIndex("platinum"), 0)).setItemName("PlatinumHelmet"); @@ -603,10 +603,10 @@ public class MekanismTools SteelSpade = new ItemMekanismSpade(11458, toolSTEEL).setItemName("SteelSpade"); SteelHoe = new ItemMekanismHoe(11459, toolSTEEL).setItemName("SteelHoe"); SteelSword = new ItemMekanismSword(11460, toolSTEEL).setItemName("SteelSword"); - SteelHelmet = new ItemMekanismArmor(11461, armorSTEEL, Mekanism.proxy.getArmorIndex("Steel"), 0).setItemName("SteelHelmet"); - SteelBody = new ItemMekanismArmor(11462, armorSTEEL, Mekanism.proxy.getArmorIndex("Steel"), 1).setItemName("SteelBody"); - SteelLegs = new ItemMekanismArmor(11463, armorSTEEL, Mekanism.proxy.getArmorIndex("Steel"), 2).setItemName("SteelLegs"); - SteelBoots = new ItemMekanismArmor(11464, armorSTEEL, Mekanism.proxy.getArmorIndex("Steel"), 3).setItemName("SteelBoots"); + SteelHelmet = new ItemMekanismArmor(11461, armorSTEEL, Mekanism.proxy.getArmorIndex("steel"), 0).setItemName("SteelHelmet"); + SteelBody = new ItemMekanismArmor(11462, armorSTEEL, Mekanism.proxy.getArmorIndex("steel"), 1).setItemName("SteelBody"); + SteelLegs = new ItemMekanismArmor(11463, armorSTEEL, Mekanism.proxy.getArmorIndex("steel"), 2).setItemName("SteelLegs"); + SteelBoots = new ItemMekanismArmor(11464, armorSTEEL, Mekanism.proxy.getArmorIndex("steel"), 3).setItemName("SteelBoots"); } @ForgeSubscribe @@ -615,9 +615,9 @@ public class MekanismTools Random random = new Random(); int chance = random.nextInt(100); - int secondChance = random.nextInt(4); + int secondChance = random.nextInt(3); - if(chance < 5) + if(chance < 4) { if(event.entityLiving instanceof EntityZombie || event.entityLiving instanceof EntitySkeleton) { @@ -638,14 +638,6 @@ public class MekanismTools event.entityLiving.setCurrentItemOrArmor(4, new ItemStack(LazuliBoots)); } else if(secondChance == 2) - { - if(event.entityLiving instanceof EntityZombie) event.entityLiving.setCurrentItemOrArmor(0, new ItemStack(RedstoneSword)); - event.entityLiving.setCurrentItemOrArmor(1, new ItemStack(RedstoneHelmet)); - event.entityLiving.setCurrentItemOrArmor(2, new ItemStack(RedstoneBody)); - event.entityLiving.setCurrentItemOrArmor(3, new ItemStack(RedstoneLegs)); - event.entityLiving.setCurrentItemOrArmor(4, new ItemStack(RedstoneBoots)); - } - else if(secondChance == 3) { if(event.entityLiving instanceof EntityZombie) event.entityLiving.setCurrentItemOrArmor(0, new ItemStack(PlatinumSword)); event.entityLiving.setCurrentItemOrArmor(1, new ItemStack(PlatinumHelmet));