mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
oil well configs
This commit is contained in:
parent
e882084d71
commit
84587c25ef
@ -1,11 +1,16 @@
|
||||
package com.hbm.tileentity.machine.oil;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.stream.JsonWriter;
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.interfaces.IFluidAcceptor;
|
||||
import com.hbm.inventory.fluid.FluidType;
|
||||
import com.hbm.inventory.fluid.Fluids;
|
||||
import com.hbm.inventory.fluid.tank.FluidTank;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.tileentity.IConfigurableMachine;
|
||||
import com.hbm.util.fauxpointtwelve.DirPos;
|
||||
import com.hbm.world.feature.OilSpot;
|
||||
|
||||
@ -13,6 +18,18 @@ import net.minecraft.block.Block;
|
||||
|
||||
public class TileEntityMachineFrackingTower extends TileEntityOilDrillBase implements IFluidAcceptor {
|
||||
|
||||
protected static int maxPower = 5_000_000;
|
||||
protected static int consumption = 5000;
|
||||
protected static int solutionRequired = 10;
|
||||
protected static int delay = 20;
|
||||
protected static int oilPerDepsoit = 1000;
|
||||
protected static int gasPerDepositMin = 100;
|
||||
protected static int gasPerDepositMax = 500;
|
||||
protected static int oilPerBedrockDepsoit = 100;
|
||||
protected static int gasPerBedrockDepositMin = 10;
|
||||
protected static int gasPerBedrockDepositMax = 50;
|
||||
protected static int destructionRange = 75;
|
||||
|
||||
public TileEntityMachineFrackingTower() {
|
||||
super();
|
||||
tanks = new FluidTank[3];
|
||||
@ -28,17 +45,17 @@ public class TileEntityMachineFrackingTower extends TileEntityOilDrillBase imple
|
||||
|
||||
@Override
|
||||
public long getMaxPower() {
|
||||
return 5_000_000;
|
||||
return maxPower;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getPowerReq() {
|
||||
return 5000;
|
||||
return consumption;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getDelay() {
|
||||
return 20;
|
||||
return delay;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -48,7 +65,7 @@ public class TileEntityMachineFrackingTower extends TileEntityOilDrillBase imple
|
||||
|
||||
@Override
|
||||
public boolean canPump() {
|
||||
boolean b = this.tanks[2].getFill() >= 10;
|
||||
boolean b = this.tanks[2].getFill() >= solutionRequired;
|
||||
|
||||
if(!b) {
|
||||
this.indicator = 3;
|
||||
@ -80,12 +97,12 @@ public class TileEntityMachineFrackingTower extends TileEntityOilDrillBase imple
|
||||
int gas = 0;
|
||||
|
||||
if(b == ModBlocks.ore_oil) {
|
||||
oil = 1000;
|
||||
gas = 100 + worldObj.rand.nextInt(401);
|
||||
oil = oilPerDepsoit;
|
||||
gas = gasPerDepositMin + worldObj.rand.nextInt(gasPerDepositMax - gasPerDepositMin + 1);
|
||||
}
|
||||
if(b == ModBlocks.ore_bedrock_oil) {
|
||||
oil = 100;
|
||||
gas = 10 + worldObj.rand.nextInt(41);
|
||||
oil = oilPerBedrockDepsoit;
|
||||
gas = gasPerBedrockDepositMin + worldObj.rand.nextInt(gasPerBedrockDepositMax - gasPerBedrockDepositMin + 1);
|
||||
}
|
||||
|
||||
this.tanks[0].setFill(this.tanks[0].getFill() + oil);
|
||||
@ -93,9 +110,9 @@ public class TileEntityMachineFrackingTower extends TileEntityOilDrillBase imple
|
||||
this.tanks[1].setFill(this.tanks[1].getFill() + gas);
|
||||
if(this.tanks[1].getFill() > this.tanks[1].getMaxFill()) this.tanks[1].setFill(tanks[1].getMaxFill());
|
||||
|
||||
this.tanks[2].setFill(tanks[2].getFill() - 10);
|
||||
this.tanks[2].setFill(tanks[2].getFill() - solutionRequired);
|
||||
|
||||
OilSpot.generateOilSpot(worldObj, xCoord, zCoord, 75, 10);
|
||||
OilSpot.generateOilSpot(worldObj, xCoord, zCoord, destructionRange, 10);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -143,4 +160,39 @@ public class TileEntityMachineFrackingTower extends TileEntityOilDrillBase imple
|
||||
this.trySubscribe(tanks[2].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getConfigName() {
|
||||
return "frackingtower";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readIfPresent(JsonObject obj) {
|
||||
maxPower = IConfigurableMachine.grab(obj, "I:powerCap", maxPower);
|
||||
consumption = IConfigurableMachine.grab(obj, "I:consumption", consumption);
|
||||
solutionRequired = IConfigurableMachine.grab(obj, "I:solutionRequired", solutionRequired);
|
||||
delay = IConfigurableMachine.grab(obj, "I:delay", delay);
|
||||
oilPerDepsoit = IConfigurableMachine.grab(obj, "I:oilPerDeposit", oilPerDepsoit);
|
||||
gasPerDepositMin = IConfigurableMachine.grab(obj, "I:gasPerDepositMin", gasPerDepositMin);
|
||||
gasPerDepositMax = IConfigurableMachine.grab(obj, "I:gasPerDepositMax", gasPerDepositMax);
|
||||
oilPerBedrockDepsoit = IConfigurableMachine.grab(obj, "I:oilPerBedrockDeposit", oilPerBedrockDepsoit);
|
||||
gasPerBedrockDepositMin = IConfigurableMachine.grab(obj, "I:gasPerBedrockDepositMin", gasPerBedrockDepositMin);
|
||||
gasPerBedrockDepositMax = IConfigurableMachine.grab(obj, "I:gasPerBedrockDepositMax", gasPerBedrockDepositMax);
|
||||
destructionRange = IConfigurableMachine.grab(obj, "I:destructionRange", destructionRange);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeConfig(JsonWriter writer) throws IOException {
|
||||
writer.name("I:powerCap").value(maxPower);
|
||||
writer.name("I:consumption").value(consumption);
|
||||
writer.name("I:solutionRequired").value(solutionRequired);
|
||||
writer.name("I:delay").value(delay);
|
||||
writer.name("I:oilPerDeposit").value(oilPerDepsoit);
|
||||
writer.name("I:gasPerDepositMin").value(gasPerDepositMin);
|
||||
writer.name("I:gasPerDepositMax").value(gasPerDepositMax);
|
||||
writer.name("I:oilPerBedrockDeposit").value(oilPerBedrockDepsoit);
|
||||
writer.name("I:gasPerBedrockDepositMin").value(gasPerBedrockDepositMin);
|
||||
writer.name("I:gasPerBedrockDepositMax").value(gasPerBedrockDepositMax);
|
||||
writer.name("I:destructionRange").value(destructionRange);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,9 +1,14 @@
|
||||
package com.hbm.tileentity.machine.oil;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.stream.JsonWriter;
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.explosion.ExplosionLarge;
|
||||
import com.hbm.inventory.fluid.FluidType;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.tileentity.IConfigurableMachine;
|
||||
import com.hbm.util.fauxpointtwelve.DirPos;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
@ -13,6 +18,13 @@ import net.minecraftforge.oredict.OreDictionary;
|
||||
|
||||
public class TileEntityMachineOilWell extends TileEntityOilDrillBase {
|
||||
|
||||
protected static int maxPower = 100_000;
|
||||
protected static int consumption = 100;
|
||||
protected static int delay = 50;
|
||||
protected static int oilPerDepsoit = 500;
|
||||
protected static int gasPerDepositMin = 100;
|
||||
protected static int gasPerDepositMax = 500;
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "container.oilWell";
|
||||
@ -20,17 +32,17 @@ public class TileEntityMachineOilWell extends TileEntityOilDrillBase {
|
||||
|
||||
@Override
|
||||
public long getMaxPower() {
|
||||
return 100_000;
|
||||
return maxPower;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getPowerReq() {
|
||||
return 100;
|
||||
return consumption;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getDelay() {
|
||||
return 50;
|
||||
return delay;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -69,9 +81,9 @@ public class TileEntityMachineOilWell extends TileEntityOilDrillBase {
|
||||
ExplosionLarge.spawnOilSpills(worldObj, xCoord + 0.5F, yCoord + 5.5F, zCoord + 0.5F, 3);
|
||||
worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "game.neutral.swim.splash", 2.0F, 0.5F);
|
||||
|
||||
this.tanks[0].setFill(this.tanks[0].getFill() + 500);
|
||||
this.tanks[0].setFill(this.tanks[0].getFill() + oilPerDepsoit);
|
||||
if(this.tanks[0].getFill() > this.tanks[0].getMaxFill()) this.tanks[0].setFill(tanks[0].getMaxFill());
|
||||
this.tanks[1].setFill(this.tanks[1].getFill() + (100 + worldObj.rand.nextInt(401)));
|
||||
this.tanks[1].setFill(this.tanks[1].getFill() + (gasPerDepositMin + worldObj.rand.nextInt((gasPerDepositMax - gasPerDepositMin + 1))));
|
||||
if(this.tanks[1].getFill() > this.tanks[1].getMaxFill()) this.tanks[1].setFill(tanks[1].getMaxFill());
|
||||
}
|
||||
|
||||
@ -111,4 +123,29 @@ public class TileEntityMachineOilWell extends TileEntityOilDrillBase {
|
||||
new DirPos(xCoord, yCoord, zCoord - 2, Library.NEG_Z)
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getConfigName() {
|
||||
return "derrick";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readIfPresent(JsonObject obj) {
|
||||
maxPower = IConfigurableMachine.grab(obj, "I:powerCap", maxPower);
|
||||
consumption = IConfigurableMachine.grab(obj, "I:consumption", consumption);
|
||||
delay = IConfigurableMachine.grab(obj, "I:delay", delay);
|
||||
oilPerDepsoit = IConfigurableMachine.grab(obj, "I:oilPerDeposit", oilPerDepsoit);
|
||||
gasPerDepositMin = IConfigurableMachine.grab(obj, "I:gasPerDepositMin", gasPerDepositMin);
|
||||
gasPerDepositMax = IConfigurableMachine.grab(obj, "I:gasPerDepositMax", gasPerDepositMax);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeConfig(JsonWriter writer) throws IOException {
|
||||
writer.name("I:powerCap").value(maxPower);
|
||||
writer.name("I:consumption").value(consumption);
|
||||
writer.name("I:delay").value(delay);
|
||||
writer.name("I:oilPerDeposit").value(oilPerDepsoit);
|
||||
writer.name("I:gasPerDepositMin").value(gasPerDepositMin);
|
||||
writer.name("I:gasPerDepositMax").value(gasPerDepositMax);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,10 +1,13 @@
|
||||
package com.hbm.tileentity.machine.oil;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.stream.JsonWriter;
|
||||
import com.hbm.blocks.BlockDummyable;
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.inventory.fluid.FluidType;
|
||||
import com.hbm.inventory.fluid.tank.FluidTank;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.tileentity.IConfigurableMachine;
|
||||
import com.hbm.util.fauxpointtwelve.DirPos;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
@ -15,6 +18,13 @@ import net.minecraftforge.common.util.ForgeDirection;
|
||||
import net.minecraftforge.oredict.OreDictionary;
|
||||
|
||||
public class TileEntityMachinePumpjack extends TileEntityOilDrillBase {
|
||||
|
||||
protected static int maxPower = 250_000;
|
||||
protected static int consumption = 200;
|
||||
protected static int delay = 25;
|
||||
protected static int oilPerDepsoit = 750;
|
||||
protected static int gasPerDepositMin = 50;
|
||||
protected static int gasPerDepositMax = 250;
|
||||
|
||||
public float rot = 0;
|
||||
public float prevRot = 0;
|
||||
@ -27,17 +37,17 @@ public class TileEntityMachinePumpjack extends TileEntityOilDrillBase {
|
||||
|
||||
@Override
|
||||
public long getMaxPower() {
|
||||
return 250_000;
|
||||
return maxPower;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getPowerReq() {
|
||||
return 200;
|
||||
return consumption;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getDelay() {
|
||||
return 25;
|
||||
return delay;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -106,9 +116,9 @@ public class TileEntityMachinePumpjack extends TileEntityOilDrillBase {
|
||||
@Override
|
||||
public void onSuck(int x, int y, int z) {
|
||||
|
||||
this.tanks[0].setFill(this.tanks[0].getFill() + 750);
|
||||
this.tanks[0].setFill(this.tanks[0].getFill() + oilPerDepsoit);
|
||||
if(this.tanks[0].getFill() > this.tanks[0].getMaxFill()) this.tanks[0].setFill(tanks[0].getMaxFill());
|
||||
this.tanks[1].setFill(this.tanks[1].getFill() + (50 + worldObj.rand.nextInt(201)));
|
||||
this.tanks[1].setFill(this.tanks[1].getFill() + (gasPerDepositMin + worldObj.rand.nextInt((gasPerDepositMax - gasPerDepositMin + 1))));
|
||||
if(this.tanks[1].getFill() > this.tanks[1].getMaxFill()) this.tanks[1].setFill(tanks[1].getMaxFill());
|
||||
}
|
||||
|
||||
@ -163,4 +173,29 @@ public class TileEntityMachinePumpjack extends TileEntityOilDrillBase {
|
||||
new DirPos(xCoord + rot.offsetX * 4 - dir.offsetX * 2, yCoord, zCoord + rot.offsetZ * 2 - dir.offsetZ * 2, dir.getOpposite())
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getConfigName() {
|
||||
return "pumpjack";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readIfPresent(JsonObject obj) {
|
||||
maxPower = IConfigurableMachine.grab(obj, "I:powerCap", maxPower);
|
||||
consumption = IConfigurableMachine.grab(obj, "I:consumption", consumption);
|
||||
delay = IConfigurableMachine.grab(obj, "I:delay", delay);
|
||||
oilPerDepsoit = IConfigurableMachine.grab(obj, "I:oilPerDeposit", oilPerDepsoit);
|
||||
gasPerDepositMin = IConfigurableMachine.grab(obj, "I:gasPerDepositMin", gasPerDepositMin);
|
||||
gasPerDepositMax = IConfigurableMachine.grab(obj, "I:gasPerDepositMax", gasPerDepositMax);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeConfig(JsonWriter writer) throws IOException {
|
||||
writer.name("I:powerCap").value(maxPower);
|
||||
writer.name("I:consumption").value(consumption);
|
||||
writer.name("I:delay").value(delay);
|
||||
writer.name("I:oilPerDeposit").value(oilPerDepsoit);
|
||||
writer.name("I:gasPerDepositMin").value(gasPerDepositMin);
|
||||
writer.name("I:gasPerDepositMax").value(gasPerDepositMax);
|
||||
}
|
||||
}
|
||||
|
||||
@ -14,6 +14,7 @@ import com.hbm.inventory.fluid.tank.FluidTank;
|
||||
import com.hbm.items.machine.ItemMachineUpgrade;
|
||||
import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.tileentity.IConfigurableMachine;
|
||||
import com.hbm.tileentity.TileEntityMachineBase;
|
||||
import com.hbm.util.BobMathUtil;
|
||||
import com.hbm.util.Tuple;
|
||||
@ -31,7 +32,7 @@ import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public abstract class TileEntityOilDrillBase extends TileEntityMachineBase implements IEnergyUser, IFluidSource, IFluidStandardTransceiver {
|
||||
public abstract class TileEntityOilDrillBase extends TileEntityMachineBase implements IEnergyUser, IFluidSource, IFluidStandardTransceiver, IConfigurableMachine {
|
||||
|
||||
public int indicator = 0;
|
||||
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 220 B After Width: | Height: | Size: 220 B |
Loading…
x
Reference in New Issue
Block a user