#plugins #minecraft #bukkit
Вопрос:
Я перепробовал все, но с помощью этого кода предметы, которые я получаю за убийство игрока, будут иметь базовое название Minecraft, почему? Я перепробовал все. Может ли другой плагин блокировать его? В чем может быть проблема? Java, intellijidea, код 1.8:
public class killitem implements Listener {
private random plugin = random.getPlugin(random.class);
@EventHandler
public void onPlayerDeath(PlayerDeathEvent e) {
Player player = e.getEntity();
Player killer = player.getKiller();
//Enderpearl
ItemStack is = new ItemStack(Material.ENDER_PEARL);
ItemMeta meta = is.getItemMeta();
meta.setDisplayName("" ChatColor.GOLD ChatColor.YELLOW ChatColor.BOLD "Véggyöngy");
ArrayList<String> lore = new ArrayList();
//Blaze rod
ItemStack is2 = new ItemStack(Material.BLAZE_ROD);
ItemMeta meta2 = is2.getItemMeta();
meta.setDisplayName("" ChatColor.GOLD ChatColor.DARK_RED ChatColor.BOLD "Mentőrúd");
ArrayList<String> lore2 = new ArrayList();
lore.add("|" ChatColor.RED "Jobb klikk: |" ChatColor.DARK_GRAY " ▪ " ChatColor.GRAY "Feltölti " ChatColor.RED "teljesen " ChatColor.GRAY "az életedet!");
meta.setLore(lore2);
is2.setItemMeta(meta2);
//Csillag
ItemStack is3 = new ItemStack(Material.NETHER_STAR);
ItemMeta meta3 = is3.getItemMeta();
meta.setDisplayName("" ChatColor.DARK_GREEN ChatColor.BOLD "Második Esély");
ArrayList<String> lore3 = new ArrayList();
lore.add("|" ChatColor.GREEN "Jobb klikk: |" ChatColor.DARK_GRAY " ▪ " ChatColor.GRAY "Feldob " ChatColor.RED "60 " ChatColor.GRAY "blokk magasra!");
meta.setLore(lore3);
//Toll
ItemStack is4 = new ItemStack(Material.FEATHER);
ItemMeta meta4 = is4.getItemMeta();
meta.setDisplayName("" ChatColor.AQUA ChatColor.BOLD "Speed");
ArrayList<String> lore4 = new ArrayList();
lore.add("|" ChatColor.AQUA "Jobb klikk: |" ChatColor.DARK_GRAY " ▪ " ChatColor.GRAY "Speed 4-et kapsz " ChatColor.AQUA "10 " ChatColor.GRAY "másodpercre!");
meta.setLore(lore4);
//Quartz
ItemStack is5 = new ItemStack(Material.QUARTZ);
ItemMeta meta5 = is5.getItemMeta();
meta.setDisplayName("" ChatColor.RED ChatColor.BOLD "Instant Health");
ArrayList<String> lore5 = new ArrayList();
lore.add("|" ChatColor.RED "Jobb klikk: |" ChatColor.DARK_GRAY " ▪ " ChatColor.GRAY "Feltölti " ChatColor.RED "teljesen " ChatColor.GRAY "az életed!");
meta.setLore(lore5);
//Aranyalma
ItemStack is6 = new ItemStack(Material.GOLDEN_APPLE);
ItemMeta meta6 = is6.getItemMeta();
meta.setDisplayName("" ChatColor.YELLOW "Aranyalma");
ArrayList<String> lore6 = new ArrayList();
int upper = 5;
Random random = new Random();
random.nextInt(5 (upper));
if (player.isDead()) {
player.getKiller();
if (player.getKiller() instanceof Player) {
random.nextInt(5 (upper));
if (random.nextInt(5 (upper)) == 6) {
killer.getInventory().addItem(is2);
is2.setItemMeta(meta2);
} else if (random.nextInt(5 (upper)) == 7) {
killer.getInventory().addItem(is3);
is3.setItemMeta(meta3);
} else if (random.nextInt(5 (upper)) == 8) {
killer.getInventory().addItem(is4);
is4.setItemMeta(meta4);
} else if (random.nextInt(5 (upper)) == 9) {
killer.getInventory().addItem(is);
killer.getInventory().addItem(is6);
is6.setItemMeta(meta6);
is.setItemMeta(meta);
}
} else if (random.nextInt(5 (upper)) == 10) {
}
}
}
}
Комментарии:
1. не работает, neirda3052
Ответ №1:
хорошо, попробуйте сначала установить метку, а затем дать ее
if (random.nextInt(5 (upper)) == 6) {
is2.setItemMeta(meta2);//like this
killer.getInventory().addItem(is2);
Ответ №2:
Попробуйте использовать это:
public class killitem implements Listener {
private random plugin = random.getPlugin(random.class);
@EventHandler
public void onPlayerDeath(PlayerDeathEvent e) {
bukkit.getscheduler().runTask(plugin, ()->giveItemForKiller(e));
}
private void giveItemForKiller(PlayerDeathEvent e) {
Player player = e.getEntity();
Player killer = player.getKiller();
//Enderpearl
ItemStack is = new ItemStack(Material.ENDER_PEARL);
ItemMeta meta = is.getItemMeta();
meta.setDisplayName("" ChatColor.GOLD ChatColor.YELLOW ChatColor.BOLD "Véggyöngy");
ArrayList<String> lore = new ArrayList();
//Blaze rod
ItemStack is2 = new ItemStack(Material.BLAZE_ROD);
ItemMeta meta2 = is2.getItemMeta();
meta.setDisplayName("" ChatColor.GOLD ChatColor.DARK_RED ChatColor.BOLD "Mentőrúd");
ArrayList<String> lore2 = new ArrayList();
lore.add("|" ChatColor.RED "Jobb klikk: |" ChatColor.DARK_GRAY " ▪ " ChatColor.GRAY "Feltölti " ChatColor.RED "teljesen " ChatColor.GRAY "az életedet!");
meta.setLore(lore2);
is2.setItemMeta(meta2);
//Csillag
ItemStack is3 = new ItemStack(Material.NETHER_STAR);
ItemMeta meta3 = is3.getItemMeta();
meta.setDisplayName("" ChatColor.DARK_GREEN ChatColor.BOLD "Második Esély");
ArrayList<String> lore3 = new ArrayList();
lore.add("|" ChatColor.GREEN "Jobb klikk: |" ChatColor.DARK_GRAY " ▪ " ChatColor.GRAY "Feldob " ChatColor.RED "60 " ChatColor.GRAY "blokk magasra!");
meta.setLore(lore3);
//Toll
ItemStack is4 = new ItemStack(Material.FEATHER);
ItemMeta meta4 = is4.getItemMeta();
meta.setDisplayName("" ChatColor.AQUA ChatColor.BOLD "Speed");
ArrayList<String> lore4 = new ArrayList();
lore.add("|" ChatColor.AQUA "Jobb klikk: |" ChatColor.DARK_GRAY " ▪ " ChatColor.GRAY "Speed 4-et kapsz " ChatColor.AQUA "10 " ChatColor.GRAY "másodpercre!");
meta.setLore(lore4);
//Quartz
ItemStack is5 = new ItemStack(Material.QUARTZ);
ItemMeta meta5 = is5.getItemMeta();
meta.setDisplayName("" ChatColor.RED ChatColor.BOLD "Instant Health");
ArrayList<String> lore5 = new ArrayList();
lore.add("|" ChatColor.RED "Jobb klikk: |" ChatColor.DARK_GRAY " ▪ " ChatColor.GRAY "Feltölti " ChatColor.RED "teljesen " ChatColor.GRAY "az életed!");
meta.setLore(lore5);
//Aranyalma
ItemStack is6 = new ItemStack(Material.GOLDEN_APPLE);
ItemMeta meta6 = is6.getItemMeta();
meta.setDisplayName("" ChatColor.YELLOW "Aranyalma");
ArrayList<String> lore6 = new ArrayList();
int upper = 5;
Random random = new Random();
random.nextInt(5 (upper));
if (player.isDead()) {
player.getKiller();
if (player.getKiller() instanceof Player) {
random.nextInt(5 (upper));
if (random.nextInt(5 (upper)) == 6) {
killer.getInventory().addItem(is2);
is2.setItemMeta(meta2);
} else if (random.nextInt(5 (upper)) == 7) {
killer.getInventory().addItem(is3);
is3.setItemMeta(meta3);
} else if (random.nextInt(5 (upper)) == 8) {
killer.getInventory().addItem(is4);
is4.setItemMeta(meta4);
} else if (random.nextInt(5 (upper)) == 9) {
killer.getInventory().addItem(is);
killer.getInventory().addItem(is6);
is6.setItemMeta(meta6);
is.setItemMeta(meta);
}
} else if (random.nextInt(5 (upper)) == 10) {
}
}
}
}