售票机

基本信息

属性 值
注册名 computronics:ticketMachine
方块类 pl.asie.computronics.integration.railcraft.block.BlockTicketMachine
TileEntity pl.asie.computronics.integration.railcraft.tile.TileTicketMachine
前置 Railcraft 9.10.0.0+
GUI GuiProviderTicketMachine,注册于 IntegrationRailcraft.java:95
开启配置 enable.railcraft.ticketMachine,默认 true(IntegrationRailcraft.java:94)
AE2 空间 IO 已加入白名单(IntegrationRailcraft.java:99)
BuildCraft 蓝图 注册为 Base Schematic(IntegrationRailcraft.java:101)
GUI 标题 由 getGuiScreenName() 生成 gui.<未本地化名>.title(TileTicketMachine.java:588)

功能

模拟 Railcraft 售票机的设备,为指定目的地批量打印车票。核心是与"机主"绑定的权限与维护模型:

  • 每台机器记录一个 owner(机主),存入 NBT 的 owner 字段(TileTicketMachine.java:656-657);
  • 只有机主本人或服务器 OP 能执行维护类操作(tooltip.computronics.ticket.locked);
  • 维护任务需空手右击(tooltip.computronics.ticket.notmaintenance);
  • 可分别上锁「手动打印」「手动选择」(tooltip.computronics.ticket.printLocked)。

客户端—服务端状态经封包 PacketType.TICKET_MACHINE 同步 5 个位标志(锁定、手动选择锁定、打印锁定、激活)与当前槽位(IntegrationRailcraft.java:110-118)。

数值

数值名 值 范围 来源
railcraft.ticketMachineConsumeCharge true 布尔 Config.java:460-464
单次打印能耗 50(OC 能耗单位) 硬编码 TileTicketMachine.java:337、:369

TICKET_MACHINE_CONSUME_RF 在三处被读取:电池为空时的提示(TileTicketMachine.java:56)、跳过 RF 检查(TileTicketMachine.java:252)、以及打印前校验库存电量(TileTicketMachine.java:342)。配置项在 if (Mods.isLoaded(Mods.Railcraft)) 分支内读入(Config.java:446-465)。

交互

外设方法共 9 个(TileTicketMachine.java:476-479):

方法 作用
printTicket 打印当前选中槽位的车票(可带数量)
setManualPrintingAllowed / isManualPrintingAllowed 手动打印开关
setManualSelectionAllowed / isManualSelectionAllowed 手动选择开关
getDestination / setDestination 读取 / 设置目的地
getSelectedTicket / setSelectedTicket 读取 / 设置当前选中车票

OC 侧的 printTicket 重载支持 printTicket(amount) 与 printTicket(slot, amount) 两种签名(TileTicketMachine.java:404-411)。

玩家交互 行为
右击(空手且为机主 / OP) 进入维护模式
右击(非机主) 提示 tooltip.computronics.ticket.notowner
右击(手持物品) 提示 tooltip.computronics.ticket.notmaintenance
手动打印被锁 提示 tooltip.computronics.ticket.printLocked

合成配方

ModRecipes.java:571-588:

tst
sdg
tpt
字符 物品
t Railcraft 石质板(part.plate meta 2;取不到时回退 minecraft:stonebrick)
s Railcraft 铁板(part.plate meta 1;取不到时回退 ingotIron)
d 发射器 minecraft:dispenser
p 活塞 minecraft:piston
g 玻璃板 paneGlassColorless

相关条目