mirror of
https://github.com/PHIDIAS0303/ExpCluster.git
synced 2026-08-13 00:45:11 +09:00
Patch MapPosition and BoundingBox to the named form
The api documents both as a union with a positional array because both are accepted as input, which makes every read of `.x` or `.left_top` optional. Everything read back from the game uses the named form, so the positional variant is removed and we now always write it that way too. The spawn area config offsets and the mine depletion search areas were the only positional writes left, and apply_offset no longer needs its fallback. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -188,7 +188,7 @@ return {
|
|||||||
amount = 4000,
|
amount = 4000,
|
||||||
size = { 26, 27 },
|
size = { 26, 27 },
|
||||||
-- offset = {-64,-32}
|
-- offset = {-64,-32}
|
||||||
offset = { -64, -64 },
|
offset = { x = -64, y = -64 },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
enabled = false,
|
enabled = false,
|
||||||
@@ -196,7 +196,7 @@ return {
|
|||||||
amount = 4000,
|
amount = 4000,
|
||||||
size = { 26, 27 },
|
size = { 26, 27 },
|
||||||
-- offset = {-64, 0}
|
-- offset = {-64, 0}
|
||||||
offset = { 64, -64 },
|
offset = { x = 64, y = -64 },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
enabled = false,
|
enabled = false,
|
||||||
@@ -204,7 +204,7 @@ return {
|
|||||||
amount = 4000,
|
amount = 4000,
|
||||||
size = { 22, 20 },
|
size = { 22, 20 },
|
||||||
-- offset = {-64, 32}
|
-- offset = {-64, 32}
|
||||||
offset = { -64, 64 },
|
offset = { x = -64, y = 64 },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
enabled = false,
|
enabled = false,
|
||||||
@@ -212,7 +212,7 @@ return {
|
|||||||
amount = 4000,
|
amount = 4000,
|
||||||
size = { 22, 20 },
|
size = { 22, 20 },
|
||||||
-- offset = {-64, -64}
|
-- offset = {-64, -64}
|
||||||
offset = { 64, 64 },
|
offset = { x = 64, y = 64 },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
enabled = false,
|
enabled = false,
|
||||||
@@ -220,7 +220,7 @@ return {
|
|||||||
amount = 4000,
|
amount = 4000,
|
||||||
size = { 22, 20 },
|
size = { 22, 20 },
|
||||||
-- offset = {-64, -96}
|
-- offset = {-64, -96}
|
||||||
offset = { 0, 64 },
|
offset = { x = 0, y = 64 },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -233,7 +233,7 @@ return {
|
|||||||
num_patches = 4,
|
num_patches = 4,
|
||||||
amount = 4000000,
|
amount = 4000000,
|
||||||
-- offset = {-80, -12},
|
-- offset = {-80, -12},
|
||||||
offset = { -12, 64 },
|
offset = { x = -12, y = 64 },
|
||||||
-- offset_next = {0, 6}
|
-- offset_next = {0, 6}
|
||||||
offset_next = { 6, 0 },
|
offset_next = { 6, 0 },
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -73,8 +73,8 @@ local function try_deconstruct_output_chest(entity)
|
|||||||
type = { "mining-drill", "inserter" },
|
type = { "mining-drill", "inserter" },
|
||||||
to_be_deconstructed = false,
|
to_be_deconstructed = false,
|
||||||
area = {
|
area = {
|
||||||
{ target_position.x - 1, target_position.y - 1 },
|
left_top = { x = target_position.x - 1, y = target_position.y - 1 },
|
||||||
{ target_position.x + 1, target_position.y + 1 }
|
right_bottom = { x = target_position.x + 1, y = target_position.y + 1 },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -251,8 +251,8 @@ local function on_resource_depleted(event)
|
|||||||
local drills = resource.surface.find_entities_filtered{
|
local drills = resource.surface.find_entities_filtered{
|
||||||
type = "mining-drill",
|
type = "mining-drill",
|
||||||
area = {
|
area = {
|
||||||
{ position.x - max_mining_radius, position.y - max_mining_radius },
|
left_top = { x = position.x - max_mining_radius, y = position.y - max_mining_radius },
|
||||||
{ position.x + max_mining_radius, position.y + max_mining_radius },
|
right_bottom = { x = position.x + max_mining_radius, y = position.y + max_mining_radius },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ local config = require("modules.exp_legacy.config.spawn_area")
|
|||||||
--- @return MapPosition.struct
|
--- @return MapPosition.struct
|
||||||
local function apply_offset(position, offset)
|
local function apply_offset(position, offset)
|
||||||
return {
|
return {
|
||||||
x = assert(position.x or position[1]) + assert(offset.x or offset[1]),
|
x = position.x + offset.x,
|
||||||
y = assert(position.y or position[2]) + assert(offset.y or offset[2])
|
y = position.y + offset.y,
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -21,8 +21,8 @@ end
|
|||||||
--- @param x_index number
|
--- @param x_index number
|
||||||
--- @param y_index number
|
--- @param y_index number
|
||||||
local function apply_offset_to_array(positions, offset, x_index, y_index)
|
local function apply_offset_to_array(positions, offset, x_index, y_index)
|
||||||
local x = assert(offset.x or offset[1])
|
local x = offset.x
|
||||||
local y = assert(offset.y or offset[2])
|
local y = offset.y
|
||||||
for _, position in ipairs(positions) do
|
for _, position in ipairs(positions) do
|
||||||
position[x_index] = position[x_index] + x
|
position[x_index] = position[x_index] + x
|
||||||
position[y_index] = position[y_index] + y
|
position[y_index] = position[y_index] + y
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
---@meta
|
||||||
|
|
||||||
|
--- The api documents MapPosition and BoundingBox as a union of the named form
|
||||||
|
--- and a positional array, because both are accepted as input. Everything read
|
||||||
|
--- back from the game uses the named form, and we always write it that way too,
|
||||||
|
--- so the positional variant is removed here.
|
||||||
|
---@alias MapPosition MapPosition.struct
|
||||||
|
---@alias BoundingBox BoundingBox.struct
|
||||||
Reference in New Issue
Block a user