gpt4 book ai didi

java - Minecraft:正在发送多条消息

转载 作者:行者123 更新时间:2023-11-30 06:10:31 26 4
gpt4 key购买 nike

我正在开发一个插件,以防止玩家在未经许可的情况下开采矿石。然而我遇到了一个问题,用户在我的插件旁边使用另一个插件,它允许他们一次挖掘 9 个区 block 。好吧,这会向玩家发送垃圾邮件“您没有权限开采这个!”有人可以告诉我消息系统的解决方法吗? (基本上不会向玩家发送垃圾邮件)。

        switch (type) {
case COAL_ORE: {
if (!player.hasPermission("PluginName.coal") && (!player.isOp())) {
event.setCancelled(true);
player.getPlayer().sendMessage(ChatColor.DARK_RED + "You do not have permission to mine Coal Ore!");
}
break;
}
case IRON_ORE: {
if (!player.hasPermission("PluginName.iron") && (!player.isOp())) {
event.setCancelled(true);
player.getPlayer().sendMessage(ChatColor.DARK_RED + "You do not have permission to mine Iron Ore!");
}
break;
}
case GOLD_ORE: {
if (!player.hasPermission("PluginName.gold") && (!player.isOp())) {
event.setCancelled(true);
player.getPlayer().sendMessage(ChatColor.DARK_RED + "You do not have permission to mine Gold Ore!");
}
break;
}
case DIAMOND_ORE: {
if (!player.hasPermission("PluginName.diamond") && (!player.isOp())) {
event.setCancelled(true);
player.getPlayer().sendMessage(ChatColor.DARK_RED + "You do not have permission to mine Diamond Ore!");
break;
}
}
case EMERALD_ORE: {
if (!player.hasPermission("PluginName.emerald") && (!player.isOp())) {
event.setCancelled(true);
player.getPlayer().sendMessage(ChatColor.DARK_RED + "You do not have permission to mine Emerald Ore!");
}
break;
}
}
}

最佳答案

将事件优先级设置为HIGHHIGHEST,以便稍后执行您的代码按时间顺序排列。这让您对如何处理事件拥有“最终决定权”。

@EventHandler(priority=EventPriority.HIGH)
public void onPlayerBreakBlock(BlockBreakEvent e){
...
}

不要仅仅因为可以就自动选择HIGHEST。通常更喜欢仍能实现您的目标的最不极端的优先级。然后,如果另一个插件与您的插件冲突,他们可以设置更高的优先级。有关更具体的详细信息,请参阅此链接:https://bukkit.gamepedia.com/Event_API_Reference#Event_Priorities

仅使用您根本不打算更改事件的MONITOR优先级。它旨在指示事件的最终状态。比如是否被取消。

关于java - Minecraft:正在发送多条消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50340353/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com