Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .pi/skills/factorio-mod-dev/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,20 @@ Output channels for the values you inspect:
→ See `DEBUGGING.md` (this skill folder) for debugging methodology and porting guide.
→ See `RELEASE.md` (this skill folder) for release checklist and GitHub Actions workflow reference.

## Changelog & versioning

Every PR that changes user-facing behavior (a feature, bugfix, or change) **must
include a `changelog.txt` entry in the same PR** — it is part of the feature, not
a separate step.

- Prepend the entry at the **top** of `changelog.txt` using the documented format,
under the right section (`Features:` / `Bugfixes:` / `Changes:`). Set the
`Version:` header to the next release version (pick the bump from the version
table in `RELEASE.md`: new user-facing feature → minor; bugfix → patch).
- **Do not bump `info.json` in the feature PR.** The `info.json` version bump and
the git tag happen together as a dedicated release step on `master` — see
`RELEASE.md`. This keeps feature branches free of version churn/conflicts.

## Base game as a reference

The full Factorio base mod ships with the install and is readable on disk:
Expand Down
5 changes: 5 additions & 0 deletions changelog.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
---------------------------------------------------------------------------------------------------
Version: 2.2.0
Date: 2026-06-27
Features:
- Add cross-surface teleport. A new Teleport tab lets you teleport yourself to a safe position on any existing surface (Nauvis, other planets, or space platforms), both in god mode and with a character. Access is gated by a new "teleport" right (admin only / current surface only / free).
---------------------------------------------------------------------------------------------------
Version: 2.1.6
Date: 2026-06-25
Bugfixes:
Expand Down
21 changes: 21 additions & 0 deletions defines.lua
Original file line number Diff line number Diff line change
Expand Up @@ -348,6 +348,7 @@ creative_mode_defines.names.gui = {
personal_cheats_menu_button = creative_mode_defines.name_prefix .. "personal-cheats-menu-button",
team_cheats_menu_button = creative_mode_defines.name_prefix .. "team-cheats-menu-button",
surface_cheats_menu_button = creative_mode_defines.name_prefix .. "surface-cheats-menu-button",
teleport_menu_button = creative_mode_defines.name_prefix .. "teleport-menu-button",
global_cheats_menu_button = creative_mode_defines.name_prefix .. "global-cheats-menu-button",
personal_cheats_menu_frame = creative_mode_defines.name_prefix .. "personal-cheats-menu-frame",
personal_cheats_outer_container = creative_mode_defines.name_prefix .. "personal-cheats-outer-container",
Expand Down Expand Up @@ -593,6 +594,18 @@ creative_mode_defines.names.gui = {
.. "surface-cheats-targets-select-all-button",
surface_cheats_cheats_scroll_pane = creative_mode_defines.name_prefix .. "surface-cheats-cheats-scroll-pane",
surface_cheats_cheats_container = creative_mode_defines.name_prefix .. "surface-cheats-cheats-container",
teleport_menu_frame = creative_mode_defines.name_prefix .. "teleport-menu-frame",
teleport_outer_container = creative_mode_defines.name_prefix .. "teleport-outer-container",
teleport_targets_scroll_pane = creative_mode_defines.name_prefix .. "teleport-targets-scroll-pane",
teleport_targets_container = creative_mode_defines.name_prefix .. "teleport-targets-container",
teleport_targets_inner_container = creative_mode_defines.name_prefix .. "teleport-targets-inner-container",
teleport_target_name_button_prefix = creative_mode_defines.name_prefix .. "teleport-target-name-button-",
teleport_targets_select_all_button = creative_mode_defines.name_prefix .. "teleport-targets-select-all-button",
teleport_cheats_scroll_pane = creative_mode_defines.name_prefix .. "teleport-cheats-scroll-pane",
teleport_cheats_container = creative_mode_defines.name_prefix .. "teleport-cheats-container",
teleport_to_surface_container = creative_mode_defines.name_prefix .. "teleport-to-surface-container",
teleport_to_surface_label = creative_mode_defines.name_prefix .. "teleport-to-surface-label",
teleport_to_surface_apply_button = creative_mode_defines.name_prefix .. "teleport-to-surface-apply-button",
freeze_daytime_container = creative_mode_defines.name_prefix .. "freeze-daytime-container",
freeze_daytime_label = creative_mode_defines.name_prefix .. "freeze-daytime-label",
freeze_daytime_on_button = creative_mode_defines.name_prefix .. "freeze-daytime-on-button",
Expand Down Expand Up @@ -1144,6 +1157,13 @@ creative_mode_defines.names.gui = {
access_surface_cheat_current_surface_button = creative_mode_defines.name_prefix
.. "access-surface-cheat-current-surface-button",
access_surface_cheat_free_button = creative_mode_defines.name_prefix .. "access-surface-cheat-free-button",
access_teleport_container = creative_mode_defines.name_prefix .. "access-teleport-container",
access_teleport_label = creative_mode_defines.name_prefix .. "access-teleport-label",
access_teleport_inner_container = creative_mode_defines.name_prefix .. "access-teleport-inner-container",
access_teleport_admin_only_button = creative_mode_defines.name_prefix .. "access-teleport-admin-only-button",
access_teleport_current_surface_button = creative_mode_defines.name_prefix
.. "access-teleport-current-surface-button",
access_teleport_free_button = creative_mode_defines.name_prefix .. "access-teleport-free-button",
access_global_cheat_container = creative_mode_defines.name_prefix .. "access-global-cheat-container",
access_global_cheat_label = creative_mode_defines.name_prefix .. "access-global-cheat-label",
access_global_cheat_inner_container = creative_mode_defines.name_prefix .. "access-global-cheat-inner-container",
Expand Down Expand Up @@ -1403,6 +1423,7 @@ creative_mode_defines.match_patterns.gui = {
.. "team%-cheats%-target%-name%-button%-(.+)",
surface_cheats_target_name_button = creative_mode_defines.name_prefix_pattern
.. "surface%-cheats%-target%-name%-button%-(.+)",
teleport_target_name_button = creative_mode_defines.name_prefix_pattern .. "teleport%-target%-name%-button%-(.+)",
build_options_target_index_button = creative_mode_defines.name_prefix_pattern
.. "build%-options%-target%-index%-button%-(%d+)",
build_team_target_name_button = creative_mode_defines.name_prefix_pattern
Expand Down
11 changes: 11 additions & 0 deletions locale/en/base.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -326,6 +326,9 @@ creative-mode_access-right-team-cheat-free-all-teams=__1__ has changed the team
creative-mode_access-right-surface-cheat-admin-only=__1__ has changed the surface cheats accessibility - only admins can access them.
creative-mode_access-right-surface-cheat-free-own-surface=__1__ has changed the surface cheats accessibility - non-admin players can apply cheats on his/her current surface.
creative-mode_access-right-surface-cheat-free-all-surfaces=__1__ has changed the surface cheats accessibility - everyone can apply cheats on any surface.
creative-mode_access-right-teleport-admin-only=__1__ has changed the teleport accessibility - only admins can teleport.
creative-mode_access-right-teleport-current-surface=__1__ has changed the teleport accessibility - non-admin players can teleport only on his/her current surface.
creative-mode_access-right-teleport-free=__1__ has changed the teleport accessibility - everyone can teleport to any surface.
creative-mode_access-right-global-cheat-admin-only=__1__ has changed the game settings accessibility - only admins can access them.
creative-mode_access-right-global-cheat-free=__1__ has changed the game settings accessibility - everyone can access them.
creative-mode_access-right-build-options-admin-only=__1__ has changed the build options accessibility - only admins can access them.
Expand Down Expand Up @@ -376,6 +379,9 @@ creative-mode_cheats=Cheats
creative-mode_personal-cheats=Personal Cheats
creative-mode_team-cheats=Team Cheats
creative-mode_surface-cheats=Surface Cheats
creative-mode_teleport=Teleport
creative-mode_teleport-here=Teleport here [?]
creative-mode_teleport-here-tooltip=Teleports you to a safe position on the selected surface. Works in god mode and with a character.
creative-mode_global-cheats=Game Settings
creative-mode_build-options=Build Options
creative-mode_magic-wand=Magic Wand
Expand Down Expand Up @@ -678,6 +684,11 @@ creative-mode_access-right-surface-cheat-free-own-surface=Current surface only [
creative-mode_access-right-surface-cheat-free-own-surface-tooltip=Non-admin players can apply cheats on his/her current surface.
creative-mode_access-right-surface-cheat-free-all-surfaces=Free [?]
creative-mode_access-right-surface-cheat-free-all-surfaces-tooltip=Everyone can apply cheats on any surface.
creative-mode_access-right-teleport-admin-only-tooltip=Only admins can teleport.
creative-mode_access-right-teleport-current-surface=Current surface only [?]
creative-mode_access-right-teleport-current-surface-tooltip=Non-admin players can teleport only on his/her current surface.
creative-mode_access-right-teleport-free=Free [?]
creative-mode_access-right-teleport-free-tooltip=Everyone can teleport to any surface.
creative-mode_access-right-global-cheat-admin-only-tooltip=Only admins can change settings for the current game.
creative-mode_access-right-global-cheat-free=Free [?]
creative-mode_access-right-global-cheat-free-tooltip=Everyone can change settings for the current game.
Expand Down
11 changes: 11 additions & 0 deletions locale/zh-CN/base.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -326,6 +326,9 @@ creative-mode_access-right-team-cheat-free-all-teams=__1__ 已更改团队作弊
creative-mode_access-right-surface-cheat-admin-only=__1__ 已更改表面作弊功能的访问权限 - 仅管理员可访问。
creative-mode_access-right-surface-cheat-free-own-surface=__1__ 已更改表面作弊功能的访问权限 - 非管理员玩家可对自己当前表面应用作弊功能。
creative-mode_access-right-surface-cheat-free-all-surfaces=__1__ 已更改表面作弊功能的访问权限 - 所有人可对任何表面应用作弊功能。
creative-mode_access-right-teleport-admin-only=__1__ 已更改传送的访问权限 - 仅管理员可传送。
creative-mode_access-right-teleport-current-surface=__1__ 已更改传送的访问权限 - 非管理员玩家只能在自己当前表面传送。
creative-mode_access-right-teleport-free=__1__ 已更改传送的访问权限 - 所有人可传送到任何表面。
creative-mode_access-right-global-cheat-admin-only=__1__ 已更改游戏设置的访问权限 - 仅管理员可访问。
creative-mode_access-right-global-cheat-free=__1__ 已更改游戏设置的访问权限 - 所有人可访问。
creative-mode_access-right-build-options-admin-only=__1__ 已更改建造选项的访问权限 - 仅管理员可访问。
Expand Down Expand Up @@ -378,6 +381,9 @@ creative-mode_cheats=作弊功能
creative-mode_personal-cheats=个人作弊功能
creative-mode_team-cheats=团队作弊功能
creative-mode_surface-cheats=表面作弊功能
creative-mode_teleport=传送
creative-mode_teleport-here=传送到此处 [?]
creative-mode_teleport-here-tooltip=将你传送到所选表面上的安全位置。在上帝模式和拥有角色时均可使用。
creative-mode_global-cheats=游戏设置
creative-mode_build-options=建造选项
creative-mode_magic-wand=魔法棒
Expand Down Expand Up @@ -681,6 +687,11 @@ creative-mode_access-right-surface-cheat-free-own-surface=仅当前表面 [?]
creative-mode_access-right-surface-cheat-free-own-surface-tooltip=非管理员玩家可以对自己所在的表面应用作弊。
creative-mode_access-right-surface-cheat-free-all-surfaces=自由 [?]
creative-mode_access-right-surface-cheat-free-all-surfaces-tooltip=每个人都可以对任何表面应用作弊。
creative-mode_access-right-teleport-admin-only-tooltip=只有管理员可以传送。
creative-mode_access-right-teleport-current-surface=仅当前表面 [?]
creative-mode_access-right-teleport-current-surface-tooltip=非管理员玩家只能在自己当前的表面传送。
creative-mode_access-right-teleport-free=自由 [?]
creative-mode_access-right-teleport-free-tooltip=每个人都可以传送到任何表面。
creative-mode_access-right-global-cheat-admin-only-tooltip=只有管理员可以更改当前游戏的设置。
creative-mode_access-right-global-cheat-free=自由 [?]
creative-mode_access-right-global-cheat-free-tooltip=每个人都可以更改当前游戏的设置。
Expand Down
11 changes: 11 additions & 0 deletions locale/zh-TW/base.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -297,6 +297,9 @@ creative-mode_access-right-team-cheat-free-all-teams=__1__已更改團隊作弊
creative-mode_access-right-surface-cheat-admin-only=__1__已更改空間作弊選項的存取限制──只有管理員可用。
creative-mode_access-right-surface-cheat-free-own-surface=__1__已更改空間作弊選項的存取限制──非管理員玩家可以在所在空間上應用任何空間作弊。
creative-mode_access-right-surface-cheat-free-all-surfaces=__1__已更改空間作弊選項的存取限制──所有玩家都可以在任何空間應用任何空間作弊。
creative-mode_access-right-teleport-admin-only=__1__已更改傳送的存取限制──只有管理員可以傳送。
creative-mode_access-right-teleport-current-surface=__1__已更改傳送的存取限制──非管理員玩家只能在自己目前的空間傳送。
creative-mode_access-right-teleport-free=__1__已更改傳送的存取限制──所有玩家都可以傳送到任何空間。
creative-mode_access-right-global-cheat-admin-only=__1__已更改遊戲設定的存取限制──只有管理員可用。
creative-mode_access-right-global-cheat-free=__1__已更改遊戲設定的存取限制──所有玩家都可用。
creative-mode_access-right-build-options-admin-only=__1__已更改建造設定的存取限制──只有管理員可用。
Expand Down Expand Up @@ -347,6 +350,9 @@ creative-mode_cheats=作弊列表
creative-mode_personal-cheats=個人作弊選項
creative-mode_team-cheats=團隊作弊選項
creative-mode_surface-cheats=空間作弊選項
creative-mode_teleport=傳送
creative-mode_teleport-here=傳送到此處 [?]
creative-mode_teleport-here-tooltip=將你傳送到所選空間上的安全位置。在上帝模式和擁有角色時皆可使用。
creative-mode_global-cheats=遊戲設定
creative-mode_build-options=建造設定
creative-mode_magic-wand=魔法棒設定
Expand Down Expand Up @@ -643,6 +649,11 @@ creative-mode_access-right-surface-cheat-free-own-surface=限所在空間[?]
creative-mode_access-right-surface-cheat-free-own-surface-tooltip=非管理員玩家可以在所在空間上應用任何空間作弊
creative-mode_access-right-surface-cheat-free-all-surfaces=自由[?]
creative-mode_access-right-surface-cheat-free-all-surfaces-tooltip=所有玩家都可以在任何空間應用任何空間作弊
creative-mode_access-right-teleport-admin-only-tooltip=只有管理員可以傳送
creative-mode_access-right-teleport-current-surface=僅目前空間[?]
creative-mode_access-right-teleport-current-surface-tooltip=非管理員玩家只能在自己目前的空間傳送
creative-mode_access-right-teleport-free=自由[?]
creative-mode_access-right-teleport-free-tooltip=所有玩家都可以傳送到任何空間
creative-mode_access-right-global-cheat-admin-only-tooltip=只有管理員可以更改此場遊戲的設定
creative-mode_access-right-global-cheat-free=自由[?]
creative-mode_access-right-global-cheat-free-tooltip=全部玩家都可以更改此場遊戲的設定
Expand Down
Loading
Loading