售票机
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | 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 |
相关条目
- 数字机车中继器 - 同属 Railcraft 集成的方块
- 数字信号盒 - 同属 Railcraft 集成的方块
- Railcraft 集成 - 驱动、门条件与全部 Railcraft 内容
- 设置:普通项 -
railcraft.ticketMachineConsumeCharge