diff options
author | Bass <tudurap.com@gmail.com> | 2019-08-17 12:08:52 +0100 |
---|---|---|
committer | Bass <tudurap.com@gmail.com> | 2019-08-17 12:08:52 +0100 |
commit | d3ce9e9b2df98c4ea85497814e69ce86b74c74a0 (patch) | |
tree | c7b150cc5a8e5b36f0d474bb388a3e9c93f90a61 /src/main | |
parent | e8b5ae1a46ed2e207c8c428bfa0aa2c1dc1219db (diff) | |
download | GT5-Unofficial-d3ce9e9b2df98c4ea85497814e69ce86b74c74a0.tar.gz GT5-Unofficial-d3ce9e9b2df98c4ea85497814e69ce86b74c74a0.tar.bz2 GT5-Unofficial-d3ce9e9b2df98c4ea85497814e69ce86b74c74a0.zip |
Lightning alignment bettered
Diffstat (limited to 'src/main')
2 files changed, 50 insertions, 13 deletions
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_teslaCoil.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_teslaCoil.java index 66743338b8..639024732a 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_teslaCoil.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_teslaCoil.java @@ -78,10 +78,11 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock private static int zPosOffsetScanMax; //Lightning Origin - private static int xPosTop; - private static byte yPosTop; - private static int zPosTop; + public int xPosTop; + public byte yPosTop; + public int zPosTop; + //TODO Add center bottom //region structure private static final String[][] shape0 = new String[][]{//3 16 0 {"\u000F", "A . ",}, @@ -618,7 +619,7 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock } - private static void thaumLightning(IGregTechTileEntity mte, IGregTechTileEntity node) { + private void thaumLightning(IGregTechTileEntity mte, IGregTechTileEntity node) { byte xR = (byte) (node.getXCoord() - xPosTop); byte yR = (byte) (node.getYCoord() - yPosTop); byte zR = (byte) (node.getZCoord() - zPosTop); @@ -648,6 +649,31 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock ePowerPass = false; } + //Clean the eTeslaMap + for (Map.Entry<IGregTechTileEntity, Integer> Rx : eTeslaMap.entrySet()) { + IGregTechTileEntity node = Rx.getKey(); + if (node != null) { + IMetaTileEntity nodeInside = node.getMetaTileEntity(); + try { + if (nodeInside instanceof GT_MetaTileEntity_TM_teslaCoil && node.isActive()) { + GT_MetaTileEntity_TM_teslaCoil teslaTower = (GT_MetaTileEntity_TM_teslaCoil) nodeInside; + if (teslaTower.maxEUStore() > 0) { + continue; + } + } else if (nodeInside instanceof GT_MetaTileEntity_TeslaCoil){ + GT_MetaTileEntity_TeslaCoil teslaTransceiver = (GT_MetaTileEntity_TeslaCoil) nodeInside; + if (teslaTransceiver.mBatteryCount > 0){ + continue; + } + } else if ((node.getCoverBehaviorAtSide((byte) 1) instanceof GT_Cover_TM_TeslaCoil) && node.getEUCapacity() > 0) { + continue; + } + } catch (Exception e) { + } + } + eTeslaMap.remove(Rx.getKey()); + } + //Scan for transmission targets switch (scanTime) { case 0: @@ -683,11 +709,11 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock GT_MetaTileEntity_TeslaCoil teslaCoil = (GT_MetaTileEntity_TeslaCoil) nodeInside; int tX = node.getXCoord(); - int tY = node.getYCoord(); + byte tY = (byte)node.getYCoord(); int tZ = node.getZCoord(); int tXN = mte.getXCoord(); - int tYN = mte.getYCoord(); + byte tYN = (byte)mte.getYCoord(); int tZN = mte.getZCoord(); int tOffset = (int) Math.ceil(Math.sqrt(Math.pow(tX - tXN, 2) + Math.pow(tY - tYN, 2) + Math.pow(tZ - tZN, 2))); @@ -699,7 +725,7 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock continue; } tXN = nodeN.getXCoord(); - tYN = nodeN.getYCoord(); + tYN = (byte)nodeN.getYCoord(); tZN = nodeN.getZCoord(); tOffset = (int) Math.ceil(Math.sqrt(Math.pow(tX - tXN, 2) + Math.pow(tY - tYN, 2) + Math.pow(tZ - tZN, 2))); if (tOffset > 20) { @@ -720,7 +746,6 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock scanTime++; scanTimeDisplay.set(scanTime); - //Power Limit Settings long outputVoltage; if (outputVoltageSetting.get() > 0) { diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_TeslaCoil.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_TeslaCoil.java index 690afd8ee6..83e79cacb9 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_TeslaCoil.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_TeslaCoil.java @@ -180,18 +180,30 @@ public class GT_MetaTileEntity_TeslaCoil extends GT_MetaTileEntity_BasicBatteryB return new GT_MetaTileEntity_TeslaCoil(mName, mTier, mDescription, mTextures, mInventory.length);
}
- private static void thaumLightning(IGregTechTileEntity mte, IGregTechTileEntity node) {
+ private void thaumLightning(IGregTechTileEntity mte, IGregTechTileEntity node) {
int x = mte.getXCoord();
byte y = (byte) mte.getYCoord();
int z = mte.getZCoord();
- byte xR = (byte) (node.getXCoord() - x);
- byte yR = (byte) (node.getYCoord() - y);
- byte zR = (byte) (node.getZCoord() - z);
+ byte xR;
+ byte yR;
+ byte zR;
+
+ IMetaTileEntity nodeInside = node.getMetaTileEntity();
+ if (nodeInside instanceof GT_MetaTileEntity_TM_teslaCoil) {//TODO Fix lightning alignment
+ GT_MetaTileEntity_TM_teslaCoil nodeTesla = (GT_MetaTileEntity_TM_teslaCoil) nodeInside;
+ xR = (byte) (nodeTesla.xPosTop - x);
+ yR = (byte) (nodeTesla.yPosTop - y);
+ zR = (byte) (nodeTesla.zPosTop - z);
+ } else {
+ xR = (byte) (node.getXCoord() - x);
+ yR = (byte) (node.getYCoord() - y);
+ zR = (byte) (node.getZCoord() - z);
+ }
int wID = mte.getWorld().provider.dimensionId;
- sparkList.add(new Util.thaumSpark(x,y,z,xR,yR,zR,wID));
+ sparkList.add(new Util.thaumSpark(x, y, z, xR, yR, zR, wID));
}
@Override
|