diff --git a/core/src/io/anuke/mindustry/content/Blocks.java b/core/src/io/anuke/mindustry/content/Blocks.java index b80a143631..8672cc8a4d 100644 --- a/core/src/io/anuke/mindustry/content/Blocks.java +++ b/core/src/io/anuke/mindustry/content/Blocks.java @@ -411,7 +411,7 @@ public class Blocks implements ContentList{ //region crafting 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; outputItem = new ItemStack(Items.graphite, 1); @@ -423,7 +423,7 @@ public class Blocks implements ContentList{ }}; 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; outputItem = new ItemStack(Items.graphite, 2); @@ -439,7 +439,7 @@ public class Blocks implements ContentList{ }}; 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; outputItem = new ItemStack(Items.silicon, 1); craftTime = 40f; @@ -453,7 +453,7 @@ public class Blocks implements ContentList{ }}; 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; outputItem = new ItemStack(Items.metaglass, 1); craftTime = 30f; @@ -466,7 +466,7 @@ public class Blocks implements ContentList{ }}; 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; liquidCapacity = 60f; craftTime = 60f; @@ -495,7 +495,7 @@ public class Blocks implements ContentList{ }}; 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; outputItem = new ItemStack(Items.phasefabric, 1); craftTime = 120f; @@ -531,7 +531,7 @@ public class Blocks implements ContentList{ }}; 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; outputItem = new ItemStack(Items.surgealloy, 1); craftTime = 75f; @@ -543,7 +543,7 @@ public class Blocks implements ContentList{ }}; 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); craftTime = 60f; size = 2; @@ -581,7 +581,7 @@ public class Blocks implements ContentList{ }}; 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; hasPower = true; outputItem = new ItemStack(Items.blastCompound, 1); @@ -592,7 +592,7 @@ public class Blocks implements ContentList{ }}; 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; hasItems = true; hasPower = true; @@ -605,7 +605,7 @@ public class Blocks implements ContentList{ }}; 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; outputLiquid = new LiquidStack(Liquids.slag, 2f); craftTime = 10f; @@ -616,12 +616,12 @@ public class Blocks implements ContentList{ }}; 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( - Items.copper, 5, - Items.lead, 3, - Items.graphite, 2, - Items.titanium, 2 + Items.copper, 5, + Items.lead, 3, + Items.graphite, 2, + Items.titanium, 2 ); hasPower = true; craftTime = 35f; @@ -636,7 +636,7 @@ public class Blocks implements ContentList{ }}; 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; craftTime = 20f; outputLiquid = new LiquidStack(Liquids.oil, 6f); @@ -672,7 +672,7 @@ public class Blocks implements ContentList{ }}; 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); craftEffect = Fx.pulverize; craftTime = 40f; @@ -695,7 +695,7 @@ public class Blocks implements ContentList{ }}; 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; outputItem = new ItemStack(Items.coal, 1); craftTime = 30f; @@ -707,7 +707,7 @@ public class Blocks implements ContentList{ }}; 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; consumes.power(0.50f); }}; @@ -773,67 +773,67 @@ public class Blocks implements ContentList{ }}; copperWall = new Wall("copper-wall"){{ - requirements(Category.defense, ItemStack.with(Items.copper, 12)); + requirements(Category.defense, ItemStack.with(Items.copper, 6)); health = 80 * wallHealthMultiplier; }}; 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; size = 2; }}; titaniumWall = new Wall("titanium-wall"){{ - requirements(Category.defense, ItemStack.with(Items.titanium, 12)); + requirements(Category.defense, ItemStack.with(Items.titanium, 6)); health = 110 * wallHealthMultiplier; }}; 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; size = 2; }}; thoriumWall = new Wall("thorium-wall"){{ - requirements(Category.defense, ItemStack.with(Items.thorium, 12)); + requirements(Category.defense, ItemStack.with(Items.thorium, 6)); health = 200 * wallHealthMultiplier; }}; 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; size = 2; }}; phaseWall = new DeflectorWall("phase-wall"){{ - requirements(Category.defense, ItemStack.with(Items.phasefabric, 12)); + requirements(Category.defense, ItemStack.with(Items.phasefabric, 6)); health = 150 * wallHealthMultiplier; }}; 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; size = 2; }}; surgeWall = new SurgeWall("surge-wall"){{ - requirements(Category.defense, ItemStack.with(Items.surgealloy, 12)); + requirements(Category.defense, ItemStack.with(Items.surgealloy, 6)); health = 230 * wallHealthMultiplier; }}; 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; size = 2; }}; 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; }}; 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; closefx = Fx.doorcloselarge; health = 100 * 4 * wallHealthMultiplier; @@ -841,7 +841,7 @@ public class Blocks implements ContentList{ }}; 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); size = 1; reload = 200f; @@ -854,7 +854,7 @@ public class Blocks implements ContentList{ }}; 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); size = 2; reload = 250f; @@ -865,21 +865,21 @@ public class Blocks implements ContentList{ }}; 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); size = 2; consumes.item(Items.phasefabric).boost(); }}; 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; consumes.item(Items.phasefabric).boost(); consumes.power(3f); }}; 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; health = 40; damage = 11; @@ -898,53 +898,53 @@ public class Blocks implements ContentList{ }}; 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; speed = 0.08f; }}; junction = new Junction("junction"){{ - requirements(Category.distribution, ItemStack.with(Items.copper, 3), true); + requirements(Category.distribution, ItemStack.with(Items.copper, 1), true); speed = 26; capacity = 15; health = 30; }}; 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; speed = 70f; bufferCapacity = 15; }}; 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; hasPower = true; consumes.power(0.30f); }}; 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"){{ - requirements(Category.distribution, ItemStack.with(Items.copper, 6)); + requirements(Category.distribution, ItemStack.with(Items.copper, 3)); }}; 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; }}; 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"){{ - 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; itemCapacity = 120; reloadTime = 200f; @@ -956,12 +956,12 @@ public class Blocks implements ContentList{ //region liquid 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; }}; 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; consumes.power(0.15f); liquidCapacity = 30f; @@ -970,7 +970,7 @@ public class Blocks implements ContentList{ }}; 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; consumes.power(0.30f); liquidCapacity = 40f; @@ -984,36 +984,36 @@ public class Blocks implements ContentList{ }}; 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; liquidFlowFactor = 4.9f; health = 90; }}; 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; }}; 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; liquidCapacity = 1500f; health = 500; }}; 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"){{ - requirements(Category.liquid, ItemStack.with(Items.titanium, 8, Items.metaglass, 8)); + requirements(Category.liquid, ItemStack.with(Items.titanium, 4, Items.metaglass, 4)); range = 4; hasPower = false; }}; 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; hasPower = true; consumes.power(0.30f); @@ -1023,51 +1023,51 @@ public class Blocks implements ContentList{ //region power 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; laserRange = 6; }}; 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; maxNodes = 6; laserRange = 9.5f; }}; 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; maxNodes = 2; laserRange = 30f; }}; 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); }}; 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; consumes.powerBuffered(50000f); }}; 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; itemDuration = 60f; }}; 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; generateEffect = Fx.redgeneratespark; size = 2; }}; 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; itemDuration = 40f; consumes.liquid(Liquids.water, 0.05f); @@ -1076,7 +1076,7 @@ public class Blocks implements ContentList{ }}; 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; itemDuration = 60f; hasLiquids = true; @@ -1087,25 +1087,25 @@ public class Blocks implements ContentList{ }}; 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; powerProduction = 3f; itemDuration = 220f; }}; 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; }}; 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; powerProduction = 0.9f; }}; 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; health = 700; powerProduction = 14f; @@ -1115,7 +1115,7 @@ public class Blocks implements ContentList{ }}; 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; health = 900; powerProduction = 130f; @@ -1129,7 +1129,7 @@ public class Blocks implements ContentList{ //region production 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; drillTime = 600; size = 2; @@ -1138,7 +1138,7 @@ public class Blocks implements ContentList{ }}; 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; drillTime = 400; size = 2; @@ -1147,7 +1147,7 @@ public class Blocks implements ContentList{ }}; 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; size = 3; hasPower = true; @@ -1160,7 +1160,7 @@ public class Blocks implements ContentList{ }}; 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; size = 4; drawRim = true; @@ -1177,7 +1177,7 @@ public class Blocks implements ContentList{ }}; 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; pumpAmount = 0.13f; size = 2; @@ -1189,7 +1189,7 @@ public class Blocks implements ContentList{ }}; 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); craftTime = 140; size = 2; @@ -1202,7 +1202,7 @@ public class Blocks implements ContentList{ }}; 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; updateEffect = Fx.pulverize; liquidCapacity = 50f; @@ -1221,7 +1221,7 @@ public class Blocks implements ContentList{ //region storage 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; health = 1100; @@ -1230,7 +1230,7 @@ public class Blocks implements ContentList{ }}; 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; itemCapacity = 9000; @@ -1238,7 +1238,7 @@ public class Blocks implements ContentList{ }}; 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; itemCapacity = 13000; @@ -1246,24 +1246,24 @@ public class Blocks implements ContentList{ }}; 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; itemCapacity = 1000; }}; container = new Vault("container"){{ - requirements(Category.effect, ItemStack.with(Items.titanium, 200)); + requirements(Category.effect, ItemStack.with(Items.titanium, 100)); size = 2; itemCapacity = 300; }}; 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; }}; 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; itemCapacity = 100; launchTime = 60f * 16; @@ -1272,7 +1272,7 @@ public class Blocks implements ContentList{ }}; 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; itemCapacity = 250; launchTime = 60f * 14; @@ -1285,12 +1285,12 @@ public class Blocks implements ContentList{ //region turrets duo = new DoubleTurret("duo"){{ - requirements(Category.turret, ItemStack.with(Items.copper, 70), true); + requirements(Category.turret, ItemStack.with(Items.copper, 35), true); ammo( - Items.copper, Bullets.standardCopper, - Items.graphite, Bullets.standardDense, - Items.pyratite, Bullets.standardIncendiary, - Items.silicon, Bullets.standardHoming + Items.copper, Bullets.standardCopper, + Items.graphite, Bullets.standardDense, + Items.pyratite, Bullets.standardIncendiary, + Items.silicon, Bullets.standardHoming ); reload = 20f; restitution = 0.03f; @@ -1303,10 +1303,10 @@ public class Blocks implements ContentList{ }}; 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( - Items.scrap, Bullets.flakScrap, - Items.lead, Bullets.flakLead + Items.scrap, Bullets.flakScrap, + Items.lead, Bullets.flakLead ); reload = 18f; range = 170f; @@ -1324,10 +1324,10 @@ public class Blocks implements ContentList{ }}; 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( - Items.coal, Bullets.basicFlame, - Items.pyratite, Bullets.pyraFlame + Items.coal, Bullets.basicFlame, + Items.pyratite, Bullets.pyraFlame ); recoil = 0f; reload = 4f; @@ -1339,11 +1339,11 @@ public class Blocks implements ContentList{ }}; 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( - Items.graphite, Bullets.artilleryDense, - Items.silicon, Bullets.artilleryHoming, - Items.pyratite, Bullets.artlleryIncendiary + Items.graphite, Bullets.artilleryDense, + Items.silicon, Bullets.artilleryHoming, + Items.pyratite, Bullets.artlleryIncendiary ); reload = 60f; recoil = 2f; @@ -1354,12 +1354,12 @@ public class Blocks implements ContentList{ }}; 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( - Liquids.water, Bullets.waterShot, - Liquids.slag, Bullets.slagShot, - Liquids.cryofluid, Bullets.cryoShot, - Liquids.oil, Bullets.oilShot + Liquids.water, Bullets.waterShot, + Liquids.slag, Bullets.slagShot, + Liquids.cryofluid, Bullets.cryoShot, + Liquids.oil, Bullets.oilShot ); size = 2; recoil = 0f; @@ -1381,7 +1381,7 @@ public class Blocks implements ContentList{ }}; 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; chargeTime = 50f; chargeMaxDelay = 30f; @@ -1403,7 +1403,7 @@ public class Blocks implements ContentList{ }}; 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; reload = 24f; shootCone = 40f; @@ -1419,11 +1419,11 @@ public class Blocks implements ContentList{ }}; 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( - Items.blastCompound, Bullets.missileExplosive, - Items.pyratite, Bullets.missileIncendiary, - Items.surgealloy, Bullets.missileSurge + Items.blastCompound, Bullets.missileExplosive, + Items.pyratite, Bullets.missileIncendiary, + Items.surgealloy, Bullets.missileSurge ); reload = 40f; shots = 4; @@ -1436,13 +1436,13 @@ public class Blocks implements ContentList{ }}; 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( - Items.copper, Bullets.standardCopper, - Items.graphite, Bullets.standardDense, - Items.pyratite, Bullets.standardIncendiary, - Items.silicon, Bullets.standardHoming, - Items.thorium, Bullets.standardThorium + Items.copper, Bullets.standardCopper, + Items.graphite, Bullets.standardDense, + Items.pyratite, Bullets.standardIncendiary, + Items.silicon, Bullets.standardHoming, + Items.thorium, Bullets.standardThorium ); size = 2; @@ -1460,7 +1460,7 @@ public class Blocks implements ContentList{ }}; 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; shootShake = 4f; @@ -1512,13 +1512,13 @@ public class Blocks implements ContentList{ }}; 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( - Items.graphite, Bullets.artilleryDense, - Items.silicon, Bullets.artilleryHoming, - Items.pyratite, Bullets.artlleryIncendiary, - Items.blastCompound, Bullets.artilleryExplosive, - Items.plastanium, Bullets.arilleryPlastic + Items.graphite, Bullets.artilleryDense, + Items.silicon, Bullets.artilleryHoming, + Items.pyratite, Bullets.artlleryIncendiary, + Items.blastCompound, Bullets.artilleryExplosive, + Items.plastanium, Bullets.arilleryPlastic ); size = 3; shots = 4; @@ -1537,11 +1537,11 @@ public class Blocks implements ContentList{ }}; 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( - Items.blastCompound, Bullets.flakExplosive, - Items.plastanium, Bullets.flakPlastic, - Items.surgealloy, Bullets.flakSurge + Items.blastCompound, Bullets.flakExplosive, + Items.plastanium, Bullets.flakPlastic, + Items.surgealloy, Bullets.flakSurge ); xRand = 4f; reload = 6f; @@ -1556,11 +1556,11 @@ public class Blocks implements ContentList{ }}; 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( - Items.graphite, Bullets.standardDenseBig, - Items.pyratite, Bullets.standardIncendiaryBig, - Items.thorium, Bullets.standardThoriumBig + Items.graphite, Bullets.standardDenseBig, + Items.pyratite, Bullets.standardIncendiaryBig, + Items.thorium, Bullets.standardThoriumBig ); reload = 6f; coolantMultiplier = 0.5f; @@ -1581,7 +1581,7 @@ public class Blocks implements ContentList{ }}; 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; shootEffect = Fx.shootBigSmoke2; shootCone = 40f; @@ -1602,7 +1602,7 @@ public class Blocks implements ContentList{ //region units 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; produceTime = 2500; size = 2; @@ -1612,7 +1612,7 @@ public class Blocks implements ContentList{ }}; 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; produceTime = 2850; size = 2; @@ -1622,7 +1622,7 @@ public class Blocks implements ContentList{ }}; 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; produceTime = 3650; size = 2; @@ -1632,7 +1632,7 @@ public class Blocks implements ContentList{ }}; 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; produceTime = 750; size = 2; @@ -1641,7 +1641,7 @@ public class Blocks implements ContentList{ }}; 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; produceTime = 1150; size = 3; @@ -1650,7 +1650,7 @@ public class Blocks implements ContentList{ }}; 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; produceTime = 2000; size = 4; @@ -1659,7 +1659,7 @@ public class Blocks implements ContentList{ }}; 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; produceTime = 850; size = 2; @@ -1668,7 +1668,7 @@ public class Blocks implements ContentList{ }}; 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; produceTime = 250; size = 2; @@ -1678,7 +1678,7 @@ public class Blocks implements ContentList{ }}; 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; produceTime = 1050; size = 3; @@ -1687,7 +1687,7 @@ public class Blocks implements ContentList{ }}; 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; produceTime = 2000; size = 3; @@ -1697,7 +1697,7 @@ public class Blocks implements ContentList{ }}; 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; powerUse = 1f; }}; @@ -1706,49 +1706,49 @@ public class Blocks implements ContentList{ //region upgrades 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; size = 2; consumes.power(0.5f); }}; 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; size = 2; consumes.power(0.7f); }}; 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; size = 2; consumes.power(1f); }}; 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; size = 3; consumes.power(1.2f); }}; 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; size = 2; consumes.power(0.8f); }}; 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; size = 2; consumes.power(1f); }}; 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; size = 3; consumes.power(1.2f); @@ -1756,4 +1756,4 @@ public class Blocks implements ContentList{ //endregion } -} +} \ No newline at end of file diff --git a/core/src/io/anuke/mindustry/type/ItemStack.java b/core/src/io/anuke/mindustry/type/ItemStack.java index 8067c56cd9..027a30ae36 100644 --- a/core/src/io/anuke/mindustry/type/ItemStack.java +++ b/core/src/io/anuke/mindustry/type/ItemStack.java @@ -23,6 +23,14 @@ public class ItemStack implements Comparable{ 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){ ItemStack[] stacks = new ItemStack[items.length / 2]; for(int i = 0; i < items.length; i += 2){