Skip to content

Commit 7ee8ae9

Browse files
committed
[update] バケツ対応
1 parent 64fc861 commit 7ee8ae9

File tree

1 file changed

+19
-2
lines changed

1 file changed

+19
-2
lines changed

src/main/java/com/github/elic0de/thejpspit/spigot/listener/BlockPlaceListener.java

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import org.bukkit.event.EventHandler;
99
import org.bukkit.event.Listener;
1010
import org.bukkit.event.block.BlockPlaceEvent;
11+
import org.bukkit.event.player.PlayerBucketEmptyEvent;
1112

1213
import java.util.HashSet;
1314
import 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
}

0 commit comments

Comments
 (0)