Comment faire en sorte qu'un joueur ne puisse pas prendre un item d'un inventaire

Bilhox

Aventurier
3 Janvier 2020
40
0
10
23
Bonjour,
Je souhaite savoir comment faire pour qu'un joueur ne puisse pas prendre un objet d'un inventaire qu'on a créer quand il est ouvert .
Je parle bien évidemment que quand il prend l'item , l'item reviens à sa place initiale .
 

Bilhox

Aventurier
3 Janvier 2020
40
0
10
23
Donc si j'ai suivi un peu le wiki , il faut que je crée une méthode iscanceled.
 

Detobel36

Créateur de plugins (PhoenixRebirth)
Support
17 Août 2012
10 531
24
2 247
347
28
Bruxelles - Belgique
www.phoenix-rebirth.fr
Salut,

Pourquoi créer une méthode ?
L'event existe déjà...
Java:
@EventHandler
public void onInventoryInteractEvent(InventoryInteractEvent event) {
    // Faire les vérifications que c'est ton inventaire (et qu'il faut cancel)
    event.setCancelled(true);
}


Cordialement,
Detobel36
 

Bilhox

Aventurier
3 Janvier 2020
40
0
10
23
Excusez moi je m'étais mal exprimée je voulais dire employer la méthode iscanceled.
Merci pour votre aide !
 

Bilhox

Aventurier
3 Janvier 2020
40
0
10
23
Bonjour,
J'ai encore fais une erreur (enfin je parie que c'est une erreur bête) regardez ce que j'ai écrit :

if(current.getType() == material.fireball && current.getitemmeta().getdisplayname().equalsIgnorecase("Vos points")){

Évent.setcanceled(true);
Player.sendmessage("Coming soon");

}
 
Dernière édition:

Detobel36

Créateur de plugins (PhoenixRebirth)
Support
17 Août 2012
10 531
24
2 247
347
28
Bruxelles - Belgique
www.phoenix-rebirth.fr
Salut,

Je t'ai déjà dit de ne pas mettre d'accent dans tes variables.
Au passage, les variables en Java commencent toujours par une minuscule (contrairement au class). Il vaut mieux faire "equals" que "==".
Quest-ce qui ne marche pas ? La tu vérifies sur quel item on clic. Si tu veux éviter toutes les intéreactions, tu es mieux de récupérer l'inventaire et de regarder son nom.

Fait attention aussi c'est "cancelled" avec 2 "l".

Java:
if(current != null && current.getType().equals(Material.FIREBALL) && curent.getItemMeta() != null 
        && curent.getItemMeta().getDisplayName().equalsIgnoreCase("Vos points")) {
    event.setCancelled(true);
    player.sendMessage("Coming soon");
}


Cordialement,
Detobel36
 

Bilhox

Aventurier
3 Janvier 2020
40
0
10
23
Bonjour,
Je m'excuse j'avais bien suivi votre conseil de ne pas mettre des accents , c'est juste mon téléphone qui fais corrigée les fautes entre guillemets .
Donc si je comprends bien si la personne clic sur l'item en question dans l'inventaire (conditions que j'ai oublié de montrer) , l'item reviens à sa place initiale .