File tree Expand file tree Collapse file tree 1 file changed +19
-2
lines changed
src/main/java/com/github/elic0de/thejpspit/spigot/listener Expand file tree Collapse file tree 1 file changed +19
-2
lines changed Original file line number Diff line number Diff line change 88import org .bukkit .event .EventHandler ;
99import org .bukkit .event .Listener ;
1010import org .bukkit .event .block .BlockPlaceEvent ;
11+ import org .bukkit .event .player .PlayerBucketEmptyEvent ;
1112
1213import java .util .HashSet ;
1314import java .util .Set ;
@@ -33,13 +34,29 @@ public void on(BlockPlaceEvent event) {
3334
3435 pit .getServer ().getScheduler ().runTaskLater (pit , runnable -> {
3536 if (replacedStates .contains (replacedState )) {
36- replacedState .update ();
37+ replacedState .update (true );
38+ replacedStates .remove (replacedState );
39+ }
40+ }, (15 * 20 ));
41+ }
42+
43+ @ EventHandler
44+ public void on (PlayerBucketEmptyEvent event ) {
45+ final Player player = event .getPlayer ();
46+ if (player .getGameMode () == GameMode .CREATIVE ) return ;
47+ final BlockState replacedState = event .getBlock ().getState ();
48+
49+ replacedStates .add (replacedState );
50+
51+ pit .getServer ().getScheduler ().runTaskLater (pit , runnable -> {
52+ if (replacedStates .contains (replacedState )) {
53+ replacedState .update (true );
3754 replacedStates .remove (replacedState );
3855 }
3956 }, (15 * 20 ));
4057 }
4158
4259 public static void restoreBlocks () {
43- replacedStates .forEach (BlockState :: update );
60+ replacedStates .forEach (b -> b . update ( true ) );
4461 }
4562}
You can’t perform that action at this time.
0 commit comments