Merge branch 'resource-rework' of https://github.com/Anuken/Mindustry
This commit is contained in:
@@ -43,7 +43,7 @@ public class BlockIndexer{
|
||||
/**
|
||||
* Set of all ores that are being scanned.
|
||||
*/
|
||||
private final ObjectSet<Item> scanOres = ObjectSet.with(Items.tungsten, Items.coal, Items.lead, Items.thorium, Items.titanium);
|
||||
private final ObjectSet<Item> scanOres = ObjectSet.with(Items.copper, Items.coal, Items.lead, Items.thorium, Items.titanium);
|
||||
private final ObjectSet<Item> itemSet = new ObjectSet<>();
|
||||
/**
|
||||
* Stores all ore quadtrants on the map.
|
||||
|
||||
@@ -10,10 +10,10 @@ import io.anuke.mindustry.type.AmmoType;
|
||||
import io.anuke.mindustry.type.ContentList;
|
||||
|
||||
public class AmmoTypes implements ContentList{
|
||||
public static AmmoType bulletTungsten, bulletLead, bulletCarbide, bulletThorium, bulletSilicon, bulletPyratite,
|
||||
public static AmmoType bulletCopper, bulletDense, bulletThorium, bulletSilicon, bulletPyratite,
|
||||
shotgunTungsten, bombExplosive, bombIncendiary, bombOil, shellCarbide, flamerThermite, weaponMissile,
|
||||
flakLead, flakExplosive, flakPlastic, flakSurge, missileExplosive, missileIncindiary, missileSurge,
|
||||
artilleryCarbide, artilleryPlastic, artilleryHoming, artilleryIncindiary, artilleryExplosive,
|
||||
artilleryDense, artilleryPlastic, artilleryHoming, artilleryIncindiary, artilleryExplosive,
|
||||
basicFlame, lancerLaser, lightning, spectreLaser, meltdownLaser, fuseShotgun, oil, water, lava, cryofluid;
|
||||
|
||||
@Override
|
||||
@@ -21,37 +21,37 @@ public class AmmoTypes implements ContentList{
|
||||
|
||||
//weapon specific
|
||||
|
||||
shotgunTungsten = new AmmoType(Items.tungsten, WeaponBullets.tungstenShotgun, 2){{
|
||||
shotgunTungsten = new AmmoType(WeaponBullets.tungstenShotgun){{
|
||||
shootEffect = ShootFx.shootBig;
|
||||
smokeEffect = ShootFx.shootBigSmoke;
|
||||
recoil = 1f;
|
||||
}};
|
||||
|
||||
shellCarbide = new AmmoType(Items.carbide, WeaponBullets.shellCarbide, 2){{
|
||||
shellCarbide = new AmmoType(WeaponBullets.shellCarbide){{
|
||||
shootEffect = ShootFx.shootBig;
|
||||
smokeEffect = ShootFx.shootBigSmoke;
|
||||
}};
|
||||
|
||||
bombExplosive = new AmmoType(Items.blastCompound, WeaponBullets.bombExplosive, 3){{
|
||||
bombExplosive = new AmmoType(WeaponBullets.bombExplosive){{
|
||||
shootEffect = Fx.none;
|
||||
smokeEffect = Fx.none;
|
||||
}};
|
||||
|
||||
bombIncendiary = new AmmoType(Items.pyratite, WeaponBullets.bombIncendiary, 3){{
|
||||
bombIncendiary = new AmmoType(WeaponBullets.bombIncendiary){{
|
||||
shootEffect = Fx.none;
|
||||
smokeEffect = Fx.none;
|
||||
}};
|
||||
|
||||
bombOil = new AmmoType(Items.coal, WeaponBullets.bombOil, 3){{
|
||||
bombOil = new AmmoType(WeaponBullets.bombOil){{
|
||||
shootEffect = Fx.none;
|
||||
smokeEffect = Fx.none;
|
||||
}};
|
||||
|
||||
flamerThermite = new AmmoType(Items.pyratite, TurretBullets.basicFlame, 3){{
|
||||
flamerThermite = new AmmoType(TurretBullets.basicFlame){{
|
||||
shootEffect = ShootFx.shootSmallFlame;
|
||||
}};
|
||||
|
||||
weaponMissile = new AmmoType(Items.carbide, MissileBullets.javelin, 2){{
|
||||
weaponMissile = new AmmoType(MissileBullets.javelin){{
|
||||
shootEffect = BulletFx.hitBulletSmall;
|
||||
smokeEffect = Fx.none;
|
||||
reloadMultiplier = 1.2f;
|
||||
@@ -59,20 +59,14 @@ public class AmmoTypes implements ContentList{
|
||||
|
||||
//bullets
|
||||
|
||||
bulletLead = new AmmoType(Items.lead, StandardBullets.lead, 5){{
|
||||
bulletCopper = new AmmoType(Items.copper, StandardBullets.copper, 5){{
|
||||
shootEffect = ShootFx.shootSmall;
|
||||
smokeEffect = ShootFx.shootSmallSmoke;
|
||||
reloadMultiplier = 1.6f;
|
||||
reloadMultiplier = 1f;
|
||||
inaccuracy = 5f;
|
||||
}};
|
||||
|
||||
bulletTungsten = new AmmoType(Items.tungsten, StandardBullets.tungsten, 2){{
|
||||
shootEffect = ShootFx.shootSmall;
|
||||
smokeEffect = ShootFx.shootSmallSmoke;
|
||||
reloadMultiplier = 0.8f;
|
||||
}};
|
||||
|
||||
bulletCarbide = new AmmoType(Items.carbide, StandardBullets.carbide, 2){{
|
||||
bulletDense = new AmmoType(Items.densealloy, StandardBullets.dense, 2){{
|
||||
shootEffect = ShootFx.shootSmall;
|
||||
smokeEffect = ShootFx.shootSmallSmoke;
|
||||
reloadMultiplier = 0.6f;
|
||||
@@ -138,7 +132,7 @@ public class AmmoTypes implements ContentList{
|
||||
|
||||
//artillery
|
||||
|
||||
artilleryCarbide = new AmmoType(Items.carbide, ArtilleryBullets.carbide, 2){{
|
||||
artilleryDense = new AmmoType(Items.densealloy, ArtilleryBullets.dense, 2){{
|
||||
shootEffect = ShootFx.shootBig2;
|
||||
smokeEffect = ShootFx.shootBigSmoke2;
|
||||
}};
|
||||
@@ -183,7 +177,7 @@ public class AmmoTypes implements ContentList{
|
||||
|
||||
meltdownLaser = new AmmoType(TurretBullets.lancerLaser);
|
||||
|
||||
fuseShotgun = new AmmoType(Items.tungsten, TurretBullets.fuseShot, 0.1f);
|
||||
fuseShotgun = new AmmoType(Items.copper, TurretBullets.fuseShot, 0.1f);
|
||||
|
||||
//liquid
|
||||
|
||||
|
||||
@@ -8,34 +8,34 @@ import io.anuke.mindustry.type.Item;
|
||||
import io.anuke.mindustry.type.ItemType;
|
||||
|
||||
public class Items implements ContentList{
|
||||
public static Item stone, tungsten, lead, coal, carbide, titanium, thorium, silicon, plastanium, phasematter, surgealloy,
|
||||
public static Item stone, copper, lead, densealloy, coal, titanium, thorium, silicon, plastanium, phasematter, surgealloy,
|
||||
biomatter, sand, blastCompound, pyratite;
|
||||
|
||||
@Override
|
||||
public void load(){
|
||||
|
||||
tungsten = new Item("tungsten", Color.valueOf("a0b0c8")){{
|
||||
type = ItemType.material;
|
||||
hardness = 1;
|
||||
cost = 0.75f;
|
||||
}};
|
||||
|
||||
lead = new Item("lead", Color.valueOf("8e85a2")){{
|
||||
copper = new Item("copper", Color.valueOf("d99d73")){{
|
||||
type = ItemType.material;
|
||||
hardness = 1;
|
||||
cost = 0.6f;
|
||||
}};
|
||||
|
||||
lead = new Item("lead", Color.valueOf("8c7fa9")){{
|
||||
type = ItemType.material;
|
||||
hardness = 1;
|
||||
cost = 0.6f;
|
||||
}};
|
||||
|
||||
densealloy = new Item("dense-alloy", Color.valueOf("b2c6d2")){{
|
||||
type = ItemType.material;
|
||||
cost = 1.2f;
|
||||
}};
|
||||
|
||||
coal = new Item("coal", Color.valueOf("272727")){{
|
||||
explosiveness = 0.2f;
|
||||
flammability = 0.5f;
|
||||
hardness = 2;
|
||||
}};
|
||||
|
||||
carbide = new Item("carbide", Color.valueOf("e2e2e2")){{
|
||||
type = ItemType.material;
|
||||
}};
|
||||
|
||||
titanium = new Item("titanium", Color.valueOf("8da1e3")){{
|
||||
type = ItemType.material;
|
||||
hardness = 3;
|
||||
@@ -59,7 +59,7 @@ public class Items implements ContentList{
|
||||
cost = 0.9f;
|
||||
}};
|
||||
|
||||
plastanium = new Item("plastanium", Color.valueOf("e9ead3")){{
|
||||
plastanium = new Item("plastanium", Color.valueOf("cbd97f")){{
|
||||
type = ItemType.material;
|
||||
flammability = 0.1f;
|
||||
explosiveness = 0.1f;
|
||||
@@ -71,16 +71,9 @@ public class Items implements ContentList{
|
||||
cost = 1.5f;
|
||||
}};
|
||||
|
||||
surgealloy = new Item("surge-alloy", Color.valueOf("b4d5c7")){
|
||||
{
|
||||
type = ItemType.material;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isHidden(){
|
||||
return true;
|
||||
}
|
||||
};
|
||||
surgealloy = new Item("surge-alloy", Color.valueOf("f3e979")){{
|
||||
type = ItemType.material;
|
||||
}};
|
||||
|
||||
biomatter = new Item("biomatter", Color.valueOf("648b55")){{
|
||||
flammability = 0.4f;
|
||||
|
||||
@@ -4,9 +4,8 @@ import com.badlogic.gdx.utils.Array;
|
||||
import io.anuke.mindustry.content.blocks.*;
|
||||
import io.anuke.mindustry.game.Content;
|
||||
import io.anuke.mindustry.game.GameMode;
|
||||
import io.anuke.mindustry.type.ContentList;
|
||||
import io.anuke.mindustry.type.ItemStack;
|
||||
import io.anuke.mindustry.type.Recipe;
|
||||
import io.anuke.mindustry.type.*;
|
||||
import io.anuke.mindustry.world.Block;
|
||||
|
||||
import static io.anuke.mindustry.type.Category.*;
|
||||
|
||||
@@ -15,122 +14,126 @@ public class Recipes implements ContentList{
|
||||
@Override
|
||||
public void load(){
|
||||
//WALLS
|
||||
new Recipe(defense, DefenseBlocks.tungstenWall, new ItemStack(Items.tungsten, 12));
|
||||
new Recipe(defense, DefenseBlocks.tungstenWallLarge, new ItemStack(Items.tungsten, 12 * 4));
|
||||
new Recipe(defense, DefenseBlocks.copperWall, new ItemStack(Items.copper, 12));
|
||||
new Recipe(defense, DefenseBlocks.copperWallLarge, new ItemStack(Items.copper, 12 * 4));
|
||||
|
||||
new Recipe(defense, DefenseBlocks.carbideWall, new ItemStack(Items.carbide, 12));
|
||||
new Recipe(defense, DefenseBlocks.carbideWallLarge, new ItemStack(Items.carbide, 12 * 4));
|
||||
new Recipe(defense, DefenseBlocks.compositeWall, new ItemStack(Items.densealloy, 12));
|
||||
new Recipe(defense, DefenseBlocks.compositeWallLarge, new ItemStack(Items.densealloy, 12 * 4));
|
||||
|
||||
new Recipe(defense, DefenseBlocks.thoriumWall, new ItemStack(Items.thorium, 12));
|
||||
new Recipe(defense, DefenseBlocks.thoriumWallLarge, new ItemStack(Items.thorium, 12 * 4));
|
||||
|
||||
new Recipe(defense, DefenseBlocks.door, new ItemStack(Items.carbide, 12), new ItemStack(Items.silicon, 8));
|
||||
new Recipe(defense, DefenseBlocks.doorLarge, new ItemStack(Items.carbide, 12 * 4), new ItemStack(Items.silicon, 8 * 4));
|
||||
//TODO will be added once sprites are ready
|
||||
//new Recipe(defense, DefenseBlocks.phaseWall, new ItemStack(Items.phasematter, 12));
|
||||
//new Recipe(defense, DefenseBlocks.phaseWallLarge, new ItemStack(Items.phasematter, 12 * 4));
|
||||
|
||||
new Recipe(defense, DefenseBlocks.door, new ItemStack(Items.densealloy, 12), new ItemStack(Items.silicon, 8));
|
||||
new Recipe(defense, DefenseBlocks.doorLarge, new ItemStack(Items.densealloy, 12 * 4), new ItemStack(Items.silicon, 8 * 4));
|
||||
|
||||
//TURRETS
|
||||
new Recipe(weapon, TurretBlocks.duo, new ItemStack(Items.tungsten, 40));
|
||||
new Recipe(weapon, TurretBlocks.scorch, new ItemStack(Items.tungsten, 50), new ItemStack(Items.carbide, 20));
|
||||
new Recipe(weapon, TurretBlocks.hail, new ItemStack(Items.tungsten, 60), new ItemStack(Items.carbide, 35));
|
||||
new Recipe(weapon, TurretBlocks.duo, new ItemStack(Items.copper, 40));
|
||||
new Recipe(weapon, TurretBlocks.scorch, new ItemStack(Items.copper, 50), new ItemStack(Items.densealloy, 20));
|
||||
new Recipe(weapon, TurretBlocks.hail, new ItemStack(Items.copper, 60), new ItemStack(Items.densealloy, 35));
|
||||
|
||||
new Recipe(weapon, TurretBlocks.lancer, new ItemStack(Items.tungsten, 50), new ItemStack(Items.lead, 100), new ItemStack(Items.silicon, 90));
|
||||
new Recipe(weapon, TurretBlocks.wave, new ItemStack(Items.carbide, 60), new ItemStack(Items.titanium, 70), new ItemStack(Items.lead, 150));
|
||||
new Recipe(weapon, TurretBlocks.swarmer, new ItemStack(Items.carbide, 70), new ItemStack(Items.titanium, 70), new ItemStack(Items.plastanium, 90), new ItemStack(Items.silicon, 60));
|
||||
new Recipe(weapon, TurretBlocks.salvo, new ItemStack(Items.tungsten, 210), new ItemStack(Items.carbide, 190), new ItemStack(Items.thorium, 130));
|
||||
new Recipe(weapon, TurretBlocks.ripple, new ItemStack(Items.tungsten, 300), new ItemStack(Items.carbide, 220), new ItemStack(Items.thorium, 120));
|
||||
new Recipe(weapon, TurretBlocks.lancer, new ItemStack(Items.copper, 50), new ItemStack(Items.lead, 100), new ItemStack(Items.silicon, 90));
|
||||
new Recipe(weapon, TurretBlocks.wave, new ItemStack(Items.densealloy, 60), new ItemStack(Items.titanium, 70), new ItemStack(Items.lead, 150));
|
||||
new Recipe(weapon, TurretBlocks.swarmer, new ItemStack(Items.densealloy, 70), new ItemStack(Items.titanium, 70), new ItemStack(Items.plastanium, 90), new ItemStack(Items.silicon, 60));
|
||||
new Recipe(weapon, TurretBlocks.salvo, new ItemStack(Items.copper, 210), new ItemStack(Items.densealloy, 190), new ItemStack(Items.thorium, 130));
|
||||
new Recipe(weapon, TurretBlocks.ripple, new ItemStack(Items.copper, 300), new ItemStack(Items.densealloy, 220), new ItemStack(Items.thorium, 120));
|
||||
|
||||
//DISTRIBUTION
|
||||
new Recipe(distribution, DistributionBlocks.conveyor, new ItemStack(Items.lead, 1));
|
||||
new Recipe(distribution, DistributionBlocks.titaniumconveyor, new ItemStack(Items.lead, 2), new ItemStack(Items.titanium, 1));
|
||||
new Recipe(distribution, DistributionBlocks.phaseConveyor, new ItemStack(Items.phasematter, 10), new ItemStack(Items.silicon, 15), new ItemStack(Items.lead, 20), new ItemStack(Items.carbide, 20));
|
||||
new Recipe(distribution, DistributionBlocks.conveyor, new ItemStack(Items.copper, 1));
|
||||
new Recipe(distribution, DistributionBlocks.titaniumconveyor, new ItemStack(Items.copper, 2), new ItemStack(Items.titanium, 1));
|
||||
new Recipe(distribution, DistributionBlocks.phaseConveyor, new ItemStack(Items.phasematter, 10), new ItemStack(Items.silicon, 15), new ItemStack(Items.lead, 20), new ItemStack(Items.densealloy, 20));
|
||||
|
||||
//starter lead transporation
|
||||
new Recipe(distribution, DistributionBlocks.junction, new ItemStack(Items.lead, 2));
|
||||
new Recipe(distribution, DistributionBlocks.splitter, new ItemStack(Items.lead, 6));
|
||||
new Recipe(distribution, DistributionBlocks.junction, new ItemStack(Items.copper, 2));
|
||||
new Recipe(distribution, DistributionBlocks.router, new ItemStack(Items.copper, 6));
|
||||
|
||||
//advanced carbide transporation
|
||||
new Recipe(distribution, DistributionBlocks.distributor, new ItemStack(Items.carbide, 8), new ItemStack(Items.tungsten, 8));
|
||||
new Recipe(distribution, DistributionBlocks.sorter, new ItemStack(Items.carbide, 4), new ItemStack(Items.tungsten, 4));
|
||||
new Recipe(distribution, DistributionBlocks.overflowGate, new ItemStack(Items.carbide, 4), new ItemStack(Items.tungsten, 8));
|
||||
new Recipe(distribution, DistributionBlocks.bridgeConveyor, new ItemStack(Items.carbide, 8), new ItemStack(Items.tungsten, 8));
|
||||
new Recipe(distribution, DistributionBlocks.massDriver, new ItemStack(Items.carbide, 400), new ItemStack(Items.silicon, 300), new ItemStack(Items.lead, 400), new ItemStack(Items.thorium, 250));
|
||||
//advanced densealloy transporation
|
||||
new Recipe(distribution, DistributionBlocks.distributor, new ItemStack(Items.densealloy, 8), new ItemStack(Items.copper, 8));
|
||||
new Recipe(distribution, DistributionBlocks.sorter, new ItemStack(Items.densealloy, 4), new ItemStack(Items.copper, 4));
|
||||
new Recipe(distribution, DistributionBlocks.overflowGate, new ItemStack(Items.densealloy, 4), new ItemStack(Items.copper, 8));
|
||||
new Recipe(distribution, DistributionBlocks.bridgeConveyor, new ItemStack(Items.densealloy, 8), new ItemStack(Items.copper, 8));
|
||||
new Recipe(distribution, DistributionBlocks.massDriver, new ItemStack(Items.densealloy, 400), new ItemStack(Items.silicon, 300), new ItemStack(Items.lead, 400), new ItemStack(Items.thorium, 250));
|
||||
|
||||
//CRAFTING
|
||||
|
||||
//smelting
|
||||
new Recipe(crafting, CraftingBlocks.smelter, new ItemStack(Items.tungsten, 70));
|
||||
new Recipe(crafting, CraftingBlocks.arcsmelter, new ItemStack(Items.tungsten, 90), new ItemStack(Items.carbide, 60), new ItemStack(Items.lead, 50));
|
||||
new Recipe(crafting, CraftingBlocks.siliconsmelter, new ItemStack(Items.tungsten, 60), new ItemStack(Items.lead, 50));
|
||||
new Recipe(crafting, CraftingBlocks.smelter, new ItemStack(Items.copper, 70));
|
||||
new Recipe(crafting, CraftingBlocks.arcsmelter, new ItemStack(Items.copper, 90), new ItemStack(Items.densealloy, 60), new ItemStack(Items.lead, 50));
|
||||
new Recipe(crafting, CraftingBlocks.siliconsmelter, new ItemStack(Items.copper, 60), new ItemStack(Items.lead, 50));
|
||||
|
||||
//advanced fabrication
|
||||
new Recipe(crafting, CraftingBlocks.plastaniumCompressor, new ItemStack(Items.silicon, 160), new ItemStack(Items.lead, 230), new ItemStack(Items.carbide, 120), new ItemStack(Items.titanium, 160));
|
||||
new Recipe(crafting, CraftingBlocks.plastaniumCompressor, new ItemStack(Items.silicon, 160), new ItemStack(Items.lead, 230), new ItemStack(Items.densealloy, 120), new ItemStack(Items.titanium, 160));
|
||||
new Recipe(crafting, CraftingBlocks.phaseWeaver, new ItemStack(Items.silicon, 260), new ItemStack(Items.lead, 240), new ItemStack(Items.thorium, 150));
|
||||
|
||||
//TODO implement alloy smelter
|
||||
//new Recipe(crafting, CraftingBlocks.alloySmelter, new ItemStack(Items.silicon, 160), new ItemStack(Items.lead, 160), new ItemStack(Items.thorium, 140));
|
||||
|
||||
//misc
|
||||
new Recipe(crafting, CraftingBlocks.pulverizer, new ItemStack(Items.tungsten, 60), new ItemStack(Items.lead, 50));
|
||||
new Recipe(crafting, CraftingBlocks.pyratiteMixer, new ItemStack(Items.tungsten, 100), new ItemStack(Items.lead, 50));
|
||||
new Recipe(crafting, CraftingBlocks.blastMixer, new ItemStack(Items.lead, 60), new ItemStack(Items.carbide, 40));
|
||||
new Recipe(crafting, CraftingBlocks.pulverizer, new ItemStack(Items.copper, 60), new ItemStack(Items.lead, 50));
|
||||
new Recipe(crafting, CraftingBlocks.pyratiteMixer, new ItemStack(Items.copper, 100), new ItemStack(Items.lead, 50));
|
||||
new Recipe(crafting, CraftingBlocks.blastMixer, new ItemStack(Items.lead, 60), new ItemStack(Items.densealloy, 40));
|
||||
new Recipe(crafting, CraftingBlocks.cryofluidmixer, new ItemStack(Items.lead, 130), new ItemStack(Items.silicon, 80), new ItemStack(Items.thorium, 90));
|
||||
|
||||
new Recipe(crafting, CraftingBlocks.solidifier, new ItemStack(Items.carbide, 30), new ItemStack(Items.tungsten, 20));
|
||||
new Recipe(crafting, CraftingBlocks.melter, new ItemStack(Items.tungsten, 60), new ItemStack(Items.lead, 70), new ItemStack(Items.carbide, 90));
|
||||
new Recipe(crafting, CraftingBlocks.incinerator, new ItemStack(Items.carbide, 10), new ItemStack(Items.lead, 30));
|
||||
new Recipe(crafting, CraftingBlocks.solidifier, new ItemStack(Items.densealloy, 30), new ItemStack(Items.copper, 20));
|
||||
new Recipe(crafting, CraftingBlocks.melter, new ItemStack(Items.copper, 60), new ItemStack(Items.lead, 70), new ItemStack(Items.densealloy, 90));
|
||||
new Recipe(crafting, CraftingBlocks.incinerator, new ItemStack(Items.densealloy, 10), new ItemStack(Items.lead, 30));
|
||||
|
||||
//processing
|
||||
new Recipe(crafting, CraftingBlocks.biomatterCompressor, new ItemStack(Items.lead, 70), new ItemStack(Items.silicon, 60));
|
||||
new Recipe(crafting, CraftingBlocks.separator, new ItemStack(Items.tungsten, 60), new ItemStack(Items.carbide, 50));
|
||||
new Recipe(crafting, CraftingBlocks.centrifuge, new ItemStack(Items.tungsten, 130), new ItemStack(Items.carbide, 130), new ItemStack(Items.silicon, 60), new ItemStack(Items.titanium, 50));
|
||||
new Recipe(crafting, CraftingBlocks.separator, new ItemStack(Items.copper, 60), new ItemStack(Items.densealloy, 50));
|
||||
new Recipe(crafting, CraftingBlocks.centrifuge, new ItemStack(Items.copper, 130), new ItemStack(Items.densealloy, 130), new ItemStack(Items.silicon, 60), new ItemStack(Items.titanium, 50));
|
||||
|
||||
//POWER
|
||||
new Recipe(power, PowerBlocks.powerNode, new ItemStack(Items.tungsten, 2), new ItemStack(Items.lead, 6))
|
||||
new Recipe(power, PowerBlocks.powerNode, new ItemStack(Items.copper, 2), new ItemStack(Items.lead, 6))
|
||||
.setDependencies(PowerBlocks.combustionGenerator);
|
||||
new Recipe(power, PowerBlocks.powerNodeLarge, new ItemStack(Items.carbide, 10), new ItemStack(Items.lead, 20), new ItemStack(Items.silicon, 6))
|
||||
new Recipe(power, PowerBlocks.powerNodeLarge, new ItemStack(Items.densealloy, 10), new ItemStack(Items.lead, 20), new ItemStack(Items.silicon, 6))
|
||||
.setDependencies(PowerBlocks.powerNode);
|
||||
new Recipe(power, PowerBlocks.battery, new ItemStack(Items.tungsten, 8), new ItemStack(Items.lead, 30), new ItemStack(Items.silicon, 4))
|
||||
new Recipe(power, PowerBlocks.battery, new ItemStack(Items.copper, 8), new ItemStack(Items.lead, 30), new ItemStack(Items.silicon, 4))
|
||||
.setDependencies(PowerBlocks.powerNode);
|
||||
new Recipe(power, PowerBlocks.batteryLarge, new ItemStack(Items.carbide, 40), new ItemStack(Items.lead, 80), new ItemStack(Items.silicon, 30))
|
||||
new Recipe(power, PowerBlocks.batteryLarge, new ItemStack(Items.densealloy, 40), new ItemStack(Items.lead, 80), new ItemStack(Items.silicon, 30))
|
||||
.setDependencies(PowerBlocks.powerNode);
|
||||
|
||||
//generators - combustion
|
||||
new Recipe(power, PowerBlocks.combustionGenerator, new ItemStack(Items.tungsten, 50), new ItemStack(Items.lead, 30));
|
||||
new Recipe(power, PowerBlocks.turbineGenerator, new ItemStack(Items.tungsten, 70), new ItemStack(Items.carbide, 50), new ItemStack(Items.lead, 80), new ItemStack(Items.silicon, 60));
|
||||
new Recipe(power, PowerBlocks.thermalGenerator, new ItemStack(Items.tungsten, 80), new ItemStack(Items.carbide, 70), new ItemStack(Items.lead, 100), new ItemStack(Items.silicon, 70), new ItemStack(Items.thorium, 70));
|
||||
new Recipe(power, PowerBlocks.combustionGenerator, new ItemStack(Items.copper, 50), new ItemStack(Items.lead, 30));
|
||||
new Recipe(power, PowerBlocks.turbineGenerator, new ItemStack(Items.copper, 70), new ItemStack(Items.densealloy, 50), new ItemStack(Items.lead, 80), new ItemStack(Items.silicon, 60));
|
||||
new Recipe(power, PowerBlocks.thermalGenerator, new ItemStack(Items.copper, 80), new ItemStack(Items.densealloy, 70), new ItemStack(Items.lead, 100), new ItemStack(Items.silicon, 70), new ItemStack(Items.thorium, 70));
|
||||
|
||||
//generators - solar
|
||||
new Recipe(power, PowerBlocks.solarPanel, new ItemStack(Items.lead, 20), new ItemStack(Items.silicon, 30));
|
||||
new Recipe(power, PowerBlocks.largeSolarPanel, new ItemStack(Items.lead, 200), new ItemStack(Items.silicon, 290), new ItemStack(Items.phasematter, 30));
|
||||
|
||||
//generators - other
|
||||
new Recipe(power, PowerBlocks.nuclearReactor, new ItemStack(Items.lead, 600), new ItemStack(Items.silicon, 400), new ItemStack(Items.carbide, 300), new ItemStack(Items.thorium, 300));
|
||||
new Recipe(power, PowerBlocks.thoriumReactor, new ItemStack(Items.lead, 600), new ItemStack(Items.silicon, 400), new ItemStack(Items.densealloy, 300), new ItemStack(Items.thorium, 300));
|
||||
|
||||
//new Recipe(distribution, StorageBlocks.core, new ItemStack(Items.carbide, 50));
|
||||
new Recipe(distribution, StorageBlocks.unloader, new ItemStack(Items.carbide, 40), new ItemStack(Items.silicon, 50));
|
||||
new Recipe(distribution, StorageBlocks.vault, new ItemStack(Items.carbide, 500), new ItemStack(Items.thorium, 350));
|
||||
//new Recipe(distribution, StorageBlocks.core, new ItemStack(Items.densealloy, 50));
|
||||
new Recipe(distribution, StorageBlocks.unloader, new ItemStack(Items.densealloy, 40), new ItemStack(Items.silicon, 50));
|
||||
new Recipe(distribution, StorageBlocks.vault, new ItemStack(Items.densealloy, 500), new ItemStack(Items.thorium, 350));
|
||||
|
||||
//DRILLS, PRODUCERS
|
||||
new Recipe(production, ProductionBlocks.tungstenDrill, new ItemStack(Items.tungsten, 50));
|
||||
new Recipe(production, ProductionBlocks.carbideDrill, new ItemStack(Items.tungsten, 60), new ItemStack(Items.carbide, 50));
|
||||
new Recipe(production, ProductionBlocks.laserdrill, new ItemStack(Items.tungsten, 70), new ItemStack(Items.carbide, 90), new ItemStack(Items.silicon, 60), new ItemStack(Items.titanium, 50));
|
||||
new Recipe(production, ProductionBlocks.blastdrill, new ItemStack(Items.tungsten, 130), new ItemStack(Items.carbide, 180), new ItemStack(Items.silicon, 120), new ItemStack(Items.titanium, 100), new ItemStack(Items.thorium, 60));
|
||||
new Recipe(production, ProductionBlocks.mechanicalDrill, new ItemStack(Items.copper, 50));
|
||||
new Recipe(production, ProductionBlocks.pneumaticDrill, new ItemStack(Items.copper, 60), new ItemStack(Items.densealloy, 50));
|
||||
new Recipe(production, ProductionBlocks.laserdrill, new ItemStack(Items.copper, 70), new ItemStack(Items.densealloy, 90), new ItemStack(Items.silicon, 60), new ItemStack(Items.titanium, 50));
|
||||
new Recipe(production, ProductionBlocks.blastdrill, new ItemStack(Items.copper, 130), new ItemStack(Items.densealloy, 180), new ItemStack(Items.silicon, 120), new ItemStack(Items.titanium, 100), new ItemStack(Items.thorium, 60));
|
||||
|
||||
new Recipe(production, ProductionBlocks.waterextractor, new ItemStack(Items.tungsten, 50), new ItemStack(Items.carbide, 50), new ItemStack(Items.lead, 40));
|
||||
new Recipe(production, ProductionBlocks.cultivator, new ItemStack(Items.tungsten, 20), new ItemStack(Items.lead, 50), new ItemStack(Items.silicon, 20));
|
||||
new Recipe(production, ProductionBlocks.oilextractor, new ItemStack(Items.tungsten, 300), new ItemStack(Items.carbide, 350), new ItemStack(Items.lead, 230), new ItemStack(Items.thorium, 230), new ItemStack(Items.silicon, 150));
|
||||
new Recipe(production, ProductionBlocks.waterextractor, new ItemStack(Items.copper, 50), new ItemStack(Items.densealloy, 50), new ItemStack(Items.lead, 40));
|
||||
new Recipe(production, ProductionBlocks.cultivator, new ItemStack(Items.copper, 20), new ItemStack(Items.lead, 50), new ItemStack(Items.silicon, 20));
|
||||
new Recipe(production, ProductionBlocks.oilextractor, new ItemStack(Items.copper, 300), new ItemStack(Items.densealloy, 350), new ItemStack(Items.lead, 230), new ItemStack(Items.thorium, 230), new ItemStack(Items.silicon, 150));
|
||||
|
||||
//UNITS
|
||||
|
||||
//bodies
|
||||
new Recipe(units, UpgradeBlocks.dartFactory, new ItemStack(Items.lead, 150), new ItemStack(Items.silicon, 200), new ItemStack(Items.titanium, 240)).setDesktop(); //dart is desktop only, because it's the starter mobile ship
|
||||
new Recipe(units, UpgradeBlocks.javelinFactory, new ItemStack(Items.lead, 200), new ItemStack(Items.silicon, 250), new ItemStack(Items.titanium, 300), new ItemStack(Items.plastanium, 200));
|
||||
new Recipe(units, UpgradeBlocks.deltaFactory, new ItemStack(Items.carbide, 160), new ItemStack(Items.silicon, 220), new ItemStack(Items.titanium, 250)).setDesktop();
|
||||
new Recipe(units, UpgradeBlocks.deltaFactory, new ItemStack(Items.densealloy, 160), new ItemStack(Items.silicon, 220), new ItemStack(Items.titanium, 250)).setDesktop();
|
||||
|
||||
//new Recipe(units, UpgradeBlocks.deltaFactory, new ItemStack(Items.tungsten, 30), new ItemStack(Items.lead, 50), new ItemStack(Items.silicon, 30));
|
||||
//new Recipe(units, UpgradeBlocks.deltaFactory, new ItemStack(Items.copper, 30), new ItemStack(Items.lead, 50), new ItemStack(Items.silicon, 30));
|
||||
|
||||
//actual unit related stuff
|
||||
new Recipe(units, UnitBlocks.dronePad, new ItemStack(Items.tungsten, 70), new ItemStack(Items.lead, 110), new ItemStack(Items.silicon, 130));
|
||||
new Recipe(units, UnitBlocks.fabricatorPad, new ItemStack(Items.carbide, 90), new ItemStack(Items.thorium, 80), new ItemStack(Items.lead, 110), new ItemStack(Items.silicon, 210));
|
||||
new Recipe(units, UnitBlocks.dronePad, new ItemStack(Items.copper, 70), new ItemStack(Items.lead, 110), new ItemStack(Items.silicon, 130));
|
||||
new Recipe(units, UnitBlocks.fabricatorPad, new ItemStack(Items.densealloy, 90), new ItemStack(Items.thorium, 80), new ItemStack(Items.lead, 110), new ItemStack(Items.silicon, 210));
|
||||
|
||||
new Recipe(units, UnitBlocks.daggerPad, new ItemStack(Items.lead, 90), new ItemStack(Items.silicon, 80)).setMode(GameMode.noWaves);
|
||||
new Recipe(units, UnitBlocks.titanPad, new ItemStack(Items.thorium, 90), new ItemStack(Items.lead, 140), new ItemStack(Items.silicon, 90)).setMode(GameMode.noWaves);
|
||||
@@ -138,146 +141,66 @@ public class Recipes implements ContentList{
|
||||
new Recipe(units, UnitBlocks.interceptorPad, new ItemStack(Items.titanium, 60), new ItemStack(Items.lead, 80), new ItemStack(Items.silicon, 90)).setMode(GameMode.noWaves);
|
||||
new Recipe(units, UnitBlocks.monsoonPad, new ItemStack(Items.plastanium, 80), new ItemStack(Items.titanium, 100), new ItemStack(Items.lead, 130), new ItemStack(Items.silicon, 220)).setMode(GameMode.noWaves);
|
||||
|
||||
new Recipe(units, UnitBlocks.repairPoint, new ItemStack(Items.lead, 30), new ItemStack(Items.tungsten, 30), new ItemStack(Items.silicon, 30));
|
||||
new Recipe(units, UnitBlocks.commandCenter, new ItemStack(Items.lead, 100), new ItemStack(Items.carbide, 100), new ItemStack(Items.silicon, 200)).setMode(GameMode.noWaves);
|
||||
new Recipe(units, UnitBlocks.repairPoint, new ItemStack(Items.lead, 30), new ItemStack(Items.copper, 30), new ItemStack(Items.silicon, 30));
|
||||
new Recipe(units, UnitBlocks.commandCenter, new ItemStack(Items.lead, 100), new ItemStack(Items.densealloy, 100), new ItemStack(Items.silicon, 200)).setMode(GameMode.noWaves);
|
||||
|
||||
//LIQUIDS
|
||||
new Recipe(liquid, LiquidBlocks.conduit, new ItemStack(Items.lead, 1))
|
||||
.setDependencies(CraftingBlocks.smelter);
|
||||
new Recipe(liquid, LiquidBlocks.conduit, new ItemStack(Items.lead, 1)).setDependencies(CraftingBlocks.smelter);
|
||||
new Recipe(liquid, LiquidBlocks.pulseConduit, new ItemStack(Items.titanium, 1), new ItemStack(Items.lead, 1));
|
||||
new Recipe(liquid, LiquidBlocks.phaseConduit, new ItemStack(Items.phasematter, 10), new ItemStack(Items.silicon, 15), new ItemStack(Items.lead, 20), new ItemStack(Items.titanium, 20));
|
||||
|
||||
new Recipe(liquid, LiquidBlocks.liquidRouter, new ItemStack(Items.carbide, 4), new ItemStack(Items.lead, 4));
|
||||
new Recipe(liquid, LiquidBlocks.liquidtank, new ItemStack(Items.titanium, 50), new ItemStack(Items.lead, 50), new ItemStack(Items.carbide, 20));
|
||||
new Recipe(liquid, LiquidBlocks.liquidJunction, new ItemStack(Items.carbide, 4), new ItemStack(Items.lead, 4));
|
||||
new Recipe(liquid, LiquidBlocks.bridgeConduit, new ItemStack(Items.carbide, 8), new ItemStack(Items.lead, 8));
|
||||
new Recipe(liquid, LiquidBlocks.liquidRouter, new ItemStack(Items.titanium, 4), new ItemStack(Items.lead, 4));
|
||||
new Recipe(liquid, LiquidBlocks.liquidtank, new ItemStack(Items.titanium, 50), new ItemStack(Items.lead, 50));
|
||||
new Recipe(liquid, LiquidBlocks.liquidJunction, new ItemStack(Items.titanium, 4), new ItemStack(Items.lead, 4));
|
||||
new Recipe(liquid, LiquidBlocks.bridgeConduit, new ItemStack(Items.titanium, 8), new ItemStack(Items.lead, 8));
|
||||
|
||||
new Recipe(liquid, LiquidBlocks.mechanicalPump, new ItemStack(Items.tungsten, 30), new ItemStack(Items.lead, 20))
|
||||
.setDependencies(CraftingBlocks.smelter);
|
||||
new Recipe(liquid, LiquidBlocks.rotaryPump, new ItemStack(Items.tungsten, 140), new ItemStack(Items.lead, 100), new ItemStack(Items.silicon, 40), new ItemStack(Items.titanium, 70));
|
||||
new Recipe(liquid, LiquidBlocks.thermalPump, new ItemStack(Items.tungsten, 160), new ItemStack(Items.lead, 130), new ItemStack(Items.silicon, 60), new ItemStack(Items.titanium, 80), new ItemStack(Items.thorium, 70));
|
||||
new Recipe(liquid, LiquidBlocks.mechanicalPump, new ItemStack(Items.copper, 30), new ItemStack(Items.lead, 20)).setDependencies(CraftingBlocks.smelter);
|
||||
new Recipe(liquid, LiquidBlocks.rotaryPump, new ItemStack(Items.copper, 140), new ItemStack(Items.lead, 100), new ItemStack(Items.silicon, 40), new ItemStack(Items.titanium, 70));
|
||||
new Recipe(liquid, LiquidBlocks.thermalPump, new ItemStack(Items.copper, 160), new ItemStack(Items.lead, 130), new ItemStack(Items.silicon, 60), new ItemStack(Items.titanium, 80), new ItemStack(Items.thorium, 70));
|
||||
|
||||
//DEBUG
|
||||
new Recipe(units, DebugBlocks.itemSource, new ItemStack(Items.carbide, 10)).setDebug();
|
||||
new Recipe(units, DebugBlocks.itemVoid, new ItemStack(Items.carbide, 10)).setDebug();
|
||||
new Recipe(units, DebugBlocks.liquidSource, new ItemStack(Items.carbide, 10)).setDebug();
|
||||
new Recipe(units, DebugBlocks.powerVoid, new ItemStack(Items.carbide, 10)).setDebug();
|
||||
new Recipe(units, DebugBlocks.powerInfinite, new ItemStack(Items.carbide, 10), new ItemStack(Items.surgealloy, 5)).setDebug();
|
||||
//new Recipe(liquid, LiquidBlocks.thermalPump, new ItemStack(Items.carbide, 10), new ItemStack(Items.surgealloy, 5));
|
||||
new Recipe(units, DebugBlocks.itemSource).setDebug();
|
||||
new Recipe(units, DebugBlocks.itemVoid).setDebug();
|
||||
new Recipe(units, DebugBlocks.liquidSource).setDebug();
|
||||
new Recipe(units, DebugBlocks.powerVoid).setDebug();
|
||||
new Recipe(units, DebugBlocks.powerInfinite).setDebug();
|
||||
}
|
||||
|
||||
/*
|
||||
new Recipe(production, ProductionBlocks.nucleardrill, new ItemStack(Items.titanium, 40), new ItemStack(Items.surgealloy, 40));
|
||||
new Recipe(production, ProductionBlocks.plasmadrill, new ItemStack(Items.titanium, 40), new ItemStack(Items.surgealloy, 40));
|
||||
new Recipe(production, ProductionBlocks.cultivator, new ItemStack(Items.titanium, 40), new ItemStack(Items.surgealloy, 40));
|
||||
new Recipe(production, ProductionBlocks.waterextractor, new ItemStack(Items.titanium, 40), new ItemStack(Items.surgealloy, 40));
|
||||
new Recipe(production, ProductionBlocks.oilextractor, new ItemStack(Items.titanium, 40), new ItemStack(Items.surgealloy, 40));*/
|
||||
|
||||
|
||||
|
||||
/*
|
||||
|
||||
new Recipe(defense, DefenseBlocks.steelwall, new ItemStack(Items.carbide, 12));
|
||||
new Recipe(defense, DefenseBlocks.titaniumwall, new ItemStack(Items.titanium, 12));
|
||||
new Recipe(defense, DefenseBlocks.diriumwall, new ItemStack(Items.surgealloy, 12));
|
||||
new Recipe(defense, DefenseBlocks.steelwalllarge, new ItemStack(Items.carbide, 12 * 4));
|
||||
new Recipe(defense, DefenseBlocks.titaniumwalllarge, new ItemStack(Items.titanium, 12 * 4));
|
||||
new Recipe(defense, DefenseBlocks.diriumwall, new ItemStack(Items.surgealloy, 12 * 4));
|
||||
new Recipe(defense, DefenseBlocks.door, new ItemStack(Items.carbide, 3), new ItemStack(Items.tungsten, 3 * 4));
|
||||
new Recipe(defense, DefenseBlocks.largedoor, new ItemStack(Items.carbide, 3 * 4), new ItemStack(Items.tungsten, 3 * 4 * 4));
|
||||
new Recipe(defense, DefenseBlocks.deflectorwall, new ItemStack(Items.titanium, 1));
|
||||
new Recipe(defense, DefenseBlocks.deflectorwalllarge, new ItemStack(Items.titanium, 1));
|
||||
new Recipe(defense, DefenseBlocks.phasewall, new ItemStack(Items.titanium, 1));
|
||||
new Recipe(defense, DefenseBlocks.phasewalllarge, new ItemStack(Items.titanium, 1));
|
||||
|
||||
new Recipe(weapon, TurretBlocks.wave, new ItemStack(Items.tungsten, 1));
|
||||
new Recipe(weapon, TurretBlocks.lancer, new ItemStack(Items.tungsten, 1));
|
||||
new Recipe(weapon, TurretBlocks.arc, new ItemStack(Items.tungsten, 1));
|
||||
new Recipe(weapon, TurretBlocks.swarmer, new ItemStack(Items.tungsten, 1));
|
||||
new Recipe(weapon, TurretBlocks.ripple, new ItemStack(Items.tungsten, 1));
|
||||
new Recipe(weapon, TurretBlocks.fuse, new ItemStack(Items.tungsten, 1));
|
||||
new Recipe(weapon, TurretBlocks.ripple, new ItemStack(Items.tungsten, 1));
|
||||
new Recipe(weapon, TurretBlocks.cyclone, new ItemStack(Items.tungsten, 1));
|
||||
new Recipe(weapon, TurretBlocks.spectre, new ItemStack(Items.tungsten, 1));
|
||||
new Recipe(weapon, TurretBlocks.meltdown, new ItemStack(Items.tungsten, 1));
|
||||
|
||||
new Recipe(crafting, CraftingBlocks.alloysmelter, new ItemStack(Items.titanium, 50), new ItemStack(Items.carbide, 50));
|
||||
new Recipe(crafting, CraftingBlocks.alloyfuser, new ItemStack(Items.carbide, 30), new ItemStack(Items.tungsten, 30));
|
||||
|
||||
new Recipe(crafting, CraftingBlocks.phaseWeaver, new ItemStack(Items.carbide, 30), new ItemStack(Items.tungsten, 30));
|
||||
new Recipe(crafting, CraftingBlocks.separator, new ItemStack(Items.carbide, 30), new ItemStack(Items.tungsten, 30));
|
||||
new Recipe(crafting, CraftingBlocks.centrifuge, new ItemStack(Items.carbide, 30), new ItemStack(Items.tungsten, 30));
|
||||
new Recipe(crafting, CraftingBlocks.siliconsmelter, new ItemStack(Items.carbide, 30), new ItemStack(Items.tungsten, 30));
|
||||
new Recipe(crafting, CraftingBlocks.oilRefinery, new ItemStack(Items.carbide, 15), new ItemStack(Items.tungsten, 15));
|
||||
new Recipe(crafting, CraftingBlocks.biomatterCompressor, new ItemStack(Items.carbide, 15), new ItemStack(Items.tungsten, 15));
|
||||
new Recipe(crafting, CraftingBlocks.plastaniumCompressor, new ItemStack(Items.carbide, 30), new ItemStack(Items.titanium, 15));
|
||||
new Recipe(crafting, CraftingBlocks.cryofluidmixer, new ItemStack(Items.carbide, 30), new ItemStack(Items.titanium, 15));
|
||||
new Recipe(crafting, CraftingBlocks.pulverizer, new ItemStack(Items.carbide, 10), new ItemStack(Items.tungsten, 10));
|
||||
new Recipe(crafting, CraftingBlocks.stoneFormer, new ItemStack(Items.carbide, 10), new ItemStack(Items.tungsten, 10));
|
||||
new Recipe(crafting, CraftingBlocks.melter, new ItemStack(Items.carbide, 30), new ItemStack(Items.titanium, 15));
|
||||
new Recipe(crafting, CraftingBlocks.incinerator, new ItemStack(Items.carbide, 60), new ItemStack(Items.tungsten, 60));
|
||||
|
||||
new Recipe(production, ProductionBlocks.tungstenDrill, new ItemStack(Items.tungsten, 25));
|
||||
new Recipe(production, ProductionBlocks.reinforcedDrill, new ItemStack(Items.tungsten, 25));
|
||||
new Recipe(production, ProductionBlocks.carbideDrill, new ItemStack(Items.tungsten, 25));
|
||||
new Recipe(production, ProductionBlocks.titaniumDrill, new ItemStack(Items.tungsten, 25));
|
||||
new Recipe(production, ProductionBlocks.laserdrill, new ItemStack(Items.titanium, 40), new ItemStack(Items.surgealloy, 40));
|
||||
new Recipe(production, ProductionBlocks.nucleardrill, new ItemStack(Items.titanium, 40), new ItemStack(Items.surgealloy, 40));
|
||||
new Recipe(production, ProductionBlocks.plasmadrill, new ItemStack(Items.titanium, 40), new ItemStack(Items.surgealloy, 40));
|
||||
new Recipe(production, ProductionBlocks.cultivator, new ItemStack(Items.titanium, 40), new ItemStack(Items.surgealloy, 40));
|
||||
new Recipe(production, ProductionBlocks.waterextractor, new ItemStack(Items.titanium, 40), new ItemStack(Items.surgealloy, 40));
|
||||
new Recipe(production, ProductionBlocks.oilextractor, new ItemStack(Items.titanium, 40), new ItemStack(Items.surgealloy, 40));
|
||||
|
||||
new Recipe(power, PowerBlocks.powerNode, new ItemStack(Items.carbide, 3), new ItemStack(Items.tungsten, 3));
|
||||
new Recipe(power, PowerBlocks.powerNodeLarge, new ItemStack(Items.carbide, 3), new ItemStack(Items.tungsten, 3));
|
||||
new Recipe(power, PowerBlocks.battery, new ItemStack(Items.carbide, 5), new ItemStack(Items.tungsten, 5));
|
||||
new Recipe(power, PowerBlocks.batteryLarge, new ItemStack(Items.carbide, 5), new ItemStack(Items.tungsten, 5));
|
||||
new Recipe(power, PowerBlocks.combustionGenerator, new ItemStack(Items.tungsten, 1));
|
||||
|
||||
new Recipe(power, PowerBlocks.turbineGenerator, new ItemStack(Items.tungsten, 1));
|
||||
new Recipe(power, PowerBlocks.thermalGenerator, new ItemStack(Items.carbide, 1));
|
||||
new Recipe(power, PowerBlocks.rtgGenerator, new ItemStack(Items.titanium, 1), new ItemStack(Items.carbide, 1));
|
||||
new Recipe(power, PowerBlocks.solarPanel, new ItemStack(Items.tungsten, 30), new ItemStack(Items.silicon, 20));
|
||||
new Recipe(power, PowerBlocks.largeSolarPanel, new ItemStack(Items.tungsten, 30), new ItemStack(Items.silicon, 20));
|
||||
new Recipe(power, PowerBlocks.nuclearReactor, new ItemStack(Items.titanium, 40), new ItemStack(Items.surgealloy, 40), new ItemStack(Items.carbide, 50));
|
||||
new Recipe(power, PowerBlocks.fusionReactor, new ItemStack(Items.titanium, 40), new ItemStack(Items.surgealloy, 40), new ItemStack(Items.carbide, 50));
|
||||
|
||||
new Recipe(distribution, PowerBlocks.warpGate, new ItemStack(Items.carbide, 1));
|
||||
|
||||
new Recipe(liquid, LiquidBlocks.conduit, new ItemStack(Items.carbide, 1));
|
||||
new Recipe(liquid, LiquidBlocks.pulseConduit, new ItemStack(Items.titanium, 1), new ItemStack(Items.carbide, 1));
|
||||
new Recipe(liquid, LiquidBlocks.liquidRouter, new ItemStack(Items.carbide, 2));
|
||||
new Recipe(liquid, LiquidBlocks.liquidtank, new ItemStack(Items.carbide, 2));
|
||||
new Recipe(liquid, LiquidBlocks.liquidJunction, new ItemStack(Items.carbide, 2));
|
||||
new Recipe(liquid, LiquidBlocks.bridgeConduit, new ItemStack(Items.titanium, 2), new ItemStack(Items.carbide, 2));
|
||||
new Recipe(liquid, LiquidBlocks.phaseConduit, new ItemStack(Items.titanium, 2), new ItemStack(Items.carbide, 2));
|
||||
|
||||
new Recipe(liquid, LiquidBlocks.mechanicalPump, new ItemStack(Items.carbide, 10));
|
||||
new Recipe(liquid, LiquidBlocks.rotaryPump, new ItemStack(Items.carbide, 10), new ItemStack(Items.surgealloy, 5));
|
||||
new Recipe(liquid, LiquidBlocks.thermalPump, new ItemStack(Items.carbide, 10), new ItemStack(Items.surgealloy, 5));
|
||||
|
||||
new Recipe(units, UnitBlocks.repairPoint, new ItemStack(Items.carbide, 10));
|
||||
new Recipe(units, UnitBlocks.dropPoint, new ItemStack(Items.carbide, 10));
|
||||
new Recipe(units, UnitBlocks.resupplyPoint, new ItemStack(Items.carbide, 10));
|
||||
|
||||
new Recipe(units, UnitBlocks.dronePad, new ItemStack(Items.tungsten, 50));
|
||||
new Recipe(units, UnitBlocks.reconstructor, new ItemStack(Items.tungsten, 1));
|
||||
|
||||
new Recipe(units, UnitBlocks.overdriveProjector, new ItemStack(Items.tungsten, 1));
|
||||
new Recipe(units, UnitBlocks.shieldProjector, new ItemStack(Items.tungsten, 1));
|
||||
|
||||
new Recipe(units, UpgradeBlocks.omegaFactory, new ItemStack(Items.tungsten, 1));
|
||||
new Recipe(units, UpgradeBlocks.deltaFactory, new ItemStack(Items.tungsten, 1));
|
||||
new Recipe(units, UpgradeBlocks.tauFactory, new ItemStack(Items.tungsten, 1));
|
||||
|
||||
new Recipe(units, UpgradeBlocks.tridentFactory, new ItemStack(Items.tungsten, 1));
|
||||
new Recipe(units, UpgradeBlocks.javelinFactory, new ItemStack(Items.tungsten, 1));
|
||||
new Recipe(units, UpgradeBlocks.halberdFactory, new ItemStack(Items.tungsten, 1));
|
||||
|
||||
new Recipe(units, DebugBlocks.itemSource, new ItemStack(Items.carbide, 10)).setDebug();
|
||||
new Recipe(units, DebugBlocks.itemVoid, new ItemStack(Items.carbide, 10)).setDebug();
|
||||
new Recipe(units, DebugBlocks.liquidSource, new ItemStack(Items.carbide, 10)).setDebug();
|
||||
new Recipe(units, DebugBlocks.powerVoid, new ItemStack(Items.carbide, 10)).setDebug();
|
||||
new Recipe(units, DebugBlocks.powerInfinite, new ItemStack(Items.carbide, 10), new ItemStack(Items.surgealloy, 5)).setDebug();*/
|
||||
static void init(Object... objects){
|
||||
Category cat = null;
|
||||
Block block = null;
|
||||
ItemStack stack = null;
|
||||
Array<ItemStack> arr = new Array<>();
|
||||
for(Object object : objects){
|
||||
if(object instanceof Category){
|
||||
if(stack != null) throw new RuntimeException("Finish defining stack before beginning category");
|
||||
if(block != null){
|
||||
new Recipe(cat, block, arr.toArray(ItemStack.class));
|
||||
block = null;
|
||||
stack = null;
|
||||
arr.clear();
|
||||
}
|
||||
cat = (Category) object;
|
||||
}else if(object instanceof Block){
|
||||
if(cat == null) throw new RuntimeException("Finish defining category before beginning blocks");
|
||||
if(block != null){
|
||||
new Recipe(cat, block, arr.toArray(ItemStack.class));
|
||||
stack = null;
|
||||
arr.clear();
|
||||
}
|
||||
block = (Block) object;
|
||||
arr.clear();
|
||||
}else if(object instanceof Item){
|
||||
if(block == null) throw new RuntimeException("Finish defining block before defining item");
|
||||
if(stack != null) throw new RuntimeException("Finish defining stack before defining another stack");
|
||||
stack = new ItemStack((Item) object, 1);
|
||||
}else if(object instanceof Integer){
|
||||
if(stack == null) throw new RuntimeException("Finish defining item before defining item amount");
|
||||
stack.amount = (Integer) object;
|
||||
arr.add(stack);
|
||||
stack = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -71,7 +71,7 @@ public class UnitTypes implements ContentList{
|
||||
buildPower = 0.9f;
|
||||
minePower = 1.1f;
|
||||
healSpeed = 0.09f;
|
||||
toMine = ObjectSet.with(Items.lead, Items.tungsten, Items.titanium);
|
||||
toMine = ObjectSet.with(Items.lead, Items.copper, Items.titanium);
|
||||
}};
|
||||
}
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ public class Weapons implements ContentList{
|
||||
reload = 15f;
|
||||
roundrobin = true;
|
||||
ejectEffect = ShootFx.shellEjectSmall;
|
||||
ammo = AmmoTypes.bulletLead;
|
||||
ammo = AmmoTypes.bulletCopper;
|
||||
}};
|
||||
|
||||
missiles = new Weapon("missiles"){{
|
||||
@@ -38,7 +38,7 @@ public class Weapons implements ContentList{
|
||||
reload = 28f;
|
||||
roundrobin = true;
|
||||
ejectEffect = ShootFx.shellEjectSmall;
|
||||
ammo = AmmoTypes.bulletLead;
|
||||
ammo = AmmoTypes.bulletCopper;
|
||||
}};
|
||||
|
||||
shockgun = new Weapon("shockgun"){{
|
||||
@@ -79,7 +79,7 @@ public class Weapons implements ContentList{
|
||||
reload = 12f;
|
||||
roundrobin = true;
|
||||
ejectEffect = ShootFx.shellEjectSmall;
|
||||
ammo = AmmoTypes.bulletCarbide;
|
||||
ammo = AmmoTypes.bulletDense;
|
||||
}};
|
||||
|
||||
swarmer = new Weapon("swarmer"){{
|
||||
|
||||
@@ -5,7 +5,6 @@ import io.anuke.mindustry.content.Items;
|
||||
import io.anuke.mindustry.content.Liquids;
|
||||
import io.anuke.mindustry.content.fx.BlockFx;
|
||||
import io.anuke.mindustry.type.ContentList;
|
||||
import io.anuke.mindustry.type.Item;
|
||||
import io.anuke.mindustry.type.ItemStack;
|
||||
import io.anuke.mindustry.world.Block;
|
||||
import io.anuke.mindustry.world.blocks.production.*;
|
||||
@@ -19,26 +18,26 @@ public class CraftingBlocks extends BlockList implements ContentList{
|
||||
public void load(){
|
||||
smelter = new Smelter("smelter"){{
|
||||
health = 70;
|
||||
result = Items.carbide;
|
||||
result = Items.densealloy;
|
||||
craftTime = 45f;
|
||||
burnDuration = 46f;
|
||||
useFlux = true;
|
||||
|
||||
consumes.items(new ItemStack[]{new ItemStack(Items.tungsten, 3)});
|
||||
consumes.items(new ItemStack[]{new ItemStack(Items.copper, 1), new ItemStack(Items.lead, 2)});
|
||||
consumes.item(Items.coal).optional(true);
|
||||
}};
|
||||
|
||||
arcsmelter = new PowerSmelter("arc-smelter"){{
|
||||
health = 90;
|
||||
craftEffect = BlockFx.smeltsmoke;
|
||||
result = Items.carbide;
|
||||
result = Items.densealloy;
|
||||
craftTime = 30f;
|
||||
size = 2;
|
||||
|
||||
useFlux = true;
|
||||
fluxNeeded = 2;
|
||||
|
||||
consumes.items(new ItemStack[]{new ItemStack(Items.coal, 1), new ItemStack(Items.tungsten, 2)});
|
||||
consumes.items(new ItemStack[]{new ItemStack(Items.copper, 1), new ItemStack(Items.lead, 2)});
|
||||
consumes.power(0.1f);
|
||||
}};
|
||||
|
||||
@@ -163,14 +162,14 @@ public class CraftingBlocks extends BlockList implements ContentList{
|
||||
}};
|
||||
|
||||
separator = new Separator("separator"){{
|
||||
results = new Item[]{
|
||||
null, null, null, null, null, null, null, null, null, null,
|
||||
Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand,
|
||||
Items.stone, Items.stone, Items.stone, Items.stone, Items.stone, Items.stone, Items.stone, Items.stone, Items.stone,
|
||||
Items.tungsten, Items.tungsten, Items.tungsten, Items.tungsten,
|
||||
Items.lead, Items.lead,
|
||||
Items.coal, Items.coal,
|
||||
Items.titanium
|
||||
results = new ItemStack[]{
|
||||
new ItemStack(null, 10),
|
||||
new ItemStack(Items.sand, 10),
|
||||
new ItemStack(Items.stone, 9),
|
||||
new ItemStack(Items.copper, 4),
|
||||
new ItemStack(Items.lead, 2),
|
||||
new ItemStack(Items.coal, 2),
|
||||
new ItemStack(Items.titanium, 1),
|
||||
};
|
||||
filterTime = 40f;
|
||||
itemCapacity = 40;
|
||||
@@ -181,15 +180,15 @@ public class CraftingBlocks extends BlockList implements ContentList{
|
||||
}};
|
||||
|
||||
centrifuge = new Separator("centrifuge"){{
|
||||
results = new Item[]{
|
||||
null, null, null, null, null, null, null, null, null, null, null, null, null,
|
||||
Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand,
|
||||
Items.stone, Items.stone, Items.stone, Items.stone, Items.stone, Items.stone, Items.stone, Items.stone, Items.stone, Items.stone, Items.stone,
|
||||
Items.tungsten, Items.tungsten, Items.tungsten, Items.tungsten, Items.tungsten,
|
||||
Items.lead, Items.lead, Items.lead,
|
||||
Items.coal, Items.coal, Items.coal,
|
||||
Items.titanium, Items.titanium,
|
||||
Items.thorium,
|
||||
results = new ItemStack[]{
|
||||
new ItemStack(null, 13),
|
||||
new ItemStack(Items.sand, 12),
|
||||
new ItemStack(Items.stone, 11),
|
||||
new ItemStack(Items.copper, 5),
|
||||
new ItemStack(Items.lead, 3),
|
||||
new ItemStack(Items.coal, 3),
|
||||
new ItemStack(Items.titanium, 2),
|
||||
new ItemStack(Items.thorium, 1)
|
||||
};
|
||||
|
||||
hasPower = true;
|
||||
|
||||
@@ -9,27 +9,27 @@ import io.anuke.mindustry.world.blocks.defense.Door;
|
||||
import io.anuke.mindustry.world.blocks.defense.PhaseWall;
|
||||
|
||||
public class DefenseBlocks extends BlockList implements ContentList{
|
||||
public static Block tungstenWall, tungstenWallLarge, carbideWall, carbideWallLarge, thoriumWall, thoriumWallLarge, door, doorLarge, deflectorwall, deflectorwalllarge,
|
||||
phasewall, phasewalllarge;
|
||||
public static Block copperWall, copperWallLarge, compositeWall, compositeWallLarge, thoriumWall, thoriumWallLarge, door, doorLarge, deflectorwall, deflectorwalllarge,
|
||||
phaseWall, phaseWallLarge;
|
||||
|
||||
@Override
|
||||
public void load(){
|
||||
int wallHealthMultiplier = 4;
|
||||
|
||||
tungstenWall = new Wall("tungsten-wall"){{
|
||||
copperWall = new Wall("copper-wall"){{
|
||||
health = 80 * wallHealthMultiplier;
|
||||
}};
|
||||
|
||||
tungstenWallLarge = new Wall("tungsten-wall-large"){{
|
||||
copperWallLarge = new Wall("copper-wall-large"){{
|
||||
health = 80 * 4 * wallHealthMultiplier;
|
||||
size = 2;
|
||||
}};
|
||||
|
||||
carbideWall = new Wall("carbide-wall"){{
|
||||
compositeWall = new Wall("composite-wall"){{
|
||||
health = 110 * wallHealthMultiplier;
|
||||
}};
|
||||
|
||||
carbideWallLarge = new Wall("carbide-wall-large"){{
|
||||
compositeWallLarge = new Wall("composite-wall-large"){{
|
||||
health = 110 * wallHealthMultiplier * 4;
|
||||
size = 2;
|
||||
}};
|
||||
@@ -52,11 +52,11 @@ public class DefenseBlocks extends BlockList implements ContentList{
|
||||
size = 2;
|
||||
}};
|
||||
|
||||
phasewall = new PhaseWall("phase-wall"){{
|
||||
phaseWall = new PhaseWall("phase-wall"){{
|
||||
health = 150 * wallHealthMultiplier;
|
||||
}};
|
||||
|
||||
phasewalllarge = new PhaseWall("phase-wall-large"){{
|
||||
phaseWallLarge = new PhaseWall("phase-wall-large"){{
|
||||
health = 150 * 4 * wallHealthMultiplier;
|
||||
size = 2;
|
||||
regenSpeed = 0.5f;
|
||||
|
||||
@@ -6,7 +6,7 @@ import io.anuke.mindustry.world.blocks.distribution.*;
|
||||
|
||||
public class DistributionBlocks extends BlockList implements ContentList{
|
||||
public static Block conveyor, titaniumconveyor, distributor, junction,
|
||||
bridgeConveyor, phaseConveyor, sorter, splitter, overflowGate, massDriver;
|
||||
bridgeConveyor, phaseConveyor, sorter, router, overflowGate, massDriver;
|
||||
|
||||
@Override
|
||||
public void load(){
|
||||
@@ -39,9 +39,9 @@ public class DistributionBlocks extends BlockList implements ContentList{
|
||||
|
||||
sorter = new Sorter("sorter");
|
||||
|
||||
splitter = new Splitter("splitter");
|
||||
router = new Router("router");
|
||||
|
||||
distributor = new Splitter("distributor"){{
|
||||
distributor = new Router("distributor"){{
|
||||
size = 2;
|
||||
}};
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ public class OreBlocks extends BlockList{
|
||||
|
||||
@Override
|
||||
public void load(){
|
||||
Item[] ores = {Items.tungsten, Items.lead, Items.coal, Items.titanium, Items.thorium};
|
||||
Item[] ores = {Items.copper, Items.lead, Items.coal, Items.titanium, Items.thorium};
|
||||
|
||||
for(Item item : ores){
|
||||
ObjectMap<Block, Block> map = new ObjectMap<>();
|
||||
|
||||
@@ -9,7 +9,7 @@ import io.anuke.mindustry.world.blocks.power.*;
|
||||
|
||||
public class PowerBlocks extends BlockList implements ContentList{
|
||||
public static Block combustionGenerator, thermalGenerator, turbineGenerator, rtgGenerator, solarPanel, largeSolarPanel,
|
||||
nuclearReactor, fusionReactor, battery, batteryLarge, powerNode, powerNodeLarge, warpGate;
|
||||
thoriumReactor, fusionReactor, battery, batteryLarge, powerNode, powerNodeLarge, warpGate;
|
||||
|
||||
@Override
|
||||
public void load(){
|
||||
@@ -51,7 +51,7 @@ public class PowerBlocks extends BlockList implements ContentList{
|
||||
generation = 0.055f;
|
||||
}};
|
||||
|
||||
nuclearReactor = new NuclearReactor("nuclear-reactor"){{
|
||||
thoriumReactor = new NuclearReactor("thorium-reactor"){{
|
||||
size = 3;
|
||||
health = 700;
|
||||
powerMultiplier = 0.8f;
|
||||
|
||||
@@ -12,18 +12,18 @@ import io.anuke.mindustry.world.blocks.production.Fracker;
|
||||
import io.anuke.mindustry.world.blocks.production.SolidPump;
|
||||
|
||||
public class ProductionBlocks extends BlockList implements ContentList{
|
||||
public static Block tungstenDrill, carbideDrill, laserdrill, blastdrill, plasmadrill, waterextractor, oilextractor, cultivator;
|
||||
public static Block mechanicalDrill, pneumaticDrill, laserdrill, blastdrill, plasmadrill, waterextractor, oilextractor, cultivator;
|
||||
|
||||
@Override
|
||||
public void load(){
|
||||
tungstenDrill = new Drill("tungsten-drill"){{
|
||||
mechanicalDrill = new Drill("mechanical-drill"){{
|
||||
tier = 2;
|
||||
drillTime = 300;
|
||||
size = 2;
|
||||
drawMineItem = true;
|
||||
}};
|
||||
|
||||
carbideDrill = new Drill("carbide-drill"){{
|
||||
pneumaticDrill = new Drill("pneumatic-drill"){{
|
||||
tier = 3;
|
||||
drillTime = 240;
|
||||
size = 2;
|
||||
|
||||
@@ -19,7 +19,7 @@ public class TurretBlocks extends BlockList implements ContentList{
|
||||
@Override
|
||||
public void load(){
|
||||
duo = new DoubleTurret("duo"){{
|
||||
ammoTypes = new AmmoType[]{AmmoTypes.bulletTungsten, AmmoTypes.bulletLead, AmmoTypes.bulletCarbide, AmmoTypes.bulletPyratite, AmmoTypes.bulletSilicon};
|
||||
ammoTypes = new AmmoType[]{AmmoTypes.bulletCopper, AmmoTypes.bulletDense, AmmoTypes.bulletPyratite, AmmoTypes.bulletSilicon};
|
||||
reload = 25f;
|
||||
restitution = 0.03f;
|
||||
range = 90f;
|
||||
@@ -43,7 +43,7 @@ public class TurretBlocks extends BlockList implements ContentList{
|
||||
}};*/
|
||||
|
||||
hail = new ArtilleryTurret("hail"){{
|
||||
ammoTypes = new AmmoType[]{AmmoTypes.artilleryCarbide, AmmoTypes.artilleryHoming, AmmoTypes.artilleryIncindiary};
|
||||
ammoTypes = new AmmoType[]{AmmoTypes.artilleryDense, AmmoTypes.artilleryHoming, AmmoTypes.artilleryIncindiary};
|
||||
reload = 100f;
|
||||
recoil = 2f;
|
||||
range = 200f;
|
||||
@@ -134,7 +134,7 @@ public class TurretBlocks extends BlockList implements ContentList{
|
||||
salvo = new BurstTurret("salvo"){{
|
||||
size = 2;
|
||||
range = 120f;
|
||||
ammoTypes = new AmmoType[]{AmmoTypes.bulletTungsten, AmmoTypes.bulletCarbide, AmmoTypes.bulletPyratite, AmmoTypes.bulletThorium, AmmoTypes.bulletSilicon};
|
||||
ammoTypes = new AmmoType[]{AmmoTypes.bulletCopper, AmmoTypes.bulletDense, AmmoTypes.bulletPyratite, AmmoTypes.bulletThorium, AmmoTypes.bulletSilicon};
|
||||
reload = 40f;
|
||||
restitution = 0.03f;
|
||||
ammoEjectBack = 3f;
|
||||
@@ -162,7 +162,7 @@ public class TurretBlocks extends BlockList implements ContentList{
|
||||
}};
|
||||
|
||||
ripple = new ArtilleryTurret("ripple"){{
|
||||
ammoTypes = new AmmoType[]{AmmoTypes.artilleryCarbide, AmmoTypes.artilleryHoming, AmmoTypes.artilleryIncindiary, AmmoTypes.artilleryExplosive, AmmoTypes.artilleryPlastic};
|
||||
ammoTypes = new AmmoType[]{AmmoTypes.artilleryDense, AmmoTypes.artilleryHoming, AmmoTypes.artilleryIncindiary, AmmoTypes.artilleryExplosive, AmmoTypes.artilleryPlastic};
|
||||
size = 3;
|
||||
shots = 4;
|
||||
inaccuracy = 12f;
|
||||
@@ -191,7 +191,7 @@ public class TurretBlocks extends BlockList implements ContentList{
|
||||
}};
|
||||
|
||||
spectre = new ItemTurret("spectre"){{
|
||||
ammoTypes = new AmmoType[]{AmmoTypes.bulletTungsten, AmmoTypes.bulletLead, AmmoTypes.bulletCarbide, AmmoTypes.bulletPyratite, AmmoTypes.bulletThorium, AmmoTypes.bulletSilicon};
|
||||
ammoTypes = new AmmoType[]{AmmoTypes.bulletCopper, AmmoTypes.bulletDense, AmmoTypes.bulletPyratite, AmmoTypes.bulletThorium, AmmoTypes.bulletSilicon};
|
||||
reload = 25f;
|
||||
restitution = 0.03f;
|
||||
ammoUseEffect = ShootFx.shellEjectSmall;
|
||||
|
||||
@@ -52,7 +52,7 @@ public class UnitBlocks extends BlockList implements ContentList{
|
||||
produceTime = 1800;
|
||||
size = 2;
|
||||
consumes.power(0.05f);
|
||||
consumes.items(new ItemStack[]{new ItemStack(Items.silicon, 10), new ItemStack(Items.tungsten, 15)});
|
||||
consumes.items(new ItemStack[]{new ItemStack(Items.silicon, 10), new ItemStack(Items.copper, 15)});
|
||||
}};
|
||||
|
||||
titanPad = new UnitPad("titan-pad"){{
|
||||
|
||||
@@ -8,12 +8,12 @@ import io.anuke.mindustry.graphics.Palette;
|
||||
import io.anuke.mindustry.type.ContentList;
|
||||
|
||||
public class ArtilleryBullets extends BulletList implements ContentList{
|
||||
public static BulletType carbide, plastic, plasticFrag, homing, incindiary, explosive, surge;
|
||||
public static BulletType dense, plastic, plasticFrag, homing, incindiary, explosive, surge;
|
||||
|
||||
@Override
|
||||
public void load(){
|
||||
|
||||
carbide = new ArtilleryBulletType(3f, 0, "shell"){
|
||||
dense = new ArtilleryBulletType(3f, 0, "shell"){
|
||||
{
|
||||
hiteffect = BulletFx.flakExplosion;
|
||||
knockback = 0.8f;
|
||||
|
||||
@@ -6,26 +6,19 @@ import io.anuke.mindustry.graphics.Palette;
|
||||
import io.anuke.mindustry.type.ContentList;
|
||||
|
||||
public class StandardBullets extends BulletList implements ContentList{
|
||||
public static BulletType tungsten, lead, carbide, thorium, homing, tracer;
|
||||
public static BulletType copper, dense, thorium, homing, tracer;
|
||||
|
||||
@Override
|
||||
public void load(){
|
||||
|
||||
tungsten = new BasicBulletType(3.2f, 10, "bullet"){
|
||||
{
|
||||
bulletWidth = 9f;
|
||||
bulletHeight = 11f;
|
||||
}
|
||||
};
|
||||
|
||||
lead = new BasicBulletType(2.5f, 5, "bullet"){
|
||||
copper = new BasicBulletType(2.5f, 7, "bullet"){
|
||||
{
|
||||
bulletWidth = 7f;
|
||||
bulletHeight = 9f;
|
||||
}
|
||||
};
|
||||
|
||||
carbide = new BasicBulletType(3.5f, 18, "bullet"){
|
||||
dense = new BasicBulletType(3.5f, 18, "bullet"){
|
||||
{
|
||||
bulletWidth = 9f;
|
||||
bulletHeight = 12f;
|
||||
|
||||
@@ -2,7 +2,6 @@ package io.anuke.mindustry.core;
|
||||
|
||||
import com.badlogic.gdx.utils.Array;
|
||||
import io.anuke.mindustry.Vars;
|
||||
import io.anuke.mindustry.content.Items;
|
||||
import io.anuke.mindustry.core.GameState.State;
|
||||
import io.anuke.mindustry.entities.TileEntity;
|
||||
import io.anuke.mindustry.game.EventType.GameOverEvent;
|
||||
@@ -70,13 +69,6 @@ public class Logic extends Module{
|
||||
}
|
||||
}
|
||||
|
||||
for(TeamData team : state.teams.getTeams(false)){
|
||||
for(Tile tile : team.cores){
|
||||
tile.entity.items.add(Items.tungsten, 2000);
|
||||
tile.entity.items.add(Items.blastCompound, 2000);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Events.fire(PlayEvent.class);
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ public class UnitDrops{
|
||||
}
|
||||
|
||||
if(dropTable == null){
|
||||
dropTable = new Item[]{Items.tungsten, Items.lead, Items.carbide};
|
||||
dropTable = new Item[]{Items.densealloy, Items.lead, Items.copper};
|
||||
}
|
||||
|
||||
for(int i = 0; i < 3; i++){
|
||||
|
||||
@@ -45,7 +45,7 @@ public class UnitType implements UnlockableContent{
|
||||
public float carryWeight = 1f;
|
||||
public int ammoCapacity = 200;
|
||||
public int itemCapacity = 30;
|
||||
public ObjectSet<Item> toMine = ObjectSet.with(Items.lead, Items.tungsten);
|
||||
public ObjectSet<Item> toMine = ObjectSet.with(Items.lead, Items.copper);
|
||||
public float buildPower = 0.3f, minePower = 0.7f, healSpeed = 0.1f;
|
||||
public Weapon weapon = Weapons.blaster;
|
||||
public float weaponOffsetX, weaponOffsetY;
|
||||
|
||||
@@ -8,6 +8,8 @@ import io.anuke.mindustry.game.EventType.UnlockEvent;
|
||||
import io.anuke.ucore.core.Events;
|
||||
import io.anuke.ucore.core.Settings;
|
||||
|
||||
import static io.anuke.mindustry.Vars.debug;
|
||||
|
||||
public class ContentDatabase{
|
||||
/** Maps unlockable type names to a set of unlocked content.*/
|
||||
private ObjectMap<String, ObjectSet<String>> unlocked = new ObjectMap<>();
|
||||
@@ -16,6 +18,8 @@ public class ContentDatabase{
|
||||
|
||||
/** Returns whether or not this piece of content is unlocked yet.*/
|
||||
public boolean isUnlocked(UnlockableContent content){
|
||||
if(debug) return true;
|
||||
|
||||
if(!unlocked.containsKey(content.getContentTypeName())){
|
||||
unlocked.put(content.getContentTypeName(), new ObjectSet<>());
|
||||
}
|
||||
|
||||
@@ -147,21 +147,21 @@ public class Sectors{
|
||||
sector.spawns = sector.missions.first().getWaves(sector);
|
||||
|
||||
//add all ores for now since material differences aren't well handled yet
|
||||
sector.ores.addAll(Items.tungsten, Items.coal, Items.lead, Items.thorium, Items.titanium);
|
||||
sector.ores.addAll(Items.copper, Items.coal, Items.lead, Items.thorium, Items.titanium);
|
||||
|
||||
//set starter items
|
||||
if(sector.difficulty > 12){ //now with titanium
|
||||
sector.startingItems = Array.with(new ItemStack(Items.tungsten, 1900), new ItemStack(Items.lead, 600), new ItemStack(Items.carbide, 470), new ItemStack(Items.silicon, 460), new ItemStack(Items.titanium, 230));
|
||||
sector.startingItems = Array.with(new ItemStack(Items.copper, 1900), new ItemStack(Items.lead, 500), new ItemStack(Items.densealloy, 470), new ItemStack(Items.silicon, 460), new ItemStack(Items.titanium, 230));
|
||||
}else if(sector.difficulty > 8){ //just more resources
|
||||
sector.startingItems = Array.with(new ItemStack(Items.tungsten, 1500), new ItemStack(Items.lead, 450), new ItemStack(Items.carbide, 340), new ItemStack(Items.silicon, 250));
|
||||
sector.startingItems = Array.with(new ItemStack(Items.copper, 1500), new ItemStack(Items.lead, 400), new ItemStack(Items.densealloy, 340), new ItemStack(Items.silicon, 250));
|
||||
}else if(sector.difficulty > 5){ //now with silicon
|
||||
sector.startingItems = Array.with(new ItemStack(Items.tungsten, 950), new ItemStack(Items.lead, 350), new ItemStack(Items.carbide, 190), new ItemStack(Items.silicon, 140));
|
||||
sector.startingItems = Array.with(new ItemStack(Items.copper, 950), new ItemStack(Items.lead, 300), new ItemStack(Items.densealloy, 190), new ItemStack(Items.silicon, 140));
|
||||
}else if(sector.difficulty > 3){ //now with carbide
|
||||
sector.startingItems = Array.with(new ItemStack(Items.tungsten, 700), new ItemStack(Items.lead, 250), new ItemStack(Items.carbide, 130));
|
||||
sector.startingItems = Array.with(new ItemStack(Items.copper, 700), new ItemStack(Items.lead, 200), new ItemStack(Items.densealloy, 130));
|
||||
}else if(sector.difficulty > 1){ //more starter items for faster start
|
||||
sector.startingItems = Array.with(new ItemStack(Items.tungsten, 500), new ItemStack(Items.lead, 180));
|
||||
sector.startingItems = Array.with(new ItemStack(Items.copper, 500), new ItemStack(Items.lead, 100));
|
||||
}else{ //base starting items to prevent grinding much
|
||||
sector.startingItems = Array.with(new ItemStack(Items.tungsten, 170), new ItemStack(Items.lead, 70));
|
||||
sector.startingItems = Array.with(new ItemStack(Items.copper, 170));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,6 @@ package io.anuke.mindustry.maps.generation;
|
||||
import com.badlogic.gdx.math.Rectangle;
|
||||
import com.badlogic.gdx.math.Vector2;
|
||||
import com.badlogic.gdx.utils.Array;
|
||||
import io.anuke.mindustry.content.Items;
|
||||
import io.anuke.mindustry.content.blocks.Blocks;
|
||||
import io.anuke.mindustry.content.blocks.DefenseBlocks;
|
||||
import io.anuke.mindustry.content.blocks.UnitBlocks;
|
||||
@@ -33,6 +32,7 @@ public class FortressGenerator{
|
||||
if(structures != null) return;
|
||||
|
||||
structures = new Structure[]{
|
||||
/*
|
||||
//tiny duo outpost
|
||||
new Structure(0.03f, Items.tungsten, "BAMADnR1bmdzdGVuLWRyaWxsAgADZHVvAQANdHVuZ3N0ZW4td2FsbAAAA2FpcgMFAQABAwEDAQMBAAEAAgMDAwIDAQABAAEBAQEBAQEA"),
|
||||
|
||||
@@ -71,9 +71,11 @@ public class FortressGenerator{
|
||||
|
||||
//fabricator outpost
|
||||
new Structure(0.02f, Items.tungsten, "BgUADWNhcmJpZGUtZHJpbGwBABJ0aG9yaXVtLXdhbGwtbGFyZ2UCAAx0aG9yaXVtLXdhbGwEAANkdW8AAANhaXIDAA5mYWJyaWNhdG9yLXBhZAkJAAAAAAEDAAACAwEDAAAAAAAAAAACAwADAAMCAwADAAMCAgAAAQMAAAMCAAACAAMCAAABAwAAAAAAAAAAAAAEAgAAAAAAAgAAAgMCAAIBBAIFAAQCAgMCAgIDAQMAAAMCAAAEAgMCAAABAwAAAAAAAAAAAAACAQAAAAAAAgAAAAACAAEDAAECAQEDAAECAQAAAAAAAAAAAAACAwACAAAAAAAA"),
|
||||
*/
|
||||
};
|
||||
|
||||
bases = new Structure[]{
|
||||
/*
|
||||
//primitive 4-spawner base
|
||||
new Structure("CAQADXR1bmdzdGVuLXdhbGwFAANkdW8HAARjb3JlAQAKZGFnZ2VyLXBhZAYACHVubG9hZGVyAgAMcmVwYWlyLXBvaW50AAADYWlyAwALc29sYXItcGFuZWwJBwAAAQMAAAIDAQMAAAAAAAAAAAAAAwIAAAAAAAAEAAQBBAEEAQQBBAEEAgQABQIAAAAAAAAFAgQCBAAGAwAABwAAAAYDBAAEAAUCAAAAAAAABQIEAAQABAMEAwQDBAMEAAQAAAABAwAAAwIBAwAAAAAAAAAAAAACAwAAAAAAAA=="),
|
||||
|
||||
@@ -100,6 +102,7 @@ public class FortressGenerator{
|
||||
|
||||
//welcome to unit hell
|
||||
new Structure("DQoACHNwbGl0dGVyBAAMdGhvcml1bS13YWxsDAAEY29yZQEACmRhZ2dlci1wYWQHAAttb25zb29uLXBhZAsACHVubG9hZGVyCAAPaW50ZXJjZXB0b3ItcGFkBQARdGl0YW5pdW0tY29udmV5b3IJAAxyZXBhaXItcG9pbnQDAAVzYWx2bwAAA2FpcgIACXRpdGFuLXBhZAYAC3NvbGFyLXBhbmVsFRUAAAAAAAAAAAAAAAABAQAAAQEAAAAAAQEAAAEBAAAAAAAAAAAAAAAAAAAAAAIBAAAAAAIBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIBAAAAAAIBAAAAAAAAAAAAAAAAAAADAQAABAAEAAAABAAEAAMBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQMGAAAABgAFAQAAAAAAAAAAAAAAAAAAAAAAAAIBAAAAAAcDAAAIAwAABQIJAAAACQAFAggDAAAAAAcDAAAAAAIBAAAAAAAAAAAAAAAAAAAAAAAABQIKAAACCgAFAgAAAAAAAAAAAAAAAAAAAAABAQAAAwEAAAgDAAAAAAAAAAAFAgACBQIAAAAAAAAIAwAAAwEAAAEBAAAAAAAAAAAAAAAAAAAAAAcDAAAFAgACBQIAAAcDAAAAAAAAAAAAAAAAAAABAQAABAMFAgUDBQMAAAAAAAALAQACCwEAAAAAAAAFAQUBBQIEAQEBAAAAAAAABAMGAAkACgAFAwUDCwIAAAAAAAALAQUBBQEKAAkABgAEAQAAAAAAAAAAAAAAAAAAAAMAAwADAAIAAAwAAAAAAgABAAEAAQAAAAAAAAAAAAABAQAABAMGAAkACgAFAwUDCwAAAAAAAAALAgUBBQEKAAkABgAEAQEBAAAAAAAABAMFAAUDBQMAAAAAAAALAQABCwAAAAAAAAAFAQUBBQAEAQAAAAABAQAAAwEAAAgDAAAAAAcDAAAFAAAABQAAAAcDAAAIAwAAAwEAAAEBAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAwAABQAKAAAACgAFAAgDAAAAAAAAAAAAAAAAAAAAAAIBAAAAAAcDAAAAAAAABQAJAAAACQAFAAAAAAAAAAcDAAAAAAIBAAAAAAAAAAAAAAAAAAADAQAABQMGAAAABgAFAQMBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAAABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAIBAAAAAAIBAAEBAQAAAQEAAAAAAQEAAAEBAAAAAAIBAAAAAAIBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAA=")
|
||||
*/
|
||||
};
|
||||
}
|
||||
|
||||
@@ -185,8 +188,8 @@ public class FortressGenerator{
|
||||
}
|
||||
|
||||
Block fixBlock(Block result){
|
||||
if(result == UnitBlocks.dronePad) result = DefenseBlocks.tungstenWallLarge;
|
||||
if(result == UnitBlocks.fabricatorPad) result = DefenseBlocks.tungstenWallLarge;
|
||||
if(result == UnitBlocks.dronePad) result = DefenseBlocks.copperWallLarge;
|
||||
if(result == UnitBlocks.fabricatorPad) result = DefenseBlocks.copperWallLarge;
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -147,7 +147,7 @@ public class WorldGenerator{
|
||||
|
||||
if(genOres){
|
||||
Array<OreEntry> baseOres = Array.with(
|
||||
new OreEntry(Items.tungsten, 0.3f, seed),
|
||||
new OreEntry(Items.copper, 0.3f, seed),
|
||||
new OreEntry(Items.coal, 0.284f, seed),
|
||||
new OreEntry(Items.lead, 0.28f, seed),
|
||||
new OreEntry(Items.titanium, 0.27f, seed),
|
||||
|
||||
@@ -11,42 +11,26 @@ public class AmmoType implements Content{
|
||||
private static Array<AmmoType> allTypes = new Array<>(32);
|
||||
|
||||
public final byte id;
|
||||
/**
|
||||
* The item used. Always null if liquid isn't.
|
||||
*/
|
||||
/**The item used. Always null if liquid isn't.*/
|
||||
public final Item item;
|
||||
/**
|
||||
* The liquid used. Always null if item isn't.
|
||||
*/
|
||||
/**The liquid used. Always null if item isn't.*/
|
||||
public final Liquid liquid;
|
||||
/**
|
||||
* The resulting bullet. Never null.
|
||||
*/
|
||||
/**The resulting bullet. Never null.*/
|
||||
public final BulletType bullet;
|
||||
/**
|
||||
* For item ammo, this is amount given per ammo item.
|
||||
* For liquid ammo, this is amount used per shot.
|
||||
*/
|
||||
public final float quantityMultiplier;
|
||||
/**
|
||||
* Reload speed multiplier.
|
||||
*/
|
||||
/**Reload speed multiplier.*/
|
||||
public float reloadMultiplier = 1f;
|
||||
/**
|
||||
* Bullet recoil strength.
|
||||
*/
|
||||
/**Bullet recoil strength.*/
|
||||
public float recoil = 0f;
|
||||
/**
|
||||
* Additional inaccuracy in degrees.
|
||||
*/
|
||||
/**Additional inaccuracy in degrees.*/
|
||||
public float inaccuracy;
|
||||
/**
|
||||
* Effect created when shooting.
|
||||
*/
|
||||
/**Effect created when shooting.*/
|
||||
public Effect shootEffect = Fx.none;
|
||||
/**
|
||||
* Extra smoke effect created when shooting.
|
||||
*/
|
||||
/**Extra smoke effect created when shooting.*/
|
||||
public Effect smokeEffect = Fx.none;
|
||||
|
||||
{
|
||||
|
||||
@@ -238,7 +238,7 @@ public class BuildBlock extends Block{
|
||||
|
||||
progress = Mathf.clamp(progress - amount);
|
||||
|
||||
if(progress <= 0 || state.mode.infiniteResources){
|
||||
if(progress <= 0 || debug || state.mode.infiniteResources){
|
||||
Call.onDeconstructFinish(tile, this.recipe == null ? previous : this.recipe.result);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -242,6 +242,8 @@ public class ItemBridge extends Block{
|
||||
|
||||
@Override
|
||||
public boolean acceptItem(Item item, Tile tile, Tile source){
|
||||
if(tile.getTeamID() != source.getTeamID()) return false;
|
||||
|
||||
ItemBridgeEntity entity = tile.entity();
|
||||
Tile other = world.tile(entity.link);
|
||||
boolean linked = false;
|
||||
|
||||
@@ -6,7 +6,7 @@ import io.anuke.mindustry.world.Tile;
|
||||
import io.anuke.ucore.core.Timers;
|
||||
import io.anuke.ucore.util.Mathf;
|
||||
|
||||
public class OverflowGate extends Splitter{
|
||||
public class OverflowGate extends Router{
|
||||
|
||||
public OverflowGate(String name){
|
||||
super(name);
|
||||
|
||||
@@ -10,10 +10,10 @@ import io.anuke.mindustry.world.Tile;
|
||||
import io.anuke.mindustry.world.meta.BlockGroup;
|
||||
import io.anuke.ucore.core.Timers;
|
||||
|
||||
public class Splitter extends Block{
|
||||
public class Router extends Block{
|
||||
protected float speed = 8f;
|
||||
|
||||
public Splitter(String name){
|
||||
public Router(String name){
|
||||
super(name);
|
||||
solid = true;
|
||||
update = true;
|
||||
@@ -36,7 +36,7 @@ public class Splitter extends Block{
|
||||
entity.time += 1f/speed * Timers.delta();
|
||||
Tile target = getTileTarget(tile, entity.lastItem, entity.lastInput, false);
|
||||
|
||||
if(target != null && (entity.time >= 1f || !(target.block() instanceof Splitter))){
|
||||
if(target != null && (entity.time >= 1f || !(target.block() instanceof Router))){
|
||||
getTileTarget(tile, entity.lastItem, entity.lastInput, true);
|
||||
target.block().handleItem(entity.lastItem, target, Edges.getFacingEdge(tile, target));
|
||||
entity.items.remove(entity.lastItem, 1);
|
||||
@@ -49,7 +49,7 @@ public class Splitter extends Block{
|
||||
public boolean acceptItem(Item item, Tile tile, Tile source){
|
||||
SplitterEntity entity = tile.entity();
|
||||
|
||||
return entity.lastItem == null;
|
||||
return tile.getTeamID() == source.getTeamID() && entity.lastItem == null;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -2,7 +2,6 @@ package io.anuke.mindustry.world.blocks.distribution;
|
||||
|
||||
import io.anuke.annotations.Annotations.Loc;
|
||||
import io.anuke.annotations.Annotations.Remote;
|
||||
import io.anuke.mindustry.content.Items;
|
||||
import io.anuke.mindustry.entities.Player;
|
||||
import io.anuke.mindustry.entities.TileEntity;
|
||||
import io.anuke.mindustry.gen.Call;
|
||||
@@ -119,7 +118,7 @@ public class Sorter extends Block implements SelectionTrait{
|
||||
}
|
||||
|
||||
public static class SorterEntity extends TileEntity{
|
||||
public Item sortItem = Items.tungsten;
|
||||
public Item sortItem = Item.getByID(0);
|
||||
|
||||
@Override
|
||||
public void write(DataOutputStream stream) throws IOException{
|
||||
|
||||
@@ -6,6 +6,7 @@ import io.anuke.mindustry.content.Items;
|
||||
import io.anuke.mindustry.content.Liquids;
|
||||
import io.anuke.mindustry.entities.TileEntity;
|
||||
import io.anuke.mindustry.type.Item;
|
||||
import io.anuke.mindustry.type.ItemStack;
|
||||
import io.anuke.mindustry.world.Block;
|
||||
import io.anuke.mindustry.world.Tile;
|
||||
import io.anuke.mindustry.world.blocks.production.GenericCrafter.GenericCrafterEntity;
|
||||
@@ -22,7 +23,7 @@ import io.anuke.ucore.util.Mathf;
|
||||
public class Separator extends Block{
|
||||
protected final int timerDump = timers++;
|
||||
|
||||
protected Item[] results;
|
||||
protected ItemStack[] results;
|
||||
protected float filterTime;
|
||||
protected float spinnerRadius = 2.5f;
|
||||
protected float spinnerLength = 1f;
|
||||
@@ -57,8 +58,8 @@ public class Separator extends Block{
|
||||
super.setStats();
|
||||
|
||||
stats.add(BlockStat.outputItem, new ItemFilterValue(item -> {
|
||||
for(Item i : results){
|
||||
if(item == i) return true;
|
||||
for(ItemStack i : results){
|
||||
if(item == i.item) return true;
|
||||
}
|
||||
return false;
|
||||
}));
|
||||
@@ -95,7 +96,22 @@ public class Separator extends Block{
|
||||
|
||||
if(entity.progress >= 1f){
|
||||
entity.progress = 0f;
|
||||
Item item = Mathf.select(results);
|
||||
int sum = 0;
|
||||
for(ItemStack stack : results) sum += stack.amount;
|
||||
|
||||
int i = Mathf.random(sum);
|
||||
int count = 0;
|
||||
Item item = null;
|
||||
|
||||
//TODO possible desync since items are random
|
||||
for(ItemStack stack : results){
|
||||
if(i >= count && i < count + stack.amount){
|
||||
item = stack.item;
|
||||
break;
|
||||
}
|
||||
count += stack.amount;
|
||||
}
|
||||
|
||||
entity.items.remove(consumes.item(), consumes.itemAmount());
|
||||
if(item != null){
|
||||
offloading = true;
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package io.anuke.mindustry.world.blocks.storage;
|
||||
|
||||
import com.badlogic.gdx.utils.Array;
|
||||
import io.anuke.mindustry.content.Items;
|
||||
import io.anuke.mindustry.entities.TileEntity;
|
||||
import io.anuke.mindustry.type.Item;
|
||||
import io.anuke.mindustry.world.Edges;
|
||||
@@ -68,7 +67,7 @@ public class Vault extends StorageBlock{
|
||||
}
|
||||
}
|
||||
}else{
|
||||
todump = Items.tungsten;
|
||||
todump = Item.getByID(0);
|
||||
|
||||
if(other.block().acceptItem(todump, other, in) && canDump(tile, other, todump)){
|
||||
other.block().handleItem(removeItem(tile, null), other, in);
|
||||
|
||||
Reference in New Issue
Block a user