SignPosts

[!INFO] Git Commit: d7b42c0 | Updated: 2026-10-01

SignPosts(@Mod 名称 Sign-Posts,modid signposts)是 1.7.10 的一个小型快速旅行辅助 mod:用 路牌 标定一个坐标,配合 Antique Atlas 把路牌变成可点击的地图标记,掏腰包时点一下就传送到标定点。

  • 源码包:harceroi.mc.signposts(GTNH fork,根仓库 LegacyModdingMC/SignPosts)
  • 硬依赖:Antique Atlas(@Mod(dependencies = "required-after:antiqueatlas"))
  • 可选集成:modid signpost(Gollorum 的 Signposts),仅编译期依赖
  • 规模:21 个 Java 文件 / 1 方块 + 1 物品 / 2 个网络消息 / 3 个配置项
  • 内容维度:block/、item/、setting/;其余 10 个维度本模组无内容(见文末说明)

本模组没有掉落、没有物品形态、没有指令、没有权限分级:它的全部功能就是「刻一个坐标 → 在地图上点一下 → 扣一点饱食度 → 传送」。

方块列表

  • 路牌 - 2 格高,meta 0~3 为朝向、4 为上半格;TileEntity 存 jumpX/jumpY/jumpZ/markerId;无物品形态、破坏无掉落

物品列表

  • 魔法路牌标记 - 3 绿宝石合成,最大堆叠 1,默认 5 次耐久;刻写路牌时消耗 1 点

设定列表

  • 配置项 - config/signposts/settings.cfg 三个 int:distancePerPayment 10000、maximumPayment 10、markerMaxUsage 5
  • 传送目标流程 - 刻写 → 建 Atlas 标记 → 点击传送的完整链路与三处失效条件
  • 饥饿值支付 - 默认 IPaymentHandler:按平方距离扣饱食度,单次上限 10,恒返回成功
  • Gollorum 集成 - 可选的 signpost mod 桥接:换支付处理器 + 把传送石变成 Atlas 标记
  • Antique Atlas 集成 - signPost 标记类型、310×218 地图界面、MarkerToTileMap 存档数据
  • 网络消息 - 通道 signposts,2 个 C→S 消息(判别号 0/1),无 S→C
  • 铭文输入界面 - 客户端弹出输入框,15 字符上限,完成即发送判别号 0 消息

本模组不包含的内容

以下内容经全仓库 grep 确认不存在,因此本 wiki 不建立对应目录:

维度 结论 证据
实体 entity/ 无 grep -rn "extends Entity|@Entity|EntityList|registerModEntity" → 无匹配;源码中 Entity 仅作为 EntityPlayer / EntityLivingBase 的参数类型出现
多方块 multiblock/ 无 只有 2 格高的自有方块堆叠,不是多方块;无 Multiblock / Controller 逻辑
附魔 enchantment/ 无 grep -rn "Enchantment|enchant" → 无匹配;标记 未覆写 getItemEnchantability,不可附魔
维度 dimension/ 无 无 registerDimension / DimensionType;仅读取 world.provider.dimensionId 用于 Atlas 标记分组
热键 keybinding/ 无 grep -rn "new KeyBinding|registerKeyBinding" → 无匹配;地图界面 的方向键 / + / - 是硬编码 Keyboard.getEventKey() 比对,不可自定义
Buff/Debuff potioneffect/ 无 grep -rn "PotionEffect|Potion\b|addEffect|MobEffect" → 无匹配
群系 biome/ 无 仅复用 Antique Atlas 的 BiomeTextureMap 渲染瓦片,不注册群系
结构 structure/ 无 grep -rn "WorldGenerator|IWorldGenerator|registerWorldGenerator" → 无匹配
成就 achievement/ 无 grep -rn "Achievement" → 无匹配
物品效果 item-effect/ 无 不施加任何 PotionEffect;标记 未覆写 addInformation,不显示任何效果 tooltip

此外还有三处「原本应该有、实际没有」的实现缺口,均已在对应条目中标注:

  • 无权限分级 / 无 OP 检查:grep -rn "canPlayerEdit\|CommandSender\|permission\|opLevel\|isOp\|ICommand\|permissionLevel\|getCommandSender" src/ 除注释里的 “opaque” 外无匹配。任何玩家都能创建和触发传送,费用规则对所有人相同(仅创造模式免付费)。
  • 无方块掉落与物品形态:grep -rn "ItemBlock\|getDrops\|LootTable\|dropItem" → 无匹配。路牌不能进背包,破坏不掉落。
  • 无货币经济 mod 集成:PaymentHandler 扣的是原版饥饿值,不是任何 mod 的货币。唯一的经济桥接是 Gollorum 集成,且它依赖一个本仓库只声明为 compileOnly 的外部 mod。

第三方 mod 依赖

mod 关系 用途
Antique Atlas 硬依赖(required-after:antiqueatlas,implementation 4.4.6-GTNH) 全局标记、地图界面、标记图标、MarkerToTileMap 的显示载体
Gollorum Signposts(modid signpost) 可选(compileOnly,非发布依赖) 替换支付处理器为该 mod 的经济系统;把其传送石变成 Atlas 标记

Minecraft 1.7.10 / Forge 10.13.4.1614 / MCP stable_12。