Move separator into mek core, let IDEA optimise imports. Hope I didn't screw anything up too badly.

This commit is contained in:
Ben Spiers 2014-01-03 02:09:21 +00:00
parent a50efa8cf5
commit f84bc43be1
22 changed files with 211 additions and 484 deletions

View file

@ -1,121 +1,5 @@
package mekanism.client; package mekanism.client;
import java.io.File;
import java.util.HashMap;
import mekanism.client.gui.GuiChemicalInfuser;
import mekanism.client.gui.GuiChemicalInjectionChamber;
import mekanism.client.gui.GuiChemicalOxidizer;
import mekanism.client.gui.GuiCombiner;
import mekanism.client.gui.GuiConfiguration;
import mekanism.client.gui.GuiCredits;
import mekanism.client.gui.GuiCrusher;
import mekanism.client.gui.GuiDictionary;
import mekanism.client.gui.GuiDigitalMiner;
import mekanism.client.gui.GuiDynamicTank;
import mekanism.client.gui.GuiElectricChest;
import mekanism.client.gui.GuiElectricPump;
import mekanism.client.gui.GuiEnergizedSmelter;
import mekanism.client.gui.GuiEnergyCube;
import mekanism.client.gui.GuiEnrichmentChamber;
import mekanism.client.gui.GuiFactory;
import mekanism.client.gui.GuiGasTank;
import mekanism.client.gui.GuiMetallurgicInfuser;
import mekanism.client.gui.GuiOsmiumCompressor;
import mekanism.client.gui.GuiPasswordEnter;
import mekanism.client.gui.GuiPasswordModify;
import mekanism.client.gui.GuiPortableTeleporter;
import mekanism.client.gui.GuiPurificationChamber;
import mekanism.client.gui.GuiRobitCrafting;
import mekanism.client.gui.GuiRobitInventory;
import mekanism.client.gui.GuiRobitMain;
import mekanism.client.gui.GuiRobitRepair;
import mekanism.client.gui.GuiRobitSmelting;
import mekanism.client.gui.GuiRotaryCondensentrator;
import mekanism.client.gui.GuiTeleporter;
import mekanism.client.render.MekanismRenderer;
import mekanism.client.render.RenderPartTransmitter;
import mekanism.client.render.RenderTickHandler;
import mekanism.client.render.block.BasicRenderingHandler;
import mekanism.client.render.block.MachineRenderingHandler;
import mekanism.client.render.block.TransmitterRenderingHandler;
import mekanism.client.render.entity.RenderBalloon;
import mekanism.client.render.entity.RenderObsidianTNTPrimed;
import mekanism.client.render.entity.RenderRobit;
import mekanism.client.render.item.ItemRenderingHandler;
import mekanism.client.render.tileentity.RenderBin;
import mekanism.client.render.tileentity.RenderChargepad;
import mekanism.client.render.tileentity.RenderChemicalInfuser;
import mekanism.client.render.tileentity.RenderChemicalOxidizer;
import mekanism.client.render.tileentity.RenderConfigurableMachine;
import mekanism.client.render.tileentity.RenderDigitalMiner;
import mekanism.client.render.tileentity.RenderDynamicTank;
import mekanism.client.render.tileentity.RenderElectricChest;
import mekanism.client.render.tileentity.RenderElectricPump;
import mekanism.client.render.tileentity.RenderEnergyCube;
import mekanism.client.render.tileentity.RenderGasTank;
import mekanism.client.render.tileentity.RenderLogisticalSorter;
import mekanism.client.render.tileentity.RenderLogisticalTransporter;
import mekanism.client.render.tileentity.RenderMechanicalPipe;
import mekanism.client.render.tileentity.RenderMetallurgicInfuser;
import mekanism.client.render.tileentity.RenderObsidianTNT;
import mekanism.client.render.tileentity.RenderPressurizedTube;
import mekanism.client.render.tileentity.RenderRotaryCondensentrator;
import mekanism.client.render.tileentity.RenderTeleporter;
import mekanism.client.render.tileentity.RenderUniversalCable;
import mekanism.client.sound.Sound;
import mekanism.client.sound.SoundHandler;
import mekanism.common.CommonProxy;
import mekanism.common.EntityBalloon;
import mekanism.common.EntityObsidianTNT;
import mekanism.common.EntityRobit;
import mekanism.common.IElectricChest;
import mekanism.common.IInvConfiguration;
import mekanism.common.Mekanism;
import mekanism.common.block.BlockMachine.MachineType;
import mekanism.common.inventory.InventoryElectricChest;
import mekanism.common.item.ItemPortableTeleporter;
import mekanism.common.tileentity.TileEntityAdvancedElectricMachine;
import mekanism.common.tileentity.TileEntityAdvancedFactory;
import mekanism.common.tileentity.TileEntityBin;
import mekanism.common.tileentity.TileEntityChargepad;
import mekanism.common.tileentity.TileEntityChemicalInfuser;
import mekanism.common.tileentity.TileEntityChemicalInjectionChamber;
import mekanism.common.tileentity.TileEntityChemicalOxidizer;
import mekanism.common.tileentity.TileEntityCombiner;
import mekanism.common.tileentity.TileEntityCrusher;
import mekanism.common.tileentity.TileEntityDigitalMiner;
import mekanism.common.tileentity.TileEntityDiversionTransporter;
import mekanism.common.tileentity.TileEntityDynamicTank;
import mekanism.common.tileentity.TileEntityDynamicValve;
import mekanism.common.tileentity.TileEntityElectricChest;
import mekanism.common.tileentity.TileEntityElectricMachine;
import mekanism.common.tileentity.TileEntityElectricPump;
import mekanism.common.tileentity.TileEntityEliteFactory;
import mekanism.common.tileentity.TileEntityEnergizedSmelter;
import mekanism.common.tileentity.TileEntityEnergyCube;
import mekanism.common.tileentity.TileEntityEnrichmentChamber;
import mekanism.common.tileentity.TileEntityFactory;
import mekanism.common.tileentity.TileEntityGasTank;
import mekanism.common.tileentity.TileEntityLogisticalSorter;
import mekanism.common.tileentity.TileEntityLogisticalTransporter;
import mekanism.common.tileentity.TileEntityMechanicalPipe;
import mekanism.common.tileentity.TileEntityMetallurgicInfuser;
import mekanism.common.tileentity.TileEntityObsidianTNT;
import mekanism.common.tileentity.TileEntityOsmiumCompressor;
import mekanism.common.tileentity.TileEntityPressurizedTube;
import mekanism.common.tileentity.TileEntityPurificationChamber;
import mekanism.common.tileentity.TileEntityRotaryCondensentrator;
import mekanism.common.tileentity.TileEntityTeleporter;
import mekanism.common.tileentity.TileEntityUniversalCable;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraftforge.client.MinecraftForgeClient;
import net.minecraftforge.common.Configuration;
import cpw.mods.fml.client.FMLClientHandler; import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.client.registry.ClientRegistry; import cpw.mods.fml.client.registry.ClientRegistry;
import cpw.mods.fml.client.registry.KeyBindingRegistry; import cpw.mods.fml.client.registry.KeyBindingRegistry;
@ -125,6 +9,37 @@ import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.TickRegistry; import cpw.mods.fml.common.registry.TickRegistry;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import mekanism.client.gui.*;
import mekanism.client.render.MekanismRenderer;
import mekanism.client.render.RenderElectrolyticSeparator;
import mekanism.client.render.RenderPartTransmitter;
import mekanism.client.render.RenderTickHandler;
import mekanism.client.render.block.BasicRenderingHandler;
import mekanism.client.render.block.MachineRenderingHandler;
import mekanism.client.render.block.TransmitterRenderingHandler;
import mekanism.client.render.entity.RenderBalloon;
import mekanism.client.render.entity.RenderObsidianTNTPrimed;
import mekanism.client.render.entity.RenderRobit;
import mekanism.client.render.item.ItemRenderingHandler;
import mekanism.client.render.tileentity.*;
import mekanism.client.sound.Sound;
import mekanism.client.sound.SoundHandler;
import mekanism.common.*;
import mekanism.common.block.BlockMachine.MachineType;
import mekanism.common.inventory.InventoryElectricChest;
import mekanism.common.item.ItemPortableTeleporter;
import mekanism.common.tileentity.*;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraftforge.client.MinecraftForgeClient;
import net.minecraftforge.common.Configuration;
import java.io.File;
import java.util.HashMap;
/** /**
* Client proxy for the Mekanism mod. * Client proxy for the Mekanism mod.
@ -274,6 +189,7 @@ public class ClientProxy extends CommonProxy
ClientRegistry.registerTileEntity(TileEntityChemicalOxidizer.class, "ChemicalOxidizer", new RenderChemicalOxidizer()); ClientRegistry.registerTileEntity(TileEntityChemicalOxidizer.class, "ChemicalOxidizer", new RenderChemicalOxidizer());
ClientRegistry.registerTileEntity(TileEntityChemicalInfuser.class, "ChemicalInfuser", new RenderChemicalInfuser()); ClientRegistry.registerTileEntity(TileEntityChemicalInfuser.class, "ChemicalInfuser", new RenderChemicalInfuser());
ClientRegistry.registerTileEntity(TileEntityChemicalInjectionChamber.class, "ChemicalInjectionChamber", new RenderConfigurableMachine()); ClientRegistry.registerTileEntity(TileEntityChemicalInjectionChamber.class, "ChemicalInjectionChamber", new RenderConfigurableMachine());
ClientRegistry.registerTileEntity(TileEntityElectrolyticSeparator.class, "ElectrolyticSeparator", new RenderElectrolyticSeparator());
} }
@Override @Override
@ -396,6 +312,9 @@ public class ClientProxy extends CommonProxy
return new GuiChemicalInfuser(player.inventory, (TileEntityChemicalInfuser)tileEntity); return new GuiChemicalInfuser(player.inventory, (TileEntityChemicalInfuser)tileEntity);
case 31: case 31:
return new GuiChemicalInjectionChamber(player.inventory, (TileEntityAdvancedElectricMachine)tileEntity); return new GuiChemicalInjectionChamber(player.inventory, (TileEntityAdvancedElectricMachine)tileEntity);
case 32:
return new GuiElectrolyticSeparator(player.inventory, (TileEntityElectrolyticSeparator)tileEntity);
} }
return null; return null;

View file

@ -1,21 +1,18 @@
package mekanism.generators.client.gui; package mekanism.client.gui;
import mekanism.api.Coord4D;
import mekanism.api.gas.Gas;
import mekanism.common.PacketHandler;
import mekanism.common.PacketHandler.Transmission;
import mekanism.common.network.PacketTileEntity;
import mekanism.common.util.MekanismUtils;
import mekanism.common.util.MekanismUtils.ResourceType;
import mekanism.generators.common.inventory.container.ContainerElectrolyticSeparator;
import mekanism.generators.common.tileentity.TileEntityElectrolyticSeparator;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.entity.player.InventoryPlayer;
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import mekanism.api.Coord4D;
import mekanism.common.PacketHandler;
import mekanism.common.PacketHandler.Transmission;
import mekanism.common.inventory.container.ContainerElectrolyticSeparator;
import mekanism.common.network.PacketTileEntity;
import mekanism.common.tileentity.TileEntityElectrolyticSeparator;
import mekanism.common.util.MekanismUtils;
import mekanism.common.util.MekanismUtils.ResourceType;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.entity.player.InventoryPlayer;
import org.lwjgl.opengl.GL11;
import java.util.ArrayList; import java.util.ArrayList;

View file

@ -1,10 +1,9 @@
package mekanism.generators.client.model; package mekanism.client.model;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer; import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public class ModelElectrolyticSeparator extends ModelBase public class ModelElectrolyticSeparator extends ModelBase

View file

@ -1,17 +1,14 @@
package mekanism.generators.client.render; package mekanism.client.render;
import mekanism.api.gas.GasRegistry;
import mekanism.common.util.MekanismUtils;
import mekanism.common.util.MekanismUtils.ResourceType;
import mekanism.generators.client.model.ModelElectrolyticSeparator;
import mekanism.generators.common.tileentity.TileEntityElectrolyticSeparator;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import mekanism.client.model.ModelElectrolyticSeparator;
import mekanism.common.tileentity.TileEntityElectrolyticSeparator;
import mekanism.common.util.MekanismUtils;
import mekanism.common.util.MekanismUtils.ResourceType;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
import org.lwjgl.opengl.GL11;
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public class RenderElectrolyticSeparator extends TileEntitySpecialRenderer public class RenderElectrolyticSeparator extends TileEntitySpecialRenderer

View file

@ -1,14 +1,10 @@
package mekanism.client.render.block; package mekanism.client.render.block;
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import mekanism.client.ClientProxy; import mekanism.client.ClientProxy;
import mekanism.client.model.ModelChargepad; import mekanism.client.model.*;
import mekanism.client.model.ModelChemicalInfuser;
import mekanism.client.model.ModelChemicalOxidizer;
import mekanism.client.model.ModelDigitalMiner;
import mekanism.client.model.ModelElectricPump;
import mekanism.client.model.ModelLogisticalSorter;
import mekanism.client.model.ModelMetallurgicInfuser;
import mekanism.client.model.ModelRotaryCondensentrator;
import mekanism.client.render.MekanismRenderer; import mekanism.client.render.MekanismRenderer;
import mekanism.common.block.BlockMachine.MachineType; import mekanism.common.block.BlockMachine.MachineType;
import mekanism.common.util.MekanismUtils; import mekanism.common.util.MekanismUtils;
@ -17,13 +13,8 @@ import net.minecraft.block.Block;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL11;
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public class MachineRenderingHandler implements ISimpleBlockRenderingHandler public class MachineRenderingHandler implements ISimpleBlockRenderingHandler
{ {
@ -35,7 +26,9 @@ public class MachineRenderingHandler implements ISimpleBlockRenderingHandler
public ModelRotaryCondensentrator rotaryCondensentrator = new ModelRotaryCondensentrator(); public ModelRotaryCondensentrator rotaryCondensentrator = new ModelRotaryCondensentrator();
public ModelChemicalOxidizer chemicalOxidizer = new ModelChemicalOxidizer(); public ModelChemicalOxidizer chemicalOxidizer = new ModelChemicalOxidizer();
public ModelChemicalInfuser chemicalInfuser = new ModelChemicalInfuser(); public ModelChemicalInfuser chemicalInfuser = new ModelChemicalInfuser();
public ModelElectrolyticSeparator electrolyticSeparator = new ModelElectrolyticSeparator();
@Override @Override
public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer)
{ {
@ -114,6 +107,13 @@ public class MachineRenderingHandler implements ISimpleBlockRenderingHandler
chemicalInfuser.render(0.0625F); chemicalInfuser.render(0.0625F);
chemicalInfuser.renderGlass(0.0625F); chemicalInfuser.renderGlass(0.0625F);
} }
else if(type == MachineType.ELECTROLYTIC_SEPARATOR)
{
GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
GL11.glTranslated(0.0F, -1.0F, 0.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "ElectrolyticSeparatorHydrogen.png"));
electrolyticSeparator.render(0.0625F);
}
else { else {
MekanismRenderer.renderItem(renderer, metadata, block); MekanismRenderer.renderItem(renderer, metadata, block);
} }

View file

@ -1,20 +1,18 @@
package mekanism.common; package mekanism.common;
import java.io.File; import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.TickRegistry;
import cpw.mods.fml.relauncher.Side;
import mekanism.common.inventory.container.*; import mekanism.common.inventory.container.*;
import mekanism.common.inventory.container.ContainerChemicalOxidizer;
import mekanism.common.tileentity.*; import mekanism.common.tileentity.*;
import mekanism.common.tileentity.TileEntityChemicalOxidizer;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.inventory.Container; import net.minecraft.inventory.Container;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.Configuration; import net.minecraftforge.common.Configuration;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.TickRegistry; import java.io.File;
import cpw.mods.fml.relauncher.Side;
/** /**
* Common proxy for the Mekanism mod. * Common proxy for the Mekanism mod.
@ -59,6 +57,7 @@ public class CommonProxy
GameRegistry.registerTileEntity(TileEntityChemicalOxidizer.class, "ChemicalOxidizer"); GameRegistry.registerTileEntity(TileEntityChemicalOxidizer.class, "ChemicalOxidizer");
GameRegistry.registerTileEntity(TileEntityChemicalInfuser.class, "ChemicalInfuser"); GameRegistry.registerTileEntity(TileEntityChemicalInfuser.class, "ChemicalInfuser");
GameRegistry.registerTileEntity(TileEntityChemicalInjectionChamber.class, "ChemicalInjectionChamber"); GameRegistry.registerTileEntity(TileEntityChemicalInjectionChamber.class, "ChemicalInjectionChamber");
GameRegistry.registerTileEntity(TileEntityElectrolyticSeparator.class, "ElectrolyticSeparator");
} }
/** /**
@ -158,6 +157,7 @@ public class CommonProxy
Mekanism.oxidationChamberUsage = Mekanism.configuration.get("usage", "OxidationChamberUsage", 100D).getDouble(100D); Mekanism.oxidationChamberUsage = Mekanism.configuration.get("usage", "OxidationChamberUsage", 100D).getDouble(100D);
Mekanism.chemicalInfuserUsage = Mekanism.configuration.get("usage", "ChemicalInfuserUsage", 100D).getDouble(100D); Mekanism.chemicalInfuserUsage = Mekanism.configuration.get("usage", "ChemicalInfuserUsage", 100D).getDouble(100D);
Mekanism.chemicalInjectionChamberUsage = Mekanism.configuration.get("usage", "ChemicalInjectionChamberUsage", 200D).getDouble(200D); Mekanism.chemicalInjectionChamberUsage = Mekanism.configuration.get("usage", "ChemicalInjectionChamberUsage", 200D).getDouble(200D);
Mekanism.electrolyticSeparatorUsage = Mekanism.configuration.get("usage", "ElectrolyticSeparatorUsage", 50D).getDouble(50D);
Mekanism.configuration.save(); Mekanism.configuration.save();
} }
@ -295,6 +295,8 @@ public class CommonProxy
return new ContainerChemicalInfuser(player.inventory, (TileEntityChemicalInfuser)tileEntity); return new ContainerChemicalInfuser(player.inventory, (TileEntityChemicalInfuser)tileEntity);
case 31: case 31:
return new ContainerAdvancedElectricMachine(player.inventory, (TileEntityAdvancedElectricMachine)tileEntity); return new ContainerAdvancedElectricMachine(player.inventory, (TileEntityAdvancedElectricMachine)tileEntity);
case 32:
return new ContainerElectrolyticSeparator(player.inventory, (TileEntityElectrolyticSeparator)tileEntity);
} }
return null; return null;

View file

@ -1,15 +1,15 @@
package mekanism.common; package mekanism.common;
import java.io.File; import cpw.mods.fml.common.FMLLog;
import java.util.ArrayList; import cpw.mods.fml.common.Mod;
import java.util.HashMap; import cpw.mods.fml.common.Mod.EventHandler;
import java.util.HashSet; import cpw.mods.fml.common.Mod.Instance;
import java.util.Iterator; import cpw.mods.fml.common.SidedProxy;
import java.util.List; import cpw.mods.fml.common.event.*;
import java.util.Map; import cpw.mods.fml.common.network.NetworkMod;
import java.util.Set; import cpw.mods.fml.common.network.NetworkRegistry;
import java.util.logging.Logger; import cpw.mods.fml.common.registry.EntityRegistry;
import cpw.mods.fml.common.registry.GameRegistry;
import mekanism.api.ChemicalInput; import mekanism.api.ChemicalInput;
import mekanism.api.Coord4D; import mekanism.api.Coord4D;
import mekanism.api.EnumColor; import mekanism.api.EnumColor;
@ -31,68 +31,12 @@ import mekanism.common.IFactory.RecipeType;
import mekanism.common.PacketHandler.Transmission; import mekanism.common.PacketHandler.Transmission;
import mekanism.common.Tier.EnergyCubeTier; import mekanism.common.Tier.EnergyCubeTier;
import mekanism.common.Tier.FactoryTier; import mekanism.common.Tier.FactoryTier;
import mekanism.common.block.BlockBasic; import mekanism.common.block.*;
import mekanism.common.block.BlockBounding; import mekanism.common.item.*;
import mekanism.common.block.BlockEnergyCube;
import mekanism.common.block.BlockGasTank;
import mekanism.common.block.BlockMachine;
import mekanism.common.block.BlockObsidianTNT;
import mekanism.common.block.BlockOre;
import mekanism.common.block.BlockTransmitter;
import mekanism.common.item.ItemAtomicDisassembler;
import mekanism.common.item.ItemBalloon;
import mekanism.common.item.ItemBlockBasic;
import mekanism.common.item.ItemBlockEnergyCube;
import mekanism.common.item.ItemBlockGasTank;
import mekanism.common.item.ItemBlockMachine;
import mekanism.common.item.ItemBlockOre;
import mekanism.common.item.ItemBlockTransmitter;
import mekanism.common.item.ItemClump;
import mekanism.common.item.ItemConfigurator;
import mekanism.common.item.ItemDictionary;
import mekanism.common.item.ItemDirtyDust;
import mekanism.common.item.ItemDust;
import mekanism.common.item.ItemElectricBow;
import mekanism.common.item.ItemEnergized;
import mekanism.common.item.ItemGasMask;
import mekanism.common.item.ItemIngot;
import mekanism.common.item.ItemJetpack;
import mekanism.common.item.ItemMachineUpgrade;
import mekanism.common.item.ItemMekanism;
import mekanism.common.item.ItemNetworkReader;
import mekanism.common.item.ItemPortableTeleporter;
import mekanism.common.item.ItemProxy;
import mekanism.common.item.ItemRobit;
import mekanism.common.item.ItemScubaTank;
import mekanism.common.item.ItemShard;
import mekanism.common.item.ItemWalkieTalkie;
import mekanism.common.multipart.ItemPartTransmitter; import mekanism.common.multipart.ItemPartTransmitter;
import mekanism.common.multipart.MultipartMekanism; import mekanism.common.multipart.MultipartMekanism;
import mekanism.common.network.PacketConfigSync; import mekanism.common.network.*;
import mekanism.common.network.PacketConfigurationUpdate;
import mekanism.common.network.PacketConfiguratorState;
import mekanism.common.network.PacketDataRequest;
import mekanism.common.network.PacketDigitUpdate;
import mekanism.common.network.PacketDigitalMinerGui;
import mekanism.common.network.PacketEditFilter;
import mekanism.common.network.PacketElectricBowState;
import mekanism.common.network.PacketElectricChest;
import mekanism.common.network.PacketJetpackData;
import mekanism.common.network.PacketKey;
import mekanism.common.network.PacketLogisticalSorterGui;
import mekanism.common.network.PacketNewFilter;
import mekanism.common.network.PacketPortableTeleport;
import mekanism.common.network.PacketPortalFX;
import mekanism.common.network.PacketRedstoneControl;
import mekanism.common.network.PacketRemoveUpgrade;
import mekanism.common.network.PacketRobit;
import mekanism.common.network.PacketScubaTankData;
import mekanism.common.network.PacketSimpleGui;
import mekanism.common.network.PacketStatusUpdate;
import mekanism.common.network.PacketTileEntity;
import mekanism.common.network.PacketTransmitterUpdate;
import mekanism.common.network.PacketTransmitterUpdate.PacketType; import mekanism.common.network.PacketTransmitterUpdate.PacketType;
import mekanism.common.network.PacketWalkieTalkieState;
import mekanism.common.tileentity.TileEntityAdvancedBoundingBlock; import mekanism.common.tileentity.TileEntityAdvancedBoundingBlock;
import mekanism.common.tileentity.TileEntityBoundingBlock; import mekanism.common.tileentity.TileEntityBoundingBlock;
import mekanism.common.tileentity.TileEntityElectricBlock; import mekanism.common.tileentity.TileEntityElectricBlock;
@ -112,25 +56,14 @@ import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.ForgeSubscribe;
import net.minecraftforge.event.world.ChunkEvent; import net.minecraftforge.event.world.ChunkEvent;
import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.OreDictionary;
import net.minecraftforge.oredict.ShapelessOreRecipe; import net.minecraftforge.oredict.ShapelessOreRecipe;
import rebelkeithy.mods.metallurgy.api.IOreInfo; import rebelkeithy.mods.metallurgy.api.IOreInfo;
import rebelkeithy.mods.metallurgy.api.MetallurgyAPI; import rebelkeithy.mods.metallurgy.api.MetallurgyAPI;
import cpw.mods.fml.common.FMLLog;
import cpw.mods.fml.common.Mod; import java.io.File;
import cpw.mods.fml.common.Mod.EventHandler; import java.util.*;
import cpw.mods.fml.common.Mod.Instance; import java.util.logging.Logger;
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.FMLServerStartingEvent;
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;
import cpw.mods.fml.common.registry.GameRegistry;
/** /**
* Mekanism - the mod that doesn't have a category. * Mekanism - the mod that doesn't have a category.
@ -231,7 +164,8 @@ public class Mekanism
public static Item Dictionary; public static Item Dictionary;
public static Item Balloon; public static Item Balloon;
public static Item Shard; public static Item Shard;
public static Item ElectrolyticCore;
//Blocks //Blocks
public static Block BasicBlock; public static Block BasicBlock;
public static Block MachineBlock; public static Block MachineBlock;
@ -242,13 +176,13 @@ public class Mekanism
public static Block BoundingBlock; public static Block BoundingBlock;
public static Block GasTank; public static Block GasTank;
public static Block Transmitter; public static Block Transmitter;
//Multi-ID Items //Multi-ID Items
public static Item Dust; public static Item Dust;
public static Item Ingot; public static Item Ingot;
public static Item Clump; public static Item Clump;
public static Item DirtyDust; public static Item DirtyDust;
//General Configuration //General Configuration
public static boolean osmiumGenerationEnabled = true; public static boolean osmiumGenerationEnabled = true;
public static boolean copperGenerationEnabled = true; public static boolean copperGenerationEnabled = true;
@ -266,11 +200,11 @@ public class Mekanism
public static int copperGenerationAmount = 16; public static int copperGenerationAmount = 16;
public static int tinGenerationAmount = 14; public static int tinGenerationAmount = 14;
public static int obsidianTNTDelay = 100; public static int obsidianTNTDelay = 100;
public static int UPDATE_DELAY = 10; public static int UPDATE_DELAY = 10;
public static int VOICE_PORT = 36123; public static int VOICE_PORT = 36123;
public static int maxUpgradeMultiplier = 10; public static int maxUpgradeMultiplier = 10;
public static double ENERGY_PER_REDSTONE = 10000; public static double ENERGY_PER_REDSTONE = 10000;
public static double TO_IC2; public static double TO_IC2;
public static double TO_BC; public static double TO_BC;
public static double TO_TE; public static double TO_TE;
@ -279,7 +213,7 @@ public class Mekanism
public static double FROM_BC; public static double FROM_BC;
public static double FROM_TE; public static double FROM_TE;
public static double FROM_UE = 1/TO_UE; public static double FROM_UE = 1/TO_UE;
//Usage Configuration //Usage Configuration
public static double enrichmentChamberUsage; public static double enrichmentChamberUsage;
public static double osmiumCompressorUsage; public static double osmiumCompressorUsage;
@ -294,7 +228,8 @@ public class Mekanism
public static double oxidationChamberUsage; public static double oxidationChamberUsage;
public static double chemicalInfuserUsage; public static double chemicalInfuserUsage;
public static double chemicalInjectionChamberUsage; public static double chemicalInjectionChamberUsage;
public static double electrolyticSeparatorUsage;
/** /**
* Adds all in-game crafting and smelting recipes. * Adds all in-game crafting and smelting recipes.
*/ */
@ -494,7 +429,14 @@ public class Mekanism
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(MachineBlock2, 1, 4), new Object[] { CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(MachineBlock2, 1, 4), new Object[] {
"ACA", "ERE", "ACA", Character.valueOf('C'), "circuitBasic", Character.valueOf('A'), AtomicCore, Character.valueOf('E'), new ItemStack(BasicBlock, 1, 8), Character.valueOf('R'), new ItemStack(MachineBlock, 1, 9) "ACA", "ERE", "ACA", Character.valueOf('C'), "circuitBasic", Character.valueOf('A'), AtomicCore, Character.valueOf('E'), new ItemStack(BasicBlock, 1, 8), Character.valueOf('R'), new ItemStack(MachineBlock, 1, 9)
})); }));
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(MachineBlock2, 1, 5), 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 MekanismRecipe(new ItemStack(ElectrolyticCore), new Object[] {
"EPE", "IEG", "EPE", Character.valueOf('E'), Mekanism.EnrichedAlloy, Character.valueOf('P'), "dustOsmium", Character.valueOf('I'), "dustIron", Character.valueOf('G'), "dustGold"
}));
for(RecipeType type : RecipeType.values()) for(RecipeType type : RecipeType.values())
{ {
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(MekanismUtils.getFactory(FactoryTier.BASIC, type), new Object[] { CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(MekanismUtils.getFactory(FactoryTier.BASIC, type), new Object[] {
@ -681,6 +623,8 @@ public class Mekanism
PartTransmitter = new ItemPartTransmitter(configuration.getItem("MultipartTransmitter", 11225).getInt()).setUnlocalizedName("MultipartTransmitter"); PartTransmitter = new ItemPartTransmitter(configuration.getItem("MultipartTransmitter", 11225).getInt()).setUnlocalizedName("MultipartTransmitter");
Balloon = new ItemBalloon(configuration.getItem("Balloon", 11226).getInt()).setUnlocalizedName("Balloon"); Balloon = new ItemBalloon(configuration.getItem("Balloon", 11226).getInt()).setUnlocalizedName("Balloon");
Shard = new ItemShard(configuration.getItem("Shard", 11227).getInt()); Shard = new ItemShard(configuration.getItem("Shard", 11227).getInt());
ElectrolyticCore = new ItemMekanism(configuration.getItem("ElectrolyticCore", 11302).getInt()).setUnlocalizedName("ElectrolyticCore");
configuration.save(); configuration.save();
//Registrations //Registrations
@ -711,6 +655,7 @@ public class Mekanism
GameRegistry.registerItem(ScubaTank, "ScubaTank"); GameRegistry.registerItem(ScubaTank, "ScubaTank");
GameRegistry.registerItem(Balloon, "Balloon"); GameRegistry.registerItem(Balloon, "Balloon");
GameRegistry.registerItem(Shard, "Shard"); GameRegistry.registerItem(Shard, "Shard");
GameRegistry.registerItem(ElectrolyticCore, "ElectrolyticCore");
} }
/** /**

View file

@ -1,25 +1,13 @@
package mekanism.common.block; package mekanism.common.block;
import java.util.List; import buildcraft.api.tools.IToolWrench;
import java.util.Random; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import mekanism.api.Coord4D; import mekanism.api.Coord4D;
import mekanism.api.energy.IEnergizedItem; import mekanism.api.energy.IEnergizedItem;
import mekanism.client.ClientProxy; import mekanism.client.ClientProxy;
import mekanism.common.IActiveState; import mekanism.common.*;
import mekanism.common.IBoundingBlock;
import mekanism.common.IElectricChest;
import mekanism.common.IFactory;
import mekanism.common.IFactory.RecipeType; import mekanism.common.IFactory.RecipeType;
import mekanism.common.IInvConfiguration;
import mekanism.common.IRedstoneControl;
import mekanism.common.ISpecialBounds;
import mekanism.common.ISustainedInventory;
import mekanism.common.ISustainedTank;
import mekanism.common.IUpgradeManagement;
import mekanism.common.ItemAttacher;
import mekanism.common.Mekanism;
import mekanism.common.PacketHandler;
import mekanism.common.PacketHandler.Transmission; import mekanism.common.PacketHandler.Transmission;
import mekanism.common.miner.MinerFilter; import mekanism.common.miner.MinerFilter;
import mekanism.common.network.PacketElectricChest; import mekanism.common.network.PacketElectricChest;
@ -27,7 +15,6 @@ import mekanism.common.network.PacketElectricChest.ElectricChestPacketType;
import mekanism.common.network.PacketLogisticalSorterGui; import mekanism.common.network.PacketLogisticalSorterGui;
import mekanism.common.network.PacketLogisticalSorterGui.SorterGuiPacket; import mekanism.common.network.PacketLogisticalSorterGui.SorterGuiPacket;
import mekanism.common.tileentity.*; import mekanism.common.tileentity.*;
import mekanism.common.tileentity.TileEntityChemicalOxidizer;
import mekanism.common.transporter.TransporterFilter; import mekanism.common.transporter.TransporterFilter;
import mekanism.common.util.MekanismUtils; import mekanism.common.util.MekanismUtils;
import mekanism.common.util.TransporterUtils; import mekanism.common.util.TransporterUtils;
@ -53,9 +40,9 @@ import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.ForgeDirection;
import buildcraft.api.tools.IToolWrench;
import cpw.mods.fml.relauncher.Side; import java.util.List;
import cpw.mods.fml.relauncher.SideOnly; import java.util.Random;
/** /**
* Block class for handling multiple machine block IDs. * Block class for handling multiple machine block IDs.
@ -1091,8 +1078,10 @@ public class BlockMachine extends BlockContainer implements ISpecialBounds
ROTARY_CONDENSENTRATOR(Mekanism.machineBlock2ID, 0, "RotaryCondensentrator", 7, 20000, TileEntityRotaryCondensentrator.class, true, false), ROTARY_CONDENSENTRATOR(Mekanism.machineBlock2ID, 0, "RotaryCondensentrator", 7, 20000, TileEntityRotaryCondensentrator.class, true, false),
CHEMICAL_OXIDIZER(Mekanism.machineBlock2ID, 1, "ChemicalOxidizer", 29, 20000, TileEntityChemicalOxidizer.class, true, false), CHEMICAL_OXIDIZER(Mekanism.machineBlock2ID, 1, "ChemicalOxidizer", 29, 20000, TileEntityChemicalOxidizer.class, true, false),
CHEMICAL_INFUSER(Mekanism.machineBlock2ID, 2, "ChemicalInfuser", 30, 20000, TileEntityChemicalInfuser.class, true, false), CHEMICAL_INFUSER(Mekanism.machineBlock2ID, 2, "ChemicalInfuser", 30, 20000, TileEntityChemicalInfuser.class, true, false),
CHEMICAL_INJECTION_CHAMBER(Mekanism.machineBlock2ID, 3, "ChemicalInjectionChamber", 31, Mekanism.chemicalInjectionChamberUsage*400, TileEntityChemicalInjectionChamber.class, false, true); CHEMICAL_INJECTION_CHAMBER(Mekanism.machineBlock2ID, 3, "ChemicalInjectionChamber", 31, Mekanism.chemicalInjectionChamberUsage*400, TileEntityChemicalInjectionChamber.class, false, true),
ELECTROLYTIC_SEPARATOR(Mekanism.machineBlock2ID, 5, "ElectrolyticSeparator", 32, 20000, TileEntityElectrolyticSeparator.class, true, false);
public int typeId; public int typeId;
public int meta; public int meta;
public String name; public String name;

View file

@ -1,20 +1,17 @@
package mekanism.generators.common.inventory.container; package mekanism.common.inventory.container;
import mekanism.api.gas.GasRegistry; import mekanism.api.gas.GasRegistry;
import mekanism.api.gas.IGasItem; import mekanism.api.gas.IGasItem;
import mekanism.common.RecipeHandler; import mekanism.common.RecipeHandler;
import mekanism.common.inventory.slot.SlotEnergy.SlotDischarge; import mekanism.common.inventory.slot.SlotEnergy.SlotDischarge;
import mekanism.common.inventory.slot.SlotStorageTank; import mekanism.common.inventory.slot.SlotStorageTank;
import mekanism.common.tileentity.TileEntityElectrolyticSeparator;
import mekanism.common.util.ChargeUtils; import mekanism.common.util.ChargeUtils;
import mekanism.generators.common.tileentity.TileEntityElectrolyticSeparator;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container; import net.minecraft.inventory.Container;
import net.minecraft.inventory.Slot; import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidContainerRegistry;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
public class ContainerElectrolyticSeparator extends Container public class ContainerElectrolyticSeparator extends Container
{ {

View file

@ -1,7 +1,9 @@
package mekanism.generators.common.tileentity; package mekanism.common.tileentity;
import java.util.ArrayList;
import com.google.common.io.ByteArrayDataInput;
import dan200.computer.api.IComputerAccess;
import dan200.computer.api.ILuaContext;
import dan200.computer.api.IPeripheral;
import mekanism.api.ChemicalInput; import mekanism.api.ChemicalInput;
import mekanism.api.Coord4D; import mekanism.api.Coord4D;
import mekanism.api.gas.*; import mekanism.api.gas.*;
@ -10,29 +12,17 @@ import mekanism.common.Mekanism;
import mekanism.common.PacketHandler; import mekanism.common.PacketHandler;
import mekanism.common.PacketHandler.Transmission; import mekanism.common.PacketHandler.Transmission;
import mekanism.common.RecipeHandler; import mekanism.common.RecipeHandler;
import mekanism.common.block.BlockMachine.MachineType;
import mekanism.common.network.PacketTileEntity; import mekanism.common.network.PacketTileEntity;
import mekanism.common.tileentity.TileEntityElectricBlock;
import mekanism.common.util.ChargeUtils; import mekanism.common.util.ChargeUtils;
import mekanism.common.util.MekanismUtils; import mekanism.common.util.MekanismUtils;
import mekanism.generators.common.MekanismGenerators;
import mekanism.generators.common.block.BlockGenerator.GeneratorType;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.ForgeDirection;
import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.*;
import net.minecraftforge.fluids.FluidContainerRegistry;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.FluidTank;
import net.minecraftforge.fluids.FluidTankInfo;
import net.minecraftforge.fluids.IFluidHandler;
import com.google.common.io.ByteArrayDataInput; import java.util.ArrayList;
import dan200.computer.api.IComputerAccess;
import dan200.computer.api.ILuaContext;
import dan200.computer.api.IPeripheral;
public class TileEntityElectrolyticSeparator extends TileEntityElectricBlock implements IFluidHandler, IPeripheral, ITubeConnection, ISustainedTank, IGasHandler public class TileEntityElectrolyticSeparator extends TileEntityElectricBlock implements IFluidHandler, IPeripheral, ITubeConnection, ISustainedTank, IGasHandler
{ {
@ -59,7 +49,7 @@ public class TileEntityElectrolyticSeparator extends TileEntityElectricBlock imp
public TileEntityElectrolyticSeparator() public TileEntityElectrolyticSeparator()
{ {
super("ElectrolyticSeparator", GeneratorType.ELECTROLYTIC_SEPARATOR.maxEnergy); super("ElectrolyticSeparator", MachineType.ELECTROLYTIC_SEPARATOR.baseEnergy);
inventory = new ItemStack[4]; inventory = new ItemStack[4];
} }
@ -115,7 +105,7 @@ public class TileEntityElectrolyticSeparator extends TileEntityElectricBlock imp
if(canOperate()) if(canOperate())
{ {
fillTanks(RecipeHandler.getElectrolyticSeparatorOutput(fluidTank, true)); fillTanks(RecipeHandler.getElectrolyticSeparatorOutput(fluidTank, true));
setEnergy(getEnergy() - MekanismGenerators.electrolyticSeparatorUsage); setEnergy(getEnergy() - Mekanism.electrolyticSeparatorUsage);
} }
if(leftTank.getGas() != null) if(leftTank.getGas() != null)
@ -179,7 +169,7 @@ public class TileEntityElectrolyticSeparator extends TileEntityElectricBlock imp
public boolean canOperate() public boolean canOperate()
{ {
return canFillWithSwap(RecipeHandler.getElectrolyticSeparatorOutput(fluidTank, false)) && getEnergy() >= MekanismGenerators.electrolyticSeparatorUsage; return canFillWithSwap(RecipeHandler.getElectrolyticSeparatorOutput(fluidTank, false)) && getEnergy() >= Mekanism.electrolyticSeparatorUsage;
} }
public boolean canFillWithSwap(ChemicalInput gases) public boolean canFillWithSwap(ChemicalInput gases)

View file

@ -1,28 +1,20 @@
package mekanism.generators.client; package mekanism.generators.client;
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import mekanism.client.render.MekanismRenderer; import mekanism.client.render.MekanismRenderer;
import mekanism.common.util.MekanismUtils; import mekanism.common.util.MekanismUtils;
import mekanism.common.util.MekanismUtils.ResourceType; import mekanism.common.util.MekanismUtils.ResourceType;
import mekanism.generators.client.model.ModelAdvancedSolarGenerator; import mekanism.generators.client.model.*;
import mekanism.generators.client.model.ModelBioGenerator;
import mekanism.generators.client.model.ModelElectrolyticSeparator;
import mekanism.generators.client.model.ModelHeatGenerator;
import mekanism.generators.client.model.ModelHydrogenGenerator;
import mekanism.generators.client.model.ModelSolarGenerator;
import mekanism.generators.client.model.ModelWindTurbine;
import mekanism.generators.common.MekanismGenerators; import mekanism.generators.common.MekanismGenerators;
import mekanism.generators.common.block.BlockGenerator.GeneratorType; import mekanism.generators.common.block.BlockGenerator.GeneratorType;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL11;
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public class BlockRenderingHandler implements ISimpleBlockRenderingHandler public class BlockRenderingHandler implements ISimpleBlockRenderingHandler
{ {
@ -31,7 +23,6 @@ public class BlockRenderingHandler implements ISimpleBlockRenderingHandler
public ModelBioGenerator bioGenerator = new ModelBioGenerator(); public ModelBioGenerator bioGenerator = new ModelBioGenerator();
public ModelHeatGenerator heatGenerator = new ModelHeatGenerator(); public ModelHeatGenerator heatGenerator = new ModelHeatGenerator();
public ModelHydrogenGenerator hydrogenGenerator = new ModelHydrogenGenerator(); public ModelHydrogenGenerator hydrogenGenerator = new ModelHydrogenGenerator();
public ModelElectrolyticSeparator electrolyticSeparator = new ModelElectrolyticSeparator();
public ModelWindTurbine windTurbine = new ModelWindTurbine(); public ModelWindTurbine windTurbine = new ModelWindTurbine();
@Override @Override
@ -82,13 +73,6 @@ public class BlockRenderingHandler implements ISimpleBlockRenderingHandler
Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "HydrogenGenerator.png")); Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "HydrogenGenerator.png"));
hydrogenGenerator.render(0.0625F); hydrogenGenerator.render(0.0625F);
} }
else if(metadata == GeneratorType.ELECTROLYTIC_SEPARATOR.meta)
{
GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
GL11.glTranslated(0.0F, -1.0F, 0.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "ElectrolyticSeparatorHydrogen.png"));
electrolyticSeparator.render(0.0625F);
}
else if(metadata == GeneratorType.WIND_TURBINE.meta) else if(metadata == GeneratorType.WIND_TURBINE.meta)
{ {
GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);

View file

@ -1,34 +1,17 @@
package mekanism.generators.client; package mekanism.generators.client;
import mekanism.generators.client.gui.GuiBioGenerator;
import mekanism.generators.client.gui.GuiElectrolyticSeparator;
import mekanism.generators.client.gui.GuiHeatGenerator;
import mekanism.generators.client.gui.GuiHydrogenGenerator;
import mekanism.generators.client.gui.GuiSolarGenerator;
import mekanism.generators.client.gui.GuiWindTurbine;
import mekanism.generators.client.render.RenderAdvancedSolarGenerator;
import mekanism.generators.client.render.RenderBioGenerator;
import mekanism.generators.client.render.RenderElectrolyticSeparator;
import mekanism.generators.client.render.RenderHeatGenerator;
import mekanism.generators.client.render.RenderHydrogenGenerator;
import mekanism.generators.client.render.RenderSolarGenerator;
import mekanism.generators.client.render.RenderWindTurbine;
import mekanism.generators.common.GeneratorsCommonProxy;
import mekanism.generators.common.tileentity.TileEntityAdvancedSolarGenerator;
import mekanism.generators.common.tileentity.TileEntityBioGenerator;
import mekanism.generators.common.tileentity.TileEntityElectrolyticSeparator;
import mekanism.generators.common.tileentity.TileEntityHeatGenerator;
import mekanism.generators.common.tileentity.TileEntityHydrogenGenerator;
import mekanism.generators.common.tileentity.TileEntitySolarGenerator;
import mekanism.generators.common.tileentity.TileEntityWindTurbine;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import cpw.mods.fml.client.registry.ClientRegistry; import cpw.mods.fml.client.registry.ClientRegistry;
import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import mekanism.generators.client.gui.*;
import mekanism.generators.client.render.*;
import mekanism.generators.common.GeneratorsCommonProxy;
import mekanism.generators.common.tileentity.*;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public class GeneratorsClientProxy extends GeneratorsCommonProxy public class GeneratorsClientProxy extends GeneratorsCommonProxy
@ -43,7 +26,6 @@ public class GeneratorsClientProxy extends GeneratorsCommonProxy
ClientRegistry.registerTileEntity(TileEntityBioGenerator.class, "BioGenerator", new RenderBioGenerator()); ClientRegistry.registerTileEntity(TileEntityBioGenerator.class, "BioGenerator", new RenderBioGenerator());
ClientRegistry.registerTileEntity(TileEntityHeatGenerator.class, "HeatGenerator", new RenderHeatGenerator()); ClientRegistry.registerTileEntity(TileEntityHeatGenerator.class, "HeatGenerator", new RenderHeatGenerator());
ClientRegistry.registerTileEntity(TileEntityHydrogenGenerator.class, "HydrogenGenerator", new RenderHydrogenGenerator()); ClientRegistry.registerTileEntity(TileEntityHydrogenGenerator.class, "HydrogenGenerator", new RenderHydrogenGenerator());
ClientRegistry.registerTileEntity(TileEntityElectrolyticSeparator.class, "ElectrolyticSeparator", new RenderElectrolyticSeparator());
ClientRegistry.registerTileEntity(TileEntityWindTurbine.class, "WindTurbine", new RenderWindTurbine()); ClientRegistry.registerTileEntity(TileEntityWindTurbine.class, "WindTurbine", new RenderWindTurbine());
} }
@ -67,8 +49,6 @@ public class GeneratorsClientProxy extends GeneratorsCommonProxy
return new GuiHeatGenerator(player.inventory, (TileEntityHeatGenerator)tileEntity); return new GuiHeatGenerator(player.inventory, (TileEntityHeatGenerator)tileEntity);
case 1: case 1:
return new GuiSolarGenerator(player.inventory, (TileEntitySolarGenerator)tileEntity); return new GuiSolarGenerator(player.inventory, (TileEntitySolarGenerator)tileEntity);
case 2:
return new GuiElectrolyticSeparator(player.inventory, (TileEntityElectrolyticSeparator)tileEntity);
case 3: case 3:
return new GuiHydrogenGenerator(player.inventory, (TileEntityHydrogenGenerator)tileEntity); return new GuiHydrogenGenerator(player.inventory, (TileEntityHydrogenGenerator)tileEntity);
case 4: case 4:

View file

@ -1,24 +1,13 @@
package mekanism.generators.common; package mekanism.generators.common;
import cpw.mods.fml.common.registry.GameRegistry;
import mekanism.common.Mekanism; import mekanism.common.Mekanism;
import mekanism.generators.common.inventory.container.ContainerBioGenerator; import mekanism.generators.common.inventory.container.*;
import mekanism.generators.common.inventory.container.ContainerElectrolyticSeparator; import mekanism.generators.common.tileentity.*;
import mekanism.generators.common.inventory.container.ContainerHeatGenerator;
import mekanism.generators.common.inventory.container.ContainerHydrogenGenerator;
import mekanism.generators.common.inventory.container.ContainerSolarGenerator;
import mekanism.generators.common.inventory.container.ContainerWindTurbine;
import mekanism.generators.common.tileentity.TileEntityAdvancedSolarGenerator;
import mekanism.generators.common.tileentity.TileEntityBioGenerator;
import mekanism.generators.common.tileentity.TileEntityElectrolyticSeparator;
import mekanism.generators.common.tileentity.TileEntityHeatGenerator;
import mekanism.generators.common.tileentity.TileEntityHydrogenGenerator;
import mekanism.generators.common.tileentity.TileEntitySolarGenerator;
import mekanism.generators.common.tileentity.TileEntityWindTurbine;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container; import net.minecraft.inventory.Container;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World; import net.minecraft.world.World;
import cpw.mods.fml.common.registry.GameRegistry;
/** /**
* Common proxy for the Mekanism Generators module. * Common proxy for the Mekanism Generators module.
@ -37,7 +26,6 @@ public class GeneratorsCommonProxy
GameRegistry.registerTileEntity(TileEntityBioGenerator.class, "BioGenerator"); GameRegistry.registerTileEntity(TileEntityBioGenerator.class, "BioGenerator");
GameRegistry.registerTileEntity(TileEntityHeatGenerator.class, "HeatGenerator"); GameRegistry.registerTileEntity(TileEntityHeatGenerator.class, "HeatGenerator");
GameRegistry.registerTileEntity(TileEntityHydrogenGenerator.class, "HydrogenGenerator"); GameRegistry.registerTileEntity(TileEntityHydrogenGenerator.class, "HydrogenGenerator");
GameRegistry.registerTileEntity(TileEntityElectrolyticSeparator.class, "ElectrolyticSeparator");
GameRegistry.registerTileEntity(TileEntityWindTurbine.class, "WindTurbine"); GameRegistry.registerTileEntity(TileEntityWindTurbine.class, "WindTurbine");
} }
@ -59,7 +47,6 @@ public class GeneratorsCommonProxy
MekanismGenerators.hydrogenGeneration = Mekanism.configuration.get("generation", "HydrogenGeneration", 400D).getDouble(400D); MekanismGenerators.hydrogenGeneration = Mekanism.configuration.get("generation", "HydrogenGeneration", 400D).getDouble(400D);
MekanismGenerators.solarGeneration = Mekanism.configuration.get("generation", "SolarGeneration", 50D).getDouble(50D); MekanismGenerators.solarGeneration = Mekanism.configuration.get("generation", "SolarGeneration", 50D).getDouble(50D);
MekanismGenerators.windGeneration = Mekanism.configuration.get("generation", "WindGeneration", 50D).getDouble(50D); MekanismGenerators.windGeneration = Mekanism.configuration.get("generation", "WindGeneration", 50D).getDouble(50D);
MekanismGenerators.electrolyticSeparatorUsage = Mekanism.configuration.get("usage", "ElectrolyticSeparatorUsage", 50D).getDouble(50D);
Mekanism.configuration.save(); Mekanism.configuration.save();
} }
@ -98,8 +85,6 @@ public class GeneratorsCommonProxy
return new ContainerHeatGenerator(player.inventory, (TileEntityHeatGenerator)tileEntity); return new ContainerHeatGenerator(player.inventory, (TileEntityHeatGenerator)tileEntity);
case 1: case 1:
return new ContainerSolarGenerator(player.inventory, (TileEntitySolarGenerator)tileEntity); return new ContainerSolarGenerator(player.inventory, (TileEntitySolarGenerator)tileEntity);
case 2:
return new ContainerElectrolyticSeparator(player.inventory, (TileEntityElectrolyticSeparator)tileEntity);
case 3: case 3:
return new ContainerHydrogenGenerator(player.inventory, (TileEntityHydrogenGenerator)tileEntity); return new ContainerHydrogenGenerator(player.inventory, (TileEntityHydrogenGenerator)tileEntity);
case 4: case 4:

View file

@ -1,23 +1,5 @@
package mekanism.generators.common; package mekanism.generators.common;
import mekanism.api.infuse.InfuseObject;
import mekanism.api.infuse.InfuseRegistry;
import mekanism.api.infuse.InfuseType;
import mekanism.common.IModule;
import mekanism.common.Mekanism;
import mekanism.common.MekanismRecipe;
import mekanism.common.RecipeHandler;
import mekanism.common.Version;
import mekanism.common.item.ItemMekanism;
import mekanism.common.util.MekanismUtils;
import mekanism.common.util.MekanismUtils.ResourceType;
import mekanism.generators.common.block.BlockGenerator;
import mekanism.generators.common.item.ItemBlockGenerator;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.CraftingManager;
import net.minecraftforge.oredict.OreDictionary;
import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.Mod.Instance;
@ -28,6 +10,20 @@ import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.network.NetworkMod; import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.network.NetworkRegistry;
import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.GameRegistry;
import mekanism.api.infuse.InfuseObject;
import mekanism.api.infuse.InfuseRegistry;
import mekanism.api.infuse.InfuseType;
import mekanism.common.*;
import mekanism.common.item.ItemMekanism;
import mekanism.common.util.MekanismUtils;
import mekanism.common.util.MekanismUtils.ResourceType;
import mekanism.generators.common.block.BlockGenerator;
import mekanism.generators.common.item.ItemBlockGenerator;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.CraftingManager;
import net.minecraftforge.oredict.OreDictionary;
@Mod(modid = "MekanismGenerators", name = "MekanismGenerators", version = "6.0.0", dependencies = "required-after:Mekanism") @Mod(modid = "MekanismGenerators", name = "MekanismGenerators", version = "6.0.0", dependencies = "required-after:Mekanism")
@NetworkMod(clientSideRequired = true, serverSideRequired = false) @NetworkMod(clientSideRequired = true, serverSideRequired = false)
@ -44,7 +40,6 @@ public class MekanismGenerators implements IModule
//Items //Items
public static Item BioFuel; public static Item BioFuel;
public static Item ElectrolyticCore;
public static Item SolarPanel; public static Item SolarPanel;
//Blocks //Blocks
@ -60,10 +55,7 @@ public class MekanismGenerators implements IModule
public static double hydrogenGeneration; public static double hydrogenGeneration;
public static double solarGeneration; public static double solarGeneration;
public static double windGeneration; public static double windGeneration;
//Usage Configuration
public static double electrolyticSeparatorUsage;
@EventHandler @EventHandler
public void preInit(FMLPreInitializationEvent event) public void preInit(FMLPreInitializationEvent event)
{ {
@ -122,14 +114,8 @@ public class MekanismGenerators implements IModule
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(Generator, 1, 4), new Object[] { CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(Generator, 1, 4), new Object[] {
"RER", "BCB", "NEN", Character.valueOf('R'), Item.redstone, Character.valueOf('E'), Mekanism.EnrichedAlloy, Character.valueOf('B'), BioFuel, Character.valueOf('C'), "circuitBasic", Character.valueOf('N'), Item.ingotIron "RER", "BCB", "NEN", Character.valueOf('R'), Item.redstone, Character.valueOf('E'), Mekanism.EnrichedAlloy, Character.valueOf('B'), BioFuel, Character.valueOf('C'), "circuitBasic", Character.valueOf('N'), Item.ingotIron
})); }));
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(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 MekanismRecipe(new ItemStack(Generator, 1, 3), new Object[] { CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(Generator, 1, 3), new Object[] {
"PEP", "ICI", "PEP", Character.valueOf('P'), "ingotOsmium", Character.valueOf('E'), Mekanism.EnrichedAlloy, Character.valueOf('I'), new ItemStack(Mekanism.BasicBlock, 1, 8), Character.valueOf('C'), ElectrolyticCore "PEP", "ICI", "PEP", Character.valueOf('P'), "ingotOsmium", Character.valueOf('E'), Mekanism.EnrichedAlloy, Character.valueOf('I'), new ItemStack(Mekanism.BasicBlock, 1, 8), Character.valueOf('C'), Mekanism.ElectrolyticCore
}));
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(ElectrolyticCore), new Object[] {
"EPE", "IEG", "EPE", Character.valueOf('E'), Mekanism.EnrichedAlloy, Character.valueOf('P'), "dustOsmium", Character.valueOf('I'), "dustIron", Character.valueOf('G'), "dustGold"
})); }));
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(SolarPanel), new Object[] { CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(SolarPanel), new Object[] {
"GGG", "RAR", "PPP", Character.valueOf('G'), Block.thinGlass, Character.valueOf('R'), Item.redstone, Character.valueOf('A'), Mekanism.EnrichedAlloy, Character.valueOf('P'), "ingotOsmium" "GGG", "RAR", "PPP", Character.valueOf('G'), Block.thinGlass, Character.valueOf('R'), Item.redstone, Character.valueOf('A'), Mekanism.EnrichedAlloy, Character.valueOf('P'), "ingotOsmium"
@ -167,14 +153,12 @@ public class MekanismGenerators implements IModule
Mekanism.configuration.load(); Mekanism.configuration.load();
SolarPanel = new ItemMekanism(Mekanism.configuration.getItem("SolarPanel", 11300).getInt()).setUnlocalizedName("SolarPanel"); SolarPanel = new ItemMekanism(Mekanism.configuration.getItem("SolarPanel", 11300).getInt()).setUnlocalizedName("SolarPanel");
BioFuel = new ItemMekanism(Mekanism.configuration.getItem("BioFuel", 11301).getInt()).setUnlocalizedName("BioFuel"); BioFuel = new ItemMekanism(Mekanism.configuration.getItem("BioFuel", 11301).getInt()).setUnlocalizedName("BioFuel");
ElectrolyticCore = new ItemMekanism(Mekanism.configuration.getItem("ElectrolyticCore", 11302).getInt()).setUnlocalizedName("ElectrolyticCore");
Mekanism.configuration.save(); Mekanism.configuration.save();
//Registrations //Registrations
GameRegistry.registerItem(SolarPanel, "SolarPanel"); GameRegistry.registerItem(SolarPanel, "SolarPanel");
GameRegistry.registerItem(BioFuel, "BioFuel"); GameRegistry.registerItem(BioFuel, "BioFuel");
GameRegistry.registerItem(ElectrolyticCore, "ElectrolyticCore");
//Ore Dictionary //Ore Dictionary
OreDictionary.registerOre("itemBioFuel", new ItemStack(BioFuel)); OreDictionary.registerOre("itemBioFuel", new ItemStack(BioFuel));
} }

View file

@ -1,28 +1,16 @@
package mekanism.generators.common.block; package mekanism.generators.common.block;
import java.util.List; import buildcraft.api.tools.IToolWrench;
import java.util.Random; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import mekanism.api.energy.IEnergizedItem; import mekanism.api.energy.IEnergizedItem;
import mekanism.common.IActiveState; import mekanism.common.*;
import mekanism.common.IBoundingBlock;
import mekanism.common.ISpecialBounds;
import mekanism.common.ISustainedInventory;
import mekanism.common.ISustainedTank;
import mekanism.common.ItemAttacher;
import mekanism.common.Mekanism;
import mekanism.common.tileentity.TileEntityBasicBlock; import mekanism.common.tileentity.TileEntityBasicBlock;
import mekanism.common.tileentity.TileEntityElectricBlock; import mekanism.common.tileentity.TileEntityElectricBlock;
import mekanism.common.util.MekanismUtils; import mekanism.common.util.MekanismUtils;
import mekanism.generators.client.GeneratorsClientProxy; import mekanism.generators.client.GeneratorsClientProxy;
import mekanism.generators.common.MekanismGenerators; import mekanism.generators.common.MekanismGenerators;
import mekanism.generators.common.tileentity.TileEntityAdvancedSolarGenerator; import mekanism.generators.common.tileentity.*;
import mekanism.generators.common.tileentity.TileEntityBioGenerator;
import mekanism.generators.common.tileentity.TileEntityElectrolyticSeparator;
import mekanism.generators.common.tileentity.TileEntityHeatGenerator;
import mekanism.generators.common.tileentity.TileEntityHydrogenGenerator;
import mekanism.generators.common.tileentity.TileEntitySolarGenerator;
import mekanism.generators.common.tileentity.TileEntityWindTurbine;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer; import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
@ -37,16 +25,14 @@ import net.minecraft.util.MathHelper;
import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection;
import buildcraft.api.tools.IToolWrench; import java.util.List;
import cpw.mods.fml.relauncher.Side; import java.util.Random;
import cpw.mods.fml.relauncher.SideOnly;
/** /**
* Block class for handling multiple generator block IDs. * Block class for handling multiple generator block IDs.
* 0: Heat Generator * 0: Heat Generator
* 1: Solar Generator * 1: Solar Generator
* 2: Electrolytic Separator
* 3: Hydrogen Generator * 3: Hydrogen Generator
* 4: Bio-Generator * 4: Bio-Generator
* 5: Advanced Solar Generator * 5: Advanced Solar Generator
@ -87,35 +73,7 @@ public class BlockGenerator extends BlockContainer implements ISpecialBounds
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase entityliving, ItemStack itemstack) public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase entityliving, ItemStack itemstack)
{ {
TileEntityBasicBlock tileEntity = (TileEntityBasicBlock)world.getBlockTileEntity(x, y, z); TileEntityBasicBlock tileEntity = (TileEntityBasicBlock)world.getBlockTileEntity(x, y, z);
//If the block is a electrolytic separator.
if(world.getBlockMetadata(x, y, z) == 2)
{
boolean hasReactor = false;
//Loop through all possible orientations.
for(ForgeDirection direction : ForgeDirection.values())
{
int xPos = x + direction.offsetX;
int yPos = y + direction.offsetY;
int zPos = z + direction.offsetZ;
//If this orientation faces a hydrogen reactor.
if(world.getBlockId(xPos, yPos, zPos) == MekanismGenerators.generatorID && world.getBlockMetadata(xPos, yPos, zPos) == 3)
{
hasReactor = true;
//Set the separator's facing towards the reactor.
tileEntity.setFacing((short)direction.ordinal());
break;
}
}
//If there was a reactor next to this machine, no further calculations are needed.
if(hasReactor)
{
return;
}
}
int side = MathHelper.floor_double((double)(entityliving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; int side = MathHelper.floor_double((double)(entityliving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
int height = Math.round(entityliving.rotationPitch); int height = Math.round(entityliving.rotationPitch);
int change = 3; int change = 3;
@ -180,7 +138,6 @@ public class BlockGenerator extends BlockContainer implements ISpecialBounds
{ {
list.add(new ItemStack(i, 1, 0)); list.add(new ItemStack(i, 1, 0));
list.add(new ItemStack(i, 1, 1)); list.add(new ItemStack(i, 1, 1));
list.add(new ItemStack(i, 1, 2));
list.add(new ItemStack(i, 1, 3)); list.add(new ItemStack(i, 1, 3));
list.add(new ItemStack(i, 1, 4)); list.add(new ItemStack(i, 1, 4));
list.add(new ItemStack(i, 1, 5)); list.add(new ItemStack(i, 1, 5));
@ -203,7 +160,7 @@ public class BlockGenerator extends BlockContainer implements ISpecialBounds
if(tileEntity.facing == 4) if(tileEntity.facing == 4)
{ {
switch(GeneratorType.values()[metadata]) switch(GeneratorType.getFromMetadata(metadata))
{ {
case HEAT_GENERATOR: case HEAT_GENERATOR:
world.spawnParticle("smoke", (double)(xRandom + iRandom), (double)yRandom, (double)(zRandom - jRandom), 0.0D, 0.0D, 0.0D); world.spawnParticle("smoke", (double)(xRandom + iRandom), (double)yRandom, (double)(zRandom - jRandom), 0.0D, 0.0D, 0.0D);
@ -218,7 +175,7 @@ public class BlockGenerator extends BlockContainer implements ISpecialBounds
} }
else if(tileEntity.facing == 5) else if(tileEntity.facing == 5)
{ {
switch(GeneratorType.values()[metadata]) switch(GeneratorType.getFromMetadata(metadata))
{ {
case HEAT_GENERATOR: case HEAT_GENERATOR:
world.spawnParticle("smoke", (double)(xRandom - iRandom), (double)yRandom, (double)(zRandom - jRandom), 0.0D, 0.0D, 0.0D); world.spawnParticle("smoke", (double)(xRandom - iRandom), (double)yRandom, (double)(zRandom - jRandom), 0.0D, 0.0D, 0.0D);
@ -233,7 +190,7 @@ public class BlockGenerator extends BlockContainer implements ISpecialBounds
} }
else if(tileEntity.facing == 2) else if(tileEntity.facing == 2)
{ {
switch(GeneratorType.values()[metadata]) switch(GeneratorType.getFromMetadata(metadata))
{ {
case HEAT_GENERATOR: case HEAT_GENERATOR:
world.spawnParticle("smoke", (double)(xRandom - jRandom), (double)yRandom, (double)(zRandom + iRandom), 0.0D, 0.0D, 0.0D); world.spawnParticle("smoke", (double)(xRandom - jRandom), (double)yRandom, (double)(zRandom + iRandom), 0.0D, 0.0D, 0.0D);
@ -248,7 +205,7 @@ public class BlockGenerator extends BlockContainer implements ISpecialBounds
} }
else if(tileEntity.facing == 3) else if(tileEntity.facing == 3)
{ {
switch(GeneratorType.values()[metadata]) switch(GeneratorType.getFromMetadata(metadata))
{ {
case HEAT_GENERATOR: case HEAT_GENERATOR:
world.spawnParticle("smoke", (double)(xRandom - jRandom), (double)yRandom, (double)(zRandom - iRandom), 0.0D, 0.0D, 0.0D); world.spawnParticle("smoke", (double)(xRandom - jRandom), (double)yRandom, (double)(zRandom - iRandom), 0.0D, 0.0D, 0.0D);
@ -526,7 +483,6 @@ public class BlockGenerator extends BlockContainer implements ISpecialBounds
{ {
HEAT_GENERATOR(0, "HeatGenerator", 0, 160000, TileEntityHeatGenerator.class, true), HEAT_GENERATOR(0, "HeatGenerator", 0, 160000, TileEntityHeatGenerator.class, true),
SOLAR_GENERATOR(1, "SolarGenerator", 1, 96000, TileEntitySolarGenerator.class, true), SOLAR_GENERATOR(1, "SolarGenerator", 1, 96000, TileEntitySolarGenerator.class, true),
ELECTROLYTIC_SEPARATOR(2, "ElectrolyticSeparator", 2, 20000, TileEntityElectrolyticSeparator.class, true),
HYDROGEN_GENERATOR(3, "HydrogenGenerator", 3, 40000, TileEntityHydrogenGenerator.class, true), HYDROGEN_GENERATOR(3, "HydrogenGenerator", 3, 40000, TileEntityHydrogenGenerator.class, true),
BIO_GENERATOR(4, "BioGenerator", 4, 160000, TileEntityBioGenerator.class, true), BIO_GENERATOR(4, "BioGenerator", 4, 160000, TileEntityBioGenerator.class, true),
ADVANCED_SOLAR_GENERATOR(5, "AdvancedSolarGenerator", 1, 200000, TileEntityAdvancedSolarGenerator.class, true), ADVANCED_SOLAR_GENERATOR(5, "AdvancedSolarGenerator", 1, 200000, TileEntityAdvancedSolarGenerator.class, true),
@ -551,7 +507,12 @@ public class BlockGenerator extends BlockContainer implements ISpecialBounds
public static GeneratorType getFromMetadata(int meta) public static GeneratorType getFromMetadata(int meta)
{ {
return values()[meta]; for(GeneratorType type : values())
{
if(type.meta == meta)
return type;
}
return null;
} }
public TileEntity create() public TileEntity create()

View file

@ -1,10 +1,10 @@
package mekanism.generators.common.item; package mekanism.generators.common.item;
import cofh.api.energy.IEnergyContainerItem;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import ic2.api.item.IElectricItemManager; import ic2.api.item.IElectricItemManager;
import ic2.api.item.ISpecialElectricItem; import ic2.api.item.ISpecialElectricItem;
import java.util.List;
import mekanism.api.EnumColor; import mekanism.api.EnumColor;
import mekanism.api.energy.IEnergizedItem; import mekanism.api.energy.IEnergizedItem;
import mekanism.common.ISustainedInventory; import mekanism.common.ISustainedInventory;
@ -24,18 +24,14 @@ import net.minecraft.util.Icon;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidStack;
import org.lwjgl.input.Keyboard; import org.lwjgl.input.Keyboard;
import cofh.api.energy.IEnergyContainerItem; import java.util.List;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
/** /**
* Item class for handling multiple generator block IDs. * Item class for handling multiple generator block IDs.
* 0: Heat Generator * 0: Heat Generator
* 1: Solar Generator * 1: Solar Generator
* 2: Electrolytic Separator
* 3: Hydrogen Generator * 3: Hydrogen Generator
* 4: Bio-Generator * 4: Bio-Generator
* 5: Advanced Solar Generator * 5: Advanced Solar Generator
@ -305,13 +301,13 @@ public class ItemBlockGenerator extends ItemBlock implements IEnergizedItem, ISp
@Override @Override
public boolean canReceive(ItemStack itemStack) public boolean canReceive(ItemStack itemStack)
{ {
return itemStack.getItemDamage() == GeneratorType.ELECTROLYTIC_SEPARATOR.meta; return false;
} }
@Override @Override
public boolean canSend(ItemStack itemStack) public boolean canSend(ItemStack itemStack)
{ {
return itemStack.getItemDamage() != GeneratorType.ELECTROLYTIC_SEPARATOR.meta; return true;
} }
@Override @Override

View file

@ -26,6 +26,7 @@ item.Jetpack.name=Jetpack
item.ScubaTank.name=Taucherflasche item.ScubaTank.name=Taucherflasche
item.GasMask.name=Gasmaske item.GasMask.name=Gasmaske
item.Dictionary.name=Lexikon item.Dictionary.name=Lexikon
item.ElectrolyticCore.name=Elektrolytischer Kern
//Gas Tank //Gas Tank
tile.GasTank.GasTank.name=Gastank tile.GasTank.GasTank.name=Gastank
@ -70,6 +71,7 @@ tile.MachineBlock2.ChemicalOxidizer.name=Chemischer Oxidierer
tile.MachineBlock2.ChemicalInfuser.name=Chemischer Infundierer tile.MachineBlock2.ChemicalInfuser.name=Chemischer Infundierer
tile.MachineBlock2.ChemicalCombiner.name=Chemischer Kombinierer tile.MachineBlock2.ChemicalCombiner.name=Chemischer Kombinierer
tile.MachineBlock2.ChemicalInjectionChamber.name=Chemische Injektionskammer tile.MachineBlock2.ChemicalInjectionChamber.name=Chemische Injektionskammer
tile.MachineBlock2.ElectrolyticSeparator.name=Elektrolytischer Separator
//Ore Block //Ore Block
tile.OreBlock.OsmiumOre.name=Osmiumerz tile.OreBlock.OsmiumOre.name=Osmiumerz
@ -352,13 +354,11 @@ itemGroup.tabMekanism=Mekanism
//Items //Items
item.BioFuel.name=Biobrennstoff item.BioFuel.name=Biobrennstoff
item.ElectrolyticCore.name=Elektrolytischer Kern
item.SolarPanel.name=Solarmodul item.SolarPanel.name=Solarmodul
//Generators //Generators
tile.Generator.HeatGenerator.name=Hitzegenerator tile.Generator.HeatGenerator.name=Hitzegenerator
tile.Generator.SolarGenerator.name=Solargenerator tile.Generator.SolarGenerator.name=Solargenerator
tile.Generator.ElectrolyticSeparator.name=Elektrolytischer Separator
tile.Generator.HydrogenGenerator.name=Wasserstoffgenerator tile.Generator.HydrogenGenerator.name=Wasserstoffgenerator
tile.Generator.BioGenerator.name=Bio-Generator tile.Generator.BioGenerator.name=Bio-Generator
tile.Generator.AdvancedSolarGenerator.name=Fortgeschrittener Solargenerator tile.Generator.AdvancedSolarGenerator.name=Fortgeschrittener Solargenerator

View file

@ -26,6 +26,7 @@ item.Jetpack.name=Jetpack
item.ScubaTank.name=Scuba Tank item.ScubaTank.name=Scuba Tank
item.GasMask.name=Gas Mask item.GasMask.name=Gas Mask
item.Dictionary.name=Dictionary item.Dictionary.name=Dictionary
item.ElectrolyticCore.name=Electrolytic Core
//Gas Tank //Gas Tank
tile.GasTank.GasTank.name=Gas Tank tile.GasTank.GasTank.name=Gas Tank
@ -70,6 +71,7 @@ tile.MachineBlock2.ChemicalOxidizer.name=Chemical Oxidizer
tile.MachineBlock2.ChemicalInfuser.name=Chemical Infuser tile.MachineBlock2.ChemicalInfuser.name=Chemical Infuser
tile.MachineBlock2.ChemicalCombiner.name=Chemical Combiner tile.MachineBlock2.ChemicalCombiner.name=Chemical Combiner
tile.MachineBlock2.ChemicalInjectionChamber.name=Chemical Injection Chamber tile.MachineBlock2.ChemicalInjectionChamber.name=Chemical Injection Chamber
tile.MachineBlock2.ElectrolyticSeparator.name=Electrolytic Separator
//Ore Block //Ore Block
tile.OreBlock.OsmiumOre.name=Osmium Ore tile.OreBlock.OsmiumOre.name=Osmium Ore
@ -354,13 +356,11 @@ itemGroup.tabMekanism=Mekanism
//Items //Items
item.BioFuel.name=Bio Fuel item.BioFuel.name=Bio Fuel
item.ElectrolyticCore.name=Electrolytic Core
item.SolarPanel.name=Solar Panel item.SolarPanel.name=Solar Panel
//Generators //Generators
tile.Generator.HeatGenerator.name=Heat Generator tile.Generator.HeatGenerator.name=Heat Generator
tile.Generator.SolarGenerator.name=Solar Generator tile.Generator.SolarGenerator.name=Solar Generator
tile.Generator.ElectrolyticSeparator.name=Electrolytic Separator
tile.Generator.HydrogenGenerator.name=Hydrogen Generator tile.Generator.HydrogenGenerator.name=Hydrogen Generator
tile.Generator.BioGenerator.name=Bio-Generator tile.Generator.BioGenerator.name=Bio-Generator
tile.Generator.AdvancedSolarGenerator.name=Advanced Solar Generator tile.Generator.AdvancedSolarGenerator.name=Advanced Solar Generator

View file

@ -24,6 +24,7 @@ item.Configurator.name=Configurateur
item.NetworkReader.name=Analyseur de Réseaux item.NetworkReader.name=Analyseur de Réseaux
item.ManganeseAlloy.name=Alliage de Manganèse item.ManganeseAlloy.name=Alliage de Manganèse
item.WalkieTalkie.name=Talkie-Walkie item.WalkieTalkie.name=Talkie-Walkie
item.ElectrolyticCore.name=Noyau Electrolytique
//Basic Block //Basic Block
tile.BasicBlock.OsmiumBlock.name=Bloc d'Osmium tile.BasicBlock.OsmiumBlock.name=Bloc d'Osmium
@ -57,6 +58,8 @@ tile.MachineBlock.Chargepad.name=Plaque de Chargement
tile.MachineBlock.LogisticalSorter.name=Trieur Logistique tile.MachineBlock.LogisticalSorter.name=Trieur Logistique
tile.MachineBlock.DigitalMiner.name=Mineur Digital tile.MachineBlock.DigitalMiner.name=Mineur Digital
tile.MachineBlock2.ElectrolyticSeparator.name=Séparateur Electrolytique
//Ore Block //Ore Block
tile.OreBlock.OsmiumOre.name=Minerai d'Osmium tile.OreBlock.OsmiumOre.name=Minerai d'Osmium
@ -119,13 +122,11 @@ itemGroup.tabMekanism=Mekanism
//Items //Items
item.BioFuel.name=Biocombustible item.BioFuel.name=Biocombustible
item.ElectrolyticCore.name=Noyau Electrolytique
item.SolarPanel.name=Panneau Solaire item.SolarPanel.name=Panneau Solaire
//Generators //Generators
tile.Generator.HeatGenerator.name=Générateur Thermique tile.Generator.HeatGenerator.name=Générateur Thermique
tile.Generator.SolarGenerator.name=Générateur Solaire tile.Generator.SolarGenerator.name=Générateur Solaire
tile.Generator.ElectrolyticSeparator.name=Séparateur Electrolytique
tile.Generator.HydrogenGenerator.name=Générateur à Hydrogène tile.Generator.HydrogenGenerator.name=Générateur à Hydrogène
tile.Generator.BioGenerator.name=Bio-Générateur tile.Generator.BioGenerator.name=Bio-Générateur
tile.Generator.AdvancedSolarGenerator.name=Générateur Solaire Avancé tile.Generator.AdvancedSolarGenerator.name=Générateur Solaire Avancé

View file

@ -24,6 +24,7 @@ item.Configurator.name=Konfigurator
item.NetworkReader.name=Czytnik Sieci item.NetworkReader.name=Czytnik Sieci
item.ManganeseAlloy.name=Stop Manganu item.ManganeseAlloy.name=Stop Manganu
item.WalkieTalkie.name=Walkie-Talkie item.WalkieTalkie.name=Walkie-Talkie
item.ElectrolyticCore.name=Jądro Elektrolityczne
//Basic Block //Basic Block
tile.BasicBlock.OsmiumBlock.name=Blok Osmu tile.BasicBlock.OsmiumBlock.name=Blok Osmu
@ -56,6 +57,8 @@ tile.MachineBlock.ElectricChest.name=Elektryczna Skrzynia
tile.MachineBlock.Chargepad.name=Chargepad tile.MachineBlock.Chargepad.name=Chargepad
tile.MachineBlock.LogisticalSorter.name=Logistyczny Magazynier tile.MachineBlock.LogisticalSorter.name=Logistyczny Magazynier
tile.MachineBlock2.ElectrolyticSeparator.name=Separator Elektrolityczny
//Ore Block //Ore Block
tile.OreBlock.OsmiumOre.name=Ruda Osmu tile.OreBlock.OsmiumOre.name=Ruda Osmu
@ -116,13 +119,11 @@ itemGroup.tabMekanism=Mekanism
//Items //Items
item.BioFuel.name=Bio paliwo item.BioFuel.name=Bio paliwo
item.ElectrolyticCore.name=Jądro Elektrolityczne
item.SolarPanel.name=Panel Słoneczny item.SolarPanel.name=Panel Słoneczny
//Generators //Generators
tile.Generator.HeatGenerator.name=Generator Cieplny tile.Generator.HeatGenerator.name=Generator Cieplny
tile.Generator.SolarGenerator.name=Generator Słoneczny tile.Generator.SolarGenerator.name=Generator Słoneczny
tile.Generator.ElectrolyticSeparator.name=Separator Elektrolityczny
tile.Generator.HydrogenGenerator.name=Wodorowy Generator tile.Generator.HydrogenGenerator.name=Wodorowy Generator
tile.Generator.BioGenerator.name=Bio-Generator tile.Generator.BioGenerator.name=Bio-Generator
tile.Generator.AdvancedSolarGenerator.name=Zaawansowany Generator Słoneczny tile.Generator.AdvancedSolarGenerator.name=Zaawansowany Generator Słoneczny

View file

@ -26,6 +26,7 @@ item.Jetpack.name=Реактивный ранец
item.ScubaTank.name=Scuba Tank item.ScubaTank.name=Scuba Tank
item.GasMask.name=Gas Mask item.GasMask.name=Gas Mask
item.Dictionary.name=Словарь item.Dictionary.name=Словарь
item.ElectrolyticCore.name=Электролитическое ядро
//Gas Tank //Gas Tank
tile.GasTank.GasTank.name=Газовый баллон tile.GasTank.GasTank.name=Газовый баллон
@ -70,6 +71,7 @@ tile.MachineBlock2.ChemicalOxidizer.name=Химический окислител
tile.MachineBlock2.ChemicalInfuser.name=Химический вливатель tile.MachineBlock2.ChemicalInfuser.name=Химический вливатель
tile.MachineBlock2.ChemicalCombiner.name=Химический объединитель tile.MachineBlock2.ChemicalCombiner.name=Химический объединитель
tile.MachineBlock2.ChemicalInjectionChamber.name=Инъекционная химическая камера tile.MachineBlock2.ChemicalInjectionChamber.name=Инъекционная химическая камера
tile.MachineBlock2.ElectrolyticSeparator.name=Электролитический сепаратор
//Ore Block //Ore Block
tile.OreBlock.OsmiumOre.name=Осмиевая руда tile.OreBlock.OsmiumOre.name=Осмиевая руда
@ -352,13 +354,11 @@ itemGroup.tabMekanism=Mekanism
//Items //Items
item.BioFuel.name=Био-топливо item.BioFuel.name=Био-топливо
item.ElectrolyticCore.name=Электролитическое ядро
item.SolarPanel.name=Солнечная панель item.SolarPanel.name=Солнечная панель
//Generators //Generators
tile.Generator.HeatGenerator.name=Тепловой генератор tile.Generator.HeatGenerator.name=Тепловой генератор
tile.Generator.SolarGenerator.name=Солнечный генератор tile.Generator.SolarGenerator.name=Солнечный генератор
tile.Generator.ElectrolyticSeparator.name=Электролитический сепаратор
tile.Generator.HydrogenGenerator.name=Водородный генератор tile.Generator.HydrogenGenerator.name=Водородный генератор
tile.Generator.BioGenerator.name=Био-генератор tile.Generator.BioGenerator.name=Био-генератор
tile.Generator.AdvancedSolarGenerator.name=Продвинутый солнечный генератор tile.Generator.AdvancedSolarGenerator.name=Продвинутый солнечный генератор

View file

@ -26,6 +26,7 @@ item.Jetpack.name=喷射背包
item.ScubaTank.name=潜水罐 item.ScubaTank.name=潜水罐
item.GasMask.name=燃气面具 item.GasMask.name=燃气面具
item.Dictionary.name=辞典 item.Dictionary.name=辞典
item.ElectrolyticCore.name=电解核心
//Gas Tank //Gas Tank
tile.GasTank.GasTank.name=燃气储罐 tile.GasTank.GasTank.name=燃气储罐
@ -68,6 +69,7 @@ tile.MachineBlock.DigitalMiner.name=数字型采矿机
tile.MachineBlock2.RotaryCondensentrator.name=回旋式气液转换机 tile.MachineBlock2.RotaryCondensentrator.name=回旋式气液转换机
tile.MachineBlock2.OxidationChamber.name=化学程式机 tile.MachineBlock2.OxidationChamber.name=化学程式机
tile.MachineBlock2.ChemicalInfuser.name=化学灌注器 tile.MachineBlock2.ChemicalInfuser.name=化学灌注器
tile.MachineBlock2.ElectrolyticSeparator.name=电解分离器
//Ore Block //Ore Block
tile.OreBlock.OsmiumOre.name=锇矿石 tile.OreBlock.OsmiumOre.name=锇矿石
@ -315,13 +317,11 @@ itemGroup.tabMekanism=通用机器
//Items //Items
item.BioFuel.name=生物燃料 item.BioFuel.name=生物燃料
item.ElectrolyticCore.name=电解核心
item.SolarPanel.name=太阳能板 item.SolarPanel.name=太阳能板
//Generators //Generators
tile.Generator.HeatGenerator.name=热力发电机 tile.Generator.HeatGenerator.name=热力发电机
tile.Generator.SolarGenerator.name=太阳能发电机 tile.Generator.SolarGenerator.name=太阳能发电机
tile.Generator.ElectrolyticSeparator.name=电解分离器
tile.Generator.HydrogenGenerator.name=氢气生成器 tile.Generator.HydrogenGenerator.name=氢气生成器
tile.Generator.BioGenerator.name=生物能发电机 tile.Generator.BioGenerator.name=生物能发电机
tile.Generator.AdvancedSolarGenerator.name=高级太阳能发电机 tile.Generator.AdvancedSolarGenerator.name=高级太阳能发电机