diff --git a/src/main/java/api/hbm/energy/IEnergyConnector.java b/src/main/java/api/hbm/energy/IEnergyConnector.java index 91cf47003..6de484448 100644 --- a/src/main/java/api/hbm/energy/IEnergyConnector.java +++ b/src/main/java/api/hbm/energy/IEnergyConnector.java @@ -1,5 +1,6 @@ package api.hbm.energy; +import com.hbm.blocks.ModBlocks; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; @@ -51,15 +52,17 @@ public interface IEnergyConnector { * @param y * @param z */ - public default void trySubscribe(World world, int x, int y, int z) { + public default void trySubscribe(World world, int x, int y, int z, ForgeDirection dir) { TileEntity te = world.getTileEntity(x, y, z); boolean red = false; - if(te instanceof IEnergyConductor) { IEnergyConductor con = (IEnergyConductor) te; + if(!con.canConnect(dir.getOpposite().getOpposite())) + return; + if(con.getPowerNet() != null && !con.getPowerNet().isSubscribed(this)) con.getPowerNet().subscribe(this); @@ -67,11 +70,14 @@ public interface IEnergyConnector { red = true; } - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "vanillaExt"); - data.setString("mode", red ? "reddust" : "bluedust"); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, x + world.rand.nextDouble(), y + world.rand.nextDouble(), z + world.rand.nextDouble()), new TargetPoint(world.provider.dimensionId, x + 0.5, y + 0.5, z + 0.5, 25)); + if(particleDebug) { + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "vanillaExt"); + data.setString("mode", red ? "reddust" : "bluedust"); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, x + world.rand.nextDouble(), y + world.rand.nextDouble(), z + world.rand.nextDouble()), new TargetPoint(world.provider.dimensionId, x + 0.5, y + 0.5, z + 0.5, 25)); + } } + public default void tryUnsubscribe(World world, int x, int y, int z) { TileEntity te = world.getTileEntity(x, y, z); @@ -83,4 +89,6 @@ public interface IEnergyConnector { con.getPowerNet().unsubscribe(this); } } + + public static final boolean particleDebug = false; } diff --git a/src/main/java/api/hbm/energy/IEnergyUser.java b/src/main/java/api/hbm/energy/IEnergyUser.java index 7736c934a..cc648fea3 100644 --- a/src/main/java/api/hbm/energy/IEnergyUser.java +++ b/src/main/java/api/hbm/energy/IEnergyUser.java @@ -68,7 +68,7 @@ public interface IEnergyUser extends IEnergyConnector { if(te instanceof IEnergyConnector) { IEnergyConnector con = (IEnergyConnector) te; - if(con.canConnect(dir)) { + if(con.canConnect(dir.getOpposite())) { long oldPower = this.getPower(); long transfer = oldPower - con.transferPower(oldPower); this.setPower(oldPower - transfer); @@ -85,15 +85,17 @@ public interface IEnergyUser extends IEnergyConnector { } } - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "vanillaExt"); - data.setString("mode", red ? "reddust" : "greendust"); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, x + world.rand.nextDouble(), y + world.rand.nextDouble(), z + world.rand.nextDouble()), new TargetPoint(world.provider.dimensionId, x + 0.5, y + 0.5, z + 0.5, 25)); + if(particleDebug) { + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "vanillaExt"); + data.setString("mode", red ? "reddust" : "greendust"); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, x + world.rand.nextDouble(), y + world.rand.nextDouble(), z + world.rand.nextDouble()), new TargetPoint(world.provider.dimensionId, x + 0.5, y + 0.5, z + 0.5, 25)); + } } public default void updateStandardConnections(World world, int x, int y, int z) { for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) - this.trySubscribe(world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); + this.trySubscribe(world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, dir); } } diff --git a/src/main/java/com/hbm/blocks/network/BlockCable.java b/src/main/java/com/hbm/blocks/network/BlockCable.java index 3935fad77..85a55ff90 100644 --- a/src/main/java/com/hbm/blocks/network/BlockCable.java +++ b/src/main/java/com/hbm/blocks/network/BlockCable.java @@ -1,15 +1,11 @@ package com.hbm.blocks.network; -import java.util.List; - import com.hbm.blocks.test.TestConductor; import com.hbm.lib.Library; import com.hbm.tileentity.network.TileEntityCableBaseNT; -import cpw.mods.fml.client.registry.RenderingRegistry; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; -import net.minecraft.entity.Entity; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.IBlockAccess; @@ -44,12 +40,12 @@ public class BlockCable extends BlockContainer { @Override public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { - boolean posX = Library.canConnect(world, x + 1, y, z, Library.POS_X); - boolean negX = Library.canConnect(world, x - 1, y, z, Library.NEG_X); - boolean posY = Library.canConnect(world, x, y + 1, z, Library.POS_Y); - boolean negY = Library.canConnect(world, x, y - 1, z, Library.NEG_Y); - boolean posZ = Library.canConnect(world, x, y, z + 1, Library.POS_Z); - boolean negZ = Library.canConnect(world, x, y, z - 1, Library.NEG_Z); + boolean posX = Library.canConnect(world, x + 1, y, z, Library.NEG_X); + boolean negX = Library.canConnect(world, x - 1, y, z, Library.POS_X); + boolean posY = Library.canConnect(world, x, y + 1, z, Library.NEG_Y); + boolean negY = Library.canConnect(world, x, y - 1, z, Library.POS_Y); + boolean posZ = Library.canConnect(world, x, y, z + 1, Library.NEG_Z); + boolean negZ = Library.canConnect(world, x, y, z - 1, Library.POS_Z); setBlockBounds(posX, negX, posY, negY, posZ, negZ); @@ -59,12 +55,12 @@ public class BlockCable extends BlockContainer { @Override public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { - boolean posX = Library.canConnect(world, x + 1, y, z, Library.POS_X); - boolean negX = Library.canConnect(world, x - 1, y, z, Library.NEG_X); - boolean posY = Library.canConnect(world, x, y + 1, z, Library.POS_Y); - boolean negY = Library.canConnect(world, x, y - 1, z, Library.NEG_Y); - boolean posZ = Library.canConnect(world, x, y, z + 1, Library.POS_Z); - boolean negZ = Library.canConnect(world, x, y, z - 1, Library.NEG_Z); + boolean posX = Library.canConnect(world, x + 1, y, z, Library.NEG_X); + boolean negX = Library.canConnect(world, x - 1, y, z, Library.POS_X); + boolean posY = Library.canConnect(world, x, y + 1, z, Library.NEG_Y); + boolean negY = Library.canConnect(world, x, y - 1, z, Library.POS_Y); + boolean posZ = Library.canConnect(world, x, y, z + 1, Library.NEG_Z); + boolean negZ = Library.canConnect(world, x, y, z - 1, Library.POS_Z); setBlockBounds(posX, negX, posY, negY, posZ, negZ); } diff --git a/src/main/java/com/hbm/blocks/network/ConnectorRedWire.java b/src/main/java/com/hbm/blocks/network/ConnectorRedWire.java index 4c74eb4e5..25c67c0fa 100644 --- a/src/main/java/com/hbm/blocks/network/ConnectorRedWire.java +++ b/src/main/java/com/hbm/blocks/network/ConnectorRedWire.java @@ -1,10 +1,14 @@ package com.hbm.blocks.network; +import com.hbm.lib.Library; import com.hbm.tileentity.network.TileEntityConnector; import net.minecraft.block.material.Material; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; public class ConnectorRedWire extends PylonBase { @@ -21,4 +25,33 @@ public class ConnectorRedWire extends PylonBase { public int onBlockPlaced(World world, int x, int y, int z, int side, float fX, float fY, float fZ, int meta) { return side; } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + setBlockBounds(world.getBlockMetadata(x, y, z)); + return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); + } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { + setBlockBounds(world.getBlockMetadata(x, y, z)); + } + + private void setBlockBounds(int meta) { + + float pixel = 0.0625F; + float min = pixel * 5F; + float max = pixel * 11F; + + ForgeDirection dir = ForgeDirection.getOrientation(meta).getOpposite(); + + float minX = dir == Library.NEG_X ? 0F : min; + float maxX = dir == Library.POS_X ? 1F : max; + float minY = dir == Library.NEG_Y ? 0F : min; + float maxY = dir == Library.POS_Y ? 1F : max; + float minZ = dir == Library.NEG_Z ? 0F : min; + float maxZ = dir == Library.POS_Z ? 1F : max; + + this.setBlockBounds(minX, minY, minZ, maxX, maxY, maxZ); + } } diff --git a/src/main/java/com/hbm/items/tool/ItemWandD.java b/src/main/java/com/hbm/items/tool/ItemWandD.java index 409707f0b..c5dda07d3 100644 --- a/src/main/java/com/hbm/items/tool/ItemWandD.java +++ b/src/main/java/com/hbm/items/tool/ItemWandD.java @@ -9,9 +9,12 @@ import com.hbm.world.dungeon.Bunker; import com.hbm.world.dungeon.Relay; import com.hbm.world.generator.CellularDungeonFactory; +import api.hbm.energy.IEnergyConductor; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ChatComponentText; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; @@ -32,11 +35,17 @@ public class ItemWandD extends Item { //int y = world.getHeightValue(x, z); int y = pos.blockY; + TileEntity te = world.getTileEntity(x, y, z); + if(te instanceof IEnergyConductor) { + IEnergyConductor con = (IEnergyConductor) te; + player.addChatComponentMessage(new ChatComponentText("" + con.getPowerNet())); + } + //CellularDungeonFactory.meteor.generate(world, x, y, z, world.rand); - int r = 5; + /*int r = 5; - /*for(int i = x - r; i <= x + r; i++) { + for(int i = x - r; i <= x + r; i++) { for(int j = y - r; j <= y + r; j++) { for(int k = z - r; k <= z + r; k++) { @@ -46,7 +55,7 @@ public class ItemWandD extends Item { } }*/ - new Bunker().generate(world, world.rand, x, y, z); + //new Bunker().generate(world, world.rand, x, y, z); /*EntityBlockSpider spider = new EntityBlockSpider(world); spider.setPosition(x + 0.5, y, z + 0.5); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index b90b64bb2..f392bdb6f 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -271,6 +271,9 @@ public class ResourceManager { //Belt public static final IModelCustom arrow = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/arrow.obj")); + //Network + public static final IModelCustom connector = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/network/connector.obj")); + ////Textures TEs public static final ResourceLocation universal = new ResourceLocation(RefStrings.MODID, "textures/models/TheGadget3_.png"); @@ -561,6 +564,9 @@ public class ResourceManager { //ZIRNOX public static final ResourceLocation zirnox_tex = new ResourceLocation(RefStrings.MODID, "textures/models/zirnox.png"); public static final ResourceLocation zirnox_destroyed_tex = new ResourceLocation(RefStrings.MODID, "textures/models/zirnox_destroyed.png"); + + //Electricity + public static final ResourceLocation connector_tex = new ResourceLocation(RefStrings.MODID, "textures/models/network/connector.png"); diff --git a/src/main/java/com/hbm/render/block/RenderTestCable.java b/src/main/java/com/hbm/render/block/RenderTestCable.java index bcfb82124..ad4f013ec 100644 --- a/src/main/java/com/hbm/render/block/RenderTestCable.java +++ b/src/main/java/com/hbm/render/block/RenderTestCable.java @@ -60,12 +60,12 @@ public class RenderTestCable implements ISimpleBlockRenderingHandler { tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); tessellator.setColorOpaque_F(1, 1, 1); - boolean pX = Library.canConnect(world, x + 1, y, z, Library.POS_X); - boolean nX = Library.canConnect(world, x - 1, y, z, Library.NEG_X); - boolean pY = Library.canConnect(world, x, y + 1, z, Library.POS_Y); - boolean nY = Library.canConnect(world, x, y - 1, z, Library.NEG_Y); - boolean pZ = Library.canConnect(world, x, y, z + 1, Library.POS_Z); - boolean nZ = Library.canConnect(world, x, y, z - 1, Library.NEG_Z); + boolean pX = Library.canConnect(world, x + 1, y, z, Library.NEG_X); + boolean nX = Library.canConnect(world, x - 1, y, z, Library.POS_X); + boolean pY = Library.canConnect(world, x, y + 1, z, Library.NEG_Y); + boolean nY = Library.canConnect(world, x, y - 1, z, Library.POS_Y); + boolean pZ = Library.canConnect(world, x, y, z + 1, Library.NEG_Z); + boolean nZ = Library.canConnect(world, x, y, z - 1, Library.POS_Z); tessellator.addTranslation(x + 0.5F, y + 0.5F, z + 0.5F); diff --git a/src/main/java/com/hbm/render/tileentity/RenderConnector.java b/src/main/java/com/hbm/render/tileentity/RenderConnector.java index 88d6de2ab..bbd6b0c5e 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderConnector.java +++ b/src/main/java/com/hbm/render/tileentity/RenderConnector.java @@ -28,10 +28,8 @@ public class RenderConnector extends RenderPylonBase { GL11.glTranslated(0, -0.5F, 0); - double s = 0.5; - GL11.glScaled(s, s, s); - bindTexture(ResourceManager.universal); - ResourceManager.barrel.renderAll(); + bindTexture(ResourceManager.connector_tex); + ResourceManager.connector.renderAll(); GL11.glPopMatrix(); GL11.glPushMatrix(); diff --git a/src/main/java/com/hbm/render/tileentity/RenderPylonBase.java b/src/main/java/com/hbm/render/tileentity/RenderPylonBase.java index ef4e3111d..fd7233486 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderPylonBase.java +++ b/src/main/java/com/hbm/render/tileentity/RenderPylonBase.java @@ -40,6 +40,7 @@ public abstract class RenderPylonBase extends TileEntitySpecialRenderer { float count = 10; Vec3 delta = Vec3.createVectorHelper(conX1 - conX0, conY1 - conY0, conZ1 - conZ0); + double hang = delta.lengthVector() / 15D; for(float j = 0; j < count; j++) { @@ -47,7 +48,7 @@ public abstract class RenderPylonBase extends TileEntitySpecialRenderer { double ja = j + 0.5D; double ix = conX0 + delta.xCoord / (double)(count * 2) * ja; - double iy = conY0 + delta.yCoord / (double)(count * 2) * ja - Math.sin(j / count * Math.PI * 0.5); + double iy = conY0 + delta.yCoord / (double)(count * 2) * ja - Math.sin(j / count * Math.PI * 0.5) * hang; double iz = conZ0 + delta.zCoord / (double)(count * 2) * ja; //pylon.getWorldObj().spawnParticle("reddust", ix, iy, iz, 0.01 + j * 0.1, 0, 0); @@ -59,10 +60,10 @@ public abstract class RenderPylonBase extends TileEntitySpecialRenderer { drawPowerLine( x + myOffset.xCoord + (wX * j / count), - y + myOffset.yCoord + (wY * j / count) - Math.sin(j / count * Math.PI * 0.5), + y + myOffset.yCoord + (wY * j / count) - Math.sin(j / count * Math.PI * 0.5) * hang, z + myOffset.zCoord + (wZ * j / count), x + myOffset.xCoord + (wX * k / count), - y + myOffset.yCoord + (wY * k / count) - Math.sin(k / count * Math.PI * 0.5), + y + myOffset.yCoord + (wY * k / count) - Math.sin(k / count * Math.PI * 0.5) * hang, z + myOffset.zCoord + (wZ * k / count)); } } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityCompactLauncher.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityCompactLauncher.java index 0d2a6967e..8db572585 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityCompactLauncher.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityCompactLauncher.java @@ -226,18 +226,18 @@ public class TileEntityCompactLauncher extends TileEntity implements ISidedInven } private void updateConnections() { - this.trySubscribe(worldObj, xCoord + 2, yCoord, zCoord + 1); - this.trySubscribe(worldObj, xCoord + 2, yCoord, zCoord - 1); - this.trySubscribe(worldObj, xCoord - 2, yCoord, zCoord + 1); - this.trySubscribe(worldObj, xCoord - 2, yCoord, zCoord - 1); - this.trySubscribe(worldObj, xCoord + 1, yCoord, zCoord + 2); - this.trySubscribe(worldObj, xCoord - 1, yCoord, zCoord + 2); - this.trySubscribe(worldObj, xCoord + 1, yCoord, zCoord - 2); - this.trySubscribe(worldObj, xCoord - 1, yCoord, zCoord - 2); - this.trySubscribe(worldObj, xCoord + 1, yCoord - 1, zCoord + 1); - this.trySubscribe(worldObj, xCoord + 1, yCoord - 1, zCoord - 1); - this.trySubscribe(worldObj, xCoord - 1, yCoord - 1, zCoord + 1); - this.trySubscribe(worldObj, xCoord - 1, yCoord - 1, zCoord - 1); + this.trySubscribe(worldObj, xCoord + 2, yCoord, zCoord + 1, Library.POS_X); + this.trySubscribe(worldObj, xCoord + 2, yCoord, zCoord - 1, Library.POS_X); + this.trySubscribe(worldObj, xCoord - 2, yCoord, zCoord + 1, Library.NEG_X); + this.trySubscribe(worldObj, xCoord - 2, yCoord, zCoord - 1, Library.NEG_X); + this.trySubscribe(worldObj, xCoord + 1, yCoord, zCoord + 2, Library.POS_Z); + this.trySubscribe(worldObj, xCoord - 1, yCoord, zCoord + 2, Library.POS_Z); + this.trySubscribe(worldObj, xCoord + 1, yCoord, zCoord - 2, Library.NEG_Z); + this.trySubscribe(worldObj, xCoord - 1, yCoord, zCoord - 2, Library.NEG_Z); + this.trySubscribe(worldObj, xCoord + 1, yCoord - 1, zCoord + 1, Library.NEG_Y); + this.trySubscribe(worldObj, xCoord + 1, yCoord - 1, zCoord - 1, Library.NEG_Y); + this.trySubscribe(worldObj, xCoord - 1, yCoord - 1, zCoord + 1, Library.NEG_Y); + this.trySubscribe(worldObj, xCoord - 1, yCoord - 1, zCoord - 1, Library.NEG_Y); } public boolean canLaunch() { diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPad.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPad.java index 1d0ec64f9..1182aa426 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPad.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPad.java @@ -200,11 +200,11 @@ public class TileEntityLaunchPad extends TileEntity implements ISidedInventory, } private void updateConnections() { - this.trySubscribe(worldObj, xCoord + 1, yCoord, zCoord); - this.trySubscribe(worldObj, xCoord - 1, yCoord, zCoord); - this.trySubscribe(worldObj, xCoord, yCoord, zCoord + 1); - this.trySubscribe(worldObj, xCoord, yCoord, zCoord - 1); - this.trySubscribe(worldObj, xCoord, yCoord - 1, zCoord); + this.trySubscribe(worldObj, xCoord + 1, yCoord, zCoord, Library.POS_X); + this.trySubscribe(worldObj, xCoord - 1, yCoord, zCoord, Library.NEG_X); + this.trySubscribe(worldObj, xCoord, yCoord, zCoord + 1, Library.POS_Z); + this.trySubscribe(worldObj, xCoord, yCoord, zCoord - 1, Library.NEG_Z); + this.trySubscribe(worldObj, xCoord, yCoord - 1, zCoord, Library.NEG_Y); } @Override diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java index 895ec7d2e..2ffe01b9a 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java @@ -225,10 +225,10 @@ public class TileEntityLaunchTable extends TileEntity implements ISidedInventory private void updateConnections() { for(int i = -4; i <= 4; i++) { - this.trySubscribe(worldObj, xCoord + i, yCoord, zCoord + 5); - this.trySubscribe(worldObj, xCoord + i, yCoord, zCoord - 5); - this.trySubscribe(worldObj, xCoord + 5, yCoord, zCoord + i); - this.trySubscribe(worldObj, xCoord - 5, yCoord, zCoord + i); + this.trySubscribe(worldObj, xCoord + i, yCoord, zCoord + 5, Library.POS_Z); + this.trySubscribe(worldObj, xCoord + i, yCoord, zCoord - 5, Library.NEG_Z); + this.trySubscribe(worldObj, xCoord + 5, yCoord, zCoord + i, Library.POS_X); + this.trySubscribe(worldObj, xCoord - 5, yCoord, zCoord + i, Library.NEG_X); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityConverterHeRf.java b/src/main/java/com/hbm/tileentity/machine/TileEntityConverterHeRf.java index b6a31eefb..12699e113 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityConverterHeRf.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityConverterHeRf.java @@ -35,7 +35,7 @@ public class TileEntityConverterHeRf extends TileEntityMachineBase implements IE if (!worldObj.isRemote) { for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) - this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ); + this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); storage.setCapacity((int)power * 4); storage.setEnergyStored((int)power * 4); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreAdvanced.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreAdvanced.java index d8cdd4e47..959d39a73 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreAdvanced.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreAdvanced.java @@ -15,6 +15,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; public class TileEntityCoreAdvanced extends TileEntity implements ISidedInventory, IFactory, IEnergyUser { @@ -236,12 +237,12 @@ public class TileEntityCoreAdvanced extends TileEntity implements ISidedInventor if(!worldObj.isRemote) { if(worldObj.getBlock(xCoord, yCoord + 1, zCoord) == ModBlocks.factory_advanced_conductor) - this.trySubscribe(worldObj, xCoord, yCoord + 2, zCoord); + this.trySubscribe(worldObj, xCoord, yCoord + 2, zCoord, ForgeDirection.UP); else this.tryUnsubscribe(worldObj, xCoord, yCoord + 2, zCoord); if(worldObj.getBlock(xCoord, yCoord - 1, zCoord) == ModBlocks.factory_advanced_conductor) - this.trySubscribe(worldObj, xCoord, yCoord - 2, zCoord); + this.trySubscribe(worldObj, xCoord, yCoord - 2, zCoord, ForgeDirection.DOWN); else this.tryUnsubscribe(worldObj, xCoord, yCoord - 2, zCoord); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java index fb7fa3cd1..d4d2bb29a 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java @@ -89,7 +89,7 @@ public class TileEntityCoreStabilizer extends TileEntityMachineBase implements I private void updateConnections() { for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) - this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ); + this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); } public void networkUnpack(NBTTagCompound data) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreTitanium.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreTitanium.java index 473dfa92a..d75c780ae 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreTitanium.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreTitanium.java @@ -16,6 +16,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; public class TileEntityCoreTitanium extends TileEntity implements ISidedInventory, IFactory, IEnergyUser { @@ -238,12 +239,12 @@ public class TileEntityCoreTitanium extends TileEntity implements ISidedInventor if(!worldObj.isRemote) { if(worldObj.getBlock(xCoord, yCoord + 1, zCoord) == ModBlocks.factory_titanium_conductor) - this.trySubscribe(worldObj, xCoord, yCoord + 2, zCoord); + this.trySubscribe(worldObj, xCoord, yCoord + 2, zCoord, ForgeDirection.UP); else this.tryUnsubscribe(worldObj, xCoord, yCoord + 2, zCoord); if(worldObj.getBlock(xCoord, yCoord - 1, zCoord) == ModBlocks.factory_titanium_conductor) - this.trySubscribe(worldObj, xCoord, yCoord - 2, zCoord); + this.trySubscribe(worldObj, xCoord, yCoord - 2, zCoord, ForgeDirection.DOWN); else this.tryUnsubscribe(worldObj, xCoord, yCoord - 2, zCoord); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityDeuteriumExtractor.java b/src/main/java/com/hbm/tileentity/machine/TileEntityDeuteriumExtractor.java index 19bdf3ec1..c09ed20aa 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityDeuteriumExtractor.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityDeuteriumExtractor.java @@ -74,7 +74,7 @@ public class TileEntityDeuteriumExtractor extends TileEntityMachineBase implemen protected void updateConnections() { for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) - this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ); + this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); } public void networkUnpack(NBTTagCompound data) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityDeuteriumTower.java b/src/main/java/com/hbm/tileentity/machine/TileEntityDeuteriumTower.java index b8dad4eee..a47dc32e4 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityDeuteriumTower.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityDeuteriumTower.java @@ -84,14 +84,14 @@ public class TileEntityDeuteriumTower extends TileEntityDeuteriumExtractor { offsetZ = dir.offsetZ; } - this.trySubscribe(worldObj, this.xCoord + offsetX * 2, this.yCoord, this.zCoord - offsetZ * 1); - this.trySubscribe(worldObj, this.xCoord + offsetX * 2, this.yCoord, this.zCoord - offsetZ * 0); - this.trySubscribe(worldObj, this.xCoord + offsetX * 1, this.yCoord, this.zCoord - offsetZ * 2); - this.trySubscribe(worldObj, this.xCoord + offsetX * 0, this.yCoord, this.zCoord - offsetZ * 2); - this.trySubscribe(worldObj, this.xCoord + offsetX * 1, this.yCoord, this.zCoord + offsetZ * 1); - this.trySubscribe(worldObj, this.xCoord + offsetX * 0, this.yCoord, this.zCoord + offsetZ * 1); - this.trySubscribe(worldObj, this.xCoord - offsetX * 1, this.yCoord, this.zCoord + offsetZ * 0); - this.trySubscribe(worldObj, this.xCoord - offsetX * 1, this.yCoord, this.zCoord - offsetZ * 1); + this.trySubscribe(worldObj, this.xCoord + offsetX * 2, this.yCoord, this.zCoord - offsetZ * 1, ForgeDirection.UNKNOWN); //TODO: figure this one out without dying + this.trySubscribe(worldObj, this.xCoord + offsetX * 2, this.yCoord, this.zCoord - offsetZ * 0, ForgeDirection.UNKNOWN); + this.trySubscribe(worldObj, this.xCoord + offsetX * 1, this.yCoord, this.zCoord - offsetZ * 2, ForgeDirection.UNKNOWN); + this.trySubscribe(worldObj, this.xCoord + offsetX * 0, this.yCoord, this.zCoord - offsetZ * 2, ForgeDirection.UNKNOWN); + this.trySubscribe(worldObj, this.xCoord + offsetX * 1, this.yCoord, this.zCoord + offsetZ * 1, ForgeDirection.UNKNOWN); + this.trySubscribe(worldObj, this.xCoord + offsetX * 0, this.yCoord, this.zCoord + offsetZ * 1, ForgeDirection.UNKNOWN); + this.trySubscribe(worldObj, this.xCoord - offsetX * 1, this.yCoord, this.zCoord + offsetZ * 0, ForgeDirection.UNKNOWN); + this.trySubscribe(worldObj, this.xCoord - offsetX * 1, this.yCoord, this.zCoord - offsetZ * 1, ForgeDirection.UNKNOWN); } AxisAlignedBB bb = null; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityForceField.java b/src/main/java/com/hbm/tileentity/machine/TileEntityForceField.java index 039f712ff..e62b9862f 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityForceField.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityForceField.java @@ -456,11 +456,11 @@ public class TileEntityForceField extends TileEntity implements ISidedInventory, } private void updateConnections() { - this.trySubscribe(worldObj, xCoord + 1, yCoord, zCoord); - this.trySubscribe(worldObj, xCoord - 1, yCoord, zCoord); - this.trySubscribe(worldObj, xCoord, yCoord, zCoord + 1); - this.trySubscribe(worldObj, xCoord, yCoord, zCoord - 1); - this.trySubscribe(worldObj, xCoord, yCoord - 1, zCoord); + this.trySubscribe(worldObj, xCoord + 1, yCoord, zCoord, Library.POS_X); + this.trySubscribe(worldObj, xCoord - 1, yCoord, zCoord, Library.NEG_X); + this.trySubscribe(worldObj, xCoord, yCoord, zCoord + 1, Library.POS_Z); + this.trySubscribe(worldObj, xCoord, yCoord, zCoord - 1, Library.NEG_Z); + this.trySubscribe(worldObj, xCoord, yCoord - 1, zCoord, Library.NEG_Y); } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHadronPower.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHadronPower.java index dfbb58c77..4a78e1dc3 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHadronPower.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHadronPower.java @@ -21,7 +21,7 @@ public class TileEntityHadronPower extends TileEntity implements IEnergyUser { public void updateEntity() { for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { - this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ); + this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java b/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java index 018ae25ca..0b92ed44d 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java @@ -26,6 +26,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.Vec3; +import net.minecraftforge.common.util.ForgeDirection; public class TileEntityITER extends TileEntityMachineBase implements IEnergyUser, IFluidAcceptor, IFluidSource { @@ -161,8 +162,8 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyUser this.networkPack(data, 250); /// END Notif packets /// - this.trySubscribe(worldObj, xCoord, yCoord + 3, zCoord); - this.trySubscribe(worldObj, xCoord, yCoord - 3, zCoord); + this.trySubscribe(worldObj, xCoord, yCoord + 3, zCoord, ForgeDirection.UP); + this.trySubscribe(worldObj, xCoord, yCoord - 3, zCoord, ForgeDirection.DOWN); } else { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java index 64a8274c9..1f547a8d1 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java @@ -247,28 +247,28 @@ public class TileEntityMachineAssembler extends TileEntityMachineBase implements this.getBlockMetadata(); if(this.blockMetadata == 5) { - this.trySubscribe(worldObj, xCoord - 2, yCoord, zCoord); - this.trySubscribe(worldObj, xCoord - 2, yCoord, zCoord + 1); - this.trySubscribe(worldObj, xCoord + 3, yCoord, zCoord); - this.trySubscribe(worldObj, xCoord + 3, yCoord, zCoord + 1); + this.trySubscribe(worldObj, xCoord - 2, yCoord, zCoord, Library.NEG_X); + this.trySubscribe(worldObj, xCoord - 2, yCoord, zCoord + 1, Library.NEG_X); + this.trySubscribe(worldObj, xCoord + 3, yCoord, zCoord, Library.POS_X); + this.trySubscribe(worldObj, xCoord + 3, yCoord, zCoord + 1, Library.POS_X); } else if(this.blockMetadata == 3) { - this.trySubscribe(worldObj, xCoord, yCoord, zCoord - 2); - this.trySubscribe(worldObj, xCoord - 1, yCoord, zCoord - 2); - this.trySubscribe(worldObj, xCoord, yCoord, zCoord + 3); - this.trySubscribe(worldObj, xCoord - 1, yCoord, zCoord + 3); + this.trySubscribe(worldObj, xCoord, yCoord, zCoord - 2, Library.NEG_Z); + this.trySubscribe(worldObj, xCoord - 1, yCoord, zCoord - 2, Library.NEG_Z); + this.trySubscribe(worldObj, xCoord, yCoord, zCoord + 3, Library.POS_Z); + this.trySubscribe(worldObj, xCoord - 1, yCoord, zCoord + 3, Library.POS_Z); } else if(this.blockMetadata == 4) { - this.trySubscribe(worldObj, xCoord + 2, yCoord, zCoord); - this.trySubscribe(worldObj, xCoord + 2, yCoord, zCoord - 1); - this.trySubscribe(worldObj, xCoord - 3, yCoord, zCoord); - this.trySubscribe(worldObj, xCoord - 3, yCoord, zCoord - 2); + this.trySubscribe(worldObj, xCoord + 2, yCoord, zCoord, Library.POS_X); + this.trySubscribe(worldObj, xCoord + 2, yCoord, zCoord - 1, Library.POS_X); + this.trySubscribe(worldObj, xCoord - 3, yCoord, zCoord, Library.NEG_X); + this.trySubscribe(worldObj, xCoord - 3, yCoord, zCoord - 1, Library.NEG_X); } else if(this.blockMetadata == 2) { - this.trySubscribe(worldObj, xCoord, yCoord, zCoord + 2); - this.trySubscribe(worldObj, xCoord + 1, yCoord, zCoord + 2); - this.trySubscribe(worldObj, xCoord, yCoord, zCoord - 3); - this.trySubscribe(worldObj, xCoord + 1, yCoord, zCoord - 3); + this.trySubscribe(worldObj, xCoord, yCoord, zCoord + 2, Library.POS_Z); + this.trySubscribe(worldObj, xCoord + 1, yCoord, zCoord + 2, Library.POS_Z); + this.trySubscribe(worldObj, xCoord, yCoord, zCoord - 3, Library.NEG_Z); + this.trySubscribe(worldObj, xCoord + 1, yCoord, zCoord - 3, Library.NEG_Z); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoilerElectric.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoilerElectric.java index e7e034d7b..5698c3623 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoilerElectric.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoilerElectric.java @@ -311,7 +311,7 @@ public class TileEntityMachineBoilerElectric extends TileEntity implements ISide private void updateConnections() { for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) - this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ); + this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); } public boolean isItemValid() { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCMBFactory.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCMBFactory.java index e695eaf57..8fcea6b85 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCMBFactory.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCMBFactory.java @@ -313,7 +313,7 @@ public class TileEntityMachineCMBFactory extends TileEntity implements ISidedInv private void updateConnections() { for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) - this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ); + this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java index aa3c97c29..d9ad78194 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java @@ -444,28 +444,28 @@ public class TileEntityMachineChemplant extends TileEntity implements ISidedInve this.getBlockMetadata(); if(this.blockMetadata == 5) { - this.trySubscribe(worldObj, xCoord - 2, yCoord, zCoord); - this.trySubscribe(worldObj, xCoord - 2, yCoord, zCoord + 1); - this.trySubscribe(worldObj, xCoord + 3, yCoord, zCoord); - this.trySubscribe(worldObj, xCoord + 3, yCoord, zCoord + 1); + this.trySubscribe(worldObj, xCoord - 2, yCoord, zCoord, Library.NEG_X); + this.trySubscribe(worldObj, xCoord - 2, yCoord, zCoord + 1, Library.NEG_X); + this.trySubscribe(worldObj, xCoord + 3, yCoord, zCoord, Library.POS_X); + this.trySubscribe(worldObj, xCoord + 3, yCoord, zCoord + 1, Library.POS_X); } else if(this.blockMetadata == 3) { - this.trySubscribe(worldObj, xCoord, yCoord, zCoord - 2); - this.trySubscribe(worldObj, xCoord - 1, yCoord, zCoord - 2); - this.trySubscribe(worldObj, xCoord, yCoord, zCoord + 3); - this.trySubscribe(worldObj, xCoord - 1, yCoord, zCoord + 3); + this.trySubscribe(worldObj, xCoord, yCoord, zCoord - 2, Library.NEG_Z); + this.trySubscribe(worldObj, xCoord - 1, yCoord, zCoord - 2, Library.NEG_Z); + this.trySubscribe(worldObj, xCoord, yCoord, zCoord + 3, Library.POS_Z); + this.trySubscribe(worldObj, xCoord - 1, yCoord, zCoord + 3, Library.POS_Z); } else if(this.blockMetadata == 4) { - this.trySubscribe(worldObj, xCoord + 2, yCoord, zCoord); - this.trySubscribe(worldObj, xCoord + 2, yCoord, zCoord - 1); - this.trySubscribe(worldObj, xCoord - 3, yCoord, zCoord); - this.trySubscribe(worldObj, xCoord - 3, yCoord, zCoord - 2); + this.trySubscribe(worldObj, xCoord + 2, yCoord, zCoord, Library.POS_X); + this.trySubscribe(worldObj, xCoord + 2, yCoord, zCoord - 1, Library.POS_X); + this.trySubscribe(worldObj, xCoord - 3, yCoord, zCoord, Library.NEG_X); + this.trySubscribe(worldObj, xCoord - 3, yCoord, zCoord - 1, Library.NEG_X); } else if(this.blockMetadata == 2) { - this.trySubscribe(worldObj, xCoord, yCoord, zCoord + 2); - this.trySubscribe(worldObj, xCoord + 1, yCoord, zCoord + 2); - this.trySubscribe(worldObj, xCoord, yCoord, zCoord - 3); - this.trySubscribe(worldObj, xCoord + 1, yCoord, zCoord - 3); + this.trySubscribe(worldObj, xCoord, yCoord, zCoord + 2, Library.POS_Z); + this.trySubscribe(worldObj, xCoord + 1, yCoord, zCoord + 2, Library.POS_Z); + this.trySubscribe(worldObj, xCoord, yCoord, zCoord - 3, Library.NEG_Z); + this.trySubscribe(worldObj, xCoord + 1, yCoord, zCoord - 3, Library.NEG_Z); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCrystallizer.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCrystallizer.java index fa3f621f5..f2d2d61b0 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCrystallizer.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCrystallizer.java @@ -103,13 +103,13 @@ public class TileEntityMachineCrystallizer extends TileEntityMachineBase impleme ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); if(dir == ForgeDirection.NORTH || dir == ForgeDirection.SOUTH) { - this.trySubscribe(worldObj, xCoord + 2, yCoord + 5, zCoord); - this.trySubscribe(worldObj, xCoord - 2, yCoord + 5, zCoord); + this.trySubscribe(worldObj, xCoord + 2, yCoord + 5, zCoord, Library.POS_X); + this.trySubscribe(worldObj, xCoord - 2, yCoord + 5, zCoord, Library.NEG_X); } if(dir == ForgeDirection.EAST || dir == ForgeDirection.WEST) { - this.trySubscribe(worldObj, xCoord, yCoord + 5, zCoord + 2); - this.trySubscribe(worldObj, xCoord, yCoord + 5, zCoord - 2); + this.trySubscribe(worldObj, xCoord, yCoord + 5, zCoord + 2, Library.POS_Z); + this.trySubscribe(worldObj, xCoord, yCoord + 5, zCoord - 2, Library.NEG_Z); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCyclotron.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCyclotron.java index 050d7b910..b37300e57 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCyclotron.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCyclotron.java @@ -156,14 +156,14 @@ public class TileEntityMachineCyclotron extends TileEntityMachineBase implements private void updateConnections() { - this.trySubscribe(worldObj, xCoord + 3, yCoord, zCoord + 1); - this.trySubscribe(worldObj, xCoord + 3, yCoord, zCoord - 1); - this.trySubscribe(worldObj, xCoord - 3, yCoord, zCoord + 1); - this.trySubscribe(worldObj, xCoord - 3, yCoord, zCoord - 1); - this.trySubscribe(worldObj, xCoord + 1, yCoord, zCoord + 3); - this.trySubscribe(worldObj, xCoord - 1, yCoord, zCoord + 3); - this.trySubscribe(worldObj, xCoord + 1, yCoord, zCoord - 3); - this.trySubscribe(worldObj, xCoord - 1, yCoord, zCoord - 3); + this.trySubscribe(worldObj, xCoord + 3, yCoord, zCoord + 1, Library.POS_X); + this.trySubscribe(worldObj, xCoord + 3, yCoord, zCoord - 1, Library.POS_X); + this.trySubscribe(worldObj, xCoord - 3, yCoord, zCoord + 1, Library.NEG_X); + this.trySubscribe(worldObj, xCoord - 3, yCoord, zCoord - 1, Library.NEG_X); + this.trySubscribe(worldObj, xCoord + 1, yCoord, zCoord + 3, Library.POS_Z); + this.trySubscribe(worldObj, xCoord - 1, yCoord, zCoord + 3, Library.POS_Z); + this.trySubscribe(worldObj, xCoord + 1, yCoord, zCoord - 3, Library.NEG_Z); + this.trySubscribe(worldObj, xCoord - 1, yCoord, zCoord - 3, Library.NEG_Z); } public void networkUnpack(NBTTagCompound data) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDetector.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDetector.java index e727a36a3..eea44c005 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDetector.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDetector.java @@ -33,7 +33,7 @@ public class TileEntityMachineDetector extends TileEntity implements IEnergyUser private void updateConnections() { for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) - this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ); + this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); } @Override @@ -48,7 +48,7 @@ public class TileEntityMachineDetector extends TileEntity implements IEnergyUser @Override public long getMaxPower() { - return 20; + return 5; } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineEPress.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineEPress.java index 90cc7c47f..013b5f70f 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineEPress.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineEPress.java @@ -273,7 +273,7 @@ public class TileEntityMachineEPress extends TileEntity implements ISidedInvento private void updateConnections() { for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) - this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ); + this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); } public long getPowerScaled(int i) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineElectricFurnace.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineElectricFurnace.java index 6bcd67060..75a49e388 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineElectricFurnace.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineElectricFurnace.java @@ -324,7 +324,7 @@ public class TileEntityMachineElectricFurnace extends TileEntity implements ISid private void updateConnections() { for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) - this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ); + this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningDrill.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningDrill.java index 6fc6cb388..ccd1a6d5c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningDrill.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningDrill.java @@ -213,12 +213,12 @@ public class TileEntityMachineMiningDrill extends TileEntityMachineBase implemen this.getBlockMetadata(); if(this.blockMetadata == 5 || this.blockMetadata == 4) { - this.trySubscribe(worldObj, xCoord + 2, yCoord, zCoord); - this.trySubscribe(worldObj, xCoord - 2, yCoord, zCoord); + this.trySubscribe(worldObj, xCoord + 2, yCoord, zCoord, Library.POS_X); + this.trySubscribe(worldObj, xCoord - 2, yCoord, zCoord, Library.NEG_X); } else if(this.blockMetadata == 3 || this.blockMetadata == 2) { - this.trySubscribe(worldObj, xCoord, yCoord, zCoord + 2); - this.trySubscribe(worldObj, xCoord, yCoord, zCoord - 2); + this.trySubscribe(worldObj, xCoord, yCoord, zCoord + 2, Library.POS_Z); + this.trySubscribe(worldObj, xCoord, yCoord, zCoord - 2, Library.NEG_Z); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningLaser.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningLaser.java index 523a17fab..b9f5ee135 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningLaser.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningLaser.java @@ -38,6 +38,7 @@ import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraftforge.common.util.ForgeDirection; public class TileEntityMachineMiningLaser extends TileEntityMachineBase implements IEnergyUser, IFluidSource, IMiningDrill { @@ -178,7 +179,7 @@ public class TileEntityMachineMiningLaser extends TileEntityMachineBase implemen } private void updateConnections() { - this.trySubscribe(worldObj, xCoord, yCoord + 2, zCoord); + this.trySubscribe(worldObj, xCoord, yCoord + 2, zCoord, ForgeDirection.UP); } public void networkUnpack(NBTTagCompound data) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePlasmaHeater.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePlasmaHeater.java index 3dfb04d84..2b5b86c02 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePlasmaHeater.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePlasmaHeater.java @@ -133,7 +133,7 @@ public class TileEntityMachinePlasmaHeater extends TileEntityMachineBase impleme for(int i = 1; i < 4; i++) { for(int j = -1; j < 2; j++) { - this.trySubscribe(worldObj, xCoord + side.offsetX * j + dir.offsetX * 2, yCoord + i, zCoord + side.offsetZ * j + dir.offsetZ * 2); + this.trySubscribe(worldObj, xCoord + side.offsetX * j + dir.offsetX * 2, yCoord + i, zCoord + side.offsetZ * j + dir.offsetZ * 2, j < 0 ? ForgeDirection.DOWN : ForgeDirection.UP); } } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java index e5d9915a3..15fd0c992 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java @@ -186,7 +186,7 @@ public class TileEntityMachineSchrabidiumTransmutator extends TileEntityMachineB private void updateConnections() { for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) - this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ); + this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); } public void onChunkUnload() { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSeleniumEngine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSeleniumEngine.java index 492cd7a88..5e818b035 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSeleniumEngine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSeleniumEngine.java @@ -353,4 +353,9 @@ public class TileEntityMachineSeleniumEngine extends TileEntity implements ISide return list; } + + @Override + public boolean canConnect(ForgeDirection dir) { + return dir == ForgeDirection.DOWN; + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineShredder.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineShredder.java index be4283788..01d3d8517 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineShredder.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineShredder.java @@ -294,7 +294,7 @@ public class TileEntityMachineShredder extends TileEntity implements ISidedInven private void updateConnections() { for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) - this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ); + this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); } public void processItem() { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityRadiobox.java b/src/main/java/com/hbm/tileentity/machine/TileEntityRadiobox.java index 42697b53b..0038e9a1a 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityRadiobox.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityRadiobox.java @@ -45,7 +45,7 @@ public class TileEntityRadiobox extends TileEntity implements IEnergyUser { private void updateConnections() { for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) - this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ); + this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntitySoyuzLauncher.java b/src/main/java/com/hbm/tileentity/machine/TileEntitySoyuzLauncher.java index 9818da0fb..8ade8f3e8 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntitySoyuzLauncher.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntitySoyuzLauncher.java @@ -26,6 +26,7 @@ import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.Vec3; +import net.minecraftforge.common.util.ForgeDirection; public class TileEntitySoyuzLauncher extends TileEntityMachineBase implements ISidedInventory, IEnergyUser, IFluidContainer, IFluidAcceptor { @@ -60,7 +61,7 @@ public class TileEntitySoyuzLauncher extends TileEntityMachineBase implements IS if (!worldObj.isRemote) { - this.trySubscribe(worldObj, xCoord, yCoord - 1, zCoord); + this.trySubscribe(worldObj, xCoord, yCoord - 1, zCoord, ForgeDirection.DOWN); tanks[0].loadTank(4, 5, slots); tanks[1].loadTank(6, 7, slots); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityTesla.java b/src/main/java/com/hbm/tileentity/machine/TileEntityTesla.java index ffcba89b4..c40358133 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityTesla.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityTesla.java @@ -87,7 +87,7 @@ public class TileEntityTesla extends TileEntityMachineBase implements IEnergyUse private void updateConnections() { for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) - this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ); + this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); } public static List zap(World worldObj, double x, double y, double z, double radius, Entity source) { diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineOilWell.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineOilWell.java index 81223c026..c04df0634 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineOilWell.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineOilWell.java @@ -3,6 +3,7 @@ package com.hbm.tileentity.machine.oil; import com.hbm.blocks.ModBlocks; import com.hbm.explosion.ExplosionLarge; import com.hbm.handler.FluidTypeHandler.FluidType; +import com.hbm.lib.Library; import net.minecraft.block.Block; import net.minecraft.item.ItemStack; @@ -18,10 +19,10 @@ public class TileEntityMachineOilWell extends TileEntityOilDrillBase { @Override protected void updateConnections() { - this.trySubscribe(worldObj, xCoord + 2, yCoord, zCoord); - this.trySubscribe(worldObj, xCoord - 2, yCoord, zCoord); - this.trySubscribe(worldObj, xCoord, yCoord, zCoord + 2); - this.trySubscribe(worldObj, xCoord, yCoord, zCoord - 2); + this.trySubscribe(worldObj, xCoord + 2, yCoord, zCoord, Library.POS_X); + this.trySubscribe(worldObj, xCoord - 2, yCoord, zCoord, Library.NEG_X); + this.trySubscribe(worldObj, xCoord, yCoord, zCoord + 2, Library.POS_Z); + this.trySubscribe(worldObj, xCoord, yCoord, zCoord - 2, Library.NEG_Z); } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachinePumpjack.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachinePumpjack.java index 8b0420155..19bf58b03 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachinePumpjack.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachinePumpjack.java @@ -28,10 +28,10 @@ public class TileEntityMachinePumpjack extends TileEntityOilDrillBase { ForgeDirection dir = ForgeDirection.getOrientation(this.blockMetadata - BlockDummyable.offset); ForgeDirection rot = dir.getRotation(ForgeDirection.DOWN); - this.trySubscribe(worldObj, xCoord + rot.offsetX * 2 + dir.offsetX * 2, yCoord, zCoord + rot.offsetZ * 2 + dir.offsetZ * 2); - this.trySubscribe(worldObj, xCoord + rot.offsetX * 2 + dir.offsetX * 2, yCoord, zCoord + rot.offsetZ * 4 - dir.offsetZ * 2); - this.trySubscribe(worldObj, xCoord + rot.offsetX * 4 - dir.offsetX * 2, yCoord, zCoord + rot.offsetZ * 4 + dir.offsetZ * 2); - this.trySubscribe(worldObj, xCoord + rot.offsetX * 4 - dir.offsetX * 2, yCoord, zCoord + rot.offsetZ * 2 - dir.offsetZ * 2); + this.trySubscribe(worldObj, xCoord + rot.offsetX * 2 + dir.offsetX * 2, yCoord, zCoord + rot.offsetZ * 2 + dir.offsetZ * 2, ForgeDirection.UNKNOWN); //brain overheating, do this shit somewhen else + this.trySubscribe(worldObj, xCoord + rot.offsetX * 2 + dir.offsetX * 2, yCoord, zCoord + rot.offsetZ * 4 - dir.offsetZ * 2, ForgeDirection.UNKNOWN); + this.trySubscribe(worldObj, xCoord + rot.offsetX * 4 - dir.offsetX * 2, yCoord, zCoord + rot.offsetZ * 4 + dir.offsetZ * 2, ForgeDirection.UNKNOWN); + this.trySubscribe(worldObj, xCoord + rot.offsetX * 4 - dir.offsetX * 2, yCoord, zCoord + rot.offsetZ * 2 - dir.offsetZ * 2, ForgeDirection.UNKNOWN); } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineRefinery.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineRefinery.java index 64e8998ad..ae9243461 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineRefinery.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineRefinery.java @@ -316,14 +316,14 @@ public class TileEntityMachineRefinery extends TileEntity implements ISidedInven } private void updateConnections() { - this.trySubscribe(worldObj, xCoord + 2, yCoord, zCoord + 1); - this.trySubscribe(worldObj, xCoord + 2, yCoord, zCoord - 1); - this.trySubscribe(worldObj, xCoord - 2, yCoord, zCoord + 1); - this.trySubscribe(worldObj, xCoord - 2, yCoord, zCoord - 1); - this.trySubscribe(worldObj, xCoord + 1, yCoord, zCoord + 2); - this.trySubscribe(worldObj, xCoord - 1, yCoord, zCoord + 2); - this.trySubscribe(worldObj, xCoord + 1, yCoord, zCoord - 2); - this.trySubscribe(worldObj, xCoord - 1, yCoord, zCoord - 2); + this.trySubscribe(worldObj, xCoord + 2, yCoord, zCoord + 1, Library.POS_X); + this.trySubscribe(worldObj, xCoord + 2, yCoord, zCoord - 1, Library.POS_X); + this.trySubscribe(worldObj, xCoord - 2, yCoord, zCoord + 1, Library.NEG_X); + this.trySubscribe(worldObj, xCoord - 2, yCoord, zCoord - 1, Library.NEG_X); + this.trySubscribe(worldObj, xCoord + 1, yCoord, zCoord + 2, Library.POS_Z); + this.trySubscribe(worldObj, xCoord - 1, yCoord, zCoord + 2, Library.POS_Z); + this.trySubscribe(worldObj, xCoord + 1, yCoord, zCoord - 2, Library.NEG_Z); + this.trySubscribe(worldObj, xCoord - 1, yCoord, zCoord - 2, Library.NEG_Z); } public long getPowerScaled(long i) { diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityCableBaseNT.java b/src/main/java/com/hbm/tileentity/network/TileEntityCableBaseNT.java index 6277f4e16..0227a6e65 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityCableBaseNT.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityCableBaseNT.java @@ -36,6 +36,9 @@ public class TileEntityCableBaseNT extends TileEntity implements IEnergyConducto IEnergyConductor conductor = (IEnergyConductor) te; + if(!conductor.canConnect(dir.getOpposite())) + break; + if(this.getPowerNet() == null && conductor.getPowerNet() != null) { conductor.getPowerNet().joinLink(this); } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityConnector.java b/src/main/java/com/hbm/tileentity/network/TileEntityConnector.java index 7e77865d9..0e938bdc2 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityConnector.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityConnector.java @@ -1,6 +1,7 @@ package com.hbm.tileentity.network; import api.hbm.energy.IEnergyConductor; +import net.minecraft.init.Blocks; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.Vec3; import net.minecraftforge.common.util.ForgeDirection; @@ -24,8 +25,10 @@ public class TileEntityConnector extends TileEntityPylonBase { @Override protected void connect() { + + super.connect(); - ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()); + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()).getOpposite(); TileEntity te = worldObj.getTileEntity(xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ); @@ -33,6 +36,9 @@ public class TileEntityConnector extends TileEntityPylonBase { IEnergyConductor conductor = (IEnergyConductor) te; + if(!conductor.canConnect(dir.getOpposite())) + return; + if(this.getPowerNet() == null && conductor.getPowerNet() != null) { conductor.getPowerNet().joinLink(this); } @@ -42,4 +48,9 @@ public class TileEntityConnector extends TileEntityPylonBase { } } } + + @Override + public boolean canConnect(ForgeDirection dir) { + return dir == ForgeDirection.getOrientation(this.getBlockMetadata()).getOpposite(); + } } diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java index fd712549c..f7cf61b01 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java @@ -243,17 +243,18 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset).getOpposite(); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - this.trySubscribe(worldObj, xCoord + dir.offsetX * -1 + rot.offsetX * 0, yCoord, zCoord + dir.offsetZ * -1 + rot.offsetZ * 0); - this.trySubscribe(worldObj, xCoord + dir.offsetX * -1 + rot.offsetX * -1, yCoord, zCoord + dir.offsetZ * -1 + rot.offsetZ * -1); + //how did i even make this? what??? + this.trySubscribe(worldObj, xCoord + dir.offsetX * -1 + rot.offsetX * 0, yCoord, zCoord + dir.offsetZ * -1 + rot.offsetZ * 0, ForgeDirection.UNKNOWN); + this.trySubscribe(worldObj, xCoord + dir.offsetX * -1 + rot.offsetX * -1, yCoord, zCoord + dir.offsetZ * -1 + rot.offsetZ * -1, ForgeDirection.UNKNOWN); - this.trySubscribe(worldObj, xCoord + dir.offsetX * 0 + rot.offsetX * -2, yCoord, zCoord + dir.offsetZ * 0 + rot.offsetZ * -2); - this.trySubscribe(worldObj, xCoord + dir.offsetX * 1 + rot.offsetX * -2, yCoord, zCoord + dir.offsetZ * 1 + rot.offsetZ * -2); + this.trySubscribe(worldObj, xCoord + dir.offsetX * 0 + rot.offsetX * -2, yCoord, zCoord + dir.offsetZ * 0 + rot.offsetZ * -2, ForgeDirection.UNKNOWN); + this.trySubscribe(worldObj, xCoord + dir.offsetX * 1 + rot.offsetX * -2, yCoord, zCoord + dir.offsetZ * 1 + rot.offsetZ * -2, ForgeDirection.UNKNOWN); - this.trySubscribe(worldObj, xCoord + dir.offsetX * 0 + rot.offsetX * 1, yCoord, zCoord + dir.offsetZ * 0 + rot.offsetZ * 1); - this.trySubscribe(worldObj, xCoord + dir.offsetX * 1 + rot.offsetX * 1, yCoord, zCoord + dir.offsetZ * 1 + rot.offsetZ * 1); + this.trySubscribe(worldObj, xCoord + dir.offsetX * 0 + rot.offsetX * 1, yCoord, zCoord + dir.offsetZ * 0 + rot.offsetZ * 1, ForgeDirection.UNKNOWN); + this.trySubscribe(worldObj, xCoord + dir.offsetX * 1 + rot.offsetX * 1, yCoord, zCoord + dir.offsetZ * 1 + rot.offsetZ * 1, ForgeDirection.UNKNOWN); - this.trySubscribe(worldObj, xCoord + dir.offsetX * 2 + rot.offsetX * 0, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * 0); - this.trySubscribe(worldObj, xCoord + dir.offsetX * 2 + rot.offsetX * -1, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * -1); + this.trySubscribe(worldObj, xCoord + dir.offsetX * 2 + rot.offsetX * 0, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * 0, ForgeDirection.UNKNOWN); + this.trySubscribe(worldObj, xCoord + dir.offsetX * 2 + rot.offsetX * -1, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * -1, ForgeDirection.UNKNOWN); } @Override diff --git a/src/main/resources/assets/hbm/models/network/connector.obj b/src/main/resources/assets/hbm/models/network/connector.obj new file mode 100644 index 000000000..b6931f111 --- /dev/null +++ b/src/main/resources/assets/hbm/models/network/connector.obj @@ -0,0 +1,250 @@ +# Blender v2.79 (sub 0) OBJ File: 'connector.blend' +# www.blender.org +o Cube_Cube.001 +v -0.062500 0.437500 0.062500 +v -0.062500 0.562500 0.062500 +v -0.062500 0.437500 -0.062500 +v -0.062500 0.562500 -0.062500 +v 0.062500 0.437500 0.062500 +v 0.062500 0.562500 0.062500 +v 0.062500 0.437500 -0.062500 +v 0.062500 0.562500 -0.062500 +v -0.125000 0.437500 0.125000 +v -0.125000 0.437500 -0.125000 +v 0.125000 0.437500 0.125000 +v 0.125000 0.437500 -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.375000 -0.125000 +v -0.187500 0.375000 0.187500 +v -0.187500 0.375000 -0.187500 +v 0.187500 0.375000 0.187500 +v 0.187500 0.375000 -0.187500 +v -0.187500 0.250000 0.187500 +v -0.187500 0.250000 -0.187500 +v 0.187500 0.250000 0.187500 +v 0.187500 0.250000 -0.187500 +v -0.125000 0.250000 0.125000 +v -0.125000 0.250000 -0.125000 +v 0.125000 0.250000 0.125000 +v 0.125000 0.250000 -0.125000 +v -0.125000 0.187500 0.125000 +v -0.125000 0.187500 -0.125000 +v 0.125000 0.187500 0.125000 +v 0.125000 0.187500 -0.125000 +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.187500 0.062500 0.187500 +v -0.187500 0.062500 -0.187500 +v 0.187500 0.062500 0.187500 +v 0.187500 0.062500 -0.187500 +v -0.125000 0.062500 0.125000 +v -0.125000 0.062500 -0.125000 +v 0.125000 0.062500 0.125000 +v 0.125000 0.062500 -0.125000 +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.666667 0.900000 +vt 0.333333 0.800000 +vt 0.666667 0.800000 +vt 0.666667 0.900000 +vt 0.333333 0.800000 +vt 0.666667 0.800000 +vt 0.666667 0.900000 +vt 0.333333 0.800000 +vt 0.666667 0.800000 +vt 0.666667 0.900000 +vt 0.333333 0.800000 +vt 0.666667 0.800000 +vt 0.833333 0.750000 +vt 0.666667 1.000000 +vt 0.333333 0.900000 +vt 0.833333 0.750000 +vt 0.833333 0.750000 +vt 0.833333 0.750000 +vt 0.166667 0.750000 +vt 0.833333 0.700000 +vt 0.166667 0.750000 +vt 0.833333 0.700000 +vt 0.166667 0.750000 +vt 0.833333 0.700000 +vt 0.166667 0.750000 +vt 0.833333 0.700000 +vt 0.166667 0.700000 +vt 1.000000 0.650000 +vt 0.166667 0.700000 +vt 1.000000 0.650000 +vt 0.166667 0.700000 +vt 1.000000 0.650000 +vt 0.166667 0.700000 +vt 1.000000 0.650000 +vt -0.000000 0.650000 +vt 1.000000 0.550000 +vt 0.000000 0.650000 +vt 1.000000 0.550000 +vt 0.000000 0.650000 +vt 1.000000 0.550000 +vt 0.000000 0.650000 +vt 1.000000 0.550000 +vt 0.166667 0.500000 +vt 0.833333 0.450000 +vt 0.833333 0.500000 +vt 0.166667 0.500000 +vt 0.833333 0.450000 +vt 0.833333 0.500000 +vt 0.166667 0.500000 +vt 0.833333 0.450000 +vt 0.833333 0.500000 +vt 0.166667 0.500000 +vt 0.833333 0.450000 +vt 0.833333 0.500000 +vt 0.166667 0.450000 +vt 1.000000 0.400000 +vt 0.166667 0.450000 +vt 1.000000 0.400000 +vt 0.166667 0.450000 +vt 1.000000 0.400000 +vt 0.166667 0.450000 +vt 1.000000 0.400000 +vt -0.000000 0.400000 +vt 1.000000 0.300000 +vt 0.000000 0.400000 +vt 1.000000 0.300000 +vt 0.000000 0.400000 +vt 1.000000 0.300000 +vt 0.000000 0.400000 +vt 1.000000 0.300000 +vt 0.166667 0.250000 +vt 0.833333 0.200000 +vt 0.833333 0.250000 +vt 0.166667 0.250000 +vt 0.833333 0.200000 +vt 0.833333 0.250000 +vt 0.166667 0.250000 +vt 0.833333 0.200000 +vt 0.833333 0.250000 +vt 0.166667 0.250000 +vt 0.833333 0.200000 +vt 0.833333 0.250000 +vt 0.166667 0.000000 +vt 0.833333 0.000000 +vt -0.000000 0.300000 +vt 0.000000 0.300000 +vt 0.000000 0.300000 +vt 0.000000 0.300000 +vt -0.000000 0.550000 +vt 0.000000 0.550000 +vt 0.000000 0.550000 +vt 0.000000 0.550000 +vt 0.333333 0.900000 +vt 0.333333 0.900000 +vt 0.333333 0.900000 +vt 0.333333 1.000000 +vt 0.166667 0.200000 +vt 0.166667 0.200000 +vt 0.166667 0.200000 +vt 0.166667 0.200000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +s off +f 2/1/1 3/2/1 1/3/1 +f 4/4/2 7/5/2 3/6/2 +f 8/7/3 5/8/3 7/9/3 +f 6/10/4 1/11/4 5/12/4 +f 7/5/5 10/13/5 3/6/5 +f 4/14/5 6/15/5 8/7/5 +f 3/2/5 9/16/5 1/3/5 +f 5/8/5 12/17/5 7/9/5 +f 1/11/5 11/18/5 5/12/5 +f 9/19/4 15/20/4 11/18/4 +f 12/21/2 14/22/2 10/13/2 +f 11/23/3 16/24/3 12/17/3 +f 10/25/1 13/26/1 9/16/1 +f 15/27/5 20/28/5 16/24/5 +f 14/29/5 17/30/5 13/26/5 +f 13/31/5 19/32/5 15/20/5 +f 16/33/5 18/34/5 14/22/5 +f 17/35/4 23/36/4 19/32/4 +f 20/37/2 22/38/2 18/34/2 +f 19/39/3 24/40/3 20/28/3 +f 18/41/1 21/42/1 17/30/1 +f 25/43/4 31/44/4 27/45/4 +f 28/46/2 30/47/2 26/48/2 +f 27/49/3 32/50/3 28/51/3 +f 26/52/1 29/53/1 25/54/1 +f 31/55/5 36/56/5 32/50/5 +f 30/57/5 33/58/5 29/53/5 +f 29/59/5 35/60/5 31/44/5 +f 32/61/5 34/62/5 30/47/5 +f 33/63/4 39/64/4 35/60/4 +f 36/65/2 38/66/2 34/62/2 +f 35/67/3 40/68/3 36/56/3 +f 34/69/1 37/70/1 33/58/1 +f 41/71/4 47/72/4 43/73/4 +f 44/74/2 46/75/2 42/76/2 +f 43/77/3 48/78/3 44/79/3 +f 42/80/1 45/81/1 41/82/1 +f 48/78/6 45/83/6 46/84/6 +f 37/85/6 43/73/6 39/64/6 +f 39/86/6 44/79/6 40/68/6 +f 40/87/6 42/76/6 38/66/6 +f 38/88/6 41/82/6 37/70/6 +f 21/89/6 27/45/6 23/36/6 +f 23/90/6 28/51/6 24/40/6 +f 24/91/6 26/48/6 22/38/6 +f 22/92/6 25/54/6 21/42/6 +f 2/1/1 4/93/1 3/2/1 +f 4/4/2 8/94/2 7/5/2 +f 8/7/3 6/15/3 5/8/3 +f 6/10/4 2/95/4 1/11/4 +f 7/5/5 12/21/5 10/13/5 +f 4/14/5 2/96/5 6/15/5 +f 3/2/5 10/25/5 9/16/5 +f 5/8/5 11/23/5 12/17/5 +f 1/11/5 9/19/5 11/18/5 +f 9/19/4 13/31/4 15/20/4 +f 12/21/2 16/33/2 14/22/2 +f 11/23/3 15/27/3 16/24/3 +f 10/25/1 14/29/1 13/26/1 +f 15/27/5 19/39/5 20/28/5 +f 14/29/5 18/41/5 17/30/5 +f 13/31/5 17/35/5 19/32/5 +f 16/33/5 20/37/5 18/34/5 +f 17/35/4 21/89/4 23/36/4 +f 20/37/2 24/91/2 22/38/2 +f 19/39/3 23/90/3 24/40/3 +f 18/41/1 22/92/1 21/42/1 +f 25/43/4 29/59/4 31/44/4 +f 28/46/2 32/61/2 30/47/2 +f 27/49/3 31/55/3 32/50/3 +f 26/52/1 30/57/1 29/53/1 +f 31/55/5 35/67/5 36/56/5 +f 30/57/5 34/69/5 33/58/5 +f 29/59/5 33/63/5 35/60/5 +f 32/61/5 36/65/5 34/62/5 +f 33/63/4 37/85/4 39/64/4 +f 36/65/2 40/87/2 38/66/2 +f 35/67/3 39/86/3 40/68/3 +f 34/69/1 38/88/1 37/70/1 +f 41/71/4 45/97/4 47/72/4 +f 44/74/2 48/98/2 46/75/2 +f 43/77/3 47/99/3 48/78/3 +f 42/80/1 46/100/1 45/81/1 +f 48/78/6 47/99/6 45/83/6 +f 37/85/6 41/71/6 43/73/6 +f 39/86/6 43/77/6 44/79/6 +f 40/87/6 44/74/6 42/76/6 +f 38/88/6 42/80/6 41/82/6 +f 21/89/6 25/43/6 27/45/6 +f 23/90/6 27/49/6 28/51/6 +f 24/91/6 28/46/6 26/48/6 +f 22/92/6 26/52/6 25/54/6 diff --git a/src/main/resources/assets/hbm/textures/models/network/connector.png b/src/main/resources/assets/hbm/textures/models/network/connector.png new file mode 100644 index 000000000..aff2acf87 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/network/connector.png differ