Search in sources :

Example 16 with Block

use of org.bukkit.block.Block in project HawkEye by oliverwoodings.

the class MonitorBlockListener method onBlockPlace.

@HawkEvent(dataType = DataType.BLOCK_PLACE)
public void onBlockPlace(BlockPlaceEvent event) {
    Block block = event.getBlock();
    if (block.getType() == Material.WALL_SIGN || block.getType() == Material.SIGN_POST)
        return;
    DataManager.addEntry(new BlockChangeEntry(event.getPlayer(), DataType.BLOCK_PLACE, block.getLocation(), event.getBlockReplacedState(), block.getState()));
}
Also used : BlockChangeEntry(uk.co.oliwali.HawkEye.entry.BlockChangeEntry) Block(org.bukkit.block.Block) HawkEvent(uk.co.oliwali.HawkEye.HawkEvent)

Example 17 with Block

use of org.bukkit.block.Block in project HawkEye by oliverwoodings.

the class ToolListener method onBlockPlace.

@EventHandler(priority = EventPriority.HIGHEST)
public void onBlockPlace(BlockPlaceEvent event) {
    Player player = event.getPlayer();
    Block block = event.getBlock();
    if (BlockUtil.getBlockString(block).equals(Config.ToolBlock) && SessionManager.getSession(player).isUsingTool()) {
        ToolManager.toolSearch(player, block.getLocation());
        event.setCancelled(true);
    }
}
Also used : Player(org.bukkit.entity.Player) Block(org.bukkit.block.Block) EventHandler(org.bukkit.event.EventHandler)

Example 18 with Block

use of org.bukkit.block.Block in project TotalFreedomMod by TotalFreedom.

the class Jumppads method onPlayerMove.

@EventHandler
public void onPlayerMove(PlayerMoveEvent event) {
    if (mode == JumpPadMode.OFF) {
        return;
    }
    final Player player = event.getPlayer();
    final Block block = event.getTo().getBlock();
    final Vector velocity = player.getVelocity().clone();
    if (mode == JumpPadMode.MADGEEK) {
        Boolean canPush = pushMap.get(player);
        if (canPush == null) {
            canPush = true;
        }
        if (block.getRelative(0, -1, 0).getType() == BLOCK_ID) {
            if (canPush) {
                velocity.multiply(strength + 0.85).multiply(-1.0);
            }
            canPush = false;
        } else {
            canPush = true;
        }
        pushMap.put(player, canPush);
    } else {
        if (block.getRelative(0, -1, 0).getType() == BLOCK_ID) {
            velocity.add(new Vector(0.0, strength, 0.0));
        }
        if (mode == JumpPadMode.NORMAL_AND_SIDEWAYS) {
            if (block.getRelative(1, 0, 0).getType() == BLOCK_ID) {
                velocity.add(new Vector(-DAMPING_COEFFICIENT * strength, 0.0, 0.0));
            }
            if (block.getRelative(-1, 0, 0).getType() == BLOCK_ID) {
                velocity.add(new Vector(DAMPING_COEFFICIENT * strength, 0.0, 0.0));
            }
            if (block.getRelative(0, 0, 1).getType() == BLOCK_ID) {
                velocity.add(new Vector(0.0, 0.0, -DAMPING_COEFFICIENT * strength));
            }
            if (block.getRelative(0, 0, -1).getType() == BLOCK_ID) {
                velocity.add(new Vector(0.0, 0.0, DAMPING_COEFFICIENT * strength));
            }
        }
    }
    if (!player.getVelocity().equals(velocity)) {
        player.setFallDistance(0.0f);
        player.setVelocity(velocity);
    }
}
Also used : Player(org.bukkit.entity.Player) Block(org.bukkit.block.Block) Vector(org.bukkit.util.Vector) EventHandler(org.bukkit.event.EventHandler)

Example 19 with Block

use of org.bukkit.block.Block in project TotalFreedomMod by TotalFreedom.

the class Trailer method onPlayerMove.

@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onPlayerMove(PlayerMoveEvent event) {
    if (trailPlayers.isEmpty()) {
        return;
    }
    if (!trailPlayers.contains(event.getPlayer().getName())) {
        return;
    }
    Block fromBlock = event.getFrom().getBlock();
    if (!fromBlock.isEmpty()) {
        return;
    }
    Block toBlock = event.getTo().getBlock();
    if (fromBlock.equals(toBlock)) {
        return;
    }
    fromBlock.setType(Material.WOOL);
    DepreciationAggregator.setData_Block(fromBlock, (byte) random.nextInt(16));
}
Also used : Block(org.bukkit.block.Block) EventHandler(org.bukkit.event.EventHandler)

Example 20 with Block

use of org.bukkit.block.Block in project TotalFreedomMod by TotalFreedom.

the class Command_dispfill method run.

@Override
public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) {
    if (args.length == 2) {
        int radius;
        try {
            radius = Math.max(5, Math.min(25, Integer.parseInt(args[0])));
        } catch (NumberFormatException ex) {
            sender.sendMessage("Invalid radius.");
            return true;
        }
        final List<ItemStack> items = new ArrayList<>();
        final String[] itemsRaw = StringUtils.split(args[1], ",");
        for (final String searchItem : itemsRaw) {
            Material material = Material.matchMaterial(searchItem);
            if (material == null) {
                try {
                    material = DepreciationAggregator.getMaterial(Integer.parseInt(searchItem));
                } catch (NumberFormatException ex) {
                }
            }
            if (material != null) {
                items.add(new ItemStack(material, 64));
            } else {
                sender.sendMessage("Skipping invalid item: " + searchItem);
            }
        }
        final ItemStack[] itemsArray = items.toArray(new ItemStack[items.size()]);
        int affected = 0;
        final Location centerLocation = playerSender.getLocation();
        final Block centerBlock = centerLocation.getBlock();
        for (int xOffset = -radius; xOffset <= radius; xOffset++) {
            for (int yOffset = -radius; yOffset <= radius; yOffset++) {
                for (int zOffset = -radius; zOffset <= radius; zOffset++) {
                    final Block targetBlock = centerBlock.getRelative(xOffset, yOffset, zOffset);
                    if (targetBlock.getLocation().distanceSquared(centerLocation) < (radius * radius)) {
                        if (targetBlock.getType().equals(Material.DISPENSER)) {
                            sender.sendMessage("Filling dispenser @ " + FUtil.formatLocation(targetBlock.getLocation()));
                            setDispenserContents(targetBlock, itemsArray);
                            affected++;
                        }
                    }
                }
            }
        }
        sender.sendMessage("Done. " + affected + " dispenser(s) filled.");
    } else {
        return false;
    }
    return true;
}
Also used : ArrayList(java.util.ArrayList) Block(org.bukkit.block.Block) Material(org.bukkit.Material) ItemStack(org.bukkit.inventory.ItemStack) Location(org.bukkit.Location)

Aggregations

Block (org.bukkit.block.Block)187 EventHandler (org.bukkit.event.EventHandler)62 Player (org.bukkit.entity.Player)42 Location (org.bukkit.Location)30 BlockState (org.bukkit.block.BlockState)28 Sign (org.bukkit.block.Sign)24 Material (org.bukkit.Material)23 BlockFace (org.bukkit.block.BlockFace)23 GlowBlock (net.glowstone.block.GlowBlock)19 ASkyBlock (com.wasteofplastic.acidisland.ASkyBlock)16 MaterialData (org.bukkit.material.MaterialData)16 ArrayList (java.util.ArrayList)15 World (org.bukkit.World)14 Entity (org.bukkit.entity.Entity)14 ItemStack (org.bukkit.inventory.ItemStack)14 TownBlock (com.palmergames.bukkit.towny.object.TownBlock)13 Vector (org.bukkit.util.Vector)13 IOException (java.io.IOException)7 net.aufdemrand.denizencore.objects.dList (net.aufdemrand.denizencore.objects.dList)6 net.aufdemrand.denizen.objects.dLocation (net.aufdemrand.denizen.objects.dLocation)5