diff --git a/electrical/src/main/java/resonantinduction/electrical/multimeter/PartMultimeter.java b/electrical/src/main/java/resonantinduction/electrical/multimeter/PartMultimeter.java index f89f0ea9..457f777c 100644 --- a/electrical/src/main/java/resonantinduction/electrical/multimeter/PartMultimeter.java +++ b/electrical/src/main/java/resonantinduction/electrical/multimeter/PartMultimeter.java @@ -16,6 +16,7 @@ import net.minecraftforge.fluids.FluidTankInfo; import net.minecraftforge.fluids.IFluidHandler; import resonantinduction.api.mechanical.IMechanical; import resonantinduction.core.ResonantInduction; +import resonantinduction.core.prefab.part.PartFace; import resonantinduction.electrical.Electrical; import universalelectricity.api.CompatibilityModule; import universalelectricity.api.energy.IConductor; @@ -25,15 +26,10 @@ import calclavia.lib.network.IPacketReceiver; import codechicken.lib.data.MCDataInput; import codechicken.lib.data.MCDataOutput; import codechicken.lib.vec.Cuboid6; -import codechicken.lib.vec.Rotation; -import codechicken.lib.vec.Transformation; import codechicken.lib.vec.Vector3; import codechicken.microblock.FaceMicroClass; import codechicken.multipart.IRedstonePart; -import codechicken.multipart.JCuboidPart; -import codechicken.multipart.JNormalOcclusion; import codechicken.multipart.NormalOcclusionTest; -import codechicken.multipart.TFacePart; import codechicken.multipart.TMultiPart; import codechicken.multipart.TileMultipart; @@ -49,22 +45,8 @@ import cpw.mods.fml.relauncher.SideOnly; * @author Calclavia * */ -public class PartMultimeter extends JCuboidPart implements IConnector, TFacePart, JNormalOcclusion, IRedstonePart, IPacketReceiver +public class PartMultimeter extends PartFace implements IConnector, IRedstonePart, IPacketReceiver { - public static Cuboid6[][] bounds = new Cuboid6[6][2]; - - static - { - bounds[0][0] = new Cuboid6(1 / 8D, 0, 0, 7 / 8D, 1 / 8D, 1); - bounds[0][1] = new Cuboid6(0, 0, 1 / 8D, 1, 1 / 8D, 7 / 8D); - for (int s = 1; s < 6; s++) - { - Transformation t = Rotation.sideRotations[s].at(Vector3.center); - bounds[s][0] = bounds[0][0].copy().apply(t); - bounds[s][1] = bounds[0][1].copy().apply(t); - } - } - public enum DetectMode { NONE("none"), LESS_THAN("lessThan"), LESS_THAN_EQUAL("lessThanOrEqual"), EQUAL("equal"), @@ -85,18 +67,10 @@ public class PartMultimeter extends JCuboidPart implements IConnector getOcclusionBoxes() - { - return Arrays.asList(bounds[this.side]); - } - - @Override - public boolean occlusionTest(TMultiPart npart) - { - return NormalOcclusionTest.apply(this, npart); - } - @Override public int redstoneConductionMap() { @@ -515,20 +465,6 @@ public class PartMultimeter extends JCuboidPart implements IConnector getDrops() - { - List drops = new ArrayList(); - drops.add(getItem()); - return drops; - } - - @Override - public ItemStack pickItem(MovingObjectPosition hit) - { - return getItem(); - } - @Override @SideOnly(Side.CLIENT) public void renderDynamic(Vector3 pos, float frame, int pass) diff --git a/src/main/java/resonantinduction/core/ResonantInduction.java b/src/main/java/resonantinduction/core/ResonantInduction.java index 84ad8578..7e6311a2 100644 --- a/src/main/java/resonantinduction/core/ResonantInduction.java +++ b/src/main/java/resonantinduction/core/ResonantInduction.java @@ -116,7 +116,7 @@ public class ResonantInduction GameRegistry.registerItem(itemDust, itemDust.getUnlocalizedName()); GameRegistry.registerItem(itemRefinedDust, itemRefinedDust.getUnlocalizedName()); - // Already registered wih ContentRegistry + // Already registered with ContentRegistry // GameRegistry.registerTileEntity(TileMaterial.class, "ri_material"); GameRegistry.registerTileEntity(TileFluidMixture.class, "ri_fluid_mixture"); proxy.preInit(); diff --git a/src/main/java/resonantinduction/core/prefab/part/PartFace.java b/src/main/java/resonantinduction/core/prefab/part/PartFace.java index 7f164a35..42416308 100644 --- a/src/main/java/resonantinduction/core/prefab/part/PartFace.java +++ b/src/main/java/resonantinduction/core/prefab/part/PartFace.java @@ -17,7 +17,9 @@ import codechicken.lib.vec.Vector3; import codechicken.microblock.FaceMicroClass; import codechicken.multipart.JCuboidPart; import codechicken.multipart.JNormalOcclusion; +import codechicken.multipart.NormalOcclusionTest; import codechicken.multipart.TFacePart; +import codechicken.multipart.TMultiPart; public abstract class PartFace extends JCuboidPart implements JNormalOcclusion, TFacePart { @@ -41,9 +43,11 @@ public abstract class PartFace extends JCuboidPart implements JNormalOcclusion, /** The relative direction this block faces. */ public byte facing = 0; + protected int ticks; + public void preparePlacement(int side, int facing) { - this.placementSide = ForgeDirection.getOrientation( side); + this.placementSide = ForgeDirection.getOrientation(side); this.facing = (byte) (facing - 2); } @@ -91,6 +95,12 @@ public abstract class PartFace extends JCuboidPart implements JNormalOcclusion, return Arrays.asList(bounds[this.placementSide.ordinal()]); } + @Override + public boolean occlusionTest(TMultiPart npart) + { + return NormalOcclusionTest.apply(this, npart); + } + @Override public Iterable getDrops() { diff --git a/src/main/resources/assets/resonantinduction/textures/items/hammer.png b/src/main/resources/assets/resonantinduction/textures/items/hammer.png index 3188960d..cbd90fb1 100644 Binary files a/src/main/resources/assets/resonantinduction/textures/items/hammer.png and b/src/main/resources/assets/resonantinduction/textures/items/hammer.png differ