DebugQueryHandler.java
net.minecraft.client.DebugQueryHandler
信息
- 全限定名:net.minecraft.client.DebugQueryHandler
- 类型:public class
- 包:net.minecraft.client
- 源码路径:src/main/java/net/minecraft/client/DebugQueryHandler.java
- 起始行号:L14
- 职责:
TODO
字段/常量
-
connection- 类型:
ClientPacketListener - 修饰符:
private final - 源码定位:
L15 - 说明:
TODO
- 类型:
-
transactionId- 类型:
int - 修饰符:
private - 源码定位:
L16 - 说明:
TODO
- 类型:
-
callback- 类型:
Consumer<CompoundTag> - 修饰符:
private - 源码定位:
L17 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public DebugQueryHandler(ClientPacketListener connection) @ L19
- 构造器名:DebugQueryHandler
- 源码定位:L19
- 修饰符:public
参数:
- connection: ClientPacketListener
说明:
TODO
方法
下面的方法块按源码顺序生成。
public boolean handleResponse(int transactionId, CompoundTag tag) @ L23
- 方法名:handleResponse
- 源码定位:L23
- 返回类型:boolean
- 修饰符:public
参数:
- transactionId: int
- tag: CompoundTag
说明:
TODO
private int startTransaction(Consumer<CompoundTag> callback) @ L33
- 方法名:startTransaction
- 源码定位:L33
- 返回类型:int
- 修饰符:private
参数:
- callback: Consumer
说明:
TODO
public void queryEntityTag(int entityId, Consumer<CompoundTag> callback) @ L38
- 方法名:queryEntityTag
- 源码定位:L38
- 返回类型:void
- 修饰符:public
参数:
- entityId: int
- callback: Consumer
说明:
TODO
public void queryBlockEntityTag(BlockPos blockPos, Consumer<CompoundTag> callback) @ L43
- 方法名:queryBlockEntityTag
- 源码定位:L43
- 返回类型:void
- 修饰符:public
参数:
- blockPos: BlockPos
- callback: Consumer
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class DebugQueryHandler {
private final ClientPacketListener connection;
private int transactionId = -1;
private @Nullable Consumer<CompoundTag> callback;
public DebugQueryHandler(ClientPacketListener connection) {
this.connection = connection;
}
public boolean handleResponse(int transactionId, @Nullable CompoundTag tag) {
if (this.transactionId == transactionId && this.callback != null) {
this.callback.accept(tag);
this.callback = null;
return true;
} else {
return false;
}
}
private int startTransaction(Consumer<CompoundTag> callback) {
this.callback = callback;
return ++this.transactionId;
}
public void queryEntityTag(int entityId, Consumer<CompoundTag> callback) {
int transactionId = this.startTransaction(callback);
this.connection.send(new ServerboundEntityTagQueryPacket(transactionId, entityId));
}
public void queryBlockEntityTag(BlockPos blockPos, Consumer<CompoundTag> callback) {
int transactionId = this.startTransaction(callback);
this.connection.send(new ServerboundBlockEntityTagQueryPacket(transactionId, blockPos));
}
}引用的其他类
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置:
-
ServerboundBlockEntityTagQueryPacket
- 引用位置:
构造调用 - 关联成员:
ServerboundBlockEntityTagQueryPacket()
- 引用位置:
-
ServerboundEntityTagQueryPacket
- 引用位置:
构造调用 - 关联成员:
ServerboundEntityTagQueryPacket()
- 引用位置: