Jump to content

Minecraft Java Plugin Virtuelles Kits Inventar Hilfe


Empfohlene Beiträge

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 von OrpheusCorgi001
Link zu diesem Kommentar
Auf anderen Seiten teilen

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

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...
B
B