1/2 cost rebalance

This commit is contained in:
Anuken
2019-08-02 13:22:45 -04:00
parent 8e84e7284e
commit 878af1ea28
2 changed files with 159 additions and 151 deletions
+151 -151
View File
@@ -411,7 +411,7 @@ public class Blocks implements ContentList{
//region crafting //region crafting
graphitePress = new GenericCrafter("graphite-press"){{ graphitePress = new GenericCrafter("graphite-press"){{
requirements(Category.crafting, ItemStack.with(Items.copper, 150, Items.lead, 60)); requirements(Category.crafting, ItemStack.with(Items.copper, 75, Items.lead, 30));
craftEffect = Fx.pulverizeMedium; craftEffect = Fx.pulverizeMedium;
outputItem = new ItemStack(Items.graphite, 1); outputItem = new ItemStack(Items.graphite, 1);
@@ -423,7 +423,7 @@ public class Blocks implements ContentList{
}}; }};
multiPress = new GenericCrafter("multi-press"){{ multiPress = new GenericCrafter("multi-press"){{
requirements(Category.crafting, ItemStack.with(Items.titanium, 200, Items.silicon, 50, Items.lead, 200, Items.graphite, 100)); requirements(Category.crafting, ItemStack.with(Items.titanium, 100, Items.silicon, 25, Items.lead, 100, Items.graphite, 50));
craftEffect = Fx.pulverizeMedium; craftEffect = Fx.pulverizeMedium;
outputItem = new ItemStack(Items.graphite, 2); outputItem = new ItemStack(Items.graphite, 2);
@@ -439,7 +439,7 @@ public class Blocks implements ContentList{
}}; }};
siliconSmelter = new GenericSmelter("silicon-smelter"){{ siliconSmelter = new GenericSmelter("silicon-smelter"){{
requirements(Category.crafting, ItemStack.with(Items.copper, 60, Items.lead, 50)); requirements(Category.crafting, ItemStack.with(Items.copper, 30, Items.lead, 25));
craftEffect = Fx.smeltsmoke; craftEffect = Fx.smeltsmoke;
outputItem = new ItemStack(Items.silicon, 1); outputItem = new ItemStack(Items.silicon, 1);
craftTime = 40f; craftTime = 40f;
@@ -453,7 +453,7 @@ public class Blocks implements ContentList{
}}; }};
kiln = new GenericSmelter("kiln"){{ kiln = new GenericSmelter("kiln"){{
requirements(Category.crafting, ItemStack.with(Items.copper, 120, Items.graphite, 60, Items.lead, 60)); requirements(Category.crafting, ItemStack.with(Items.copper, 60, Items.graphite, 30, Items.lead, 30));
craftEffect = Fx.smeltsmoke; craftEffect = Fx.smeltsmoke;
outputItem = new ItemStack(Items.metaglass, 1); outputItem = new ItemStack(Items.metaglass, 1);
craftTime = 30f; craftTime = 30f;
@@ -466,7 +466,7 @@ public class Blocks implements ContentList{
}}; }};
plastaniumCompressor = new GenericCrafter("plastanium-compressor"){{ plastaniumCompressor = new GenericCrafter("plastanium-compressor"){{
requirements(Category.crafting, ItemStack.with(Items.silicon, 160, Items.lead, 230, Items.graphite, 120, Items.titanium, 160)); requirements(Category.crafting, ItemStack.with(Items.silicon, 80, Items.lead, 115, Items.graphite, 60, Items.titanium, 80));
hasItems = true; hasItems = true;
liquidCapacity = 60f; liquidCapacity = 60f;
craftTime = 60f; craftTime = 60f;
@@ -495,7 +495,7 @@ public class Blocks implements ContentList{
}}; }};
phaseWeaver = new GenericCrafter("phase-weaver"){{ phaseWeaver = new GenericCrafter("phase-weaver"){{
requirements(Category.crafting, ItemStack.with(Items.silicon, 260, Items.lead, 240, Items.thorium, 150)); requirements(Category.crafting, ItemStack.with(Items.silicon, 130, Items.lead, 120, Items.thorium, 75));
craftEffect = Fx.smeltsmoke; craftEffect = Fx.smeltsmoke;
outputItem = new ItemStack(Items.phasefabric, 1); outputItem = new ItemStack(Items.phasefabric, 1);
craftTime = 120f; craftTime = 120f;
@@ -531,7 +531,7 @@ public class Blocks implements ContentList{
}}; }};
surgeSmelter = new GenericSmelter("alloy-smelter"){{ surgeSmelter = new GenericSmelter("alloy-smelter"){{
requirements(Category.crafting, ItemStack.with(Items.silicon, 160, Items.lead, 160, Items.thorium, 140)); requirements(Category.crafting, ItemStack.with(Items.silicon, 80, Items.lead, 80, Items.thorium, 70));
craftEffect = Fx.smeltsmoke; craftEffect = Fx.smeltsmoke;
outputItem = new ItemStack(Items.surgealloy, 1); outputItem = new ItemStack(Items.surgealloy, 1);
craftTime = 75f; craftTime = 75f;
@@ -543,7 +543,7 @@ public class Blocks implements ContentList{
}}; }};
cryofluidMixer = new LiquidConverter("cryofluidmixer"){{ cryofluidMixer = new LiquidConverter("cryofluidmixer"){{
requirements(Category.crafting, ItemStack.with(Items.lead, 130, Items.silicon, 80, Items.titanium, 120)); requirements(Category.crafting, ItemStack.with(Items.lead, 65, Items.silicon, 40, Items.titanium, 60));
outputLiquid = new LiquidStack(Liquids.cryofluid, 0.1f); outputLiquid = new LiquidStack(Liquids.cryofluid, 0.1f);
craftTime = 60f; craftTime = 60f;
size = 2; size = 2;
@@ -581,7 +581,7 @@ public class Blocks implements ContentList{
}}; }};
blastMixer = new GenericCrafter("blast-mixer"){{ blastMixer = new GenericCrafter("blast-mixer"){{
requirements(Category.crafting, ItemStack.with(Items.lead, 60, Items.titanium, 40)); requirements(Category.crafting, ItemStack.with(Items.lead, 30, Items.titanium, 20));
hasItems = true; hasItems = true;
hasPower = true; hasPower = true;
outputItem = new ItemStack(Items.blastCompound, 1); outputItem = new ItemStack(Items.blastCompound, 1);
@@ -592,7 +592,7 @@ public class Blocks implements ContentList{
}}; }};
pyratiteMixer = new GenericSmelter("pyratite-mixer"){{ pyratiteMixer = new GenericSmelter("pyratite-mixer"){{
requirements(Category.crafting, ItemStack.with(Items.copper, 100, Items.lead, 50)); requirements(Category.crafting, ItemStack.with(Items.copper, 50, Items.lead, 25));
flameColor = Color.CLEAR; flameColor = Color.CLEAR;
hasItems = true; hasItems = true;
hasPower = true; hasPower = true;
@@ -605,7 +605,7 @@ public class Blocks implements ContentList{
}}; }};
melter = new GenericCrafter("melter"){{ melter = new GenericCrafter("melter"){{
requirements(Category.crafting, ItemStack.with(Items.copper, 60, Items.lead, 70, Items.graphite, 90)); requirements(Category.crafting, ItemStack.with(Items.copper, 30, Items.lead, 35, Items.graphite, 45));
health = 200; health = 200;
outputLiquid = new LiquidStack(Liquids.slag, 2f); outputLiquid = new LiquidStack(Liquids.slag, 2f);
craftTime = 10f; craftTime = 10f;
@@ -616,12 +616,12 @@ public class Blocks implements ContentList{
}}; }};
separator = new Separator("separator"){{ separator = new Separator("separator"){{
requirements(Category.crafting, ItemStack.with(Items.copper, 60, Items.titanium, 50)); requirements(Category.crafting, ItemStack.with(Items.copper, 30, Items.titanium, 25));
results = ItemStack.with( results = ItemStack.with(
Items.copper, 5, Items.copper, 5,
Items.lead, 3, Items.lead, 3,
Items.graphite, 2, Items.graphite, 2,
Items.titanium, 2 Items.titanium, 2
); );
hasPower = true; hasPower = true;
craftTime = 35f; craftTime = 35f;
@@ -636,7 +636,7 @@ public class Blocks implements ContentList{
}}; }};
sporePress = new GenericCrafter("spore-press"){{ sporePress = new GenericCrafter("spore-press"){{
requirements(Category.crafting, ItemStack.with(Items.lead, 70, Items.silicon, 60)); requirements(Category.crafting, ItemStack.with(Items.lead, 35, Items.silicon, 30));
liquidCapacity = 60f; liquidCapacity = 60f;
craftTime = 20f; craftTime = 20f;
outputLiquid = new LiquidStack(Liquids.oil, 6f); outputLiquid = new LiquidStack(Liquids.oil, 6f);
@@ -672,7 +672,7 @@ public class Blocks implements ContentList{
}}; }};
pulverizer = new GenericCrafter("pulverizer"){{ pulverizer = new GenericCrafter("pulverizer"){{
requirements(Category.crafting, ItemStack.with(Items.copper, 60, Items.lead, 50)); requirements(Category.crafting, ItemStack.with(Items.copper, 30, Items.lead, 25));
outputItem = new ItemStack(Items.sand, 1); outputItem = new ItemStack(Items.sand, 1);
craftEffect = Fx.pulverize; craftEffect = Fx.pulverize;
craftTime = 40f; craftTime = 40f;
@@ -695,7 +695,7 @@ public class Blocks implements ContentList{
}}; }};
coalCentrifuge = new GenericCrafter("coal-centrifuge"){{ coalCentrifuge = new GenericCrafter("coal-centrifuge"){{
requirements(Category.crafting, ItemStack.with(Items.titanium, 40, Items.graphite, 80, Items.lead, 60)); requirements(Category.crafting, ItemStack.with(Items.titanium, 20, Items.graphite, 40, Items.lead, 30));
craftEffect = Fx.smeltsmoke; craftEffect = Fx.smeltsmoke;
outputItem = new ItemStack(Items.coal, 1); outputItem = new ItemStack(Items.coal, 1);
craftTime = 30f; craftTime = 30f;
@@ -707,7 +707,7 @@ public class Blocks implements ContentList{
}}; }};
incinerator = new Incinerator("incinerator"){{ incinerator = new Incinerator("incinerator"){{
requirements(Category.crafting, ItemStack.with(Items.graphite, 10, Items.lead, 30)); requirements(Category.crafting, ItemStack.with(Items.graphite, 5, Items.lead, 15));
health = 90; health = 90;
consumes.power(0.50f); consumes.power(0.50f);
}}; }};
@@ -773,67 +773,67 @@ public class Blocks implements ContentList{
}}; }};
copperWall = new Wall("copper-wall"){{ copperWall = new Wall("copper-wall"){{
requirements(Category.defense, ItemStack.with(Items.copper, 12)); requirements(Category.defense, ItemStack.with(Items.copper, 6));
health = 80 * wallHealthMultiplier; health = 80 * wallHealthMultiplier;
}}; }};
copperWallLarge = new Wall("copper-wall-large"){{ copperWallLarge = new Wall("copper-wall-large"){{
requirements(Category.defense, ItemStack.with(Items.copper, 12 * 4)); requirements(Category.defense, ItemStack.mult(copperWall.buildRequirements, 4));
health = 80 * 4 * wallHealthMultiplier; health = 80 * 4 * wallHealthMultiplier;
size = 2; size = 2;
}}; }};
titaniumWall = new Wall("titanium-wall"){{ titaniumWall = new Wall("titanium-wall"){{
requirements(Category.defense, ItemStack.with(Items.titanium, 12)); requirements(Category.defense, ItemStack.with(Items.titanium, 6));
health = 110 * wallHealthMultiplier; health = 110 * wallHealthMultiplier;
}}; }};
titaniumWallLarge = new Wall("titanium-wall-large"){{ titaniumWallLarge = new Wall("titanium-wall-large"){{
requirements(Category.defense, ItemStack.with(Items.titanium, 12 * 4)); requirements(Category.defense, ItemStack.mult(titaniumWall.buildRequirements, 4));
health = 110 * wallHealthMultiplier * 4; health = 110 * wallHealthMultiplier * 4;
size = 2; size = 2;
}}; }};
thoriumWall = new Wall("thorium-wall"){{ thoriumWall = new Wall("thorium-wall"){{
requirements(Category.defense, ItemStack.with(Items.thorium, 12)); requirements(Category.defense, ItemStack.with(Items.thorium, 6));
health = 200 * wallHealthMultiplier; health = 200 * wallHealthMultiplier;
}}; }};
thoriumWallLarge = new Wall("thorium-wall-large"){{ thoriumWallLarge = new Wall("thorium-wall-large"){{
requirements(Category.defense, ItemStack.with(Items.thorium, 12 * 4)); requirements(Category.defense, ItemStack.mult(thoriumWall.buildRequirements, 4));
health = 200 * wallHealthMultiplier * 4; health = 200 * wallHealthMultiplier * 4;
size = 2; size = 2;
}}; }};
phaseWall = new DeflectorWall("phase-wall"){{ phaseWall = new DeflectorWall("phase-wall"){{
requirements(Category.defense, ItemStack.with(Items.phasefabric, 12)); requirements(Category.defense, ItemStack.with(Items.phasefabric, 6));
health = 150 * wallHealthMultiplier; health = 150 * wallHealthMultiplier;
}}; }};
phaseWallLarge = new DeflectorWall("phase-wall-large"){{ phaseWallLarge = new DeflectorWall("phase-wall-large"){{
requirements(Category.defense, ItemStack.with(Items.phasefabric, 12 * 4)); requirements(Category.defense, ItemStack.mult(phaseWall.buildRequirements, 4));
health = 150 * 4 * wallHealthMultiplier; health = 150 * 4 * wallHealthMultiplier;
size = 2; size = 2;
}}; }};
surgeWall = new SurgeWall("surge-wall"){{ surgeWall = new SurgeWall("surge-wall"){{
requirements(Category.defense, ItemStack.with(Items.surgealloy, 12)); requirements(Category.defense, ItemStack.with(Items.surgealloy, 6));
health = 230 * wallHealthMultiplier; health = 230 * wallHealthMultiplier;
}}; }};
surgeWallLarge = new SurgeWall("surge-wall-large"){{ surgeWallLarge = new SurgeWall("surge-wall-large"){{
requirements(Category.defense, ItemStack.with(Items.surgealloy, 12 * 4)); requirements(Category.defense, ItemStack.mult(surgeWall.buildRequirements, 4));
health = 230 * 4 * wallHealthMultiplier; health = 230 * 4 * wallHealthMultiplier;
size = 2; size = 2;
}}; }};
door = new Door("door"){{ door = new Door("door"){{
requirements(Category.defense, ItemStack.with(Items.titanium, 12, Items.silicon, 8)); requirements(Category.defense, ItemStack.with(Items.titanium, 6, Items.silicon, 4));
health = 100 * wallHealthMultiplier; health = 100 * wallHealthMultiplier;
}}; }};
doorLarge = new Door("door-large"){{ doorLarge = new Door("door-large"){{
requirements(Category.defense, ItemStack.with(Items.titanium, 12 * 4, Items.silicon, 8 * 4)); requirements(Category.defense, ItemStack.mult(door.buildRequirements, 4));
openfx = Fx.dooropenlarge; openfx = Fx.dooropenlarge;
closefx = Fx.doorcloselarge; closefx = Fx.doorcloselarge;
health = 100 * 4 * wallHealthMultiplier; health = 100 * 4 * wallHealthMultiplier;
@@ -841,7 +841,7 @@ public class Blocks implements ContentList{
}}; }};
mender = new MendProjector("mender"){{ mender = new MendProjector("mender"){{
requirements(Category.effect, ItemStack.with(Items.lead, 60, Items.copper, 50)); requirements(Category.effect, ItemStack.with(Items.lead, 30, Items.copper, 25));
consumes.power(0.3f); consumes.power(0.3f);
size = 1; size = 1;
reload = 200f; reload = 200f;
@@ -854,7 +854,7 @@ public class Blocks implements ContentList{
}}; }};
mendProjector = new MendProjector("mend-projector"){{ mendProjector = new MendProjector("mend-projector"){{
requirements(Category.effect, ItemStack.with(Items.lead, 200, Items.titanium, 50, Items.silicon, 80)); requirements(Category.effect, ItemStack.with(Items.lead, 100, Items.titanium, 25, Items.silicon, 40));
consumes.power(1.5f); consumes.power(1.5f);
size = 2; size = 2;
reload = 250f; reload = 250f;
@@ -865,21 +865,21 @@ public class Blocks implements ContentList{
}}; }};
overdriveProjector = new OverdriveProjector("overdrive-projector"){{ overdriveProjector = new OverdriveProjector("overdrive-projector"){{
requirements(Category.effect, ItemStack.with(Items.lead, 200, Items.titanium, 150, Items.silicon, 150, Items.plastanium, 60)); requirements(Category.effect, ItemStack.with(Items.lead, 100, Items.titanium, 75, Items.silicon, 75, Items.plastanium, 30));
consumes.power(3.50f); consumes.power(3.50f);
size = 2; size = 2;
consumes.item(Items.phasefabric).boost(); consumes.item(Items.phasefabric).boost();
}}; }};
forceProjector = new ForceProjector("force-projector"){{ forceProjector = new ForceProjector("force-projector"){{
requirements(Category.effect, ItemStack.with(Items.lead, 200, Items.titanium, 150, Items.silicon, 250)); requirements(Category.effect, ItemStack.with(Items.lead, 100, Items.titanium, 75, Items.silicon, 125));
size = 3; size = 3;
consumes.item(Items.phasefabric).boost(); consumes.item(Items.phasefabric).boost();
consumes.power(3f); consumes.power(3f);
}}; }};
shockMine = new ShockMine("shock-mine"){{ shockMine = new ShockMine("shock-mine"){{
requirements(Category.effect, ItemStack.with(Items.lead, 50, Items.silicon, 25)); requirements(Category.effect, ItemStack.with(Items.lead, 25, Items.silicon, 12));
hasShadow = false; hasShadow = false;
health = 40; health = 40;
damage = 11; damage = 11;
@@ -898,53 +898,53 @@ public class Blocks implements ContentList{
}}; }};
titaniumConveyor = new Conveyor("titanium-conveyor"){{ titaniumConveyor = new Conveyor("titanium-conveyor"){{
requirements(Category.distribution, ItemStack.with(Items.copper, 2, Items.lead, 1, Items.titanium, 1)); requirements(Category.distribution, ItemStack.with(Items.copper, 1, Items.lead, 1, Items.titanium, 1));
health = 65; health = 65;
speed = 0.08f; speed = 0.08f;
}}; }};
junction = new Junction("junction"){{ junction = new Junction("junction"){{
requirements(Category.distribution, ItemStack.with(Items.copper, 3), true); requirements(Category.distribution, ItemStack.with(Items.copper, 1), true);
speed = 26; speed = 26;
capacity = 15; capacity = 15;
health = 30; health = 30;
}}; }};
itemBridge = new BufferedItemBridge("bridge-conveyor"){{ itemBridge = new BufferedItemBridge("bridge-conveyor"){{
requirements(Category.distribution, ItemStack.with(Items.lead, 8, Items.copper, 8)); requirements(Category.distribution, ItemStack.with(Items.lead, 4, Items.copper, 4));
range = 4; range = 4;
speed = 70f; speed = 70f;
bufferCapacity = 15; bufferCapacity = 15;
}}; }};
phaseConveyor = new ItemBridge("phase-conveyor"){{ phaseConveyor = new ItemBridge("phase-conveyor"){{
requirements(Category.distribution, ItemStack.with(Items.phasefabric, 10, Items.silicon, 15, Items.lead, 20, Items.graphite, 20)); requirements(Category.distribution, ItemStack.with(Items.phasefabric, 5, Items.silicon, 7, Items.lead, 10, Items.graphite, 10));
range = 12; range = 12;
hasPower = true; hasPower = true;
consumes.power(0.30f); consumes.power(0.30f);
}}; }};
sorter = new Sorter("sorter"){{ sorter = new Sorter("sorter"){{
requirements(Category.distribution, ItemStack.with(Items.lead, 4, Items.copper, 4)); requirements(Category.distribution, ItemStack.with(Items.lead, 2, Items.copper, 2));
}}; }};
router = new Router("router"){{ router = new Router("router"){{
requirements(Category.distribution, ItemStack.with(Items.copper, 6)); requirements(Category.distribution, ItemStack.with(Items.copper, 3));
}}; }};
distributor = new Router("distributor"){{ distributor = new Router("distributor"){{
requirements(Category.distribution, ItemStack.with(Items.lead, 8, Items.copper, 8)); requirements(Category.distribution, ItemStack.with(Items.lead, 4, Items.copper, 4));
size = 2; size = 2;
}}; }};
overflowGate = new OverflowGate("overflow-gate"){{ overflowGate = new OverflowGate("overflow-gate"){{
requirements(Category.distribution, ItemStack.with(Items.lead, 4, Items.copper, 8)); requirements(Category.distribution, ItemStack.with(Items.lead, 2, Items.copper, 4));
}}; }};
massDriver = new MassDriver("mass-driver"){{ massDriver = new MassDriver("mass-driver"){{
requirements(Category.distribution, ItemStack.with(Items.titanium, 250, Items.silicon, 150, Items.lead, 250, Items.thorium, 100)); requirements(Category.distribution, ItemStack.with(Items.titanium, 125, Items.silicon, 75, Items.lead, 125, Items.thorium, 50));
size = 3; size = 3;
itemCapacity = 120; itemCapacity = 120;
reloadTime = 200f; reloadTime = 200f;
@@ -956,12 +956,12 @@ public class Blocks implements ContentList{
//region liquid //region liquid
mechanicalPump = new Pump("mechanical-pump"){{ mechanicalPump = new Pump("mechanical-pump"){{
requirements(Category.liquid, ItemStack.with(Items.copper, 30, Items.lead, 20)); requirements(Category.liquid, ItemStack.with(Items.copper, 15, Items.lead, 10));
pumpAmount = 0.1f; pumpAmount = 0.1f;
}}; }};
rotaryPump = new Pump("rotary-pump"){{ rotaryPump = new Pump("rotary-pump"){{
requirements(Category.liquid, ItemStack.with(Items.copper, 140, Items.lead, 100, Items.silicon, 40, Items.titanium, 70)); requirements(Category.liquid, ItemStack.with(Items.copper, 70, Items.lead, 50, Items.silicon, 20, Items.titanium, 35));
pumpAmount = 0.8f; pumpAmount = 0.8f;
consumes.power(0.15f); consumes.power(0.15f);
liquidCapacity = 30f; liquidCapacity = 30f;
@@ -970,7 +970,7 @@ public class Blocks implements ContentList{
}}; }};
thermalPump = new Pump("thermal-pump"){{ thermalPump = new Pump("thermal-pump"){{
requirements(Category.liquid, ItemStack.with(Items.copper, 160, Items.lead, 130, Items.silicon, 60, Items.titanium, 80, Items.thorium, 70)); requirements(Category.liquid, ItemStack.with(Items.copper, 80, Items.lead, 65, Items.silicon, 30, Items.titanium, 40, Items.thorium, 35));
pumpAmount = 1.5f; pumpAmount = 1.5f;
consumes.power(0.30f); consumes.power(0.30f);
liquidCapacity = 40f; liquidCapacity = 40f;
@@ -984,36 +984,36 @@ public class Blocks implements ContentList{
}}; }};
pulseConduit = new Conduit("pulse-conduit"){{ pulseConduit = new Conduit("pulse-conduit"){{
requirements(Category.liquid, ItemStack.with(Items.titanium, 1, Items.metaglass, 2)); requirements(Category.liquid, ItemStack.with(Items.titanium, 1, Items.metaglass, 1));
liquidCapacity = 16f; liquidCapacity = 16f;
liquidFlowFactor = 4.9f; liquidFlowFactor = 4.9f;
health = 90; health = 90;
}}; }};
liquidRouter = new LiquidRouter("liquid-router"){{ liquidRouter = new LiquidRouter("liquid-router"){{
requirements(Category.liquid, ItemStack.with(Items.titanium, 4, Items.metaglass, 4)); requirements(Category.liquid, ItemStack.with(Items.titanium, 2, Items.metaglass, 2));
liquidCapacity = 20f; liquidCapacity = 20f;
}}; }};
liquidTank = new LiquidTank("liquid-tank"){{ liquidTank = new LiquidTank("liquid-tank"){{
requirements(Category.liquid, ItemStack.with(Items.titanium, 50, Items.metaglass, 50)); requirements(Category.liquid, ItemStack.with(Items.titanium, 25, Items.metaglass, 25));
size = 3; size = 3;
liquidCapacity = 1500f; liquidCapacity = 1500f;
health = 500; health = 500;
}}; }};
liquidJunction = new LiquidJunction("liquid-junction"){{ liquidJunction = new LiquidJunction("liquid-junction"){{
requirements(Category.liquid, ItemStack.with(Items.titanium, 4, Items.metaglass, 4)); requirements(Category.liquid, ItemStack.with(Items.titanium, 2, Items.metaglass, 2));
}}; }};
bridgeConduit = new LiquidExtendingBridge("bridge-conduit"){{ bridgeConduit = new LiquidExtendingBridge("bridge-conduit"){{
requirements(Category.liquid, ItemStack.with(Items.titanium, 8, Items.metaglass, 8)); requirements(Category.liquid, ItemStack.with(Items.titanium, 4, Items.metaglass, 4));
range = 4; range = 4;
hasPower = false; hasPower = false;
}}; }};
phaseConduit = new LiquidBridge("phase-conduit"){{ phaseConduit = new LiquidBridge("phase-conduit"){{
requirements(Category.liquid, ItemStack.with(Items.phasefabric, 10, Items.silicon, 15, Items.metaglass, 40, Items.titanium, 20)); requirements(Category.liquid, ItemStack.with(Items.phasefabric, 5, Items.silicon, 7, Items.metaglass, 20, Items.titanium, 10));
range = 12; range = 12;
hasPower = true; hasPower = true;
consumes.power(0.30f); consumes.power(0.30f);
@@ -1023,51 +1023,51 @@ public class Blocks implements ContentList{
//region power //region power
powerNode = new PowerNode("power-node"){{ powerNode = new PowerNode("power-node"){{
requirements(Category.power, ItemStack.with(Items.copper, 2, Items.lead, 6)); requirements(Category.power, ItemStack.with(Items.copper, 1, Items.lead, 3));
maxNodes = 4; maxNodes = 4;
laserRange = 6; laserRange = 6;
}}; }};
powerNodeLarge = new PowerNode("power-node-large"){{ powerNodeLarge = new PowerNode("power-node-large"){{
requirements(Category.power, ItemStack.with(Items.titanium, 10, Items.lead, 20, Items.silicon, 6)); requirements(Category.power, ItemStack.with(Items.titanium, 5, Items.lead, 10, Items.silicon, 3));
size = 2; size = 2;
maxNodes = 6; maxNodes = 6;
laserRange = 9.5f; laserRange = 9.5f;
}}; }};
surgeTower = new PowerNode("surge-tower"){{ surgeTower = new PowerNode("surge-tower"){{
requirements(Category.power, ItemStack.with(Items.titanium, 15, Items.lead, 20, Items.silicon, 30, Items.surgealloy, 30)); requirements(Category.power, ItemStack.with(Items.titanium, 7, Items.lead, 10, Items.silicon, 15, Items.surgealloy, 15));
size = 2; size = 2;
maxNodes = 2; maxNodes = 2;
laserRange = 30f; laserRange = 30f;
}}; }};
battery = new Battery("battery"){{ battery = new Battery("battery"){{
requirements(Category.power, ItemStack.with(Items.copper, 8, Items.lead, 40)); requirements(Category.power, ItemStack.with(Items.copper, 4, Items.lead, 20));
consumes.powerBuffered(4000f); consumes.powerBuffered(4000f);
}}; }};
batteryLarge = new Battery("battery-large"){{ batteryLarge = new Battery("battery-large"){{
requirements(Category.power, ItemStack.with(Items.titanium, 40, Items.lead, 80, Items.silicon, 40)); requirements(Category.power, ItemStack.with(Items.titanium, 20, Items.lead, 40, Items.silicon, 20));
size = 3; size = 3;
consumes.powerBuffered(50000f); consumes.powerBuffered(50000f);
}}; }};
combustionGenerator = new BurnerGenerator("combustion-generator"){{ combustionGenerator = new BurnerGenerator("combustion-generator"){{
requirements(Category.power, ItemStack.with(Items.copper, 50, Items.lead, 30)); requirements(Category.power, ItemStack.with(Items.copper, 25, Items.lead, 15));
powerProduction = 1f; powerProduction = 1f;
itemDuration = 60f; itemDuration = 60f;
}}; }};
thermalGenerator = new ThermalGenerator("thermal-generator"){{ thermalGenerator = new ThermalGenerator("thermal-generator"){{
requirements(Category.power, ItemStack.with(Items.copper, 80, Items.graphite, 70, Items.lead, 100, Items.silicon, 70, Items.metaglass, 80)); requirements(Category.power, ItemStack.with(Items.copper, 40, Items.graphite, 35, Items.lead, 50, Items.silicon, 35, Items.metaglass, 40));
powerProduction = 1.8f; powerProduction = 1.8f;
generateEffect = Fx.redgeneratespark; generateEffect = Fx.redgeneratespark;
size = 2; size = 2;
}}; }};
turbineGenerator = new BurnerGenerator("turbine-generator"){{ turbineGenerator = new BurnerGenerator("turbine-generator"){{
requirements(Category.power, ItemStack.with(Items.copper, 70, Items.graphite, 50, Items.lead, 80, Items.silicon, 60)); requirements(Category.power, ItemStack.with(Items.copper, 35, Items.graphite, 25, Items.lead, 40, Items.silicon, 30));
powerProduction = 6f; powerProduction = 6f;
itemDuration = 40f; itemDuration = 40f;
consumes.liquid(Liquids.water, 0.05f); consumes.liquid(Liquids.water, 0.05f);
@@ -1076,7 +1076,7 @@ public class Blocks implements ContentList{
}}; }};
differentialGenerator = new SingleTypeGenerator(true, false, "differential-generator"){{ differentialGenerator = new SingleTypeGenerator(true, false, "differential-generator"){{
requirements(Category.power, ItemStack.with(Items.copper, 140, Items.titanium, 100, Items.lead, 200, Items.silicon, 130, Items.metaglass, 100)); requirements(Category.power, ItemStack.with(Items.copper, 70, Items.titanium, 50, Items.lead, 100, Items.silicon, 65, Items.metaglass, 50));
powerProduction = 16f; powerProduction = 16f;
itemDuration = 60f; itemDuration = 60f;
hasLiquids = true; hasLiquids = true;
@@ -1087,25 +1087,25 @@ public class Blocks implements ContentList{
}}; }};
rtgGenerator = new DecayGenerator("rtg-generator"){{ rtgGenerator = new DecayGenerator("rtg-generator"){{
requirements(Category.power, ItemStack.with(Items.lead, 200, Items.silicon, 150, Items.phasefabric, 50, Items.plastanium, 150, Items.thorium, 100)); requirements(Category.power, ItemStack.with(Items.lead, 100, Items.silicon, 75, Items.phasefabric, 25, Items.plastanium, 75, Items.thorium, 50));
size = 2; size = 2;
powerProduction = 3f; powerProduction = 3f;
itemDuration = 220f; itemDuration = 220f;
}}; }};
solarPanel = new SolarGenerator("solar-panel"){{ solarPanel = new SolarGenerator("solar-panel"){{
requirements(Category.power, ItemStack.with(Items.lead, 20, Items.silicon, 30)); requirements(Category.power, ItemStack.with(Items.lead, 10, Items.silicon, 15));
powerProduction = 0.06f; powerProduction = 0.06f;
}}; }};
largeSolarPanel = new SolarGenerator("solar-panel-large"){{ largeSolarPanel = new SolarGenerator("solar-panel-large"){{
requirements(Category.power, ItemStack.with(Items.lead, 200, Items.silicon, 290, Items.phasefabric, 30)); requirements(Category.power, ItemStack.with(Items.lead, 100, Items.silicon, 145, Items.phasefabric, 15));
size = 3; size = 3;
powerProduction = 0.9f; powerProduction = 0.9f;
}}; }};
thoriumReactor = new NuclearReactor("thorium-reactor"){{ thoriumReactor = new NuclearReactor("thorium-reactor"){{
requirements(Category.power, ItemStack.with(Items.lead, 600, Items.silicon, 400, Items.graphite, 300, Items.thorium, 300, Items.metaglass, 100)); requirements(Category.power, ItemStack.with(Items.lead, 300, Items.silicon, 200, Items.graphite, 150, Items.thorium, 150, Items.metaglass, 50));
size = 3; size = 3;
health = 700; health = 700;
powerProduction = 14f; powerProduction = 14f;
@@ -1115,7 +1115,7 @@ public class Blocks implements ContentList{
}}; }};
impactReactor = new ImpactReactor("impact-reactor"){{ impactReactor = new ImpactReactor("impact-reactor"){{
requirements(Category.power, ItemStack.with(Items.lead, 1000, Items.silicon, 600, Items.graphite, 800, Items.thorium, 200, Items.surgealloy, 500, Items.metaglass, 500)); requirements(Category.power, ItemStack.with(Items.lead, 500, Items.silicon, 300, Items.graphite, 400, Items.thorium, 100, Items.surgealloy, 250, Items.metaglass, 250));
size = 4; size = 4;
health = 900; health = 900;
powerProduction = 130f; powerProduction = 130f;
@@ -1129,7 +1129,7 @@ public class Blocks implements ContentList{
//region production //region production
mechanicalDrill = new Drill("mechanical-drill"){{ mechanicalDrill = new Drill("mechanical-drill"){{
requirements(Category.production, ItemStack.with(Items.copper, 25), true); requirements(Category.production, ItemStack.with(Items.copper, 12), true);
tier = 2; tier = 2;
drillTime = 600; drillTime = 600;
size = 2; size = 2;
@@ -1138,7 +1138,7 @@ public class Blocks implements ContentList{
}}; }};
pneumaticDrill = new Drill("pneumatic-drill"){{ pneumaticDrill = new Drill("pneumatic-drill"){{
requirements(Category.production, ItemStack.with(Items.copper, 35, Items.graphite, 15)); requirements(Category.production, ItemStack.with(Items.copper, 17, Items.graphite, 7));
tier = 3; tier = 3;
drillTime = 400; drillTime = 400;
size = 2; size = 2;
@@ -1147,7 +1147,7 @@ public class Blocks implements ContentList{
}}; }};
laserDrill = new Drill("laser-drill"){{ laserDrill = new Drill("laser-drill"){{
requirements(Category.production, ItemStack.with(Items.copper, 70, Items.graphite, 60, Items.silicon, 60, Items.titanium, 40)); requirements(Category.production, ItemStack.with(Items.copper, 35, Items.graphite, 30, Items.silicon, 30, Items.titanium, 20));
drillTime = 280; drillTime = 280;
size = 3; size = 3;
hasPower = true; hasPower = true;
@@ -1160,7 +1160,7 @@ public class Blocks implements ContentList{
}}; }};
blastDrill = new Drill("blast-drill"){{ blastDrill = new Drill("blast-drill"){{
requirements(Category.production, ItemStack.with(Items.copper, 130, Items.silicon, 120, Items.titanium, 100, Items.thorium, 150)); requirements(Category.production, ItemStack.with(Items.copper, 65, Items.silicon, 60, Items.titanium, 50, Items.thorium, 75));
drillTime = 280; drillTime = 280;
size = 4; size = 4;
drawRim = true; drawRim = true;
@@ -1177,7 +1177,7 @@ public class Blocks implements ContentList{
}}; }};
waterExtractor = new SolidPump("water-extractor"){{ waterExtractor = new SolidPump("water-extractor"){{
requirements(Category.production, ItemStack.with(Items.copper, 50, Items.graphite, 50, Items.lead, 40)); requirements(Category.production, ItemStack.with(Items.copper, 25, Items.graphite, 25, Items.lead, 20));
result = Liquids.water; result = Liquids.water;
pumpAmount = 0.13f; pumpAmount = 0.13f;
size = 2; size = 2;
@@ -1189,7 +1189,7 @@ public class Blocks implements ContentList{
}}; }};
cultivator = new Cultivator("cultivator"){{ cultivator = new Cultivator("cultivator"){{
requirements(Category.production, ItemStack.with(Items.copper, 20, Items.lead, 50, Items.silicon, 20)); requirements(Category.production, ItemStack.with(Items.copper, 10, Items.lead, 25, Items.silicon, 10));
outputItem = new ItemStack(Items.sporePod, 1); outputItem = new ItemStack(Items.sporePod, 1);
craftTime = 140; craftTime = 140;
size = 2; size = 2;
@@ -1202,7 +1202,7 @@ public class Blocks implements ContentList{
}}; }};
oilExtractor = new Fracker("oil-extractor"){{ oilExtractor = new Fracker("oil-extractor"){{
requirements(Category.production, ItemStack.with(Items.copper, 300, Items.graphite, 350, Items.lead, 230, Items.thorium, 230, Items.silicon, 150)); requirements(Category.production, ItemStack.with(Items.copper, 150, Items.graphite, 175, Items.lead, 115, Items.thorium, 115, Items.silicon, 75));
result = Liquids.oil; result = Liquids.oil;
updateEffect = Fx.pulverize; updateEffect = Fx.pulverize;
liquidCapacity = 50f; liquidCapacity = 50f;
@@ -1221,7 +1221,7 @@ public class Blocks implements ContentList{
//region storage //region storage
coreShard = new CoreBlock("core-shard"){{ coreShard = new CoreBlock("core-shard"){{
requirements(Category.effect, () -> false, ItemStack.with(Items.titanium, 2000)); requirements(Category.effect, () -> false, ItemStack.with(Items.titanium, 1000));
alwaysUnlocked = true; alwaysUnlocked = true;
health = 1100; health = 1100;
@@ -1230,7 +1230,7 @@ public class Blocks implements ContentList{
}}; }};
coreFoundation = new CoreBlock("core-foundation"){{ coreFoundation = new CoreBlock("core-foundation"){{
requirements(Category.effect, () -> false, ItemStack.with(Items.titanium, 3000, Items.silicon, 2000)); requirements(Category.effect, () -> false, ItemStack.with(Items.titanium, 1500, Items.silicon, 1000));
health = 2000; health = 2000;
itemCapacity = 9000; itemCapacity = 9000;
@@ -1238,7 +1238,7 @@ public class Blocks implements ContentList{
}}; }};
coreNucleus = new CoreBlock("core-nucleus"){{ coreNucleus = new CoreBlock("core-nucleus"){{
requirements(Category.effect, () -> false, ItemStack.with(Items.titanium, 8000, Items.silicon, 4000, Items.surgealloy, 2000)); requirements(Category.effect, () -> false, ItemStack.with(Items.titanium, 4000, Items.silicon, 2000, Items.surgealloy, 1000));
health = 4000; health = 4000;
itemCapacity = 13000; itemCapacity = 13000;
@@ -1246,24 +1246,24 @@ public class Blocks implements ContentList{
}}; }};
vault = new Vault("vault"){{ vault = new Vault("vault"){{
requirements(Category.effect, ItemStack.with(Items.titanium, 500, Items.thorium, 250)); requirements(Category.effect, ItemStack.with(Items.titanium, 250, Items.thorium, 125));
size = 3; size = 3;
itemCapacity = 1000; itemCapacity = 1000;
}}; }};
container = new Vault("container"){{ container = new Vault("container"){{
requirements(Category.effect, ItemStack.with(Items.titanium, 200)); requirements(Category.effect, ItemStack.with(Items.titanium, 100));
size = 2; size = 2;
itemCapacity = 300; itemCapacity = 300;
}}; }};
unloader = new Unloader("unloader"){{ unloader = new Unloader("unloader"){{
requirements(Category.effect, ItemStack.with(Items.titanium, 50, Items.silicon, 60)); requirements(Category.effect, ItemStack.with(Items.titanium, 25, Items.silicon, 30));
speed = 7f; speed = 7f;
}}; }};
launchPad = new LaunchPad("launch-pad"){{ launchPad = new LaunchPad("launch-pad"){{
requirements(Category.effect, () -> world.isZone(), ItemStack.with(Items.copper, 500, Items.silicon, 150, Items.lead, 200)); requirements(Category.effect, () -> world.isZone(), ItemStack.with(Items.copper, 250, Items.silicon, 75, Items.lead, 100));
size = 3; size = 3;
itemCapacity = 100; itemCapacity = 100;
launchTime = 60f * 16; launchTime = 60f * 16;
@@ -1272,7 +1272,7 @@ public class Blocks implements ContentList{
}}; }};
launchPadLarge = new LaunchPad("launch-pad-large"){{ launchPadLarge = new LaunchPad("launch-pad-large"){{
requirements(Category.effect, () -> world.isZone(), ItemStack.with(Items.titanium, 400, Items.silicon, 300, Items.lead, 500, Items.plastanium, 150)); requirements(Category.effect, () -> world.isZone(), ItemStack.with(Items.titanium, 200, Items.silicon, 150, Items.lead, 250, Items.plastanium, 75));
size = 4; size = 4;
itemCapacity = 250; itemCapacity = 250;
launchTime = 60f * 14; launchTime = 60f * 14;
@@ -1285,12 +1285,12 @@ public class Blocks implements ContentList{
//region turrets //region turrets
duo = new DoubleTurret("duo"){{ duo = new DoubleTurret("duo"){{
requirements(Category.turret, ItemStack.with(Items.copper, 70), true); requirements(Category.turret, ItemStack.with(Items.copper, 35), true);
ammo( ammo(
Items.copper, Bullets.standardCopper, Items.copper, Bullets.standardCopper,
Items.graphite, Bullets.standardDense, Items.graphite, Bullets.standardDense,
Items.pyratite, Bullets.standardIncendiary, Items.pyratite, Bullets.standardIncendiary,
Items.silicon, Bullets.standardHoming Items.silicon, Bullets.standardHoming
); );
reload = 20f; reload = 20f;
restitution = 0.03f; restitution = 0.03f;
@@ -1303,10 +1303,10 @@ public class Blocks implements ContentList{
}}; }};
scatter = new BurstTurret("scatter"){{ scatter = new BurstTurret("scatter"){{
requirements(Category.turret, ItemStack.with(Items.copper, 170, Items.lead, 90)); requirements(Category.turret, ItemStack.with(Items.copper, 85, Items.lead, 45));
ammo( ammo(
Items.scrap, Bullets.flakScrap, Items.scrap, Bullets.flakScrap,
Items.lead, Bullets.flakLead Items.lead, Bullets.flakLead
); );
reload = 18f; reload = 18f;
range = 170f; range = 170f;
@@ -1324,10 +1324,10 @@ public class Blocks implements ContentList{
}}; }};
scorch = new ItemTurret("scorch"){{ scorch = new ItemTurret("scorch"){{
requirements(Category.turret, ItemStack.with(Items.copper, 50, Items.graphite, 45)); requirements(Category.turret, ItemStack.with(Items.copper, 25, Items.graphite, 22));
ammo( ammo(
Items.coal, Bullets.basicFlame, Items.coal, Bullets.basicFlame,
Items.pyratite, Bullets.pyraFlame Items.pyratite, Bullets.pyraFlame
); );
recoil = 0f; recoil = 0f;
reload = 4f; reload = 4f;
@@ -1339,11 +1339,11 @@ public class Blocks implements ContentList{
}}; }};
hail = new ArtilleryTurret("hail"){{ hail = new ArtilleryTurret("hail"){{
requirements(Category.turret, ItemStack.with(Items.copper, 80, Items.graphite, 35)); requirements(Category.turret, ItemStack.with(Items.copper, 40, Items.graphite, 17));
ammo( ammo(
Items.graphite, Bullets.artilleryDense, Items.graphite, Bullets.artilleryDense,
Items.silicon, Bullets.artilleryHoming, Items.silicon, Bullets.artilleryHoming,
Items.pyratite, Bullets.artlleryIncendiary Items.pyratite, Bullets.artlleryIncendiary
); );
reload = 60f; reload = 60f;
recoil = 2f; recoil = 2f;
@@ -1354,12 +1354,12 @@ public class Blocks implements ContentList{
}}; }};
wave = new LiquidTurret("wave"){{ wave = new LiquidTurret("wave"){{
requirements(Category.turret, ItemStack.with(Items.metaglass, 90, Items.lead, 150)); requirements(Category.turret, ItemStack.with(Items.metaglass, 45, Items.lead, 75));
ammo( ammo(
Liquids.water, Bullets.waterShot, Liquids.water, Bullets.waterShot,
Liquids.slag, Bullets.slagShot, Liquids.slag, Bullets.slagShot,
Liquids.cryofluid, Bullets.cryoShot, Liquids.cryofluid, Bullets.cryoShot,
Liquids.oil, Bullets.oilShot Liquids.oil, Bullets.oilShot
); );
size = 2; size = 2;
recoil = 0f; recoil = 0f;
@@ -1381,7 +1381,7 @@ public class Blocks implements ContentList{
}}; }};
lancer = new ChargeTurret("lancer"){{ lancer = new ChargeTurret("lancer"){{
requirements(Category.turret, ItemStack.with(Items.copper, 50, Items.lead, 100, Items.silicon, 90)); requirements(Category.turret, ItemStack.with(Items.copper, 25, Items.lead, 50, Items.silicon, 45));
range = 155f; range = 155f;
chargeTime = 50f; chargeTime = 50f;
chargeMaxDelay = 30f; chargeMaxDelay = 30f;
@@ -1403,7 +1403,7 @@ public class Blocks implements ContentList{
}}; }};
arc = new PowerTurret("arc"){{ arc = new PowerTurret("arc"){{
requirements(Category.turret, ItemStack.with(Items.copper, 70, Items.lead, 70)); requirements(Category.turret, ItemStack.with(Items.copper, 35, Items.lead, 35));
shootType = Bullets.arc; shootType = Bullets.arc;
reload = 24f; reload = 24f;
shootCone = 40f; shootCone = 40f;
@@ -1419,11 +1419,11 @@ public class Blocks implements ContentList{
}}; }};
swarmer = new BurstTurret("swarmer"){{ swarmer = new BurstTurret("swarmer"){{
requirements(Category.turret, ItemStack.with(Items.graphite, 70, Items.titanium, 70, Items.plastanium, 90, Items.silicon, 60)); requirements(Category.turret, ItemStack.with(Items.graphite, 35, Items.titanium, 35, Items.plastanium, 45, Items.silicon, 30));
ammo( ammo(
Items.blastCompound, Bullets.missileExplosive, Items.blastCompound, Bullets.missileExplosive,
Items.pyratite, Bullets.missileIncendiary, Items.pyratite, Bullets.missileIncendiary,
Items.surgealloy, Bullets.missileSurge Items.surgealloy, Bullets.missileSurge
); );
reload = 40f; reload = 40f;
shots = 4; shots = 4;
@@ -1436,13 +1436,13 @@ public class Blocks implements ContentList{
}}; }};
salvo = new BurstTurret("salvo"){{ salvo = new BurstTurret("salvo"){{
requirements(Category.turret, ItemStack.with(Items.copper, 210, Items.graphite, 190, Items.titanium, 120)); requirements(Category.turret, ItemStack.with(Items.copper, 105, Items.graphite, 95, Items.titanium, 60));
ammo( ammo(
Items.copper, Bullets.standardCopper, Items.copper, Bullets.standardCopper,
Items.graphite, Bullets.standardDense, Items.graphite, Bullets.standardDense,
Items.pyratite, Bullets.standardIncendiary, Items.pyratite, Bullets.standardIncendiary,
Items.silicon, Bullets.standardHoming, Items.silicon, Bullets.standardHoming,
Items.thorium, Bullets.standardThorium Items.thorium, Bullets.standardThorium
); );
size = 2; size = 2;
@@ -1460,7 +1460,7 @@ public class Blocks implements ContentList{
}}; }};
fuse = new ItemTurret("fuse"){{ fuse = new ItemTurret("fuse"){{
requirements(Category.turret, ItemStack.with(Items.copper, 450, Items.graphite, 450, Items.thorium, 200)); requirements(Category.turret, ItemStack.with(Items.copper, 225, Items.graphite, 225, Items.thorium, 100));
reload = 35f; reload = 35f;
shootShake = 4f; shootShake = 4f;
@@ -1512,13 +1512,13 @@ public class Blocks implements ContentList{
}}; }};
ripple = new ArtilleryTurret("ripple"){{ ripple = new ArtilleryTurret("ripple"){{
requirements(Category.turret, ItemStack.with(Items.copper, 300, Items.graphite, 270, Items.titanium, 120)); requirements(Category.turret, ItemStack.with(Items.copper, 150, Items.graphite, 135, Items.titanium, 60));
ammo( ammo(
Items.graphite, Bullets.artilleryDense, Items.graphite, Bullets.artilleryDense,
Items.silicon, Bullets.artilleryHoming, Items.silicon, Bullets.artilleryHoming,
Items.pyratite, Bullets.artlleryIncendiary, Items.pyratite, Bullets.artlleryIncendiary,
Items.blastCompound, Bullets.artilleryExplosive, Items.blastCompound, Bullets.artilleryExplosive,
Items.plastanium, Bullets.arilleryPlastic Items.plastanium, Bullets.arilleryPlastic
); );
size = 3; size = 3;
shots = 4; shots = 4;
@@ -1537,11 +1537,11 @@ public class Blocks implements ContentList{
}}; }};
cyclone = new ItemTurret("cyclone"){{ cyclone = new ItemTurret("cyclone"){{
requirements(Category.turret, ItemStack.with(Items.copper, 400, Items.titanium, 250, Items.plastanium, 160)); requirements(Category.turret, ItemStack.with(Items.copper, 200, Items.titanium, 125, Items.plastanium, 80));
ammo( ammo(
Items.blastCompound, Bullets.flakExplosive, Items.blastCompound, Bullets.flakExplosive,
Items.plastanium, Bullets.flakPlastic, Items.plastanium, Bullets.flakPlastic,
Items.surgealloy, Bullets.flakSurge Items.surgealloy, Bullets.flakSurge
); );
xRand = 4f; xRand = 4f;
reload = 6f; reload = 6f;
@@ -1556,11 +1556,11 @@ public class Blocks implements ContentList{
}}; }};
spectre = new DoubleTurret("spectre"){{ spectre = new DoubleTurret("spectre"){{
requirements(Category.turret, ItemStack.with(Items.copper, 700, Items.graphite, 600, Items.surgealloy, 500, Items.plastanium, 350, Items.thorium, 500)); requirements(Category.turret, ItemStack.with(Items.copper, 350, Items.graphite, 300, Items.surgealloy, 250, Items.plastanium, 175, Items.thorium, 250));
ammo( ammo(
Items.graphite, Bullets.standardDenseBig, Items.graphite, Bullets.standardDenseBig,
Items.pyratite, Bullets.standardIncendiaryBig, Items.pyratite, Bullets.standardIncendiaryBig,
Items.thorium, Bullets.standardThoriumBig Items.thorium, Bullets.standardThoriumBig
); );
reload = 6f; reload = 6f;
coolantMultiplier = 0.5f; coolantMultiplier = 0.5f;
@@ -1581,7 +1581,7 @@ public class Blocks implements ContentList{
}}; }};
meltdown = new LaserTurret("meltdown"){{ meltdown = new LaserTurret("meltdown"){{
requirements(Category.turret, ItemStack.with(Items.copper, 500, Items.lead, 700, Items.graphite, 600, Items.surgealloy, 650, Items.silicon, 650)); requirements(Category.turret, ItemStack.with(Items.copper, 250, Items.lead, 350, Items.graphite, 300, Items.surgealloy, 325, Items.silicon, 325));
shootType = Bullets.meltdownLaser; shootType = Bullets.meltdownLaser;
shootEffect = Fx.shootBigSmoke2; shootEffect = Fx.shootBigSmoke2;
shootCone = 40f; shootCone = 40f;
@@ -1602,7 +1602,7 @@ public class Blocks implements ContentList{
//region units //region units
draugFactory = new UnitFactory("draug-factory"){{ draugFactory = new UnitFactory("draug-factory"){{
requirements(Category.units, ItemStack.with(Items.copper, 60, Items.lead, 140)); requirements(Category.units, ItemStack.with(Items.copper, 30, Items.lead, 70));
type = UnitTypes.draug; type = UnitTypes.draug;
produceTime = 2500; produceTime = 2500;
size = 2; size = 2;
@@ -1612,7 +1612,7 @@ public class Blocks implements ContentList{
}}; }};
spiritFactory = new UnitFactory("spirit-factory"){{ spiritFactory = new UnitFactory("spirit-factory"){{
requirements(Category.units, ItemStack.with(Items.metaglass, 70, Items.lead, 110, Items.silicon, 90)); requirements(Category.units, ItemStack.with(Items.metaglass, 35, Items.lead, 55, Items.silicon, 45));
type = UnitTypes.spirit; type = UnitTypes.spirit;
produceTime = 2850; produceTime = 2850;
size = 2; size = 2;
@@ -1622,7 +1622,7 @@ public class Blocks implements ContentList{
}}; }};
phantomFactory = new UnitFactory("phantom-factory"){{ phantomFactory = new UnitFactory("phantom-factory"){{
requirements(Category.units, ItemStack.with(Items.titanium, 90, Items.thorium, 80, Items.lead, 110, Items.silicon, 210)); requirements(Category.units, ItemStack.with(Items.titanium, 45, Items.thorium, 40, Items.lead, 55, Items.silicon, 105));
type = UnitTypes.phantom; type = UnitTypes.phantom;
produceTime = 3650; produceTime = 3650;
size = 2; size = 2;
@@ -1632,7 +1632,7 @@ public class Blocks implements ContentList{
}}; }};
wraithFactory = new UnitFactory("wraith-factory"){{ wraithFactory = new UnitFactory("wraith-factory"){{
requirements(Category.units, padVisible, ItemStack.with(Items.titanium, 60, Items.lead, 80, Items.silicon, 90)); requirements(Category.units, padVisible, ItemStack.with(Items.titanium, 30, Items.lead, 40, Items.silicon, 45));
type = UnitTypes.wraith; type = UnitTypes.wraith;
produceTime = 750; produceTime = 750;
size = 2; size = 2;
@@ -1641,7 +1641,7 @@ public class Blocks implements ContentList{
}}; }};
ghoulFactory = new UnitFactory("ghoul-factory"){{ ghoulFactory = new UnitFactory("ghoul-factory"){{
requirements(Category.units, padVisible, ItemStack.with(Items.titanium, 150, Items.lead, 130, Items.silicon, 220)); requirements(Category.units, padVisible, ItemStack.with(Items.titanium, 75, Items.lead, 65, Items.silicon, 110));
type = UnitTypes.ghoul; type = UnitTypes.ghoul;
produceTime = 1150; produceTime = 1150;
size = 3; size = 3;
@@ -1650,7 +1650,7 @@ public class Blocks implements ContentList{
}}; }};
revenantFactory = new UnitFactory("revenant-factory"){{ revenantFactory = new UnitFactory("revenant-factory"){{
requirements(Category.units, padVisible, ItemStack.with(Items.plastanium, 100, Items.titanium, 300, Items.lead, 300, Items.silicon, 400)); requirements(Category.units, padVisible, ItemStack.with(Items.plastanium, 50, Items.titanium, 150, Items.lead, 150, Items.silicon, 200));
type = UnitTypes.revenant; type = UnitTypes.revenant;
produceTime = 2000; produceTime = 2000;
size = 4; size = 4;
@@ -1659,7 +1659,7 @@ public class Blocks implements ContentList{
}}; }};
daggerFactory = new UnitFactory("dagger-factory"){{ daggerFactory = new UnitFactory("dagger-factory"){{
requirements(Category.units, padVisible, ItemStack.with(Items.lead, 110, Items.silicon, 70)); requirements(Category.units, padVisible, ItemStack.with(Items.lead, 55, Items.silicon, 35));
type = UnitTypes.dagger; type = UnitTypes.dagger;
produceTime = 850; produceTime = 850;
size = 2; size = 2;
@@ -1668,7 +1668,7 @@ public class Blocks implements ContentList{
}}; }};
crawlerFactory = new UnitFactory("crawler-factory"){{ crawlerFactory = new UnitFactory("crawler-factory"){{
requirements(Category.units, padVisible, ItemStack.with(Items.lead, 50, Items.silicon, 80)); requirements(Category.units, padVisible, ItemStack.with(Items.lead, 25, Items.silicon, 40));
type = UnitTypes.crawler; type = UnitTypes.crawler;
produceTime = 250; produceTime = 250;
size = 2; size = 2;
@@ -1678,7 +1678,7 @@ public class Blocks implements ContentList{
}}; }};
titanFactory = new UnitFactory("titan-factory"){{ titanFactory = new UnitFactory("titan-factory"){{
requirements(Category.units, padVisible, ItemStack.with(Items.graphite, 100, Items.lead, 100, Items.silicon, 90)); requirements(Category.units, padVisible, ItemStack.with(Items.graphite, 50, Items.lead, 50, Items.silicon, 45));
type = UnitTypes.titan; type = UnitTypes.titan;
produceTime = 1050; produceTime = 1050;
size = 3; size = 3;
@@ -1687,7 +1687,7 @@ public class Blocks implements ContentList{
}}; }};
fortressFactory = new UnitFactory("fortress-factory"){{ fortressFactory = new UnitFactory("fortress-factory"){{
requirements(Category.units, padVisible, ItemStack.with(Items.thorium, 80, Items.lead, 220, Items.silicon, 150)); requirements(Category.units, padVisible, ItemStack.with(Items.thorium, 40, Items.lead, 110, Items.silicon, 75));
type = UnitTypes.fortress; type = UnitTypes.fortress;
produceTime = 2000; produceTime = 2000;
size = 3; size = 3;
@@ -1697,7 +1697,7 @@ public class Blocks implements ContentList{
}}; }};
repairPoint = new RepairPoint("repair-point"){{ repairPoint = new RepairPoint("repair-point"){{
requirements(Category.units, ItemStack.with(Items.lead, 30, Items.copper, 30, Items.silicon, 30)); requirements(Category.units, ItemStack.with(Items.lead, 15, Items.copper, 15, Items.silicon, 15));
repairSpeed = 0.3f; repairSpeed = 0.3f;
powerUse = 1f; powerUse = 1f;
}}; }};
@@ -1706,49 +1706,49 @@ public class Blocks implements ContentList{
//region upgrades //region upgrades
dartPad = new MechPad("dart-mech-pad"){{ dartPad = new MechPad("dart-mech-pad"){{
requirements(Category.upgrade, ItemStack.with(Items.lead, 200, Items.graphite, 100, Items.copper, 150)); requirements(Category.upgrade, ItemStack.with(Items.lead, 100, Items.graphite, 50, Items.copper, 75));
mech = Mechs.alpha; mech = Mechs.alpha;
size = 2; size = 2;
consumes.power(0.5f); consumes.power(0.5f);
}}; }};
deltaPad = new MechPad("delta-mech-pad"){{ deltaPad = new MechPad("delta-mech-pad"){{
requirements(Category.upgrade, ItemStack.with(Items.lead, 350, Items.titanium, 350, Items.copper, 400, Items.silicon, 450, Items.thorium, 300)); requirements(Category.upgrade, ItemStack.with(Items.lead, 175, Items.titanium, 175, Items.copper, 200, Items.silicon, 225, Items.thorium, 150));
mech = Mechs.delta; mech = Mechs.delta;
size = 2; size = 2;
consumes.power(0.7f); consumes.power(0.7f);
}}; }};
tauPad = new MechPad("tau-mech-pad"){{ tauPad = new MechPad("tau-mech-pad"){{
requirements(Category.upgrade, ItemStack.with(Items.lead, 250, Items.titanium, 250, Items.copper, 250, Items.silicon, 250)); requirements(Category.upgrade, ItemStack.with(Items.lead, 125, Items.titanium, 125, Items.copper, 125, Items.silicon, 125));
mech = Mechs.tau; mech = Mechs.tau;
size = 2; size = 2;
consumes.power(1f); consumes.power(1f);
}}; }};
omegaPad = new MechPad("omega-mech-pad"){{ omegaPad = new MechPad("omega-mech-pad"){{
requirements(Category.upgrade, ItemStack.with(Items.lead, 450, Items.graphite, 550, Items.silicon, 650, Items.thorium, 600, Items.surgealloy, 240)); requirements(Category.upgrade, ItemStack.with(Items.lead, 225, Items.graphite, 275, Items.silicon, 325, Items.thorium, 300, Items.surgealloy, 120));
mech = Mechs.omega; mech = Mechs.omega;
size = 3; size = 3;
consumes.power(1.2f); consumes.power(1.2f);
}}; }};
javelinPad = new MechPad("javelin-ship-pad"){{ javelinPad = new MechPad("javelin-ship-pad"){{
requirements(Category.upgrade, ItemStack.with(Items.lead, 350, Items.silicon, 450, Items.titanium, 500, Items.plastanium, 400, Items.phasefabric, 200)); requirements(Category.upgrade, ItemStack.with(Items.lead, 175, Items.silicon, 225, Items.titanium, 250, Items.plastanium, 200, Items.phasefabric, 100));
mech = Mechs.javelin; mech = Mechs.javelin;
size = 2; size = 2;
consumes.power(0.8f); consumes.power(0.8f);
}}; }};
tridentPad = new MechPad("trident-ship-pad"){{ tridentPad = new MechPad("trident-ship-pad"){{
requirements(Category.upgrade, ItemStack.with(Items.lead, 250, Items.copper, 250, Items.silicon, 250, Items.titanium, 300, Items.plastanium, 200)); requirements(Category.upgrade, ItemStack.with(Items.lead, 125, Items.copper, 125, Items.silicon, 125, Items.titanium, 150, Items.plastanium, 100));
mech = Mechs.trident; mech = Mechs.trident;
size = 2; size = 2;
consumes.power(1f); consumes.power(1f);
}}; }};
glaivePad = new MechPad("glaive-ship-pad"){{ glaivePad = new MechPad("glaive-ship-pad"){{
requirements(Category.upgrade, ItemStack.with(Items.lead, 450, Items.silicon, 650, Items.titanium, 700, Items.plastanium, 600, Items.surgealloy, 200)); requirements(Category.upgrade, ItemStack.with(Items.lead, 225, Items.silicon, 325, Items.titanium, 350, Items.plastanium, 300, Items.surgealloy, 100));
mech = Mechs.glaive; mech = Mechs.glaive;
size = 3; size = 3;
consumes.power(1.2f); consumes.power(1.2f);
@@ -1756,4 +1756,4 @@ public class Blocks implements ContentList{
//endregion //endregion
} }
} }
@@ -23,6 +23,14 @@ public class ItemStack implements Comparable<ItemStack>{
return other != null && other.item == item && other.amount == amount; return other != null && other.item == item && other.amount == amount;
} }
public static ItemStack[] mult(ItemStack[] stacks, int amount){
ItemStack[] copy = new ItemStack[stacks.length];
for(int i = 0; i < copy.length; i++){
copy[i] = new ItemStack(stacks[i].item, stacks[i].amount * amount);
}
return copy;
}
public static ItemStack[] with(Object... items){ public static ItemStack[] with(Object... items){
ItemStack[] stacks = new ItemStack[items.length / 2]; ItemStack[] stacks = new ItemStack[items.length / 2];
for(int i = 0; i < items.length; i += 2){ for(int i = 0; i < items.length; i += 2){