SPIGOT-665: Fix ghost blocks when cancelling piston events
Dieser Commit ist enthalten in:
Ursprung
ad2f806097
Commit
5cb9b70aaa
@ -1,5 +1,5 @@
|
||||
--- /home/matt/mc-dev-private//net/minecraft/server/BlockPiston.java 2015-02-26 22:40:22.195608144 +0000
|
||||
+++ src/main/java/net/minecraft/server/BlockPiston.java 2015-02-26 22:40:22.199608144 +0000
|
||||
--- /home/matt/mc-dev-private//net/minecraft/server/BlockPiston.java 2015-03-09 22:33:56.816544171 +0000
|
||||
+++ src/main/java/net/minecraft/server/BlockPiston.java 2015-03-09 22:33:56.816544171 +0000
|
||||
@@ -2,6 +2,18 @@
|
||||
|
||||
import java.util.List;
|
||||
@ -46,15 +46,15 @@
|
||||
this.a(world, blockposition, enumdirection, false);
|
||||
}
|
||||
} else {
|
||||
@@ -286,10 +309,46 @@
|
||||
@@ -286,10 +309,53 @@
|
||||
if (!pistonextendschecker.a()) {
|
||||
return false;
|
||||
} else {
|
||||
+ // CraftBukkit start
|
||||
+ final org.bukkit.block.Block bblock = world.getWorld().getBlockAt(blockposition.getX(), blockposition.getY(), blockposition.getZ());
|
||||
+
|
||||
+ final List moved = pistonextendschecker.getMovedBlocks();
|
||||
+ final List broken = pistonextendschecker.getBrokenBlocks();
|
||||
+ final List<BlockPosition> moved = pistonextendschecker.getMovedBlocks();
|
||||
+ final List<BlockPosition> broken = pistonextendschecker.getBrokenBlocks();
|
||||
+
|
||||
+ List<org.bukkit.block.Block> blocks = new AbstractList<org.bukkit.block.Block>() {
|
||||
+
|
||||
@ -86,6 +86,13 @@
|
||||
+ world.getServer().getPluginManager().callEvent(event);
|
||||
+
|
||||
+ if (event.isCancelled()) {
|
||||
+ for (BlockPosition b : broken) {
|
||||
+ world.notify(b);
|
||||
+ }
|
||||
+ for (BlockPosition b : moved) {
|
||||
+ world.notify(b);
|
||||
+ world.notify(b.shift(enumdirection1));
|
||||
+ }
|
||||
+ return false;
|
||||
+ }
|
||||
+ // CraftBukkit end
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren