Add powerconfigs to Teleporter
This commit is contained in:
parent
896ee56a08
commit
714f3c19fa
1 changed files with 10 additions and 4 deletions
|
@ -41,6 +41,9 @@ import static gregtech.api.enums.GT_Values.V;
|
||||||
public class GT_MetaTileEntity_Teleporter extends GT_MetaTileEntity_BasicTank {
|
public class GT_MetaTileEntity_Teleporter extends GT_MetaTileEntity_BasicTank {
|
||||||
|
|
||||||
public static boolean sInterDimensionalTeleportAllowed = true;
|
public static boolean sInterDimensionalTeleportAllowed = true;
|
||||||
|
public static int sPassiveEnergyDrain = 2048;
|
||||||
|
public static int sPowerMultiplyer = 100;
|
||||||
|
public static double sFPowerMultiplyer = 1.0;
|
||||||
public int mTargetX = 0;
|
public int mTargetX = 0;
|
||||||
public int mTargetY = 0;
|
public int mTargetY = 0;
|
||||||
public int mTargetZ = 0;
|
public int mTargetZ = 0;
|
||||||
|
@ -193,6 +196,9 @@ public class GT_MetaTileEntity_Teleporter extends GT_MetaTileEntity_BasicTank {
|
||||||
|
|
||||||
public void onConfigLoad(GT_Config aConfig) {
|
public void onConfigLoad(GT_Config aConfig) {
|
||||||
sInterDimensionalTeleportAllowed = aConfig.get(ConfigCategories.machineconfig, "Teleporter.Interdimensional", true);
|
sInterDimensionalTeleportAllowed = aConfig.get(ConfigCategories.machineconfig, "Teleporter.Interdimensional", true);
|
||||||
|
sPassiveEnergyDrain = aConfig.get(ConfigCategories.machineconfig, "Teleporter.PassiveDrain", sPassiveEnergyDrain);
|
||||||
|
sPowerMultiplyer = aConfig.get(ConfigCategories.machineconfig, "Teleporter.PowerMultipler", sPowerMultiplyer);
|
||||||
|
sFPowerMultiplyer = sPowerMultiplyer / 100.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onFirstTick() {
|
public void onFirstTick() {
|
||||||
|
@ -239,7 +245,7 @@ public class GT_MetaTileEntity_Teleporter extends GT_MetaTileEntity_BasicTank {
|
||||||
this.hasEgg = checkForEgg();
|
this.hasEgg = checkForEgg();
|
||||||
}
|
}
|
||||||
if ((getBaseMetaTileEntity().isAllowedToWork()) && (getBaseMetaTileEntity().getRedstone())) {
|
if ((getBaseMetaTileEntity().isAllowedToWork()) && (getBaseMetaTileEntity().getRedstone())) {
|
||||||
if (getBaseMetaTileEntity().decreaseStoredEnergyUnits(2048, false)) {
|
if (getBaseMetaTileEntity().decreaseStoredEnergyUnits(sPassiveEnergyDrain, false)) {
|
||||||
if (hasDimensionalTeleportCapability() && this.mTargetD != getBaseMetaTileEntity().getWorld().provider.dimensionId && (hasEgg || mFluid.isFluidEqual(Materials.Nitrogen.getPlasma(1)))&& new XSTR().nextInt(10)==0) {
|
if (hasDimensionalTeleportCapability() && this.mTargetD != getBaseMetaTileEntity().getWorld().provider.dimensionId && (hasEgg || mFluid.isFluidEqual(Materials.Nitrogen.getPlasma(1)))&& new XSTR().nextInt(10)==0) {
|
||||||
mFluid.amount--;
|
mFluid.amount--;
|
||||||
if (mFluid.amount < 1) {
|
if (mFluid.amount < 1) {
|
||||||
|
@ -261,7 +267,7 @@ public class GT_MetaTileEntity_Teleporter extends GT_MetaTileEntity_BasicTank {
|
||||||
int tStacksize = mInventory[0].stackSize;
|
int tStacksize = mInventory[0].stackSize;
|
||||||
GT_Utility.moveOneItemStack(this, tTile, (byte) 0, (byte) 0, null, false, (byte) 64, (byte) 1, (byte) 64, (byte) 1);
|
GT_Utility.moveOneItemStack(this, tTile, (byte) 0, (byte) 0, null, false, (byte) 64, (byte) 1, (byte) 64, (byte) 1);
|
||||||
if (mInventory[0] == null || mInventory[0].stackSize < tStacksize) {
|
if (mInventory[0] == null || mInventory[0].stackSize < tStacksize) {
|
||||||
getBaseMetaTileEntity().decreaseStoredEnergyUnits((int) (Math.pow(tDistance, 1.5) * tDistance * (tStacksize - (mInventory[0] == null ? 0 : mInventory[0].stackSize))), false);
|
getBaseMetaTileEntity().decreaseStoredEnergyUnits((int) (Math.pow(tDistance, 1.5) * tDistance * (tStacksize - (mInventory[0] == null ? 0 : mInventory[0].stackSize)) * sFPowerMultiplyer), false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -269,8 +275,8 @@ public class GT_MetaTileEntity_Teleporter extends GT_MetaTileEntity_BasicTank {
|
||||||
for (Object tObject : getBaseMetaTileEntity().getWorld().getEntitiesWithinAABB(Entity.class, AxisAlignedBB.getBoundingBox(getBaseMetaTileEntity().getOffsetX(getBaseMetaTileEntity().getFrontFacing(), 2) - 1, getBaseMetaTileEntity().getOffsetY(getBaseMetaTileEntity().getFrontFacing(), 2) - 1, getBaseMetaTileEntity().getOffsetZ(getBaseMetaTileEntity().getFrontFacing(), 2) - 1, getBaseMetaTileEntity().getOffsetX(getBaseMetaTileEntity().getFrontFacing(), 2) + 2, getBaseMetaTileEntity().getOffsetY(getBaseMetaTileEntity().getFrontFacing(), 2) + 2, getBaseMetaTileEntity().getOffsetZ(getBaseMetaTileEntity().getFrontFacing(), 2) + 2))) {
|
for (Object tObject : getBaseMetaTileEntity().getWorld().getEntitiesWithinAABB(Entity.class, AxisAlignedBB.getBoundingBox(getBaseMetaTileEntity().getOffsetX(getBaseMetaTileEntity().getFrontFacing(), 2) - 1, getBaseMetaTileEntity().getOffsetY(getBaseMetaTileEntity().getFrontFacing(), 2) - 1, getBaseMetaTileEntity().getOffsetZ(getBaseMetaTileEntity().getFrontFacing(), 2) - 1, getBaseMetaTileEntity().getOffsetX(getBaseMetaTileEntity().getFrontFacing(), 2) + 2, getBaseMetaTileEntity().getOffsetY(getBaseMetaTileEntity().getFrontFacing(), 2) + 2, getBaseMetaTileEntity().getOffsetZ(getBaseMetaTileEntity().getFrontFacing(), 2) + 2))) {
|
||||||
if (((tObject instanceof Entity)) && (!((Entity) tObject).isDead)) {
|
if (((tObject instanceof Entity)) && (!((Entity) tObject).isDead)) {
|
||||||
Entity tEntity = (Entity) tObject;
|
Entity tEntity = (Entity) tObject;
|
||||||
System.out.println("teleport"+(Math.pow(tDistance, 1.5)));
|
// System.out.println("teleport"+(Math.pow(tDistance, 1.5)));
|
||||||
if (getBaseMetaTileEntity().decreaseStoredEnergyUnits((int) (Math.pow(tDistance, 1.5) * weightCalculation(tEntity)), false)) {
|
if (getBaseMetaTileEntity().decreaseStoredEnergyUnits((int) (Math.pow(tDistance, 1.5) * weightCalculation(tEntity) * sFPowerMultiplyer), false)) {
|
||||||
if (hasDimensionalTeleportCapability() && this.mTargetD != getBaseMetaTileEntity().getWorld().provider.dimensionId && (hasEgg || mFluid.isFluidEqual(Materials.Nitrogen.getPlasma(1)))) {
|
if (hasDimensionalTeleportCapability() && this.mTargetD != getBaseMetaTileEntity().getWorld().provider.dimensionId && (hasEgg || mFluid.isFluidEqual(Materials.Nitrogen.getPlasma(1)))) {
|
||||||
mFluid.amount = mFluid.amount - ((int) Math.min(10, (Math.pow(tDistance, 1.5) * weightCalculation(tEntity) / 8192)));
|
mFluid.amount = mFluid.amount - ((int) Math.min(10, (Math.pow(tDistance, 1.5) * weightCalculation(tEntity) / 8192)));
|
||||||
if (mFluid.amount < 1) {
|
if (mFluid.amount < 1) {
|
||||||
|
|
Loading…
Reference in a new issue