mindustry logic execution, map- and schematic- parsing and rendering
Diffstat (limited to 'src/block/content.rs')
-rw-r--r--src/block/content.rs420
1 files changed, 420 insertions, 0 deletions
diff --git a/src/block/content.rs b/src/block/content.rs
new file mode 100644
index 0000000..b77c1af
--- /dev/null
+++ b/src/block/content.rs
@@ -0,0 +1,420 @@
+use crate::content::content_enum;
+
+content_enum!
+{
+ pub enum Type / Block for u16 | TryFromU16Error
+ {
+ Air => "air",
+ Spawn => "spawn",
+ Cliff => "cliff",
+ Build1 => "build1",
+ Build2 => "build2",
+ Build3 => "build3",
+ Build4 => "build4",
+ Build5 => "build5",
+ Build6 => "build6",
+ Build7 => "build7",
+ Build8 => "build8",
+ Build9 => "build9",
+ Build10 => "build10",
+ Build11 => "build11",
+ Build12 => "build12",
+ Build13 => "build13",
+ Build14 => "build14",
+ Build15 => "build15",
+ Build16 => "build16",
+ DeepWater => "deep-water",
+ ShallowWater => "shallow-water",
+ TaintedWater => "tainted-water",
+ DeepTaintedWater => "deep-tainted-water",
+ DarksandTaintedWater => "darksand-tainted-water",
+ SandWater => "sand-water",
+ DarksandWater => "darksand-water",
+ Tar => "tar",
+ PooledCryofluid => "pooled-cryofluid",
+ MoltenSlag => "molten-slag",
+ Space => "space",
+ Empty => "empty",
+ Stone => "stone",
+ CraterStone => "crater-stone",
+ Char => "char",
+ Basalt => "basalt",
+ Hotrock => "hotrock",
+ Magmarock => "magmarock",
+ SandFloor => "sand-floor",
+ Darksand => "darksand",
+ Dirt => "dirt",
+ Mud => "mud",
+ Dacite => "dacite",
+ Rhyolite => "rhyolite",
+ RhyoliteCrater => "rhyolite-crater",
+ RoughRhyolite => "rough-rhyolite",
+ Regolith => "regolith",
+ YellowStone => "yellow-stone",
+ CarbonStone => "carbon-stone",
+ FerricStone => "ferric-stone",
+ FerricCraters => "ferric-craters",
+ BeryllicStone => "beryllic-stone",
+ CrystallineStone => "crystalline-stone",
+ CrystalFloor => "crystal-floor",
+ YellowStonePlates => "yellow-stone-plates",
+ RedStone => "red-stone",
+ DenseRedStone => "dense-red-stone",
+ RedIce => "red-ice",
+ ArkyciteFloor => "arkycite-floor",
+ ArkyicStone => "arkyic-stone",
+ RhyoliteVent => "rhyolite-vent",
+ CarbonVent => "carbon-vent",
+ ArkyicVent => "arkyic-vent",
+ YellowStoneVent => "yellow-stone-vent",
+ RedStoneVent => "red-stone-vent",
+ CrystallineVent => "crystalline-vent",
+ Redmat => "redmat",
+ Bluemat => "bluemat",
+ Grass => "grass",
+ Salt => "salt",
+ Snow => "snow",
+ Ice => "ice",
+ IceSnow => "ice-snow",
+ Shale => "shale",
+ Moss => "moss",
+ CoreZone => "core-zone",
+ SporeMoss => "spore-moss",
+ StoneWall => "stone-wall",
+ SporeWall => "spore-wall",
+ DirtWall => "dirt-wall",
+ DaciteWall => "dacite-wall",
+ IceWall => "ice-wall",
+ SnowWall => "snow-wall",
+ DuneWall => "dune-wall",
+ RegolithWall => "regolith-wall",
+ YellowStoneWall => "yellow-stone-wall",
+ RhyoliteWall => "rhyolite-wall",
+ CarbonWall => "carbon-wall",
+ FerricStoneWall => "ferric-stone-wall",
+ BeryllicStoneWall => "beryllic-stone-wall",
+ ArkyicWall => "arkyic-wall",
+ CrystallineStoneWall => "crystalline-stone-wall",
+ RedIceWall => "red-ice-wall",
+ RedStoneWall => "red-stone-wall",
+ RedDiamondWall => "red-diamond-wall",
+ SandWall => "sand-wall",
+ SaltWall => "salt-wall",
+ Shrubs => "shrubs",
+ ShaleWall => "shale-wall",
+ SporePine => "spore-pine",
+ SnowPine => "snow-pine",
+ Pine => "pine",
+ WhiteTreeDead => "white-tree-dead",
+ WhiteTree => "white-tree",
+ SporeCluster => "spore-cluster",
+ Redweed => "redweed",
+ PurBush => "pur-bush",
+ Yellowcoral => "yellowcoral",
+ Boulder => "boulder",
+ SnowBoulder => "snow-boulder",
+ ShaleBoulder => "shale-boulder",
+ SandBoulder => "sand-boulder",
+ DaciteBoulder => "dacite-boulder",
+ BasaltBoulder => "basalt-boulder",
+ CarbonBoulder => "carbon-boulder",
+ FerricBoulder => "ferric-boulder",
+ BeryllicBoulder => "beryllic-boulder",
+ YellowStoneBoulder => "yellow-stone-boulder",
+ ArkyicBoulder => "arkyic-boulder",
+ CrystalCluster => "crystal-cluster",
+ VibrantCrystalCluster => "vibrant-crystal-cluster",
+ CrystalBlocks => "crystal-blocks",
+ CrystalOrbs => "crystal-orbs",
+ CrystallineBoulder => "crystalline-boulder",
+ RedIceBoulder => "red-ice-boulder",
+ RhyoliteBoulder => "rhyolite-boulder",
+ RedStoneBoulder => "red-stone-boulder",
+ MetalFloor => "metal-floor",
+ MetalFloorDamaged => "metal-floor-damaged",
+ MetalFloor2 => "metal-floor-2",
+ MetalFloor3 => "metal-floor-3",
+ MetalFloor4 => "metal-floor-4",
+ MetalFloor5 => "metal-floor-5",
+ DarkPanel1 => "dark-panel-1",
+ DarkPanel2 => "dark-panel-2",
+ DarkPanel3 => "dark-panel-3",
+ DarkPanel4 => "dark-panel-4",
+ DarkPanel5 => "dark-panel-5",
+ DarkPanel6 => "dark-panel-6",
+ DarkMetal => "dark-metal",
+ Pebbles => "pebbles",
+ Tendrils => "tendrils",
+ OreCopper => "ore-copper",
+ OreLead => "ore-lead",
+ OreScrap => "ore-scrap",
+ OreCoal => "ore-coal",
+ OreTitanium => "ore-titanium",
+ OreThorium => "ore-thorium",
+ OreBeryllium => "ore-beryllium",
+ OreTungsten => "ore-tungsten",
+ OreCrystalThorium => "ore-crystal-thorium",
+ OreWallThorium => "ore-wall-thorium",
+ OreWallBeryllium => "ore-wall-beryllium",
+ GraphiticWall => "graphitic-wall",
+ OreWallTungsten => "ore-wall-tungsten",
+ GraphitePress => "graphite-press",
+ MultiPress => "multi-press",
+ SiliconSmelter => "silicon-smelter",
+ SiliconCrucible => "silicon-crucible",
+ Kiln => "kiln",
+ PlastaniumCompressor => "plastanium-compressor",
+ PhaseWeaver => "phase-weaver",
+ SurgeSmelter => "surge-smelter",
+ CryofluidMixer => "cryofluid-mixer",
+ PyratiteMixer => "pyratite-mixer",
+ BlastMixer => "blast-mixer",
+ Melter => "melter",
+ Separator => "separator",
+ Disassembler => "disassembler",
+ SporePress => "spore-press",
+ Pulverizer => "pulverizer",
+ CoalCentrifuge => "coal-centrifuge",
+ Incinerator => "incinerator",
+ SiliconArcFurnace => "silicon-arc-furnace",
+ Electrolyzer => "electrolyzer",
+ AtmosphericConcentrator => "atmospheric-concentrator",
+ OxidationChamber => "oxidation-chamber",
+ ElectricHeater => "electric-heater",
+ SlagHeater => "slag-heater",
+ PhaseHeater => "phase-heater",
+ HeatRedirector => "heat-redirector",
+ HeatRouter => "heat-router",
+ SlagIncinerator => "slag-incinerator",
+ CarbideCrucible => "carbide-crucible",
+ SlagCentrifuge => "slag-centrifuge",
+ SurgeCrucible => "surge-crucible",
+ CyanogenSynthesizer => "cyanogen-synthesizer",
+ PhaseSynthesizer => "phase-synthesizer",
+ HeatReactor => "heat-reactor",
+ CopperWall => "copper-wall",
+ CopperWallLarge => "copper-wall-large",
+ TitaniumWall => "titanium-wall",
+ TitaniumWallLarge => "titanium-wall-large",
+ PlastaniumWall => "plastanium-wall",
+ PlastaniumWallLarge => "plastanium-wall-large",
+ ThoriumWall => "thorium-wall",
+ ThoriumWallLarge => "thorium-wall-large",
+ PhaseWall => "phase-wall",
+ PhaseWallLarge => "phase-wall-large",
+ SurgeWall => "surge-wall",
+ SurgeWallLarge => "surge-wall-large",
+ Door => "door",
+ DoorLarge => "door-large",
+ ScrapWall => "scrap-wall",
+ ScrapWallLarge => "scrap-wall-large",
+ ScrapWallHuge => "scrap-wall-huge",
+ ScrapWallGigantic => "scrap-wall-gigantic",
+ Thruster => "thruster",
+ BerylliumWall => "beryllium-wall",
+ BerylliumWallLarge => "beryllium-wall-large",
+ TungstenWall => "tungsten-wall",
+ TungstenWallLarge => "tungsten-wall-large",
+ BlastDoor => "blast-door",
+ ReinforcedSurgeWall => "reinforced-surge-wall",
+ ReinforcedSurgeWallLarge => "reinforced-surge-wall-large",
+ CarbideWall => "carbide-wall",
+ CarbideWallLarge => "carbide-wall-large",
+ ShieldedWall => "shielded-wall",
+ Mender => "mender",
+ MendProjector => "mend-projector",
+ OverdriveProjector => "overdrive-projector",
+ OverdriveDome => "overdrive-dome",
+ ForceProjector => "force-projector",
+ ShockMine => "shock-mine",
+ Radar => "radar",
+ BuildTower => "build-tower",
+ RegenProjector => "regen-projector",
+ ShockwaveTower => "shockwave-tower",
+ ShieldProjector => "shield-projector",
+ LargeShieldProjector => "large-shield-projector",
+ Conveyor => "conveyor",
+ TitaniumConveyor => "titanium-conveyor",
+ PlastaniumConveyor => "plastanium-conveyor",
+ ArmoredConveyor => "armored-conveyor",
+ Junction => "junction",
+ BridgeConveyor => "bridge-conveyor",
+ PhaseConveyor => "phase-conveyor",
+ Sorter => "sorter",
+ InvertedSorter => "inverted-sorter",
+ Router => "router",
+ Distributor => "distributor",
+ OverflowGate => "overflow-gate",
+ UnderflowGate => "underflow-gate",
+ MassDriver => "mass-driver",
+ Duct => "duct",
+ ArmoredDuct => "armored-duct",
+ DuctRouter => "duct-router",
+ OverflowDuct => "overflow-duct",
+ UnderflowDuct => "underflow-duct",
+ DuctBridge => "duct-bridge",
+ DuctUnloader => "duct-unloader",
+ SurgeConveyor => "surge-conveyor",
+ SurgeRouter => "surge-router",
+ UnitCargoLoader => "unit-cargo-loader",
+ UnitCargoUnloadPoint => "unit-cargo-unload-point",
+ MechanicalPump => "mechanical-pump",
+ RotaryPump => "rotary-pump",
+ ImpulsePump => "impulse-pump",
+ Conduit => "conduit",
+ PulseConduit => "pulse-conduit",
+ PlatedConduit => "plated-conduit",
+ LiquidRouter => "liquid-router",
+ LiquidContainer => "liquid-container",
+ LiquidTank => "liquid-tank",
+ LiquidJunction => "liquid-junction",
+ BridgeConduit => "bridge-conduit",
+ PhaseConduit => "phase-conduit",
+ ReinforcedPump => "reinforced-pump",
+ ReinforcedConduit => "reinforced-conduit",
+ ReinforcedLiquidJunction => "reinforced-liquid-junction",
+ ReinforcedBridgeConduit => "reinforced-bridge-conduit",
+ ReinforcedLiquidRouter => "reinforced-liquid-router",
+ ReinforcedLiquidContainer => "reinforced-liquid-container",
+ ReinforcedLiquidTank => "reinforced-liquid-tank",
+ PowerNode => "power-node",
+ PowerNodeLarge => "power-node-large",
+ SurgeTower => "surge-tower",
+ Diode => "diode",
+ Battery => "battery",
+ BatteryLarge => "battery-large",
+ CombustionGenerator => "combustion-generator",
+ ThermalGenerator => "thermal-generator",
+ SteamGenerator => "steam-generator",
+ DifferentialGenerator => "differential-generator",
+ RtgGenerator => "rtg-generator",
+ SolarPanel => "solar-panel",
+ SolarPanelLarge => "solar-panel-large",
+ ThoriumReactor => "thorium-reactor",
+ ImpactReactor => "impact-reactor",
+ BeamNode => "beam-node",
+ BeamTower => "beam-tower",
+ BeamLink => "beam-link",
+ TurbineCondenser => "turbine-condenser",
+ ChemicalCombustionChamber => "chemical-combustion-chamber",
+ PyrolysisGenerator => "pyrolysis-generator",
+ FluxReactor => "flux-reactor",
+ NeoplasiaReactor => "neoplasia-reactor",
+ MechanicalDrill => "mechanical-drill",
+ PneumaticDrill => "pneumatic-drill",
+ LaserDrill => "laser-drill",
+ BlastDrill => "blast-drill",
+ WaterExtractor => "water-extractor",
+ Cultivator => "cultivator",
+ OilExtractor => "oil-extractor",
+ VentCondenser => "vent-condenser",
+ CliffCrusher => "cliff-crusher",
+ PlasmaBore => "plasma-bore",
+ LargePlasmaBore => "large-plasma-bore",
+ ImpactDrill => "impact-drill",
+ EruptionDrill => "eruption-drill",
+ CoreShard => "core-shard",
+ CoreFoundation => "core-foundation",
+ CoreNucleus => "core-nucleus",
+ CoreBastion => "core-bastion",
+ CoreCitadel => "core-citadel",
+ CoreAcropolis => "core-acropolis",
+ Container => "container",
+ Vault => "vault",
+ Unloader => "unloader",
+ ReinforcedContainer => "reinforced-container",
+ ReinforcedVault => "reinforced-vault",
+ Duo => "duo",
+ Scatter => "scatter",
+ Scorch => "scorch",
+ Hail => "hail",
+ Wave => "wave",
+ Lancer => "lancer",
+ Arc => "arc",
+ Parallax => "parallax",
+ Swarmer => "swarmer",
+ Salvo => "salvo",
+ Segment => "segment",
+ Tsunami => "tsunami",
+ Fuse => "fuse",
+ Ripple => "ripple",
+ Cyclone => "cyclone",
+ Foreshadow => "foreshadow",
+ Spectre => "spectre",
+ Meltdown => "meltdown",
+ Breach => "breach",
+ Diffuse => "diffuse",
+ Sublimate => "sublimate",
+ Titan => "titan",
+ Disperse => "disperse",
+ Afflict => "afflict",
+ Lustre => "lustre",
+ Scathe => "scathe",
+ Smite => "smite",
+ Malign => "malign",
+ GroundFactory => "ground-factory",
+ AirFactory => "air-factory",
+ NavalFactory => "naval-factory",
+ AdditiveReconstructor => "additive-reconstructor",
+ MultiplicativeReconstructor => "multiplicative-reconstructor",
+ ExponentialReconstructor => "exponential-reconstructor",
+ TetrativeReconstructor => "tetrative-reconstructor",
+ RepairPoint => "repair-point",
+ RepairTurret => "repair-turret",
+ TankFabricator => "tank-fabricator",
+ ShipFabricator => "ship-fabricator",
+ MechFabricator => "mech-fabricator",
+ TankRefabricator => "tank-refabricator",
+ MechRefabricator => "mech-refabricator",
+ ShipRefabricator => "ship-refabricator",
+ PrimeRefabricator => "prime-refabricator",
+ TankAssembler => "tank-assembler",
+ ShipAssembler => "ship-assembler",
+ MechAssembler => "mech-assembler",
+ BasicAssemblerModule => "basic-assembler-module",
+ UnitRepairTower => "unit-repair-tower",
+ PayloadConveyor => "payload-conveyor",
+ PayloadRouter => "payload-router",
+ ReinforcedPayloadConveyor => "reinforced-payload-conveyor",
+ ReinforcedPayloadRouter => "reinforced-payload-router",
+ PayloadMassDriver => "payload-mass-driver",
+ LargePayloadMassDriver => "large-payload-mass-driver",
+ SmallDeconstructor => "small-deconstructor",
+ Deconstructor => "deconstructor",
+ Constructor => "constructor",
+ LargeConstructor => "large-constructor",
+ PayloadLoader => "payload-loader",
+ PayloadUnloader => "payload-unloader",
+ PowerSource => "power-source",
+ PowerVoid => "power-void",
+ ItemSource => "item-source",
+ ItemVoid => "item-void",
+ LiquidSource => "liquid-source",
+ LiquidVoid => "liquid-void",
+ PayloadSource => "payload-source",
+ PayloadVoid => "payload-void",
+ HeatSource => "heat-source",
+ Illuminator => "illuminator",
+ LegacyMechPad => "legacy-mech-pad",
+ LegacyUnitFactory => "legacy-unit-factory",
+ LegacyUnitFactoryAir => "legacy-unit-factory-air",
+ LegacyUnitFactoryGround => "legacy-unit-factory-ground",
+ CommandCenter => "command-center",
+ LaunchPad => "launch-pad",
+ InterplanetaryAccelerator => "interplanetary-accelerator",
+ Message => "message",
+ Switch => "switch",
+ MicroProcessor => "micro-processor",
+ LogicProcessor => "logic-processor",
+ HyperProcessor => "hyper-processor",
+ MemoryCell => "memory-cell",
+ MemoryBank => "memory-bank",
+ LogicDisplay => "logic-display",
+ LargeLogicDisplay => "large-logic-display",
+ Canvas => "canvas",
+ ReinforcedMessage => "reinforced-message",
+ WorldProcessor => "world-processor",
+ WorldCell => "world-cell",
+ WorldMessage => "world-message",
+ }
+}