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()));
}
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);
}
}
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);
}
}
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));
}
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;
}
Aggregations