From 4887997646426c95b27260647bca9f1a041df60d Mon Sep 17 00:00:00 2001 From: Calclavia Date: Wed, 29 Jan 2014 12:16:54 +0800 Subject: [PATCH] Added small battery energy loss and multimeter tweaks --- .../electrical/battery/BatteryNetwork.java | 7 +++++++ .../electrical/battery/TileBattery.java | 2 +- .../electrical/multimeter/GuiMultimeter.java | 6 ------ .../electrical/multimeter/ItemMultimeter.java | 7 +++++-- .../electrical/transformer/PartTransformer.java | 12 ++++++------ .../mechanical/network/PartMechanical.java | 4 ++-- 6 files changed, 21 insertions(+), 17 deletions(-) diff --git a/src/main/java/resonantinduction/electrical/battery/BatteryNetwork.java b/src/main/java/resonantinduction/electrical/battery/BatteryNetwork.java index 122a0d73..0ce9de73 100644 --- a/src/main/java/resonantinduction/electrical/battery/BatteryNetwork.java +++ b/src/main/java/resonantinduction/electrical/battery/BatteryNetwork.java @@ -17,6 +17,13 @@ public class BatteryNetwork extends Network totalCapacity += battery.energy.getEnergyCapacity(); } + /** + * Apply energy loss. + */ + double percentageLoss = Math.max(0, (1 - ((double) (getConnectors().size() * 6) / 100d))); + long energyLoss = (long) (percentageLoss * 10); + totalEnergy -= energyLoss; + int amountOfNodes = this.getConnectors().size() - exclusion.length; if (totalEnergy > 0 && amountOfNodes > 0) diff --git a/src/main/java/resonantinduction/electrical/battery/TileBattery.java b/src/main/java/resonantinduction/electrical/battery/TileBattery.java index 3d9ac23e..ab7b2d6b 100644 --- a/src/main/java/resonantinduction/electrical/battery/TileBattery.java +++ b/src/main/java/resonantinduction/electrical/battery/TileBattery.java @@ -89,7 +89,7 @@ public class TileBattery extends TileElectrical implements IConnector 0) && ticks % 5 == 0) { this.getNetwork().redistribute(); diff --git a/src/main/java/resonantinduction/electrical/multimeter/GuiMultimeter.java b/src/main/java/resonantinduction/electrical/multimeter/GuiMultimeter.java index e8212c27..5967dfb4 100644 --- a/src/main/java/resonantinduction/electrical/multimeter/GuiMultimeter.java +++ b/src/main/java/resonantinduction/electrical/multimeter/GuiMultimeter.java @@ -88,12 +88,6 @@ public class GuiMultimeter extends GuiContainerBase protected void drawGuiContainerBackgroundLayer(float f, int x, int y) { super.drawGuiContainerBackgroundLayer(f, x, y); - /* - * int length = Math.min((int) (this.multimeter.getDetectedEnergy() / - * this.multimeter.getPeak()) * 115, 115); - * this.drawTexturedModalRect(this.containerWidth + 14, this.containerHeight + 126 - length, - * 176, 115 - length, 6, length); - */ } @Override diff --git a/src/main/java/resonantinduction/electrical/multimeter/ItemMultimeter.java b/src/main/java/resonantinduction/electrical/multimeter/ItemMultimeter.java index 86367c24..9611da17 100644 --- a/src/main/java/resonantinduction/electrical/multimeter/ItemMultimeter.java +++ b/src/main/java/resonantinduction/electrical/multimeter/ItemMultimeter.java @@ -31,6 +31,9 @@ public class ItemMultimeter extends ItemMultipartBase @Override public TMultiPart newPart(ItemStack itemStack, EntityPlayer player, World world, BlockCoord pos, int side, Vector3 hit) { + /** + * If we're clicking on the multipart + */ if (world.getBlockTileEntity(pos.x, pos.y, pos.z) instanceof TileMultipart && !ControlKeyModifer.isControlDown(player)) { pos.offset(side ^ 1, -1); @@ -42,7 +45,7 @@ public class ItemMultimeter extends ItemMultipartBase { part.preparePlacement(side, itemStack.getItemDamage()); } - + System.out.println("OFFSET"+pos); return part; } @@ -67,7 +70,7 @@ public class ItemMultimeter extends ItemMultipartBase @Override public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World world, int x, int y, int z, int par7, float par8, float par9, float par10) { - if (!par2EntityPlayer.isSneaking()) + if (par2EntityPlayer.isSneaking()) { if (!world.isRemote) { diff --git a/src/main/java/resonantinduction/electrical/transformer/PartTransformer.java b/src/main/java/resonantinduction/electrical/transformer/PartTransformer.java index 104eba7c..61be69fe 100644 --- a/src/main/java/resonantinduction/electrical/transformer/PartTransformer.java +++ b/src/main/java/resonantinduction/electrical/transformer/PartTransformer.java @@ -33,17 +33,17 @@ import cpw.mods.fml.relauncher.SideOnly; public class PartTransformer extends JCuboidPart implements JNormalOcclusion, TFacePart, IVoltageOutput, IEnergyInterface { - public static Cuboid6[][] oBoxes = new Cuboid6[6][2]; + public static Cuboid6[][] bounds = new Cuboid6[6][2]; static { - oBoxes[0][0] = new Cuboid6(1 / 8D, 0, 0, 7 / 8D, 1 / 8D, 1); - oBoxes[0][1] = new Cuboid6(0, 0, 1 / 8D, 1, 1 / 8D, 7 / 8D); + 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); - oBoxes[s][0] = oBoxes[0][0].copy().apply(t); - oBoxes[s][1] = oBoxes[0][1].copy().apply(t); + bounds[s][0] = bounds[0][0].copy().apply(t); + bounds[s][1] = bounds[0][1].copy().apply(t); } } @@ -114,7 +114,7 @@ public class PartTransformer extends JCuboidPart implements JNormalOcclusion, TF @Override public Iterable getOcclusionBoxes() { - return Arrays.asList(oBoxes[this.placementSide.ordinal()]); + return Arrays.asList(bounds[this.placementSide.ordinal()]); } protected ItemStack getItem() diff --git a/src/main/java/resonantinduction/mechanical/network/PartMechanical.java b/src/main/java/resonantinduction/mechanical/network/PartMechanical.java index f6b42281..0e8b9f6c 100644 --- a/src/main/java/resonantinduction/mechanical/network/PartMechanical.java +++ b/src/main/java/resonantinduction/mechanical/network/PartMechanical.java @@ -62,8 +62,8 @@ public abstract class PartMechanical extends JCuboidPart implements JNormalOcclu if (!world().isRemote) { System.out.println(this + ":" + getNetwork()); - for (Object obj : connections) - System.out.println(obj); + /*for (Object obj : connections) + System.out.println(obj);*/ } return false;