3
0
Mirror von https://github.com/PaperMC/Paper.git synchronisiert 2024-12-18 12:30:06 +01:00

Implement player speed API. Addresses BUKKIT-2205

Dieser Commit ist enthalten in:
Wesley Wolfe 2012-08-10 00:00:04 -05:00
Ursprung 77cda7e715
Commit 342f9c3bd3
2 geänderte Dateien mit 37 neuen und 2 gelöschten Zeilen

Datei anzeigen

@ -7,8 +7,8 @@ public class PlayerAbilities {
public boolean canFly = false;
public boolean canInstantlyBuild = false;
public boolean mayBuild = true;
private float flySpeed = 0.05F;
private float walkSpeed = 0.1F;
public float flySpeed = 0.05F; // CraftBukkit private -> public
public float walkSpeed = 0.1F; // CraftBukkit private -> public
public PlayerAbilities() {}

Datei anzeigen

@ -864,4 +864,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return getHandle().noDamageTicks;
}
}
public void setFlySpeed(float value) {
validateSpeed(value);
EntityPlayer player = getHandle();
player.abilities.flySpeed = value / 2f;
player.updateAbilities();
}
public void setWalkSpeed(float value) {
validateSpeed(value);
EntityPlayer player = getHandle();
player.abilities.walkSpeed = value / 2f;
player.updateAbilities();
}
public float getFlySpeed() {
return getHandle().abilities.flySpeed * 2f;
}
public float getWalkSpeed() {
return getHandle().abilities.walkSpeed * 2f;
}
private void validateSpeed(float value) {
if (value < 0) {
if (value < -1f) {
throw new IllegalArgumentException(value + " is too low");
}
} else {
if (value > 1f) {
throw new IllegalArgumentException(value + " is too high");
}
}
}
}