EntityDataSerializers.java
net.minecraft.network.syncher.EntityDataSerializers
信息
- 全限定名:net.minecraft.network.syncher.EntityDataSerializers
- 类型:public class
- 包:net.minecraft.network.syncher
- 源码路径:src/main/java/net/minecraft/network/syncher/EntityDataSerializers.java
- 起始行号:L51
- 职责:
TODO
字段/常量
-
SERIALIZERS- 类型:
CrudeIncrementalIntIdentityHashBiMap<EntityDataSerializer<?>> - 修饰符:
private static final - 源码定位:
L52 - 说明:
TODO
- 类型:
-
BYTE- 类型:
EntityDataSerializer<Byte> - 修饰符:
public static final - 源码定位:
L53 - 说明:
TODO
- 类型:
-
INT- 类型:
EntityDataSerializer<Integer> - 修饰符:
public static final - 源码定位:
L54 - 说明:
TODO
- 类型:
-
LONG- 类型:
EntityDataSerializer<Long> - 修饰符:
public static final - 源码定位:
L55 - 说明:
TODO
- 类型:
-
FLOAT- 类型:
EntityDataSerializer<Float> - 修饰符:
public static final - 源码定位:
L56 - 说明:
TODO
- 类型:
-
STRING- 类型:
EntityDataSerializer<String> - 修饰符:
public static final - 源码定位:
L57 - 说明:
TODO
- 类型:
-
COMPONENT- 类型:
EntityDataSerializer<Component> - 修饰符:
public static final - 源码定位:
L58 - 说明:
TODO
- 类型:
-
OPTIONAL_COMPONENT- 类型:
EntityDataSerializer<Optional<Component>> - 修饰符:
public static final - 源码定位:
L59 - 说明:
TODO
- 类型:
-
ITEM_STACK- 类型:
EntityDataSerializer<ItemStack> - 修饰符:
public static final public public - 源码定位:
L62 - 说明:
TODO
- 类型:
-
BLOCK_STATE- 类型:
EntityDataSerializer<BlockState> - 修饰符:
public static final - 源码定位:
L72 - 说明:
TODO
- 类型:
-
OPTIONAL_BLOCK_STATE_CODEC- 类型:
StreamCodec<ByteBuf,Optional<BlockState>> - 修饰符:
private static final public public - 源码定位:
L73 - 说明:
TODO
- 类型:
-
OPTIONAL_BLOCK_STATE- 类型:
EntityDataSerializer<Optional<BlockState>> - 修饰符:
public static final - 源码定位:
L87 - 说明:
TODO
- 类型:
-
BOOLEAN- 类型:
EntityDataSerializer<Boolean> - 修饰符:
public static final - 源码定位:
L88 - 说明:
TODO
- 类型:
-
PARTICLE- 类型:
EntityDataSerializer<ParticleOptions> - 修饰符:
public static final - 源码定位:
L89 - 说明:
TODO
- 类型:
-
PARTICLES- 类型:
EntityDataSerializer<List<ParticleOptions>> - 修饰符:
public static final - 源码定位:
L90 - 说明:
TODO
- 类型:
-
ROTATIONS- 类型:
EntityDataSerializer<Rotations> - 修饰符:
public static final - 源码定位:
L93 - 说明:
TODO
- 类型:
-
BLOCK_POS- 类型:
EntityDataSerializer<BlockPos> - 修饰符:
public static final - 源码定位:
L94 - 说明:
TODO
- 类型:
-
OPTIONAL_BLOCK_POS- 类型:
EntityDataSerializer<Optional<BlockPos>> - 修饰符:
public static final - 源码定位:
L95 - 说明:
TODO
- 类型:
-
DIRECTION- 类型:
EntityDataSerializer<Direction> - 修饰符:
public static final - 源码定位:
L98 - 说明:
TODO
- 类型:
-
OPTIONAL_LIVING_ENTITY_REFERENCE- 类型:
EntityDataSerializer<Optional<EntityReference<LivingEntity>>> - 修饰符:
public static final - 源码定位:
L99 - 说明:
TODO
- 类型:
-
OPTIONAL_GLOBAL_POS- 类型:
EntityDataSerializer<Optional<GlobalPos>> - 修饰符:
public static final - 源码定位:
L102 - 说明:
TODO
- 类型:
-
VILLAGER_DATA- 类型:
EntityDataSerializer<VillagerData> - 修饰符:
public static final - 源码定位:
L105 - 说明:
TODO
- 类型:
-
OPTIONAL_UNSIGNED_INT_CODEC- 类型:
StreamCodec<ByteBuf,OptionalInt> - 修饰符:
private static final public public - 源码定位:
L106 - 说明:
TODO
- 类型:
-
OPTIONAL_UNSIGNED_INT- 类型:
EntityDataSerializer<OptionalInt> - 修饰符:
public static final - 源码定位:
L116 - 说明:
TODO
- 类型:
-
POSE- 类型:
EntityDataSerializer<Pose> - 修饰符:
public static final - 源码定位:
L117 - 说明:
TODO
- 类型:
-
CAT_VARIANT- 类型:
EntityDataSerializer<Holder<CatVariant>> - 修饰符:
public static final - 源码定位:
L118 - 说明:
TODO
- 类型:
-
CAT_SOUND_VARIANT- 类型:
EntityDataSerializer<Holder<CatSoundVariant>> - 修饰符:
public static final - 源码定位:
L119 - 说明:
TODO
- 类型:
-
CHICKEN_VARIANT- 类型:
EntityDataSerializer<Holder<ChickenVariant>> - 修饰符:
public static final - 源码定位:
L120 - 说明:
TODO
- 类型:
-
CHICKEN_SOUND_VARIANT- 类型:
EntityDataSerializer<Holder<ChickenSoundVariant>> - 修饰符:
public static final - 源码定位:
L121 - 说明:
TODO
- 类型:
-
COW_VARIANT- 类型:
EntityDataSerializer<Holder<CowVariant>> - 修饰符:
public static final - 源码定位:
L124 - 说明:
TODO
- 类型:
-
COW_SOUND_VARIANT- 类型:
EntityDataSerializer<Holder<CowSoundVariant>> - 修饰符:
public static final - 源码定位:
L125 - 说明:
TODO
- 类型:
-
WOLF_VARIANT- 类型:
EntityDataSerializer<Holder<WolfVariant>> - 修饰符:
public static final - 源码定位:
L126 - 说明:
TODO
- 类型:
-
WOLF_SOUND_VARIANT- 类型:
EntityDataSerializer<Holder<WolfSoundVariant>> - 修饰符:
public static final - 源码定位:
L127 - 说明:
TODO
- 类型:
-
FROG_VARIANT- 类型:
EntityDataSerializer<Holder<FrogVariant>> - 修饰符:
public static final - 源码定位:
L128 - 说明:
TODO
- 类型:
-
PIG_VARIANT- 类型:
EntityDataSerializer<Holder<PigVariant>> - 修饰符:
public static final - 源码定位:
L129 - 说明:
TODO
- 类型:
-
PIG_SOUND_VARIANT- 类型:
EntityDataSerializer<Holder<PigSoundVariant>> - 修饰符:
public static final - 源码定位:
L130 - 说明:
TODO
- 类型:
-
ZOMBIE_NAUTILUS_VARIANT- 类型:
EntityDataSerializer<Holder<ZombieNautilusVariant>> - 修饰符:
public static final - 源码定位:
L131 - 说明:
TODO
- 类型:
-
PAINTING_VARIANT- 类型:
EntityDataSerializer<Holder<PaintingVariant>> - 修饰符:
public static final - 源码定位:
L134 - 说明:
TODO
- 类型:
-
ARMADILLO_STATE- 类型:
EntityDataSerializer<Armadillo.ArmadilloState> - 修饰符:
public static final - 源码定位:
L135 - 说明:
TODO
- 类型:
-
SNIFFER_STATE- 类型:
EntityDataSerializer<Sniffer.State> - 修饰符:
public static final - 源码定位:
L138 - 说明:
TODO
- 类型:
-
WEATHERING_COPPER_STATE- 类型:
EntityDataSerializer<WeatheringCopper.WeatherState> - 修饰符:
public static final - 源码定位:
L139 - 说明:
TODO
- 类型:
-
COPPER_GOLEM_STATE- 类型:
EntityDataSerializer<CopperGolemState> - 修饰符:
public static final - 源码定位:
L142 - 说明:
TODO
- 类型:
-
VECTOR3- 类型:
EntityDataSerializer<Vector3fc> - 修饰符:
public static final - 源码定位:
L143 - 说明:
TODO
- 类型:
-
QUATERNION- 类型:
EntityDataSerializer<Quaternionfc> - 修饰符:
public static final - 源码定位:
L144 - 说明:
TODO
- 类型:
-
RESOLVABLE_PROFILE- 类型:
EntityDataSerializer<ResolvableProfile> - 修饰符:
public static final - 源码定位:
L145 - 说明:
TODO
- 类型:
-
HUMANOID_ARM- 类型:
EntityDataSerializer<HumanoidArm> - 修饰符:
public static final - 源码定位:
L146 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
private EntityDataSerializers() @ L160
- 构造器名:EntityDataSerializers
- 源码定位:L160
- 修饰符:private
参数:
- 无
说明:
TODO
方法
下面的方法块按源码顺序生成。
public static void registerSerializer(EntityDataSerializer<?> serializer) @ L148
- 方法名:registerSerializer
- 源码定位:L148
- 返回类型:void
- 修饰符:public static
参数:
- serializer: EntityDataSerializer<?>
说明:
TODO
public static EntityDataSerializer<?> getSerializer(int id) @ L152
- 方法名:getSerializer
- 源码定位:L152
- 返回类型:EntityDataSerializer<?>
- 修饰符:public static
参数:
- id: int
说明:
TODO
public static int getSerializedId(EntityDataSerializer<?> serializer) @ L156
- 方法名:getSerializedId
- 源码定位:L156
- 返回类型:int
- 修饰符:public static
参数:
- serializer: EntityDataSerializer<?>
说明:
TODO
代码
public class EntityDataSerializers {
private static final CrudeIncrementalIntIdentityHashBiMap<EntityDataSerializer<?>> SERIALIZERS = CrudeIncrementalIntIdentityHashBiMap.create(16);
public static final EntityDataSerializer<Byte> BYTE = EntityDataSerializer.forValueType(ByteBufCodecs.BYTE);
public static final EntityDataSerializer<Integer> INT = EntityDataSerializer.forValueType(ByteBufCodecs.VAR_INT);
public static final EntityDataSerializer<Long> LONG = EntityDataSerializer.forValueType(ByteBufCodecs.VAR_LONG);
public static final EntityDataSerializer<Float> FLOAT = EntityDataSerializer.forValueType(ByteBufCodecs.FLOAT);
public static final EntityDataSerializer<String> STRING = EntityDataSerializer.forValueType(ByteBufCodecs.STRING_UTF8);
public static final EntityDataSerializer<Component> COMPONENT = EntityDataSerializer.forValueType(ComponentSerialization.TRUSTED_STREAM_CODEC);
public static final EntityDataSerializer<Optional<Component>> OPTIONAL_COMPONENT = EntityDataSerializer.forValueType(
ComponentSerialization.TRUSTED_OPTIONAL_STREAM_CODEC
);
public static final EntityDataSerializer<ItemStack> ITEM_STACK = new EntityDataSerializer<ItemStack>() {
@Override
public StreamCodec<? super RegistryFriendlyByteBuf, ItemStack> codec() {
return ItemStack.OPTIONAL_STREAM_CODEC;
}
public ItemStack copy(ItemStack value) {
return value.copy();
}
};
public static final EntityDataSerializer<BlockState> BLOCK_STATE = EntityDataSerializer.forValueType(ByteBufCodecs.idMapper(Block.BLOCK_STATE_REGISTRY));
private static final StreamCodec<ByteBuf, Optional<BlockState>> OPTIONAL_BLOCK_STATE_CODEC = new StreamCodec<ByteBuf, Optional<BlockState>>() {
public void encode(ByteBuf output, Optional<BlockState> value) {
if (value.isPresent()) {
VarInt.write(output, Block.getId(value.get()));
} else {
VarInt.write(output, 0);
}
}
public Optional<BlockState> decode(ByteBuf input) {
int id = VarInt.read(input);
return id == 0 ? Optional.empty() : Optional.of(Block.stateById(id));
}
};
public static final EntityDataSerializer<Optional<BlockState>> OPTIONAL_BLOCK_STATE = EntityDataSerializer.forValueType(OPTIONAL_BLOCK_STATE_CODEC);
public static final EntityDataSerializer<Boolean> BOOLEAN = EntityDataSerializer.forValueType(ByteBufCodecs.BOOL);
public static final EntityDataSerializer<ParticleOptions> PARTICLE = EntityDataSerializer.forValueType(ParticleTypes.STREAM_CODEC);
public static final EntityDataSerializer<List<ParticleOptions>> PARTICLES = EntityDataSerializer.forValueType(
ParticleTypes.STREAM_CODEC.apply(ByteBufCodecs.list())
);
public static final EntityDataSerializer<Rotations> ROTATIONS = EntityDataSerializer.forValueType(Rotations.STREAM_CODEC);
public static final EntityDataSerializer<BlockPos> BLOCK_POS = EntityDataSerializer.forValueType(BlockPos.STREAM_CODEC);
public static final EntityDataSerializer<Optional<BlockPos>> OPTIONAL_BLOCK_POS = EntityDataSerializer.forValueType(
BlockPos.STREAM_CODEC.apply(ByteBufCodecs::optional)
);
public static final EntityDataSerializer<Direction> DIRECTION = EntityDataSerializer.forValueType(Direction.STREAM_CODEC);
public static final EntityDataSerializer<Optional<EntityReference<LivingEntity>>> OPTIONAL_LIVING_ENTITY_REFERENCE = EntityDataSerializer.forValueType(
EntityReference.<LivingEntity>streamCodec().apply(ByteBufCodecs::optional)
);
public static final EntityDataSerializer<Optional<GlobalPos>> OPTIONAL_GLOBAL_POS = EntityDataSerializer.forValueType(
GlobalPos.STREAM_CODEC.apply(ByteBufCodecs::optional)
);
public static final EntityDataSerializer<VillagerData> VILLAGER_DATA = EntityDataSerializer.forValueType(VillagerData.STREAM_CODEC);
private static final StreamCodec<ByteBuf, OptionalInt> OPTIONAL_UNSIGNED_INT_CODEC = new StreamCodec<ByteBuf, OptionalInt>() {
public OptionalInt decode(ByteBuf input) {
int v = VarInt.read(input);
return v == 0 ? OptionalInt.empty() : OptionalInt.of(v - 1);
}
public void encode(ByteBuf output, OptionalInt value) {
VarInt.write(output, value.orElse(-1) + 1);
}
};
public static final EntityDataSerializer<OptionalInt> OPTIONAL_UNSIGNED_INT = EntityDataSerializer.forValueType(OPTIONAL_UNSIGNED_INT_CODEC);
public static final EntityDataSerializer<Pose> POSE = EntityDataSerializer.forValueType(Pose.STREAM_CODEC);
public static final EntityDataSerializer<Holder<CatVariant>> CAT_VARIANT = EntityDataSerializer.forValueType(CatVariant.STREAM_CODEC);
public static final EntityDataSerializer<Holder<CatSoundVariant>> CAT_SOUND_VARIANT = EntityDataSerializer.forValueType(CatSoundVariant.STREAM_CODEC);
public static final EntityDataSerializer<Holder<ChickenVariant>> CHICKEN_VARIANT = EntityDataSerializer.forValueType(ChickenVariant.STREAM_CODEC);
public static final EntityDataSerializer<Holder<ChickenSoundVariant>> CHICKEN_SOUND_VARIANT = EntityDataSerializer.forValueType(
ChickenSoundVariant.STREAM_CODEC
);
public static final EntityDataSerializer<Holder<CowVariant>> COW_VARIANT = EntityDataSerializer.forValueType(CowVariant.STREAM_CODEC);
public static final EntityDataSerializer<Holder<CowSoundVariant>> COW_SOUND_VARIANT = EntityDataSerializer.forValueType(CowSoundVariant.STREAM_CODEC);
public static final EntityDataSerializer<Holder<WolfVariant>> WOLF_VARIANT = EntityDataSerializer.forValueType(WolfVariant.STREAM_CODEC);
public static final EntityDataSerializer<Holder<WolfSoundVariant>> WOLF_SOUND_VARIANT = EntityDataSerializer.forValueType(WolfSoundVariant.STREAM_CODEC);
public static final EntityDataSerializer<Holder<FrogVariant>> FROG_VARIANT = EntityDataSerializer.forValueType(FrogVariant.STREAM_CODEC);
public static final EntityDataSerializer<Holder<PigVariant>> PIG_VARIANT = EntityDataSerializer.forValueType(PigVariant.STREAM_CODEC);
public static final EntityDataSerializer<Holder<PigSoundVariant>> PIG_SOUND_VARIANT = EntityDataSerializer.forValueType(PigSoundVariant.STREAM_CODEC);
public static final EntityDataSerializer<Holder<ZombieNautilusVariant>> ZOMBIE_NAUTILUS_VARIANT = EntityDataSerializer.forValueType(
ZombieNautilusVariant.STREAM_CODEC
);
public static final EntityDataSerializer<Holder<PaintingVariant>> PAINTING_VARIANT = EntityDataSerializer.forValueType(PaintingVariant.STREAM_CODEC);
public static final EntityDataSerializer<Armadillo.ArmadilloState> ARMADILLO_STATE = EntityDataSerializer.forValueType(
Armadillo.ArmadilloState.STREAM_CODEC
);
public static final EntityDataSerializer<Sniffer.State> SNIFFER_STATE = EntityDataSerializer.forValueType(Sniffer.State.STREAM_CODEC);
public static final EntityDataSerializer<WeatheringCopper.WeatherState> WEATHERING_COPPER_STATE = EntityDataSerializer.forValueType(
WeatheringCopper.WeatherState.STREAM_CODEC
);
public static final EntityDataSerializer<CopperGolemState> COPPER_GOLEM_STATE = EntityDataSerializer.forValueType(CopperGolemState.STREAM_CODEC);
public static final EntityDataSerializer<Vector3fc> VECTOR3 = EntityDataSerializer.forValueType(ByteBufCodecs.VECTOR3F);
public static final EntityDataSerializer<Quaternionfc> QUATERNION = EntityDataSerializer.forValueType(ByteBufCodecs.QUATERNIONF);
public static final EntityDataSerializer<ResolvableProfile> RESOLVABLE_PROFILE = EntityDataSerializer.forValueType(ResolvableProfile.STREAM_CODEC);
public static final EntityDataSerializer<HumanoidArm> HUMANOID_ARM = EntityDataSerializer.forValueType(HumanoidArm.STREAM_CODEC);
public static void registerSerializer(EntityDataSerializer<?> serializer) {
SERIALIZERS.add(serializer);
}
public static @Nullable EntityDataSerializer<?> getSerializer(int id) {
return SERIALIZERS.byId(id);
}
public static int getSerializedId(EntityDataSerializer<?> serializer) {
return SERIALIZERS.getId(serializer);
}
private EntityDataSerializers() {
}
static {
registerSerializer(BYTE);
registerSerializer(INT);
registerSerializer(LONG);
registerSerializer(FLOAT);
registerSerializer(STRING);
registerSerializer(COMPONENT);
registerSerializer(OPTIONAL_COMPONENT);
registerSerializer(ITEM_STACK);
registerSerializer(BOOLEAN);
registerSerializer(ROTATIONS);
registerSerializer(BLOCK_POS);
registerSerializer(OPTIONAL_BLOCK_POS);
registerSerializer(DIRECTION);
registerSerializer(OPTIONAL_LIVING_ENTITY_REFERENCE);
registerSerializer(BLOCK_STATE);
registerSerializer(OPTIONAL_BLOCK_STATE);
registerSerializer(PARTICLE);
registerSerializer(PARTICLES);
registerSerializer(VILLAGER_DATA);
registerSerializer(OPTIONAL_UNSIGNED_INT);
registerSerializer(POSE);
registerSerializer(CAT_VARIANT);
registerSerializer(CAT_SOUND_VARIANT);
registerSerializer(COW_VARIANT);
registerSerializer(COW_SOUND_VARIANT);
registerSerializer(WOLF_VARIANT);
registerSerializer(WOLF_SOUND_VARIANT);
registerSerializer(FROG_VARIANT);
registerSerializer(PIG_VARIANT);
registerSerializer(PIG_SOUND_VARIANT);
registerSerializer(CHICKEN_VARIANT);
registerSerializer(CHICKEN_SOUND_VARIANT);
registerSerializer(ZOMBIE_NAUTILUS_VARIANT);
registerSerializer(OPTIONAL_GLOBAL_POS);
registerSerializer(PAINTING_VARIANT);
registerSerializer(SNIFFER_STATE);
registerSerializer(ARMADILLO_STATE);
registerSerializer(COPPER_GOLEM_STATE);
registerSerializer(WEATHERING_COPPER_STATE);
registerSerializer(VECTOR3);
registerSerializer(QUATERNION);
registerSerializer(RESOLVABLE_PROFILE);
registerSerializer(HUMANOID_ARM);
}
}引用的其他类
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
VarInt.read(), VarInt.write()
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
ByteBufCodecs.idMapper(), ByteBufCodecs.list()
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
参数/字段/方法调用/返回值 - 关联成员:
EntityDataSerializer.forValueType()
- 引用位置:
-
CrudeIncrementalIntIdentityHashBiMap
- 引用位置:
字段/方法调用 - 关联成员:
CrudeIncrementalIntIdentityHashBiMap.create()
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
Block.getId(), Block.stateById()
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
字段
- 引用位置: