An explanation of the issue can be found on Mojangs bug tracker:
https://bugs.mojang.com/browse/MC-160177
In short: You can't see other players breaking blocks.
The issue was fixed in 19w45a by Mojang. I generated a git diff for 19w44a and 19w45a and extracted the relevant part:
```diff --git a/net/minecraft/server/level/ServerPlayerGameMode.java b/net/minecraft/server/level/ServerPlayerGameMode.java
index 938c93b..3497070 100644
--- a/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -85,7 +85,7 @@ public class ServerPlayerGameMode {
this.hasDelayedDestroy = false;
}
else {
- final float float3 = this.incrementDestroyProgress(bya2, this.delayedDestroyPos);
+ final float float3 = this.incrementDestroyProgress(bya2, this.delayedDestroyPos, this.delayedTickStart);
if (float3 >= 1.0f) {
this.hasDelayedDestroy = false;
this.destroyBlock(this.delayedDestroyPos);
@@ -100,20 +100,20 @@ public class ServerPlayerGameMode {
this.isDestroyingBlock = false;
}
else {
- this.incrementDestroyProgress(bya2, this.destroyPos);
+ this.incrementDestroyProgress(bya2, this.destroyPos, this.destroyProgressStart);
}
}
}
return float6;
}
public void handleBlockBreakAction(final BlockPos fh, final ServerboundPlayerActionPacket.Action a, final Direction fm, final int integer) {
``
The matching class in Spigot is calledPlayerInteractManager.
The methods area()anda(IBlockData, BlockPosition).
delayedTickStartisk.
destroyProgressStartislastDigTick`.
I just saw copyrighted reverse-engineered code.
You've destroyed my life as a cleanroom dev.
I hope Mojang doesn't sue me :(