Jump to content

Minecraft Java Plugin Virtuelles Kits Inventar Hilfe


 Share

Recommended Posts

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 by OrpheusCorgi001
Link to comment
Share on other sites

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...
B
B