@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onArmorStandClick(PlayerInteractAtEntityEvent event) {
if (event.getRightClicked() instanceof ArmorStand) {
PlayerInteractEntityEvent pie = new PlayerInteractEntityEvent(event.getPlayer(), event.getRightClicked());
plugin.getServer().getPluginManager().callEvent(pie);
if (pie.isCancelled()) {
return;
}
ArmorStand armorStand = (ArmorStand) event.getRightClicked();
if (plugin.hasWaitingAction(event.getPlayer())) {
event.setCancelled(true);
plugin.calculateAction(event.getPlayer(), armorStand, plugin.getWaitingAction(event.getPlayer()));
plugin.removeWaitingAction(event.getPlayer());
return;
}
if (plugin.getPersistentAction(event.getPlayer()) != null) {
event.setCancelled(true);
plugin.calculateAction(event.getPlayer(), armorStand, plugin.getPersistentAction(event.getPlayer()));
return;
}
if (event.getPlayer().getItemInHand().getType() == Material.NAME_TAG) {
ItemStack hi = event.getPlayer().getItemInHand();
if (hi.hasItemMeta() && hi.getItemMeta().hasDisplayName()) {
if (event.getPlayer().hasPermission("editarmorstands.nametag.name")) {
event.setCancelled(true);
String name = hi.getItemMeta().getDisplayName();
if (event.getPlayer().hasPermission("editarmorstands.nametag.name.colored")) {
name = ChatColor.translateAlternateColorCodes('&', name);
} else {
name = ChatColor.ITALIC + name;
}
armorStand.setCustomName(name + ChatColor.RESET);
armorStand.setCustomNameVisible(true);
if (event.getPlayer().getGameMode() != GameMode.CREATIVE) {
if (hi.getAmount() > 1) {
hi.setAmount(hi.getAmount() - 1);
} else {
event.getPlayer().setItemInHand(new ItemStack(Material.AIR));
}
event.getPlayer().updateInventory();
}
return;
}
} else if (event.getPlayer().hasPermission("editarmorstands.nametag.name.clear")) {
event.setCancelled(true);
armorStand.setCustomName("");
armorStand.setCustomNameVisible(false);
return;
}
} else if (!event.getPlayer().isSneaking() && event.getPlayer().hasPermission("editarmorstands.openinventory")) {
event.setCancelled(true);
ArmorStandGui gui = new ArmorStandGui(plugin, armorStand, event.getPlayer());
gui.show();
}
}
}
java类org.bukkit.event.player.PlayerInteractAtEntityEvent的实例源码
ArmorStandListener.java 文件源码
项目:EditArmorStands
阅读 28
收藏 0
点赞 0
评论 0
LotsListener.java 文件源码
项目:Peacecraft
阅读 23
收藏 0
点赞 0
评论 0
@EventHandler
public void onPlayerInteractAtEntity(PlayerInteractAtEntityEvent event) {
this.onPlayerInteractEntity(event);
}
ProtectListener.java 文件源码
项目:Peacecraft
阅读 23
收藏 0
点赞 0
评论 0
@EventHandler
public void onPlayerInteractAtEntity(PlayerInteractAtEntityEvent event) {
this.onPlayerInteractEntity(event);
}
ExtendEventExecutor.java 文件源码
项目:PlayerSQL
阅读 18
收藏 0
点赞 0
评论 0
@EventHandler(ignoreCancelled = true, priority = HIGHEST)
public void handle(PlayerInteractAtEntityEvent event) {
if (manager.isLocked(event.getPlayer().getUniqueId())) {
event.setCancelled(true);
}
}
ExtendEventExecutor.java 文件源码
项目:PlayerSQL
阅读 16
收藏 0
点赞 0
评论 0
@EventHandler(priority = LOWEST)
public void pre(PlayerInteractAtEntityEvent event) {
handle(event);
}
ObserverModule.java 文件源码
项目:CardinalPGM
阅读 22
收藏 0
点赞 0
评论 0
@EventHandler
public void PlayerInteractAtEntityEvent(PlayerInteractAtEntityEvent event) {
if (testObserverOrDead(event.getPlayer())) {
event.setCancelled(true);
}
}
PlayerListener18.java 文件源码
项目:AuthMeReloaded
阅读 18
收藏 0
点赞 0
评论 0
@EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST)
public void onPlayerInteractAtEntity(PlayerInteractAtEntityEvent event) {
if (listenerService.shouldCancelEvent(event)) {
event.setCancelled(true);
}
}
PlayerListener18Test.java 文件源码
项目:AuthMeReloaded
阅读 15
收藏 0
点赞 0
评论 0
@Test
public void shouldCancelEvent() {
withServiceMock(listenerService)
.check(listener::onPlayerInteractAtEntity, PlayerInteractAtEntityEvent.class);
}
CustomItem.java 文件源码
项目:NBTEditor
阅读 32
收藏 0
点赞 0
评论 0
public void onInteractAtEntity(PlayerInteractAtEntityEvent event, PlayerDetails details) { }