SPIGOT-3283: Don't allow plugin induced infinite velocity / position
Dieser Commit ist enthalten in:
Ursprung
9496c2dad1
Commit
921ba53556
@ -236,10 +236,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
|||||||
return new Vector(entity.motX, entity.motY, entity.motZ);
|
return new Vector(entity.motX, entity.motY, entity.motZ);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setVelocity(Vector vel) {
|
public void setVelocity(Vector velocity) {
|
||||||
entity.motX = vel.getX();
|
Preconditions.checkArgument(velocity != null, "velocity");
|
||||||
entity.motY = vel.getY();
|
velocity.checkFinite();
|
||||||
entity.motZ = vel.getZ();
|
entity.motX = velocity.getX();
|
||||||
|
entity.motY = velocity.getY();
|
||||||
|
entity.motZ = velocity.getZ();
|
||||||
entity.velocityChanged = true;
|
entity.velocityChanged = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -269,6 +271,9 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean teleport(Location location, TeleportCause cause) {
|
public boolean teleport(Location location, TeleportCause cause) {
|
||||||
|
Preconditions.checkArgument(location != null, "location");
|
||||||
|
location.checkFinite();
|
||||||
|
|
||||||
if (entity.isVehicle() || entity.dead) {
|
if (entity.isVehicle() || entity.dead) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
In neuem Issue referenzieren
Einen Benutzer sperren