ServerboundSetCommandBlockPacket.java
net.minecraft.network.protocol.game.ServerboundSetCommandBlockPacket
信息
- 全限定名:net.minecraft.network.protocol.game.ServerboundSetCommandBlockPacket
- 类型:public class
- 包:net.minecraft.network.protocol.game
- 源码路径:src/main/java/net/minecraft/network/protocol/game/ServerboundSetCommandBlockPacket.java
- 起始行号:L10
- 实现:Packet
- 职责:
TODO
字段/常量
-
STREAM_CODEC- 类型:
StreamCodec<FriendlyByteBuf,ServerboundSetCommandBlockPacket> - 修饰符:
public static final - 源码定位:
L11 - 说明:
TODO
- 类型:
-
FLAG_TRACK_OUTPUT- 类型:
int - 修饰符:
private static final - 源码定位:
L14 - 说明:
TODO
- 类型:
-
FLAG_CONDITIONAL- 类型:
int - 修饰符:
private static final - 源码定位:
L15 - 说明:
TODO
- 类型:
-
FLAG_AUTOMATIC- 类型:
int - 修饰符:
private static final - 源码定位:
L16 - 说明:
TODO
- 类型:
-
pos- 类型:
BlockPos - 修饰符:
private final - 源码定位:
L17 - 说明:
TODO
- 类型:
-
command- 类型:
String - 修饰符:
private final - 源码定位:
L18 - 说明:
TODO
- 类型:
-
trackOutput- 类型:
boolean - 修饰符:
private final - 源码定位:
L19 - 说明:
TODO
- 类型:
-
conditional- 类型:
boolean - 修饰符:
private final - 源码定位:
L20 - 说明:
TODO
- 类型:
-
automatic- 类型:
boolean - 修饰符:
private final - 源码定位:
L21 - 说明:
TODO
- 类型:
-
mode- 类型:
CommandBlockEntity.Mode - 修饰符:
private final - 源码定位:
L22 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public ServerboundSetCommandBlockPacket(BlockPos pos, String command, CommandBlockEntity.Mode mode, boolean trackOutput, boolean conditional, boolean automatic) @ L24
- 构造器名:ServerboundSetCommandBlockPacket
- 源码定位:L24
- 修饰符:public
参数:
- pos: BlockPos
- command: String
- mode: CommandBlockEntity.Mode
- trackOutput: boolean
- conditional: boolean
- automatic: boolean
说明:
TODO
private ServerboundSetCommandBlockPacket(FriendlyByteBuf input) @ L35
- 构造器名:ServerboundSetCommandBlockPacket
- 源码定位:L35
- 修饰符:private
参数:
- input: FriendlyByteBuf
说明:
TODO
方法
下面的方法块按源码顺序生成。
private void write(FriendlyByteBuf output) @ L45
- 方法名:write
- 源码定位:L45
- 返回类型:void
- 修饰符:private
参数:
- output: FriendlyByteBuf
说明:
TODO
public PacketType<ServerboundSetCommandBlockPacket> type() @ L65
- 方法名:type
- 源码定位:L65
- 返回类型:PacketType
- 修饰符:public
参数:
- 无
说明:
TODO
public void handle(ServerGamePacketListener listener) @ L70
- 方法名:handle
- 源码定位:L70
- 返回类型:void
- 修饰符:public
参数:
- listener: ServerGamePacketListener
说明:
TODO
public BlockPos getPos() @ L74
- 方法名:getPos
- 源码定位:L74
- 返回类型:BlockPos
- 修饰符:public
参数:
- 无
说明:
TODO
public String getCommand() @ L78
- 方法名:getCommand
- 源码定位:L78
- 返回类型:String
- 修饰符:public
参数:
- 无
说明:
TODO
public boolean isTrackOutput() @ L82
- 方法名:isTrackOutput
- 源码定位:L82
- 返回类型:boolean
- 修饰符:public
参数:
- 无
说明:
TODO
public boolean isConditional() @ L86
- 方法名:isConditional
- 源码定位:L86
- 返回类型:boolean
- 修饰符:public
参数:
- 无
说明:
TODO
public boolean isAutomatic() @ L90
- 方法名:isAutomatic
- 源码定位:L90
- 返回类型:boolean
- 修饰符:public
参数:
- 无
说明:
TODO
public CommandBlockEntity.Mode getMode() @ L94
- 方法名:getMode
- 源码定位:L94
- 返回类型:CommandBlockEntity.Mode
- 修饰符:public
参数:
- 无
说明:
TODO
代码
public class ServerboundSetCommandBlockPacket implements Packet<ServerGamePacketListener> {
public static final StreamCodec<FriendlyByteBuf, ServerboundSetCommandBlockPacket> STREAM_CODEC = Packet.codec(
ServerboundSetCommandBlockPacket::write, ServerboundSetCommandBlockPacket::new
);
private static final int FLAG_TRACK_OUTPUT = 1;
private static final int FLAG_CONDITIONAL = 2;
private static final int FLAG_AUTOMATIC = 4;
private final BlockPos pos;
private final String command;
private final boolean trackOutput;
private final boolean conditional;
private final boolean automatic;
private final CommandBlockEntity.Mode mode;
public ServerboundSetCommandBlockPacket(
BlockPos pos, String command, CommandBlockEntity.Mode mode, boolean trackOutput, boolean conditional, boolean automatic
) {
this.pos = pos;
this.command = command;
this.trackOutput = trackOutput;
this.conditional = conditional;
this.automatic = automatic;
this.mode = mode;
}
private ServerboundSetCommandBlockPacket(FriendlyByteBuf input) {
this.pos = input.readBlockPos();
this.command = input.readUtf();
this.mode = input.readEnum(CommandBlockEntity.Mode.class);
int flags = input.readByte();
this.trackOutput = (flags & 1) != 0;
this.conditional = (flags & 2) != 0;
this.automatic = (flags & 4) != 0;
}
private void write(FriendlyByteBuf output) {
output.writeBlockPos(this.pos);
output.writeUtf(this.command);
output.writeEnum(this.mode);
int flags = 0;
if (this.trackOutput) {
flags |= 1;
}
if (this.conditional) {
flags |= 2;
}
if (this.automatic) {
flags |= 4;
}
output.writeByte(flags);
}
@Override
public PacketType<ServerboundSetCommandBlockPacket> type() {
return GamePacketTypes.SERVERBOUND_SET_COMMAND_BLOCK;
}
public void handle(ServerGamePacketListener listener) {
listener.handleSetCommandBlock(this);
}
public BlockPos getPos() {
return this.pos;
}
public String getCommand() {
return this.command;
}
public boolean isTrackOutput() {
return this.trackOutput;
}
public boolean isConditional() {
return this.conditional;
}
public boolean isAutomatic() {
return this.automatic;
}
public CommandBlockEntity.Mode getMode() {
return this.mode;
}
}引用的其他类
-
- 引用位置:
参数/字段/返回值
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
实现/方法调用 - 关联成员:
Packet.codec()
- 引用位置:
-
- 引用位置:
返回值
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数/字段/返回值
- 引用位置: