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);
}