4 janv. 2020, 16:30

Bonsoir,
(désolé je savais pas ou poster ça , je sais pas si c’est un forum approprié pour ça)

Je m’initie actuellement au Java en m’amusant a créer des petits plugins, mais la je suis passé a un autre format.

Je vous explique :

Je cherche a envoyé un message privée a un joueurs depuis un classe qui n’utilise pas d’événement (j’en déduis que je peux pas récupérer le player à l’aide d’un event)

Si j’essaye depuis une classe utilisant un event j’ai un nullPointerExceptions…

Du coup voici ma question, comment envoyé un message privée a un joueurs sans passer par un evenement ?

Et sans faire de nullPointerExceptions

Je vous mets le code :

public class TaskJoin extends BukkitRunnable {

	private int timer = 5;
	private Main main;
	private OnJoinEvent onJoinEvent;
	
	public TaskJoin(Main main) {
		this.main = main;
	}

	@Override
	public void run() {
		Bukkit.broadcastMessage("t:"+timer);
		onJoinEvent.getPlayerj().sendMessage("Téléportation dans : "+timer+"s");
		if(timer == 0) {
			
			cancel();
		}
		timer--;
	}

}

Que j’utilise dans cette parti :

case DIAMOND_SWORD:
					p.getInventory().clear();
					
					if(p.getGameMode() == GameMode.SPECTATOR) {
						TaskJoin timerj = new TaskJoin(main);
						timerj.runTaskTimer(main, 0, 20);
					}
					p.setGameMode(GameMode.SURVIVAL);
					Item helmet = new Item(Material.IRON_HELMET, 1, "§e§lCasque");
					Item chestPlate = new Item(Material.IRON_CHESTPLATE, 1, "§e§lPlastron");
					Item leggings = new Item(Material.IRON_LEGGINGS, 1, "§e§lLeggin");
					Item boots = new Item(Material.IRON_BOOTS, 1, "§e§lBottes");
					Item sword = new Item(Material.IRON_SWORD, 1, "§e§lEpee du guerrier");
					Item gApple = new Item(Material.GOLDEN_APPLE, 6, "§e§lPomme d'or");
					
					p.getInventory().setHelmet(helmet.getItems());
					p.getInventory().setChestplate(chestPlate.getItems());
					p.getInventory().setLeggings(leggings.getItems());
					p.getInventory().setBoots(boots.getItems());
					p.getInventory().setItemInHand(sword.getItems());
					p.getInventory().setItem(1, gApple.getItems());
					
					p.sendMessage("§7[§6Herozia§7]"+"§rSelection du kit §4§lGuerrier §ravec §a§osucces");

Qui est un IventoryClickEvent, si vous avez une solution je vous en serai très reconnaissant !