OrpheusCorgi001 Geschrieben 8. Oktober 2014 Share Geschrieben 8. Oktober 2014 (bearbeitet) Hey Leute, Ich habe für meinen Minecraft Server ein Plugin geschrieben das wenn ich /kits eingebe ein Virtuelles Inventar mit Kits kommt. Das funktioniert auch aber die Kits sollten eigene haben und diese sollten in farbe sein aber wenn ich dann auf das Kit mit der Maus drüber gehe steht da der Name von dem Item. Das sollten die Linien für den Namen und der Farbe sein: ItemStack istack3 = new ItemStack(Material.BOW);ItemMeta imeta3 = istack.getItemMeta();imeta3.setDisplayName("?f?lBogenschuetze"); Gesamter Code Seite 1: package main;import org.bukkit.Material;import org.bukkit.command.Command;import org.bukkit.command.CommandSender;import org.bukkit.entity.Player;import org.bukkit.inventory.Inventory;import org.bukkit.inventory.ItemStack;import org.bukkit.inventory.meta.ItemMeta;import org.bukkit.plugin.java.JavaPlugin;import KitsPack.KitsClass;public class Kits extends JavaPlugin {private Inventory inv=null;public void onEnable() {System.out.println("--=--=--=--=--=--= | Plugin gestartet! | =--=--=--=--=--=--");getServer().getPluginManager().registerEvents(new KitsClass(), this);}public void onDisable() {System.out.println("--=--=--=--=--=--= | Plugin gestoppt! | =--=--=--=--=--=--");}public boolean onCommand (CommandSender sender, Command cmd, String cmdLabel, String[] args) {Player p = (Player)sender;if (cmd.getName().equalsIgnoreCase("Kits")) {if(p.hasPermission("Kits.Use")) {inv = p.getPlayer().getServer().createInventory(null, 27, "Kits");ItemStack istack = new ItemStack(Material.IRON_PICKAXE);ItemMeta imeta = istack.getItemMeta();imeta.setDisplayName("?f?lMiner");ItemStack istack2 = new ItemStack(Material.IRON_SWORD);ItemMeta imeta2 = istack.getItemMeta();imeta2.setDisplayName("?f?lKaempfer");ItemStack istack3 = new ItemStack(Material.BOW);ItemMeta imeta3 = istack.getItemMeta();imeta3.setDisplayName("?f?lBogenschuetze");inv.setItem(10, istack);inv.setItem(13, istack2);inv.setItem(16, istack3);//[][][][][][][][][]//[][][][][][][][][]//[][][][][][][][][]p.getPlayer().openInventory(inv);}}return false;}} Gesamter Code Seite 2: package KitsPack;import org.bukkit.Material;import org.bukkit.enchantments.Enchantment;import org.bukkit.entity.Player;import org.bukkit.event.EventHandler;import org.bukkit.event.Listener;import org.bukkit.event.inventory.InventoryClickEvent;import org.bukkit.inventory.ItemStack;import org.bukkit.potion.PotionEffect;import org.bukkit.potion.PotionEffectType;public class KitsClass implements Listener {@EventHandlerpublic void Inventory (InventoryClickEvent event) {Player p = (Player) event.getWhoClicked();ItemStack Bogen = new ItemStack(Material.BOW);Bogen.addUnsafeEnchantment(Enchantment.ARROW_INFINITE, 1);if (event.getInventory().getName().equalsIgnoreCase("Kits")) {event.setCancelled(true);ItemStack HaltSteinSchwert = new ItemStack(Material.STONE_SWORD);HaltSteinSchwert.addUnsafeEnchantment(Enchantment.DURABILITY, 3);if(event.getCurrentItem().getType() == Material.IRON_PICKAXE) {p.getInventory().addItem(new ItemStack(Material.IRON_PICKAXE));p.getInventory().addItem(new ItemStack(Material.IRON_SPADE));p.getInventory().addItem(new ItemStack(Material.IRON_AXE));p.sendMessage("?8[?7MySuperServer?8] ?aDu hast das ?4Miner ?aKit gewählt!");event.getView().close();}else if(event.getCurrentItem().getType() == Material.IRON_SWORD) {p.getInventory().addItem(new ItemStack(Material.IRON_SWORD));p.getInventory().addItem(new ItemStack(Material.IRON_CHESTPLATE));p.getInventory().addItem(new ItemStack(Material.IRON_HELMET));p.sendMessage("?8[?7MySuperServer?8] ?aDu hast das ?4Kämpfer ?aKit gewählt!");event.getView().close();}else if(event.getCurrentItem().getType() == Material.BOW) {p.getInventory().addItem(Bogen);p.getInventory().addItem(new ItemStack(Material.ARROW));p.getInventory().addItem(new ItemStack(Material.CHAINMAIL_CHESTPLATE));p.sendMessage("?8[?7MySuperServer?8] ?aDu hast das ?4Bogen ?aKit gewählt!");event.getView().close();}else if(event.getCurrentItem().getType() == Material.GLASS_BOTTLE) {p.addPotionEffect(new PotionEffect(PotionEffectType.JUMP, 5000, 2));p.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 5000, 2));p.sendMessage("?8[?7MySuperServer?8] ?aDu hast das ?4Effekte ?aKit gewählt!");event.getView().close();}}}} bearbeitet 8. Oktober 2014 von OrpheusCorgi001 Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Baustein Geschrieben 9. Oktober 2014 Share Geschrieben 9. Oktober 2014 Das ist ganz einfach zu erklären Du hast die ItemMeta vom Item genommen und verändert. Jetzt hast du eine eigene ItemMeta, die den Namen auch tatsächlich so modifiziert hat, wie du es willst, jedoch gehört die nicht mehr zu dem Item. Also muss du bloß noch eine Zeile anhängen: itemStack.setItemMeta(itemMeta); Ein wenig Transferleistung ist hier dennoch gefragt, schließlich musst du itemStack und itemMeta noch entsprechend einsetzen. Liebe Grüße, Baustein Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden