当前位置: 首页>>代码示例>>Java>>正文


Java BlockBreakEvent.getBlock方法代码示例

本文整理汇总了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();
	}
}
 
开发者ID:EconomyS,项目名称:EconomyLand,代码行数:23,代码来源:EconomyLand.java

示例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);
        }
    }
}
 
开发者ID:Creeperface01,项目名称:WorldFixer,代码行数:19,代码来源:WorldFixer.java

示例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]);
	}
}
 
开发者ID:if-Team,项目名称:Nukkit-Plugins,代码行数:36,代码来源:ItemEventListener.java

示例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!");
	}
}
 
开发者ID:MCFT-Server,项目名称:FloatingText,代码行数:12,代码来源:EventListener.java

示例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"));
		}
	}
}
 
开发者ID:EconomyS,项目名称:EconomySell,代码行数:28,代码来源:EconomySell.java

示例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"));
	}
}
  }
 
开发者ID:EconomyS,项目名称:EconomyShop,代码行数:28,代码来源:EconomyShop.java

示例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);
    }
}
 
开发者ID:boy0001,项目名称:FastAsyncWorldedit,代码行数:15,代码来源:WorldEditListener.java

示例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);
    }
 
开发者ID:IntellectualSites,项目名称:PlotSquared,代码行数:60,代码来源:PlayerEvents.java


注:本文中的cn.nukkit.event.block.BlockBreakEvent.getBlock方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。