EasyTeleport
[AI-generated] Vanilla-styled world-map buttons: teleport back to your bed, or click anywhere on the map to teleport there. Hold Ctrl to drag the buttons anywhere; position is saved. Safe landing: no burying, no fall damage, water is fine. Client-only.Changelog
1.3.0 — 2026-09-18
按钮可以拖了。
- 按住
Ctrl+ 左键拖拽按钮组,可以把它整体挪到画面任意位置;松手时自动把新位置写进easyteleport.client.only.cfg的LeftAnchor/TopAnchor,不用手动改配置。 - 按住
Ctrl时按钮文字变淡黄,表示"现在可以拖"。 - 拖拽期间、以及松手后 0.25 秒内抑制按钮功能 —— 不会出现"想挪个位置却把自己传走了"。 (uGUI 的 Button 用的是 OnPointerClick,只要按下和抬起都落在按钮上就会触发, 中间拖了多远它不管,所以必须显式抑制。)
- 新增配置
AllowDrag(默认 true):想锁死位置就关掉它。 - 面板上铺了一张全透明 Image 作为拖拽的射线目标,这样在按钮组的任意位置(含两个按钮之间的缝)
都能起拖;从按钮上起拖时事件会沿父级链冒泡到面板的
EventTrigger,不必给每个按钮单独挂。 - 新增
scripts/verify_drag.py:拖拽定位逻辑离线验证(跟手性 / 边界 clamp / 配置往返,7 个场景)。
1.2.0 — 2026-09-18
按钮搬到左上角 + 外观和游戏同化。
- 位置:右下角 → 画面左上角。用比例锚点定位(
LeftAnchor0.084 /TopAnchor0.392), 默认值是按用户截图上标出的位置量出来的(1920×1080 下约(162, 423)), 不再压住右侧那列图钉图标。 - 外观:新增
UseGameStyle(默认开)—— 运行时从大地图已有控件里挑一个面板/按钮底图 sprite 复用 (优先找名字像按钮的,其次找带九宫格边界的),按Image.Type.Sliced铺满, 圆角/渐变/描边与原版控件一致。找不到或不喜欢可关掉,退回纯色底。 - 文字配色改为米白 + 1 像素黑描边;尺寸收窄到更接近原版控件(宽 190 / 高 40 / 间距 6 / 字号 16)。
- 待选状态下改为给原版底图叠一层绿色调(保留纹理),纯色模式下仍用
ArmedColor。 - 废弃
MarginRight/MarginBottom(旧 cfg 里会留下这两项,无害,可手动删)。
1.1.0 — 2026-09-18
「返回出发地」移除,换成「任意传送」。
- 新增「任意传送」:按一下按钮进入待选(按钮变绿、显示「取消 · 点地图选点」), 再点大地图上任意位置就传送到那里。待选状态下再点一次按钮、或关掉地图,都会取消。
- 移除「返回出发地」(以及配套的"出发地"内存记录)—— 该功能已被"任意点传送"覆盖。
- 落点安全接入原版流程:目标点的 Y 统一取
ZoneSystem.c_WaterLevel(水面高度,Constant 表实测 30.0f)。 这样原版Player.UpdateTeleport的两条分支会自动给出正确落点:- 陆地(
ZoneSystem.FindFloor从水面上方打不到地面)→ 走GetSolidHeight校正 → 落到地面 +0.5 米; - 海洋 / 湖泊(
FindFloor命中水底)→ 高度保持水面 → 玩家浮在水面游泳。 两条路都会设置Character.m_maxAirAltitude = 落点高度,所以摔落伤害恒为 0。
- 陆地(
- 不做任何状态限制:游泳、奔跑、跳跃、坐船、在水里都能传送(只避开"已经正在传送中")。
- 按钮内的 uGUI 层级不变,仍挂在
Minimap.m_largeRoot下;传送后关地图改用原版Minimap.DebugTeleport同款的SetMapMode(MapMode.Small)。 - 新增
scripts/verify_landing.py:按原版 IL 逐条复现的落点策略离线验证(12 个地形场景)。
1.0.0 — 2026-09-18
首个版本。
- 大地图(M)右下角两个按钮:
- 传送回床 —— 传送到
PlayerProfile.GetCustomSpawnPoint()(床边上睡觉记录下的出生点)。 - 返回出发地 —— 先点回床会先记下当前坐标;之后可传回该坐标,记录不被覆盖,可来回。
- 传送回床 —— 传送到
- 传送走原版
Player.TeleportTo(pos, rot, distantTeleport),和传送门完全同一条路径。 - 按钮挂在
Minimap.m_largeRoot下,地图关闭时自动隐藏。 - 中文字体默认走系统字体(微软雅黑),游戏内置字体不含 CJK 字形。
- 纯客户端:无 NetworkCompatibility 声明(NotEnforced)、无 Jotunn、无 ServerSync。


