diff options
| author | Bass <tudurap.com@gmail.com> | 2019-02-12 11:26:39 +0000 |
|---|---|---|
| committer | Bass <tudurap.com@gmail.com> | 2019-02-12 11:26:39 +0000 |
| commit | 9a0d99ffd15ef9332f206293b5f0a56f2c8c13d4 (patch) | |
| tree | d78a026164d1f029ba3525a960ce5a579a71a575 /src | |
| parent | 3218e5bdbfbf2c4769ae57f61c312af26ae315d6 (diff) | |
| download | GT5-Unofficial-9a0d99ffd15ef9332f206293b5f0a56f2c8c13d4.tar.gz GT5-Unofficial-9a0d99ffd15ef9332f206293b5f0a56f2c8c13d4.tar.bz2 GT5-Unofficial-9a0d99ffd15ef9332f206293b5f0a56f2c8c13d4.zip | |
Float counting is bad?
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_TeslaCoil.java | 39 |
1 files changed, 17 insertions, 22 deletions
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 83d1e4e7df..162204de01 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 @@ -26,11 +26,15 @@ public class GT_MetaTileEntity_TeslaCoil extends GT_MetaTileEntity_BasicBatteryB private ArrayList<GT_MetaTileEntity_TM_teslaCoil> eTeslaTowerList = new ArrayList<>(); //Makes a list for BIGG Teslas
- private float histStep = 0.05F; //Hysteresis Resolution
- private float histLow = 0.25F; //Power pass is disabled if power is under this fraction
- private float histHigh = 0.75F; //Power pass is enabled if power is over this fraction
- private float histLowLimit = 0.05F; //How low can you configure it?
- private float histHighLimit = 0.95F; //How high can you configure it?
+ private int histSteps = 20; //Hysteresis Resolution
+ private int histSettingLow = 3;
+ private int histSettingHigh = 15;
+ private int histLowLimit = 1; //How low can you configure it?
+ private int histHighLimit = histSteps-1; //How high can you configure it?
+
+ private float histLow = (float)histSettingLow/histSteps; //Power pass is disabled if power is under this fraction
+ private float histHigh = (float)histSettingHigh/histSteps; //Power pass is enabled if power is over this fraction
+
private int scanRadiusTower = 64; //Radius for tower to tower transfers
@@ -38,15 +42,6 @@ public class GT_MetaTileEntity_TeslaCoil extends GT_MetaTileEntity_BasicBatteryB private long outputCurrent = 1; //Tesla Current Output
private long outputEuT = outputVoltage * outputCurrent; //Tesla Power Output
- //All credit to ivan-stin who gave a solution at https://stackoverflow.com/questions/8911356/whats-the-best-practice-to-round-a-float-to-2-decimals
- public static float round2(float number, int scale) {
- int pow = 10;
- for (int i = 1; i < scale; i++)
- pow *= 10;
- float tmp = number * pow;
- return ( (float) ( (int) ((tmp - (int) tmp) >= 0.5f ? tmp + 1 : tmp) ) ) / pow;
- }
-
public GT_MetaTileEntity_TeslaCoil(int aID, String aName, String aNameRegional, int aTier, int aSlotCount) {
super(aID, aName, aNameRegional, aTier, "Tesla Coil Transceiver", aSlotCount);
Util.setTier(aTier, this);
@@ -58,20 +53,20 @@ public class GT_MetaTileEntity_TeslaCoil extends GT_MetaTileEntity_BasicBatteryB public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) {
if (aPlayer.isSneaking()) {
- if (histHigh < histHighLimit) {
- histHigh += histStep;
+ if (histSettingHigh<histHighLimit) {
+ histSettingHigh++;
} else {
- histHigh = histLow + histStep;
+ histSettingHigh=histSettingLow+1;
}
- histHigh = round2(histHigh,2);
+ histHigh = (float)histSettingHigh/histSteps;
PlayerChatHelper.SendInfo(aPlayer, "Hysteresis High Changed to " + round(histHigh * 100F) + "%");
} else {
- if (histLow > histLowLimit) {
- histLow -= histStep;
+ if (histSettingLow>histLowLimit) {
+ histSettingLow--;
} else {
- histLow = histHigh - histStep;
+ histSettingLow=histSettingHigh-1;
}
- histLow = round2(histLow,2);
+ histLow = (float)histSettingLow/histSteps;
PlayerChatHelper.SendInfo(aPlayer, "Hysteresis Low Changed to " + round(histLow * 100F) + "%");
}
}
|
