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

Fixed sprinting while breaking a painting edge case. Fixes BUKKIT-740

Dieser Commit ist enthalten in:
EvilSeph 2012-02-13 00:40:32 -05:00
Ursprung 9b10970f6b
Commit 1c28c946fa
3 geänderte Dateien mit 20 neuen und 10 gelöschten Zeilen

Datei anzeigen

@ -308,17 +308,17 @@ public class EntityBoat extends Entity {
if (!destroyEvent.isCancelled()) { if (!destroyEvent.isCancelled()) {
// CraftBukkit end // CraftBukkit end
this.die(); this.die();
int k; int k;
for (k = 0; k < 3; ++k) { for (k = 0; k < 3; ++k) {
this.a(Block.WOOD.id, 1, 0.0F); this.a(Block.WOOD.id, 1, 0.0F);
} }
for (k = 0; k < 2; ++k) { for (k = 0; k < 2; ++k) {
this.a(Item.STICK.id, 1, 0.0F); this.a(Item.STICK.id, 1, 0.0F);
} }
} // CraftBukkit } // CraftBukkit
} }
} else { } else {

Datei anzeigen

@ -286,11 +286,14 @@ public class EntityPainting extends Entity {
} }
public void b_(double d0, double d1, double d2) { public void b_(double d0, double d1, double d2) {
if (!this.world.isStatic && d0 * d0 + d1 * d1 + d2 * d2 > 0.0D) { // CraftBukkit start - not needed for paintings
/* if (!this.world.isStatic && d0 * d0 + d1 * d1 + d2 * d2 > 0.0D) {
if (dead) return; // CraftBukkit if (dead) return; // CraftBukkit
this.die(); this.die();
this.world.addEntity(new EntityItem(this.world, this.locX, this.locY, this.locZ, new ItemStack(Item.PAINTING))); this.world.addEntity(new EntityItem(this.world, this.locX, this.locY, this.locZ, new ItemStack(Item.PAINTING)));
} }*/
// CraftBukkit end
} }
} }

Datei anzeigen

@ -244,6 +244,13 @@ public class NetServerHandler extends NetHandler implements ICommandListener {
} }
if (packet10flying.hasPos && packet10flying.y == -999.0D && packet10flying.stance == -999.0D) { if (packet10flying.hasPos && packet10flying.y == -999.0D && packet10flying.stance == -999.0D) {
// CraftBukkit start
if (packet10flying.x > 1 || packet10flying.z > 1) {
System.err.println(player.getName() + " was caught trying to crash the server with an invalid position.");
player.kickPlayer("Nope!");
return;
}
// CraftBukkit end
d5 = packet10flying.x; d5 = packet10flying.x;
d4 = packet10flying.z; d4 = packet10flying.z;
} }