Mirror von
https://github.com/GeyserMC/Geyser.git
synchronisiert 2024-12-25 07:40:10 +01:00
Update for MCProtocolLib changes
Dieser Commit ist enthalten in:
Ursprung
41ecb885bd
Commit
daea2618c5
@ -26,6 +26,7 @@
|
|||||||
package org.geysermc.geyser.entity.type;
|
package org.geysermc.geyser.entity.type;
|
||||||
|
|
||||||
import com.github.steveice10.mc.protocol.data.game.entity.attribute.Attribute;
|
import com.github.steveice10.mc.protocol.data.game.entity.attribute.Attribute;
|
||||||
|
import com.github.steveice10.mc.protocol.data.game.entity.attribute.AttributeType;
|
||||||
import com.github.steveice10.mc.protocol.data.game.entity.metadata.EntityMetadata;
|
import com.github.steveice10.mc.protocol.data.game.entity.metadata.EntityMetadata;
|
||||||
import com.github.steveice10.mc.protocol.data.game.entity.metadata.Pose;
|
import com.github.steveice10.mc.protocol.data.game.entity.metadata.Pose;
|
||||||
import com.github.steveice10.mc.protocol.data.game.entity.metadata.Position;
|
import com.github.steveice10.mc.protocol.data.game.entity.metadata.Position;
|
||||||
@ -251,17 +252,19 @@ public class LivingEntity extends Entity {
|
|||||||
* Takes the Java attribute and adds it to newAttributes as a Bedrock-formatted attribute
|
* Takes the Java attribute and adds it to newAttributes as a Bedrock-formatted attribute
|
||||||
*/
|
*/
|
||||||
protected void updateAttribute(Attribute javaAttribute, List<AttributeData> newAttributes) {
|
protected void updateAttribute(Attribute javaAttribute, List<AttributeData> newAttributes) {
|
||||||
switch (javaAttribute.getType()) {
|
if (javaAttribute.getType() instanceof AttributeType.Builtin type) {
|
||||||
case GENERIC_MAX_HEALTH -> {
|
switch (type) {
|
||||||
this.maxHealth = (float) AttributeUtils.calculateValue(javaAttribute);
|
case GENERIC_MAX_HEALTH -> {
|
||||||
newAttributes.add(createHealthAttribute());
|
this.maxHealth = (float) AttributeUtils.calculateValue(javaAttribute);
|
||||||
|
newAttributes.add(createHealthAttribute());
|
||||||
|
}
|
||||||
|
case GENERIC_ATTACK_DAMAGE -> newAttributes.add(calculateAttribute(javaAttribute, GeyserAttributeType.ATTACK_DAMAGE));
|
||||||
|
case GENERIC_FLYING_SPEED -> newAttributes.add(calculateAttribute(javaAttribute, GeyserAttributeType.FLYING_SPEED));
|
||||||
|
case GENERIC_MOVEMENT_SPEED -> newAttributes.add(calculateAttribute(javaAttribute, GeyserAttributeType.MOVEMENT_SPEED));
|
||||||
|
case GENERIC_FOLLOW_RANGE -> newAttributes.add(calculateAttribute(javaAttribute, GeyserAttributeType.FOLLOW_RANGE));
|
||||||
|
case GENERIC_KNOCKBACK_RESISTANCE -> newAttributes.add(calculateAttribute(javaAttribute, GeyserAttributeType.KNOCKBACK_RESISTANCE));
|
||||||
|
case HORSE_JUMP_STRENGTH -> newAttributes.add(calculateAttribute(javaAttribute, GeyserAttributeType.HORSE_JUMP_STRENGTH));
|
||||||
}
|
}
|
||||||
case GENERIC_ATTACK_DAMAGE -> newAttributes.add(calculateAttribute(javaAttribute, GeyserAttributeType.ATTACK_DAMAGE));
|
|
||||||
case GENERIC_FLYING_SPEED -> newAttributes.add(calculateAttribute(javaAttribute, GeyserAttributeType.FLYING_SPEED));
|
|
||||||
case GENERIC_MOVEMENT_SPEED -> newAttributes.add(calculateAttribute(javaAttribute, GeyserAttributeType.MOVEMENT_SPEED));
|
|
||||||
case GENERIC_FOLLOW_RANGE -> newAttributes.add(calculateAttribute(javaAttribute, GeyserAttributeType.FOLLOW_RANGE));
|
|
||||||
case GENERIC_KNOCKBACK_RESISTANCE -> newAttributes.add(calculateAttribute(javaAttribute, GeyserAttributeType.KNOCKBACK_RESISTANCE));
|
|
||||||
case HORSE_JUMP_STRENGTH -> newAttributes.add(calculateAttribute(javaAttribute, GeyserAttributeType.HORSE_JUMP_STRENGTH));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -177,7 +177,7 @@ public class SessionPlayerEntity extends PlayerEntity {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void updateAttribute(Attribute javaAttribute, List<AttributeData> newAttributes) {
|
protected void updateAttribute(Attribute javaAttribute, List<AttributeData> newAttributes) {
|
||||||
if (javaAttribute.getType() == AttributeType.GENERIC_ATTACK_SPEED) {
|
if (javaAttribute.getType() == AttributeType.Builtin.GENERIC_ATTACK_SPEED) {
|
||||||
session.setAttackSpeed(AttributeUtils.calculateValue(javaAttribute));
|
session.setAttackSpeed(AttributeUtils.calculateValue(javaAttribute));
|
||||||
} else {
|
} else {
|
||||||
super.updateAttribute(javaAttribute, newAttributes);
|
super.updateAttribute(javaAttribute, newAttributes);
|
||||||
@ -188,7 +188,7 @@ public class SessionPlayerEntity extends PlayerEntity {
|
|||||||
protected AttributeData calculateAttribute(Attribute javaAttribute, GeyserAttributeType type) {
|
protected AttributeData calculateAttribute(Attribute javaAttribute, GeyserAttributeType type) {
|
||||||
AttributeData attributeData = super.calculateAttribute(javaAttribute, type);
|
AttributeData attributeData = super.calculateAttribute(javaAttribute, type);
|
||||||
|
|
||||||
if (javaAttribute.getType() == AttributeType.GENERIC_MOVEMENT_SPEED) {
|
if (javaAttribute.getType() == AttributeType.Builtin.GENERIC_MOVEMENT_SPEED) {
|
||||||
session.setOriginalSpeedAttribute(attributeData.getValue());
|
session.setOriginalSpeedAttribute(attributeData.getValue());
|
||||||
AttributeData speedAttribute = session.adjustSpeed();
|
AttributeData speedAttribute = session.adjustSpeed();
|
||||||
if (speedAttribute != null) {
|
if (speedAttribute != null) {
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren