Farbige Items MINECRAFT Java?
Hai Leute,
ich programmiere gerade ein Minecraft-Lobby System und dazu gehört natürlich auch ein player hider.
Meine Frage:
Wie kann ich im Itemstack z.b. Grünen Farbstoff hinzufügen?
Sachen wie Dye_green / green_dye usw hat nix gebracht.
LG
Welche Minecraft Version?
Je nach Version geht‘s nämlich anders.
1.8.*
3 Antworten
ItemStack redcolor = new ItemStack( Material.DYE, 1, (byte)1 );
für Rote Farbe.
ItemStack greencolor = new ItemStack( Material.DYE, 1, (byte)10 );
für Grüne Farbe.
Falls du irgend eine andere Farbe willst, einfach die Zahl hinter Byte austauschen. Welche Farbe welche Zahl hat siehst du hier, bei „Item Data“: https://minecraftitemids.com/types/dye
So?:
ItemStack greencolor = new ItemStack(Material.INK_SACK, 1, (byte)10);
ItemStack purplecolor = new ItemStack(Material.INK_SACK, 1, (byte)5 );
ItemStack redcolor = new ItemStack(Material.INK_SACK, 1, (byte)1 );
Wie soll ich das hier rein?
if (e.getItem().getType() == Material.BLAZE_ROD && e.getItem().getItemMeta().getDisplayName().equalsIgnoreCase("6lSpieler verstecken")) {
final Inventory inv = Bukkit.createInventory((InventoryHolder)e.getPlayer(), 27, this.nameHide);
final ItemStack itemSee = new ItemStack(Material.BLAZE_ROD);
final ItemMeta itemmetaSee = itemSee.getItemMeta();
itemmetaSee.setDisplayName(this.nameHideSee);
itemSee.setItemMeta(itemmetaSee);
final ItemStack itemVIP = new ItemStack(Material.NETHER_STAR);
final ItemMeta itemmetaVIP = itemVIP.getItemMeta();
itemmetaVIP.setDisplayName(this.nameHideVIP);
itemVIP.setItemMeta(itemmetaVIP);
final ItemStack itemNone = new ItemStack(Material.BARRIER);
final ItemMeta itemmetaNone = itemNone.getItemMeta();
itemmetaNone.setDisplayName(this.nameHideVIP);
itemNone.setItemMeta(itemmetaNone);
Einfach bei allen drei „final Itemstack name = new Itemstack(...)“ das in der Klammer austauschen.
also (Material.BLAZE_ROD) mit (Material.INK_SACK, 1, (byte) 10)
usw.
In dem du beim erstellen des ItemStacks eine subID übergibst. Beispiel:
ItemStack itemStack = new ItemStack(Material, amount, (short) subId);
Du musst einfach nur für Material das dye-Material nehmen, anstatt amount die Anzahl hinschreiben, und anstatt subId die Zahl für die Farbe....
ItemStack color = new ItemStack( Material.DYE, 1, (byte)5 );
gibt dir z.B. eine Lila Farbe.
Wie soll ich das hier verwenden/veränmdern:
if (e.getItem().getType() == Material.BLAZE_ROD && e.getItem().getItemMeta().getDisplayName().equalsIgnoreCase("6lSpieler verstecken")) {
final Inventory inv = Bukkit.createInventory((InventoryHolder)e.getPlayer(), 27, this.nameHide);
final ItemStack itemSee = new ItemStack(Material.BLAZE_ROD);
final ItemMeta itemmetaSee = itemSee.getItemMeta();
itemmetaSee.setDisplayName(this.nameHideSee);
itemSee.setItemMeta(itemmetaSee);
final ItemStack itemVIP = new ItemStack(Material.NETHER_STAR);
final ItemMeta itemmetaVIP = itemVIP.getItemMeta();
itemmetaVIP.setDisplayName(this.nameHideVIP);
itemVIP.setItemMeta(itemmetaVIP);
final ItemStack itemNone = new ItemStack(Material.BARRIER);
final ItemMeta itemmetaNone = itemNone.getItemMeta();
itemmetaNone.setDisplayName(this.nameHideVIP);
itemNone.setItemMeta(itemmetaNone);
Kann sein, dass du anstatt dem
(short) ein (byte) schreiben musst. Wie bei meiner Antwort.
Müsste beides gehen - ich nutze jedenfalls immer einen short.
Würden auch die ID`s gehen?
Weiß ich nicht - je nach dem, wie man die ins plugin einbindet
Bei der Nachfrage steht doch er spielt auf 1.8...
Warum gibst du ihm dann eine Antwort für 1.13 ....
Ich hab einfach nur nachgegooglet. Ich spiele kein Minecraft mehr.
Geht nicht
DYE cannot be resolved or is not a field