diff --git a/common/mekanism/common/CommonProxy.java b/common/mekanism/common/CommonProxy.java index f414847c4..250c91c22 100644 --- a/common/mekanism/common/CommonProxy.java +++ b/common/mekanism/common/CommonProxy.java @@ -158,6 +158,8 @@ public class CommonProxy Mekanism.machineBlock2ID = Mekanism.configuration.getBlock("MachineBlock2", 3008).getInt(); Mekanism.osmiumGenerationEnabled = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "OsmiumGenerationEnabled", true).getBoolean(true); + Mekanism.copperGenerationEnabled = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "CopperGenerationEnabled", true).getBoolean(true); + Mekanism.tinGenerationEnabled = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "TinGenerationEnabled", true).getBoolean(true); Mekanism.disableBCSteelCrafting = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "DisableBCSteelCrafting", false).getBoolean(true); Mekanism.disableBCBronzeCrafting = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "DisableBCBronzeCrafting", false).getBoolean(true); Mekanism.updateNotifications = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "UpdateNotifications", true).getBoolean(true); diff --git a/common/mekanism/common/Mekanism.java b/common/mekanism/common/Mekanism.java index d6d9cf87c..60dd70695 100644 --- a/common/mekanism/common/Mekanism.java +++ b/common/mekanism/common/Mekanism.java @@ -214,7 +214,7 @@ public class Mekanism public static Item NetworkReader; public static Item WalkieTalkie; public static Item ItemProxy; - public static Item Jetpack; + public static ItemJetpack Jetpack; //Blocks public static Block BasicBlock; @@ -235,6 +235,8 @@ public class Mekanism //General Configuration public static boolean osmiumGenerationEnabled = true; + public static boolean copperGenerationEnabled = true; + public static boolean tinGenerationEnabled = true; public static boolean disableBCBronzeCrafting = true; public static boolean disableBCSteelCrafting = true; public static boolean updateNotifications = true; @@ -467,6 +469,9 @@ public class Mekanism "GCG", "tET", "GIG", Character.valueOf('G'), Block.glass, Character.valueOf('C'), "circuitBasic", Character.valueOf('t'), MekanismUtils.getEmptyGasTank(), Character.valueOf('E'), EnergyTablet.getUnchargedItem(), Character.valueOf('T'), new ItemStack(BasicBlock, 1, 9), Character.valueOf('I'), new ItemStack(BasicBlock, 1, 8) })); + CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(Jetpack.getEmptyItem(), new Object[] { + "SCS", "TGT", " T ", Character.valueOf('S'), "ingotSteel", Character.valueOf('C'), "circuitBasic", Character.valueOf('T'), "ingotTin", Character.valueOf('G'), MekanismUtils.getEmptyGasTank() + })); for(RecipeType type : RecipeType.values()) { @@ -554,15 +559,15 @@ public class Mekanism { //Declarations configuration.load(); - ElectricBow = (ItemElectricBow) new ItemElectricBow(configuration.getItem("ElectricBow", 11200).getInt()).setUnlocalizedName("ElectricBow"); + ElectricBow = (ItemElectricBow)new ItemElectricBow(configuration.getItem("ElectricBow", 11200).getInt()).setUnlocalizedName("ElectricBow"); //OPEN 11201-11203 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(), 1000000, 120).setUnlocalizedName("EnergyTablet"); + EnergyTablet = (ItemEnergized)new ItemEnergized(configuration.getItem("EnergyTablet", 11206).getInt(), 1000000, 120).setUnlocalizedName("EnergyTablet"); SpeedUpgrade = new ItemMachineUpgrade(configuration.getItem("SpeedUpgrade", 11207).getInt()).setUnlocalizedName("SpeedUpgrade"); EnergyUpgrade = new ItemMachineUpgrade(configuration.getItem("EnergyUpgrade", 11208).getInt()).setUnlocalizedName("EnergyUpgrade"); - Robit = (ItemRobit) new ItemRobit(configuration.getItem("Robit", 11209).getInt()).setUnlocalizedName("Robit"); - AtomicDisassembler = (ItemAtomicDisassembler) new ItemAtomicDisassembler(configuration.getItem("AtomicDisassembler", 11210).getInt()).setUnlocalizedName("AtomicDisassembler"); + Robit = (ItemRobit)new ItemRobit(configuration.getItem("Robit", 11209).getInt()).setUnlocalizedName("Robit"); + AtomicDisassembler = (ItemAtomicDisassembler)new ItemAtomicDisassembler(configuration.getItem("AtomicDisassembler", 11210).getInt()).setUnlocalizedName("AtomicDisassembler"); AtomicCore = new ItemMekanism(configuration.getItem("AtomicCore", 11211).getInt()).setUnlocalizedName("AtomicCore"); EnrichedAlloy = new ItemMekanism(configuration.getItem("EnrichedAlloy", 11212).getInt()).setUnlocalizedName("EnrichedAlloy"); ItemProxy = new ItemProxy(configuration.getItem("ItemProxy", 11213).getInt()).setUnlocalizedName("ItemProxy"); @@ -575,7 +580,7 @@ public class Mekanism DirtyDust = new ItemDirtyDust(configuration.getItem("DirtyDust", 11220).getInt()-256); Configurator = new ItemConfigurator(configuration.getItem("Configurator", 11221).getInt()).setUnlocalizedName("Configurator"); NetworkReader = new ItemNetworkReader(configuration.getItem("NetworkReader", 11222).getInt()).setUnlocalizedName("NetworkReader"); - Jetpack = new ItemJetpack(configuration.getItem("Jetpack", 11223).getInt()).setUnlocalizedName("Jetpack"); + Jetpack = (ItemJetpack)new ItemJetpack(configuration.getItem("Jetpack", 11223).getInt()).setUnlocalizedName("Jetpack"); WalkieTalkie = new ItemWalkieTalkie(configuration.getItem("WalkieTalkie", 11224).getInt()).setUnlocalizedName("WalkieTalkie"); configuration.save(); diff --git a/common/mekanism/common/OreHandler.java b/common/mekanism/common/OreHandler.java index 8f57e72b4..3e402ff5c 100644 --- a/common/mekanism/common/OreHandler.java +++ b/common/mekanism/common/OreHandler.java @@ -18,28 +18,37 @@ public class OreHandler implements IWorldGenerator { if(!(chunkGenerator instanceof ChunkProviderHell) && !(chunkGenerator instanceof ChunkProviderEnd)) { - for(int i = 0; i < Mekanism.osmiumGenerationAmount; i++) + if(Mekanism.osmiumGenerationEnabled) { - int randPosX = (chunkX*16) + random.nextInt(16); - int randPosY = random.nextInt(60); - int randPosZ = (chunkZ*16) + random.nextInt(16); - new WorldGenMinable(Mekanism.oreBlockID, 0, 8, Block.stone.blockID).generate(world, random, randPosX, randPosY, randPosZ); + for(int i = 0; i < Mekanism.osmiumGenerationAmount; i++) + { + int randPosX = (chunkX*16) + random.nextInt(16); + int randPosY = random.nextInt(60); + int randPosZ = (chunkZ*16) + random.nextInt(16); + new WorldGenMinable(Mekanism.oreBlockID, 0, 8, Block.stone.blockID).generate(world, random, randPosX, randPosY, randPosZ); + } } - for(int i = 0; i < Mekanism.copperGenerationAmount; i++) + if(Mekanism.copperGenerationEnabled) { - int randPosX = (chunkX*16) + random.nextInt(16); - int randPosY = random.nextInt(60); - int randPosZ = (chunkZ*16) + random.nextInt(16); - new WorldGenMinable(Mekanism.oreBlockID, 1, 8, Block.stone.blockID).generate(world, random, randPosX, randPosY, randPosZ); + for(int i = 0; i < Mekanism.copperGenerationAmount; i++) + { + int randPosX = (chunkX*16) + random.nextInt(16); + int randPosY = random.nextInt(60); + int randPosZ = (chunkZ*16) + random.nextInt(16); + new WorldGenMinable(Mekanism.oreBlockID, 1, 8, Block.stone.blockID).generate(world, random, randPosX, randPosY, randPosZ); + } } - for(int i = 0; i < Mekanism.tinGenerationAmount; i++) + if(Mekanism.tinGenerationEnabled) { - int randPosX = (chunkX*16) + random.nextInt(16); - int randPosY = random.nextInt(60); - int randPosZ = (chunkZ*16) + random.nextInt(16); - new WorldGenMinable(Mekanism.oreBlockID, 2, 8, Block.stone.blockID).generate(world, random, randPosX, randPosY, randPosZ); + for(int i = 0; i < Mekanism.tinGenerationAmount; i++) + { + int randPosX = (chunkX*16) + random.nextInt(16); + int randPosY = random.nextInt(60); + int randPosZ = (chunkZ*16) + random.nextInt(16); + new WorldGenMinable(Mekanism.oreBlockID, 2, 8, Block.stone.blockID).generate(world, random, randPosX, randPosY, randPosZ); + } } } } diff --git a/common/mekanism/common/item/ItemJetpack.java b/common/mekanism/common/item/ItemJetpack.java index 1cb7d8206..071373c7d 100644 --- a/common/mekanism/common/item/ItemJetpack.java +++ b/common/mekanism/common/item/ItemJetpack.java @@ -12,6 +12,7 @@ import mekanism.client.render.ModelCustomArmor.ArmorModel; import mekanism.common.Mekanism; import mekanism.common.util.MekanismUtils; import net.minecraft.client.model.ModelBiped; +import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; @@ -31,6 +32,8 @@ public class ItemJetpack extends ItemArmor implements IGasItem { super(id, EnumHelper.addArmorMaterial("JETPACK", 0, new int[] {0, 0, 0, 0}, 0), 0, 1); setCreativeTab(Mekanism.tabMekanism); + setMaxDamage(100); + setNoRepair(); } @Override @@ -224,6 +227,30 @@ public class ItemJetpack extends ItemArmor implements IGasItem } } + public ItemStack getEmptyItem() + { + ItemStack empty = new ItemStack(this); + setGas(null, empty); + empty.setItemDamage(100); + return empty; + } + + @Override + public void getSubItems(int i, CreativeTabs tabs, List list) + { + ItemStack empty = new ItemStack(this); + setGas(null, empty); + empty.setItemDamage(100); + list.add(empty); + + for(Gas type : GasRegistry.getRegisteredGasses()) + { + ItemStack filled = new ItemStack(this); + setGas(new GasStack(type, ((IGasItem)filled.getItem()).getMaxGas(filled)), filled); + list.add(filled); + } + } + public static enum JetpackMode { NORMAL("tooltip.jetpack.regular", EnumColor.DARK_GREEN), diff --git a/common/mekanism/induction/client/InductionClientProxy.java b/common/mekanism/induction/client/InductionClientProxy.java index 4de173338..93b5629d5 100644 --- a/common/mekanism/induction/client/InductionClientProxy.java +++ b/common/mekanism/induction/client/InductionClientProxy.java @@ -7,18 +7,14 @@ import mekanism.induction.client.render.RenderBattery; import mekanism.induction.client.render.RenderEMContractor; import mekanism.induction.client.render.RenderMultimeter; import mekanism.induction.client.render.RenderTesla; -import mekanism.induction.client.render.RenderWire; import mekanism.induction.common.InductionCommonProxy; import mekanism.induction.common.tileentity.TileEntityBattery; import mekanism.induction.common.tileentity.TileEntityEMContractor; import mekanism.induction.common.tileentity.TileEntityMultimeter; import mekanism.induction.common.tileentity.TileEntityTesla; -import mekanism.induction.common.tileentity.TileEntityWire; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; -import net.minecraftforge.common.MinecraftForge; import universalelectricity.core.vector.Vector3; import cpw.mods.fml.client.FMLClientHandler; import cpw.mods.fml.client.registry.ClientRegistry; @@ -44,7 +40,6 @@ public class InductionClientProxy extends InductionCommonProxy ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMultimeter.class, new RenderMultimeter()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityEMContractor.class, new RenderEMContractor()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBattery.class, new RenderBattery()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityWire.class, new RenderWire()); } @Override diff --git a/common/mekanism/induction/client/render/RenderPartWire.java b/common/mekanism/induction/client/render/RenderPartWire.java deleted file mode 100644 index 8110dfc2e..000000000 --- a/common/mekanism/induction/client/render/RenderPartWire.java +++ /dev/null @@ -1,223 +0,0 @@ -package mekanism.induction.client.render; - -import java.nio.FloatBuffer; -import java.util.Map; - -import mekanism.common.util.MekanismUtils; -import mekanism.common.util.MekanismUtils.ResourceType; -import mekanism.induction.common.MekanismInduction; -import mekanism.induction.common.wire.PartConductor; -import mekanism.induction.common.wire.PartWire; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.util.Icon; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.common.ForgeDirection; - -import org.lwjgl.BufferUtils; -import org.lwjgl.opengl.GL11; - -import universalelectricity.core.vector.Vector3; -import codechicken.lib.colour.Colour; -import codechicken.lib.colour.ColourRGBA; -import codechicken.lib.lighting.LightModel; -import codechicken.lib.render.CCModel; -import codechicken.lib.render.CCRenderState; -import codechicken.lib.render.ColourMultiplier; -import codechicken.lib.render.IconTransformation; -import codechicken.lib.render.TextureUtils; -import codechicken.lib.vec.Matrix4; -import codechicken.lib.vec.Rotation; -import codechicken.lib.vec.Transformation; -import codechicken.lib.vec.Translation; -import codechicken.lib.vec.VariableTransformation; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -/** - * - * @author unpairedbracket - * - */ -@SideOnly(Side.CLIENT) -public class RenderPartWire -{ - private static final ResourceLocation WIRE_SHINE = MekanismUtils.getResource(ResourceType.RENDER, "white.png"); - public static final Map models; - public static final Map shinyModels; - public static Icon wireIcon; - public static Icon insulationIcon; - public static Icon breakIcon; - public static FloatBuffer location = BufferUtils.createFloatBuffer(4); - public static FloatBuffer specular = BufferUtils.createFloatBuffer(4); - public static FloatBuffer zero = BufferUtils.createFloatBuffer(4); - public static FloatBuffer defaultAmbient = BufferUtils.createFloatBuffer(4); - public static final RenderPartWire INSTANCE = new RenderPartWire(); - - static - { - models = CCModel.parseObjModels(MekanismUtils.getResource(ResourceType.MODEL, "wire.obj"), 7, new InvertX()); - - for(CCModel c : models.values()) - { - c.apply(new Translation(.5, 0, .5)); - c.computeLighting(LightModel.standardLightModel); - c.shrinkUVs(0.0005); - } - - shinyModels = CCModel.parseObjModels(MekanismUtils.getResource(ResourceType.MODEL, "wireShine.obj"), 7, new InvertX()); - - for(CCModel c : shinyModels.values()) - { - c.apply(new Translation(.5, 0, .5)); - c.computeLighting(LightModel.standardLightModel); - c.shrinkUVs(0.0005); - } - - loadBuffer(location, 0, 0, 0, 1); - loadBuffer(specular, 1, 1, 1, 1); - loadBuffer(zero, 0, 0, 0, 0); - loadBuffer(defaultAmbient, 0.4F, 0.4F, 0.4F, 1); - - GL11.glLightModel(GL11.GL_LIGHT_MODEL_AMBIENT, zero); - - GL11.glLight(GL11.GL_LIGHT3, GL11.GL_SPECULAR, specular); - - GL11.glMaterial(GL11.GL_FRONT, GL11.GL_SPECULAR, specular); - GL11.glMaterial(GL11.GL_FRONT, GL11.GL_AMBIENT, zero); - GL11.glMaterial(GL11.GL_FRONT, GL11.GL_DIFFUSE, zero); - GL11.glMaterialf(GL11.GL_FRONT, GL11.GL_SHININESS, 128F); - } - - public static void loadBuffer(FloatBuffer buffer, float... src) - { - buffer.clear(); - buffer.put(src); - buffer.flip(); - } - - public void renderShine(PartWire wire, double x, double y, double z, float f) - { - if(wire != null) - { - GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_COLOR, GL11.GL_ONE_MINUS_SRC_COLOR); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_LIGHT0); - GL11.glDisable(GL11.GL_LIGHT1); - GL11.glEnable(GL11.GL_LIGHT3); - GL11.glLight(GL11.GL_LIGHT3, GL11.GL_POSITION, location); - - GL11.glTranslatef((float)x, (float)y, (float)z); - GL11.glLightModel(GL11.GL_LIGHT_MODEL_AMBIENT, zero); - - CCRenderState.reset(); - CCRenderState.useNormals(true); - CCRenderState.changeTexture(WIRE_SHINE); - CCRenderState.startDrawing(7); - renderSideShine(ForgeDirection.UNKNOWN, wire); - - byte renderSides = wire.getAllCurrentConnections(); - - for(ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) - { - if(PartConductor.connectionMapContainsSide(renderSides, side)) - { - renderSideShine(side, wire); - } - } - - CCRenderState.draw(); - - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_LIGHT0); - GL11.glEnable(GL11.GL_LIGHT1); - GL11.glDisable(GL11.GL_LIGHT3); - - GL11.glLightModel(GL11.GL_LIGHT_MODEL_AMBIENT, defaultAmbient); - - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - - GL11.glPopMatrix(); - } - } - - public static void registerIcons(IconRegister iconReg) - { - wireIcon = iconReg.registerIcon("mekanism:render/Wire"); - insulationIcon = iconReg.registerIcon("mekanism:render/" + "Insulation" + (MekanismInduction.LO_FI_INSULATION ? "Tiny" : "")); - breakIcon = iconReg.registerIcon("mekanism:Wire"); - } - - public void renderStatic(PartWire wire) - { - TextureUtils.bindAtlas(0); - CCRenderState.reset(); - CCRenderState.useModelColours(true); - CCRenderState.setBrightness(wire.world(), wire.x(), wire.y(), wire.z()); - renderSide(ForgeDirection.UNKNOWN, wire); - byte renderSides = wire.getAllCurrentConnections(); - - for(ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) - { - if(PartConductor.connectionMapContainsSide(renderSides, side)) - { - renderSide(side, wire); - } - } - } - - public void renderSide(ForgeDirection side, PartWire wire) - { - String name = side.name().toLowerCase(); - name = name.equals("unknown") ? "center" : name; - Vector3 materialColour = wire.getMaterial().color; - Colour colour = new ColourRGBA(materialColour.x, materialColour.y, materialColour.z, 1); - renderPart(wireIcon, models.get(name), wire.x(), wire.y(), wire.z(), colour); - - if(wire.isInsulated()) - { - Vector3 vecColour = MekanismInduction.DYE_COLORS[wire.dyeID]; - Colour insulationColour = new ColourRGBA(vecColour.x, vecColour.y, vecColour.z, 1); - renderPart(insulationIcon, models.get(name + "Insulation"), wire.x(), wire.y(), wire.z(), insulationColour); - } - } - - public void renderSideShine(ForgeDirection side, PartWire wire) - { - String name = side.name().toLowerCase(); - name = name.equals("unknown") ? "center" : name; - Vector3 materialColour = wire.getMaterial().color; - renderPartShine(shinyModels.get(name)); - } - - public void renderPart(Icon icon, CCModel cc, double x, double y, double z, Colour colour) - { - cc.render(0, cc.verts.length, Rotation.sideOrientation(0, Rotation.rotationTo(0, 2)).at(codechicken.lib.vec.Vector3.center).with(new Translation(x, y, z)), new IconTransformation(icon), new ColourMultiplier(colour)); - } - - public void renderPartShine(CCModel cc) - { - cc.render(null, 0, 0); - } - - public static class InvertX extends VariableTransformation - { - public InvertX() - { - super(new Matrix4(1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1)); - } - - @Override - public Transformation inverse() - { - return this; - } - - @Override - public void apply(codechicken.lib.vec.Vector3 vec) - { - vec.x = -vec.x; - } - } -} \ No newline at end of file diff --git a/common/mekanism/induction/client/render/RenderWire.java b/common/mekanism/induction/client/render/RenderWire.java deleted file mode 100644 index dcc634197..000000000 --- a/common/mekanism/induction/client/render/RenderWire.java +++ /dev/null @@ -1,132 +0,0 @@ -package mekanism.induction.client.render; - -import mekanism.common.util.MekanismUtils; -import mekanism.common.util.MekanismUtils.ResourceType; -import mekanism.induction.client.model.ModelInsulation; -import mekanism.induction.client.model.ModelWire; -import mekanism.induction.common.MekanismInduction; -import mekanism.induction.common.tileentity.TileEntityWire; -import mekanism.induction.common.wire.EnumWireMaterial; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; - -import org.lwjgl.opengl.GL11; - -import universalelectricity.core.vector.Vector3; -import cpw.mods.fml.client.FMLClientHandler; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -@SideOnly(Side.CLIENT) -public class RenderWire extends TileEntitySpecialRenderer -{ - private static final ResourceLocation WIRE_TEXTURE = MekanismUtils.getResource(ResourceType.TEXTURE_BLOCKS, "render/WireSimple.png"); - private static final ResourceLocation INSULATION_TEXTURE = MekanismUtils.getResource(ResourceType.TEXTURE_BLOCKS, "render/InsulationSimple.png"); - - public static final ModelWire WIRE_MODEL = new ModelWire(); - public static final ModelInsulation INSULATION_MODEL = new ModelInsulation(); - - @Override - public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float partialTick) - { - renderAModelAt((TileEntityWire)tileEntity, x, y, z, partialTick); - } - - public void renderAModelAt(TileEntityWire tileEntity, double x, double y, double z, float partialTick) - { - if(tileEntity != null) - { - GL11.glPushMatrix(); - GL11.glTranslatef((float)x + 0.5F, (float)y + 1.5F, (float)z + 0.5F); - GL11.glScalef(1, -1, -1); - - EnumWireMaterial material = tileEntity.getMaterial(); - - FMLClientHandler.instance().getClient().renderEngine.bindTexture(WIRE_TEXTURE); - GL11.glColor4d(material.color.x, material.color.y, material.color.z, 1); - - tileEntity.adjacentConnections = null; - TileEntity[] adjacentConnections = tileEntity.getAdjacentConnections(); - - if(adjacentConnections != null) - { - if(adjacentConnections[0] != null) - { - WIRE_MODEL.renderBottom(); - } - - if(adjacentConnections[1] != null) - { - WIRE_MODEL.renderTop(); - } - - if(adjacentConnections[2] != null) - { - WIRE_MODEL.renderBack(); - } - - if(adjacentConnections[3] != null) - { - WIRE_MODEL.renderFront(); - } - - if(adjacentConnections[4] != null) - { - WIRE_MODEL.renderLeft(); - } - - if(adjacentConnections[5] != null) - { - WIRE_MODEL.renderRight(); - } - } - - WIRE_MODEL.renderMiddle(); - - if(tileEntity.isInsulated) - { - FMLClientHandler.instance().getClient().renderEngine.bindTexture(INSULATION_TEXTURE); - Vector3 insulationColor = MekanismInduction.DYE_COLORS[tileEntity.dyeID]; - GL11.glColor4d(insulationColor.x, insulationColor.y, insulationColor.z, 1); - - if(adjacentConnections != null) - { - if(adjacentConnections[0] != null) - { - INSULATION_MODEL.renderBottom(0.0625f); - } - - if(adjacentConnections[1] != null) - { - INSULATION_MODEL.renderTop(0.0625f); - } - - if(adjacentConnections[2] != null) - { - INSULATION_MODEL.renderBack(0.0625f); - } - - if(adjacentConnections[3] != null) - { - INSULATION_MODEL.renderFront(0.0625f); - } - - if(adjacentConnections[4] != null) - { - INSULATION_MODEL.renderLeft(0.0625f); - } - - if(adjacentConnections[5] != null) - { - INSULATION_MODEL.renderRight(0.0625f); - } - } - - INSULATION_MODEL.renderMiddle(0.0625f); - } - - GL11.glPopMatrix(); - } - } -} \ No newline at end of file diff --git a/common/mekanism/induction/common/InductionCommonProxy.java b/common/mekanism/induction/common/InductionCommonProxy.java index 1f1031c77..15f18641f 100644 --- a/common/mekanism/induction/common/InductionCommonProxy.java +++ b/common/mekanism/induction/common/InductionCommonProxy.java @@ -26,8 +26,6 @@ public class InductionCommonProxy implements IGuiHandler { Mekanism.configuration.load(); MekanismInduction.SOUND_FXS = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "Tesla Sound FXs", MekanismInduction.SOUND_FXS).getBoolean(MekanismInduction.SOUND_FXS); - MekanismInduction.LO_FI_INSULATION = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "Use lo-fi insulation texture", MekanismInduction.LO_FI_INSULATION).getBoolean(MekanismInduction.LO_FI_INSULATION); - MekanismInduction.SHINY_SILVER = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "Shiny silver wires", MekanismInduction.SHINY_SILVER).getBoolean(MekanismInduction.SHINY_SILVER); MekanismInduction.MAX_CONTRACTOR_DISTANCE = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "Max EM Contractor Path", MekanismInduction.MAX_CONTRACTOR_DISTANCE).getInt(MekanismInduction.MAX_CONTRACTOR_DISTANCE); TileEntityEMContractor.ACCELERATION = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "Contractor Item Acceleration", TileEntityEMContractor.ACCELERATION).getDouble(TileEntityEMContractor.ACCELERATION); diff --git a/common/mekanism/induction/common/MekanismInduction.java b/common/mekanism/induction/common/MekanismInduction.java index 6694a27e6..709b44726 100644 --- a/common/mekanism/induction/common/MekanismInduction.java +++ b/common/mekanism/induction/common/MekanismInduction.java @@ -1,9 +1,5 @@ package mekanism.induction.common; -import ic2.api.item.Items; - -import java.util.Map; - import mekanism.common.IModule; import mekanism.common.Mekanism; import mekanism.common.MekanismRecipe; @@ -14,31 +10,20 @@ import mekanism.induction.common.block.BlockBattery; import mekanism.induction.common.block.BlockEMContractor; import mekanism.induction.common.block.BlockMultimeter; import mekanism.induction.common.block.BlockTesla; -import mekanism.induction.common.block.BlockWire; import mekanism.induction.common.item.ItemBlockContractor; import mekanism.induction.common.item.ItemBlockMultimeter; -import mekanism.induction.common.item.ItemBlockWire; import mekanism.induction.common.tileentity.TileEntityBattery; import mekanism.induction.common.tileentity.TileEntityEMContractor; import mekanism.induction.common.tileentity.TileEntityMultimeter; import mekanism.induction.common.tileentity.TileEntityTesla; -import mekanism.induction.common.tileentity.TileEntityWire; -import mekanism.induction.common.wire.EnumWireMaterial; import net.minecraft.block.Block; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.Configuration; import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.oredict.ShapedOreRecipe; -import net.minecraftforge.oredict.ShapelessOreRecipe; -import universalelectricity.compatibility.Compatibility; import universalelectricity.core.vector.Vector3; -import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; -import cpw.mods.fml.common.ObfuscationReflectionHelper; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; @@ -64,8 +49,6 @@ public class MekanismInduction implements IModule * Settings */ public static boolean SOUND_FXS = true; - public static boolean LO_FI_INSULATION = false; - public static boolean SHINY_SILVER = true; /** Block ID by Jyzarc */ private static final int BLOCK_ID_PREFIX = 3200; @@ -86,16 +69,11 @@ public class MekanismInduction implements IModule return NEXT_ITEM_ID++; } - /** With Forge Multipart; Use EnumWireMaterial reference. **/ - private static Item itemPartWire; - //Blocks public static Block Tesla; public static Block Multimeter; public static Block ElectromagneticContractor; public static Block Battery; - /** Without Forge Multipart **/ - private static Block blockWire; public static final Vector3[] DYE_COLORS = new Vector3[] { new Vector3(), new Vector3(1, 0, 0), new Vector3(0, 0.608, 0.232), new Vector3(0.588, 0.294, 0), new Vector3(0, 0, 1), new Vector3(0.5, 0, 05), new Vector3(0, 1, 1), new Vector3(0.8, 0.8, 0.8), new Vector3(0.3, 0.3, 0.3), new Vector3(1, 0.412, 0.706), new Vector3(0.616, 1, 0), new Vector3(1, 1, 0), new Vector3(0.46f, 0.932, 1), new Vector3(0.5, 0.2, 0.5), new Vector3(0.7, 0.5, 0.1), new Vector3(1, 1, 1) }; @@ -105,71 +83,24 @@ public class MekanismInduction implements IModule NetworkRegistry.instance().registerGuiHandler(this, MekanismInduction.proxy); MinecraftForge.EVENT_BUS.register(new MultimeterEventHandler()); - //Register Items - if(Loader.isModLoaded("ForgeMultipart")) - { - try { - itemPartWire = ((Item)Class.forName("mekanism.induction.common.wire.ItemPartWire").getDeclaredConstructor(Integer.TYPE).newInstance(getNextItemID())).setUnlocalizedName("Wire"); - Mekanism.logger.fine("Mekanism Induction multipart loaded."); - } catch(Exception e) { - Mekanism.logger.severe("Failed to load multipart wire."); - e.printStackTrace(); - } - } - else { - Mekanism.logger.fine("Mekanism Induction Multipart disabled due to Forge Multipart not found."); - } - //Blocks Tesla = new BlockTesla(Mekanism.configuration.getBlock("Tesla", getNextBlockID()).getInt()).setUnlocalizedName("Tesla"); Multimeter = new BlockMultimeter(Mekanism.configuration.getBlock("Multimeter", getNextBlockID()).getInt()).setUnlocalizedName("Multimeter"); ElectromagneticContractor = new BlockEMContractor(Mekanism.configuration.getBlock("ElectromagneticContractor", getNextBlockID()).getInt()).setUnlocalizedName("ElectromagneticContractor"); Battery = new BlockBattery(Mekanism.configuration.getBlock("Battery", getNextBlockID()).getInt()).setUnlocalizedName("Battery"); - if(itemPartWire == null) - { - blockWire = new BlockWire(getNextBlockID()).setUnlocalizedName("Wire"); - } - - Mekanism.configuration.save(); - GameRegistry.registerBlock(Tesla, "Tesla"); GameRegistry.registerBlock(Multimeter, ItemBlockMultimeter.class, "Multimeter"); GameRegistry.registerBlock(ElectromagneticContractor, ItemBlockContractor.class, "ElectromagneticContractor"); GameRegistry.registerBlock(Battery, "Battery"); - //Tiles - if(blockWire != null) - { - GameRegistry.registerBlock(blockWire, ItemBlockWire.class, blockWire.getUnlocalizedName()); - } - //Tiles GameRegistry.registerTileEntity(TileEntityTesla.class, "Tesla"); GameRegistry.registerTileEntity(TileEntityMultimeter.class, "Multimeter"); GameRegistry.registerTileEntity(TileEntityEMContractor.class, "ElectromagneticContractor"); GameRegistry.registerTileEntity(TileEntityBattery.class, "Battery"); - if(blockWire != null) - { - GameRegistry.registerTileEntity(TileEntityWire.class, blockWire.getUnlocalizedName()); - } - MekanismInduction.proxy.registerRenderers(); - - if(itemPartWire != null) - { - for(EnumWireMaterial material : EnumWireMaterial.values()) - { - material.setWire(itemPartWire); - } - } - else { - for(EnumWireMaterial material : EnumWireMaterial.values()) - { - material.setWire(blockWire); - } - } } @EventHandler @@ -177,28 +108,11 @@ public class MekanismInduction implements IModule { //Add this module to the core list Mekanism.modulesLoaded.add(this); - - if(itemPartWire != null) - { - try { - Class.forName("mekanism.induction.common.MultipartMI").newInstance(); - } catch(Exception e) { - e.printStackTrace(); - Mekanism.logger.severe("Failed to initiate Mekanism Induction multipart module."); - } - } - - Compatibility.initiate(); } @EventHandler public void postInit(FMLPostInitializationEvent evt) { - /** - * Recipes - */ - final ItemStack defaultWire = EnumWireMaterial.IRON.getWire(); - /** Tesla - by Jyzarc */ GameRegistry.addRecipe(new MekanismRecipe(new ItemStack(Tesla), new Object[] { "WEW", " C ", " I ", 'W', Mekanism.EnrichedAlloy, 'E', Item.eyeOfEnder, 'C', Mekanism.EnergyTablet.getUnchargedItem(), 'I', new ItemStack(Mekanism.BasicBlock, 1, 8) })); @@ -210,21 +124,6 @@ public class MekanismInduction implements IModule /** EM Contractor */ GameRegistry.addRecipe(new MekanismRecipe(new ItemStack(ElectromagneticContractor), new Object[] { " I ", "GCG", "WWW", 'W', "ingotSteel", 'C', Mekanism.EnergyTablet.getUnchargedItem(), 'G', "ingotOsmium", 'I', "ingotSteel" })); - - /** Wires **/ - GameRegistry.addRecipe(new ShapedOreRecipe(EnumWireMaterial.COPPER.getWire(3), "MMM", 'M', "ingotCopper")); - GameRegistry.addRecipe(new ShapedOreRecipe(EnumWireMaterial.TIN.getWire(3), "MMM", 'M', "ingotTin")); - GameRegistry.addRecipe(new ShapedOreRecipe(EnumWireMaterial.IRON.getWire(3), "MMM", 'M', Item.ingotIron)); - GameRegistry.addRecipe(new ShapedOreRecipe(EnumWireMaterial.ALUMINUM.getWire(3), "MMM", 'M', "ingotAluminum")); - GameRegistry.addRecipe(new ShapedOreRecipe(EnumWireMaterial.SILVER.getWire(), "MMM", 'M', "ingotSilver")); - - /** Wire Compatiblity **/ - if(Loader.isModLoaded("IC2")) - { - GameRegistry.addRecipe(new ShapelessOreRecipe(EnumWireMaterial.COPPER.getWire(), Items.getItem("copperCableItem"))); - GameRegistry.addRecipe(new ShapelessOreRecipe(EnumWireMaterial.TIN.getWire(), Items.getItem("tinCableItem"))); - GameRegistry.addRecipe(new ShapelessOreRecipe(EnumWireMaterial.IRON.getWire(), Items.getItem("ironCableItem"))); - } } @Override diff --git a/common/mekanism/induction/common/MultipartMI.java b/common/mekanism/induction/common/MultipartMI.java deleted file mode 100644 index f92787547..000000000 --- a/common/mekanism/induction/common/MultipartMI.java +++ /dev/null @@ -1,39 +0,0 @@ -package mekanism.induction.common; - -import mekanism.induction.common.wire.EnumWireMaterial; -import mekanism.induction.common.wire.PartWire; -import codechicken.multipart.MultiPartRegistry; -import codechicken.multipart.MultiPartRegistry.IPartFactory; -import codechicken.multipart.MultipartGenerator; -import codechicken.multipart.TMultiPart; - -public class MultipartMI implements IPartFactory -{ - public MultipartMI() - { - init(); - } - - @Override - public TMultiPart createPart(String name, boolean client) - { - if(name == "resonant_induction_wire") - { - return new PartWire(EnumWireMaterial.COPPER.ordinal()); - } - - return null; - } - - public void init() - { - MultiPartRegistry.registerParts(this, new String[] {"resonant_induction_wire"}); - - MultipartGenerator.registerPassThroughInterface("universalelectricity.core.block.IConductor"); - MultipartGenerator.registerPassThroughInterface("buildcraft.api.power.IPowerReceptor"); - MultipartGenerator.registerPassThroughInterface("cofh.api.energy.IEnergyHandler"); - MultipartGenerator.registerPassThroughInterface("mekanism.induction.common.wire.IInsulatedMaterial"); - MultipartGenerator.registerPassThroughInterface("mekanism.induction.common.wire.IBlockableConnection"); - MultipartGenerator.registerTrait("ic2.api.energy.tile.IEnergySink", "mekanism.induction.common.wire.TEnergySink"); - } -} diff --git a/common/mekanism/induction/common/block/BlockWire.java b/common/mekanism/induction/common/block/BlockWire.java deleted file mode 100644 index 3991e75c6..000000000 --- a/common/mekanism/induction/common/block/BlockWire.java +++ /dev/null @@ -1,134 +0,0 @@ -package mekanism.induction.common.block; - -import java.util.List; - -import mekanism.common.Mekanism; -import mekanism.induction.common.MekanismInduction; -import mekanism.induction.common.tileentity.TileEntityWire; -import mekanism.induction.common.wire.EnumWireMaterial; -import net.minecraft.block.Block; -import net.minecraft.block.BlockColored; -import net.minecraft.block.material.Material; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import universalelectricity.core.block.IConductor; -import universalelectricity.prefab.block.BlockConductor; - -/** - * A copper wire block that can change its collision bounds based on the connection. - * - * @author Calclavia, Aidancbrady - */ -public class BlockWire extends BlockConductor -{ - public BlockWire(int id) - { - super(Mekanism.configuration.getBlock("wire", id).getInt(id), Material.cloth); - - setStepSound(soundClothFootstep); - setResistance(0.2F); - setHardness(0.1f); - setBlockBounds(0.3f, 0.3f, 0.3f, 0.7f, 0.7f, 0.7f); - setCreativeTab(CreativeTabs.tabRedstone); - Block.setBurnProperties(blockID, 30, 60); - setCreativeTab(Mekanism.tabMekanism); - } - - @Override - public void onNeighborBlockChange(World world, int x, int y, int z, int blockID) - { - super.onNeighborBlockChange(world, x, y, z, blockID); - - TileEntity tileEntity = world.getBlockTileEntity(x, y, z); - - if(tileEntity instanceof IConductor) - { - world.markBlockForUpdate(x, y, z); - } - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer entityPlayer, int par6, float par7, float par8, float par9) - { - TileEntityWire tileEntity = (TileEntityWire)world.getBlockTileEntity(x, y, z); - - if(entityPlayer.getCurrentEquippedItem() != null) - { - if(entityPlayer.getCurrentEquippedItem().itemID == Item.dyePowder.itemID) - { - tileEntity.setDye(entityPlayer.getCurrentEquippedItem().getItemDamage()); - return true; - } - else if(entityPlayer.getCurrentEquippedItem().itemID == Block.cloth.blockID && !tileEntity.isInsulated) - { - tileEntity.setInsulated(); - tileEntity.setDye(BlockColored.getDyeFromBlock(entityPlayer.getCurrentEquippedItem().getItemDamage())); - entityPlayer.inventory.decrStackSize(entityPlayer.inventory.currentItem, 1); - return true; - } - } - - return false; - } - - @Override - public boolean isOpaqueCube() - { - return false; - } - - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - @Override - public int getRenderType() - { - return -1; - } - - @Override - public TileEntity createNewTileEntity(World var1) - { - return new TileEntityWire(); - } - - @Override - public int damageDropped(int i) - { - return i; - } - - @Override - public void getSubBlocks(int i, CreativeTabs par2CreativeTabs, List list) - { - for(EnumWireMaterial material : EnumWireMaterial.values()) - { - list.add(new ItemStack(i, 1, material.ordinal())); - } - } - - @Override - public void breakBlock(World world, int x, int y, int z, int par5, int par6) - { - TileEntity tile = world.getBlockTileEntity(x, y, z); - - if(tile instanceof TileEntityWire) - { - TileEntityWire tileEntity = (TileEntityWire) tile; - - if(tileEntity.isInsulated) - { - dropBlockAsItem_do(world, x, y, z, new ItemStack(Block.cloth, 1, BlockColored.getBlockFromDye(tileEntity.dyeID))); - } - } - - super.breakBlock(world, x, y, z, par5, par6); - } -} \ No newline at end of file diff --git a/common/mekanism/induction/common/item/ItemBlockWire.java b/common/mekanism/induction/common/item/ItemBlockWire.java deleted file mode 100644 index 027916494..000000000 --- a/common/mekanism/induction/common/item/ItemBlockWire.java +++ /dev/null @@ -1,62 +0,0 @@ -package mekanism.induction.common.item; - -import java.util.List; - -import mekanism.induction.common.wire.EnumWireMaterial; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; -import universalelectricity.core.electricity.ElectricityDisplay; -import universalelectricity.core.electricity.ElectricityDisplay.ElectricUnit; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemBlockWire extends ItemBlock -{ - private Icon[] icons = new Icon[EnumWireMaterial.values().length]; - - public ItemBlockWire(int id) - { - super(id); - setHasSubtypes(true); - setMaxDamage(0); - } - - @Override - public int getMetadata(int damage) - { - return damage; - } - - @Override - public String getUnlocalizedName(ItemStack itemStack) - { - return getUnlocalizedName() + "." + EnumWireMaterial.values()[itemStack.getItemDamage()].getName().toLowerCase(); - } - - @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean par4) - { - list.add("Resistance: " + ElectricityDisplay.getDisplay(EnumWireMaterial.values()[itemstack.getItemDamage()].resistance, ElectricUnit.RESISTANCE)); - list.add("Max Amperage: " + ElectricityDisplay.getDisplay(EnumWireMaterial.values()[itemstack.getItemDamage()].maxAmps, ElectricUnit.AMPERE)); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister register) - { - for(EnumWireMaterial material : EnumWireMaterial.values()) - { - icons[material.ordinal()] = register.registerIcon("mekanism:" + material.getName() + "Wire"); - } - } - - @Override - @SideOnly(Side.CLIENT) - public Icon getIconFromDamage(int meta) - { - return icons[meta]; - } -} \ No newline at end of file diff --git a/common/mekanism/induction/common/tileentity/TileEntityWire.java b/common/mekanism/induction/common/tileentity/TileEntityWire.java deleted file mode 100644 index 8020a05c5..000000000 --- a/common/mekanism/induction/common/tileentity/TileEntityWire.java +++ /dev/null @@ -1,208 +0,0 @@ -package mekanism.induction.common.tileentity; - -import java.util.ArrayList; - -import mekanism.common.ITileNetwork; -import mekanism.induction.common.wire.EnumWireMaterial; -import mekanism.induction.common.wire.IInsulatedMaterial; -import mekanism.induction.common.wire.IInsulation; -import mekanism.induction.common.wire.IWireMaterial; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.ForgeDirection; -import universalelectricity.compatibility.Compatibility; -import universalelectricity.compatibility.TileEntityUniversalConductor; -import universalelectricity.core.block.INetworkProvider; -import universalelectricity.core.vector.Vector3; -import universalelectricity.core.vector.VectorHelper; -import buildcraft.api.power.PowerHandler; - -import com.google.common.io.ByteArrayDataInput; - -public class TileEntityWire extends TileEntityUniversalConductor implements ITileNetwork, IInsulatedMaterial -{ - public static final int DEFAULT_COLOR = 16; - public int dyeID = DEFAULT_COLOR; - public boolean isInsulated = false; - - @Override - public boolean canConnect(ForgeDirection direction) - { - if(worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord, zCoord)) - { - return false; - } - - Vector3 connectPos = new Vector3(this).modifyPositionFromSide(direction); - TileEntity connectTile = connectPos.getTileEntity(worldObj); - - if(connectTile instanceof IWireMaterial) - { - IWireMaterial wireTile = (IWireMaterial) connectTile; - - if(wireTile.getMaterial() != getMaterial()) - { - return false; - } - } - - if(isInsulated() && connectTile instanceof IInsulation) - { - IInsulation insulatedTile = (IInsulation) connectTile; - - if((insulatedTile.isInsulated() && insulatedTile.getInsulationColor() != getInsulationColor() && getInsulationColor() != DEFAULT_COLOR && insulatedTile.getInsulationColor() != DEFAULT_COLOR)) - { - return false; - } - } - - return true; - } - - @Override - public void refresh() - { - if(!worldObj.isRemote) - { - adjacentConnections = null; - - for(ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) - { - if(canConnect(side.getOpposite())) - { - TileEntity tileEntity = VectorHelper.getConnectorFromSide(worldObj, new Vector3(this), side); - - if(tileEntity != null) - { - if(tileEntity instanceof INetworkProvider) - { - getNetwork().merge(((INetworkProvider)tileEntity).getNetwork()); - } - } - } - } - - getNetwork().refresh(); - } - } - - @Override - public float getResistance() - { - return getMaterial().resistance; - } - - @Override - public float getCurrentCapacity() - { - return getMaterial().maxAmps; - } - - @Override - public EnumWireMaterial getMaterial() - { - return EnumWireMaterial.values()[getTypeID()]; - } - - public int getTypeID() - { - return worldObj.getBlockMetadata(xCoord, yCoord, zCoord); - } - - /** - * @param dyeID - */ - public void setDye(int dye) - { - dyeID = dye; - refresh(); - - worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord); - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - worldObj.notifyBlocksOfNeighborChange(xCoord, yCoord, zCoord, getBlockType().blockID); - } - - public void setInsulated() - { - isInsulated = true; - refresh(); - - worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord); - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - worldObj.notifyBlocksOfNeighborChange(xCoord, yCoord, zCoord, getBlockType().blockID); - } - - @Override - public ArrayList getNetworkedData(ArrayList data) - { - data.add(isInsulated); - data.add(dyeID); - - return data; - } - - @Override - public void handlePacketData(ByteArrayDataInput dataStream) - { - try { - isInsulated = dataStream.readBoolean(); - dyeID = dataStream.readInt(); - } catch(Exception e) { - e.printStackTrace(); - } - } - - @Override - public void readFromNBT(NBTTagCompound nbt) - { - super.readFromNBT(nbt); - - dyeID = nbt.getInteger("dyeID"); - isInsulated = nbt.getBoolean("isInsulated"); - } - - @Override - public void writeToNBT(NBTTagCompound nbt) - { - super.writeToNBT(nbt); - - nbt.setInteger("dyeID", dyeID); - nbt.setBoolean("isInsulated", isInsulated); - } - - @Override - public void doWork(PowerHandler workProvider) - { - buildcraftBuffer = Compatibility.BC3_RATIO * 25 * getMaterial().maxAmps; - powerHandler.configure(0, buildcraftBuffer, buildcraftBuffer, buildcraftBuffer * 2); - - super.doWork(workProvider); - } - - @Override - public boolean isInsulated() - { - return isInsulated; - } - - @Override - public void setInsulated(boolean insulated) - { - if(insulated && !isInsulated()) - { - setInsulated(); - } - } - - @Override - public int getInsulationColor() - { - return dyeID; - } - - @Override - public void setInsulationColor(int dyeID) - { - setDye(dyeID); - } -} diff --git a/common/mekanism/induction/common/wire/EnumWireMaterial.java b/common/mekanism/induction/common/wire/EnumWireMaterial.java deleted file mode 100644 index b6bb9446d..000000000 --- a/common/mekanism/induction/common/wire/EnumWireMaterial.java +++ /dev/null @@ -1,77 +0,0 @@ -package mekanism.induction.common.wire; - -import net.minecraft.block.Block; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraftforge.oredict.OreDictionary; -import universalelectricity.core.vector.Vector3; - -/** - * An enumerator for different wire materials. The metadata of the wire determines the type of the - * wire. - * - * @author Calclavia - * - */ - -public enum EnumWireMaterial -{ - COPPER("Copper", 12.5F, 3, 2, new Vector3(184, 115, 51)), - TIN("Tin", 13, 2, 0.5F, new Vector3(132, 132, 130)), - IRON("Iron", 0.1F, 2, 4, new Vector3(97, 102, 105)), - ALUMINUM("Aluminum", 0.025F, 6, 0.15F, new Vector3(215, 205, 181)), - SILVER("Silver", 0.005F, 1, 2, new Vector3(192, 192, 192)); - - public final float resistance; - public final float damage; - public final float maxAmps; - public final Vector3 color; - private ItemStack wire; - private final String name; - - private EnumWireMaterial(String s, float resist, float electrocution, float max, Vector3 vec) - { - name = s; - resistance = resist; - damage = electrocution; - maxAmps = max; - color = vec.scale(1D / 255D); - } - - public String getName() - { - return name; - } - - public ItemStack getWire() - { - return getWire(1); - } - - public ItemStack getWire(int amount) - { - ItemStack returnStack = wire.copy(); - returnStack.stackSize = amount; - - return returnStack; - } - - public void setWire(ItemStack item) - { - if(wire == null) - { - wire = item; - OreDictionary.registerOre(getName().toLowerCase() + "Wire", wire); - } - } - - public void setWire(Item item) - { - setWire(new ItemStack(item, 1, ordinal())); - } - - public void setWire(Block block) - { - setWire(new ItemStack(block, 1, ordinal())); - } -} \ No newline at end of file diff --git a/common/mekanism/induction/common/wire/IBlockableConnection.java b/common/mekanism/induction/common/wire/IBlockableConnection.java deleted file mode 100644 index ec0455b53..000000000 --- a/common/mekanism/induction/common/wire/IBlockableConnection.java +++ /dev/null @@ -1,8 +0,0 @@ -package mekanism.induction.common.wire; - -import net.minecraftforge.common.ForgeDirection; - -public interface IBlockableConnection -{ - public boolean isBlockedOnSide(ForgeDirection side); -} diff --git a/common/mekanism/induction/common/wire/IInsulatedMaterial.java b/common/mekanism/induction/common/wire/IInsulatedMaterial.java deleted file mode 100644 index 1b6e1dcfc..000000000 --- a/common/mekanism/induction/common/wire/IInsulatedMaterial.java +++ /dev/null @@ -1,6 +0,0 @@ -package mekanism.induction.common.wire; - -public interface IInsulatedMaterial extends IInsulation, IWireMaterial -{ - -} diff --git a/common/mekanism/induction/common/wire/IInsulation.java b/common/mekanism/induction/common/wire/IInsulation.java deleted file mode 100644 index d5290b0ae..000000000 --- a/common/mekanism/induction/common/wire/IInsulation.java +++ /dev/null @@ -1,12 +0,0 @@ -package mekanism.induction.common.wire; - -public interface IInsulation -{ - public boolean isInsulated(); - - public void setInsulated(boolean insulated); - - public int getInsulationColor(); - - public void setInsulationColor(int dye); -} diff --git a/common/mekanism/induction/common/wire/IWireMaterial.java b/common/mekanism/induction/common/wire/IWireMaterial.java deleted file mode 100644 index b6083f63e..000000000 --- a/common/mekanism/induction/common/wire/IWireMaterial.java +++ /dev/null @@ -1,6 +0,0 @@ -package mekanism.induction.common.wire; - -public interface IWireMaterial -{ - public EnumWireMaterial getMaterial(); -} diff --git a/common/mekanism/induction/common/wire/ItemPartWire.java b/common/mekanism/induction/common/wire/ItemPartWire.java deleted file mode 100644 index 0e1aa8e80..000000000 --- a/common/mekanism/induction/common/wire/ItemPartWire.java +++ /dev/null @@ -1,95 +0,0 @@ -package mekanism.induction.common.wire; - -import java.util.List; - -import mekanism.common.Mekanism; -import mekanism.induction.client.render.RenderPartWire; -import mekanism.induction.common.MekanismInduction; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; -import net.minecraft.world.World; -import net.minecraftforge.common.Configuration; -import universalelectricity.core.electricity.ElectricityDisplay; -import universalelectricity.core.electricity.ElectricityDisplay.ElectricUnit; -import codechicken.lib.vec.BlockCoord; -import codechicken.lib.vec.Vector3; -import codechicken.multipart.JItemMultiPart; -import codechicken.multipart.TMultiPart; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemPartWire extends JItemMultiPart -{ - private Icon[] icons = new Icon[EnumWireMaterial.values().length]; - - public ItemPartWire(int id) - { - super(Mekanism.configuration.get(Configuration.CATEGORY_ITEM, "wireMultipart", id).getInt(id)); - setCreativeTab(Mekanism.tabMekanism); - setHasSubtypes(true); - setMaxDamage(0); - } - - @Override - public TMultiPart newPart(ItemStack arg0, EntityPlayer arg1, World arg2, BlockCoord arg3, int arg4, Vector3 arg5) - { - return new PartWire(getDamage(arg0)); - } - - @Override - public int getMetadata(int damage) - { - return damage; - } - - @Override - public String getUnlocalizedName(ItemStack itemStack) - { - return "tile.Wire." + EnumWireMaterial.values()[itemStack.getItemDamage()].getName() + "Wire"; - } - - @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean par4) - { - list.add("Resistance: " + ElectricityDisplay.getDisplay(EnumWireMaterial.values()[itemstack.getItemDamage()].resistance, ElectricUnit.RESISTANCE)); - list.add("Max Amperage: " + ElectricityDisplay.getDisplay(EnumWireMaterial.values()[itemstack.getItemDamage()].maxAmps, ElectricUnit.AMPERE)); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister register) - { - for(EnumWireMaterial material : EnumWireMaterial.values()) - { - icons[material.ordinal()] = register.registerIcon("mekanism:" + material.getName() + "Wire"); - } - - RenderPartWire.registerIcons(register); - } - - @Override - @SideOnly(Side.CLIENT) - public Icon getIconFromDamage(int meta) - { - return icons[meta]; - } - - @Override - public void getSubItems(int itemID, CreativeTabs tab, List listToAddTo) - { - for(EnumWireMaterial mat : EnumWireMaterial.values()) - { - listToAddTo.add(new ItemStack(itemID, 1, mat.ordinal())); - } - } - - @Override - @SideOnly(Side.CLIENT) - public int getSpriteNumber() - { - return 0; - } -} diff --git a/common/mekanism/induction/common/wire/PartAdvanced.java b/common/mekanism/induction/common/wire/PartAdvanced.java deleted file mode 100644 index 482e0896f..000000000 --- a/common/mekanism/induction/common/wire/PartAdvanced.java +++ /dev/null @@ -1,37 +0,0 @@ -package mekanism.induction.common.wire; - -import net.minecraft.block.Block; -import codechicken.multipart.TMultiPart; -import codechicken.multipart.handler.MultipartProxy; - -public abstract class PartAdvanced extends TMultiPart -{ - protected long ticks = 0; - - @Override - public void update() - { - if(ticks == 0) - { - initiate(); - } - - if(ticks >= Long.MAX_VALUE) - { - ticks = 1; - } - - ticks++; - } - - @Override - public void onAdded() - { - world().notifyBlocksOfNeighborChange(x(), y(), z(), ((Block)MultipartProxy.block()).blockID); - } - - /** - * Called on the TileEntity's first tick. - */ - public void initiate() {} -} diff --git a/common/mekanism/induction/common/wire/PartConductor.java b/common/mekanism/induction/common/wire/PartConductor.java deleted file mode 100644 index b94f00acb..000000000 --- a/common/mekanism/induction/common/wire/PartConductor.java +++ /dev/null @@ -1,253 +0,0 @@ -package mekanism.induction.common.wire; - -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.ForgeDirection; -import universalelectricity.core.block.IConductor; -import universalelectricity.core.block.IConnector; -import universalelectricity.core.block.INetworkProvider; -import universalelectricity.core.electricity.NetworkLoader; -import universalelectricity.core.grid.IElectricityNetwork; -import universalelectricity.core.vector.Vector3; -import universalelectricity.core.vector.VectorHelper; -import codechicken.multipart.TileMultipart; - -public abstract class PartConductor extends PartAdvanced implements IConductor -{ - private IElectricityNetwork network; - - public TileEntity[] adjacentConnections = null; - public byte currentWireConnections = 0x00; - public byte currentAcceptorConnections = 0x00; - - public byte getAllCurrentConnections() - { - return (byte) (currentWireConnections | currentAcceptorConnections); - } - - public static boolean connectionMapContainsSide(byte connections, ForgeDirection side) - { - byte tester = (byte) (1 << side.ordinal()); - return ((connections & tester) > 0); - } - - @Override - public void bind(TileMultipart t) - { - if(tile() != null && network != null) - { - getNetwork().getConductors().remove(tile()); - super.bind(t); - getNetwork().getConductors().add((IConductor) tile()); - } - else { - super.bind(t); - } - } - - @Override - public void preRemove() - { - if(!world().isRemote && tile() instanceof IConductor) - { - getNetwork().split((IConductor) tile()); - } - - super.preRemove(); - } - - @Override - public boolean doesTick() - { - return false; - } - - @Override - public IElectricityNetwork getNetwork() - { - if(network == null && tile() instanceof IConductor) - { - setNetwork(NetworkLoader.getNewNetwork((IConductor)tile())); - } - - return network; - } - - public boolean canConnectBothSides(TileEntity tile, ForgeDirection side) - { - boolean notPrevented = !isConnectionPrevented(tile, side); - - if(tile instanceof IConnector) - { - notPrevented &= ((IConnector)tile).canConnect(side.getOpposite()); - } - - return notPrevented; - } - - @Override - public void setNetwork(IElectricityNetwork net) - { - network = net; - } - - /** - * Override if there are ways of preventing a connection - * - * @param tile The TileEntity on the given side - * @param side The side we're checking - * @return Whether we're preventing connections on given side or to given tileEntity - */ - public boolean isConnectionPrevented(TileEntity tile, ForgeDirection side) - { - return false; - } - - public byte getPossibleWireConnections() - { - byte connections = 0x00; - - for(ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) - { - TileEntity tileEntity = VectorHelper.getTileEntityFromSide(world(), new Vector3(tile()), side); - - if(tileEntity instanceof INetworkProvider && canConnectBothSides(tileEntity, side)) - { - connections |= 1 << side.ordinal(); - } - } - - return connections; - } - - public byte getPossibleAcceptorConnections() - { - byte connections = 0x00; - - for(ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) - { - TileEntity tileEntity = VectorHelper.getTileEntityFromSide(world(), new Vector3(tile()), side); - - if(isValidAcceptor(tileEntity) && canConnectBothSides(tileEntity, side)) - { - connections |= 1 << side.ordinal(); - } - } - - return connections; - } - - /** - * Override if there are different kinds of acceptor possible - */ - public boolean isValidAcceptor(TileEntity tile) - { - return tile instanceof IConnector; - } - - @Override - public void refresh() - { - if(!world().isRemote) - { - adjacentConnections = null; - - byte possibleWireConnections = getPossibleWireConnections(); - byte possibleAcceptorConnections = getPossibleAcceptorConnections(); - - if(possibleWireConnections != currentWireConnections) - { - byte or = (byte) (possibleWireConnections | currentWireConnections); - - if(or != possibleWireConnections) // Connections have been removed - { - getNetwork().split((IConductor) tile()); - setNetwork(null); - } - - for(ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) - { - if(connectionMapContainsSide(possibleWireConnections, side)) - { - TileEntity tileEntity = VectorHelper.getConnectorFromSide(world(), new Vector3(tile()), side); - - if(tileEntity instanceof INetworkProvider) - { - getNetwork().merge(((INetworkProvider) tileEntity).getNetwork()); - } - } - } - - currentWireConnections = possibleWireConnections; - } - - currentAcceptorConnections = possibleAcceptorConnections; - - getNetwork().refresh(); - sendDescUpdate(); - } - - tile().markRender(); - } - - /** - * Should include connections that are in the current connection maps even if those connections - * aren't allowed any more. This is so that networks split correctly. - */ - @Override - public TileEntity[] getAdjacentConnections() - { - if(adjacentConnections == null) - { - adjacentConnections = new TileEntity[6]; - - for(byte i = 0; i < 6; i++) - { - ForgeDirection side = ForgeDirection.getOrientation(i); - TileEntity tileEntity = VectorHelper.getTileEntityFromSide(world(), new Vector3(tile()), side); - - if(isCurrentlyConnected(side)) - { - adjacentConnections[i] = tileEntity; - } - } - } - return adjacentConnections; - } - - public boolean isCurrentlyConnected(ForgeDirection side) - { - return connectionMapContainsSide(getAllCurrentConnections(), side); - } - - /** - * Shouldn't need to be overridden. Override connectionPrevented instead - */ - @Override - public boolean canConnect(ForgeDirection direction) - { - Vector3 connectPos = new Vector3(tile()).modifyPositionFromSide(direction); - TileEntity connectTile = connectPos.getTileEntity(world()); - return !isConnectionPrevented(connectTile, direction); - } - - @Override - public void onAdded() - { - super.onAdded(); - refresh(); - } - - @Override - public void onChunkLoad() - { - super.onChunkLoad(); - refresh(); - } - - @Override - public void onNeighborChanged() - { - super.onNeighborChanged(); - refresh(); - } -} diff --git a/common/mekanism/induction/common/wire/PartUniversalConductor.java b/common/mekanism/induction/common/wire/PartUniversalConductor.java deleted file mode 100644 index 0fc7a72b1..000000000 --- a/common/mekanism/induction/common/wire/PartUniversalConductor.java +++ /dev/null @@ -1,264 +0,0 @@ -package mekanism.induction.common.wire; - -import ic2.api.energy.event.EnergyTileLoadEvent; -import ic2.api.energy.event.EnergyTileUnloadEvent; -import ic2.api.energy.tile.IEnergySink; -import ic2.api.energy.tile.IEnergyTile; - -import java.util.HashSet; -import java.util.Set; - -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import net.minecraftforge.common.ForgeDirection; -import net.minecraftforge.common.MinecraftForge; -import universalelectricity.compatibility.Compatibility; -import universalelectricity.core.electricity.ElectricityPack; -import universalelectricity.core.vector.Vector3; -import universalelectricity.core.vector.VectorHelper; -import buildcraft.api.power.IPowerReceptor; -import buildcraft.api.power.PowerHandler; -import buildcraft.api.power.PowerHandler.PowerReceiver; -import buildcraft.api.power.PowerHandler.Type; -import cofh.api.energy.IEnergyHandler; - -public abstract class PartUniversalConductor extends PartConductor implements IEnergySink, IPowerReceptor, IEnergyHandler -{ - protected boolean isAddedToEnergyNet; - public PowerHandler powerHandler; - public float buildcraftBuffer = Compatibility.BC3_RATIO * 50; - - public PartUniversalConductor() - { - powerHandler = new PowerHandler(this, Type.PIPE); - powerHandler.configure(0, buildcraftBuffer, buildcraftBuffer, buildcraftBuffer * 2); - powerHandler.configurePowerPerdition(0, 0); - } - - @Override - public boolean isValidAcceptor(TileEntity tile) - { - if(tile instanceof IEnergyTile) - { - return true; - } - else if(tile instanceof IPowerReceptor) - { - return true; - } - else if(tile instanceof IEnergyHandler) - { - return true; - } - - return super.isValidAcceptor(tile); - } - - @Override - public boolean isConnectionPrevented(TileEntity tile, ForgeDirection side) - { - if(tile instanceof IEnergyHandler) - { - return !((IEnergyHandler)tile).canInterface(side); - } - - return super.isConnectionPrevented(tile, side); - } - - @Override - public void onWorldJoin() - { - super.onWorldJoin(); - - if(!world().isRemote) - { - if(!isAddedToEnergyNet) - { - initIC(); - } - } - } - - @Override - public void onAdded() - { - super.onAdded(); - - if(!world().isRemote) - { - if(!isAddedToEnergyNet) - { - initIC(); - } - } - } - - @Override - public void onChunkLoad() - { - super.onChunkLoad(); - - if(!world().isRemote) - { - if(!isAddedToEnergyNet) - { - initIC(); - } - } - } - - @Override - public void onWorldSeparate() - { - unloadTileIC2(); - super.onWorldSeparate(); - } - - @Override - public void onChunkUnload() - { - unloadTileIC2(); - super.onChunkUnload(); - } - - @Override - public void onRemoved() {} - - @Override - public void preRemove() - { - unloadTileIC2(); - super.preRemove(); - } - - protected void initIC() - { - if(Compatibility.isIndustrialCraft2Loaded()) - { - MinecraftForge.EVENT_BUS.post(new EnergyTileLoadEvent((IEnergyTile) tile())); - } - - isAddedToEnergyNet = true; - } - - private void unloadTileIC2() - { - if(isAddedToEnergyNet && world() != null) - { - if(Compatibility.isIndustrialCraft2Loaded()) - { - MinecraftForge.EVENT_BUS.post(new EnergyTileUnloadEvent((IEnergyTile) tile())); - } - - isAddedToEnergyNet = false; - } - } - - @Override - public double demandedEnergyUnits() - { - if(getNetwork() == null) - { - return 0.0; - } - - return getNetwork().getRequest(tile()).getWatts() * Compatibility.TO_IC2_RATIO; - } - - @Override - public double injectEnergyUnits(ForgeDirection directionFrom, double amount) - { - TileEntity tile = VectorHelper.getTileEntityFromSide(world(), new Vector3(tile()), directionFrom); - ElectricityPack pack = ElectricityPack.getFromWatts((float) (amount * Compatibility.IC2_RATIO), 120); - return getNetwork().produce(pack, tile(), tile) * Compatibility.TO_IC2_RATIO; - } - - @Override - public int getMaxSafeInput() - { - return Integer.MAX_VALUE; - } - - @Override - public boolean acceptsEnergyFrom(TileEntity emitter, ForgeDirection direction) - { - return true; - } - - /** - * BuildCraft functions - */ - @Override - public PowerReceiver getPowerReceiver(ForgeDirection side) - { - return powerHandler.getPowerReceiver(); - } - - @Override - public void doWork(PowerHandler workProvider) - { - Set ignoreTiles = new HashSet(); - ignoreTiles.add(tile()); - - for(ForgeDirection direction : ForgeDirection.VALID_DIRECTIONS) - { - TileEntity tile = new Vector3(tile()).modifyPositionFromSide(direction).getTileEntity(world()); - ignoreTiles.add(tile); - } - - ElectricityPack pack = ElectricityPack.getFromWatts(workProvider.useEnergy(0, getNetwork().getRequest(tile()).getWatts() * Compatibility.TO_BC_RATIO, true) * Compatibility.BC3_RATIO, 120); - getNetwork().produce(pack, ignoreTiles.toArray(new TileEntity[0])); - } - - @Override - public World getWorld() - { - return world(); - } - - /** - * Thermal Expansion Functions - */ - @Override - public int receiveEnergy(ForgeDirection from, int maxReceive, boolean simulate) - { - ElectricityPack pack = ElectricityPack.getFromWatts(maxReceive * Compatibility.TE_RATIO, 1); - float request = getMaxEnergyStored(from); - - if(!simulate) - { - if(request > 0) - { - return (int) (maxReceive - (getNetwork().produce(pack, new Vector3(tile()).modifyPositionFromSide(from).getTileEntity(world())) * Compatibility.TO_TE_RATIO)); - } - - return 0; - } - - return (int)Math.min(maxReceive, request * Compatibility.TO_TE_RATIO); - } - - @Override - public int extractEnergy(ForgeDirection from, int maxExtract, boolean simulate) - { - return 0; - } - - @Override - public boolean canInterface(ForgeDirection from) - { - return true; - } - - @Override - public int getEnergyStored(ForgeDirection from) - { - return 0; - } - - @Override - public int getMaxEnergyStored(ForgeDirection from) - { - return (int)Math.round(getNetwork().getRequest(new Vector3(tile()).modifyPositionFromSide(from).getTileEntity(world())).getWatts() * Compatibility.TO_TE_RATIO); - } -} diff --git a/common/mekanism/induction/common/wire/PartWire.java b/common/mekanism/induction/common/wire/PartWire.java deleted file mode 100644 index 52248c4cd..000000000 --- a/common/mekanism/induction/common/wire/PartWire.java +++ /dev/null @@ -1,481 +0,0 @@ -package mekanism.induction.common.wire; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import mekanism.induction.client.render.RenderPartWire; -import mekanism.induction.common.MekanismInduction; -import net.minecraft.block.Block; -import net.minecraft.block.BlockColored; -import net.minecraft.client.particle.EffectRenderer; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemShears; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.Icon; -import net.minecraft.util.MovingObjectPosition; -import net.minecraftforge.common.ForgeDirection; -import universalelectricity.compatibility.Compatibility; -import buildcraft.api.power.PowerHandler; -import codechicken.lib.data.MCDataInput; -import codechicken.lib.data.MCDataOutput; -import codechicken.lib.lighting.LazyLightMatrix; -import codechicken.lib.raytracer.IndexedCuboid6; -import codechicken.lib.render.CCRenderState; -import codechicken.lib.render.IconTransformation; -import codechicken.lib.render.RenderUtils; -import codechicken.lib.vec.Cuboid6; -import codechicken.lib.vec.Translation; -import codechicken.microblock.IHollowConnect; -import codechicken.multipart.IconHitEffects; -import codechicken.multipart.JIconHitEffects; -import codechicken.multipart.JNormalOcclusion; -import codechicken.multipart.NormalOcclusionTest; -import codechicken.multipart.PartMap; -import codechicken.multipart.TMultiPart; -import codechicken.multipart.TSlottedPart; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class PartWire extends PartUniversalConductor implements TSlottedPart, JNormalOcclusion, IHollowConnect, JIconHitEffects, IInsulatedMaterial, IBlockableConnection -{ - public static final int DEFAULT_COLOR = 16; - public int dyeID = DEFAULT_COLOR; - public boolean isInsulated = false; - - public static IndexedCuboid6[] sides = new IndexedCuboid6[7]; - public static IndexedCuboid6[] insulatedSides = new IndexedCuboid6[7]; - public EnumWireMaterial material = EnumWireMaterial.COPPER; - - /** Client Side Connection Check */ - private ForgeDirection testingSide; - - static - { - sides[0] = new IndexedCuboid6(0, new Cuboid6(0.36, 0.000, 0.36, 0.64, 0.36, 0.64)); - sides[1] = new IndexedCuboid6(1, new Cuboid6(0.36, 0.64, 0.36, 0.64, 1.000, 0.64)); - sides[2] = new IndexedCuboid6(2, new Cuboid6(0.36, 0.36, 0.000, 0.64, 0.64, 0.36)); - sides[3] = new IndexedCuboid6(3, new Cuboid6(0.36, 0.36, 0.64, 0.64, 0.64, 1.000)); - sides[4] = new IndexedCuboid6(4, new Cuboid6(0.000, 0.36, 0.36, 0.36, 0.64, 0.64)); - sides[5] = new IndexedCuboid6(5, new Cuboid6(0.64, 0.36, 0.36, 1.000, 0.64, 0.64)); - sides[6] = new IndexedCuboid6(6, new Cuboid6(0.36, 0.36, 0.36, 0.64, 0.64, 0.64)); - insulatedSides[0] = new IndexedCuboid6(0, new Cuboid6(0.3, 0.0, 0.3, 0.7, 0.3, 0.7)); - insulatedSides[1] = new IndexedCuboid6(1, new Cuboid6(0.3, 0.7, 0.3, 0.7, 1.0, 0.7)); - insulatedSides[2] = new IndexedCuboid6(2, new Cuboid6(0.3, 0.3, 0.0, 0.7, 0.7, 0.3)); - insulatedSides[3] = new IndexedCuboid6(3, new Cuboid6(0.3, 0.3, 0.7, 0.7, 0.7, 1.0)); - insulatedSides[4] = new IndexedCuboid6(4, new Cuboid6(0.0, 0.3, 0.3, 0.3, 0.7, 0.7)); - insulatedSides[5] = new IndexedCuboid6(5, new Cuboid6(0.7, 0.3, 0.3, 1.0, 0.7, 0.7)); - insulatedSides[6] = new IndexedCuboid6(6, new Cuboid6(0.3, 0.3, 0.3, 0.7, 0.7, 0.7)); - } - - public PartWire(int typeID) - { - this(EnumWireMaterial.values()[typeID]); - } - - public PartWire(EnumWireMaterial type) - { - super(); - material = type; - } - - public PartWire() - { - super(); - } - - @Override - public boolean canConnect(ForgeDirection direction) - { - if(world().isBlockIndirectlyGettingPowered(x(), y(), z())) - { - return false; - } - - return super.canConnect(direction); - } - - @Override - public boolean isConnectionPrevented(TileEntity tile, ForgeDirection side) - { - if(tile instanceof IWireMaterial) - { - IWireMaterial wireTile = (IWireMaterial)tile; - - if(wireTile.getMaterial() != getMaterial()) - { - return true; - } - } - - if(isInsulated() && tile instanceof IInsulation) - { - IInsulation insulatedTile = (IInsulation)tile; - - if((insulatedTile.isInsulated() && insulatedTile.getInsulationColor() != getInsulationColor() && getInsulationColor() != DEFAULT_COLOR && insulatedTile.getInsulationColor() != DEFAULT_COLOR)) - { - return true; - } - } - - return (isBlockedOnSide(side) || tile instanceof IBlockableConnection && ((IBlockableConnection)tile).isBlockedOnSide(side.getOpposite())); - } - - @Override - public byte getPossibleWireConnections() - { - if(world().isBlockIndirectlyGettingPowered(x(), y(), z())) - { - return 0x00; - } - - return super.getPossibleWireConnections(); - } - - @Override - public byte getPossibleAcceptorConnections() - { - if(world().isBlockIndirectlyGettingPowered(x(), y(), z())) - { - return 0x00; - } - - return super.getPossibleAcceptorConnections(); - } - - @Override - public float getResistance() - { - return getMaterial().resistance; - } - - @Override - public float getCurrentCapacity() - { - return getMaterial().maxAmps; - } - - @Override - public EnumWireMaterial getMaterial() - { - return material; - } - - public int getTypeID() - { - return material.ordinal(); - } - - public void setDye(int dye) - { - dyeID = dye; - refresh(); - world().markBlockForUpdate(x(), y(), z()); - tile().notifyPartChange(this); - } - - public void setMaterialFromID(int id) - { - material = EnumWireMaterial.values()[id]; - } - - @Override - public void doWork(PowerHandler workProvider) - { - buildcraftBuffer = Compatibility.BC3_RATIO * 25 * Math.min(getMaterial().maxAmps, 100); - powerHandler.configure(0, buildcraftBuffer, buildcraftBuffer, buildcraftBuffer * 2); - - super.doWork(workProvider); - } - - @Override - public String getType() - { - return "resonant_induction_wire"; - } - - @Override - public boolean occlusionTest(TMultiPart other) - { - return NormalOcclusionTest.apply(this, other); - } - - @Override - public Iterable getSubParts() - { - Set subParts = new HashSet(); - IndexedCuboid6[] currentSides = isInsulated() ? insulatedSides : sides; - - if(tile() != null) - { - for(ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) - { - int ord = side.ordinal(); - if(connectionMapContainsSide(getAllCurrentConnections(), side) || side == testingSide) - subParts.add(currentSides[ord]); - } - } - - subParts.add(currentSides[6]); - return subParts; - } - - @Override - public Iterable getCollisionBoxes() - { - Set collisionBoxes = new HashSet(); - collisionBoxes.addAll((Collection)getSubParts()); - - return collisionBoxes; - } - - @Override - public Iterable getDrops() - { - List drops = new ArrayList(); - drops.add(pickItem(null)); - - if(isInsulated) - { - drops.add(new ItemStack(Block.cloth, 1, BlockColored.getBlockFromDye(dyeID))); - } - - return drops; - } - - @Override - public float getStrength(MovingObjectPosition hit, EntityPlayer player) - { - return 10F; - } - - @Override - @SideOnly(Side.CLIENT) - public void renderStatic(codechicken.lib.vec.Vector3 pos, LazyLightMatrix olm, int pass) - { - if(pass == 0) - { - RenderPartWire.INSTANCE.renderStatic(this); - } - } - - @Override - @SideOnly(Side.CLIENT) - public void renderDynamic(codechicken.lib.vec.Vector3 pos, float frame, int pass) - { - if(MekanismInduction.SHINY_SILVER && getMaterial() == EnumWireMaterial.SILVER) - { - RenderPartWire.INSTANCE.renderShine(this, pos.x, pos.y, pos.z, frame); - } - } - - @Override - public void drawBreaking(RenderBlocks renderBlocks) - { - CCRenderState.reset(); - RenderUtils.renderBlock(sides[6], 0, new Translation(x(), y(), z()), new IconTransformation(renderBlocks.overrideBlockTexture), null); - } - - @Override - public void readDesc(MCDataInput packet) - { - setMaterialFromID(packet.readInt()); - dyeID = packet.readInt(); - isInsulated = packet.readBoolean(); - currentWireConnections = packet.readByte(); - currentAcceptorConnections = packet.readByte(); - - if(tile() != null) - { - tile().markRender(); - } - } - - @Override - public void writeDesc(MCDataOutput packet) - { - packet.writeInt(getTypeID()); - packet.writeInt(dyeID); - packet.writeBoolean(isInsulated); - packet.writeByte(currentWireConnections); - packet.writeByte(currentAcceptorConnections); - } - - @Override - public void save(NBTTagCompound nbt) - { - super.save(nbt); - nbt.setInteger("typeID", getTypeID()); - nbt.setInteger("dyeID", dyeID); - nbt.setBoolean("isInsulated", isInsulated); - } - - @Override - public void load(NBTTagCompound nbt) - { - super.load(nbt); - setMaterialFromID(nbt.getInteger("typeID")); - dyeID = nbt.getInteger("dyeID"); - isInsulated = nbt.getBoolean("isInsulated"); - } - - @Override - public ItemStack pickItem(MovingObjectPosition hit) - { - return EnumWireMaterial.values()[getTypeID()].getWire(); - } - - @Override - public boolean activate(EntityPlayer player, MovingObjectPosition part, ItemStack item) - { - if(item != null) - { - if(item.itemID == Item.dyePowder.itemID && isInsulated()) - { - setDye(item.getItemDamage()); - return true; - } - else if(item.itemID == Block.cloth.blockID) - { - if(isInsulated() && !world().isRemote) - { - tile().dropItems(Collections.singletonList(new ItemStack(Block.cloth, 1, BlockColored.getBlockFromDye(dyeID)))); - } - - setInsulated(BlockColored.getDyeFromBlock(item.getItemDamage())); - player.inventory.decrStackSize(player.inventory.currentItem, 1); - return true; - } - else if((item.itemID == Item.shears.itemID || item.getItem() instanceof ItemShears) && isInsulated()) - { - if(!world().isRemote) - { - tile().dropItems(Collections.singletonList(new ItemStack(Block.cloth, 1, BlockColored.getBlockFromDye(dyeID)))); - } - - setInsulated(false); - return true; - } - } - return false; - } - - @Override - public Iterable getOcclusionBoxes() - { - return getCollisionBoxes(); - } - - @Override - public int getSlotMask() - { - return PartMap.CENTER.mask; - } - - @Override - public int getHollowSize() - { - return isInsulated ? 8 : 6; - } - - @Override - public boolean isInsulated() - { - return isInsulated; - } - - @Override - public int getInsulationColor() - { - return isInsulated ? dyeID : -1; - } - - @Override - public void setInsulationColor(int dye) - { - dyeID = dye; - - refresh(); - world().markBlockForUpdate(x(), y(), z()); - tile().notifyPartChange(this); - } - - @Override - public void setInsulated(boolean insulated) - { - isInsulated = insulated; - dyeID = DEFAULT_COLOR; - - refresh(); - world().markBlockForUpdate(x(), y(), z()); - tile().notifyPartChange(this); - } - - public void setInsulated(int dyeColour) - { - isInsulated = true; - dyeID = dyeColour; - - refresh(); - world().markBlockForUpdate(x(), y(), z()); - tile().notifyPartChange(this); - } - - public void setInsulated() - { - setInsulated(true); - } - - @Override - public Cuboid6 getBounds() - { - return new Cuboid6(0.375, 0.375, 0.375, 0.625, 0.625, 0.625); - } - - @Override - public Icon getBreakingIcon(Object subPart, int side) - { - return RenderPartWire.breakIcon; - } - - @Override - public Icon getBrokenIcon(int side) - { - return RenderPartWire.breakIcon; - } - - @Override - public void addHitEffects(MovingObjectPosition hit, EffectRenderer effectRenderer) - { - IconHitEffects.addHitEffects(this, hit, effectRenderer); - } - - @Override - public void addDestroyEffects(EffectRenderer effectRenderer) - { - IconHitEffects.addDestroyEffects(this, effectRenderer, false); - } - - @Override - public boolean isBlockedOnSide(ForgeDirection side) - { - TMultiPart blocker = tile().partMap(side.ordinal()); - testingSide = side; - boolean expandable = NormalOcclusionTest.apply(this, blocker); - testingSide = null; - return !expandable; - } - - @Override - public void onPartChanged(TMultiPart part) - { - refresh(); - } -} \ No newline at end of file diff --git a/common/mekanism/induction/common/wire/TEnergySink.java b/common/mekanism/induction/common/wire/TEnergySink.java deleted file mode 100644 index 67697361d..000000000 --- a/common/mekanism/induction/common/wire/TEnergySink.java +++ /dev/null @@ -1,109 +0,0 @@ -package mekanism.induction.common.wire; - -import ic2.api.energy.tile.IEnergySink; - -import java.util.HashSet; -import java.util.Set; - -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.ForgeDirection; -import codechicken.multipart.TMultiPart; -import codechicken.multipart.TileMultipart; - -public class TEnergySink extends TileMultipart implements IEnergySink -{ - public Set ic2Sinks = new HashSet(); - - @Override - public void copyFrom(TileMultipart that) - { - super.copyFrom(that); - - if(that instanceof TEnergySink) - { - ic2Sinks = ((TEnergySink)that).ic2Sinks; - } - } - - @Override - public void bindPart(TMultiPart part) - { - super.bindPart(part); - - if(part instanceof IEnergySink) - { - ic2Sinks.add((IEnergySink) part); - } - } - - @Override - public void partRemoved(TMultiPart part, int p) - { - super.partRemoved(part, p); - - if(part instanceof IEnergySink) - { - ic2Sinks.remove(part); - } - } - - @Override - public void clearParts() - { - super.clearParts(); - - ic2Sinks.clear(); - } - - @Override - public boolean acceptsEnergyFrom(TileEntity emitter, ForgeDirection direction) - { - for(IEnergySink sink : ic2Sinks) - { - if(sink.acceptsEnergyFrom(emitter, direction)) - { - return true; - } - } - - return false; - } - - @Override - public double demandedEnergyUnits() - { - double demanded = 0; - - for(IEnergySink sink : ic2Sinks) - { - demanded += sink.demandedEnergyUnits(); - } - - return demanded; - } - - @Override - public double injectEnergyUnits(ForgeDirection directionFrom, double amount) - { - for(IEnergySink sink : ic2Sinks) - { - amount = sink.injectEnergyUnits(directionFrom, Math.min(amount, sink.demandedEnergyUnits())); - } - - return amount; - } - - @Override - public int getMaxSafeInput() - { - int safe = 0; - - for(IEnergySink sink : ic2Sinks) - { - safe += sink.getMaxSafeInput(); - } - - return safe; - } - -} diff --git a/resources/assets/mekanism/lang/de_DE.lang b/resources/assets/mekanism/lang/de_DE.lang index 736cf0a3f..688212e7d 100644 --- a/resources/assets/mekanism/lang/de_DE.lang +++ b/resources/assets/mekanism/lang/de_DE.lang @@ -372,9 +372,9 @@ item.SteelShovel.name=Stahlschaufel item.SteelHoe.name=Stahlhacke item.SteelSword.name=Stahlschwert -//*****// -//TOOLS// -//*****// +//*********// +//INDUCTION// +//*********// //Blocks tile.Tesla.name=Teslaspule @@ -382,13 +382,6 @@ tile.Multimeter.name=Multimeter tile.ElectromagneticContractor.name=Elektromagnetischer Kontraktor tile.Battery.name=Modulare Batterie -//Wires -tile.Wire.CopperWire.name=Kupferkabel -tile.Wire.TinWire.name=Zinnkabel -tile.Wire.IronWire.name=Eisenkabel -tile.Wire.AluminumWire.name=Aluminiumkabel -tile.Wire.SilverWire.name=Silberkabel - //General text text.contractor.success=Kontraktor erfolgreich verbunden text.tesla.success=Teslaspule erfolgreich verbunden diff --git a/resources/assets/mekanism/lang/en_US.lang b/resources/assets/mekanism/lang/en_US.lang index 236e64cdc..12bda8d94 100644 --- a/resources/assets/mekanism/lang/en_US.lang +++ b/resources/assets/mekanism/lang/en_US.lang @@ -294,6 +294,12 @@ tile.Generator.BioGenerator.name=Bio-Generator tile.Generator.AdvancedSolarGenerator.name=Advanced Solar Generator tile.Generator.WindTurbine.name=Wind Turbine +//Gui text +gui.heatGenerator.fuel=Fuel +gui.solarGenerator.sun=Sun +gui.bioGenerator.bioFuel=BioFuel +gui.electrolyticSeparator.dump=Dump + //*****// //TOOLS// //*****// @@ -377,9 +383,9 @@ item.SteelShovel.name=Steel Shovel item.SteelHoe.name=Steel Hoe item.SteelSword.name=Steel Sword -//*****// -//TOOLS// -//*****// +//*********// +//INDUCTION// +//*********// //Blocks tile.Tesla.name=Tesla Coil @@ -387,19 +393,6 @@ tile.Multimeter.name=Multimeter tile.ElectromagneticContractor.name=Electromagnetic Contractor tile.Battery.name=Modular Battery -//Wires -tile.Wire.CopperWire.name=Copper Wire -tile.Wire.TinWire.name=Tin Wire -tile.Wire.IronWire.name=Iron Wire -tile.Wire.AluminumWire.name=Aluminum Wire -tile.Wire.SilverWire.name=Silver Wire - //General text text.contractor.success=Linked contractor successfully text.tesla.success=Linked tesla successfully - -//Gui text -gui.heatGenerator.fuel=Fuel -gui.solarGenerator.sun=Sun -gui.bioGenerator.bioFuel=BioFuel -gui.electrolyticSeparator.dump=Dump diff --git a/resources/assets/mekanism/models/wire.obj b/resources/assets/mekanism/models/wire.obj deleted file mode 100644 index 4d2a200ab..000000000 --- a/resources/assets/mekanism/models/wire.obj +++ /dev/null @@ -1,632 +0,0 @@ -# Blender v2.66 (sub 1) OBJ File: 'wire.blend' -# www.blender.org -mtllib wire.mtl -g southInsulation -v -0.187500 0.687500 -0.187500 -v -0.187500 0.312500 -0.187500 -v 0.187500 0.312500 -0.187500 -v 0.187500 0.687500 -0.187500 -v -0.187500 0.687500 -0.500000 -v -0.187500 0.312500 -0.500000 -v 0.187500 0.312500 -0.500000 -v 0.187500 0.687500 -0.500000 -v -0.187500 0.312500 -0.375000 -v -0.187500 0.687500 -0.375000 -v 0.187500 0.312500 -0.375000 -v 0.187500 0.687500 -0.375000 -v -0.187500 0.687500 -0.312500 -v 0.187500 0.687500 -0.312500 -v 0.187500 0.312500 -0.312500 -v -0.187500 0.312500 -0.312500 -v 0.125000 0.312500 -0.500000 -v -0.125000 0.687500 -0.500000 -v -0.125000 0.312500 -0.500000 -v 0.125000 0.687500 -0.500000 -v -0.125000 0.375000 -0.500000 -v -0.125000 0.625000 -0.500000 -v 0.125000 0.625000 -0.500000 -v 0.125000 0.375000 -0.500000 -vt 0.687500 0.562500 -vt 0.687500 0.937500 -vt 0.562500 0.937500 -vt 0.562500 0.562500 -vt 0.062500 0.437500 -vt 0.062500 0.062500 -vt 0.437500 0.062500 -vt 0.437500 0.437500 -vt 0.125000 0.062500 -vt 0.125000 0.125000 -vt 0.125000 0.375000 -vt 0.125000 0.437500 -vt 0.375000 0.437500 -vt 0.375000 0.375000 -vt 0.375000 0.062500 -vt 0.375000 0.125000 -vt 0.875000 0.937500 -vt 0.750000 0.937500 -vt 0.750000 0.562500 -vt 0.875000 0.562500 -vt 0.875000 0.625000 -vt 0.875000 0.875000 -vn -1.000000 0.000000 -0.000000 -vn 0.000000 -1.000000 -0.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 1.000000 0.000000 -vn 0.000000 0.000000 1.000000 -vn 0.000000 0.000000 -1.000000 -usemtl None -s off -f 13/1/1 16/2/1 2/3/1 1/4/1 -f 16/1/2 15/2/2 3/3/2 2/4/2 -f 15/1/3 14/2/3 4/3/3 3/4/3 -f 14/1/4 13/2/4 1/3/4 4/4/4 -f 1/5/5 2/6/5 3/7/5 4/8/5 -f 6/5/6 5/6/6 18/9/6 22/10/6 21/11/6 19/12/6 -f 17/13/6 19/12/6 21/11/6 24/14/6 -f 22/10/6 18/9/6 20/15/6 23/16/6 -f 8/7/6 7/8/6 17/13/6 24/14/6 23/16/6 20/15/6 -f 5/17/4 10/18/4 12/19/4 8/20/4 20/21/4 18/22/4 -f 7/17/2 11/18/2 9/19/2 6/20/2 19/21/2 17/22/2 -f 9/8/5 11/5/5 12/6/5 10/7/5 -f 6/17/1 9/18/1 10/19/1 5/20/1 -f 11/18/3 7/17/3 8/20/3 12/19/3 -f 14/7/6 15/8/6 16/5/6 13/6/6 -g eastInsulation -v 0.187500 0.687500 0.187500 -v 0.187500 0.687500 -0.187500 -v 0.187500 0.312500 -0.187500 -v 0.187500 0.312500 0.187500 -v 0.500000 0.687500 0.187500 -v 0.500000 0.687500 -0.187500 -v 0.500000 0.312500 -0.187500 -v 0.500000 0.312500 0.187500 -v 0.375000 0.687500 -0.187500 -v 0.375000 0.687500 0.187500 -v 0.375000 0.312500 -0.187500 -v 0.375000 0.312500 0.187500 -v 0.312500 0.687500 0.187500 -v 0.312500 0.312500 0.187500 -v 0.312500 0.312500 -0.187500 -v 0.312500 0.687500 -0.187500 -v 0.500000 0.375000 -0.187500 -v 0.500000 0.625000 0.187500 -v 0.500000 0.625000 -0.187500 -v 0.500000 0.375000 0.187500 -v 0.500000 0.625000 -0.125000 -v 0.500000 0.625000 0.125000 -v 0.500000 0.375000 0.125000 -v 0.500000 0.375000 -0.125000 -vt 0.687500 0.562500 -vt 0.687500 0.937500 -vt 0.562500 0.937500 -vt 0.562500 0.562500 -vt 0.062500 0.937500 -vt 0.062500 0.562500 -vt 0.437500 0.562500 -vt 0.437500 0.937500 -vt 0.062500 0.437500 -vt 0.062500 0.062500 -vt 0.125000 0.062500 -vt 0.125000 0.125000 -vt 0.125000 0.375000 -vt 0.125000 0.437500 -vt 0.375000 0.437500 -vt 0.375000 0.375000 -vt 0.375000 0.062500 -vt 0.375000 0.125000 -vt 0.437500 0.062500 -vt 0.437500 0.437500 -vt 0.875000 0.937500 -vt 0.750000 0.937500 -vt 0.750000 0.562500 -vt 0.875000 0.562500 -vt 0.875000 0.625000 -vt 0.875000 0.875000 -usemtl None -s off -f 37/23/4 40/24/4 26/25/4 25/26/4 -f 40/23/6 39/24/6 27/25/6 26/26/6 -f 39/23/2 38/24/2 28/25/2 27/26/2 -f 38/23/5 37/24/5 25/25/5 28/26/5 -f 25/27/1 26/28/1 27/29/1 28/30/1 -f 30/31/3 29/32/3 42/33/3 46/34/3 45/35/3 43/36/3 -f 41/37/3 43/36/3 45/35/3 48/38/3 -f 46/34/3 42/33/3 44/39/3 47/40/3 -f 32/41/3 31/42/3 41/37/3 48/38/3 47/40/3 44/39/3 -f 29/43/5 34/44/5 36/45/5 32/46/5 44/47/5 42/48/5 -f 31/43/6 35/44/6 33/45/6 30/46/6 43/47/6 41/48/6 -f 33/30/1 35/27/1 36/28/1 34/29/1 -f 30/43/4 33/44/4 34/45/4 29/46/4 -f 35/44/2 31/43/2 32/46/2 36/45/2 -f 38/29/3 39/30/3 40/27/3 37/28/3 -g westInsulation -v -0.187500 0.312500 0.187500 -v -0.187500 0.312500 -0.187500 -v -0.187500 0.687500 -0.187500 -v -0.187500 0.687500 0.187500 -v -0.500000 0.312500 0.187500 -v -0.500000 0.312500 -0.187500 -v -0.500000 0.687500 -0.187500 -v -0.500000 0.687500 0.187500 -v -0.375000 0.312500 -0.187500 -v -0.375000 0.312500 0.187500 -v -0.375000 0.687500 -0.187500 -v -0.375000 0.687500 0.187500 -v -0.312500 0.312500 0.187500 -v -0.312500 0.687500 0.187500 -v -0.312500 0.687500 -0.187500 -v -0.312500 0.312500 -0.187500 -v -0.500000 0.625000 -0.187500 -v -0.500000 0.375000 0.187500 -v -0.500000 0.375000 -0.187500 -v -0.500000 0.625000 0.187500 -v -0.500000 0.375000 -0.125000 -v -0.500000 0.375000 0.125000 -v -0.500000 0.625000 0.125000 -v -0.500000 0.625000 -0.125000 -vt 0.687500 0.562500 -vt 0.687500 0.937500 -vt 0.562500 0.937500 -vt 0.562500 0.562500 -vt 0.062500 0.437500 -vt 0.062500 0.062500 -vt 0.437500 0.062500 -vt 0.437500 0.437500 -vt 0.125000 0.062500 -vt 0.125000 0.125000 -vt 0.125000 0.375000 -vt 0.125000 0.437500 -vt 0.375000 0.437500 -vt 0.375000 0.375000 -vt 0.375000 0.062500 -vt 0.375000 0.125000 -vt 0.875000 0.937500 -vt 0.750000 0.937500 -vt 0.750000 0.562500 -vt 0.875000 0.562500 -vt 0.875000 0.625000 -vt 0.875000 0.875000 -usemtl None -s off -f 61/49/2 64/50/2 50/51/2 49/52/2 -f 64/49/6 63/50/6 51/51/6 50/52/6 -f 63/49/4 62/50/4 52/51/4 51/52/4 -f 62/49/5 61/50/5 49/51/5 52/52/5 -f 49/53/3 50/54/3 51/55/3 52/56/3 -f 54/53/1 53/54/1 66/57/1 70/58/1 69/59/1 67/60/1 -f 65/61/1 67/60/1 69/59/1 72/62/1 -f 70/58/1 66/57/1 68/63/1 71/64/1 -f 56/55/1 55/56/1 65/61/1 72/62/1 71/64/1 68/63/1 -f 53/65/5 58/66/5 60/67/5 56/68/5 68/69/5 66/70/5 -f 55/65/6 59/66/6 57/67/6 54/68/6 67/69/6 65/70/6 -f 57/56/3 59/53/3 60/54/3 58/55/3 -f 54/65/2 57/66/2 58/67/2 53/68/2 -f 59/66/4 55/65/4 56/68/4 60/67/4 -f 62/55/1 63/56/1 64/53/1 61/54/1 -g downInsulation -v -0.187500 0.312500 -0.187500 -v -0.187500 0.312500 0.187500 -v 0.187500 0.312500 0.187500 -v 0.187500 0.312500 -0.187500 -v -0.187500 0.000000 -0.187500 -v -0.187500 0.000000 0.187500 -v 0.187500 0.000000 0.187500 -v 0.187500 0.000000 -0.187500 -v -0.187500 0.125000 0.187500 -v -0.187500 0.125000 -0.187500 -v 0.187500 0.125000 0.187500 -v 0.187500 0.125000 -0.187500 -v -0.187500 0.187500 -0.187500 -v 0.187500 0.187500 -0.187500 -v 0.187500 0.187500 0.187500 -v -0.187500 0.187500 0.187500 -v 0.125000 0.000000 0.187500 -v -0.125000 0.000000 -0.187500 -v -0.125000 0.000000 0.187500 -v 0.125000 0.000000 -0.187500 -v -0.125000 0.000000 0.125000 -v -0.125000 0.000000 -0.125000 -v 0.125000 0.000000 -0.125000 -v 0.125000 0.000000 0.125000 -vt 0.687500 0.562500 -vt 0.687500 0.937500 -vt 0.562500 0.937500 -vt 0.562500 0.562500 -vt 0.062500 0.437500 -vt 0.062500 0.062500 -vt 0.437500 0.062500 -vt 0.437500 0.437500 -vt 0.125000 0.062500 -vt 0.125000 0.125000 -vt 0.125000 0.375000 -vt 0.125000 0.437500 -vt 0.375000 0.437500 -vt 0.375000 0.375000 -vt 0.375000 0.062500 -vt 0.375000 0.125000 -vt 0.875000 0.937500 -vt 0.750000 0.937500 -vt 0.750000 0.562500 -vt 0.875000 0.562500 -vt 0.875000 0.625000 -vt 0.875000 0.875000 -usemtl None -s off -f 85/71/1 88/72/1 74/73/1 73/74/1 -f 88/71/5 87/72/5 75/73/5 74/74/5 -f 87/71/3 86/72/3 76/73/3 75/74/3 -f 86/71/6 85/72/6 73/73/6 76/74/6 -f 73/75/4 74/76/4 75/77/4 76/78/4 -f 78/75/2 77/76/2 90/79/2 94/80/2 93/81/2 91/82/2 -f 89/83/2 91/82/2 93/81/2 96/84/2 -f 94/80/2 90/79/2 92/85/2 95/86/2 -f 80/77/2 79/78/2 89/83/2 96/84/2 95/86/2 92/85/2 -f 77/87/6 82/88/6 84/89/6 80/90/6 92/91/6 90/92/6 -f 79/87/5 83/88/5 81/89/5 78/90/5 91/91/5 89/92/5 -f 81/78/4 83/75/4 84/76/4 82/77/4 -f 78/87/1 81/88/1 82/89/1 77/90/1 -f 83/88/3 79/87/3 80/90/3 84/89/3 -f 86/77/2 87/78/2 88/75/2 85/76/2 -g northInsulation -v -0.187500 0.312500 0.187500 -v -0.187500 0.687500 0.187500 -v 0.187500 0.687500 0.187500 -v 0.187500 0.312500 0.187500 -v -0.187500 0.312500 0.500000 -v -0.187500 0.687500 0.500000 -v 0.187500 0.687500 0.500000 -v 0.187500 0.312500 0.500000 -v -0.187500 0.687500 0.375000 -v -0.187500 0.312500 0.375000 -v 0.187500 0.687500 0.375000 -v 0.187500 0.312500 0.375000 -v -0.187500 0.312500 0.312500 -v 0.187500 0.312500 0.312500 -v 0.187500 0.687500 0.312500 -v -0.187500 0.687500 0.312500 -v 0.125000 0.687500 0.500000 -v -0.125000 0.312500 0.500000 -v -0.125000 0.687500 0.500000 -v 0.125000 0.312500 0.500000 -v -0.125000 0.625000 0.500000 -v -0.125000 0.375000 0.500000 -v 0.125000 0.375000 0.500000 -v 0.125000 0.625000 0.500000 -vt 0.687500 0.562500 -vt 0.687500 0.937500 -vt 0.562500 0.937500 -vt 0.562500 0.562500 -vt 0.062500 0.937500 -vt 0.062500 0.562500 -vt 0.437500 0.562500 -vt 0.437500 0.937500 -vt 0.062500 0.437500 -vt 0.062500 0.062500 -vt 0.125000 0.062500 -vt 0.125000 0.125000 -vt 0.125000 0.375000 -vt 0.125000 0.437500 -vt 0.375000 0.437500 -vt 0.375000 0.375000 -vt 0.375000 0.062500 -vt 0.375000 0.125000 -vt 0.437500 0.062500 -vt 0.437500 0.437500 -vt 0.875000 0.937500 -vt 0.750000 0.937500 -vt 0.750000 0.562500 -vt 0.875000 0.562500 -vt 0.875000 0.625000 -vt 0.875000 0.875000 -usemtl None -s off -f 109/93/1 112/94/1 98/95/1 97/96/1 -f 112/93/4 111/94/4 99/95/4 98/96/4 -f 111/93/3 110/94/3 100/95/3 99/96/3 -f 110/93/2 109/94/2 97/95/2 100/96/2 -f 97/97/6 98/98/6 99/99/6 100/100/6 -f 102/101/5 101/102/5 114/103/5 118/104/5 117/105/5 115/106/5 -f 113/107/5 115/106/5 117/105/5 120/108/5 -f 118/104/5 114/103/5 116/109/5 119/110/5 -f 104/111/5 103/112/5 113/107/5 120/108/5 119/110/5 116/109/5 -f 101/113/2 106/114/2 108/115/2 104/116/2 116/117/2 114/118/2 -f 103/113/4 107/114/4 105/115/4 102/116/4 115/117/4 113/118/4 -f 105/100/6 107/97/6 108/98/6 106/99/6 -f 102/113/1 105/114/1 106/115/1 101/116/1 -f 107/114/3 103/113/3 104/116/3 108/115/3 -f 110/99/5 111/100/5 112/97/5 109/98/5 -g upInsulation -v -0.187500 0.687500 0.187500 -v -0.187500 0.687500 -0.187500 -v 0.187500 0.687500 -0.187500 -v 0.187500 0.687500 0.187500 -v -0.187500 1.000000 0.187500 -v -0.187500 1.000000 -0.187500 -v 0.187500 1.000000 -0.187500 -v 0.187500 1.000000 0.187500 -v -0.187500 0.875000 -0.187500 -v -0.187500 0.875000 0.187500 -v 0.187500 0.875000 -0.187500 -v 0.187500 0.875000 0.187500 -v -0.187500 0.812500 0.187500 -v 0.187500 0.812500 0.187500 -v 0.187500 0.812500 -0.187500 -v -0.187500 0.812500 -0.187500 -v 0.125000 1.000000 -0.187500 -v -0.125000 1.000000 0.187500 -v -0.125000 1.000000 -0.187500 -v 0.125000 1.000000 0.187500 -v -0.125000 1.000000 -0.125000 -v -0.125000 1.000000 0.125000 -v 0.125000 1.000000 0.125000 -v 0.125000 1.000000 -0.125000 -vt 0.687500 0.562500 -vt 0.687500 0.937500 -vt 0.562500 0.937500 -vt 0.562500 0.562500 -vt 0.062500 0.437500 -vt 0.062500 0.062500 -vt 0.437500 0.062500 -vt 0.437500 0.437500 -vt 0.125000 0.062500 -vt 0.125000 0.125000 -vt 0.125000 0.375000 -vt 0.125000 0.437500 -vt 0.375000 0.437500 -vt 0.375000 0.375000 -vt 0.375000 0.062500 -vt 0.375000 0.125000 -vt 0.875000 0.937500 -vt 0.750000 0.937500 -vt 0.750000 0.562500 -vt 0.875000 0.562500 -vt 0.875000 0.625000 -vt 0.875000 0.875000 -usemtl None -s off -f 133/119/1 136/120/1 122/121/1 121/122/1 -f 136/119/6 135/120/6 123/121/6 122/122/6 -f 135/119/3 134/120/3 124/121/3 123/122/3 -f 134/119/5 133/120/5 121/121/5 124/122/5 -f 121/123/2 122/124/2 123/125/2 124/126/2 -f 126/123/4 125/124/4 138/127/4 142/128/4 141/129/4 139/130/4 -f 137/131/4 139/130/4 141/129/4 144/132/4 -f 142/128/4 138/127/4 140/133/4 143/134/4 -f 128/125/4 127/126/4 137/131/4 144/132/4 143/134/4 140/133/4 -f 125/135/5 130/136/5 132/137/5 128/138/5 140/139/5 138/140/5 -f 127/135/6 131/136/6 129/137/6 126/138/6 139/139/6 137/140/6 -f 129/126/2 131/123/2 132/124/2 130/125/2 -f 126/135/1 129/136/1 130/137/1 125/138/1 -f 131/136/3 127/135/3 128/138/3 132/137/3 -f 134/125/4 135/126/4 136/123/4 133/124/4 -g centerInsulation -v -0.187500 0.312500 0.187500 -v -0.187500 0.312500 -0.187500 -v 0.187500 0.312500 -0.187500 -v 0.187500 0.312500 0.187500 -v -0.187500 0.687500 0.187500 -v -0.187500 0.687500 -0.187500 -v 0.187500 0.687500 -0.187500 -v 0.187500 0.687500 0.187500 -vt 0.062500 0.562500 -vt 0.437500 0.562500 -vt 0.437500 0.937500 -vt 0.062500 0.937500 -usemtl None -s off -f 149/141/1 150/142/1 146/143/1 145/144/1 -f 150/141/6 151/142/6 147/143/6 146/144/6 -f 151/141/3 152/142/3 148/143/3 147/144/3 -f 152/143/5 149/144/5 145/141/5 148/142/5 -f 145/144/2 146/141/2 147/142/2 148/143/2 -f 152/142/4 151/143/4 150/144/4 149/141/4 -g down -v -0.125000 0.000000 0.125000 -v 0.125000 0.000000 0.125000 -v 0.125000 0.375000 0.125000 -v -0.125000 0.375000 0.125000 -v -0.125000 0.000000 -0.125000 -v 0.125000 0.000000 -0.125000 -v 0.125000 0.375000 -0.125000 -v -0.125000 0.375000 -0.125000 -vt 0.281250 0.687500 -vt 0.156250 0.687500 -vt 0.156250 0.562500 -vt 0.281250 0.562500 -vt 0.281250 0.375000 -vt 0.406250 0.375000 -vt 0.406250 0.562500 -vt 0.406250 0.687500 -vt 0.531250 0.375000 -vt 0.531250 0.562500 -vt 0.156250 0.375000 -vt 0.031250 0.375000 -vt 0.031250 0.562500 -usemtl None_Wire -s off -f 157/145/2 158/146/2 154/147/2 153/148/2 -f 158/148/3 159/149/3 155/150/3 154/151/3 -f 159/152/4 160/145/4 156/148/4 155/151/4 -f 160/151/1 157/150/1 153/153/1 156/154/1 -f 153/148/5 154/147/5 155/155/5 156/149/5 -f 160/156/6 159/155/6 158/147/6 157/157/6 -g up -v -0.125000 1.000000 -0.125000 -v 0.125000 1.000000 -0.125000 -v 0.125000 0.625000 -0.125000 -v -0.125000 0.625000 -0.125000 -v -0.125000 1.000000 0.125000 -v 0.125000 1.000000 0.125000 -v 0.125000 0.625000 0.125000 -v -0.125000 0.625000 0.125000 -vt 0.281250 0.687500 -vt 0.156250 0.687500 -vt 0.156250 0.562500 -vt 0.281250 0.562500 -vt 0.281250 0.375000 -vt 0.406250 0.375000 -vt 0.406250 0.562500 -vt 0.406250 0.687500 -vt 0.531250 0.375000 -vt 0.531250 0.562500 -vt 0.156250 0.375000 -vt 0.031250 0.375000 -vt 0.031250 0.562500 -usemtl None_Wire -s off -f 165/158/4 166/159/4 162/160/4 161/161/4 -f 166/161/3 167/162/3 163/163/3 162/164/3 -f 167/165/2 168/158/2 164/161/2 163/164/2 -f 168/164/1 165/163/1 161/166/1 164/167/1 -f 161/161/6 162/160/6 163/168/6 164/162/6 -f 168/169/5 167/168/5 166/160/5 165/170/5 -g west -v -0.500000 0.375000 0.125000 -v -0.500000 0.375000 -0.125000 -v -0.125000 0.375000 -0.125000 -v -0.125000 0.375000 0.125000 -v -0.500000 0.625000 0.125000 -v -0.500000 0.625000 -0.125000 -v -0.125000 0.625000 -0.125000 -v -0.125000 0.625000 0.125000 -vt 0.281250 0.687500 -vt 0.156250 0.687500 -vt 0.156250 0.562500 -vt 0.281250 0.562500 -vt 0.281250 0.375000 -vt 0.406250 0.375000 -vt 0.406250 0.562500 -vt 0.406250 0.687500 -vt 0.531250 0.375000 -vt 0.531250 0.562500 -vt 0.156250 0.375000 -vt 0.031250 0.375000 -vt 0.031250 0.562500 -usemtl None_Wire -s off -f 173/171/1 174/172/1 170/173/1 169/174/1 -f 174/174/6 175/175/6 171/176/6 170/177/6 -f 175/178/3 176/171/3 172/174/3 171/177/3 -f 176/177/5 173/176/5 169/179/5 172/180/5 -f 169/174/2 170/173/2 171/181/2 172/175/2 -f 176/182/4 175/181/4 174/173/4 173/183/4 -g east -v 0.500000 0.375000 -0.125000 -v 0.500000 0.375000 0.125000 -v 0.125000 0.375000 0.125000 -v 0.125000 0.375000 -0.125000 -v 0.500000 0.625000 -0.125000 -v 0.500000 0.625000 0.125000 -v 0.125000 0.625000 0.125000 -v 0.125000 0.625000 -0.125000 -vt 0.281250 0.687500 -vt 0.156250 0.687500 -vt 0.156250 0.562500 -vt 0.281250 0.562500 -vt 0.281250 0.375000 -vt 0.406250 0.375000 -vt 0.406250 0.562500 -vt 0.406250 0.687500 -vt 0.531250 0.375000 -vt 0.531250 0.562500 -vt 0.156250 0.375000 -vt 0.031250 0.375000 -vt 0.031250 0.562500 -usemtl None_Wire -s off -f 181/184/3 182/185/3 178/186/3 177/187/3 -f 182/187/5 183/188/5 179/189/5 178/190/5 -f 183/191/1 184/184/1 180/187/1 179/190/1 -f 184/190/6 181/189/6 177/192/6 180/193/6 -f 177/187/2 178/186/2 179/194/2 180/188/2 -f 184/195/4 183/194/4 182/186/4 181/196/4 -g north -v 0.125000 0.375000 0.500000 -v -0.125000 0.375000 0.500000 -v -0.125000 0.375000 0.125000 -v 0.125000 0.375000 0.125000 -v 0.125000 0.625000 0.500000 -v -0.125000 0.625000 0.500000 -v -0.125000 0.625000 0.125000 -v 0.125000 0.625000 0.125000 -vt 0.281250 0.687500 -vt 0.156250 0.687500 -vt 0.156250 0.562500 -vt 0.281250 0.562500 -vt 0.281250 0.375000 -vt 0.406250 0.375000 -vt 0.406250 0.562500 -vt 0.406250 0.687500 -vt 0.531250 0.375000 -vt 0.531250 0.562500 -vt 0.156250 0.375000 -vt 0.031250 0.375000 -vt 0.031250 0.562500 -usemtl None_Wire -s off -f 189/197/5 190/198/5 186/199/5 185/200/5 -f 190/200/1 191/201/1 187/202/1 186/203/1 -f 191/204/6 192/197/6 188/200/6 187/203/6 -f 192/203/3 189/202/3 185/205/3 188/206/3 -f 185/200/2 186/199/2 187/207/2 188/201/2 -f 192/208/4 191/207/4 190/199/4 189/209/4 -g south -v -0.125000 0.375000 -0.500000 -v 0.125000 0.375000 -0.500000 -v 0.125000 0.375000 -0.125000 -v -0.125000 0.375000 -0.125000 -v -0.125000 0.625000 -0.500000 -v 0.125000 0.625000 -0.500000 -v 0.125000 0.625000 -0.125000 -v -0.125000 0.625000 -0.125000 -vt 0.281250 0.687500 -vt 0.156250 0.687500 -vt 0.156250 0.562500 -vt 0.281250 0.562500 -vt 0.281250 0.375000 -vt 0.406250 0.375000 -vt 0.406250 0.562500 -vt 0.406250 0.687500 -vt 0.531250 0.375000 -vt 0.531250 0.562500 -vt 0.156250 0.375000 -vt 0.031250 0.375000 -vt 0.031250 0.562500 -usemtl None_Wire -s off -f 197/210/6 198/211/6 194/212/6 193/213/6 -f 198/213/3 199/214/3 195/215/3 194/216/3 -f 199/217/5 200/210/5 196/213/5 195/216/5 -f 200/216/1 197/215/1 193/218/1 196/219/1 -f 193/213/2 194/212/2 195/220/2 196/214/2 -f 200/221/4 199/220/4 198/212/4 197/222/4 -g center -v -0.125000 0.375000 0.125000 -v -0.125000 0.375000 -0.125000 -v 0.125000 0.375000 -0.125000 -v 0.125000 0.375000 0.125000 -v -0.125000 0.625000 0.125000 -v -0.125000 0.625000 -0.125000 -v 0.125000 0.625000 -0.125000 -v 0.125000 0.625000 0.125000 -vt 0.281250 0.843750 -vt 0.156250 0.843750 -vt 0.156250 0.718750 -vt 0.281250 0.718750 -vt 0.406250 0.843750 -vt 0.406250 0.718750 -vt 0.531250 0.718750 -vt 0.531250 0.843750 -vt 0.031250 0.843750 -vt 0.031250 0.718750 -vt 0.406250 0.968750 -vt 0.281250 0.968750 -vt 0.156250 0.968750 -usemtl None_ 1 -s off -f 205/223/1 206/224/1 202/225/1 201/226/1 -f 206/227/6 207/228/6 203/229/6 202/230/6 -f 207/224/3 208/231/3 204/232/3 203/225/3 -f 208/223/5 205/226/5 201/228/5 204/227/5 -f 201/233/2 202/234/2 203/223/2 204/227/2 -f 208/224/4 207/223/4 206/234/4 205/235/4 diff --git a/resources/assets/mekanism/models/wireShine.obj b/resources/assets/mekanism/models/wireShine.obj deleted file mode 100644 index bff3cd632..000000000 --- a/resources/assets/mekanism/models/wireShine.obj +++ /dev/null @@ -1,522 +0,0 @@ -# Blender v2.66 (sub 1) OBJ File: 'wireShine.blend' -# www.blender.org -mtllib wireShine.mtl -g down -v -0.126250 0.000000 0.126250 -v 0.126250 0.000000 0.126250 -v 0.126250 0.374464 0.126250 -v -0.126250 0.374464 0.126250 -v -0.126250 0.000000 -0.126250 -v 0.126250 0.000000 -0.126250 -v 0.126250 0.374464 -0.126250 -v -0.126250 0.374464 -0.126250 -v 0.126250 0.187232 -0.126250 -v -0.126250 0.000000 -0.000000 -v -0.000000 0.187232 0.126250 -v -0.126250 0.187232 0.126250 -v -0.000000 0.000000 0.126250 -v -0.126250 0.187232 -0.126250 -v -0.000000 0.374464 0.126250 -v 0.126250 0.000000 -0.000000 -v 0.126250 0.187232 0.126250 -v -0.126250 0.374464 -0.000000 -v -0.000000 0.000000 -0.126250 -v 0.126250 0.374464 -0.000000 -v -0.126250 0.187232 -0.000000 -v 0.126250 0.187232 -0.000000 -v -0.000000 0.187232 -0.126250 -v -0.000000 0.374464 -0.126250 -vt 0.218750 0.468750 -vt 0.218750 0.375000 -vt 0.281250 0.375000 -vt 0.281250 0.468750 -vt 0.343750 0.468750 -vt 0.343750 0.562500 -vt 0.281250 0.562500 -vt 0.093750 0.468750 -vt 0.031250 0.468750 -vt 0.031250 0.375000 -vt 0.093750 0.375000 -vt 0.406250 0.468750 -vt 0.406250 0.562500 -vt 0.531250 0.468750 -vt 0.468750 0.468750 -vt 0.468750 0.375000 -vt 0.531250 0.375000 -vt 0.218750 0.562500 -vt 0.343750 0.375000 -vt 0.406250 0.375000 -vt 0.468750 0.562500 -vt 0.156250 0.468750 -vt 0.156250 0.375000 -vt 0.531250 0.562500 -vt 0.156250 0.562500 -vt 0.093750 0.562500 -vt 0.031250 0.562500 -vn -0.000000 -0.000000 1.000000 -vn 1.000000 -0.000000 0.000000 -vn 0.000000 0.000000 -1.000000 -vn -1.000000 0.000000 -0.000000 -usemtl None -s off -f 11/1/1 15/2/1 4/3/1 12/4/1 -f 9/4/2 22/5/2 16/6/2 6/7/2 -f 23/8/3 14/9/3 8/10/3 24/11/3 -f 22/5/2 17/12/2 2/13/2 16/6/2 -f 12/14/4 21/15/4 10/16/4 1/17/4 -f 13/18/1 11/1/1 12/4/1 1/7/1 -f 20/19/2 3/20/2 17/12/2 22/5/2 -f 18/21/4 8/13/4 14/12/4 21/15/4 -f 17/22/1 3/23/1 15/2/1 11/1/1 -f 4/24/4 18/21/4 21/15/4 12/14/4 -f 21/15/4 14/12/4 5/20/4 10/16/4 -f 6/25/3 19/26/3 23/8/3 9/22/3 -f 9/22/3 23/8/3 24/11/3 7/23/3 -f 2/25/1 17/22/1 11/1/1 13/18/1 -f 19/26/3 5/27/3 14/9/3 23/8/3 -f 7/3/2 20/19/2 22/5/2 9/4/2 -g up -v -0.126250 1.000000 -0.126250 -v 0.126250 1.000000 -0.126250 -v 0.126250 0.626964 -0.126250 -v -0.126250 0.626964 -0.126250 -v -0.126250 1.000000 0.126250 -v 0.126250 1.000000 0.126250 -v 0.126250 0.626964 0.126250 -v -0.126250 0.626964 0.126250 -v -0.126250 0.813482 -0.126250 -v -0.126250 1.000000 -0.000000 -v -0.126250 0.813482 0.126250 -v 0.000000 0.626964 -0.126250 -v -0.000000 1.000000 -0.126250 -v -0.126250 0.626964 -0.000000 -v -0.000000 0.626964 0.126250 -v 0.126250 0.813482 -0.126250 -v 0.126250 0.813482 -0.000000 -v -0.126250 0.813482 -0.000000 -v 0.126250 1.000000 -0.000000 -v 0.126250 0.626964 -0.000000 -v 0.126250 0.813482 0.126250 -v -0.000000 0.813482 0.126250 -v -0.000000 0.813482 -0.126250 -v -0.000000 1.000000 0.126250 -vt 0.406250 0.468750 -vt 0.406250 0.562500 -vt 0.343750 0.562500 -vt 0.343750 0.468750 -vt 0.156250 0.468750 -vt 0.156250 0.562500 -vt 0.093750 0.562500 -vt 0.093750 0.468750 -vt 0.406250 0.375000 -vt 0.343750 0.375000 -vt 0.468750 0.468750 -vt 0.468750 0.562500 -vt 0.218750 0.468750 -vt 0.218750 0.375000 -vt 0.281250 0.375000 -vt 0.281250 0.468750 -vt 0.031250 0.562500 -vt 0.031250 0.468750 -vt 0.468750 0.375000 -vt 0.531250 0.468750 -vt 0.531250 0.562500 -vt 0.156250 0.375000 -vt 0.218750 0.562500 -vt 0.281250 0.562500 -vt 0.531250 0.375000 -vt 0.093750 0.375000 -vt 0.031250 0.375000 -usemtl None -s off -f 40/28/2 26/29/2 43/30/2 41/31/2 -f 45/32/1 30/33/1 48/34/1 46/35/1 -f 27/36/2 40/28/2 41/31/2 44/37/2 -f 35/28/4 42/38/4 38/39/4 32/29/4 -f 47/40/3 36/41/3 28/42/3 33/43/3 -f 46/35/1 48/34/1 29/44/1 35/45/1 -f 29/36/4 34/46/4 42/38/4 35/28/4 -f 42/38/4 33/47/4 28/48/4 38/39/4 -f 40/32/3 27/49/3 36/41/3 47/40/3 -f 37/50/3 47/40/3 33/43/3 25/51/3 -f 44/37/2 41/31/2 45/43/2 31/42/2 -f 34/46/4 25/52/4 33/47/4 42/38/4 -f 26/33/3 40/32/3 47/40/3 37/50/3 -f 39/53/1 46/35/1 35/45/1 32/54/1 -f 31/49/1 45/32/1 46/35/1 39/53/1 -f 41/31/2 43/30/2 30/51/2 45/43/2 -g west -v 0.500000 0.374464 -0.126250 -v 0.500000 0.374464 0.126250 -v 0.126250 0.374464 0.126250 -v 0.126250 0.374464 -0.126250 -v 0.500000 0.626964 -0.126250 -v 0.500000 0.626964 0.126250 -v 0.126250 0.626964 0.126250 -v 0.126250 0.626964 -0.126250 -v 0.126250 0.626964 0.000000 -v 0.313125 0.374464 0.126250 -v 0.126250 0.500714 0.126250 -v 0.313125 0.374464 0.000000 -v 0.313125 0.626964 0.126250 -v 0.500000 0.500714 -0.126250 -v 0.313125 0.626964 0.000000 -v 0.313125 0.500714 -0.126250 -v 0.500000 0.374464 0.000000 -v 0.500000 0.500714 0.126250 -v 0.313125 0.500714 0.126250 -v 0.313125 0.626964 -0.126250 -v 0.500000 0.626964 0.000000 -v 0.313125 0.374464 -0.126250 -v 0.126250 0.374464 0.000000 -v 0.126250 0.500714 -0.126250 -vt 0.406250 0.468750 -vt 0.343750 0.468750 -vt 0.343750 0.375000 -vt 0.406250 0.375000 -vt 0.218750 0.562500 -vt 0.156250 0.562500 -vt 0.156250 0.468750 -vt 0.218750 0.468750 -vt 0.406250 0.562500 -vt 0.343750 0.562500 -vt 0.281250 0.468750 -vt 0.281250 0.375000 -vt 0.281250 0.562500 -vt 0.468750 0.375000 -vt 0.531250 0.375000 -vt 0.531250 0.468750 -vt 0.468750 0.468750 -vt 0.468750 0.562500 -vt 0.093750 0.562500 -vt 0.093750 0.468750 -vt 0.531250 0.562500 -vt 0.093750 0.375000 -vt 0.031250 0.468750 -vt 0.031250 0.375000 -vt 0.031250 0.562500 -vt 0.218750 0.375000 -vt 0.156250 0.375000 -vn 0.000000 -1.000000 0.000000 -vn 0.000000 1.000000 -0.000000 -usemtl None -s off -f 58/55/1 67/56/1 59/57/1 51/58/1 -f 65/59/5 50/60/5 58/61/5 60/62/5 -f 50/63/1 66/64/1 67/56/1 58/55/1 -f 67/56/1 61/65/1 55/66/1 59/57/1 -f 66/64/1 54/67/1 61/65/1 67/56/1 -f 62/68/3 49/69/3 70/70/3 64/71/3 -f 68/55/3 64/71/3 72/72/3 56/63/3 -f 53/58/3 62/68/3 64/71/3 68/55/3 -f 61/61/6 54/60/6 69/73/6 63/74/6 -f 49/67/5 65/59/5 60/62/5 70/65/5 -f 64/71/3 70/70/3 52/75/3 72/72/3 -f 57/76/6 63/74/6 68/77/6 56/78/6 -f 63/74/6 69/73/6 53/79/6 68/77/6 -f 70/65/5 60/62/5 71/80/5 52/66/5 -f 60/62/5 58/61/5 51/81/5 71/80/5 -f 55/81/6 61/61/6 63/74/6 57/76/6 -g east -v -0.500000 0.374460 0.126250 -v -0.500000 0.374460 -0.126250 -v -0.126250 0.374464 -0.126250 -v -0.126250 0.374464 0.126250 -v -0.500000 0.626960 0.126250 -v -0.500000 0.626960 -0.126250 -v -0.126250 0.626964 -0.126250 -v -0.126250 0.626964 0.126250 -v -0.313125 0.374462 0.126250 -v -0.126250 0.500714 -0.126250 -v -0.313125 0.626962 0.126250 -v -0.313125 0.626962 -0.126250 -v -0.500000 0.500710 0.126250 -v -0.126250 0.374464 -0.000000 -v -0.126250 0.500714 0.126250 -v -0.500000 0.374460 -0.000000 -v -0.500000 0.500710 -0.126250 -v -0.313125 0.626962 -0.000000 -v -0.126250 0.626964 -0.000000 -v -0.313125 0.374462 -0.000000 -v -0.313125 0.500712 0.126250 -v -0.313125 0.500712 -0.126250 -v -0.313125 0.374462 -0.126250 -v -0.500000 0.626960 -0.000000 -vt 0.281250 0.562500 -vt 0.281250 0.468750 -vt 0.343750 0.468750 -vt 0.343750 0.562500 -vt 0.031250 0.468750 -vt 0.093750 0.468750 -vt 0.093750 0.562500 -vt 0.031250 0.562500 -vt 0.218750 0.562500 -vt 0.156250 0.562500 -vt 0.156250 0.468750 -vt 0.218750 0.468750 -vt 0.343750 0.375000 -vt 0.406250 0.375000 -vt 0.406250 0.468750 -vt 0.468750 0.468750 -vt 0.468750 0.375000 -vt 0.531250 0.375000 -vt 0.531250 0.468750 -vt 0.218750 0.375000 -vt 0.281250 0.375000 -vt 0.468750 0.562500 -vt 0.531250 0.562500 -vt 0.156250 0.375000 -vt 0.406250 0.562500 -vt 0.093750 0.375000 -vt 0.031250 0.375000 -vn -0.000011 1.000000 -0.000000 -vn 0.000011 -1.000000 0.000000 -vn 0.000012 -1.000000 0.000000 -usemtl None -s off -f 78/82/3 84/83/3 94/84/3 89/85/3 -f 83/86/7 90/87/7 96/88/7 77/89/7 -f 88/90/8 74/91/8 95/92/8 92/93/8 -f 94/84/3 82/94/3 75/95/3 95/96/3 -f 93/97/1 85/98/1 73/99/1 81/100/1 -f 81/83/9 92/93/9 86/101/9 76/102/9 -f 84/83/3 79/102/3 82/94/3 94/84/3 -f 87/103/1 93/97/1 81/100/1 76/104/1 -f 83/96/1 77/95/1 85/98/1 93/97/1 -f 92/93/9 95/92/9 75/105/9 86/101/9 -f 80/106/1 83/96/1 93/97/1 87/103/1 -f 73/82/8 88/90/8 92/93/8 81/83/8 -f 90/87/7 84/92/7 78/91/7 96/88/7 -f 91/107/7 79/105/7 84/92/7 90/87/7 -f 80/108/7 91/107/7 90/87/7 83/86/7 -f 89/85/3 94/84/3 95/96/3 74/106/3 -g north -v -0.126250 0.374464 -0.500000 -v 0.126250 0.374464 -0.500000 -v 0.126250 0.374464 -0.126250 -v -0.126250 0.374464 -0.126250 -v -0.126250 0.626964 -0.500000 -v 0.126250 0.626964 -0.500000 -v 0.126250 0.626964 -0.126250 -v -0.126250 0.626964 -0.126250 -v 0.000000 0.626964 -0.500000 -v 0.126250 0.500714 -0.500000 -v 0.000000 0.374464 -0.500000 -v -0.126250 0.500714 -0.500000 -v 0.126250 0.626964 -0.313125 -v 0.126250 0.500714 -0.126250 -v 0.126250 0.374464 -0.313125 -v 0.000000 0.626964 -0.126250 -v -0.126250 0.500714 -0.126250 -v 0.000000 0.374464 -0.126250 -v -0.126250 0.626964 -0.313125 -v -0.126250 0.374464 -0.313125 -v 0.126250 0.500714 -0.313125 -v -0.126250 0.500714 -0.313125 -v 0.000000 0.374464 -0.313125 -v 0.000000 0.626964 -0.313125 -vt 0.343750 0.468750 -vt 0.343750 0.375000 -vt 0.406250 0.375000 -vt 0.406250 0.468750 -vt 0.468750 0.468750 -vt 0.468750 0.375000 -vt 0.531250 0.375000 -vt 0.531250 0.468750 -vt 0.218750 0.468750 -vt 0.156250 0.468750 -vt 0.156250 0.375000 -vt 0.218750 0.375000 -vt 0.093750 0.468750 -vt 0.156250 0.562500 -vt 0.093750 0.562500 -vt 0.343750 0.562500 -vt 0.406250 0.562500 -vt 0.281250 0.562500 -vt 0.281250 0.468750 -vt 0.281250 0.375000 -vt 0.468750 0.562500 -vt 0.531250 0.562500 -vt 0.218750 0.562500 -vt 0.031250 0.468750 -vt 0.031250 0.562500 -vt 0.031250 0.375000 -vt 0.093750 0.375000 -usemtl None -s off -f 117/109/2 110/110/2 99/111/2 111/112/2 -f 118/113/4 108/114/4 97/115/4 116/116/4 -f 119/117/5 111/118/5 99/119/5 114/120/5 -f 120/121/6 109/118/6 102/122/6 105/123/6 -f 106/124/2 117/109/2 111/112/2 98/125/2 -f 102/126/2 109/127/2 117/109/2 106/124/2 -f 109/127/2 103/128/2 110/110/2 117/109/2 -f 113/129/4 118/113/4 116/116/4 100/130/4 -f 104/125/4 115/112/4 118/113/4 113/129/4 -f 115/112/4 101/111/4 108/114/4 118/113/4 -f 116/127/5 119/117/5 114/120/5 100/128/5 -f 97/126/5 107/131/5 119/117/5 116/127/5 -f 107/131/5 98/122/5 111/118/5 119/117/5 -f 115/132/6 120/121/6 105/123/6 101/133/6 -f 104/134/6 112/135/6 120/121/6 115/132/6 -f 112/135/6 103/119/6 109/118/6 120/121/6 -g south -v 0.126250 0.374464 0.500000 -v -0.126250 0.374464 0.500000 -v -0.126250 0.374464 0.126250 -v 0.126250 0.374464 0.126250 -v 0.126250 0.626964 0.500000 -v -0.126250 0.626964 0.500000 -v -0.126250 0.626964 0.126250 -v 0.126250 0.626964 0.126250 -v -0.000000 0.626964 0.500000 -v -0.126250 0.500714 0.500000 -v -0.000000 0.374464 0.500000 -v 0.126250 0.500714 0.500000 -v -0.126250 0.626964 0.313125 -v -0.126250 0.500714 0.126250 -v -0.126250 0.374464 0.313125 -v -0.000000 0.626964 0.126250 -v 0.126250 0.500714 0.126250 -v -0.000000 0.374464 0.126250 -v 0.126250 0.626964 0.313125 -v 0.126250 0.374464 0.313125 -v -0.126250 0.500714 0.313125 -v 0.126250 0.500714 0.313125 -v -0.000000 0.374464 0.313125 -v -0.000000 0.626964 0.313125 -vt 0.343750 0.468750 -vt 0.343750 0.375000 -vt 0.406250 0.375000 -vt 0.406250 0.468750 -vt 0.468750 0.468750 -vt 0.468750 0.375000 -vt 0.531250 0.375000 -vt 0.531250 0.468750 -vt 0.218750 0.468750 -vt 0.156250 0.468750 -vt 0.156250 0.375000 -vt 0.218750 0.375000 -vt 0.093750 0.468750 -vt 0.156250 0.562500 -vt 0.093750 0.562500 -vt 0.343750 0.562500 -vt 0.406250 0.562500 -vt 0.281250 0.562500 -vt 0.281250 0.468750 -vt 0.281250 0.375000 -vt 0.468750 0.562500 -vt 0.531250 0.562500 -vt 0.218750 0.562500 -vt 0.031250 0.468750 -vt 0.031250 0.562500 -vt 0.031250 0.375000 -vt 0.093750 0.375000 -usemtl None -s off -f 141/136/4 134/137/4 123/138/4 135/139/4 -f 142/140/2 132/141/2 121/142/2 140/143/2 -f 143/144/5 135/145/5 123/146/5 138/147/5 -f 144/148/6 133/145/6 126/149/6 129/150/6 -f 130/151/4 141/136/4 135/139/4 122/152/4 -f 126/153/4 133/154/4 141/136/4 130/151/4 -f 133/154/4 127/155/4 134/137/4 141/136/4 -f 137/156/2 142/140/2 140/143/2 124/157/2 -f 128/152/2 139/139/2 142/140/2 137/156/2 -f 139/139/2 125/138/2 132/141/2 142/140/2 -f 140/154/5 143/144/5 138/147/5 124/155/5 -f 121/153/5 131/158/5 143/144/5 140/154/5 -f 131/158/5 122/149/5 135/145/5 143/144/5 -f 139/159/6 144/148/6 129/150/6 125/160/6 -f 128/161/6 136/162/6 144/148/6 139/159/6 -f 136/162/6 127/146/6 133/145/6 144/148/6 -g center -v -0.126250 0.374464 0.126250 -v -0.126250 0.374464 -0.126250 -v 0.126250 0.374464 -0.126250 -v 0.126250 0.374464 0.126250 -v -0.126250 0.626964 0.126250 -v -0.126250 0.626964 -0.126250 -v 0.126250 0.626964 -0.126250 -v 0.126250 0.626964 0.126250 -v -0.126250 0.626964 0.000000 -v -0.126250 0.500714 -0.126250 -v -0.126250 0.374464 0.000000 -v -0.126250 0.500714 0.126250 -v 0.000000 0.626964 -0.126250 -v 0.126250 0.500714 -0.126250 -v 0.000000 0.374464 -0.126250 -v 0.126250 0.626964 0.000000 -v 0.126250 0.500714 0.126250 -v 0.126250 0.374464 0.000000 -v 0.000000 0.626964 0.126250 -v 0.000000 0.374464 0.126250 -v -0.126250 0.500714 0.000000 -v 0.000000 0.500714 -0.126250 -v 0.126250 0.500714 0.000000 -v 0.000000 0.500714 0.126250 -v 0.000000 0.374464 0.000000 -v 0.000000 0.626964 0.000000 -vt 0.218750 0.781250 -vt 0.156250 0.781250 -vt 0.156250 0.718750 -vt 0.218750 0.718750 -vt 0.468750 0.781250 -vt 0.468750 0.718750 -vt 0.531250 0.718750 -vt 0.531250 0.781250 -vt 0.093750 0.781250 -vt 0.031250 0.781250 -vt 0.031250 0.718750 -vt 0.093750 0.718750 -vt 0.343750 0.781250 -vt 0.343750 0.718750 -vt 0.406250 0.718750 -vt 0.406250 0.781250 -vt 0.343750 0.906250 -vt 0.281250 0.906250 -vt 0.281250 0.843750 -vt 0.343750 0.843750 -vt 0.218750 0.906250 -vt 0.281250 0.968750 -vt 0.218750 0.968750 -vt 0.281250 0.781250 -vt 0.281250 0.718750 -vt 0.218750 0.843750 -vt 0.156250 0.843750 -vt 0.468750 0.843750 -vt 0.531250 0.843750 -vt 0.406250 0.843750 -vt 0.093750 0.843750 -vt 0.031250 0.843750 -vt 0.406250 0.906250 -vt 0.406250 0.968750 -vt 0.343750 0.968750 -vt 0.156250 0.906250 -vt 0.156250 0.968750 -usemtl None_Wire -s off -f 165/163/4 154/164/4 146/165/4 155/166/4 -f 166/167/3 158/168/3 147/169/3 159/170/3 -f 167/171/2 161/172/2 148/173/2 162/174/2 -f 168/175/1 156/176/1 145/177/1 164/178/1 -f 169/179/5 159/180/5 147/181/5 162/182/5 -f 170/183/6 157/180/6 150/184/6 153/185/6 -f 156/186/4 165/163/4 155/166/4 145/187/4 -f 149/181/4 153/188/4 165/163/4 156/186/4 -f 153/188/4 150/189/4 154/164/4 165/163/4 -f 154/190/3 166/167/3 159/170/3 146/191/3 -f 150/192/3 157/178/3 166/167/3 154/190/3 -f 157/178/3 151/177/3 158/168/3 166/167/3 -f 158/164/2 167/171/2 162/174/2 147/165/2 -f 151/189/2 160/193/2 167/171/2 158/164/2 -f 160/193/2 152/194/2 161/172/2 167/171/2 -f 161/182/1 168/175/1 164/178/1 148/192/1 -f 152/181/1 163/186/1 168/175/1 161/182/1 -f 163/186/1 149/187/1 156/176/1 168/175/1 -f 164/195/5 169/179/5 162/182/5 148/192/5 -f 145/196/5 155/197/5 169/179/5 164/195/5 -f 155/197/5 146/184/5 159/180/5 169/179/5 -f 163/198/6 170/183/6 153/185/6 149/199/6 -f 152/189/6 160/188/6 170/183/6 163/198/6 -f 160/188/6 151/181/6 157/180/6 170/183/6 diff --git a/resources/assets/mekanism/textures/blocks/AluminumWire.png b/resources/assets/mekanism/textures/blocks/AluminumWire.png deleted file mode 100644 index 503fdb1af..000000000 Binary files a/resources/assets/mekanism/textures/blocks/AluminumWire.png and /dev/null differ diff --git a/resources/assets/mekanism/textures/blocks/CopperWire.png b/resources/assets/mekanism/textures/blocks/CopperWire.png deleted file mode 100644 index 7e414b521..000000000 Binary files a/resources/assets/mekanism/textures/blocks/CopperWire.png and /dev/null differ diff --git a/resources/assets/mekanism/textures/blocks/IronWire.png b/resources/assets/mekanism/textures/blocks/IronWire.png deleted file mode 100644 index 075c52e7c..000000000 Binary files a/resources/assets/mekanism/textures/blocks/IronWire.png and /dev/null differ diff --git a/resources/assets/mekanism/textures/blocks/SilverWire.png b/resources/assets/mekanism/textures/blocks/SilverWire.png deleted file mode 100644 index 43a7598ea..000000000 Binary files a/resources/assets/mekanism/textures/blocks/SilverWire.png and /dev/null differ diff --git a/resources/assets/mekanism/textures/blocks/TinWire.png b/resources/assets/mekanism/textures/blocks/TinWire.png deleted file mode 100644 index 654dccfcd..000000000 Binary files a/resources/assets/mekanism/textures/blocks/TinWire.png and /dev/null differ diff --git a/resources/assets/mekanism/textures/blocks/render/Insulation.png b/resources/assets/mekanism/textures/blocks/render/Insulation.png deleted file mode 100644 index 2e57472f4..000000000 Binary files a/resources/assets/mekanism/textures/blocks/render/Insulation.png and /dev/null differ diff --git a/resources/assets/mekanism/textures/blocks/render/InsulationSimple.png b/resources/assets/mekanism/textures/blocks/render/InsulationSimple.png deleted file mode 100644 index 68b25d7eb..000000000 Binary files a/resources/assets/mekanism/textures/blocks/render/InsulationSimple.png and /dev/null differ diff --git a/resources/assets/mekanism/textures/blocks/render/InsulationTiny.png b/resources/assets/mekanism/textures/blocks/render/InsulationTiny.png deleted file mode 100644 index ca3dbc44d..000000000 Binary files a/resources/assets/mekanism/textures/blocks/render/InsulationTiny.png and /dev/null differ diff --git a/resources/assets/mekanism/textures/blocks/render/Wire.png b/resources/assets/mekanism/textures/blocks/render/Wire.png deleted file mode 100644 index 1244ffb74..000000000 Binary files a/resources/assets/mekanism/textures/blocks/render/Wire.png and /dev/null differ diff --git a/resources/assets/mekanism/textures/blocks/render/WireSimple.png b/resources/assets/mekanism/textures/blocks/render/WireSimple.png deleted file mode 100644 index 645ba053b..000000000 Binary files a/resources/assets/mekanism/textures/blocks/render/WireSimple.png and /dev/null differ diff --git a/resources/assets/mekanism/textures/blocks/wire.png b/resources/assets/mekanism/textures/blocks/wire.png deleted file mode 100644 index bd54ce5c5..000000000 Binary files a/resources/assets/mekanism/textures/blocks/wire.png and /dev/null differ