Skip to content

Commit edd9eab

Browse files
committed
fix cancel spread water, lava and place
1 parent 6ae0a88 commit edd9eab

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

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

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,11 @@ public void on(PlayerBucketEmptyEvent event) {
5050
if (player.getGameMode() == GameMode.CREATIVE) return;
5151
final BlockState replacedState = event.getBlock().getState();
5252

53+
// 水、溶岩にブロックを置けないように
54+
switch (event.getBlock().getType()) {
55+
case LAVA, WATER -> event.setCancelled(true);
56+
}
57+
5358
if (replacedStates.containsKey(replacedState.getLocation())) return;
5459
replacedStates.put(replacedState.getLocation(), replacedState);
5560

@@ -63,7 +68,7 @@ public void on(PlayerBucketEmptyEvent event) {
6368

6469
@EventHandler
6570
private void on(BlockFormEvent event) {
66-
if (event.getNewState().getBlock().getType() == Material.OBSIDIAN) {
71+
if (event.getBlock().getType() == Material.LAVA) {
6772
event.setCancelled(true);
6873
}
6974
}
@@ -73,13 +78,10 @@ private void onLiquidSpread(BlockFromToEvent event) {
7378
Material block = event.getBlock().getType();
7479

7580
if (block == Material.LAVA || block == Material.WATER) {
76-
event.getBlock().setType(Material.AIR);
7781
event.setCancelled(true);
78-
return;
7982
}
8083
}
8184

82-
8385
public static void restoreBlocks() {
8486
replacedStates.values().forEach(b -> b.update(true));
8587
}

0 commit comments

Comments
 (0)