Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Jak poprawić nazwę itemu w pluginie?


smierdziszxd

Rekomendowane odpowiedzi

Opublikowano

Witam mam oto taki kod: 

	public void onBreak(BlockBreakEvent e){
		if(e.isCancelled()) return;
		for(ItemToDrop i : Main.drops){
			if(i.getType().equals(DropType.BLOCK)){
				if(Utils.getChance(i.getChance())){
					if(i.getBlock().equals(e.getBlock().getType())){
						if(!i.getUseY() || e.getBlock().getY() <= i.getMinY()){
							if(!i.getUseTools() || i.getTools().contains(e.getPlayer().getItemInHand().getType())){
								ItemStack toDrop = i.getDrop();
								int amount = Utils.getRandInt(i.getMinAmount() + e.getPlayer().getItemInHand().getEnchantmentLevel(Enchantment.LOOT_BONUS_BLOCKS),
										i.getMaxAmount() + e.getPlayer().getItemInHand().getEnchantmentLevel(Enchantment.LOOT_BONUS_BLOCKS));
								toDrop.setAmount(amount);
								e.getBlock().getWorld().dropItemNaturally(e.getBlock().getLocation(), toDrop);
								e.getPlayer().sendMessage(ChatColor.BLUE + "Znalazłeś: " + toDrop);
								e.getBlock().getWorld().spawn(e.getBlock().getLocation(), ExperienceOrb.class).setExperience(1
										+ e.getPlayer().getItemInHand().getEnchantmentLevel(Enchantment.LOOT_BONUS_BLOCKS));;
							}
						}
					}
				}
			}
		}
	}
}

I Część kodu: e.getPlayer().sendMessage(ChatColor.BLUE + "Znalazłeś: " + toDrop);  

 Problem w tym że chce wyświetlić nazwe itemu np. Diament a mam takie coś :

 

post-917263-0-27368500-1438678255.png


ref


ref


ref

Opublikowano

toDrop to ItemStack, więc jak robisz go w string to wykonuje się toString(), który własnie to zwraca https://github.com/Bukkit/Bukkit/blob/master/src/main/java/org/bukkit/inventory/ItemStack.java#L291-L299

 

Nazwa itemu jest tworzona przez klienta, więc nie pobierzesz jego nazwy z serwera. Możesz wysłać klientowi wiadomość, którą on dopiero podmieni na nazwę itemu (w każdej wersji językowej item nazywa się inaczej). Użyj API Bungee, które jest w Spigocie do tego https://www.spigotmc.org/wiki/the-chat-component-api/

Q8eOMob.png

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...