Example #1
0
 @EventHandler(priority = EventPriority.LOW)
 public void onBlockSpread(BlockSpreadEvent event) {
   Map map = Rixor.getRotation().getSlot().getMap();
   BlockChangeEvent change =
       new BlockChangeEvent(event, map, null, event.getBlock().getState(), event.getNewState());
   Rixor.callEvent(change);
 }
Example #2
0
  public void a(World world, int i, int j, int k, Random random) {
    if (random.nextInt(25) == 0) {
      byte b0 = 4;
      int l = 5;

      int i1;
      int j1;
      int k1;

      for (i1 = i - b0; i1 <= i + b0; ++i1) {
        for (j1 = k - b0; j1 <= k + b0; ++j1) {
          for (k1 = j - 1; k1 <= j + 1; ++k1) {
            if (world.getTypeId(i1, k1, j1) == this.id) {
              --l;
              if (l <= 0) {
                return;
              }
            }
          }
        }
      }

      i1 = i + random.nextInt(3) - 1;
      j1 = j + random.nextInt(2) - random.nextInt(2);
      k1 = k + random.nextInt(3) - 1;

      for (int l1 = 0; l1 < 4; ++l1) {
        if (world.isEmpty(i1, j1, k1) && this.f(world, i1, j1, k1)) {
          i = i1;
          j = j1;
          k = k1;
        }

        i1 = i + random.nextInt(3) - 1;
        j1 = j + random.nextInt(2) - random.nextInt(2);
        k1 = k + random.nextInt(3) - 1;
      }

      if (world.isEmpty(i1, j1, k1) && this.f(world, i1, j1, k1)) {
        // lightstone start
        org.bukkit.World bworld = world.getWorld();
        org.bukkit.block.BlockState blockState = bworld.getBlockAt(i1, j1, k1).getState();
        blockState.setTypeId(this.id);

        BlockSpreadEvent event =
            new BlockSpreadEvent(blockState.getBlock(), bworld.getBlockAt(i, j, k), blockState);
        world.getServer().getPluginManager().callEvent(event);

        if (!event.isCancelled()) {
          blockState.update(true);
        }
        // lightstone end
      }
    }
  }
Example #3
0
 @Override
 public void onBlockSpread(BlockSpreadEvent event) {
   if (event.isCancelled()) return;
   /* Call listeners */
   List<Listener> ll = event_handlers.get(event.getType());
   if (ll != null) {
     for (Listener l : ll) {
       ((BlockListener) l).onBlockSpread(event);
     }
   }
 }
Example #4
0
  /**
   * On block spread.
   *
   * @param event the events
   */
  @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
  public void onBlockSpread(BlockSpreadEvent event) {

    Block blockSource = event.getSource();
    ApiPlayerContainerPlayer pc = playerFireLocation.get(blockSource.getLocation());

    if (pc != null) {

      // Add fire for pvp listen
      playerFireLocation.put(event.getBlock().getLocation(), pc);
    }
  }
  @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
  public void onBlockSpread(final BlockSpreadEvent event) {
    Block b = event.getBlock();

    if (PlotManager.isPlotWorld(b)) {
      String id = PlotManager.getPlotId(b.getLocation());

      if (id.equalsIgnoreCase("")) {
        event.setCancelled(true);
      }
    }
  }
 private void putVine(GlowBlock block, Vine vine, GlowBlock fromBlock) {
   GlowBlockState state = block.getState();
   state.setType(Material.VINE);
   state.setData(vine);
   if (fromBlock != null) {
     BlockSpreadEvent spreadEvent = new BlockSpreadEvent(block, fromBlock, state);
     EventFactory.callEvent(spreadEvent);
     if (!spreadEvent.isCancelled()) {
       state.update(true);
     }
   } else {
     state.update(true);
   }
 }
  @EventHandler(priority = EventPriority.NORMAL)
  public void onBlockSpread(BlockSpreadEvent event) {
    Block block = event.getBlock();
    // Block the Spread off Vines
    if (block.getType() == Material.VINE) {
      // Check GameWorlds
      GameWorld gworld = GameWorld.get(event.getBlock().getWorld());
      if (gworld != null) {
        event.setCancelled(true);
      }

      // Check EditWorlds
      EditWorld eworld = EditWorld.get(event.getBlock().getWorld());
      if (eworld != null) {
        event.setCancelled(true);
      }
    }
  }
 @EventHandler
 public void BlockSpreadEvent(BlockSpreadEvent event) {
   if (!arena.getRegion().isInside(event.getBlock().getLocation()) || arena.getEditMode()) return;
   if (arena.getArena().isInside(event.getBlock().getLocation()) && arena.isRunning()) return;
   event.setCancelled(true);
 }
  /*
   * Called when a block spreads based on world conditions.
   */
  @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
  public void onBlockSpread(BlockSpreadEvent event) {
    ConfigurationManager cfg = plugin.getGlobalStateManager();
    WorldConfiguration wcfg = cfg.get(event.getBlock().getWorld());

    if (cfg.activityHaltToggle) {
      event.setCancelled(true);
      return;
    }

    int fromType = event.getSource().getTypeId();

    if (fromType == BlockID.RED_MUSHROOM || fromType == BlockID.BROWN_MUSHROOM) {
      if (wcfg.disableMushroomSpread) {
        event.setCancelled(true);
        return;
      }
      if (wcfg.useRegions
          && !plugin
              .getGlobalRegionManager()
              .allows(DefaultFlag.MUSHROOMS, event.getBlock().getLocation())) {
        event.setCancelled(true);
        return;
      }
    }

    if (fromType == BlockID.GRASS) {
      if (wcfg.disableGrassGrowth) {
        event.setCancelled(true);
        return;
      }
      if (wcfg.useRegions
          && !plugin
              .getGlobalRegionManager()
              .allows(DefaultFlag.GRASS_SPREAD, event.getBlock().getLocation())) {
        event.setCancelled(true);
        return;
      }
    }

    if (fromType == BlockID.MYCELIUM) {
      if (wcfg.disableMyceliumSpread) {
        event.setCancelled(true);
        return;
      }

      if (wcfg.useRegions
          && !plugin
              .getGlobalRegionManager()
              .allows(DefaultFlag.MYCELIUM_SPREAD, event.getBlock().getLocation())) {
        event.setCancelled(true);
        return;
      }
    }

    if (fromType == BlockID.VINE) {
      if (wcfg.disableVineGrowth) {
        event.setCancelled(true);
        return;
      }

      if (wcfg.useRegions
          && !plugin
              .getGlobalRegionManager()
              .allows(DefaultFlag.VINE_GROWTH, event.getBlock().getLocation())) {
        event.setCancelled(true);
        return;
      }
    }
  }
 @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
 public void onBlockSpread(BlockSpreadEvent event) {
   addToCheck(event.getBlock(), event.getBlock().getState());
 }