/**
   * Called when block physics occurs
   *
   * @param event Relevant event details
   */
  @Override
  public void onBlockPhysics(BlockPhysicsEvent event) {

    if (event.isCancelled()) {
      return;
    }

    ConfigurationManager cfg = plugin.getGlobalConfiguration();
    WorldConfiguration wcfg = cfg.get(event.getBlock().getWorld());

    int id = event.getChangedTypeId();

    if (id == 13 && wcfg.noPhysicsGravel) {
      event.setCancelled(true);
      return;
    }

    if (id == 12 && wcfg.noPhysicsSand) {
      event.setCancelled(true);
      return;
    }

    if (id == 90 && wcfg.allowPortalAnywhere) {
      event.setCancelled(true);
      return;
    }
  }
 @EventHandler(priority = EventPriority.MONITOR)
 public void onBlockPhysics(BlockPhysicsEvent event) {
   if (event.isCancelled() || !OrebfuscatorConfig.getUpdateOnPhysics()) return;
   if (event.getBlock().getType() != Material.SAND
       && event.getBlock().getType() != Material.GRAVEL) return;
   if (!applyphysics(event.getBlock())) return;
   OrebfuscatorThreadUpdate.Queue(event.getBlock());
 }