下面列出了怎么用org.bukkit.event.entity.ItemMergeEvent的API类实例代码及写法,或者点击链接到github查看源代码。
@EventHandler
public void onItemMerge(ItemMergeEvent event) {
// This is already in 1.8.8, but in older 1.8.x versions not (need to check 1.8.8/9 version)
if (event.isCancelled()) {
return;
}
for (String s : Main.getGameNames()) {
Game game = Main.getGame(s);
if (game.getStatus() == GameStatus.RUNNING && game.getOriginalOrInheritedSpawnerDisableMerge()) {
if (GameCreator.isInArea(event.getEntity().getLocation(), game.getPos1(), game.getPos2()) || GameCreator.isInArea(event.getTarget().getLocation(), game.getPos1(), game.getPos2())) {
event.setCancelled(true);
return;
}
}
}
}
@EventHandler
public void onItemMerge(ItemMergeEvent event) {
// This is already in 1.8.8, but in older 1.8.x versions not (need to check 1.8.8/9 version)
if (event.isCancelled()) {
return;
}
for (String s : Main.getGameNames()) {
Game game = Main.getGame(s);
if (game.getStatus() == GameStatus.RUNNING && game.getOriginalOrInheritedSpawnerDisableMerge()) {
if (GameCreator.isInArea(event.getEntity().getLocation(), game.getPos1(), game.getPos2()) || GameCreator.isInArea(event.getTarget().getLocation(), game.getPos1(), game.getPos2())) {
event.setCancelled(true);
return;
}
}
}
}
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onItemMerge(ItemMergeEvent e) {
if (plugin.cfg.dropProtectMode == DropProtectMode.OFF) return;
Item ent = e.getEntity();
Item target = e.getTarget();
if (items.getIfPresent(ent.getEntityId()) != null && items.getIfPresent(target.getEntityId()) == null) {
items.put(target.getEntityId(), items.getIfPresent(ent.getEntityId()));
} else if (items.getIfPresent(ent.getEntityId()) == null && items.getIfPresent(target.getEntityId()) != null) {
items.put(target.getEntityId(), items.getIfPresent(target.getEntityId()));//Refresh
} else if (items.getIfPresent(ent.getEntityId()) != null && items.getIfPresent(target.getEntityId()) != null && items.getIfPresent(ent.getEntityId()) != items.getIfPresent(target.getEntityId())) {
e.setCancelled(true);
}
}
@EventHandler
public void onSuperEggMerge(ItemMergeEvent event) {
if (event.getEntity().getItemStack().hasItemMeta() && event.getEntity().getItemStack().getItemMeta().hasLore() &&
event.getEntity().getItemStack().getItemMeta().getLore().equals(lore)) {
new BukkitRunnable() {
@Override
public void run() {
if (event.getTarget().isValid()) {
event.getTarget().remove();
}
}
}.runTaskLater(MetadataHandler.PLUGIN, 20 * 60);
}
}