Factorio-Paranoidal_mod/osm-lib/core/data-definitions.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