Erstellen Sie ein benutzerdefiniertes Inventar in bukkit
Dies ist mein code für eine neue Bestandsaufnahme in Bukkit
.
package com;
import org.bukkit.craftbukkit.v1_6_R2.inventory.CraftInventoryCustom;
import org.bukkit.inventory.*;
public class Server_Doc extends CraftInventoryCustom implements CraftingInventory, Inventory {
InventoryHolder IH;
public Server_Doc(InventoryHolder owner, int size) {
super(owner, size);
ItemStack items = new ItemStack(278);
((Inventory) owner).addItem(items);
//TODO Auto-generated constructor stub
}
@Override
public ItemStack[] getMatrix() {
//TODO Auto-generated method stub
return null;
}
@Override
public Recipe getRecipe() {
//TODO Auto-generated method stub
return null;
}
@Override
public ItemStack getResult() {
//TODO Auto-generated method stub
return null;
}
@Override
public void setMatrix(ItemStack[] contents) {
//TODO Auto-generated method stub
}
@Override
public void setResult(ItemStack newResult) {
//TODO Auto-generated method stub
}
//Inventory inv = Server_Doc(IH,8);
}
Wie konnte ich das Inventar öffnest, einmal erstellt?
InformationsquelleAutor The XGood | 2014-01-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie möchten, öffnen Sie ein 3x3-crafting-Tabelle für einen Spieler, den Sie einfach aufrufen kann
player.openWorkbench()
. Erstellen Sie eine benutzerdefinierte GUI-Menü ist ein bisschen schwieriger, aber. Zum Beispiel mitwürde einen 1x9 Bestand, mit einem Diamant in den ersten slot. Wenn Sie wollten, um weitere Gegenstände hinzuzufügen, die Sie nutzen könnten
aber denken Sie daran, die Zählung beginnt von 0, so 0 muss verwendet werden, um slot 1, und 1 muss verwendet werden, um slot 2.
Öffnen Sie die GUI mit dem obigen code, rufen Sie einfach
openGUI(player)
, wo Spieler ist der Spieler, den Sie möchten, um es zu öffnen.Wenn Sie möchten, etwas zu tun, wenn ein Spieler auf ein Element klickt, zum Beispiel lassen Sie uns sagen, dass die Diamanten, die wir erstellt haben, die in Steckplatz 0 (Slot 1) oben, Sie könnten dies tun
Nun müssen Sie nur zu registrieren Ereignisse in der Main-Datei in Ihrem
onEnable()
wie sodann stellen Sie einfach die Klasse, die hat Ihren
inventoryClick
Methode implementierenListener
jetzt haben Sie eine voll funktionsfähige GUI, dass, wenn Sie nennen
openGUI(player)
Spieler, die Spieler, den Sie möchten, öffnen Sie die GUI, es öffnet sich ein GUI, 1x9, mit einem Diamant in Steckplatz 0 (Slot 1), dass, wenn darauf geklickt Nachrichten der Spieler "Sie klickte auf den Diamant!" Viel Glück!In diesem Fall, der einzige code, den Sie brauchen, ist
p.openWorkbench
InformationsquelleAutor Jojodmo
Sie nicht erweitern Sie Ihre Klasse als eine Bestandsaufnahme, sondern eher diese:
http://jd.bukkit.org/rb/doxygen/d4/da9/interfaceorg_1_1bukkit_1_1Server.html#a509ae49c355653a3ac68c61a7b2c5194
Beispiel:
und verwenden Sie dann
myInventory.open(player);
InformationsquelleAutor fox_news