aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com
diff options
context:
space:
mode:
authorBass <tudurap.com@gmail.com>2019-08-17 12:08:52 +0100
committerBass <tudurap.com@gmail.com>2019-08-17 12:08:52 +0100
commitd3ce9e9b2df98c4ea85497814e69ce86b74c74a0 (patch)
treec7b150cc5a8e5b36f0d474bb388a3e9c93f90a61 /src/main/java/com
parente8b5ae1a46ed2e207c8c428bfa0aa2c1dc1219db (diff)
downloadGT5-Unofficial-d3ce9e9b2df98c4ea85497814e69ce86b74c74a0.tar.gz
GT5-Unofficial-d3ce9e9b2df98c4ea85497814e69ce86b74c74a0.tar.bz2
GT5-Unofficial-d3ce9e9b2df98c4ea85497814e69ce86b74c74a0.zip
Lightning alignment bettered
Diffstat (limited to 'src/main/java/com')
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_teslaCoil.java41
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_TeslaCoil.java22
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