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.
CeIeste

Avoir plusieurs class

8 messages dans ce sujet

Bonjour,

 

J'aurais aimer savoir j'ai ma classe principal, et j'ai dans une class qui se nomme onEntityDeath j'aimerais savoir comment je peux déclarer cette class il me semble qu'on m'a déjà évoquer de faire des instances donc j'ai mis ceci dans ma class principal:

 

  public static Messages instance;

 

Mais que doit-je mettre dans mon autre class ?

 

(Je sais que je peux faire :     Bukkit.getServer().getPluginManager().registerEvents(new onEntityDeath(), this); seulement cela me semble pas propre de faire sa pour toutes les class.

 

Merci de votre aide !

 

Ide = Eclipse

Spigot 1.8.9 

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut :D alors, une class qui s'appel onEntityDeath c'est pas très propre, on met toujours une majuscule en premier caractère :)

 

Ce que tu peux faire dans ton onEnable, c'est créer l'instance du PluginManager comme ceci :

 

PluginManager pm = Bukkit.getServer().getPluginManager();

 

ensuite, pm.registerEvents(TaClass(this), this);

 

Dans le constructeur de ta class :

 

private TaClassMain main;

 

public TaClass(TaClassMain instance) {

    this.main = instance;

}

 

Petit exemple :

 

package be.dow1t.test.main;

import org.bukkit.Bukkit;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;

import be.dow1t.test.listener.InventoryListener;

public class TestPlugin extends JavaPlugin {

	private static TestPlugin instance;
	public static TestPlugin getInstance() { return instance; }
	
	public void onEnable() {
		super.onEnable();
		
		PluginManager pm = Bukkit.getServer().getPluginManager();
		
		pm.registerEvents(new InventoryListener(this), this);
	}
}

 

et

 

package be.dow1t.test.listener;

import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
import org.bukkit.potion.PotionType;

import be.dow1t.test.main.TestPlugin;

public class InventoryListener implements Listener {
	
	private TestPlugin main;
	
	public InventoryListener(TestPlugin main) {
		this.main = main;
	}
	
	@EventHandler
	public void inventoryClick(InventoryClickEvent e) {
		//TODO
	}
}


voilà voilà ^_^

1 personne aime ça

Partager ce message


Lien à poster
Partager sur d’autres sites

D'accord merci d'avoir pris le temps de me répondre et donc à chaque nouvelle classe je dois mettre dans la classe principal :

 

        pm.registerEvents(new MACLASS(this), this);

 

?

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 5 minutes, CeIeste a dit :

D'accord merci d'avoir pris le temps de me répondre et donc à chaque nouvelle classe je dois mettre dans la classe principal :

 

        pm.registerEvents(new MACLASS(this), this);

 

?

 

En effet :) pour chaque class qui contient des event :)

 

Parcontre, tu peux faire encore plus simple

 

1 Class PlayerListener

 

Et dedans tu met tout ce qui est PlayerMoveEvent BlockBreakEvent etc

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Yes merci je viens de comprendre comment sa fonctionne et c'est très pratique !

Partager ce message


Lien à poster
Partager sur d’autres sites

De rien, n'oublies pas de mettre ton sujet en résolu ^_^

Partager ce message


Lien à poster
Partager sur d’autres sites
Le 08/11/2017 à 16:59, Zurbeyira a dit :

Plus approprié :

https://openclassrooms.com/courses/apprenez-a-programmer-en-java/votre-premiere-classe

 

Apprendre à utiliser des classes de telle ou telle manière ne te servira à rien si tu ne comprends rien à l'orienté objet, alors lis ce cours ça en vaut la peine...

 

Tout ce que tu viens de comprendre avec les explications de Dow1t c'est comment utiliser une classe dans CE CAS SPÉCIFIQUE seulement.

@CeIeste

Modifié par Wisteca
4 personnes aiment ça

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.