Créer un inventaire de bukkit
C'est mon code pour un nouvel Inventaire en 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);
}
Comment pourrais-je ouvrir l'inventaire, une fois créé?
Vous devez vous connecter pour publier un commentaire.
Si vous voulez ouvrir un 3x3 artisanat de la table pour un joueur, vous pouvez simplement appeler
player.openWorkbench()
. La création d'un custom menu de l'interface graphique est un peu plus difficile, cependant. Par exemple, à l'aide deserait d'ouvrir un 1x9 inventaire, contenant un diamant dans le premier emplacement. Si vous souhaitez ajouter d'autres articles, vous pouvez utiliser
mais rappelez-vous, le comptage commence à partir de 0, donc 0 doit être utilisé pour obtenir fente 1, et 1 doit être utilisé pour obtenir fente 2.
Pour ouvrir l'interface graphique en utilisant le code ci-dessus, il suffit d'appeler
openGUI(player)
, où le joueur est le joueur que vous voulez ouvrir.Si vous souhaitez faire quelque chose lorsqu'un joueur clique sur un élément, par exemple disons que le diamant que nous avons créé dans l'emplacement 0 (Slot 1) ci-dessus, vous pouvez faire cela
Maintenant, vous n'avez qu'à enregistrer les événements dans votre fichier Principal de votre
onEnable()
commepuis il suffit de faire de la classe qui a votre
inventoryClick
méthode à mettre en œuvreListener
vous avez maintenant une interface graphique, que lorsque vous appelez
openGUI(player)
joueur d'être le joueur que vous voulez ouvrir le GUI, il sera ouvert un GUI qui est 1x9, avoir un diamant dans l'emplacement 0 (Slot 1), qui lorsqu'il est cliqué messages le joueur "Vous avez cliqué sur le diamant!" Bonne chance!p.openWorkbench
vous n'étendez pas votre classe comme un Inventaire, mais plutôt d'utiliser ce:
http://jd.bukkit.org/rb/doxygen/d4/da9/interfaceorg_1_1bukkit_1_1Server.html#a509ae49c355653a3ac68c61a7b2c5194
Exemple:
et ensuite utiliser
myInventory.open(player);