Bonjour/bonsoir,
Depuis quelques temps déjà, je code des petits plugins simples en JAVA (avec spigot 1.9.4),
mais ayant besoin d'un plugin pour mon hub, je me suis mis en tête de créer le mien.
Voici quelques fonctionnalitées déjà présentes:
Edit:
En effet, quand j'ouvre le menu en cliquant avec mon item,
tout se passe bien, je clique ensuite sur l'item "Interface Admin",
tout reste normal, l'interface s'ouvre avec les items..
Mais quand je clique sur un item, le menu agit comme un coffre,
et le onClick() ne se déclenche pas
Mon Item Builder:
Fonction d'affichage de l'interface admin :
Listener "onClick" qui ne se déclenche pas:
Voilà tout, merci d'avoir pris le temps de regarder mon problème.
Si vous avez des idées n'hésitez pas.
Cordialement,
teidova
PS: je n'ai aucune erreur dans la console, exactement comme un coffre...?
Depuis quelques temps déjà, je code des petits plugins simples en JAVA (avec spigot 1.9.4),
mais ayant besoin d'un plugin pour mon hub, je me suis mis en tête de créer le mien.
Voici quelques fonctionnalitées déjà présentes:
- /hub : téléporte le joueur au spawn
- /ano <message> : broadcast classique
- Give d'un item "Menu" à la connection
- Ouverture d'un menu quand on clic avec l'item (27 slots) qui contient(si le joueur est op) un item "Interface Admin"
- Ouverture de l'interface Admin
Edit:
En effet, quand j'ouvre le menu en cliquant avec mon item,
tout se passe bien, je clique ensuite sur l'item "Interface Admin",
tout reste normal, l'interface s'ouvre avec les items..
Mais quand je clique sur un item, le menu agit comme un coffre,
et le onClick() ne se déclenche pas
Mon Item Builder:
Code:
public ItemStack getItem(Material material,int nombre, String DisplayName) {
ItemStack it = new ItemStack(material, nombre);
ItemMeta Meta = it.getItemMeta();
Meta.setDisplayName(DisplayName);
it.setItemMeta(Meta);
return it;
}
Fonction d'affichage de l'interface admin :
Code:
public void adminInterface(Player player) {
Inventory admininv = Bukkit.createInventory(null, 9, "§cInterface Admin");
admininv.setItem(0, getItem(Material.APPLE, 1, "§7Survie"));
admininv.setItem(1, getItem(Material.BRICK, 1, "§7Créatif"));
admininv.setItem(2, getItem(Material.WOOD_PICKAXE, 1, "§7Aventure"));
admininv.setItem(3, getItem(Material.BARRIER, 1, "§7Spectateur"));
player.openInventory(admininv);
}
Listener "onClick" qui ne se déclenche pas:
Code:
@EventHandler
public void OnClick(InventoryClickEvent event) { //Event qui ne se déclenche que sur le menu
Inventory inv = event.getInventory();
Player player = (Player) event.getWhoClicked();
ItemStack current = event.getCurrentItem();
if(current == null) return;
if(inv.getName().equalsIgnoreCase("§8Menu")) { //clic sur le menu
player.closeInventory();
if(current.getItemMeta().getDisplayName().equalsIgnoreCase("§cInterface Admin")) { //qui ouvre l'interface admin
adminInterface(player);
}
}
player.sendMessage("if effectué"); //Message affiché
if(inv.getName().equalsIgnoreCase("§cInterface Admin")) { //clic sur l'interface admin
player.sendMessage("if = true, détection de l'inventaire"); //Message non-affiché
player.closeInventory();
if(current.getItemMeta().getDisplayName().equalsIgnoreCase("§7Survie")) { //qui met en gm0 le joueur
player.setGameMode(GameMode.SURVIVAL);
player.sendMessage("Détection complète, mise en gm0"); //Message non-affiché
}
}
}
}
Voilà tout, merci d'avoir pris le temps de regarder mon problème.
Si vous avez des idées n'hésitez pas.
Cordialement,
teidova
PS: je n'ai aucune erreur dans la console, exactement comme un coffre...?
Dernière édition: