下面列出了怎么用org.bukkit.event.player.PlayerUnleashEntityEvent的API类实例代码及写法,或者点击链接到github查看源代码。
@EventHandler
public void onPlayerUnleashEntity(PlayerUnleashEntityEvent event) {
List<String> denyRiding = Config.REGION_DENYRIDING.getStringList();
Player player = event.getPlayer();
Entity entity = event.getEntity();
NovaPlayer nPlayer = PlayerManager.getPlayer(player);
if(denyRiding.contains(entity.getType().name())) {
if(RegionManager.get(entity) != null
&& (!plugin.getRegionManager().canInteract(player, entity) || (!nPlayer.getPreferences().getBypass() && !nPlayer.hasPermission(GuildPermission.MOB_LEASH)))
&& !(entity instanceof Vehicle) || !PlayerManager.getPlayer(player).isVehicleListed((Vehicle) event.getEntity())) {
event.setCancelled(true);
Message.CHAT_REGION_DENY_UNLEASH.send(player);
}
}
}
/**
* Prevents the leash use
*
* @param e - event
*/
@EventHandler(priority = EventPriority.LOW)
public void onLeashUse(final PlayerUnleashEntityEvent e) {
if (DEBUG) {
plugin.getLogger().info(e.getEventName());
}
if (inWorld(e.getEntity())) {
if (e.getPlayer() != null) {
Player player = e.getPlayer();
if (actionAllowed(player, e.getEntity().getLocation(),SettingsFlag.LEASH)) {
return;
}
Util.sendMessage(player, ChatColor.RED + plugin.myLocale(player.getUniqueId()).islandProtected);
e.setCancelled(true);
e.getPlayer().updateInventory();
}
}
}
@EventHandler
public void onLeadDestroy(PlayerUnleashEntityEvent e) {
if (e != null) {
ChunkEventHelper.handleEntityEvent(e.getPlayer(), e.getEntity(), e);
}
}