OrpheusCorgi001 Posted October 8, 2014 Share Posted October 8, 2014 (edited) 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();}}}} Edited October 8, 2014 by OrpheusCorgi001 Link to comment Share on other sites More sharing options...
Baustein Posted October 9, 2014 Share Posted October 9, 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 to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now