ClientboundTrackedWaypointPacket.java
net.minecraft.network.protocol.game.ClientboundTrackedWaypointPacket
信息
- 全限定名:net.minecraft.network.protocol.game.ClientboundTrackedWaypointPacket
- 类型:public record
- 包:net.minecraft.network.protocol.game
- 源码路径:src/main/java/net/minecraft/network/protocol/game/ClientboundTrackedWaypointPacket.java
- 起始行号:L20
- 实现:Packet
- 职责:
TODO
字段/常量
STREAM_CODEC- 类型:
StreamCodec<RegistryFriendlyByteBuf,ClientboundTrackedWaypointPacket> - 修饰符:
public static final - 源码定位:
L22 - 说明:
TODO
- 类型:
内部类/嵌套类型
net.minecraft.network.protocol.game.ClientboundTrackedWaypointPacket.Operation- 类型:
enum - 修饰符:
private static - 源码定位:
L71 - 说明:
TODO
- 类型:
构造器
- 无
方法
下面的方法块按源码顺序生成。
public static ClientboundTrackedWaypointPacket removeWaypoint(UUID identifier) @ L30
- 方法名:removeWaypoint
- 源码定位:L30
- 返回类型:ClientboundTrackedWaypointPacket
- 修饰符:public static
参数:
- identifier: UUID
说明:
TODO
public static ClientboundTrackedWaypointPacket addWaypointPosition(UUID identifier, Waypoint.Icon icon, Vec3i position) @ L34
- 方法名:addWaypointPosition
- 源码定位:L34
- 返回类型:ClientboundTrackedWaypointPacket
- 修饰符:public static
参数:
- identifier: UUID
- icon: Waypoint.Icon
- position: Vec3i
说明:
TODO
public static ClientboundTrackedWaypointPacket updateWaypointPosition(UUID identifier, Waypoint.Icon icon, Vec3i position) @ L38
- 方法名:updateWaypointPosition
- 源码定位:L38
- 返回类型:ClientboundTrackedWaypointPacket
- 修饰符:public static
参数:
- identifier: UUID
- icon: Waypoint.Icon
- position: Vec3i
说明:
TODO
public static ClientboundTrackedWaypointPacket addWaypointChunk(UUID identifier, Waypoint.Icon icon, ChunkPos chunk) @ L42
- 方法名:addWaypointChunk
- 源码定位:L42
- 返回类型:ClientboundTrackedWaypointPacket
- 修饰符:public static
参数:
- identifier: UUID
- icon: Waypoint.Icon
- chunk: ChunkPos
说明:
TODO
public static ClientboundTrackedWaypointPacket updateWaypointChunk(UUID identifier, Waypoint.Icon icon, ChunkPos chunk) @ L46
- 方法名:updateWaypointChunk
- 源码定位:L46
- 返回类型:ClientboundTrackedWaypointPacket
- 修饰符:public static
参数:
- identifier: UUID
- icon: Waypoint.Icon
- chunk: ChunkPos
说明:
TODO
public static ClientboundTrackedWaypointPacket addWaypointAzimuth(UUID identifier, Waypoint.Icon icon, float angle) @ L50
- 方法名:addWaypointAzimuth
- 源码定位:L50
- 返回类型:ClientboundTrackedWaypointPacket
- 修饰符:public static
参数:
- identifier: UUID
- icon: Waypoint.Icon
- angle: float
说明:
TODO
public static ClientboundTrackedWaypointPacket updateWaypointAzimuth(UUID identifier, Waypoint.Icon icon, float angle) @ L54
- 方法名:updateWaypointAzimuth
- 源码定位:L54
- 返回类型:ClientboundTrackedWaypointPacket
- 修饰符:public static
参数:
- identifier: UUID
- icon: Waypoint.Icon
- angle: float
说明:
TODO
public PacketType<ClientboundTrackedWaypointPacket> type() @ L58
- 方法名:type
- 源码定位:L58
- 返回类型:PacketType
- 修饰符:public
参数:
- 无
说明:
TODO
public void handle(ClientGamePacketListener listener) @ L63
- 方法名:handle
- 源码定位:L63
- 返回类型:void
- 修饰符:public
参数:
- listener: ClientGamePacketListener
说明:
TODO
public void apply(TrackedWaypointManager manager) @ L67
- 方法名:apply
- 源码定位:L67
- 返回类型:void
- 修饰符:public
参数:
- manager: TrackedWaypointManager
说明:
TODO
代码
public record ClientboundTrackedWaypointPacket(ClientboundTrackedWaypointPacket.Operation operation, TrackedWaypoint waypoint)
implements Packet<ClientGamePacketListener> {
public static final StreamCodec<RegistryFriendlyByteBuf, ClientboundTrackedWaypointPacket> STREAM_CODEC = StreamCodec.composite(
ClientboundTrackedWaypointPacket.Operation.STREAM_CODEC,
ClientboundTrackedWaypointPacket::operation,
TrackedWaypoint.STREAM_CODEC,
ClientboundTrackedWaypointPacket::waypoint,
ClientboundTrackedWaypointPacket::new
);
public static ClientboundTrackedWaypointPacket removeWaypoint(UUID identifier) {
return new ClientboundTrackedWaypointPacket(ClientboundTrackedWaypointPacket.Operation.UNTRACK, TrackedWaypoint.empty(identifier));
}
public static ClientboundTrackedWaypointPacket addWaypointPosition(UUID identifier, Waypoint.Icon icon, Vec3i position) {
return new ClientboundTrackedWaypointPacket(ClientboundTrackedWaypointPacket.Operation.TRACK, TrackedWaypoint.setPosition(identifier, icon, position));
}
public static ClientboundTrackedWaypointPacket updateWaypointPosition(UUID identifier, Waypoint.Icon icon, Vec3i position) {
return new ClientboundTrackedWaypointPacket(ClientboundTrackedWaypointPacket.Operation.UPDATE, TrackedWaypoint.setPosition(identifier, icon, position));
}
public static ClientboundTrackedWaypointPacket addWaypointChunk(UUID identifier, Waypoint.Icon icon, ChunkPos chunk) {
return new ClientboundTrackedWaypointPacket(ClientboundTrackedWaypointPacket.Operation.TRACK, TrackedWaypoint.setChunk(identifier, icon, chunk));
}
public static ClientboundTrackedWaypointPacket updateWaypointChunk(UUID identifier, Waypoint.Icon icon, ChunkPos chunk) {
return new ClientboundTrackedWaypointPacket(ClientboundTrackedWaypointPacket.Operation.UPDATE, TrackedWaypoint.setChunk(identifier, icon, chunk));
}
public static ClientboundTrackedWaypointPacket addWaypointAzimuth(UUID identifier, Waypoint.Icon icon, float angle) {
return new ClientboundTrackedWaypointPacket(ClientboundTrackedWaypointPacket.Operation.TRACK, TrackedWaypoint.setAzimuth(identifier, icon, angle));
}
public static ClientboundTrackedWaypointPacket updateWaypointAzimuth(UUID identifier, Waypoint.Icon icon, float angle) {
return new ClientboundTrackedWaypointPacket(ClientboundTrackedWaypointPacket.Operation.UPDATE, TrackedWaypoint.setAzimuth(identifier, icon, angle));
}
@Override
public PacketType<ClientboundTrackedWaypointPacket> type() {
return GamePacketTypes.CLIENTBOUND_WAYPOINT;
}
public void handle(ClientGamePacketListener listener) {
listener.handleWaypoint(this);
}
public void apply(TrackedWaypointManager manager) {
this.operation.action.accept(manager, this.waypoint);
}
private static enum Operation {
TRACK(WaypointManager::trackWaypoint),
UNTRACK(WaypointManager::untrackWaypoint),
UPDATE(WaypointManager::updateWaypoint);
private final BiConsumer<TrackedWaypointManager, TrackedWaypoint> action;
public static final IntFunction<ClientboundTrackedWaypointPacket.Operation> BY_ID = ByIdMap.continuous(
Enum::ordinal, values(), ByIdMap.OutOfBoundsStrategy.WRAP
);
public static final StreamCodec<ByteBuf, ClientboundTrackedWaypointPacket.Operation> STREAM_CODEC = ByteBufCodecs.idMapper(BY_ID, Enum::ordinal);
private Operation(BiConsumer<TrackedWaypointManager, TrackedWaypoint> action) {
this.action = action;
}
}
}引用的其他类
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
ByteBufCodecs.idMapper()
- 引用位置:
-
- 引用位置:
字段/方法调用 - 关联成员:
StreamCodec.composite()
- 引用位置:
-
- 引用位置:
实现
- 引用位置:
-
- 引用位置:
返回值
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
ByIdMap.continuous()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
TrackedWaypoint.empty(), TrackedWaypoint.setAzimuth(), TrackedWaypoint.setChunk(), TrackedWaypoint.setPosition()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置: