mirror of
https://github.com/kaboomserver/extras.git
synced 2025-02-11 11:40:19 +00:00
Improvements to block physics checks
This commit is contained in:
parent
bf6592f9f9
commit
6694621deb
1 changed files with 14 additions and 16 deletions
|
@ -32,8 +32,12 @@ public final class BlockPhysics implements Listener {
|
||||||
if (event.getBlock().getRelative(face).getType() != event.getBlock().getType()) {
|
if (event.getBlock().getRelative(face).getType() != event.getBlock().getType()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
event.getBlock().setType(Material.AIR, false);
|
if (!event.getBlock().getType().equals(Material.AIR)) {
|
||||||
event.setCancelled(true);
|
event.getBlock().setType(Material.AIR, false);
|
||||||
|
}
|
||||||
|
if (!event.isCancelled()) {
|
||||||
|
event.setCancelled(true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
@ -41,20 +45,17 @@ public final class BlockPhysics implements Listener {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*@EventHandler
|
@EventHandler
|
||||||
void onBlockFade(final BlockFadeEvent event) {
|
void onBlockFade(final BlockFadeEvent event) {
|
||||||
try {
|
try {
|
||||||
for (BlockFace face : blockFaces) {
|
if (event.getBlock().getType() == Material.FIRE) {
|
||||||
if (event.getBlock().getRelative(face).getType() != event.getBlock().getType()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
event.getBlock().setType(Material.AIR, false);
|
event.getBlock().setType(Material.AIR, false);
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
}*/
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
void onBlockForm(final BlockFormEvent event) {
|
void onBlockForm(final BlockFormEvent event) {
|
||||||
|
@ -78,14 +79,15 @@ public final class BlockPhysics implements Listener {
|
||||||
boolean waterFound = false;
|
boolean waterFound = false;
|
||||||
|
|
||||||
for (BlockFace face : blockFaces) {
|
for (BlockFace face : blockFaces) {
|
||||||
if (event.getBlock().getRelative(face).getType() == Material.LAVA) {
|
if (event.getBlock().getRelative(face).getType() == Material.LAVA && !lavaFound) {
|
||||||
lavaFound = true;
|
lavaFound = true;
|
||||||
} else if (event.getBlock().getRelative(face).getType() == Material.WATER) {
|
} else if (event.getBlock().getRelative(face).getType() == Material.WATER && !waterFound) {
|
||||||
waterFound = true;
|
waterFound = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lavaFound && waterFound) {
|
if (lavaFound && waterFound) {
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -113,11 +115,7 @@ public final class BlockPhysics implements Listener {
|
||||||
|
|
||||||
if (!event.getBlock().getType().isSolid()) {
|
if (!event.getBlock().getType().isSolid()) {
|
||||||
for (BlockFace face : blockFaces) {
|
for (BlockFace face : blockFaces) {
|
||||||
if (event.getBlock().getRelative(face).getType() != event.getBlock().getType()) {
|
event.getBlock().getRelative(face).getType();
|
||||||
return;
|
|
||||||
}
|
|
||||||
event.getBlock().setType(Material.AIR, false);
|
|
||||||
event.setCancelled(true);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|
Loading…
Reference in a new issue