本文整理汇总了Java中cn.nukkit.event.block.BlockBreakEvent.getBlock方法的典型用法代码示例。如果您正苦于以下问题:Java BlockBreakEvent.getBlock方法的具体用法?Java BlockBreakEvent.getBlock怎么用?Java BlockBreakEvent.getBlock使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类cn.nukkit.event.block.BlockBreakEvent
的用法示例。
在下文中一共展示了BlockBreakEvent.getBlock方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: onBlockBreak
import cn.nukkit.event.block.BlockBreakEvent; //导入方法依赖的package包/类
@EventHandler (ignoreCancelled = true)
public void onBlockBreak(BlockBreakEvent event){
Player player = event.getPlayer();
Block block = event.getBlock();
Land land;
if((land = this.provider.findLand(block)) != null){
if(!(land.hasPermission(player) || player.hasPermission("economyland.admin.modify"))){
player.sendMessage(this.getMessage("modify-forbidden", new Object[]{
land.getId(), land.getOwner()
}));
event.setCancelled(true);
}
}else if(this.getConfig().getStringList("white-world-protection").contains(block.level.getFolderName()) && !player.hasPermission("economyland.admin.modify")){
if(this.getConfig().getBoolean("show-white-world-message", true)){
player.sendMessage(this.getMessage("modify-whiteland"));
}
event.setCancelled();
}
}
示例2: onBlockBreak
import cn.nukkit.event.block.BlockBreakEvent; //导入方法依赖的package包/类
@EventHandler
public void onBlockBreak(BlockBreakEvent e) {
Player p = e.getPlayer();
Block b = e.getBlock();
if (this.isSelector(p)) {
Selection set = selectors.get(p.getName().toLowerCase());
if (set.pos1 == null) {
e.setCancelled();
set.pos1 = b.clone();
p.sendMessage(TextFormat.GREEN + "Selected the first position at " + TextFormat.BLUE + b.x + TextFormat.GREEN + ", " + TextFormat.BLUE + b.y + TextFormat.GREEN + ", " + TextFormat.BLUE + b.z + TextFormat.GREEN);
} else if (set.pos2 == null) {
e.setCancelled();
set.pos2 = b.clone();
p.sendMessage(TextFormat.GREEN + "Selected the second position at " + TextFormat.BLUE + b.x + TextFormat.GREEN + ", " + TextFormat.BLUE + b.y + TextFormat.GREEN + ", " + TextFormat.BLUE + b.z + TextFormat.GREEN);
}
}
}
示例3: onBlockBreak
import cn.nukkit.event.block.BlockBreakEvent; //导入方法依赖的package包/类
@EventHandler(priority = EventPriority.HIGH)
public void onBlockBreak(BlockBreakEvent event){
Player player = event.getPlayer();
if(player.isSurvival() && !(event.getInstaBreak() && event.isFastBreak()) && !ItemOwnership.getInstance().getData().containsKey(player.getName().toLowerCase()) && Utils.toBoolean(ItemOwnership.getInstance().getSetting().get("Enable").toString())){
Block block = event.getBlock();
Arrays.asList(event.getDrops()).forEach(item->new EntityOwnedItem(block.level.getChunk((int) block.getX() >> 4, (int) block.getZ() >> 4, true), new CompoundTag(){
{
putList(new ListTag<DoubleTag>("Pos"){
{
add(new DoubleTag("", block.getX() + 0.5));
add(new DoubleTag("", block.getY() + 0.5));
add(new DoubleTag("", block.getZ() + 0.5));
}
});
putList(new ListTag<DoubleTag>("Motion"){
{
add(new DoubleTag("", new Random().nextDouble() * 0.2 - 0.1));
add(new DoubleTag("", 0.2));
add(new DoubleTag("", new Random().nextDouble() * 0.2 - 0.1));
}
});
putList(new ListTag<FloatTag>("Rotation"){
{
add(new FloatTag("", new Random().nextFloat() * 360));
add(new FloatTag("", 0));
}
});
putShort("Health", 5);
putCompound("Item", (CompoundTag) NBTIO.putItemHelper(item).setName("Item"));
putShort("PickupDelay", 10);
}
}, player).spawnToAll());
event.setDrops(new Item[0]);
}
}
示例4: onBreak
import cn.nukkit.event.block.BlockBreakEvent; //导入方法依赖的package包/类
@EventHandler
public void onBreak(BlockBreakEvent event) {
Player player = event.getPlayer();
if (!player.hasPermission("floatingtext.remove"))
return;
Position pos = event.getBlock();
if (FloatingTextManager.getInstance().exist(pos)) {
FloatingTextManager.getInstance().removeFloatingText(pos);
plugin.getDB().message(player, "Remove floatingtext success!");
}
}
示例5: onBreak
import cn.nukkit.event.block.BlockBreakEvent; //导入方法依赖的package包/类
@EventHandler
public void onBreak(BlockBreakEvent event) {
Position pos = event.getBlock();
String key = pos.x + ":" + pos.y + ":" + pos.z + ":" + pos.level.getFolderName();
if(this.sells.containsKey(key)){
if(!event.getPlayer().hasPermission("economysell.break")) {
event.getPlayer().sendMessage(this.getMessage("sell-breaking-forbidden"));
event.setCancelled();
return;
}
if(this.getConfig().getBoolean("destroy.break", true)){
Sell shop = this.sells.get(key);
if(shop.getDisplayer() != null){
if(this.displayers.containsKey(pos.level)){
this.displayers.get(pos.level).remove(shop.getDisplayer());
}
}
this.sells.remove(key);
this.provider.removeSell(pos);
event.getPlayer().sendMessage(this.getMessage("sell-removed"));
}
}
}
示例6: onBreak
import cn.nukkit.event.block.BlockBreakEvent; //导入方法依赖的package包/类
@EventHandler
public void onBreak(BlockBreakEvent event) {
Position pos = event.getBlock();
String key = pos.x + ":" + pos.y + ":" + pos.z + ":" + pos.level.getFolderName();
if(this.shops.containsKey(key)){
if(!event.getPlayer().hasPermission("economyshop.break")) {
event.getPlayer().sendMessage(this.getMessage("shop-breaking-forbidden"));
event.setCancelled();
return;
}
if(this.getConfig().getBoolean("destroy.break", true)){
Shop shop = this.shops.get(key);
if(shop.getDisplayer() != null){
if(this.displayers.containsKey(pos.level)){
this.displayers.get(pos.level).remove(shop.getDisplayer());
}
}
this.shops.remove(key);
this.provider.removeShop(pos);
event.getPlayer().sendMessage(this.getMessage("shop-removed"));
}
}
}
示例7: onBlockBreak
import cn.nukkit.event.block.BlockBreakEvent; //导入方法依赖的package包/类
@EventHandler(priority = EventPriority.MONITOR)
public void onBlockBreak(BlockBreakEvent event) {
final LocalPlayer player = plugin.wrapPlayer(event.getPlayer());
final World world = player.getWorld();
final WorldEdit we = WorldEdit.getInstance();
final Block clickedBlock = event.getBlock();
final WorldVector pos = new WorldVector(LocalWorldAdapter.adapt(world), clickedBlock.getX(), clickedBlock.getY(), clickedBlock.getZ());
if (we.handleBlockLeftClick(player, pos)) {
event.setCancelled(true);
}
if (we.handleArmSwing(player)) {
event.setCancelled(true);
}
}
示例8: blockDestroy
import cn.nukkit.event.block.BlockBreakEvent; //导入方法依赖的package包/类
@EventHandler(priority = EventPriority.LOWEST)
public void blockDestroy(BlockBreakEvent event) {
Player player = event.getPlayer();
Location location = NukkitUtil.getLocation(event.getBlock().getLocation());
PlotArea area = location.getPlotArea();
if (area == null) {
return;
}
Plot plot = area.getPlotAbs(location);
if (plot != null) {
PlotPlayer plotPlayer = NukkitUtil.getPlayer(player);
if (event.getBlock().getY() == 0) {
if (!Permissions.hasPermission(plotPlayer, C.PERMISSION_ADMIN_DESTROY_GROUNDLEVEL)) {
MainUtil.sendMessage(plotPlayer, C.NO_PERMISSION_EVENT, C.PERMISSION_ADMIN_DESTROY_GROUNDLEVEL);
event.setCancelled(true);
return;
}
}
if (!plot.hasOwner()) {
if (Permissions.hasPermission(plotPlayer, C.PERMISSION_ADMIN_DESTROY_UNOWNED)) {
return;
}
MainUtil.sendMessage(plotPlayer, C.NO_PERMISSION_EVENT, C.PERMISSION_ADMIN_DESTROY_UNOWNED);
event.setCancelled(true);
return;
}
if (!plot.isAdded(plotPlayer.getUUID())) {
Optional<HashSet<PlotBlock>> destroy = plot.getFlag(Flags.BREAK);
Block block = event.getBlock();
if (destroy.isPresent() && destroy.get()
.contains(PlotBlock.get((short) block.getId(), block.getDamage()))) {
return;
}
if (Permissions.hasPermission(plotPlayer, C.PERMISSION_ADMIN_DESTROY_OTHER)) {
return;
}
MainUtil.sendMessage(plotPlayer, C.NO_PERMISSION_EVENT, C.PERMISSION_ADMIN_DESTROY_OTHER);
event.setCancelled(true);
} else if (Settings.Done.RESTRICT_BUILDING && plot.getFlags().containsKey(Flags.DONE)) {
if (!Permissions.hasPermission(plotPlayer, C.PERMISSION_ADMIN_BUILD_OTHER)) {
MainUtil.sendMessage(plotPlayer, C.NO_PERMISSION_EVENT, C.PERMISSION_ADMIN_BUILD_OTHER);
event.setCancelled(true);
return;
}
}
return;
}
PlotPlayer pp = NukkitUtil.getPlayer(player);
if (Permissions.hasPermission(pp, C.PERMISSION_ADMIN_DESTROY_ROAD)) {
return;
}
if (PS.get().worldedit != null && pp.getAttribute("worldedit")) {
if (player.getInventory().getItemInHand().getId() == PS.get().worldedit.getConfiguration().wandItem) {
return;
}
}
MainUtil.sendMessage(pp, C.NO_PERMISSION_EVENT, C.PERMISSION_ADMIN_DESTROY_ROAD);
event.setCancelled(true);
}