z_mirror/EditorExtensions

git clone https://git.raiguard.me/z_mirror/EditorExtensions

Caleb HeuerVersion 2.0f0478c9

hidden-items
2.8 KiB89 linesraw
1-- Set aggregate chest inventory size
2local to_check = {
3  "ammo",
4  "armor",
5  "blueprint",
6  "blueprint-book",
7  "capsule",
8  "copy-paste-tool",
9  "deconstruction-item",
10  "gun",
11  "item",
12  "item-with-entity-data",
13  "item-with-inventory",
14  "item-with-label",
15  "item-with-tags",
16  "module",
17  "rail-planner",
18  "repair-tool",
19  "selection-tool",
20  "spidertron-remote",
21  "tool",
22  "upgrade-item",
23}
24-- Start with four extra slots to account for inserter interactions
25local slot_count = 4
26for _, category in pairs(to_check) do
27  slot_count = slot_count + table_size(data.raw[category])
28end
29-- Apply to aggregate chests
30for _, container in pairs(data.raw["infinity-container"]) do
31  if string.find(container.name, "aggregate") then
32    -- Set aggregate chest inventory size to the number of item prototypes
33    container.inventory_size = slot_count
34  end
35end
36
37-- Allow all science packs to be placed in the super lab
38local packs_build = {}
39for _, lab in pairs(data.raw["lab"]) do
40  for _, input in pairs(lab.inputs) do
41    packs_build[input] = true
42  end
43end
44local packs = {}
45for pack in pairs(packs_build) do
46  table.insert(packs, pack)
47end
48data.raw["lab"]["ee-super-lab"].inputs = packs
49
50-- Allow equipment to be placed in all existing grid categories
51local categories = {}
52for _, category in pairs(data.raw["equipment-category"]) do
53  table.insert(categories, category.name)
54end
55data.raw["generator-equipment"]["ee-infinity-fusion-reactor-equipment"].categories = categories
56data.raw["roboport-equipment"]["ee-super-personal-roboport-equipment"].categories = categories
57data.raw["movement-bonus-equipment"]["ee-super-exoskeleton-equipment"].categories = categories
58data.raw["energy-shield-equipment"]["ee-super-energy-shield-equipment"].categories = categories
59data.raw["night-vision-equipment"]["ee-super-night-vision-equipment"].categories = categories
60
61-- Reset all super modules to be able to be used in all recipes
62local modules = {
63  "ee-super-speed-module",
64  "ee-super-effectivity-module",
65  "ee-super-productivity-module",
66  "ee-super-clean-module",
67  "ee-super-slow-module",
68  "ee-super-ineffectivity-module",
69  "ee-super-dirty-module",
70}
71for _, name in pairs(modules) do
72  data.raw["module"][name].limitation = nil
73end
74
75-- Allow all character prototypes to craft testing tools
76for _, character in pairs(data.raw["character"]) do
77  character.crafting_categories = character.crafting_categories or {}
78  character.crafting_categories[#character.crafting_categories + 1] = "ee-testing-tool"
79end
80
81-- Set infinity loader and linked belt speed to max
82local fastest_speed = 0
83for _, prototype in pairs(data.raw["underground-belt"]) do
84  if prototype.speed > fastest_speed then
85    fastest_speed = prototype.speed
86  end
87end
88data.raw["linked-belt"]["ee-linked-belt"].speed = fastest_speed
89data.raw["loader-1x1"]["ee-infinity-loader"].speed = fastest_speed