aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com
diff options
context:
space:
mode:
authorBass <tudurap.com@gmail.com>2019-08-21 15:56:13 +0100
committerBass <tudurap.com@gmail.com>2019-08-21 15:56:13 +0100
commitc89ae96bd0b9d8328386511ee0df1920d4f0bcf3 (patch)
tree5f5740f80d48195cd0dd1de8a3c0468b5b3ebde4 /src/main/java/com
parent32222a152686e1fb8ce65c9436b25640845080a8 (diff)
downloadGT5-Unofficial-c89ae96bd0b9d8328386511ee0df1920d4f0bcf3.tar.gz
GT5-Unofficial-c89ae96bd0b9d8328386511ee0df1920d4f0bcf3.tar.bz2
GT5-Unofficial-c89ae96bd0b9d8328386511ee0df1920d4f0bcf3.zip
Tesla omnidirectionallity
Diffstat (limited to 'src/main/java/com')
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_teslaCoil.java420
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_TeslaCoil.java6
2 files changed, 215 insertions, 211 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 ac399aeb0d..5a003f4eec 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
@@ -47,7 +47,6 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock
private static Textures.BlockIcons.CustomIcon ScreenON;
private int mTier = 0; //Determines max voltage and efficiency (MV to LuV)
- private int minTier = 1; //Min tier for efficiency calcuation
private int maxTier = 6; //Max tier for efficiency calcuation
private float energyEfficiency = 1;
@@ -67,30 +66,13 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock
private long outputCurrentMax = 0; //Tesla current output limited by capacitors
//Prevents unnecessary offset calculation
- private byte oldRotation;
- private byte oldOrientation;
-
- //Scan range fields
- private static int xPosScanMin;
- private static int xPosScanMax;
- private static int yPosScan0;
- private static int yPosScan1;
- private static int yPosScan2;
- private static int yPosScan3;
- private static int yPosScan4;
- private static int yPosScan5;
- private static int zPosScanMin;
- private static int zPosScanMax;
-
- //Power Transfer Origin
- private int xPosZap;
- private int yPosZap;
- private int zPosZap;
-
- //Lightning Origin
- public int xPosTop;
- public int yPosTop;
- public int zPosTop;
+ private byte oldRotation = -1;
+ private byte oldOrientation = -1;
+
+ //Coordinate Arrays
+ private int[][] scanPosOffsets = new int[10][3];
+ private int[] posZap = new int[3];//Power Transfer Origin
+ public int[] posTop = new int[3];//Lightning Origin
//region structure
private static final String[][] shape = new String[][]{//3 16 0
@@ -102,16 +84,16 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock
{E, "B000", "B000", "B000", "\u0001", "B000", E, "B000", E, "B000", E, "B000", "\u0001", "B111", " 22222 ",},
{"\u000F", "A ",},
};
- private static final Block[] blockType = new Block[]{sBlockCasingsBA0,sBlockCasingsBA0,sBlockCasingsBA0,sBlockCasingsBA0};
+ private static final Block[] blockType = new Block[]{sBlockCasingsBA0, sBlockCasingsBA0, sBlockCasingsBA0, sBlockCasingsBA0};
private static final byte[] blockMetaT0 = new byte[]{7, 0, 6, 8};
private static final byte[] blockMetaT1 = new byte[]{7, 1, 6, 8};
private static final byte[] blockMetaT2 = new byte[]{7, 2, 6, 8};
private static final byte[] blockMetaT3 = new byte[]{7, 3, 6, 8};
private static final byte[] blockMetaT4 = new byte[]{7, 4, 6, 8};
private static final byte[] blockMetaT5 = new byte[]{7, 5, 6, 8};
- private static final byte[][] blockMetas = new byte[][]{blockMetaT0,blockMetaT1,blockMetaT2,blockMetaT3,blockMetaT4,blockMetaT5};
+ private static final byte[][] blockMetas = new byte[][]{blockMetaT0, blockMetaT1, blockMetaT2, blockMetaT3, blockMetaT4, blockMetaT5};
private final IHatchAdder[] addingMethods = new IHatchAdder[]{this::addCapacitorToMachineList, this::addFrameToMachineList};
- private static final short[] casingTextures = new short[]{(texturePage << 7)+16+6, 0};
+ private static final short[] casingTextures = new short[]{(texturePage << 7) + 16 + 6, 0};
private static final Block[] blockTypeFallback = new Block[]{sBlockCasingsBA0, null};
private static final byte[] blockMetaFallback = new byte[]{6, 0};
private static final String[] description = new String[]{
@@ -122,112 +104,114 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock
//endregion
//region parameters
- protected Parameters.Group.ParameterIn popogaSetting,histLowSetting,histHighSetting,transferRadiusTowerSetting,transferRadiusTransceiverSetting,transferRadiusCoverUltimateSetting,outputVoltageSetting,outputCurrentSetting,scanTimeMinSetting,overDriveSetting;
- protected Parameters.Group.ParameterOut popogaDisplay,transferRadiusTowerDisplay,transferRadiusTransceiverDisplay,transferRadiusCoverUltimateDisplay,outputVoltageDisplay,outputCurrentDisplay,energyCapacityDisplay,energyStoredDisplay,energyFractionDisplay,scanTimeDisplay;
-
- private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> HYSTERESIS_LOW_SETTING_NAME = (base, p)-> "Hysteresis low setting";
- private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> HYSTERESIS_HIGH_SETTING_NAME = (base, p)-> "Hysteresis high setting";
- private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> TRANSFER_RADIUS_TOWER_SETTING_NAME = (base, p)-> "Tesla Towers transfer radius setting";
- private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> TRANSFER_RADIUS_TRANSCEIVER_SETTING_NAME = (base, p)-> "Tesla Transceiver transfer radius setting";
- private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> TRANSFER_RADIUS_COVER_ULTIMATE_SETTING_NAME = (base, p)-> "Tesla Ultimate Cover transfer radius setting";
- private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> OUTPUT_VOLTAGE_SETTING_NAME = (base, p)-> "Output voltage setting";
- private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> OUTPUT_CURRENT_SETTING_NAME = (base, p)-> "Output current setting";
- private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> SCAN_TIME_MIN_SETTING_NAME = (base, p)-> "Scan time Min setting";
- private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> OVERDRIVE_SETTING_NAME = (base, p)-> "Overdrive setting";
- private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> POPOGA_NAME = (base, p)-> "Unused";
-
- private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> TRANSFER_RADIUS_TOWER_DISPLAY_NAME = (base, p)-> "Tesla Towers transfer radius display";
- private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> TRANSFER_RADIUS_TRANSCEIVER_DISPLAY_NAME = (base, p)-> "Tesla Transceiver transfer radius display";
- private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> TRANSFER_RADIUS_COVER_ULTIMATE_DISPLAY_NAME = (base, p)-> "Tesla Ultimate Cover transfer radius display";
- private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> OUTPUT_VOLTAGE_DISPLAY_NAME = (base, p)-> "Output voltage display";
- private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> OUTPUT_CURRENT_DISPLAY_NAME = (base, p)-> "Output current display";
- private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> ENERGY_CAPACITY_DISPLAY_NAME = (base, p)-> "Energy Capacity display";
- private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> ENERGY_STORED_DISPLAY_NAME = (base, p)-> "Energy Stored display";
- private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> ENERGY_FRACTION_DISPLAY_NAME = (base, p)-> "Energy Fraction display";
- private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> SCAN_TIME_DISPLAY_NAME = (base, p)-> "Scan time display";
-
- private static final IStatusFunction<GT_MetaTileEntity_TM_teslaCoil> HYSTERESIS_LOW_STATUS=(base, p)->{
- double value=p.get();
- if(Double.isNaN(value)){return STATUS_WRONG;}
- if(value<=0.05) return STATUS_TOO_LOW;
- if(value>base.histHighSetting.get()) return STATUS_TOO_HIGH;
+ protected Parameters.Group.ParameterIn popogaSetting, histLowSetting, histHighSetting, transferRadiusTowerSetting, transferRadiusTransceiverSetting, transferRadiusCoverUltimateSetting, outputVoltageSetting, outputCurrentSetting, scanTimeMinSetting, overDriveSetting;
+ protected Parameters.Group.ParameterOut popogaDisplay, transferRadiusTowerDisplay, transferRadiusTransceiverDisplay, transferRadiusCoverUltimateDisplay, outputVoltageDisplay, outputCurrentDisplay, energyCapacityDisplay, energyStoredDisplay, energyFractionDisplay, scanTimeDisplay;
+
+ private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> HYSTERESIS_LOW_SETTING_NAME = (base, p) -> "Hysteresis low setting";
+ private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> HYSTERESIS_HIGH_SETTING_NAME = (base, p) -> "Hysteresis high setting";
+ private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> TRANSFER_RADIUS_TOWER_SETTING_NAME = (base, p) -> "Tesla Towers transfer radius setting";
+ private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> TRANSFER_RADIUS_TRANSCEIVER_SETTING_NAME = (base, p) -> "Tesla Transceiver transfer radius setting";
+ private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> TRANSFER_RADIUS_COVER_ULTIMATE_SETTING_NAME = (base, p) -> "Tesla Ultimate Cover transfer radius setting";
+ private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> OUTPUT_VOLTAGE_SETTING_NAME = (base, p) -> "Output voltage setting";
+ private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> OUTPUT_CURRENT_SETTING_NAME = (base, p) -> "Output current setting";
+ private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> SCAN_TIME_MIN_SETTING_NAME = (base, p) -> "Scan time Min setting";
+ private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> OVERDRIVE_SETTING_NAME = (base, p) -> "Overdrive setting";
+ private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> POPOGA_NAME = (base, p) -> "Unused";
+
+ private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> TRANSFER_RADIUS_TOWER_DISPLAY_NAME = (base, p) -> "Tesla Towers transfer radius display";
+ private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> TRANSFER_RADIUS_TRANSCEIVER_DISPLAY_NAME = (base, p) -> "Tesla Transceiver transfer radius display";
+ private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> TRANSFER_RADIUS_COVER_ULTIMATE_DISPLAY_NAME = (base, p) -> "Tesla Ultimate Cover transfer radius display";
+ private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> OUTPUT_VOLTAGE_DISPLAY_NAME = (base, p) -> "Output voltage display";
+ private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> OUTPUT_CURRENT_DISPLAY_NAME = (base, p) -> "Output current display";
+ private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> ENERGY_CAPACITY_DISPLAY_NAME = (base, p) -> "Energy Capacity display";
+ private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> ENERGY_STORED_DISPLAY_NAME = (base, p) -> "Energy Stored display";
+ private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> ENERGY_FRACTION_DISPLAY_NAME = (base, p) -> "Energy Fraction display";
+ private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> SCAN_TIME_DISPLAY_NAME = (base, p) -> "Scan time display";
+
+ private static final IStatusFunction<GT_MetaTileEntity_TM_teslaCoil> HYSTERESIS_LOW_STATUS = (base, p) -> {
+ double value = p.get();
+ if (Double.isNaN(value)) {
+ return STATUS_WRONG;
+ }
+ if (value <= 0.05) return STATUS_TOO_LOW;
+ if (value > base.histHighSetting.get()) return STATUS_TOO_HIGH;
return STATUS_OK;
};
- private static final IStatusFunction<GT_MetaTileEntity_TM_teslaCoil> HYSTERESIS_HIGH_STATUS=(base, p)->{
- double value=p.get();
- if(Double.isNaN(value)) return STATUS_WRONG;
- if(value<=base.histLowSetting.get()) return STATUS_TOO_LOW;
- if(value>0.95) return STATUS_TOO_HIGH;
+ private static final IStatusFunction<GT_MetaTileEntity_TM_teslaCoil> HYSTERESIS_HIGH_STATUS = (base, p) -> {
+ double value = p.get();
+ if (Double.isNaN(value)) return STATUS_WRONG;
+ if (value <= base.histLowSetting.get()) return STATUS_TOO_LOW;
+ if (value > 0.95) return STATUS_TOO_HIGH;
return STATUS_OK;
};
- private static final IStatusFunction<GT_MetaTileEntity_TM_teslaCoil> TRANSFER_RADIUS_TOWER_STATUS=(base, p)->{
- double value=p.get();
- if(Double.isNaN(value)) return STATUS_WRONG;
- value=(int)value;
- if(value<0) return STATUS_TOO_LOW;
- if(value>40) return STATUS_TOO_HIGH;
- if(value<32) return STATUS_LOW;
+ private static final IStatusFunction<GT_MetaTileEntity_TM_teslaCoil> TRANSFER_RADIUS_TOWER_STATUS = (base, p) -> {
+ double value = p.get();
+ if (Double.isNaN(value)) return STATUS_WRONG;
+ value = (int) value;
+ if (value < 0) return STATUS_TOO_LOW;
+ if (value > 40) return STATUS_TOO_HIGH;
+ if (value < 32) return STATUS_LOW;
return STATUS_OK;
};
- private static final IStatusFunction<GT_MetaTileEntity_TM_teslaCoil> TRANSFER_RADIUS_TRANSCEIVER_OR_COVER_ULTIMATE_STATUS=(base, p)->{
- double value=p.get();
- if(Double.isNaN(value)) return STATUS_WRONG;
- value=(int)value;
- if(value<0) return STATUS_TOO_LOW;
- if(value>20) return STATUS_TOO_HIGH;
- if(value<16) return STATUS_LOW;
+ private static final IStatusFunction<GT_MetaTileEntity_TM_teslaCoil> TRANSFER_RADIUS_TRANSCEIVER_OR_COVER_ULTIMATE_STATUS = (base, p) -> {
+ double value = p.get();
+ if (Double.isNaN(value)) return STATUS_WRONG;
+ value = (int) value;
+ if (value < 0) return STATUS_TOO_LOW;
+ if (value > 20) return STATUS_TOO_HIGH;
+ if (value < 16) return STATUS_LOW;
return STATUS_OK;
};
- private static final IStatusFunction<GT_MetaTileEntity_TM_teslaCoil> OUTPUT_VOLTAGE_OR_CURRENT_STATUS=(base, p)->{
- double value=p.get();
- if(Double.isNaN(value)) return STATUS_WRONG;
- value=(long)value;
- if(value==-1) return STATUS_OK;
- if(value<=0) return STATUS_TOO_LOW;
+ private static final IStatusFunction<GT_MetaTileEntity_TM_teslaCoil> OUTPUT_VOLTAGE_OR_CURRENT_STATUS = (base, p) -> {
+ double value = p.get();
+ if (Double.isNaN(value)) return STATUS_WRONG;
+ value = (long) value;
+ if (value == -1) return STATUS_OK;
+ if (value <= 0) return STATUS_TOO_LOW;
return STATUS_OK;
};
- private static final IStatusFunction<GT_MetaTileEntity_TM_teslaCoil> SCAN_TIME_MIN_STATUS=(base, p)->{
- double value=p.get();
- if(Double.isNaN(value)) return STATUS_WRONG;
- value=(int)value;
- if(value<100) return STATUS_TOO_LOW;
- if(value==100) return STATUS_OK;
+ private static final IStatusFunction<GT_MetaTileEntity_TM_teslaCoil> SCAN_TIME_MIN_STATUS = (base, p) -> {
+ double value = p.get();
+ if (Double.isNaN(value)) return STATUS_WRONG;
+ value = (int) value;
+ if (value < 100) return STATUS_TOO_LOW;
+ if (value == 100) return STATUS_OK;
return STATUS_HIGH;
};
- private static final IStatusFunction<GT_MetaTileEntity_TM_teslaCoil> OVERDRIVE_STATUS=(base, p)->{
- double value=p.get();
- if(Double.isNaN(value)) return STATUS_WRONG;
- value=(int)value;
- if(value<0) return STATUS_TOO_LOW;
- if(value==0) return STATUS_LOW;
+ private static final IStatusFunction<GT_MetaTileEntity_TM_teslaCoil> OVERDRIVE_STATUS = (base, p) -> {
+ double value = p.get();
+ if (Double.isNaN(value)) return STATUS_WRONG;
+ value = (int) value;
+ if (value < 0) return STATUS_TOO_LOW;
+ if (value == 0) return STATUS_LOW;
return STATUS_HIGH;
};
- private static final IStatusFunction<GT_MetaTileEntity_TM_teslaCoil> POPOGA_STATUS=(base, p)->{
- if(base.getBaseMetaTileEntity().getWorld().isThundering()){
+ private static final IStatusFunction<GT_MetaTileEntity_TM_teslaCoil> POPOGA_STATUS = (base, p) -> {
+ if (base.getBaseMetaTileEntity().getWorld().isThundering()) {
return STATUS_WTF;
}
return STATUS_NEUTRAL;
};
- private static final IStatusFunction<GT_MetaTileEntity_TM_teslaCoil> SCAN_TIME_STATUS=(base, p)->{
- double value=p.get();
- if(Double.isNaN(value)) return STATUS_WRONG;
- value=(int)value;
- if(value==0||value==20||value==40||value==60||value==80) return STATUS_HIGH;
+ private static final IStatusFunction<GT_MetaTileEntity_TM_teslaCoil> SCAN_TIME_STATUS = (base, p) -> {
+ double value = p.get();
+ if (Double.isNaN(value)) return STATUS_WRONG;
+ value = (int) value;
+ if (value == 0 || value == 20 || value == 40 || value == 60 || value == 80) return STATUS_HIGH;
return STATUS_LOW;
};
- private static final IStatusFunction<GT_MetaTileEntity_TM_teslaCoil> POWER_STATUS=(base, p)-> {
+ private static final IStatusFunction<GT_MetaTileEntity_TM_teslaCoil> POWER_STATUS = (base, p) -> {
double value = p.get();
if (Double.isNaN(value)) return STATUS_WRONG;
- value=(long)value;
+ value = (long) value;
if (value > 0) {
return STATUS_OK;
} else {
return STATUS_LOW;
}
};
- private static final IStatusFunction<GT_MetaTileEntity_TM_teslaCoil> ENERGY_STATUS=(base, p)->{
- double value=p.get();
- if(Double.isNaN(value)) return STATUS_WRONG;
+ private static final IStatusFunction<GT_MetaTileEntity_TM_teslaCoil> ENERGY_STATUS = (base, p) -> {
+ double value = p.get();
+ if (Double.isNaN(value)) return STATUS_WRONG;
if (base.energyFractionDisplay.get() > base.histHighSetting.get()) {
return STATUS_HIGH;
} else if (base.energyFractionDisplay.get() < base.histLowSetting.get()) {
@@ -248,58 +232,58 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock
@Override
protected void parametersInstantiation_EM() {
- Parameters.Group hatch_0=parametrization.getGroup(0, true);
- Parameters.Group hatch_1=parametrization.getGroup(1, true);
- Parameters.Group hatch_2=parametrization.getGroup(2, true);
- Parameters.Group hatch_3=parametrization.getGroup(3, true);
- Parameters.Group hatch_4=parametrization.getGroup(4, true);
- Parameters.Group hatch_5=parametrization.getGroup(5, true);
- Parameters.Group hatch_6=parametrization.getGroup(6, true);
- Parameters.Group hatch_7=parametrization.getGroup(7, true);
- Parameters.Group hatch_8=parametrization.getGroup(8, true);
- Parameters.Group hatch_9=parametrization.getGroup(9, true);
-
- histLowSetting=hatch_0.makeInParameter(0,0.25, HYSTERESIS_LOW_SETTING_NAME,HYSTERESIS_LOW_STATUS);
- popogaSetting=hatch_0.makeInParameter(1,0, POPOGA_NAME,POPOGA_STATUS);
- histHighSetting=hatch_1.makeInParameter(0,0.75, HYSTERESIS_HIGH_SETTING_NAME,HYSTERESIS_HIGH_STATUS);
- popogaSetting=hatch_1.makeInParameter(1,0, POPOGA_NAME,POPOGA_STATUS);
- transferRadiusTowerSetting=hatch_2.makeInParameter(0,32, TRANSFER_RADIUS_TOWER_SETTING_NAME,TRANSFER_RADIUS_TOWER_STATUS);
- popogaSetting=hatch_2.makeInParameter(1,0, POPOGA_NAME,POPOGA_STATUS);
- transferRadiusTransceiverSetting=hatch_3.makeInParameter(0,16, TRANSFER_RADIUS_TRANSCEIVER_SETTING_NAME,TRANSFER_RADIUS_TRANSCEIVER_OR_COVER_ULTIMATE_STATUS);
- transferRadiusCoverUltimateSetting=hatch_3.makeInParameter(1,16, TRANSFER_RADIUS_COVER_ULTIMATE_SETTING_NAME,TRANSFER_RADIUS_TRANSCEIVER_OR_COVER_ULTIMATE_STATUS);
- outputVoltageSetting=hatch_4.makeInParameter(0,-1, OUTPUT_VOLTAGE_SETTING_NAME,OUTPUT_VOLTAGE_OR_CURRENT_STATUS);
- popogaSetting=hatch_4.makeInParameter(1,0, POPOGA_NAME,POPOGA_STATUS);
- outputCurrentSetting=hatch_5.makeInParameter(0,-1, OUTPUT_CURRENT_SETTING_NAME,OUTPUT_VOLTAGE_OR_CURRENT_STATUS);
- popogaSetting=hatch_5.makeInParameter(1,0, POPOGA_NAME,POPOGA_STATUS);
- popogaSetting=hatch_6.makeInParameter(0,0, POPOGA_NAME,POPOGA_STATUS);
- popogaSetting=hatch_6.makeInParameter(1,0, POPOGA_NAME,POPOGA_STATUS);
- scanTimeMinSetting=hatch_7.makeInParameter(0,100, SCAN_TIME_MIN_SETTING_NAME,SCAN_TIME_MIN_STATUS);
- popogaSetting=hatch_7.makeInParameter(1,0, POPOGA_NAME,POPOGA_STATUS);
- overDriveSetting=hatch_8.makeInParameter(0,0, OVERDRIVE_SETTING_NAME,OVERDRIVE_STATUS);
- popogaSetting=hatch_8.makeInParameter(1,0, POPOGA_NAME,POPOGA_STATUS);
- popogaSetting=hatch_9.makeInParameter(0,0, POPOGA_NAME,POPOGA_STATUS);
- popogaSetting=hatch_9.makeInParameter(1,0, POPOGA_NAME,POPOGA_STATUS);
-
- popogaDisplay=hatch_0.makeOutParameter(0,0, POPOGA_NAME,POPOGA_STATUS);
- popogaDisplay=hatch_0.makeOutParameter(1,0, POPOGA_NAME,POPOGA_STATUS);
- popogaDisplay=hatch_1.makeOutParameter(0,0, POPOGA_NAME,POPOGA_STATUS);
- popogaDisplay=hatch_1.makeOutParameter(1,0, POPOGA_NAME,POPOGA_STATUS);
- transferRadiusTowerDisplay=hatch_2.makeOutParameter(0,0, TRANSFER_RADIUS_TOWER_DISPLAY_NAME,TRANSFER_RADIUS_TOWER_STATUS);
- popogaDisplay=hatch_2.makeOutParameter(1,0, POPOGA_NAME,POPOGA_STATUS);
- transferRadiusTransceiverDisplay=hatch_3.makeOutParameter(0,0, TRANSFER_RADIUS_TRANSCEIVER_DISPLAY_NAME,TRANSFER_RADIUS_TRANSCEIVER_OR_COVER_ULTIMATE_STATUS);
- transferRadiusCoverUltimateDisplay=hatch_3.makeOutParameter(1,0, TRANSFER_RADIUS_COVER_ULTIMATE_DISPLAY_NAME,TRANSFER_RADIUS_TRANSCEIVER_OR_COVER_ULTIMATE_STATUS);
- outputVoltageDisplay=hatch_4.makeOutParameter(0,0, OUTPUT_VOLTAGE_DISPLAY_NAME,POWER_STATUS);
- popogaDisplay=hatch_4.makeOutParameter(1,0, POPOGA_NAME,POPOGA_STATUS);
- outputCurrentDisplay=hatch_5.makeOutParameter(0,0, OUTPUT_CURRENT_DISPLAY_NAME,POWER_STATUS);
- energyCapacityDisplay=hatch_5.makeOutParameter(1,0, ENERGY_CAPACITY_DISPLAY_NAME,ENERGY_STATUS);
- energyStoredDisplay=hatch_6.makeOutParameter(0,0, ENERGY_STORED_DISPLAY_NAME,ENERGY_STATUS);
- energyFractionDisplay=hatch_6.makeOutParameter(1,0, ENERGY_FRACTION_DISPLAY_NAME,ENERGY_STATUS);
- scanTimeDisplay=hatch_7.makeOutParameter(0,0, SCAN_TIME_DISPLAY_NAME,SCAN_TIME_STATUS);
- popogaDisplay=hatch_7.makeOutParameter(1,0, POPOGA_NAME,POPOGA_STATUS);
- popogaDisplay=hatch_8.makeOutParameter(0,0, POPOGA_NAME,POPOGA_STATUS);
- popogaDisplay=hatch_8.makeOutParameter(1,0, POPOGA_NAME,POPOGA_STATUS);
- popogaDisplay=hatch_9.makeOutParameter(0,0, POPOGA_NAME,POPOGA_STATUS);
- popogaDisplay=hatch_9.makeOutParameter(1,0, POPOGA_NAME,POPOGA_STATUS);
+ Parameters.Group hatch_0 = parametrization.getGroup(0, true);
+ Parameters.Group hatch_1 = parametrization.getGroup(1, true);
+ Parameters.Group hatch_2 = parametrization.getGroup(2, true);
+ Parameters.Group hatch_3 = parametrization.getGroup(3, true);
+ Parameters.Group hatch_4 = parametrization.getGroup(4, true);
+ Parameters.Group hatch_5 = parametrization.getGroup(5, true);
+ Parameters.Group hatch_6 = parametrization.getGroup(6, true);
+ Parameters.Group hatch_7 = parametrization.getGroup(7, true);
+ Parameters.Group hatch_8 = parametrization.getGroup(8, true);
+ Parameters.Group hatch_9 = parametrization.getGroup(9, true);
+
+ histLowSetting = hatch_0.makeInParameter(0, 0.25, HYSTERESIS_LOW_SETTING_NAME, HYSTERESIS_LOW_STATUS);
+ popogaSetting = hatch_0.makeInParameter(1, 0, POPOGA_NAME, POPOGA_STATUS);
+ histHighSetting = hatch_1.makeInParameter(0, 0.75, HYSTERESIS_HIGH_SETTING_NAME, HYSTERESIS_HIGH_STATUS);
+ popogaSetting = hatch_1.makeInParameter(1, 0, POPOGA_NAME, POPOGA_STATUS);
+ transferRadiusTowerSetting = hatch_2.makeInParameter(0, 32, TRANSFER_RADIUS_TOWER_SETTING_NAME, TRANSFER_RADIUS_TOWER_STATUS);
+ popogaSetting = hatch_2.makeInParameter(1, 0, POPOGA_NAME, POPOGA_STATUS);
+ transferRadiusTransceiverSetting = hatch_3.makeInParameter(0, 16, TRANSFER_RADIUS_TRANSCEIVER_SETTING_NAME, TRANSFER_RADIUS_TRANSCEIVER_OR_COVER_ULTIMATE_STATUS);
+ transferRadiusCoverUltimateSetting = hatch_3.makeInParameter(1, 16, TRANSFER_RADIUS_COVER_ULTIMATE_SETTING_NAME, TRANSFER_RADIUS_TRANSCEIVER_OR_COVER_ULTIMATE_STATUS);
+ outputVoltageSetting = hatch_4.makeInParameter(0, -1, OUTPUT_VOLTAGE_SETTING_NAME, OUTPUT_VOLTAGE_OR_CURRENT_STATUS);
+ popogaSetting = hatch_4.makeInParameter(1, 0, POPOGA_NAME, POPOGA_STATUS);
+ outputCurrentSetting = hatch_5.makeInParameter(0, -1, OUTPUT_CURRENT_SETTING_NAME, OUTPUT_VOLTAGE_OR_CURRENT_STATUS);
+ popogaSetting = hatch_5.makeInParameter(1, 0, POPOGA_NAME, POPOGA_STATUS);
+ popogaSetting = hatch_6.makeInParameter(0, 0, POPOGA_NAME, POPOGA_STATUS);
+ popogaSetting = hatch_6.makeInParameter(1, 0, POPOGA_NAME, POPOGA_STATUS);
+ scanTimeMinSetting = hatch_7.makeInParameter(0, 100, SCAN_TIME_MIN_SETTING_NAME, SCAN_TIME_MIN_STATUS);
+ popogaSetting = hatch_7.makeInParameter(1, 0, POPOGA_NAME, POPOGA_STATUS);
+ overDriveSetting = hatch_8.makeInParameter(0, 0, OVERDRIVE_SETTING_NAME, OVERDRIVE_STATUS);
+ popogaSetting = hatch_8.makeInParameter(1, 0, POPOGA_NAME, POPOGA_STATUS);
+ popogaSetting = hatch_9.makeInParameter(0, 0, POPOGA_NAME, POPOGA_STATUS);
+ popogaSetting = hatch_9.makeInParameter(1, 0, POPOGA_NAME, POPOGA_STATUS);
+
+ popogaDisplay = hatch_0.makeOutParameter(0, 0, POPOGA_NAME, POPOGA_STATUS);
+ popogaDisplay = hatch_0.makeOutParameter(1, 0, POPOGA_NAME, POPOGA_STATUS);
+ popogaDisplay = hatch_1.makeOutParameter(0, 0, POPOGA_NAME, POPOGA_STATUS);
+ popogaDisplay = hatch_1.makeOutParameter(1, 0, POPOGA_NAME, POPOGA_STATUS);
+ transferRadiusTowerDisplay = hatch_2.makeOutParameter(0, 0, TRANSFER_RADIUS_TOWER_DISPLAY_NAME, TRANSFER_RADIUS_TOWER_STATUS);
+ popogaDisplay = hatch_2.makeOutParameter(1, 0, POPOGA_NAME, POPOGA_STATUS);
+ transferRadiusTransceiverDisplay = hatch_3.makeOutParameter(0, 0, TRANSFER_RADIUS_TRANSCEIVER_DISPLAY_NAME, TRANSFER_RADIUS_TRANSCEIVER_OR_COVER_ULTIMATE_STATUS);
+ transferRadiusCoverUltimateDisplay = hatch_3.makeOutParameter(1, 0, TRANSFER_RADIUS_COVER_ULTIMATE_DISPLAY_NAME, TRANSFER_RADIUS_TRANSCEIVER_OR_COVER_ULTIMATE_STATUS);
+ outputVoltageDisplay = hatch_4.makeOutParameter(0, 0, OUTPUT_VOLTAGE_DISPLAY_NAME, POWER_STATUS);
+ popogaDisplay = hatch_4.makeOutParameter(1, 0, POPOGA_NAME, POPOGA_STATUS);
+ outputCurrentDisplay = hatch_5.makeOutParameter(0, 0, OUTPUT_CURRENT_DISPLAY_NAME, POWER_STATUS);
+ energyCapacityDisplay = hatch_5.makeOutParameter(1, 0, ENERGY_CAPACITY_DISPLAY_NAME, ENERGY_STATUS);
+ energyStoredDisplay = hatch_6.makeOutParameter(0, 0, ENERGY_STORED_DISPLAY_NAME, ENERGY_STATUS);
+ energyFractionDisplay = hatch_6.makeOutParameter(1, 0, ENERGY_FRACTION_DISPLAY_NAME, ENERGY_STATUS);
+ scanTimeDisplay = hatch_7.makeOutParameter(0, 0, SCAN_TIME_DISPLAY_NAME, SCAN_TIME_STATUS);
+ popogaDisplay = hatch_7.makeOutParameter(1, 0, POPOGA_NAME, POPOGA_STATUS);
+ popogaDisplay = hatch_8.makeOutParameter(0, 0, POPOGA_NAME, POPOGA_STATUS);
+ popogaDisplay = hatch_8.makeOutParameter(1, 0, POPOGA_NAME, POPOGA_STATUS);
+ popogaDisplay = hatch_9.makeOutParameter(0, 0, POPOGA_NAME, POPOGA_STATUS);
+ popogaDisplay = hatch_9.makeOutParameter(1, 0, POPOGA_NAME, POPOGA_STATUS);
}
@Override
@@ -318,26 +302,26 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock
@Override
public void saveNBTData(NBTTagCompound aNBT) {
super.saveNBTData(aNBT);
- aNBT.setLong("eEnergyCapacity",energyCapacity);
+ aNBT.setLong("eEnergyCapacity", energyCapacity);
}
@Override
public void loadNBTData(NBTTagCompound aNBT) {
super.loadNBTData(aNBT);
- energyCapacity=aNBT.getLong("eEnergyCapacity");
+ energyCapacity = aNBT.getLong("eEnergyCapacity");
}
private long getEnergyEfficiency(long voltage, int distance, boolean overDriveToggle) {
if (overDriveToggle) {
- return (long)((voltage * 2) - (voltage * Math.pow(overdriveEfficiency, distance)));
+ return (long) ((voltage * 2) - (voltage * Math.pow(overdriveEfficiency, distance)));
} else {
- return (long)(voltage * Math.pow(energyEfficiency, distance));
+ return (long) (voltage * Math.pow(energyEfficiency, distance));
}
}
- private float getRangeMulti(int mTier, int vTier){
+ private float getRangeMulti(int mTier, int vTier) {
//Over-tiered coils will add +25% range
- if (vTier > mTier){
+ if (vTier > mTier) {
return 1.25F;
}
return 1F;
@@ -351,9 +335,9 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock
@Override
public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {
if (aSide == aFacing) {
- return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][16+6], new TT_RenderedTexture(aActive ? ScreenON : ScreenOFF)};
+ return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][16 + 6], new TT_RenderedTexture(aActive ? ScreenON : ScreenOFF)};
}
- return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][16+6]};
+ return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][16 + 6]};
}
@Override
@@ -403,33 +387,31 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock
//Calculate coordinates of the middle bottom
xyzOffsets = getTranslatedOffsets(0, 0, 2);
- xPosZap = iGregTechTileEntity.getXCoord() + xyzOffsets[0];
- yPosZap = iGregTechTileEntity.getYCoord() + xyzOffsets[1];
- zPosZap = iGregTechTileEntity.getZCoord() + xyzOffsets[2];
+ posZap[0] = iGregTechTileEntity.getXCoord() + xyzOffsets[0];
+ posZap[1] = iGregTechTileEntity.getYCoord() + xyzOffsets[1];
+ posZap[2] = iGregTechTileEntity.getZCoord() + xyzOffsets[2];
//Calculate coordinates of the top sphere
xyzOffsets = getTranslatedOffsets(0, -14, 2);
- xPosTop = iGregTechTileEntity.getXCoord() + xyzOffsets[0];
- yPosTop = iGregTechTileEntity.getYCoord() + xyzOffsets[1];
- zPosTop = iGregTechTileEntity.getZCoord() + xyzOffsets[2];
+ posTop[0] = iGregTechTileEntity.getXCoord() + xyzOffsets[0];
+ posTop[1] = iGregTechTileEntity.getYCoord() + xyzOffsets[1];
+ posTop[2] = iGregTechTileEntity.getZCoord() + xyzOffsets[2];
//Calculate offsets for scanning
- xyzOffsets = getTranslatedOffsets(40, 0, 43);
- xPosScanMin = xPosZap + xyzOffsets[0];
- yPosScan0 = yPosZap + xyzOffsets[1];
- zPosScanMin = zPosZap + xyzOffsets[2];
- xyzOffsets = getTranslatedOffsets(-40, -4, -37);
- yPosScan1 = yPosZap + xyzOffsets[1];
- xyzOffsets = getTranslatedOffsets(-40, -8, -37);
- yPosScan2 = yPosZap + xyzOffsets[1];
- xyzOffsets = getTranslatedOffsets(-40, -12, -37);
- yPosScan3 = yPosZap + xyzOffsets[1];
- xyzOffsets = getTranslatedOffsets(-40, -16, -37);
- yPosScan4 = yPosZap + xyzOffsets[1];
- xyzOffsets = getTranslatedOffsets(-40, -20, -37);
- xPosScanMax = xPosZap + xyzOffsets[0];
- yPosScan5 = yPosZap + xyzOffsets[1];
- zPosScanMax = zPosZap + xyzOffsets[2];
+ scanPosOffsets[0] = getTranslatedOffsets(40, 0, 43);
+ scanPosOffsets[1] = getTranslatedOffsets(-40, -4, -37);
+
+ scanPosOffsets[2] = getTranslatedOffsets(40, -5, 43);
+ scanPosOffsets[3] = getTranslatedOffsets(-40, -8, -37);
+
+ scanPosOffsets[4] = getTranslatedOffsets(40, -9, 43);
+ scanPosOffsets[5] = getTranslatedOffsets(-40, -12, -37);
+
+ scanPosOffsets[6] = getTranslatedOffsets(40, -13, 43);
+ scanPosOffsets[7] = getTranslatedOffsets(-40, -16, -37);
+
+ scanPosOffsets[8] = getTranslatedOffsets(40, -17, 43);
+ scanPosOffsets[9] = getTranslatedOffsets(-40, -20, -37);
}
return true;
}
@@ -483,7 +465,7 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock
}
//Calculate Efficiency values
- energyEfficiency = map(mTier + 1, minTier, maxTier, minEfficiency, maxEfficiency);
+ energyEfficiency = map(mTier + 1, 1, maxTier, minEfficiency, maxEfficiency);
overdriveEfficiency = energyEfficiency - overdriveEfficiencyExtra;
energyCapacity = 0;
@@ -517,24 +499,46 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock
return true;
}
- private void scanForTransmissionTargets(IGregTechTileEntity mte, int xMin, int yMin, int zMin, int xMax, int yMax, int zMax){
- int mX = mte.getXCoord();
- int mY = mte.getYCoord();
- int mZ = mte.getZCoord();
+ private void scanForTransmissionTargets(int[] coordsMin, int[] coordsMax) {
+ int xMin = coordsMin[0];
+ int yMin = coordsMin[1];
+ int zMin = coordsMin[2];
+
+ int xMax = coordsMax[0];
+ int yMax = coordsMax[1];
+ int zMax = coordsMax[2];
+
+ if (xMin > xMax) {
+ int xMax2 = xMin;
+ xMin = xMax;
+ xMax = xMax2;
+ }
+
+ if (yMin > yMax) {
+ int yMax2 = yMin;
+ yMin = yMax;
+ yMax = yMax2;
+ }
+
+ if (zMin > zMax) {
+ int zMax2 = zMin;
+ zMin = zMax;
+ zMax = zMax2;
+ }
for (int xPos = xMin; xPos <= xMax; xPos++) {
for (int yPos = yMin; yPos <= yMax; yPos++) {
for (int zPos = zMin; zPos <= zMax; zPos++) {
- if (mX == xPos && mY == yPos && mZ == zPos) {
+ if (xPos == 0 && yPos == 0 && zPos == 0) {
continue;
}
- IGregTechTileEntity node = getBaseMetaTileEntity().getIGregTechTileEntity(xPos,yPos,zPos);
+ IGregTechTileEntity node = getBaseMetaTileEntity().getIGregTechTileEntityOffset(xPos, yPos, zPos);
if (node == null) {
continue;
}
IMetaTileEntity nodeInside = node.getMetaTileEntity();
if (nodeInside instanceof GT_MetaTileEntity_TeslaCoil || nodeInside instanceof GT_MetaTileEntity_TM_teslaCoil && node.isActive() || (node.getCoverBehaviorAtSide((byte) 1) instanceof GT_Cover_TM_TeslaCoil)) {
- eTeslaMap.put(node, (int) Math.ceil(Math.sqrt(Math.pow(xPos,2) + Math.pow(yPos,2) + Math.pow(zPos,2))));
+ eTeslaMap.put(node, (int) Math.ceil(Math.sqrt(Math.pow(xPos, 2) + Math.pow(yPos, 2) + Math.pow(zPos, 2))));
}
}
}
@@ -543,13 +547,13 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock
}
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);
+ byte xR = (byte)(node.getXCoord() - posTop[0]);
+ byte yR = (byte)(node.getYCoord() - posTop[1]);
+ byte zR = (byte)(node.getZCoord() - posTop[2]);
int wID = mte.getWorld().provider.dimensionId;
- sparkList.add(new Util.thaumSpark(xPosTop,yPosTop,zPosTop,xR,yR,zR,wID));
+ sparkList.add(new Util.thaumSpark(posTop[0],posTop[1],posTop[2],xR,yR,zR,wID));
}
@Override
@@ -601,23 +605,23 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock
switch (scanTime) {
case 0:
scanTimeDisplay.updateStatus();
- scanForTransmissionTargets(mte, xPosScanMin, yPosScan0, zPosScanMin, xPosScanMax, yPosScan1 - 1, zPosScanMax);
+ scanForTransmissionTargets(scanPosOffsets[0],scanPosOffsets[1]);
break;
case 20:
scanTimeDisplay.updateStatus();
- scanForTransmissionTargets(mte, xPosScanMin, yPosScan1, zPosScanMin, xPosScanMax, yPosScan2 - 1, zPosScanMax);
+ scanForTransmissionTargets(scanPosOffsets[2],scanPosOffsets[3]);
break;
case 40:
scanTimeDisplay.updateStatus();
- scanForTransmissionTargets(mte, xPosScanMin, yPosScan2, zPosScanMin, xPosScanMax, yPosScan3 - 1, zPosScanMax);
+ scanForTransmissionTargets(scanPosOffsets[4],scanPosOffsets[5]);
break;
case 60:
scanTimeDisplay.updateStatus();
- scanForTransmissionTargets(mte, xPosScanMin, yPosScan3, zPosScanMin, xPosScanMax, yPosScan4 - 1, zPosScanMax);
+ scanForTransmissionTargets(scanPosOffsets[6],scanPosOffsets[7]);
break;
case 80:
scanTimeDisplay.updateStatus();
- scanForTransmissionTargets(mte, xPosScanMin, yPosScan4, zPosScanMin, xPosScanMax, yPosScan5, zPosScanMax);
+ scanForTransmissionTargets(scanPosOffsets[8],scanPosOffsets[9]);
break;
default:
if (scanTime == (int) scanTimeMinSetting.get() - 1) {
@@ -635,9 +639,9 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock
int tY = node.getYCoord();
int tZ = node.getZCoord();
- int tXN = xPosZap;
- int tYN = yPosZap;
- int tZN = zPosZap;
+ int tXN = posZap[0];
+ int tYN = posZap[1];
+ int tZN = posZap[2];
int tOffset = (int) Math.ceil(Math.sqrt(Math.pow(tX - tXN, 2) + Math.pow(tY - tYN, 2) + Math.pow(tZ - tZN, 2)));
teslaCoil.eTeslaMap.put(mte, tOffset);
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 4285f2b6f3..74a1834818 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
@@ -184,9 +184,9 @@ public class GT_MetaTileEntity_TeslaCoil extends GT_MetaTileEntity_BasicBatteryB
IMetaTileEntity nodeInside = node.getMetaTileEntity();
if (nodeInside instanceof GT_MetaTileEntity_TM_teslaCoil) {
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);
+ xR = (byte) (nodeTesla.posTop[0] - x);
+ yR = (byte) (nodeTesla.posTop[1] - y);
+ zR = (byte) (nodeTesla.posTop[2] - z);
} else {
xR = (byte) (node.getXCoord() - x);
yR = (byte) (node.getYCoord() - y);