Fix redstone physics

This commit is contained in:
mathiascode 2020-02-27 02:00:52 +02:00
parent ea854450ad
commit 152962108a
2 changed files with 12 additions and 21 deletions

View file

@ -97,27 +97,18 @@ public final class BlockPhysics implements Listener {
void onBlockPhysics(final BlockPhysicsEvent event) { void onBlockPhysics(final BlockPhysicsEvent event) {
try { try {
switch (event.getChangedType()) { switch (event.getChangedType()) {
case COMPARATOR:
case REDSTONE_TORCH:
case REDSTONE_WIRE:
case REPEATER:
/*for (BlockFace face : blockFaces) {
if (event.getBlock().getRelative(face).getType() != event.getChangedType()) {
return;
}
event.setCancelled(true);
}*/
event.setCancelled(true);
return;
case ACTIVATOR_RAIL: case ACTIVATOR_RAIL:
case DETECTOR_RAIL: case DETECTOR_RAIL:
case POWERED_RAIL: case POWERED_RAIL:
case RAIL: case RAIL:
for (BlockFace face : blockFaces) { case COMPARATOR:
if (event.getBlock().getRelative(face).getType() != event.getChangedType()) { case REDSTONE_TORCH:
return; case REDSTONE_WIRE:
} case REPEATER:
event.getBlock().setType(Material.AIR, false); if (!event.getBlock().getRelative(BlockFace.DOWN).getType().isSolid()
&& !Material.AIR.equals(event.getBlock().getRelative(BlockFace.DOWN).getType())
&& !Material.CAVE_AIR.equals(event.getBlock().getRelative(BlockFace.DOWN).getType())) {
event.setCancelled(true);
} }
return; return;
case TNT: case TNT:
@ -132,11 +123,11 @@ public final class BlockPhysics implements Listener {
break; break;
} }
if (!event.getBlock().getType().isSolid()) { /*if (!event.getBlock().getType().isSolid()) {
for (BlockFace face : blockFaces) { for (BlockFace face : blockFaces) {
event.getBlock().getRelative(face).getType(); event.getBlock().getRelative(face).getType();
} }
} }*/
} catch (Exception e) { } catch (Exception e) {
event.setCancelled(true); event.setCancelled(true);
} }

View file

@ -25,7 +25,7 @@ public final class PlayerInteract implements Listener {
@EventHandler @EventHandler
void onPlayerInteract(final PlayerInteractEvent event) { void onPlayerInteract(final PlayerInteractEvent event) {
final UUID playerUuid = event.getPlayer().getUniqueId(); /*final UUID playerUuid = event.getPlayer().getUniqueId();
if (interactMillisList.get(playerUuid) != null) { if (interactMillisList.get(playerUuid) != null) {
final long millisDifference = System.currentTimeMillis() - interactMillisList.get(playerUuid); final long millisDifference = System.currentTimeMillis() - interactMillisList.get(playerUuid);
@ -35,7 +35,7 @@ public final class PlayerInteract implements Listener {
} }
} }
interactMillisList.put(playerUuid, System.currentTimeMillis()); interactMillisList.put(playerUuid, System.currentTimeMillis());*/
final ItemStack item = event.getItem(); final ItemStack item = event.getItem();