Java源码示例:com.nukkitx.protocol.bedrock.packet.UpdateAttributesPacket
示例1
@Override
public void updateBedrockAttributes(GeyserSession session) {
if (!valid) return;
float maxHealth = attributes.containsKey(AttributeType.MAX_HEALTH) ? attributes.get(AttributeType.MAX_HEALTH).getValue() : 20f;
List<Attribute> attributesLocal = new ArrayList<>();
for (Map.Entry<AttributeType, org.geysermc.connector.entity.attribute.Attribute> entry : this.attributes.entrySet()) {
if (!entry.getValue().getType().isBedrockAttribute())
continue;
attributesLocal.add(AttributeUtils.getBedrockAttribute(entry.getValue()));
}
attributesLocal.add(new Attribute("minecraft:health", 0.0f, maxHealth, health, maxHealth));
UpdateAttributesPacket updateAttributesPacket = new UpdateAttributesPacket();
updateAttributesPacket.setRuntimeEntityId(geyserId);
updateAttributesPacket.setAttributes(attributesLocal);
session.sendUpstreamPacket(updateAttributesPacket);
}
示例2
@Override
public void updateBedrockAttributes(GeyserSession session) {
if (!valid) return;
float maxHealth = attributes.containsKey(AttributeType.MAX_HEALTH) ? attributes.get(AttributeType.MAX_HEALTH).getValue() : 20f;
List<com.nukkitx.protocol.bedrock.data.Attribute> attributesLocal = new ArrayList<>();
for (Map.Entry<AttributeType, org.geysermc.connector.entity.attribute.Attribute> entry : this.attributes.entrySet()) {
if (!entry.getValue().getType().isBedrockAttribute())
continue;
attributesLocal.add(AttributeUtils.getBedrockAttribute(entry.getValue()));
}
attributesLocal.add(new Attribute("minecraft:health", 0.0f, maxHealth, health, maxHealth));
UpdateAttributesPacket updateAttributesPacket = new UpdateAttributesPacket();
updateAttributesPacket.setRuntimeEntityId(geyserId);
updateAttributesPacket.setAttributes(attributesLocal);
session.sendUpstreamPacket(updateAttributesPacket);
}
示例3
@Override
public void serialize(ByteBuf buffer, UpdateAttributesPacket packet) {
VarInts.writeUnsignedLong(buffer, packet.getRuntimeEntityId());
BedrockUtils.writeArray(buffer, packet.getAttributes(), BedrockUtils::writePlayerAttribute);
}
示例4
@Override
public void deserialize(ByteBuf buffer, UpdateAttributesPacket packet) {
packet.setRuntimeEntityId(VarInts.readUnsignedLong(buffer));
BedrockUtils.readArray(buffer, packet.getAttributes(), BedrockUtils::readPlayerAttribute);
}
示例5
@Override
public void serialize(ByteBuf buffer, UpdateAttributesPacket packet) {
VarInts.writeUnsignedLong(buffer, packet.getRuntimeEntityId());
BedrockUtils.writeArray(buffer, packet.getAttributes(), BedrockUtils::writePlayerAttribute);
}
示例6
@Override
public void deserialize(ByteBuf buffer, UpdateAttributesPacket packet) {
packet.setRuntimeEntityId(VarInts.readUnsignedLong(buffer));
BedrockUtils.readArray(buffer, packet.getAttributes(), BedrockUtils::readPlayerAttribute);
}
示例7
@Override
public void serialize(ByteBuf buffer, UpdateAttributesPacket packet) {
VarInts.writeUnsignedLong(buffer, packet.getRuntimeEntityId());
BedrockUtils.writeArray(buffer, packet.getAttributes(), BedrockUtils::writePlayerAttribute);
}
示例8
@Override
public void deserialize(ByteBuf buffer, UpdateAttributesPacket packet) {
packet.setRuntimeEntityId(VarInts.readUnsignedLong(buffer));
BedrockUtils.readArray(buffer, packet.getAttributes(), BedrockUtils::readPlayerAttribute);
}
示例9
@Override
public void serialize(ByteBuf buffer, UpdateAttributesPacket packet) {
VarInts.writeUnsignedLong(buffer, packet.getRuntimeEntityId());
BedrockUtils.writeArray(buffer, packet.getAttributes(), BedrockUtils::writePlayerAttribute);
}
示例10
@Override
public void deserialize(ByteBuf buffer, UpdateAttributesPacket packet) {
packet.setRuntimeEntityId(VarInts.readUnsignedLong(buffer));
BedrockUtils.readArray(buffer, packet.getAttributes(), BedrockUtils::readPlayerAttribute);
}
示例11
@Override
public void serialize(ByteBuf buffer, UpdateAttributesPacket packet) {
VarInts.writeUnsignedLong(buffer, packet.getRuntimeEntityId());
BedrockUtils.writeArray(buffer, packet.getAttributes(), BedrockUtils::writePlayerAttribute);
}
示例12
@Override
public void deserialize(ByteBuf buffer, UpdateAttributesPacket packet) {
packet.setRuntimeEntityId(VarInts.readUnsignedLong(buffer));
BedrockUtils.readArray(buffer, packet.getAttributes(), BedrockUtils::readPlayerAttribute);
}
示例13
@Override
public void serialize(ByteBuf buffer, UpdateAttributesPacket packet) {
VarInts.writeUnsignedLong(buffer, packet.getRuntimeEntityId());
BedrockUtils.writeArray(buffer, packet.getAttributes(), BedrockUtils::writePlayerAttribute);
}
示例14
@Override
public void deserialize(ByteBuf buffer, UpdateAttributesPacket packet) {
packet.setRuntimeEntityId(VarInts.readUnsignedLong(buffer));
BedrockUtils.readArray(buffer, packet.getAttributes(), BedrockUtils::readPlayerAttribute);
}
示例15
@Override
public void serialize(ByteBuf buffer, UpdateAttributesPacket packet) {
VarInts.writeUnsignedLong(buffer, packet.getRuntimeEntityId());
BedrockUtils.writeArray(buffer, packet.getAttributes(), BedrockUtils::writePlayerAttribute);
}
示例16
@Override
public void deserialize(ByteBuf buffer, UpdateAttributesPacket packet) {
packet.setRuntimeEntityId(VarInts.readUnsignedLong(buffer));
BedrockUtils.readArray(buffer, packet.getAttributes(), BedrockUtils::readPlayerAttribute);
}