@Override public MCBlockState getBlockReplacedState() { return new BukkitMCBlockState(event.getBlockReplacedState()); } }
@EventHandler public void onPlace(BlockPlaceEvent e) { if (ProtectionSystem.build(e.getPlayer(), e.getBlock().getLocation(), true)) { if (config.buggedBlocks && !config.buggedBlocksExclude.contains(e.getBlock().getType())) { ItemStack returnItem = e.getItemInHand().clone(); returnItem.setAmount(1); Bukkit.getScheduler().runTaskLater(FunnyGuilds.getInstance(), () -> { e.getBlockReplacedState().update(true); if (config.buggedBlockReturn) { e.getPlayer().getInventory().addItem(returnItem); } }, config.buggedBlocksTimer); return; } e.setCancelled(true); } }
@EventHandler(priority = EventPriority.HIGH) private void blockPlace(BlockPlaceEvent event){ MinigamePlayer ply = pdata.getMinigamePlayer(event.getPlayer()); if(ply == null) return; if(ply.isInMinigame() && !event.isCancelled()){ if(!ply.getMinigame().hasStarted() || ply.isLatejoining()){ event.setCancelled(true); return; } Minigame mgm = ply.getMinigame(); RecorderData d = mgm.getBlockRecorder(); if(((d.getWhitelistMode() && d.getWBBlocks().contains(event.getBlock().getType())) || (!d.getWhitelistMode() && !d.getWBBlocks().contains(event.getBlock().getType()))) && mgm.canBlockPlace()){ d.addBlock(event.getBlockReplacedState(), ply); } else{ event.setCancelled(true); } } }
/** * Monitor BlockPlace events. * * @param event The event to watch */ @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onBlockPlace(BlockPlaceEvent event) { /* WORLD BLACKLIST CHECK */ if(WorldBlacklist.isWorldBlacklisted(event.getBlock().getWorld())) return; Player player = event.getPlayer(); if (!UserManager.hasPlayerDataKey(player)) { return; } BlockState blockState = event.getBlock().getState(); /* Check if the blocks placed should be monitored so they do not give out XP in the future */ if (BlockUtils.shouldBeWatched(blockState)) { // Don't count de-barking wood if (!Tag.LOGS.isTagged(event.getBlockReplacedState().getType()) || !Tag.LOGS.isTagged(event.getBlockPlaced().getType())) mcMMO.getPlaceStore().setTrue(blockState); } McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); if (blockState.getType() == Repair.anvilMaterial && PrimarySkillType.REPAIR.getPermissions(player)) { mcMMOPlayer.getRepairManager().placedAnvilCheck(); } else if (blockState.getType() == Salvage.anvilMaterial && PrimarySkillType.SALVAGE.getPermissions(player)) { mcMMOPlayer.getSalvageManager().placedAnvilCheck(); } }
@EventHandler(ignoreCancelled = true) public void onBlockPlace(BlockPlaceEvent event) { if (event instanceof BlockMultiPlaceEvent) return; BlockState previousState = event.getBlockReplacedState(); // Some blocks, like tall grass and fire, get replaced if (previousState.getType() != Material.AIR) { Events.fireToCancel(event, new BreakBlockEvent(event, create(event.getPlayer()), previousState.getLocation(), previousState.getType())); } if (!event.isCancelled()) { ItemStack itemStack = new ItemStack(event.getBlockPlaced().getType(), 1); Events.fireToCancel(event, new UseItemEvent(event, create(event.getPlayer()), event.getPlayer().getWorld(), itemStack)); } if (!event.isCancelled()) { Events.fireToCancel(event, new PlaceBlockEvent(event, create(event.getPlayer()), event.getBlock())); } if (event.isCancelled()) { playDenyEffect(event.getPlayer(), event.getBlockPlaced().getLocation().add(0.5, 0.5, 0.5)); } }
BlockState replacedBlock = bpe.getBlockReplacedState();
BlockState replacedBlock = bpe.getBlockReplacedState();
BlockState state = e.getBlockReplacedState(); if (field.hasFlag(FieldFlag.PLACE_GRIEF)) { if (!plugin.getSettingsManager().isGriefUndoBlackListType(block.getTypeId())) { BlockState blockState = event.getBlockReplacedState(); plugin.getGriefUndoManager().addBlock(field, blockState); plugin.getStorageManager().offerGrief(field);