TileRequester

事实基准:/Users/evlos/a/mirror/BuildCraft(master,minecraftVersion = 1.7.10)逐行读源码。

注册信息

属性 值 来源
TileEntity 注册名 net.minecraft.src.buildcraft.commander.TileRequester BuildCraftRobotics.java:324-325
注册类 buildcraft.robotics.TileRequester 同上
所属 modid BuildCraft|Robotics BuildCraftRobotics.java:154 @Mod
关联方块 Requester 方块 BuildCraftRobotics.java:325 同块
父类 TileBuildCraft robotics/TileRequester.java:26
实现接口 IInventory / IRequestProvider / ICommandReceiver 同上
是否配置门控 否(无条件注册) BuildCraftRobotics.java:325

槽位数量与布局

robotics/TileRequester.java:28-31:

public static final int NB_ITEMS = 20;
private final SimpleInventory inv      = new SimpleInventory(NB_ITEMS, "items",    64);
private final SimpleInventory requests = new SimpleInventory(NB_ITEMS, "requests", 64);

两个并列的 20 槽 SimpleInventory,NB_ITEMS = 20:

字段 槽数 单槽上限 内部名 用途
inv 20 64 "items" 实际存放的物品(发来的货)
requests 20 64 "requests" 请求清单(想要什么)

⚠️ getSizeInventory() 只返回 inv 的 20(:61-62), 即 IInventory 契约上只暴露 20 槽;requests 是内部字段, 不是 GUI 里额外 20 格。

处理速率 / 耗时

robotics/TileRequester.java 没有写死「N tick 一次」的节拍常量。 请求由 TileZonePlan 划定的区域 + 运输机器人送达,不断言数字。

GUI / Container 配对

GUI 类 Container 类 配对处
buildcraft.robotics.gui.GuiRequester buildcraft.robotics.gui.ContainerRequester robotics/RoboticsGuiHandler.java:41

与机器人 / 运输网络的关系

Requester 实现 IRequestProvider(:26),由 BC 运输机器人(EntityRobot)取货。 相关注册在 BuildCraftRobotics.java:319:

PipeManager.registerPipePluggable(RobotStationPluggable.class, "robotStation");

跨分类引用说明:本条目链到的 bc-robot 属于 BuildCraft 自己的 Entity, 不是「兼容引用」的外来 mod 实体。

网络封包

实现 ICommandReceiver,走 BuildCraft 的 NetworkUtils 命令封包通道。 无独立的 Robotics 专用封包 ID。

相关条目