Fix edge cases with physical location and controller

This commit is contained in:
Cooldude2606 committed 2026-04-22 22:37:42 +01:00
1 parent add0088704
commit 8be95c140a
3 files changed
+43 -6

No files matched your search

@@ -1,9 +1,14 @@
local compat = require("modules/clusterio/compat")
local can_enter_vehicle = {
[defines.controllers.character] = true,
[defines.controllers.god] = true,
[defines.controllers.editor] = true,
[defines.controllers.remote] = true,
}
local v2_surface_platform = compat.version_ge("2.0.0")
--- @param player LuaPlayer
--- @param record table
return function(player, record)
@@ -20,6 +25,8 @@ return function(player, record)
player.teleport(safe_position, player.surface)
end
end
elseif v2_surface_platform and record.surface and record.surface.platform and can_enter_vehicle[player.controller_type] then
player.enter_space_platform(record.surface.platform)
elseif record.surface and record.position then
player.teleport(record.position, record.surface)
end