Welcome to Bukkit France

Inscrivez-vous maintenant pour profiter d'un accès total à tout le contenu offert par la meilleur communauté Bukkit française ! Une fois inscrit et connecté, vous pourrez contribuez à la communauté en postant vos propres sujets et questions ou en répondant à ceux existants. Vous pourrez aussi customiser votre profil, recevoir des points de réputations, communiquer avec les autres membres via le chat, et plus encore! 

  • Annonces

    • Pskyco

      Bukkit France passe sous Discord !   02/20/16

      Bukkit France est désormais passé sur Discord, au revoir donc notre vieux Teamspeak ! Téléchargez le client et venez nous rejoindre sur notre salon en suivant les instructions suivantes.
      M-à-j du 25/02/2017 : Désormais, seuls les comptes actifs sur le forum se verront donner l'accès au Discord, ce dernier n'est pas une plateforme d'aide de la même manière que le chat.
brigamers

Creative inventory click event

11 messages dans ce sujet

Bonjour,

 

Version: 1.7.10

API: Aucune

Logiciel: Eclipse

 

Je cherche désespérément un event qui est appeler lorsque le joueur prend quelque chose dans l'inventaire créatif.

 

Par exemple, si il clique sur la roche (le 1er item), que l'event s'enclenche. 

 

Existe il un tel event ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) (modifié)

Normalement ceci devrait fonctionner:

@EventHandler
public void onInventoryClick(InventoryClickEvent e)
	{
		if (e.getWhoClicked().getGameMode() == GameMode.CREATIVE)
		{
			if (e.getInventory().getType() == InventoryType.CREATIVE)
			{
				ItemStack i = e.getCurrentItem();
				System.out.println(e.getWhoClicked().getName() + " a cliqué sur un item dans l'inv créatif");
			}
		}
	}

 

Modifié par YagElyts
3 personnes aiment ça

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 1 heure, YagElyts a dit :

Normalement ceci devrait fonctionner:


@EventHandler
public void onInventoryClick(InventoryClickEvent e)
	{
		if (e.getWhoClicked().getGameMode() == GameMode.CREATIVE)
		{
			if (e.getInventory().getType() == InventoryType.CREATIVE)
			{
				ItemStack i = e.getCurrentItem();
				System.out.println(e.getWhoClicked().getName() + " a cliqué sur un item dans l'inv créatif");
			}
		}
	}

 

Bien évidemment, il faut rajouter des conditions de non nullité.

4 personnes aiment ça

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci de vos réponse, mais cela ne marche pas. Ce système permet en effet de voir tout les click dans l'inventaire créatif du joueur  (4 × 9)

Mais pas dans les onglets créatif.

Merci de vos réponses !

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 13 heures, brigamers a dit :

Merci de vos réponse, mais cela ne marche pas. Ce système permet en effet de voir tout les click dans l'inventaire créatif du joueur  (4 × 9)

Mais pas dans les onglets créatif.

Merci de vos réponses !

 

Il me semble que ce soit impossible de récupérer l'onglet.

Partager ce message


Lien à poster
Partager sur d’autres sites

Impossible de recuperer dans quel onglet on se trouve ou sur quel item on click ?

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai peu etre trouver une solution :

A chaque tick regarder l'item qui est sous le curseur de la souris, et si :

- le joueur est en créatif

- Le joueur a ouvert un inventaire

- le joueur n'a pas déclancher l'event clickinventory

- le contenu passe de AIR à "item"

Alors l'item vient d'un tab créatif.

 

Croyez vous que créer un event suivant ce modele marcherait ?

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 7 heures, brigamers a dit :

J'ai peu etre trouver une solution :

A chaque tick regarder l'item qui est sous le curseur de la souris, et si :

- le joueur est en créatif

- Le joueur a ouvert un inventaire

- le joueur n'a pas déclancher l'event clickinventory

- le contenu passe de AIR à "item"

Alors l'item vient d'un tab créatif.

 

Croyez vous que créer un event suivant ce modele marcherait ?

Pas très optimisé côté performances à mon avis

Partager ce message


Lien à poster
Partager sur d’autres sites

Je sais, mais je ne vois pas trop comment faire autrement

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai commencer a faire l'event custom, seulement voila :

Je n'arrive pas a récupérer l'item sous le curseur du joueur.

J'ai fais un test comme ceci :

p.sendMessage(">" + p.getItemOnCursor());
p.setItemOnCursor(null);

Le message ne donne pas l'item en main, mais l'item est pourtant bien supprimer grâce a la ligne suivante.

 

Je n'arrive pas a comprendre pourquoi.

 

Savez vous ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

  • En ligne récemment   0 membre est en ligne

    Aucun utilisateur enregistré regarde cette page.