From 0dc8b541ed35b27736d8f62287b0b436f34dc255 Mon Sep 17 00:00:00 2001 From: Bass Date: Sat, 16 Feb 2019 11:19:07 +0000 Subject: Tesla WIP even more Some minor cleanups and fun feature additions :D --- .../tectech/thing/cover/GT_Cover_TM_TeslaCoil.java | 23 +++++++++++++++++++- .../cover/GT_Cover_TM_TeslaCoil_Ultimate.java | 25 ++++++++++++++++++++-- .../multi/GT_MetaTileEntity_TM_teslaCoil.java | 16 +++++--------- .../single/GT_MetaTileEntity_TeslaCoil.java | 10 ++++----- 4 files changed, 54 insertions(+), 20 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_TeslaCoil.java b/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_TeslaCoil.java index bfb4ae9208..6d7383fe49 100644 --- a/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_TeslaCoil.java +++ b/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_TeslaCoil.java @@ -1,8 +1,29 @@ package com.github.technus.tectech.thing.cover; - import gregtech.api.util.GT_CoverBehavior; +import gregtech.api.interfaces.tileentity.ICoverable; +import gregtech.api.util.GT_CoverBehavior; +import gregtech.api.util.GT_Utility; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; + +import static ic2.api.info.Info.DMG_ELECTRIC; public class GT_Cover_TM_TeslaCoil extends GT_CoverBehavior { public GT_Cover_TM_TeslaCoil() { } + + public String getDescription(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity) { + return "Do not attempt to use screwdriver!"; + } + + public boolean letsEnergyIn(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity) { + return true; + } + + public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ) { + if(aTileEntity.getStoredEU() > 0 && !GT_Utility.isWearingFullElectroHazmat(aPlayer)){ + aPlayer.attackEntityFrom(DMG_ELECTRIC, 20); + } + return aCoverVariable; + } } \ No newline at end of file diff --git a/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_TeslaCoil_Ultimate.java b/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_TeslaCoil_Ultimate.java index 7ad6bc6f5f..db7c751fc6 100644 --- a/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_TeslaCoil_Ultimate.java +++ b/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_TeslaCoil_Ultimate.java @@ -1,8 +1,29 @@ package com.github.technus.tectech.thing.cover; - import gregtech.api.util.GT_CoverBehavior; +import gregtech.api.interfaces.tileentity.ICoverable; +import net.minecraftforge.fluids.Fluid; -public class GT_Cover_TM_TeslaCoil_Ultimate extends GT_CoverBehavior { +public class GT_Cover_TM_TeslaCoil_Ultimate extends GT_Cover_TM_TeslaCoil { public GT_Cover_TM_TeslaCoil_Ultimate() { } + + public boolean letsEnergyOut(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity) { + return true; + } + + public boolean letsItemsIn(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity) { + return true; + } + + public boolean letsItemsOut(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity) { + return true; + } + + public boolean letsFluidIn(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity) { + return true; + } + + public boolean letsFluidOut(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity) { + return true; + } } \ No newline at end of file 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 eca3dde6cb..7dc040b28a 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 @@ -31,10 +31,6 @@ import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texture import static gregtech.api.GregTech_API.*; import static gregtech.api.enums.GT_Values.E; -/** - * Created by danie_000 on 17.12.2016. - * edited by Bass on like 2018-02-05 - */ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable {//TODO Add capacitors private static Textures.BlockIcons.CustomIcon ScreenOFF; private static Textures.BlockIcons.CustomIcon ScreenON; @@ -55,7 +51,7 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock private float histLowLimit = 0.05F; //How low can you configure it? private float histHighLimit = 0.95F; //How high can you configure it? - private int scanRadius = 64; //Tesla scan radius + private int scanRadius = 32; //Tesla scan radius private int transferRadiusTower = 32; //Radius for tower to tower transfers private int transferRadiusTransceiver = 16; //Radius for tower to transceiver transfers @@ -63,7 +59,6 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock private long outputVoltage = 512; //Tesla Voltage Output private long outputCurrent = 1; //Tesla Current Output - private long outputEuT = outputVoltage * outputCurrent; //Tesla Power Output public boolean powerPassToggle = false; //Power Pass for public viewing @@ -384,8 +379,6 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock outputCurrent = outputCurrentParam; } - outputEuT = outputVoltage * outputCurrent; - transferRadiusTower = 32; //TODO generate based on power stored transferRadiusTransceiver = 16; //TODO generate based on power stored transferRadiusCoverUltimate = 16; //TODO generate based on power stored @@ -403,7 +396,7 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock } //Clean the eTeslaMap - for (Map.Entry Rx : entriesSortedByValues(eTeslaMap)) { + for (Map.Entry Rx : eTeslaMap.entrySet()) { IGregTechTileEntity node = Rx.getKey(); if (node != null) { IMetaTileEntity nodeInside = node.getMetaTileEntity(); @@ -424,6 +417,7 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock } catch (Exception e) { } } + System.out.println("Something just got purged!"); eTeslaMap.remove(Rx.getKey()); } @@ -448,8 +442,8 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock setEUVar(getEUVar() - euTran); } } - } else if ((node.getCoverBehaviorAtSide((byte) 1) instanceof GT_Cover_TM_TeslaCoil_Ultimate) && Rx.getValue() <= transferRadiusCoverUltimate){ - if (node.injectEnergyUnits((byte)6, euTran, 1L) > 0L) { + } else if ((node.getCoverBehaviorAtSide((byte)1) instanceof GT_Cover_TM_TeslaCoil_Ultimate) && Rx.getValue() <= transferRadiusCoverUltimate){ + if (node.injectEnergyUnits((byte)1, euTran, 1L) > 0L) { setEUVar(getEUVar() - euTran); } } 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 c556ca2ef6..dd99c0fd75 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 @@ -44,7 +44,6 @@ public class GT_MetaTileEntity_TeslaCoil extends GT_MetaTileEntity_BasicBatteryB private long outputVoltage = 512; //Tesla Voltage Output private long outputCurrent = 1; //Tesla Current Output - private long outputEuT = outputVoltage * outputCurrent; //Tesla Power Output public GT_MetaTileEntity_TeslaCoil(int aID, String aName, String aNameRegional, int aTier, int aSlotCount) { @@ -145,13 +144,11 @@ public class GT_MetaTileEntity_TeslaCoil extends GT_MetaTileEntity_BasicBatteryB outputVoltage = 512;//TODO Set Depending On Tier outputCurrent = 1;//TODO Generate depending on count of batteries - outputEuT = outputVoltage * outputCurrent; - transferRadiusTower = 32; //TODO generate based on power stored transferRadiusCover = 16; //TODO generate based on power stored //Clean the eTeslaMap - for (Map.Entry Rx : entriesSortedByValues(eTeslaMap)) { + for (Map.Entry Rx : eTeslaMap.entrySet()) { IGregTechTileEntity node = Rx.getKey(); if (node != null) { IMetaTileEntity nodeInside = node.getMetaTileEntity(); @@ -167,6 +164,7 @@ public class GT_MetaTileEntity_TeslaCoil extends GT_MetaTileEntity_BasicBatteryB } catch (Exception e) { } } + System.out.println("Something just got purged!"); eTeslaMap.remove(Rx.getKey()); } @@ -183,8 +181,8 @@ public class GT_MetaTileEntity_TeslaCoil extends GT_MetaTileEntity_BasicBatteryB node.increaseStoredEnergyUnits(euTran, true); } } - } else if ((node.getCoverBehaviorAtSide((byte) 1) instanceof GT_Cover_TM_TeslaCoil) && Rx.getValue() <= transferRadiusCover){ - if (node.injectEnergyUnits((byte)6, euTran, 1L) > 0L) { + } else if ((node.getCoverBehaviorAtSide((byte)1) instanceof GT_Cover_TM_TeslaCoil) && Rx.getValue() <= transferRadiusCover){ + if (node.injectEnergyUnits((byte)1, euTran, 1L) > 0L) { setEUVar(getEUVar() - euTran); } } -- cgit