240 lines
6.9 KiB
Lua
240 lines
6.9 KiB
Lua
local data_types =
|
|
{
|
|
-- Achievements
|
|
["achievement"] = "achievement",
|
|
["build-entity-achievement"] = "achievement",
|
|
["construct-with-robots-achievement"] = "achievement",
|
|
["deconstruct-with-robots-achievement"] = "achievement",
|
|
["deliver-by-robots-achievement"] = "achievement",
|
|
["dont-build-entity-achievement"] = "achievement",
|
|
["dont-craft-manually-achievement"] = "achievement",
|
|
["dont-use-entity-in-energy-production-achievement"] = "achievement",
|
|
["finish-the-game-achievement"] = "achievement",
|
|
["group-attack-achievement"] = "achievement",
|
|
["kill-achievement"] = "achievement",
|
|
["player-damaged-achievement"] = "achievement",
|
|
["produce-achievement"] = "achievement",
|
|
["produce-per-hour-achievement"] = "achievement",
|
|
["research-achievement"] = "achievement",
|
|
["train-path-achievement"] = "achievement",
|
|
|
|
-- Items
|
|
["ammo"] = "item",
|
|
["armor"] = "item",
|
|
["blueprint"] = "item",
|
|
["blueprint-book"] = "item",
|
|
["capsule"] = "item",
|
|
["copy-paste-tool"] = "item",
|
|
["deconstruction-item"] = "item",
|
|
["gun"] = "item",
|
|
["item"] = "item",
|
|
["item-with-entity-data"] = "item",
|
|
["item-with-inventory"] = "item",
|
|
["item-with-label"] = "item",
|
|
["item-with-tags"] = "item",
|
|
["mining-tool"] = "item",
|
|
["module"] = "item",
|
|
["rail-planner"] = "item",
|
|
["repair-tool"] = "item",
|
|
["selection-tool"] = "item",
|
|
["spidertron-remote"] = "item",
|
|
["tool"] = "item",
|
|
["upgrade-item"] = "item",
|
|
|
|
-- Hard referenced prototypes
|
|
["autoplace-control"] = "autoplace-control",
|
|
["custom-input"] = "custom-input",
|
|
["damage-type"] = "damage-type",
|
|
["equipment-grid"] = "equipment-grid",
|
|
["fluid"] = "fluid",
|
|
["font"] = "font",
|
|
["recipe"] = "recipe",
|
|
["shortcut"] = "shortcut",
|
|
["technology"] = "technology",
|
|
["tile"] = "tile",
|
|
["virtual-signal"] = "virtual-signal",
|
|
|
|
-- Entities
|
|
["accumulator"] = "entity",
|
|
["ammo-turret"] = "entity",
|
|
["arithmetic-combinator"] = "entity",
|
|
["arrow"] = "entity",
|
|
["artillery-flare"] = "entity",
|
|
["artillery-projectile"] = "entity",
|
|
["artillery-turret"] = "entity",
|
|
["artillery-wagon"] = "entity",
|
|
["assembling-machine"] = "entity",
|
|
["beacon"] = "entity",
|
|
["beam"] = "entity",
|
|
["boiler"] = "entity",
|
|
["burner-generator"] = "entity",
|
|
["car"] = "entity",
|
|
["cargo-wagon"] = "entity",
|
|
["character"] = "entity",
|
|
["character-corpse"] = "entity",
|
|
["cliff"] = "entity",
|
|
["combat-robot"] = "entity",
|
|
["constant-combinator"] = "entity",
|
|
["construction-robot"] = "entity",
|
|
["container"] = "entity",
|
|
["corpse"] = "entity",
|
|
["curved-rail"] = "entity",
|
|
["decider-combinator"] = "entity",
|
|
["deconstructible-tile-proxy"] = "entity",
|
|
["electric-energy-interface"] = "entity",
|
|
["electric-pole"] = "entity",
|
|
["electric-turret"] = "entity",
|
|
["entity-ghost"] = "entity",
|
|
["explosion"] = "entity",
|
|
["fire"] = "entity",
|
|
["fish"] = "entity",
|
|
["flame-thrower-explosion"] = "entity",
|
|
["fluid-turret"] = "entity",
|
|
["fluid-wagon"] = "entity",
|
|
["flying-text"] = "entity",
|
|
["furnace"] = "entity",
|
|
["gate"] = "entity",
|
|
["generator"] = "entity",
|
|
["heat-interface"] = "entity",
|
|
["heat-pipe"] = "entity",
|
|
["highlight-box"] = "entity",
|
|
["infinity-container"] = "entity",
|
|
["infinity-pipe"] = "entity",
|
|
["inserter"] = "entity",
|
|
["item-entity"] = "entity",
|
|
["item-request-proxy"] = "entity",
|
|
["lab"] = "entity",
|
|
["lamp"] = "entity",
|
|
["land-mine"] = "entity",
|
|
["leaf-particle"] = "entity",
|
|
["linked-belt"] = "entity",
|
|
["linked-container"] = "entity",
|
|
["loader"] = "entity",
|
|
["loader-1x1"] = "entity",
|
|
["locomotive"] = "entity",
|
|
["logistic-container"] = "entity",
|
|
["logistic-robot"] = "entity",
|
|
["market"] = "entity",
|
|
["mining-drill"] = "entity",
|
|
["offshore-pump"] = "entity",
|
|
["particle"] = "entity",
|
|
["particle-source"] = "entity",
|
|
["pipe"] = "entity",
|
|
["pipe-to-ground"] = "entity",
|
|
["player-port"] = "entity",
|
|
["power-switch"] = "entity",
|
|
["programmable-speaker"] = "entity",
|
|
["projectile"] = "entity",
|
|
["pump"] = "entity",
|
|
["radar"] = "entity",
|
|
["rail-chain-signal"] = "entity",
|
|
["rail-remnants"] = "entity",
|
|
["rail-signal"] = "entity",
|
|
["reactor"] = "entity",
|
|
["resource"] = "entity",
|
|
["roboport"] = "entity",
|
|
["rocket-silo"] = "entity",
|
|
["rocket-silo-rocket"] = "entity",
|
|
["rocket-silo-rocket-shadow"] = "entity",
|
|
["simple-entity"] = "entity",
|
|
["simple-entity-with-force"] = "entity",
|
|
["simple-entity-with-owner"] = "entity",
|
|
["smoke"] = "entity",
|
|
["smoke-with-trigger"] = "entity",
|
|
["solar-panel"] = "entity",
|
|
["speech-bubble"] = "entity",
|
|
["spider-leg"] = "entity",
|
|
["spider-vehicle"] = "entity",
|
|
["splitter"] = "entity",
|
|
["sticker"] = "entity",
|
|
["storage-tank"] = "entity",
|
|
["straight-rail"] = "entity",
|
|
["stream"] = "entity",
|
|
["tile-ghost"] = "entity",
|
|
["train-stop"] = "entity",
|
|
["transport-belt"] = "entity",
|
|
["tree"] = "entity",
|
|
["turret"] = "entity",
|
|
["underground-belt"] = "entity",
|
|
["unit"] = "entity",
|
|
["unit-spawner"] = "entity",
|
|
["wall"] = "entity",
|
|
|
|
-- Categories
|
|
["ammo-category"] = "category",
|
|
["equipment-category"] = "category",
|
|
["fuel-category"] = "category",
|
|
["module-category"] = "category",
|
|
["recipe-category"] = "category",
|
|
["resource-category"] = "category",
|
|
|
|
-- Miscellaneous
|
|
["ambient-sound"] = "misc",
|
|
["animation"] = "misc", -- Space exploration
|
|
["combat-robot-count"] = "misc",
|
|
["editor-controller"] = "misc",
|
|
["function-application"] = "misc",
|
|
["god-controller"] = "misc",
|
|
["gui-style"] = "misc",
|
|
["literal-number"] = "misc",
|
|
["map-gen-presets"] = "misc",
|
|
["map-settings"] = "misc",
|
|
["mouse-cursor"] = "misc",
|
|
["noise-expression"] = "misc",
|
|
["noise-layer"] = "misc",
|
|
["optimized-decorative"] = "misc",
|
|
["optimized-particle"] = "misc",
|
|
["sound"] = "misc", -- Space exploration
|
|
["spectator-controller"] = "misc",
|
|
["sprite"] = "misc",
|
|
["tile-effect"] = "misc",
|
|
["tips-and-tricks-item"] = "misc",
|
|
["tips-and-tricks-item-category"] = "misc",
|
|
["trigger-target-type"] = "misc",
|
|
["trivial-smoke"] = "misc",
|
|
["tutorial"] = "misc",
|
|
["utility-constants"] = "misc",
|
|
["utility-sounds"] = "misc",
|
|
["utility-sprites"] = "misc",
|
|
["variable"] = "misc",
|
|
["wind-sound"] = "misc",
|
|
|
|
-- Equipments
|
|
["active-defense-equipment"] = "equipment",
|
|
["battery-equipment"] = "equipment",
|
|
["belt-immunity-equipment"] = "equipment",
|
|
["energy-shield-equipment"] = "equipment",
|
|
["generator-equipment"] = "equipment",
|
|
["movement-bonus-equipment"] = "equipment",
|
|
["night-vision-equipment"] = "equipment",
|
|
["roboport-equipment"] = "equipment",
|
|
["solar-panel-equipment"] = "equipment",
|
|
|
|
-- Grouping
|
|
["item-group"] = "item-group",
|
|
["item-subgroup"] = "item-subgroup",
|
|
}
|
|
|
|
-- Make sure prototype exist in data.raw
|
|
if OSM.data_stage then
|
|
for data_type, _ in pairs(data_types) do
|
|
if not data.raw[data_type] then data_types[data_type] = nil end
|
|
end
|
|
end
|
|
|
|
-- Make dictionary tree
|
|
OSM.data = {}
|
|
OSM.data.item = {}
|
|
OSM.data.entity = {}
|
|
OSM.data.misc = {}
|
|
OSM.data.raw = data_types
|
|
|
|
for data_type, sub_type in pairs(OSM.data.raw) do
|
|
if sub_type == "item" then
|
|
OSM.data.item[data_type] = sub_type
|
|
elseif sub_type == "entity" then
|
|
OSM.data.entity[data_type] = sub_type
|
|
elseif sub_type == "misc" then
|
|
OSM.data.misc[data_type] = sub_type
|
|
end
|
|
end |