v5.0.9 Release

*Sounds for the Hydrogen Generator.
*Sounds for the Smelting Factory.
*Sounds for the Bio-Generator.
*Copper Dust.
*Tin Dust.
*Bumped version to 5.0.9.
*Fixed Ancient Warfare incompatibility.
*NEI plugin.
*Better Ore Dictionary integration.
*Configuration for item IDs.
*Other minor tweaks and bugfixes.
This commit is contained in:
Aidan Brady 2013-01-12 09:52:41 -05:00
parent c328e393bf
commit 2f61becc52
38 changed files with 1093 additions and 243 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View file

@ -29,16 +29,19 @@ public class ItemRenderingHandler implements IItemRenderer
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data)
{
EnergyCubeTier tier = ((IEnergyCube)item.getItem()).getTier(item);
ForgeHooksClient.bindTexture(item.getItem().getTextureFile(), 0);
if(type == ItemRenderType.EQUIPPED)
{
GL11.glTranslatef(0.5F, 0.5F, 0.5F);
}
renderItem((RenderBlocks)data[0], tier == EnergyCubeTier.BASIC ? 0 : (tier == EnergyCubeTier.ADVANCED ? 1 : (tier == EnergyCubeTier.ULTIMATE ? 2 : 0)));
if(item.getItem() instanceof IEnergyCube)
{
EnergyCubeTier tier = ((IEnergyCube)item.getItem()).getTier(item);
ForgeHooksClient.bindTexture(item.getItem().getTextureFile(), 0);
if(type == ItemRenderType.EQUIPPED)
{
GL11.glTranslatef(0.5F, 0.5F, 0.5F);
}
renderItem((RenderBlocks)data[0], tier == EnergyCubeTier.BASIC ? 0 : (tier == EnergyCubeTier.ADVANCED ? 1 : (tier == EnergyCubeTier.ULTIMATE ? 2 : 0)));
}
}
/**

View file

@ -1,7 +1,6 @@
package mekanism.common;
import ic2.api.IElectricItem;
import mekanism.api.ItemMachineUpgrade;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;

View file

@ -1,7 +1,6 @@
package mekanism.common;
import ic2.api.IElectricItem;
import mekanism.api.ItemMachineUpgrade;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;

View file

@ -4,7 +4,6 @@ import ic2.api.IElectricItem;
import mekanism.api.InfusionInput;
import mekanism.api.InfusionOutput;
import mekanism.api.InfusionType;
import mekanism.api.ItemMachineUpgrade;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;

View file

@ -1,7 +1,6 @@
package mekanism.common;
import ic2.api.IElectricItem;
import mekanism.api.ItemMachineUpgrade;
import mekanism.api.Tier.SmeltingFactoryTier;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;

View file

@ -8,7 +8,8 @@ import net.minecraft.item.ItemStack;
public class ItemDust extends ItemMekanism
{
public static String[] en_USNames = {"Iron", "Gold", "Platinum",
"Obsidian", "Diamond", "Steel"};
"Obsidian", "Diamond", "Steel",
"Copper", "Tin"};
public ItemDust(int id)
{
@ -28,6 +29,8 @@ public class ItemDust extends ItemMekanism
case 3: return 241;
case 4: return 249;
case 5: return 245;
case 6: return 243;
case 7: return 244;
default: return 0;
}
}
@ -35,7 +38,7 @@ public class ItemDust extends ItemMekanism
@Override
public void getSubItems(int id, CreativeTabs tabs, List itemList)
{
for (int counter = 0; counter <= 5; ++counter)
for (int counter = 0; counter <= 7; ++counter)
{
itemList.add(new ItemStack(this, 1, counter));
}

View file

@ -1,13 +1,17 @@
package mekanism.api;
package mekanism.common;
import java.util.List;
import universalelectricity.prefab.modifier.IModifier;
import mekanism.api.IMachineUpgrade;
import mekanism.api.TabProxy;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
public class ItemMachineUpgrade extends Item implements IMachineUpgrade
public class ItemMachineUpgrade extends Item implements IMachineUpgrade, IModifier
{
public int ENERGY_BOOST;
public int TICK_REDUCTION;
@ -45,4 +49,18 @@ public class ItemMachineUpgrade extends Item implements IMachineUpgrade
{
return TICK_REDUCTION;
}
@Override
public String getName(ItemStack itemstack)
{
return shiftedIndex == Mekanism.SpeedUpgrade.shiftedIndex ? "Speed" :
(shiftedIndex == Mekanism.EnergyUpgrade.shiftedIndex ? "Capacity" : "All");
}
@Override
public int getEffectiveness(ItemStack itemstack)
{
return shiftedIndex == Mekanism.SpeedUpgrade.shiftedIndex ? 150 :
(shiftedIndex == Mekanism.EnergyUpgrade.shiftedIndex ? 1000 : 2500);
}
}

View file

@ -7,7 +7,6 @@ import java.util.logging.Logger;
import mekanism.api.InfusionInput;
import mekanism.api.InfusionOutput;
import mekanism.api.InfusionType;
import mekanism.api.ItemMachineUpgrade;
import mekanism.api.Tier.EnergyCubeTier;
import mekanism.client.SoundHandler;
import net.minecraft.block.Block;
@ -45,7 +44,7 @@ import cpw.mods.fml.relauncher.SideOnly;
* @author AidanBrady
*
*/
@Mod(modid = "Mekanism", name = "Mekanism", version = "5.0.7")
@Mod(modid = "Mekanism", name = "Mekanism", version = "5.0.9")
@NetworkMod(channels = {"Mekanism"}, clientSideRequired = true, serverSideRequired = false, packetHandler = PacketHandler.class)
public class Mekanism
{
@ -67,7 +66,7 @@ public class Mekanism
public static Configuration configuration;
/** Mekanism version number */
public static Version versionNumber = new Version(5, 0, 7);
public static Version versionNumber = new Version(5, 0, 9);
/** Mekanism creative tab */
public static CreativeTabMekanism tabMekanism = new CreativeTabMekanism();
@ -199,16 +198,16 @@ public class Mekanism
"RCR", "ECE", "RCR", Character.valueOf('C'), Item.ingotGold, Character.valueOf('R'), Item.redstone, Character.valueOf('E'), EnrichedAlloy
}));
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(MachineBlock, 1, 0), new Object[] {
"ARA", "CIC", "ARA", Character.valueOf('A'), EnrichedAlloy, Character.valueOf('R'), Item.redstone, Character.valueOf('I'), new ItemStack(BasicBlock, 1, 5), Character.valueOf('C'), ControlCircuit
"ARA", "CIC", "ARA", Character.valueOf('A'), EnrichedAlloy, Character.valueOf('R'), Item.redstone, Character.valueOf('I'), "blockSteel", Character.valueOf('C'), ControlCircuit
}));
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(MachineBlock, 1, 1), new Object[] {
"RCR", "GIG", "RCR", Character.valueOf('R'), Item.redstone, Character.valueOf('C'), ControlCircuit, Character.valueOf('G'), Block.glass, Character.valueOf('I'), new ItemStack(BasicBlock, 1, 5)
"RCR", "GIG", "RCR", Character.valueOf('R'), Item.redstone, Character.valueOf('C'), ControlCircuit, Character.valueOf('G'), Block.glass, Character.valueOf('I'), "blockSteel"
}));
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(MachineBlock, 1, 2), new Object[] {
"SCS", "RIR", "SCS", Character.valueOf('S'), Block.cobblestone, Character.valueOf('C'), ControlCircuit, Character.valueOf('R'), Item.redstone, Character.valueOf('I'), new ItemStack(BasicBlock, 1, 5)
"SCS", "RIR", "SCS", Character.valueOf('S'), Block.cobblestone, Character.valueOf('C'), ControlCircuit, Character.valueOf('R'), Item.redstone, Character.valueOf('I'), "blockSteel"
}));
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(MachineBlock, 1, 3), new Object[] {
"RLR", "CIC", "RLR", Character.valueOf('R'), Item.redstone, Character.valueOf('L'), Item.bucketLava, Character.valueOf('C'), ControlCircuit, Character.valueOf('I'), new ItemStack(BasicBlock, 1, 5)
"RLR", "CIC", "RLR", Character.valueOf('R'), Item.redstone, Character.valueOf('L'), Item.bucketLava, Character.valueOf('C'), ControlCircuit, Character.valueOf('I'), "blockSteel"
}));
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(SpeedUpgrade), new Object[] {
"PAP", "AEA", "PAP", Character.valueOf('P'), "dustPlatinum", Character.valueOf('A'), EnrichedAlloy, Character.valueOf('E'), Item.emerald
@ -256,7 +255,7 @@ public class Mekanism
"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[] {
"CAC", "GIG", "CAC", Character.valueOf('C'), ControlCircuit, Character.valueOf('A'), EnrichedAlloy, Character.valueOf('G'), "dustGold", Character.valueOf('I'), new ItemStack(BasicBlock, 1, 5)
"CAC", "GIG", "CAC", Character.valueOf('C'), ControlCircuit, Character.valueOf('A'), EnrichedAlloy, Character.valueOf('G'), "dustGold", Character.valueOf('I'), "blockSteel"
}));
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(MachineBlock, 1, 6), new Object[] {
"CAC", "DFD", "CAC", Character.valueOf('C'), ControlCircuit, Character.valueOf('A'), EnrichedAlloy, Character.valueOf('D'), "dustDiamond", Character.valueOf('F'), new ItemStack(MachineBlock, 1, 5)
@ -295,7 +294,7 @@ public class Mekanism
RecipeHandler.addPlatinumCompressorRecipe(new ItemStack(Item.lightStoneDust), new ItemStack(Ingot, 1, 3));
//Combiner Recipes
RecipeHandler.addCombinerRecipe(new ItemStack(Item.redstone, 4), new ItemStack(Block.oreRedstone));
RecipeHandler.addCombinerRecipe(new ItemStack(Item.redstone, 10), new ItemStack(Block.oreRedstone));
RecipeHandler.addCombinerRecipe(new ItemStack(Item.redstone), new ItemStack(Ingot, 1, 2));
RecipeHandler.addCombinerRecipe(new ItemStack(Item.diamond), new ItemStack(Block.oreDiamond));
RecipeHandler.addCombinerRecipe(new ItemStack(Item.dyePowder, 4, 4), new ItemStack(Block.oreLapis));
@ -378,6 +377,8 @@ public class Mekanism
LanguageRegistry.instance().addStringLocalization("item.obsidianDust.name", "Obsidian Dust");
LanguageRegistry.instance().addStringLocalization("item.diamondDust.name", "Diamond Dust");
LanguageRegistry.instance().addStringLocalization("item.steelDust.name", "Steel Dust");
LanguageRegistry.instance().addStringLocalization("item.copperDust.name", "Copper Dust");
LanguageRegistry.instance().addStringLocalization("item.tinDust.name", "Tin Dust");
//Localization for Ingot
LanguageRegistry.instance().addStringLocalization("item.obsidianIngot.name", "Obsidian Ingot");
@ -420,25 +421,27 @@ public class Mekanism
*/
public void addItems()
{
ElectricBow = (ItemElectricBow) new ItemElectricBow(11200).setItemName("ElectricBow");
configuration.load();
ElectricBow = (ItemElectricBow) new ItemElectricBow(configuration.getItem("ElectricBow", 11200).getInt()).setItemName("ElectricBow");
if(extrasEnabled == true)
{
Stopwatch = new ItemStopwatch(11202).setItemName("Stopwatch");
WeatherOrb = new ItemWeatherOrb(11203).setItemName("WeatherOrb");
Stopwatch = new ItemStopwatch(configuration.getItem("Stopwatch", 11202).getInt()).setItemName("Stopwatch");
WeatherOrb = new ItemWeatherOrb(configuration.getItem("WeatherOrb", 11203).getInt()).setItemName("WeatherOrb");
}
Dust = new ItemDust(11204-256);
Ingot = new ItemIngot(11205-256);
EnergyTablet = (ItemEnergized) new ItemEnergized(11206, 250000, 800, 2500).setItemName("EnergyTablet");
SpeedUpgrade = new ItemMachineUpgrade(11207, 0, 150).setItemName("SpeedUpgrade");
EnergyUpgrade = new ItemMachineUpgrade(11208, 1000, 0).setItemName("EnergyUpgrade");
UltimateUpgrade = new ItemMachineUpgrade(11209, 2500, 180).setItemName("UltimateUpgrade");
AtomicDisassembler = (ItemAtomicDisassembler) new ItemAtomicDisassembler(11210).setItemName("AtomicDisassembler");
AtomicCore = new ItemMekanism(11211).setItemName("AtomicCore");
EnrichedAlloy = new ItemMekanism(11212).setItemName("EnrichedAlloy");
StorageTank = (ItemStorageTank) new ItemStorageTank(11213, 1600, 16, 16).setItemName("StorageTank");
ControlCircuit = new ItemMekanism(11214).setItemName("ControlCircuit");
EnrichedIron = new ItemMekanism(11215).setItemName("EnrichedIron");
CompressedCarbon = new ItemMekanism(11216).setItemName("CompressedCarbon");
Dust = new ItemDust(configuration.getItem("Dust", 11204).getInt()-256);
Ingot = new ItemIngot(configuration.getItem("Ingot", 11205).getInt()-256);
EnergyTablet = (ItemEnergized) new ItemEnergized(configuration.getItem("EnergyTablet", 11206).getInt(), 250000, 800, 2500).setItemName("EnergyTablet");
SpeedUpgrade = new ItemMachineUpgrade(configuration.getItem("SpeedUpgrade", 11207).getInt(), 0, 150).setItemName("SpeedUpgrade");
EnergyUpgrade = new ItemMachineUpgrade(configuration.getItem("EnergyUpgrade", 11208).getInt(), 1000, 0).setItemName("EnergyUpgrade");
UltimateUpgrade = new ItemMachineUpgrade(configuration.getItem("UltimateUpgrade", 11209).getInt(), 2500, 180).setItemName("UltimateUpgrade");
AtomicDisassembler = (ItemAtomicDisassembler) new ItemAtomicDisassembler(configuration.getItem("AtomicDisassembler", 11210).getInt()).setItemName("AtomicDisassembler");
AtomicCore = new ItemMekanism(configuration.getItem("AtomicCore", 11211).getInt()).setItemName("AtomicCore");
EnrichedAlloy = new ItemMekanism(configuration.getItem("EnrichedAlloy", 11212).getInt()).setItemName("EnrichedAlloy");
StorageTank = (ItemStorageTank) new ItemStorageTank(configuration.getItem("StorageTank", 11213).getInt(), 1600, 16, 16).setItemName("StorageTank");
ControlCircuit = new ItemMekanism(configuration.getItem("ControlCircuit", 11214).getInt()).setItemName("ControlCircuit");
EnrichedIron = new ItemMekanism(configuration.getItem("EnrichedIron", 11215).getInt()).setItemName("EnrichedIron");
CompressedCarbon = new ItemMekanism(configuration.getItem("CompressedCarbon", 11216).getInt()).setItemName("CompressedCarbon");
configuration.save();
}
/**
@ -479,6 +482,8 @@ public class Mekanism
OreDictionary.registerOre("dustObsidian", new ItemStack(Dust, 1, 3));
OreDictionary.registerOre("dustDiamond", new ItemStack(Dust, 1, 4));
OreDictionary.registerOre("dustSteel", new ItemStack(Dust, 1, 5));
OreDictionary.registerOre("dustCopper", new ItemStack(Dust, 1, 6));
OreDictionary.registerOre("dustTin", new ItemStack(Dust, 1, 7));
OreDictionary.registerOre("ingotObsidian", new ItemStack(Ingot, 1, 0));
OreDictionary.registerOre("ingotPlatinum", new ItemStack(Ingot, 1, 1));
@ -486,6 +491,13 @@ public class Mekanism
OreDictionary.registerOre("ingotGlowstone", new ItemStack(Ingot, 1, 3));
OreDictionary.registerOre("ingotSteel", new ItemStack(Ingot, 1, 4));
OreDictionary.registerOre("blockPlatinum", new ItemStack(BasicBlock, 1, 0));
OreDictionary.registerOre("blockBronze", new ItemStack(BasicBlock, 1, 1));
OreDictionary.registerOre("blockRefinedObsidian", new ItemStack(BasicBlock, 1, 2));
OreDictionary.registerOre("blockCoal", new ItemStack(BasicBlock, 1, 3));
OreDictionary.registerOre("blockRefinedGlowstone", new ItemStack(BasicBlock, 1, 4));
OreDictionary.registerOre("blockSteel", new ItemStack(BasicBlock, 1, 5));
OreDictionary.registerOre("orePlatinum", new ItemStack(OreBlock, 1, 0));
if(hooks.IC2Loaded)
@ -496,16 +508,16 @@ public class Mekanism
}
RecipeHandler.addCrusherRecipe(new ItemStack(Item.coal), hooks.IC2CoalDust);
for(ItemStack ore : OreDictionary.getOres("oreCopper"))
{
RecipeHandler.addEnrichmentChamberRecipe(ore, MekanismUtils.getStackWithSize(hooks.IC2CopperDust, 2));
}
for(ItemStack ore : OreDictionary.getOres("oreTin"))
{
RecipeHandler.addEnrichmentChamberRecipe(ore, MekanismUtils.getStackWithSize(hooks.IC2TinDust, 2));
}
}
for(ItemStack ore : OreDictionary.getOres("oreCopper"))
{
RecipeHandler.addEnrichmentChamberRecipe(ore, new ItemStack(Dust, 2, 6));
}
for(ItemStack ore : OreDictionary.getOres("oreTin"))
{
RecipeHandler.addEnrichmentChamberRecipe(ore, new ItemStack(Dust, 2, 7));
}
for(ItemStack ore : OreDictionary.getOres("orePlatinum"))
@ -557,11 +569,6 @@ public class Mekanism
RecipeHandler.addCrusherRecipe(ore, new ItemStack(Item.lightStoneDust));
}
for(ItemStack ore : OreDictionary.getOres("ingotSteel"))
{
RecipeHandler.addEnrichmentChamberRecipe(ore, new ItemStack(Ingot, 1, 4));
}
try {
for(ItemStack ore : OreDictionary.getOres("ingotCopper"))
{

View file

@ -72,7 +72,6 @@ public final class MekanismHooks
Ic2Recipes.addMaceratorRecipe(new ItemStack(Mekanism.Ingot, 1, 3), new ItemStack(Item.lightStoneDust));
Ic2Recipes.addMaceratorRecipe(new ItemStack(Mekanism.Ingot, 1, 4), new ItemStack(Mekanism.Dust, 1, 5));
Ic2Recipes.addMatterAmplifier(Mekanism.EnrichedAlloy, 100000);
System.out.println("[Mekanism] Hooked into IC2 successfully.");
}
if(RailcraftLoaded)
@ -83,6 +82,8 @@ public final class MekanismHooks
{
RecipeHelper.removeRecipes(getBasicComponentsItem("itemSteelDust"));
RecipeHelper.removeRecipes(getBasicComponentsItem("itemSteelIngot"));
RecipeHelper.removeRecipes(getBasicComponentsItem("itemBronzeDust"));
RecipeHelper.removeRecipes(getBasicComponentsItem("itemBronzeIngot"));
System.out.println("[Mekanism] Hooked into BasicComponents successfully.");
}
if(BuildCraftLoaded)

View file

@ -17,6 +17,7 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.oredict.OreDictionary;
import net.minecraftforge.oredict.ShapedOreRecipe;
import cpw.mods.fml.server.FMLServerHandler;
@ -38,7 +39,7 @@ public final class MekanismUtils
if(!Mekanism.latestVersionNumber.contains(Mekanism.versionNumber.toString()))
{
entityplayer.addChatMessage(EnumColor.GREY + "------------- " + EnumColor.DARK_BLUE + "[Mekanism]" + EnumColor.GREY + " -------------");
entityplayer.addChatMessage(EnumColor.GREY + " Using outdated version " + EnumColor.DARK_GREY + Mekanism.versionNumber + EnumColor.GREY + " for Minecraft 1.4.2.");
entityplayer.addChatMessage(EnumColor.GREY + " Using outdated version " + EnumColor.DARK_GREY + Mekanism.versionNumber + EnumColor.GREY + " for Minecraft 1.4.6/7.");
entityplayer.addChatMessage(EnumColor.GREY + " Consider updating to version " + EnumColor.DARK_GREY + Mekanism.latestVersionNumber);
entityplayer.addChatMessage(EnumColor.GREY + " New features: " + EnumColor.INDIGO + Mekanism.recentNews);
entityplayer.addChatMessage(EnumColor.GREY + "------------- " + EnumColor.DARK_BLUE + "[=======]" + EnumColor.GREY + " -------------");

View file

@ -171,6 +171,17 @@ public class PacketHandler implements IPacketHandler
{
output.writeUTF((String)data);
}
else if(data instanceof Byte)
{
output.writeByte((Byte)data);
}
else if(data instanceof int[])
{
for(int i : (int[])data)
{
output.writeInt(i);
}
}
}
Packet250CustomPayload packet = new Packet250CustomPayload();
@ -226,6 +237,10 @@ public class PacketHandler implements IPacketHandler
{
output.writeUTF((String)data);
}
else if(data instanceof Byte)
{
output.writeByte((Byte)data);
}
else if(data instanceof int[])
{
for(int i : (int[])data)

View file

@ -1,6 +1,5 @@
package mekanism.common;
import mekanism.api.ItemMachineUpgrade;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;

View file

@ -82,28 +82,12 @@ public abstract class TileEntityBasicBlock extends TileEntityDisableable impleme
@Override
public void setFacing(short direction)
{
if(initialized)
{
if(Mekanism.hooks.IC2Loaded)
{
EnergyNet.getForWorld(worldObj).removeTileEntity(this);
}
}
initialized = false;
if(canSetFacing(direction))
{
facing = direction;
}
sendPacket();
if(Mekanism.hooks.IC2Loaded)
{
EnergyNet.getForWorld(worldObj).addTileEntity(this);
}
initialized = true;
}
/**

View file

@ -1,3 +1,4 @@
package mekanism.common;
import ic2.api.ElectricItem;

View file

@ -24,6 +24,7 @@ import net.minecraftforge.common.ForgeDirection;
import net.minecraftforge.common.MinecraftForge;
import universalelectricity.core.electricity.ElectricInfo;
import universalelectricity.core.electricity.ElectricityConnections;
import universalelectricity.core.electricity.ElectricityNetwork;
import universalelectricity.core.implement.IConductor;
import universalelectricity.core.implement.IItemElectric;
import universalelectricity.core.implement.IJouleStorage;
@ -196,7 +197,9 @@ public class TileEntityEnergyCube extends TileEntityElectricBlock implements IEn
{
if(electricityStored >= output)
{
MinecraftForge.EVENT_BUS.post(new EnergyTileSourceEvent(this, output));
EnergyTileSourceEvent event = new EnergyTileSourceEvent(this, output);
MinecraftForge.EVENT_BUS.post(event);
setJoules(electricityStored - (output - event.amount));
}
}
@ -210,20 +213,27 @@ public class TileEntityEnergyCube extends TileEntityElectricBlock implements IEn
receptor.getPowerProvider().receiveEnergy((float)(transferEnergy*Mekanism.FROM_BC), ForgeDirection.getOrientation(facing).getOpposite());
setJoules(electricityStored - (int)transferEnergy);
}
else if(tileEntity instanceof IConductor)
{
double joulesNeeded = ((IConductor)tileEntity).getNetwork().getRequest().getWatts();
double transferAmps = Math.max(Math.min(Math.min(ElectricInfo.getAmps(joulesNeeded, getVoltage()), ElectricInfo.getAmps(electricityStored, getVoltage())), 80), 0);
}
}
if(!worldObj.isRemote)
{
ForgeDirection outputDirection = ForgeDirection.getOrientation(facing);
TileEntity outputTile = Vector3.getTileEntityFromSide(worldObj, new Vector3(this), outputDirection);
if (!worldObj.isRemote && transferAmps > 0)
{
((IConductor)tileEntity).getNetwork().startProducing(this, transferAmps, getVoltage());
setJoules(electricityStored - ElectricInfo.getWatts(transferAmps, getVoltage()));
}
else
{
((IConductor)tileEntity).getNetwork().stopProducing(this);
}
ElectricityNetwork outputNetwork = ElectricityNetwork.getNetworkFromTileEntity(outputTile, outputDirection);
if(outputNetwork != null)
{
double outputWatts = Math.min(outputNetwork.getRequest().getWatts(), Math.min(getJoules(), 10000));
if(getJoules() > 0 && outputWatts > 0)
{
outputNetwork.startProducing(this, outputWatts / getVoltage(), getVoltage());
setJoules(electricityStored - outputWatts);
}
else {
outputNetwork.stopProducing(this);
}
}
}

View file

@ -8,6 +8,7 @@ import ic2.api.IElectricItem;
import ic2.api.energy.tile.IEnergySink;
import mekanism.api.IActiveState;
import mekanism.api.Tier.SmeltingFactoryTier;
import mekanism.client.Sound;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
@ -27,6 +28,10 @@ import universalelectricity.core.vector.Vector3;
import com.google.common.io.ByteArrayDataInput;
import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import dan200.computer.api.IComputerAccess;
import dan200.computer.api.IPeripheral;
@ -35,6 +40,10 @@ public class TileEntitySmeltingFactory extends TileEntityElectricBlock implement
/** This Smelting Factory's tier. */
public SmeltingFactoryTier tier;
/** The Sound instance for this machine. */
@SideOnly(Side.CLIENT)
public Sound audio;
/** An int[] used to track all current operations' progress. */
public int[] progress;
@ -78,6 +87,16 @@ public class TileEntitySmeltingFactory extends TileEntityElectricBlock implement
{
super.onUpdate();
if(worldObj.isRemote)
{
try {
synchronized(Mekanism.audioHandler.sounds)
{
handleSound();
}
} catch(NoSuchMethodError e) {}
}
if(powerProvider != null)
{
int received = (int)(powerProvider.useEnergy(0, (float)((currentMaxElectricity-electricityStored)*Mekanism.TO_BC), true)*10);
@ -274,6 +293,44 @@ public class TileEntitySmeltingFactory extends TileEntityElectricBlock implement
}
}
@SideOnly(Side.CLIENT)
public void handleSound()
{
synchronized(Mekanism.audioHandler.sounds)
{
if(audio == null && worldObj != null && worldObj.isRemote)
{
if(FMLClientHandler.instance().getClient().sndManager.sndSystem != null)
{
audio = Mekanism.audioHandler.getSound("SmeltingFactory.ogg", worldObj, xCoord, yCoord, zCoord);
}
}
if(worldObj != null && worldObj.isRemote && audio != null)
{
if(!audio.isPlaying && isActive == true)
{
audio.play();
}
else if(audio.isPlaying && isActive == false)
{
audio.stop();
}
}
}
}
@Override
public void invalidate()
{
super.invalidate();
if(worldObj.isRemote && audio != null)
{
audio.remove();
}
}
public int getScaledProgress(int i, int process)
{
return progress[process]*i / currentTicksRequired;

View file

@ -34,16 +34,40 @@ public class GuiElectrolyticSeparator extends GuiContainer
{
String nameToSet = "";
if(tileEntity.outputType == EnumGas.OXYGEN)
{
nameToSet = EnumGas.HYDROGEN.name;
}
else if(tileEntity.outputType == EnumGas.HYDROGEN)
if(tileEntity.outputType == EnumGas.HYDROGEN)
{
nameToSet = EnumGas.OXYGEN.name;
}
else if(tileEntity.outputType == EnumGas.OXYGEN)
{
nameToSet = EnumGas.NONE.name;
}
else if(tileEntity.outputType == EnumGas.NONE)
{
nameToSet = EnumGas.HYDROGEN.name;
}
PacketHandler.sendTileEntityPacketToServer(tileEntity, nameToSet);
PacketHandler.sendTileEntityPacketToServer(tileEntity, (byte)0, nameToSet);
mc.sndManager.playSoundFX("random.click", 1.0F, 1.0F);
}
else if(xAxis > 8 && xAxis < 17 && yAxis > 73 && yAxis < 82)
{
String nameToSet = "";
if(tileEntity.dumpType == EnumGas.NONE)
{
nameToSet = EnumGas.OXYGEN.name;
}
else if(tileEntity.dumpType == EnumGas.OXYGEN)
{
nameToSet = EnumGas.HYDROGEN.name;
}
else if(tileEntity.dumpType == EnumGas.HYDROGEN)
{
nameToSet = EnumGas.NONE.name;
}
PacketHandler.sendTileEntityPacketToServer(tileEntity, (byte)1, nameToSet);
mc.sndManager.playSoundFX("random.click", 1.0F, 1.0F);
}
}
@ -52,8 +76,8 @@ public class GuiElectrolyticSeparator extends GuiContainer
protected void drawGuiContainerForegroundLayer(int par1, int par2)
{
fontRenderer.drawString(tileEntity.fullName, 45, 6, 0x404040);
fontRenderer.drawString("Inventory", 8, (ySize - 96) + 2, 0x404040);
fontRenderer.drawString("Output", 124, 73, 0x404040);
fontRenderer.drawString("Dump", 21, 73, 0x404040);
}
@Override
@ -66,7 +90,11 @@ public class GuiElectrolyticSeparator extends GuiContainer
guiHeight = (height - ySize) / 2;
drawTexturedModalRect(guiWidth, guiHeight, 0, 0, xSize, ySize);
drawTexturedModalRect(guiWidth + 160, guiHeight + 73, 176, (tileEntity.outputType == EnumGas.OXYGEN ? 82 : 90), 8, 8);
int outputDisplay = tileEntity.outputType == EnumGas.OXYGEN ? 82 : (tileEntity.outputType == EnumGas.HYDROGEN ? 90 : 98);
drawTexturedModalRect(guiWidth + 160, guiHeight + 73, 176, outputDisplay, 8, 8);
int dumpDisplay = tileEntity.dumpType == EnumGas.OXYGEN ? 82 : (tileEntity.dumpType == EnumGas.HYDROGEN ? 90 : 98);
drawTexturedModalRect(guiWidth + 8, guiHeight + 73, 176, dumpDisplay, 8, 8);
int displayInt;

View file

@ -20,7 +20,8 @@ public class RenderElectrolyticSeparator extends TileEntitySpecialRenderer
{
GL11.glPushMatrix();
GL11.glTranslatef((float) x + 0.5f, (float) y + 1.5f, (float) z + 0.5f);
bindTextureByName(tileEntity.outputType == EnumGas.HYDROGEN ? "/resources/mekanism/render/ElectrolyticSeparatorHydrogen.png" : "/resources/mekanism/render/ElectrolyticSeparatorOxygen.png");
bindTextureByName(tileEntity.outputType == EnumGas.HYDROGEN ? "/resources/mekanism/render/ElectrolyticSeparatorHydrogen.png" :
(tileEntity.outputType == EnumGas.OXYGEN ? "/resources/mekanism/render/ElectrolyticSeparatorOxygen.png" : "/resources/mekanism/render/ElectrolyticSeparatorNone.png"));
switch(tileEntity.facing)
{

View file

@ -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.7", dependencies = "required-after:Mekanism")
@Mod(modid = "MekanismGenerators", name = "MekanismGenerators", version = "5.0.9", dependencies = "required-after:Mekanism")
@NetworkMod(clientSideRequired = true, serverSideRequired = false)
public class MekanismGenerators
{
@ -75,13 +75,13 @@ public class MekanismGenerators
"SES", "SES", "III", Character.valueOf('S'), new ItemStack(Generator, 1, 1), Character.valueOf('E'), Mekanism.EnrichedAlloy, Character.valueOf('I'), Item.ingotIron
}));
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(Generator, 1, 4), new Object[] {
"RER", "BIB", "NEN", Character.valueOf('R'), Item.redstone, Character.valueOf('E'), Mekanism.EnrichedAlloy, Character.valueOf('B'), BioFuel, Character.valueOf('I'), new ItemStack(Mekanism.BasicBlock, 1, 5), Character.valueOf('N'), Item.ingotIron
"RER", "BIB", "NEN", Character.valueOf('R'), Item.redstone, Character.valueOf('E'), Mekanism.EnrichedAlloy, Character.valueOf('B'), BioFuel, Character.valueOf('I'), "blockSteel", Character.valueOf('N'), Item.ingotIron
}));
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(Generator, 1, 2), new Object[] {
"IRI", "ECE", "IRI", Character.valueOf('I'), Item.ingotIron, Character.valueOf('R'), Item.redstone, Character.valueOf('E'), Mekanism.EnrichedAlloy, Character.valueOf('C'), ElectrolyticCore
}));
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(Generator, 1, 3), new Object[] {
"PEP", "ICI", "PEP", Character.valueOf('P'), "ingotPlatinum", Character.valueOf('E'), Mekanism.EnrichedAlloy, Character.valueOf('I'), new ItemStack(Mekanism.BasicBlock, 1, 5), Character.valueOf('C'), ElectrolyticCore
"PEP", "ICI", "PEP", Character.valueOf('P'), "ingotPlatinum", Character.valueOf('E'), Mekanism.EnrichedAlloy, Character.valueOf('I'), "blockSteel", Character.valueOf('C'), ElectrolyticCore
}));
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(ElectrolyticCore), new Object[] {
"EPE", "IEG", "EPE", Character.valueOf('E'), Mekanism.EnrichedAlloy, Character.valueOf('P'), "dustPlatinum", Character.valueOf('I'), "dustIron", Character.valueOf('G'), "dustGold"
@ -143,8 +143,10 @@ public class MekanismGenerators
public void addItems()
{
SolarPanel = new ItemMekanism(11300).setItemName("SolarPanel");
BioFuel = new ItemMekanism(11301).setItemName("BioFuel");
ElectrolyticCore = new ItemMekanism(11302).setItemName("ElectrolyticCore");
Mekanism.configuration.load();
SolarPanel = new ItemMekanism(Mekanism.configuration.getItem("SolarPanel", 11300).getInt()).setItemName("SolarPanel");
BioFuel = new ItemMekanism(Mekanism.configuration.getItem("BioFuel", 11301).getInt()).setItemName("BioFuel");
ElectrolyticCore = new ItemMekanism(Mekanism.configuration.getItem("ElectrolyticCore", 11302).getInt()).setItemName("ElectrolyticCore");
Mekanism.configuration.save();
}
}

View file

@ -60,6 +60,9 @@ public class TileEntityElectrolyticSeparator extends TileEntityElectricBlock imp
/** The type of gas this block is outputting. */
public EnumGas outputType;
/** Type type of gas this block is dumping. */
public EnumGas dumpType;
public TileEntityElectrolyticSeparator()
{
@ -67,6 +70,7 @@ public class TileEntityElectrolyticSeparator extends TileEntityElectricBlock imp
ElectricityConnections.registerConnector(this, EnumSet.allOf(ForgeDirection.class));
inventory = new ItemStack[4];
outputType = EnumGas.HYDROGEN;
dumpType = EnumGas.NONE;
}
@Override
@ -227,7 +231,7 @@ public class TileEntityElectrolyticSeparator extends TileEntityElectricBlock imp
setGas(EnumGas.HYDROGEN, hydrogenStored + 1);
}
if(hydrogenStored > 0 && !worldObj.isRemote)
if(outputType != EnumGas.NONE && getGas(outputType) > 0 && !worldObj.isRemote)
{
TileEntity tileEntity = Vector3.getTileEntityFromSide(worldObj, new Vector3(this), ForgeDirection.getOrientation(facing));
@ -251,6 +255,11 @@ public class TileEntityElectrolyticSeparator extends TileEntityElectricBlock imp
}
}
}
if(dumpType != EnumGas.NONE && getGas(dumpType) > 0)
{
setGas(dumpType, (getGas(dumpType) - 8));
}
}
@Override
@ -324,13 +333,25 @@ public class TileEntityElectrolyticSeparator extends TileEntityElectricBlock imp
if(!worldObj.isRemote)
{
try {
outputType = EnumGas.getFromName(dataStream.readUTF());
byte type = dataStream.readByte();
if(type == 0)
{
outputType = EnumGas.getFromName(dataStream.readUTF());
return;
}
else if(type == 1)
{
dumpType = EnumGas.getFromName(dataStream.readUTF());
return;
}
} catch (Exception e)
{
System.out.println("[Mekanism] Error while handling tile entity packet.");
e.printStackTrace();
return;
}
return;
}
try {
@ -340,6 +361,7 @@ public class TileEntityElectrolyticSeparator extends TileEntityElectricBlock imp
oxygenStored = dataStream.readInt();
hydrogenStored = dataStream.readInt();
outputType = EnumGas.getFromName(dataStream.readUTF());
dumpType = EnumGas.getFromName(dataStream.readUTF());
worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
} catch (Exception e)
{
@ -351,13 +373,13 @@ public class TileEntityElectrolyticSeparator extends TileEntityElectricBlock imp
@Override
public void sendPacket()
{
PacketHandler.sendTileEntityPacketToClients(this, 0, facing, electricityStored, waterSlot.liquidStored, oxygenStored, hydrogenStored, outputType.name);
PacketHandler.sendTileEntityPacketToClients(this, 0, facing, electricityStored, waterSlot.liquidStored, oxygenStored, hydrogenStored, outputType.name, dumpType.name);
}
@Override
public void sendPacketWithRange()
{
PacketHandler.sendTileEntityPacketToClients(this, 50, facing, electricityStored, waterSlot.liquidStored, oxygenStored, hydrogenStored, outputType.name);
PacketHandler.sendTileEntityPacketToClients(this, 50, facing, electricityStored, waterSlot.liquidStored, oxygenStored, hydrogenStored, outputType.name, dumpType.name);
}
/**
@ -521,6 +543,7 @@ public class TileEntityElectrolyticSeparator extends TileEntityElectricBlock imp
oxygenStored = nbtTags.getInteger("oxygenStored");
waterSlot.liquidStored = nbtTags.getInteger("waterStored");
outputType = EnumGas.getFromName(nbtTags.getString("outputType"));
dumpType = EnumGas.getFromName(nbtTags.getString("dumpType"));
}
@Override
@ -532,6 +555,7 @@ public class TileEntityElectrolyticSeparator extends TileEntityElectricBlock imp
nbtTags.setInteger("oxygenStored", oxygenStored);
nbtTags.setInteger("waterStored", waterSlot.liquidStored);
nbtTags.setString("outputType", outputType.name);
nbtTags.setString("dumpType", dumpType.name);
}
@Override

View file

@ -8,7 +8,12 @@ import ic2.api.energy.tile.IEnergySource;
import java.util.EnumSet;
import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import mekanism.api.IActiveState;
import mekanism.client.Sound;
import mekanism.common.Mekanism;
import mekanism.common.TileEntityElectricBlock;
import net.minecraft.nbt.NBTTagCompound;
@ -17,6 +22,7 @@ import net.minecraftforge.common.ForgeDirection;
import net.minecraftforge.common.MinecraftForge;
import universalelectricity.core.electricity.ElectricInfo;
import universalelectricity.core.electricity.ElectricityConnections;
import universalelectricity.core.electricity.ElectricityNetwork;
import universalelectricity.core.implement.IConductor;
import universalelectricity.core.implement.IJouleStorage;
import universalelectricity.core.implement.IVoltage;
@ -29,6 +35,10 @@ import dan200.computer.api.IPeripheral;
public abstract class TileEntityGenerator extends TileEntityElectricBlock implements IEnergySource, IEnergyStorage, IPowerReceptor, IJouleStorage, IVoltage, IPeripheral, IActiveState
{
/** The Sound instance for this generator. */
@SideOnly(Side.CLIENT)
public Sound audio;
/** Output per tick this generator can transfer. */
public int output;
@ -57,6 +67,16 @@ public abstract class TileEntityGenerator extends TileEntityElectricBlock implem
{
super.onUpdate();
if(worldObj.isRemote)
{
try {
synchronized(Mekanism.audioHandler.sounds)
{
handleSound();
}
} catch(NoSuchMethodError e) {}
}
if(electricityStored > 0)
{
TileEntity tileEntity = Vector3.getTileEntityFromSide(worldObj, new Vector3(this), ForgeDirection.getOrientation(facing));
@ -65,7 +85,9 @@ public abstract class TileEntityGenerator extends TileEntityElectricBlock implem
{
if(electricityStored >= output)
{
MinecraftForge.EVENT_BUS.post(new EnergyTileSourceEvent(this, output));
EnergyTileSourceEvent event = new EnergyTileSourceEvent(this, output);
MinecraftForge.EVENT_BUS.post(event);
setJoules(electricityStored - (output - event.amount));
}
}
@ -79,25 +101,70 @@ public abstract class TileEntityGenerator extends TileEntityElectricBlock implem
receptor.getPowerProvider().receiveEnergy((float)(transferEnergy*Mekanism.TO_BC), ForgeDirection.getOrientation(facing).getOpposite());
setJoules(electricityStored - (int)transferEnergy);
}
else if(tileEntity instanceof IConductor)
{
double joulesNeeded = ((IConductor)tileEntity).getNetwork().getRequest().getWatts();
double transferAmps = Math.max(Math.min(Math.min(ElectricInfo.getAmps(joulesNeeded, getVoltage()), ElectricInfo.getAmps(electricityStored, getVoltage())), 80), 0);
}
}
if(!worldObj.isRemote)
{
ForgeDirection outputDirection = ForgeDirection.getOrientation(facing);
TileEntity outputTile = Vector3.getTileEntityFromSide(worldObj, new Vector3(this), outputDirection);
if (!worldObj.isRemote && transferAmps > 0)
{
((IConductor)tileEntity).getNetwork().startProducing(this, transferAmps, getVoltage());
setJoules(electricityStored - ElectricInfo.getWatts(transferAmps, getVoltage()));
}
else
{
((IConductor)tileEntity).getNetwork().stopProducing(this);
}
ElectricityNetwork outputNetwork = ElectricityNetwork.getNetworkFromTileEntity(outputTile, outputDirection);
if(outputNetwork != null)
{
double outputWatts = Math.min(outputNetwork.getRequest().getWatts(), Math.min(getJoules(), 10000));
if(getJoules() > 0 && outputWatts > 0)
{
outputNetwork.startProducing(this, outputWatts / getVoltage(), getVoltage());
setJoules(electricityStored - outputWatts);
}
else {
outputNetwork.stopProducing(this);
}
}
}
}
@SideOnly(Side.CLIENT)
public void handleSound()
{
synchronized(Mekanism.audioHandler.sounds)
{
if(audio == null && worldObj != null && worldObj.isRemote)
{
if(FMLClientHandler.instance().getClient().sndManager.sndSystem != null)
{
audio = Mekanism.audioHandler.getSound(fullName.replace(" ", "").replace("-","") + ".ogg", worldObj, xCoord, yCoord, zCoord);
}
}
if(worldObj != null && worldObj.isRemote && audio != null)
{
if(!audio.isPlaying && isActive == true)
{
audio.play();
}
else if(audio.isPlaying && isActive == false)
{
audio.stop();
}
}
}
}
@Override
public void invalidate()
{
super.invalidate();
if(worldObj.isRemote && audio != null)
{
audio.remove();
}
}
/**
* Gets the boost this generator can receive in it's current location.
* @return environmental boost

View file

@ -34,10 +34,6 @@ public class TileEntityHeatGenerator extends TileEntityGenerator implements ITan
/** The LiquidSlot fuel instance for this generator. */
public LiquidSlot fuelSlot = new LiquidSlot(24000, Mekanism.hooks.BuildCraftFuelID);
/** The Sound instance for this machine. */
@SideOnly(Side.CLIENT)
public Sound audio;
public TileEntityHeatGenerator()
{
super("Heat Generator", 160000, 480);
@ -49,16 +45,6 @@ public class TileEntityHeatGenerator extends TileEntityGenerator implements ITan
{
super.onUpdate();
if(worldObj.isRemote)
{
try {
synchronized(Mekanism.audioHandler.sounds)
{
handleSound();
}
} catch(NoSuchMethodError e) {}
}
if(inventory[1] != null && electricityStored > 0)
{
if(inventory[1].getItem() instanceof IItemElectric)
@ -149,33 +135,6 @@ public class TileEntityHeatGenerator extends TileEntityGenerator implements ITan
}
}
@SideOnly(Side.CLIENT)
public void handleSound()
{
synchronized(Mekanism.audioHandler.sounds)
{
if(audio == null && worldObj != null && worldObj.isRemote)
{
if(FMLClientHandler.instance().getClient().sndManager.sndSystem != null)
{
audio = Mekanism.audioHandler.getSound("HeatGenerator.ogg", worldObj, xCoord, yCoord, zCoord);
}
}
if(worldObj != null && worldObj.isRemote && audio != null)
{
if(!audio.isPlaying && isActive == true)
{
audio.play();
}
else if(audio.isPlaying && isActive == false)
{
audio.stop();
}
}
}
}
@Override
public boolean canOperate()
{
@ -224,17 +183,6 @@ public class TileEntityHeatGenerator extends TileEntityGenerator implements ITan
return TileEntityFurnace.getItemBurnTime(itemstack);
}
@Override
public void invalidate()
{
super.invalidate();
if(worldObj.isRemote && audio != null)
{
audio.remove();
}
}
@Override
public int getStartInventorySide(ForgeDirection side)
{

View file

@ -38,6 +38,12 @@ public class TileEntitySolarGenerator extends TileEntityGenerator
inventory = new ItemStack[1];
}
@Override
public void handleSound()
{
//Overridden to prevent sound effects
}
@Override
public int getSizeInventorySide(ForgeDirection side)
{

View file

@ -0,0 +1,139 @@
package mekanism.nei;
import java.awt.Rectangle;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import net.minecraft.item.ItemStack;
import org.lwjgl.opengl.GL11;
import codechicken.nei.NEIServerUtils;
import codechicken.nei.PositionedStack;
import codechicken.nei.forge.GuiContainerManager;
import codechicken.nei.recipe.TemplateRecipeHandler;
public abstract class AdvancedMachineRecipeHandler extends TemplateRecipeHandler
{
int ticksPassed;
public abstract String getRecipeId();
public abstract ItemStack getFuelStack();
public abstract Set<Entry<ItemStack, ItemStack>> getRecipes();
@Override
public void drawBackground(GuiContainerManager guimanager, int i)
{
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
guimanager.bindTextureByName(getGuiTexture());
guimanager.drawTexturedModalRect(12, 0, 28, 5, 144, 68);
}
@Override
public void drawExtras(GuiContainerManager guimanager, int i)
{
float f = ticksPassed >= 40 ? (ticksPassed - 40) % 20 / 20.0F : 0.0F;
drawProgressBar(guimanager, 63, 34, 176, 0, 24, 7, f, 0);
f = ticksPassed >= 20 && ticksPassed < 40 ? (ticksPassed - 20) % 20 / 20.0F : 1.0F;
if(ticksPassed < 20) f = 0.0F;
drawProgressBar(guimanager, 45, 32, 176, 7, 5, 12, f, 3);
f = ticksPassed <= 20 ? ticksPassed / 20.0F : 1.0F;
drawProgressBar(guimanager, 149, 12, 176, 19, 4, 52, f, 3);
}
@Override
public void onUpdate()
{
super.onUpdate();
ticksPassed++;
}
@Override
public void loadTransferRects()
{
transferRects.add(new TemplateRecipeHandler.RecipeTransferRect(new Rectangle(63, 34, 24, 7), getRecipeId(), new Object[0]));
}
@Override
public void loadCraftingRecipes(String outputId, Object... results)
{
if(outputId.equals(getRecipeId()))
{
for(Map.Entry irecipe : getRecipes())
{
arecipes.add(new CachedIORecipe(irecipe, getFuelStack()));
}
}
else {
super.loadCraftingRecipes(outputId, results);
}
}
@Override
public void loadCraftingRecipes(ItemStack result)
{
for(Map.Entry irecipe : getRecipes())
{
if(NEIServerUtils.areStacksSameTypeCrafting((ItemStack)irecipe.getValue(), result))
{
arecipes.add(new CachedIORecipe(irecipe, getFuelStack()));
}
}
}
@Override
public void loadUsageRecipes(ItemStack ingredient)
{
for(Map.Entry irecipe : getRecipes())
{
if(NEIServerUtils.areStacksSameTypeCrafting((ItemStack)irecipe.getKey(), ingredient))
{
arecipes.add(new CachedIORecipe(irecipe, getFuelStack()));
}
}
}
public class CachedIORecipe extends TemplateRecipeHandler.CachedRecipe
{
public PositionedStack inputStack;
public PositionedStack outputStack;
public PositionedStack fuelStack;
@Override
public PositionedStack getIngredient()
{
return inputStack;
}
@Override
public PositionedStack getResult()
{
return outputStack;
}
@Override
public PositionedStack getOtherStack()
{
return fuelStack;
}
public CachedIORecipe(ItemStack input, ItemStack output, ItemStack fuel)
{
super();
inputStack = new PositionedStack(input, 40, 12);
outputStack = new PositionedStack(output, 100, 30);
fuelStack = new PositionedStack(fuel, 40, 48);
}
public CachedIORecipe(Map.Entry recipe, ItemStack fuel)
{
this((ItemStack)recipe.getKey(), (ItemStack)recipe.getValue(), fuel);
}
}
}

View file

@ -0,0 +1,55 @@
package mekanism.nei;
import java.util.List;
import java.util.Set;
import net.minecraft.block.Block;
import net.minecraft.item.ItemStack;
import mekanism.client.GuiAdvancedElectricMachine;
import mekanism.common.TileEntityCombiner;
public class CombinerRecipeHandler extends AdvancedMachineRecipeHandler
{
@Override
public String getRecipeName()
{
return "Combiner";
}
@Override
public String getRecipeId()
{
return "mekanism.combiner";
}
@Override
public String getOverlayIdentifier()
{
return "combiner";
}
@Override
public Set getRecipes()
{
return TileEntityCombiner.recipes.entrySet();
}
@Override
public String getGuiTexture()
{
return "/resources/mekanism/gui/GuiCombiner.png";
}
@Override
public ItemStack getFuelStack()
{
return new ItemStack(Block.cobblestone);
}
@Override
public Class getGuiClass()
{
return GuiAdvancedElectricMachine.class;
}
}

View file

@ -0,0 +1,45 @@
package mekanism.nei;
import java.util.Set;
import mekanism.client.GuiElectricMachine;
import mekanism.common.TileEntityCrusher;
public class CrusherRecipeHandler extends MachineRecipeHandler
{
@Override
public String getRecipeName()
{
return "Crusher";
}
@Override
public String getRecipeId()
{
return "mekanism.crusher";
}
@Override
public String getOverlayIdentifier()
{
return "crusher";
}
@Override
public Set getRecipes()
{
return TileEntityCrusher.recipes.entrySet();
}
@Override
public String getGuiTexture()
{
return "/resources/mekanism/gui/GuiCrusher.png";
}
@Override
public Class getGuiClass()
{
return GuiElectricMachine.class;
}
}

View file

@ -0,0 +1,45 @@
package mekanism.nei;
import java.util.Set;
import mekanism.client.GuiElectricMachine;
import mekanism.common.TileEntityEnrichmentChamber;
public class EnrichmentChamberRecipeHandler extends MachineRecipeHandler
{
@Override
public String getRecipeName()
{
return "Enrichment Chamber";
}
@Override
public String getRecipeId()
{
return "mekanism.chamber";
}
@Override
public String getOverlayIdentifier()
{
return "chamber";
}
@Override
public Set getRecipes()
{
return TileEntityEnrichmentChamber.recipes.entrySet();
}
@Override
public String getGuiTexture()
{
return "/resources/mekanism/gui/GuiChamber.png";
}
@Override
public Class getGuiClass()
{
return GuiElectricMachine.class;
}
}

View file

@ -0,0 +1,124 @@
package mekanism.nei;
import java.awt.Rectangle;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import net.minecraft.item.ItemStack;
import org.lwjgl.opengl.GL11;
import codechicken.nei.NEIServerUtils;
import codechicken.nei.PositionedStack;
import codechicken.nei.forge.GuiContainerManager;
import codechicken.nei.recipe.TemplateRecipeHandler;
public abstract class MachineRecipeHandler extends TemplateRecipeHandler
{
int ticksPassed;
public abstract String getRecipeId();
public abstract Set<Entry<ItemStack, ItemStack>> getRecipes();
@Override
public void drawBackground(GuiContainerManager guimanager, int i)
{
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
guimanager.bindTextureByName(getGuiTexture());
guimanager.drawTexturedModalRect(12, 0, 28, 5, 144, 68);
}
@Override
public void drawExtras(GuiContainerManager guimanager, int i)
{
float f = ticksPassed >= 20 ? (ticksPassed - 20) % 20 / 20.0F : 0.0F;
drawProgressBar(guimanager, 63, 34, 176, 0, 24, 7, f, 0);
f = ticksPassed <= 20 ? ticksPassed / 20.0F : 1.0F;
drawProgressBar(guimanager, 149, 12, 176, 7, 4, 52, f, 3);
}
@Override
public void onUpdate()
{
super.onUpdate();
ticksPassed++;
}
@Override
public void loadTransferRects()
{
transferRects.add(new TemplateRecipeHandler.RecipeTransferRect(new Rectangle(63, 34, 24, 7), getRecipeId(), new Object[0]));
}
@Override
public void loadCraftingRecipes(String outputId, Object... results)
{
if(outputId.equals(getRecipeId()))
{
for(Map.Entry irecipe : getRecipes())
{
arecipes.add(new CachedIORecipe(irecipe));
}
}
else {
super.loadCraftingRecipes(outputId, results);
}
}
@Override
public void loadCraftingRecipes(ItemStack result)
{
for(Map.Entry irecipe : getRecipes())
{
if(NEIServerUtils.areStacksSameTypeCrafting((ItemStack)irecipe.getValue(), result))
{
arecipes.add(new CachedIORecipe(irecipe));
}
}
}
@Override
public void loadUsageRecipes(ItemStack ingredient)
{
for(Map.Entry irecipe : getRecipes())
{
if(NEIServerUtils.areStacksSameTypeCrafting((ItemStack)irecipe.getKey(), ingredient))
{
arecipes.add(new CachedIORecipe(irecipe));
}
}
}
public class CachedIORecipe extends TemplateRecipeHandler.CachedRecipe
{
public PositionedStack input;
public PositionedStack output;
@Override
public PositionedStack getIngredient()
{
return input;
}
@Override
public PositionedStack getResult()
{
return output;
}
public CachedIORecipe(ItemStack itemstack, ItemStack itemstack1)
{
super();
input = new PositionedStack(itemstack, 40, 12);
output = new PositionedStack(itemstack1, 100, 30);
}
public CachedIORecipe(Map.Entry recipe)
{
this((ItemStack)recipe.getKey(), (ItemStack)recipe.getValue());
}
}
}

View file

@ -0,0 +1,181 @@
package mekanism.nei;
import java.awt.Rectangle;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import mekanism.api.InfusionInput;
import mekanism.api.InfusionOutput;
import mekanism.api.InfusionType;
import mekanism.client.GuiMetallurgicInfuser;
import mekanism.common.Mekanism;
import mekanism.common.TileEntityMetallurgicInfuser;
import net.minecraft.item.ItemStack;
import org.lwjgl.opengl.GL11;
import codechicken.nei.NEIServerUtils;
import codechicken.nei.PositionedStack;
import codechicken.nei.forge.GuiContainerManager;
import codechicken.nei.recipe.TemplateRecipeHandler;
public class MetallurgicInfuserRecipeHandler extends TemplateRecipeHandler
{
int ticksPassed;
@Override
public String getRecipeName()
{
return "Metallurgic Infuser";
}
@Override
public String getOverlayIdentifier()
{
return "infuser";
}
@Override
public String getGuiTexture()
{
return "/resources/mekanism/gui/GuiMetallurgicInfuser.png";
}
@Override
public Class getGuiClass()
{
return GuiMetallurgicInfuser.class;
}
public String getRecipeId()
{
return "mekanism.infuser";
}
public ItemStack getInfuseStack(InfusionType type)
{
return type == InfusionType.COAL ? new ItemStack(Mekanism.CompressedCarbon) : new ItemStack(Mekanism.Dust, 1, 7);
}
public Set<Entry<InfusionInput, InfusionOutput>> getRecipes()
{
return TileEntityMetallurgicInfuser.recipes.entrySet();
}
@Override
public void drawBackground(GuiContainerManager guimanager, int i)
{
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
guimanager.bindTextureByName(getGuiTexture());
guimanager.drawTexturedModalRect(0, 0, 5, 5, 166, 78);
}
@Override
public void drawExtras(GuiContainerManager guimanager, int i)
{
float f = ticksPassed >= 40 ? (ticksPassed - 40) % 20 / 20.0F : 0.0F;
drawProgressBar(guimanager, 67, 42, 176, 104, 32, 8, f, 0);
f = ticksPassed >= 20 && ticksPassed < 40 ? (ticksPassed - 20) % 20 / 20.0F : 1.0F;
if(ticksPassed < 20) f = 0.0F;
int infuseX = 176 + (getOtherStacks(i).get(0).item.isItemEqual(new ItemStack(Mekanism.CompressedCarbon)) ? 4 : 0);
int infuseY = getOtherStacks(i).get(0).item.isItemEqual(new ItemStack(Mekanism.CompressedCarbon)) ? 0 : 52;
drawProgressBar(guimanager, 2, 22, infuseX, infuseY, 4, 52, f, 3);
f = ticksPassed <= 20 ? ticksPassed / 20.0F : 1.0F;
drawProgressBar(guimanager, 160, 12, 176, 0, 4, 52, f, 3);
}
@Override
public void onUpdate()
{
super.onUpdate();
ticksPassed++;
}
@Override
public void loadTransferRects()
{
transferRects.add(new TemplateRecipeHandler.RecipeTransferRect(new Rectangle(67, 42, 32, 8), getRecipeId(), new Object[0]));
}
@Override
public void loadCraftingRecipes(String outputId, Object... results)
{
if(outputId.equals(getRecipeId()))
{
for(Map.Entry irecipe : getRecipes())
{
arecipes.add(new CachedIORecipe(irecipe, getInfuseStack(((InfusionInput)irecipe.getKey()).infusionType)));
}
}
else {
super.loadCraftingRecipes(outputId, results);
}
}
@Override
public void loadCraftingRecipes(ItemStack result)
{
for(Map.Entry irecipe : getRecipes())
{
if(NEIServerUtils.areStacksSameTypeCrafting(((InfusionOutput)irecipe.getValue()).resource, result))
{
arecipes.add(new CachedIORecipe(irecipe, getInfuseStack(((InfusionInput)irecipe.getKey()).infusionType)));
}
}
}
@Override
public void loadUsageRecipes(ItemStack ingredient)
{
for(Map.Entry irecipe : getRecipes())
{
if(NEIServerUtils.areStacksSameTypeCrafting(((InfusionInput)irecipe.getKey()).inputSlot, ingredient))
{
arecipes.add(new CachedIORecipe(irecipe, getInfuseStack(((InfusionInput)irecipe.getKey()).infusionType)));
}
}
}
public class CachedIORecipe extends TemplateRecipeHandler.CachedRecipe
{
public PositionedStack inputStack;
public PositionedStack outputStack;
public PositionedStack infuseStack;
@Override
public PositionedStack getIngredient()
{
return inputStack;
}
@Override
public PositionedStack getResult()
{
return outputStack;
}
@Override
public PositionedStack getOtherStack()
{
return infuseStack;
}
public CachedIORecipe(ItemStack input, ItemStack output, ItemStack infuse)
{
super();
inputStack = new PositionedStack(input, 46, 38);
outputStack = new PositionedStack(output, 104, 38);
infuseStack = new PositionedStack(infuse, 12, 30);
}
public CachedIORecipe(Map.Entry recipe, ItemStack infuse)
{
this(((InfusionInput)recipe.getKey()).inputSlot, ((InfusionOutput)recipe.getValue()).resource, infuse);
}
}
}

View file

@ -0,0 +1,34 @@
package mekanism.nei;
import codechicken.nei.api.API;
import codechicken.nei.api.IConfigureNEI;
public class NEIMekanismConfig implements IConfigureNEI
{
@Override
public void loadConfig()
{
API.registerRecipeHandler(new EnrichmentChamberRecipeHandler());
API.registerUsageHandler(new EnrichmentChamberRecipeHandler());
API.registerRecipeHandler(new PlatinumCompressorRecipeHandler());
API.registerUsageHandler(new PlatinumCompressorRecipeHandler());
API.registerRecipeHandler(new CrusherRecipeHandler());
API.registerUsageHandler(new CrusherRecipeHandler());
API.registerRecipeHandler(new CombinerRecipeHandler());
API.registerUsageHandler(new CombinerRecipeHandler());
API.registerRecipeHandler(new MetallurgicInfuserRecipeHandler());
API.registerUsageHandler(new MetallurgicInfuserRecipeHandler());
}
@Override
public String getName()
{
return "Mekanism NEI Plugin";
}
@Override
public String getVersion()
{
return "1.0.0";
}
}

View file

@ -0,0 +1,54 @@
package mekanism.nei;
import java.util.Set;
import net.minecraft.item.ItemStack;
import mekanism.client.GuiAdvancedElectricMachine;
import mekanism.common.Mekanism;
import mekanism.common.TileEntityPlatinumCompressor;
public class PlatinumCompressorRecipeHandler extends AdvancedMachineRecipeHandler
{
@Override
public String getRecipeName()
{
return "Platinum Compressor";
}
@Override
public String getRecipeId()
{
return "mekanism.compressor";
}
@Override
public String getOverlayIdentifier()
{
return "compressor";
}
@Override
public Set getRecipes()
{
return TileEntityPlatinumCompressor.recipes.entrySet();
}
@Override
public String getGuiTexture()
{
return "/resources/mekanism/gui/GuiCompressor.png";
}
@Override
public ItemStack getFuelStack()
{
return new ItemStack(Mekanism.Ingot, 1, 1);
}
@Override
public Class getGuiClass()
{
return GuiAdvancedElectricMachine.class;
}
}

View file

@ -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.7", dependencies = "required-after:Mekanism")
@Mod(modid = "MekanismTools", name = "MekanismTools", version = "5.0.9", dependencies = "required-after:Mekanism")
@NetworkMod(clientSideRequired = true, serverSideRequired = false)
public class MekanismTools
{
@ -529,84 +529,86 @@ public class MekanismTools
public void addItems()
{
Mekanism.configuration.load();
//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");
BronzeHelmet = (new ItemMekanismArmor(Mekanism.configuration.getItem("BronzeHelmet", 11400).getInt(), armorBRONZE, Mekanism.proxy.getArmorIndex("bronze"), 0)).setItemName("BronzeHelmet");
BronzeBody = (new ItemMekanismArmor(Mekanism.configuration.getItem("BronzeBody", 11401).getInt(), armorBRONZE, Mekanism.proxy.getArmorIndex("bronze"), 1)).setItemName("BronzeBody");
BronzeLegs = (new ItemMekanismArmor(Mekanism.configuration.getItem("BronzeLegs", 11402).getInt(), armorBRONZE, Mekanism.proxy.getArmorIndex("bronze"), 2)).setItemName("BronzeLegs");
BronzeBoots = (new ItemMekanismArmor(Mekanism.configuration.getItem("BronzeBoots", 11403).getInt(), armorBRONZE, Mekanism.proxy.getArmorIndex("bronze"), 3)).setItemName("BronzeBoots");
BronzePaxel = new ItemMekanismPaxel(Mekanism.configuration.getItem("BronzePaxel", 11404).getInt(), toolBRONZE2).setItemName("BronzePaxel");
BronzePickaxe = new ItemMekanismPickaxe(Mekanism.configuration.getItem("BronzePickaxe", 11405).getInt(), toolBRONZE).setItemName("BronzePickaxe");
BronzeAxe = new ItemMekanismAxe(Mekanism.configuration.getItem("BronzeAxe", 11406).getInt(), toolBRONZE).setItemName("BronzeAxe");
BronzeSpade = new ItemMekanismSpade(Mekanism.configuration.getItem("BronzeSpade", 11407).getInt(), toolBRONZE).setItemName("BronzeSpade");
BronzeHoe = new ItemMekanismHoe(Mekanism.configuration.getItem("BronzeHoe", 11408).getInt(), toolBRONZE).setItemName("BronzeHoe");
BronzeSword = new ItemMekanismSword(Mekanism.configuration.getItem("BronzeSword", 11409).getInt(), toolBRONZE).setItemName("BronzeSword");
//Platinum
PlatinumHelmet = (new ItemMekanismArmor(11410, EnumArmorMaterial.DIAMOND, Mekanism.proxy.getArmorIndex("platinum"), 0)).setItemName("PlatinumHelmet");
PlatinumBody = (new ItemMekanismArmor(11411, EnumArmorMaterial.DIAMOND, Mekanism.proxy.getArmorIndex("platinum"), 1)).setItemName("PlatinumBody");
PlatinumLegs = (new ItemMekanismArmor(11412, EnumArmorMaterial.DIAMOND, Mekanism.proxy.getArmorIndex("platinum"), 2)).setItemName("PlatinumLegs");
PlatinumBoots = (new ItemMekanismArmor(11413, EnumArmorMaterial.DIAMOND, Mekanism.proxy.getArmorIndex("platinum"), 3)).setItemName("PlatinumBoots");
PlatinumPaxel = new ItemMekanismPaxel(11414, toolPLATINUM2).setItemName("PlatinumPaxel");
PlatinumPickaxe = new ItemMekanismPickaxe(11415, toolPLATINUM).setItemName("PlatinumPickaxe");
PlatinumAxe = new ItemMekanismAxe(11416, toolPLATINUM).setItemName("PlatinumAxe");
PlatinumSpade = new ItemMekanismSpade(11417, toolPLATINUM).setItemName("PlatinumSpade");
PlatinumHoe = new ItemMekanismHoe(11418, toolPLATINUM).setItemName("PlatinumHoe");
PlatinumSword = new ItemMekanismSword(11419, toolPLATINUM).setItemName("PlatinumSword");
PlatinumHelmet = (new ItemMekanismArmor(Mekanism.configuration.getItem("PlatinumHelmet", 11410).getInt(), EnumArmorMaterial.DIAMOND, Mekanism.proxy.getArmorIndex("platinum"), 0)).setItemName("PlatinumHelmet");
PlatinumBody = (new ItemMekanismArmor(Mekanism.configuration.getItem("PlatinumBody", 11411).getInt(), EnumArmorMaterial.DIAMOND, Mekanism.proxy.getArmorIndex("platinum"), 1)).setItemName("PlatinumBody");
PlatinumLegs = (new ItemMekanismArmor(Mekanism.configuration.getItem("PlatinumLegs", 11412).getInt(), EnumArmorMaterial.DIAMOND, Mekanism.proxy.getArmorIndex("platinum"), 2)).setItemName("PlatinumLegs");
PlatinumBoots = (new ItemMekanismArmor(Mekanism.configuration.getItem("PlatinumBoots", 11413).getInt(), EnumArmorMaterial.DIAMOND, Mekanism.proxy.getArmorIndex("platinum"), 3)).setItemName("PlatinumBoots");
PlatinumPaxel = new ItemMekanismPaxel(Mekanism.configuration.getItem("PlatinumPaxel", 11414).getInt(), toolPLATINUM2).setItemName("PlatinumPaxel");
PlatinumPickaxe = new ItemMekanismPickaxe(Mekanism.configuration.getItem("PlatinumPickaxe", 11415).getInt(), toolPLATINUM).setItemName("PlatinumPickaxe");
PlatinumAxe = new ItemMekanismAxe(Mekanism.configuration.getItem("PlatinumAxe", 11416).getInt(), toolPLATINUM).setItemName("PlatinumAxe");
PlatinumSpade = new ItemMekanismSpade(Mekanism.configuration.getItem("PlatinumSpade", 11417).getInt(), toolPLATINUM).setItemName("PlatinumSpade");
PlatinumHoe = new ItemMekanismHoe(Mekanism.configuration.getItem("PlatinumHoe", 11418).getInt(), toolPLATINUM).setItemName("PlatinumHoe");
PlatinumSword = new ItemMekanismSword(Mekanism.configuration.getItem("PlatinumSword", 11419).getInt(), toolPLATINUM).setItemName("PlatinumSword");
//Obsidian
ObsidianHelmet = (new ItemMekanismArmor(11420, armorOBSIDIAN, Mekanism.proxy.getArmorIndex("obsidian"), 0)).setItemName("ObsidianHelmet");
ObsidianBody = (new ItemMekanismArmor(11421, armorOBSIDIAN, Mekanism.proxy.getArmorIndex("obsidian"), 1)).setItemName("ObsidianBody");
ObsidianLegs = (new ItemMekanismArmor(11422, armorOBSIDIAN, Mekanism.proxy.getArmorIndex("obsidian"), 2)).setItemName("ObsidianLegs");
ObsidianBoots = (new ItemMekanismArmor(11423, armorOBSIDIAN, Mekanism.proxy.getArmorIndex("obsidian"), 3)).setItemName("ObsidianBoots");
ObsidianPaxel = new ItemMekanismPaxel(11424, toolOBSIDIAN2).setItemName("ObsidianPaxel");
ObsidianPickaxe = new ItemMekanismPickaxe(11425, toolOBSIDIAN).setItemName("ObsidianPickaxe");
ObsidianAxe = new ItemMekanismAxe(11426, toolOBSIDIAN).setItemName("ObsidianAxe");
ObsidianSpade = new ItemMekanismSpade(11427, toolOBSIDIAN).setItemName("ObsidianSpade");
ObsidianHoe = new ItemMekanismHoe(11428, toolOBSIDIAN).setItemName("ObsidianHoe");
ObsidianSword = new ItemMekanismSword(11429, toolOBSIDIAN).setItemName("ObsidianSword");
ObsidianHelmet = (new ItemMekanismArmor(Mekanism.configuration.getItem("ObsidianHelmet", 11420).getInt(), armorOBSIDIAN, Mekanism.proxy.getArmorIndex("obsidian"), 0)).setItemName("ObsidianHelmet");
ObsidianBody = (new ItemMekanismArmor(Mekanism.configuration.getItem("ObsidianBody", 11421).getInt(), armorOBSIDIAN, Mekanism.proxy.getArmorIndex("obsidian"), 1)).setItemName("ObsidianBody");
ObsidianLegs = (new ItemMekanismArmor(Mekanism.configuration.getItem("ObsidianLegs", 11422).getInt(), armorOBSIDIAN, Mekanism.proxy.getArmorIndex("obsidian"), 2)).setItemName("ObsidianLegs");
ObsidianBoots = (new ItemMekanismArmor(Mekanism.configuration.getItem("ObsidianBoots", 11423).getInt(), armorOBSIDIAN, Mekanism.proxy.getArmorIndex("obsidian"), 3)).setItemName("ObsidianBoots");
ObsidianPaxel = new ItemMekanismPaxel(Mekanism.configuration.getItem("ObsidianPaxel", 11424).getInt(), toolOBSIDIAN2).setItemName("ObsidianPaxel");
ObsidianPickaxe = new ItemMekanismPickaxe(Mekanism.configuration.getItem("ObsidianPickaxe", 11425).getInt(), toolOBSIDIAN).setItemName("ObsidianPickaxe");
ObsidianAxe = new ItemMekanismAxe(Mekanism.configuration.getItem("ObsidianAxe", 11426).getInt(), toolOBSIDIAN).setItemName("ObsidianAxe");
ObsidianSpade = new ItemMekanismSpade(Mekanism.configuration.getItem("ObsidianSpade", 11427).getInt(), toolOBSIDIAN).setItemName("ObsidianSpade");
ObsidianHoe = new ItemMekanismHoe(Mekanism.configuration.getItem("ObsidianHoe", 11428).getInt(), toolOBSIDIAN).setItemName("ObsidianHoe");
ObsidianSword = new ItemMekanismSword(Mekanism.configuration.getItem("ObsidianSword", 11429).getInt(), toolOBSIDIAN).setItemName("ObsidianSword");
//Lazuli
LazuliPaxel = new ItemMekanismPaxel(11430, toolLAZULI2).setItemName("LazuliPaxel");
LazuliPickaxe = new ItemMekanismPickaxe(11431, toolLAZULI).setItemName("LazuliPickaxe");
LazuliAxe = new ItemMekanismAxe(11432, toolLAZULI).setItemName("LazuliAxe");
LazuliSpade = new ItemMekanismSpade(11433, toolLAZULI).setItemName("LazuliSpade");
LazuliHoe = new ItemMekanismHoe(11434, toolLAZULI).setItemName("LazuliHoe");
LazuliSword = new ItemMekanismSword(11435, toolLAZULI).setItemName("LazuliSword");
LazuliHelmet = (new ItemMekanismArmor(11436, armorLAZULI, Mekanism.proxy.getArmorIndex("lazuli"), 0)).setItemName("LazuliHelmet");
LazuliBody = (new ItemMekanismArmor(11437, armorLAZULI, Mekanism.proxy.getArmorIndex("lazuli"), 1)).setItemName("LazuliBody");
LazuliLegs = (new ItemMekanismArmor(11438, armorLAZULI, Mekanism.proxy.getArmorIndex("lazuli"), 2)).setItemName("LazuliLegs");
LazuliBoots = (new ItemMekanismArmor(11439, armorLAZULI, Mekanism.proxy.getArmorIndex("lazuli"), 3)).setItemName("LazuliBoots");
LazuliPaxel = new ItemMekanismPaxel(Mekanism.configuration.getItem("LazuliPaxel", 11430).getInt(), toolLAZULI2).setItemName("LazuliPaxel");
LazuliPickaxe = new ItemMekanismPickaxe(Mekanism.configuration.getItem("LazuliPickaxe", 11431).getInt(), toolLAZULI).setItemName("LazuliPickaxe");
LazuliAxe = new ItemMekanismAxe(Mekanism.configuration.getItem("LazuliAxe", 11432).getInt(), toolLAZULI).setItemName("LazuliAxe");
LazuliSpade = new ItemMekanismSpade(Mekanism.configuration.getItem("LazuliSpade", 11433).getInt(), toolLAZULI).setItemName("LazuliSpade");
LazuliHoe = new ItemMekanismHoe(Mekanism.configuration.getItem("LazuliHoe", 11434).getInt(), toolLAZULI).setItemName("LazuliHoe");
LazuliSword = new ItemMekanismSword(Mekanism.configuration.getItem("LazuliSword", 11435).getInt(), toolLAZULI).setItemName("LazuliSword");
LazuliHelmet = (new ItemMekanismArmor(Mekanism.configuration.getItem("LazuliHelmet", 11436).getInt(), armorLAZULI, Mekanism.proxy.getArmorIndex("lazuli"), 0)).setItemName("LazuliHelmet");
LazuliBody = (new ItemMekanismArmor(Mekanism.configuration.getItem("LazuliBody", 11437).getInt(), armorLAZULI, Mekanism.proxy.getArmorIndex("lazuli"), 1)).setItemName("LazuliBody");
LazuliLegs = (new ItemMekanismArmor(Mekanism.configuration.getItem("LazuliLegs", 11438).getInt(), armorLAZULI, Mekanism.proxy.getArmorIndex("lazuli"), 2)).setItemName("LazuliLegs");
LazuliBoots = (new ItemMekanismArmor(Mekanism.configuration.getItem("LazuliBoots", 11439).getInt(), armorLAZULI, Mekanism.proxy.getArmorIndex("lazuli"), 3)).setItemName("LazuliBoots");
//Glowstone
GlowstonePaxel = new ItemMekanismPaxel(11440, toolGLOWSTONE2).setItemName("GlowstonePaxel");
GlowstonePickaxe = new ItemMekanismPickaxe(11441, toolGLOWSTONE).setItemName("GlowstonePickaxe");
GlowstoneAxe = new ItemMekanismAxe(11442, toolGLOWSTONE).setItemName("GlowstoneAxe");
GlowstoneSpade = new ItemMekanismSpade(11443, toolGLOWSTONE).setItemName("GlowstoneSpade");
GlowstoneHoe = new ItemMekanismHoe(11444, toolGLOWSTONE).setItemName("GlowstoneHoe");
GlowstoneSword = new ItemMekanismSword(11445, toolGLOWSTONE).setItemName("GlowstoneSword");
GlowstoneHelmet = new ItemMekanismArmor(11446, armorGLOWSTONE, Mekanism.proxy.getArmorIndex("glowstone"), 0).setItemName("GlowstoneHelmet");
GlowstoneBody = new ItemMekanismArmor(11447, armorGLOWSTONE, Mekanism.proxy.getArmorIndex("glowstone"), 1).setItemName("GlowstoneBody");
GlowstoneLegs = new ItemMekanismArmor(11448, armorGLOWSTONE, Mekanism.proxy.getArmorIndex("glowstone"), 2).setItemName("GlowstoneLegs");
GlowstoneBoots = new ItemMekanismArmor(11449, armorGLOWSTONE, Mekanism.proxy.getArmorIndex("glowstone"), 3).setItemName("GlowstoneBoots");
GlowstonePaxel = new ItemMekanismPaxel(Mekanism.configuration.getItem("GlowstonePaxel", 11440).getInt(), toolGLOWSTONE2).setItemName("GlowstonePaxel");
GlowstonePickaxe = new ItemMekanismPickaxe(Mekanism.configuration.getItem("GlowstonePickaxe", 11441).getInt(), toolGLOWSTONE).setItemName("GlowstonePickaxe");
GlowstoneAxe = new ItemMekanismAxe(Mekanism.configuration.getItem("GlowstoneAxe", 11442).getInt(), toolGLOWSTONE).setItemName("GlowstoneAxe");
GlowstoneSpade = new ItemMekanismSpade(Mekanism.configuration.getItem("GlowstoneSpade", 11443).getInt(), toolGLOWSTONE).setItemName("GlowstoneSpade");
GlowstoneHoe = new ItemMekanismHoe(Mekanism.configuration.getItem("GlowstoneHoe", 11444).getInt(), toolGLOWSTONE).setItemName("GlowstoneHoe");
GlowstoneSword = new ItemMekanismSword(Mekanism.configuration.getItem("GlowstoneSword", 11445).getInt(), toolGLOWSTONE).setItemName("GlowstoneSword");
GlowstoneHelmet = new ItemMekanismArmor(Mekanism.configuration.getItem("GlowstoneHelmet", 11446).getInt(), armorGLOWSTONE, Mekanism.proxy.getArmorIndex("glowstone"), 0).setItemName("GlowstoneHelmet");
GlowstoneBody = new ItemMekanismArmor(Mekanism.configuration.getItem("GlowstoneBody", 11447).getInt(), armorGLOWSTONE, Mekanism.proxy.getArmorIndex("glowstone"), 1).setItemName("GlowstoneBody");
GlowstoneLegs = new ItemMekanismArmor(Mekanism.configuration.getItem("GlowstoneLegs", 11448).getInt(), armorGLOWSTONE, Mekanism.proxy.getArmorIndex("glowstone"), 2).setItemName("GlowstoneLegs");
GlowstoneBoots = new ItemMekanismArmor(Mekanism.configuration.getItem("GlowstoneBoots", 11449).getInt(), armorGLOWSTONE, Mekanism.proxy.getArmorIndex("glowstone"), 3).setItemName("GlowstoneBoots");
//Base Paxels
WoodPaxel = new ItemMekanismPaxel(11450, EnumToolMaterial.WOOD).setItemName("WoodPaxel");
StonePaxel = new ItemMekanismPaxel(11451, EnumToolMaterial.STONE).setItemName("StonePaxel");
IronPaxel = new ItemMekanismPaxel(11452, EnumToolMaterial.IRON).setItemName("IronPaxel");
DiamondPaxel = new ItemMekanismPaxel(11453, EnumToolMaterial.EMERALD).setItemName("DiamondPaxel");
GoldPaxel = new ItemMekanismPaxel(11454, EnumToolMaterial.GOLD).setItemName("GoldPaxel");
WoodPaxel = new ItemMekanismPaxel(Mekanism.configuration.getItem("WoodPaxel", 11450).getInt(), EnumToolMaterial.WOOD).setItemName("WoodPaxel");
StonePaxel = new ItemMekanismPaxel(Mekanism.configuration.getItem("StonePaxel", 11451).getInt(), EnumToolMaterial.STONE).setItemName("StonePaxel");
IronPaxel = new ItemMekanismPaxel(Mekanism.configuration.getItem("IronPaxel", 11452).getInt(), EnumToolMaterial.IRON).setItemName("IronPaxel");
DiamondPaxel = new ItemMekanismPaxel(Mekanism.configuration.getItem("DiamondPaxel", 11453).getInt(), EnumToolMaterial.EMERALD).setItemName("DiamondPaxel");
GoldPaxel = new ItemMekanismPaxel(Mekanism.configuration.getItem("GoldPaxel", 11454).getInt(), EnumToolMaterial.GOLD).setItemName("GoldPaxel");
//Steel
SteelPaxel = new ItemMekanismPaxel(11455, toolSTEEL2).setItemName("SteelPaxel");
SteelPickaxe = new ItemMekanismPickaxe(11456, toolSTEEL).setItemName("SteelPickaxe");
SteelAxe = new ItemMekanismAxe(11457, toolSTEEL).setItemName("SteelAxe");
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");
SteelPaxel = new ItemMekanismPaxel(Mekanism.configuration.getItem("SteelPaxel", 11455).getInt(), toolSTEEL2).setItemName("SteelPaxel");
SteelPickaxe = new ItemMekanismPickaxe(Mekanism.configuration.getItem("SteelPickaxe", 11456).getInt(), toolSTEEL).setItemName("SteelPickaxe");
SteelAxe = new ItemMekanismAxe(Mekanism.configuration.getItem("SteelAxe", 11457).getInt(), toolSTEEL).setItemName("SteelAxe");
SteelSpade = new ItemMekanismSpade(Mekanism.configuration.getItem("SteelSpade", 11458).getInt(), toolSTEEL).setItemName("SteelSpade");
SteelHoe = new ItemMekanismHoe(Mekanism.configuration.getItem("SteelHoe", 11459).getInt(), toolSTEEL).setItemName("SteelHoe");
SteelSword = new ItemMekanismSword(Mekanism.configuration.getItem("SteelSword", 11460).getInt(), toolSTEEL).setItemName("SteelSword");
SteelHelmet = new ItemMekanismArmor(Mekanism.configuration.getItem("SteelHelmet", 11461).getInt(), armorSTEEL, Mekanism.proxy.getArmorIndex("steel"), 0).setItemName("SteelHelmet");
SteelBody = new ItemMekanismArmor(Mekanism.configuration.getItem("SteelBody", 11462).getInt(), armorSTEEL, Mekanism.proxy.getArmorIndex("steel"), 1).setItemName("SteelBody");
SteelLegs = new ItemMekanismArmor(Mekanism.configuration.getItem("SteelLegs", 11463).getInt(), armorSTEEL, Mekanism.proxy.getArmorIndex("steel"), 2).setItemName("SteelLegs");
SteelBoots = new ItemMekanismArmor(Mekanism.configuration.getItem("SteelBoots", 11464).getInt(), armorSTEEL, Mekanism.proxy.getArmorIndex("steel"), 3).setItemName("SteelBoots");
Mekanism.configuration.save();
}
@ForgeSubscribe