Skip to content

Instantly share code, notes, and snippets.

@svenwltr
Last active November 28, 2020 09:44
Show Gist options
  • Save svenwltr/106a62356a1df3ff01f6b08044986320 to your computer and use it in GitHub Desktop.
Save svenwltr/106a62356a1df3ff01f6b08044986320 to your computer and use it in GitHub Desktop.
Space Engineers Convert Blueprint XML
  1. Get XML from https://github.com/KeenSoftwareHouse/SpaceEngineers/blob/master/Sources/SpaceEngineers/Content/Data/Blueprints.sbc
  2. Convert to JSON using https://convertxmljson.com/
  3. run jq:
pbpaste | jq '
    .Definitions.Blueprints.Blueprint | map(
        "public static readonly ItemType \(.Result._SubtypeId) = new ItemType(\"\(.Result._TypeId)\", \"\(.Result._SubtypeId)\", \"\(.Id.TypeId)\", \"\(.Id.SubtypeId)\");"
    ) | .[]' -r
pbpaste | jq '
    .Definitions.Blueprints.Blueprint | map(
    "yield return \(.Result._SubtypeId);"
    ) | .[]' -r
yield return Stone;
yield return Iron;
yield return Nickel;
yield return Cobalt;
yield return Magnesium;
yield return Silicon;
yield return Silver;
yield return Gold;
yield return Platinum;
yield return Uranium;
yield return Iron;
yield return Iron;
yield return Stone;
yield return Stone;
yield return OxygenBottle;
yield return Stone;
yield return HydrogenBottle;
yield return Construction;
yield return Girder;
yield return MetalGrid;
yield return InteriorPlate;
yield return SteelPlate;
yield return SmallTube;
yield return LargeTube;
yield return Motor;
yield return Display;
yield return BulletproofGlass;
yield return Computer;
yield return Reactor;
yield return Thrust;
yield return GravityGenerator;
yield return Medical;
yield return RadioCommunication;
yield return Detector;
yield return Explosives;
yield return SolarCell;
yield return PowerCell;
yield return AutomaticRifleItem;
yield return RapidFireAutomaticRifleItem;
yield return PreciseAutomaticRifleItem;
yield return UltimateAutomaticRifleItem;
yield return WelderItem;
yield return Welder2Item;
yield return Welder3Item;
yield return Welder4Item;
yield return AngleGrinderItem;
yield return AngleGrinder2Item;
yield return AngleGrinder3Item;
yield return AngleGrinder4Item;
yield return HandDrillItem;
yield return HandDrill2Item;
yield return HandDrill3Item;
yield return HandDrill4Item;
yield return NATO_5p56x45mm;
yield return NATO_25x184mm;
yield return Missile200mm;
yield return Superconductor;
public static readonly ItemType Stone = new ItemType("Ingot", "Stone", "BlueprintDefinition", "StoneOreToIngot");
public static readonly ItemType Iron = new ItemType("Ingot", "Iron", "BlueprintDefinition", "IronOreToIngot");
public static readonly ItemType Nickel = new ItemType("Ingot", "Nickel", "BlueprintDefinition", "NickelOreToIngot");
public static readonly ItemType Cobalt = new ItemType("Ingot", "Cobalt", "BlueprintDefinition", "CobaltOreToIngot");
public static readonly ItemType Magnesium = new ItemType("Ingot", "Magnesium", "BlueprintDefinition", "MagnesiumOreToIngot");
public static readonly ItemType Silicon = new ItemType("Ingot", "Silicon", "BlueprintDefinition", "SiliconOreToIngot");
public static readonly ItemType Silver = new ItemType("Ingot", "Silver", "BlueprintDefinition", "SilverOreToIngot");
public static readonly ItemType Gold = new ItemType("Ingot", "Gold", "BlueprintDefinition", "GoldOreToIngot");
public static readonly ItemType Platinum = new ItemType("Ingot", "Platinum", "BlueprintDefinition", "PlatinumOreToIngot");
public static readonly ItemType Uranium = new ItemType("Ingot", "Uranium", "BlueprintDefinition", "UraniumOreToIngot");
public static readonly ItemType Iron = new ItemType("Ingot", "Iron", "BlueprintDefinition", "ScrapIngotToIronIngot");
public static readonly ItemType Iron = new ItemType("Ingot", "Iron", "BlueprintDefinition", "ScrapToIronIngot");
public static readonly ItemType Stone = new ItemType("Ingot", "Stone", "BlueprintDefinition", "IceToOxygen");
public static readonly ItemType Stone = new ItemType("Ingot", "Stone", "BlueprintDefinition", "OxygenBottlesRefill");
public static readonly ItemType OxygenBottle = new ItemType("OxygenContainerObject", "OxygenBottle", "BlueprintDefinition", "OxygenBottle");
public static readonly ItemType Stone = new ItemType("Ingot", "Stone", "BlueprintDefinition", "HydrogenBottlesRefill");
public static readonly ItemType HydrogenBottle = new ItemType("GasContainerObject", "HydrogenBottle", "BlueprintDefinition", "HydrogenBottle");
public static readonly ItemType Construction = new ItemType("Component", "Construction", "BlueprintDefinition", "ConstructionComponent");
public static readonly ItemType Girder = new ItemType("Component", "Girder", "BlueprintDefinition", "GirderComponent");
public static readonly ItemType MetalGrid = new ItemType("Component", "MetalGrid", "BlueprintDefinition", "MetalGrid");
public static readonly ItemType InteriorPlate = new ItemType("Component", "InteriorPlate", "BlueprintDefinition", "InteriorPlate");
public static readonly ItemType SteelPlate = new ItemType("Component", "SteelPlate", "BlueprintDefinition", "SteelPlate");
public static readonly ItemType SmallTube = new ItemType("Component", "SmallTube", "BlueprintDefinition", "SmallTube");
public static readonly ItemType LargeTube = new ItemType("Component", "LargeTube", "BlueprintDefinition", "LargeTube");
public static readonly ItemType Motor = new ItemType("Component", "Motor", "BlueprintDefinition", "MotorComponent");
public static readonly ItemType Display = new ItemType("Component", "Display", "BlueprintDefinition", "Display");
public static readonly ItemType BulletproofGlass = new ItemType("Component", "BulletproofGlass", "BlueprintDefinition", "BulletproofGlass");
public static readonly ItemType Computer = new ItemType("Component", "Computer", "BlueprintDefinition", "ComputerComponent");
public static readonly ItemType Reactor = new ItemType("Component", "Reactor", "BlueprintDefinition", "ReactorComponent");
public static readonly ItemType Thrust = new ItemType("Component", "Thrust", "BlueprintDefinition", "ThrustComponent");
public static readonly ItemType GravityGenerator = new ItemType("Component", "GravityGenerator", "BlueprintDefinition", "GravityGeneratorComponent");
public static readonly ItemType Medical = new ItemType("Component", "Medical", "BlueprintDefinition", "MedicalComponent");
public static readonly ItemType RadioCommunication = new ItemType("Component", "RadioCommunication", "BlueprintDefinition", "RadioCommunicationComponent");
public static readonly ItemType Detector = new ItemType("Component", "Detector", "BlueprintDefinition", "DetectorComponent");
public static readonly ItemType Explosives = new ItemType("Component", "Explosives", "BlueprintDefinition", "ExplosivesComponent");
public static readonly ItemType SolarCell = new ItemType("Component", "SolarCell", "BlueprintDefinition", "SolarCell");
public static readonly ItemType PowerCell = new ItemType("Component", "PowerCell", "BlueprintDefinition", "PowerCell");
public static readonly ItemType AutomaticRifleItem = new ItemType("PhysicalGunObject", "AutomaticRifleItem", "BlueprintDefinition", "AutomaticRifle");
public static readonly ItemType RapidFireAutomaticRifleItem = new ItemType("PhysicalGunObject", "RapidFireAutomaticRifleItem", "BlueprintDefinition", "RapidFireAutomaticRifle");
public static readonly ItemType PreciseAutomaticRifleItem = new ItemType("PhysicalGunObject", "PreciseAutomaticRifleItem", "BlueprintDefinition", "PreciseAutomaticRifle");
public static readonly ItemType UltimateAutomaticRifleItem = new ItemType("PhysicalGunObject", "UltimateAutomaticRifleItem", "BlueprintDefinition", "UltimateAutomaticRifle");
public static readonly ItemType WelderItem = new ItemType("PhysicalGunObject", "WelderItem", "BlueprintDefinition", "Welder");
public static readonly ItemType Welder2Item = new ItemType("PhysicalGunObject", "Welder2Item", "BlueprintDefinition", "Welder2");
public static readonly ItemType Welder3Item = new ItemType("PhysicalGunObject", "Welder3Item", "BlueprintDefinition", "Welder3");
public static readonly ItemType Welder4Item = new ItemType("PhysicalGunObject", "Welder4Item", "BlueprintDefinition", "Welder4");
public static readonly ItemType AngleGrinderItem = new ItemType("PhysicalGunObject", "AngleGrinderItem", "BlueprintDefinition", "AngleGrinder");
public static readonly ItemType AngleGrinder2Item = new ItemType("PhysicalGunObject", "AngleGrinder2Item", "BlueprintDefinition", "AngleGrinder2");
public static readonly ItemType AngleGrinder3Item = new ItemType("PhysicalGunObject", "AngleGrinder3Item", "BlueprintDefinition", "AngleGrinder3");
public static readonly ItemType AngleGrinder4Item = new ItemType("PhysicalGunObject", "AngleGrinder4Item", "BlueprintDefinition", "AngleGrinder4");
public static readonly ItemType HandDrillItem = new ItemType("PhysicalGunObject", "HandDrillItem", "BlueprintDefinition", "HandDrill");
public static readonly ItemType HandDrill2Item = new ItemType("PhysicalGunObject", "HandDrill2Item", "BlueprintDefinition", "HandDrill2");
public static readonly ItemType HandDrill3Item = new ItemType("PhysicalGunObject", "HandDrill3Item", "BlueprintDefinition", "HandDrill3");
public static readonly ItemType HandDrill4Item = new ItemType("PhysicalGunObject", "HandDrill4Item", "BlueprintDefinition", "HandDrill4");
public static readonly ItemType NATO_5p56x45mm = new ItemType("AmmoMagazine", "NATO_5p56x45mm", "BlueprintDefinition", "NATO_5p56x45mmMagazine");
public static readonly ItemType NATO_25x184mm = new ItemType("AmmoMagazine", "NATO_25x184mm", "BlueprintDefinition", "NATO_25x184mmMagazine");
public static readonly ItemType Missile200mm = new ItemType("AmmoMagazine", "Missile200mm", "BlueprintDefinition", "Missile200mm");
public static readonly ItemType Superconductor = new ItemType("Component", "Superconductor", "BlueprintDefinition", "Superconductor");
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment