Wie kann ich einem Spieler ein Item setzen was enchanted ist?
Hier mein Jetziger Code:
package de.mischmaschine.util;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
public class KnockUtil {
@EventHandler
public void OnJoinEvent(PlayerJoinEvent e) {
Player p = e.getPlayer();
ItemStack stick = new ItemStack(Material.STICK);
p.getInventory().addItem(stick);;
stick.addEnchantment(Enchantment.KNOCKBACK, 2);
ItemStack item = new ItemStack(Material.STICK, 1);
ItemMeta meta = item.getItemMeta();
meta.setDisplayName("§a§lKnüppel");
item.setItemMeta(meta);
p.getInventory().setItem(0, item);
e.setJoinMessage("");
}
@SuppressWarnings("deprecation")
public static String getUUIDbyName(String name) {
return Bukkit.getOfflinePlayer(name).getUniqueId().toString();
}
}
Was genau funktioniert hier nicht?
2 Antworten
Hallo,
probier mal aus, was passiert, wenn du das hier schreibst:
stick.addEnchantment(Enchantment.KNOCKBACK, 2, true);
Quasi genau das, nur mit einem "true" hinten dran.
LG
Woher ich das weiß:eigene Erfahrung – Minecraft-Spieler seit 4 Jahren
Mrredstone
26.01.2020, 14:47
@Mischmaschin857
Hmm ich schaue mal, wie das bei mir geht...
Bei mir (1.8.9) geht es mit dem Code:
itemMeta.addEnchant(enchantment, level, true);
@Mrredstone
Habe es schon anders gelöst! Danke für deine Hilfe (stick.addUnsafeEnchantment(Enchantment.KNOCKBACK, 2));
Hi,
Versuch's mal in der Zeile mit dem Enchantment mit folgendem:
stick.addUnsafeEnchantment(Enchantment.KNOCKBACK, 2);
Muss nicht funktionieren. Ist aber ein Ansatz ;)
Woher ich das weiß:eigene Erfahrung
Wenn ich das true hinten dran machen möchte, steht da, dass ich es entfernen sollte (Eclipse)