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! 

SeaMoon69

Membres
  • Compteur de contenus

    18
  • Inscription

  • Dernière visite

Réputation sur la communauté

0 Neutre

À propos de SeaMoon69

  • Rang
    Membre

Informations de profil

  • Sexe
  1. Commande et Join message

    Salut, pour éviter que les joueurs prennent l'iem, met dans ton InventoryClickEvent, apres "if(inventory.getName(........)" un  "e.setCanselled(true);" Pour les commandes, je te fait un code vers dans 1h 1h30
  2. Kick un joueur dans un menu

    Version (serveur) : 1.8.8 API utilisée : Spigot 1.8.8 IDE utilisé : Eclipse Recherches effectuées : Google Explications du problème rencontré : Boujour, je recherche un moyen de faire ça: public void onCommand(...........){ [...] if(cmd.getName.equalsIgnorCase("cc"){ if(args.length == 1){ if(Bukkit.getPlayerExact(args[0]) == null){ p.sendMessage(ChatColor.DARK_RED+"Le joueur "+args[0]+" n'est pas connécté."); } else{ [...] //création d'un menu (en vert "abc") } } } public void onMenu(InventoryClickEvent e){ if(!e.getInventory().getName().equalsIgnoreCase(ChatColor.GREEN+"abc")) { return; } e.setCancelled(true); if(e.getCurrentItem() == null || e.getCurrentItem().getType() == Material.AIR || !e.getCurrentItem().hasItemMeta()) { return; } if(e.getInventory().getName().equalsIgnoreCase(ChatColor.GREEN+"abc")) { if(e.getCurrentItem().getType() == Material.SLIME_BALL){ if(e.getClick().equals(ClickType.RIGHT)){ args[1].kickPlayer("cc"); } } } } Mais faire comme ça: Je l'ais enlevé mais j'avais dit que args[0] est un joueur Player mmp = Bukkit.getPlayer(args[0]); boutons(mmp, null);  <-- ligne 115
  3. Si args[0] est un joueur connécté

    Ca marche, vraiment merci beaucoup Fosties08 !!!
  4. Si args[0] est un joueur connécté

    Version (serveur) : 1.8.8 API utilisée : Spigot 1.8.8 IDE utilisé : Eclipse Explications du problème rencontré : Bonjour, j'aimerais pouvoir trouver si le joueur args[0] est connecté MAIS sur les forums, je vois toujours ça : if(Bukkit.getPlayer(args[0]) == null){ p.sendMessage(ChatColor.DARK_RED+"Le joueur "+args[0]+" n'est pas connécté."); } Mais si on fait /lacommande SeaMo, le serveur dira que le joueur est connecté car il l’interprète comme SeaMoon69... Et tout le problème est là. (Je suis seul sur mon serveur !)   Recherches effectuées : spigot.org, bukkit.org, bukkit.fr, jeux-vidéo.com, commentcamarche.net
  5. Ouverture d'un menu à la fermeture d'un autre

    Merci Koliko
  6. Ouverture d'un menu à la fermeture d'un autre

    Ok mrc Manercraft, Down1t, je n'ais pas ton code dans le mien car il m'empechait de me connecter
  7. Ouverture d'un menu à la fermeture d'un autre

    Quands le joueur ferme l'inventaire avec "e" car l'inventaire s'ouvre, se ferme, s'ouvre... le isEnd = true et le menu "vous avez abandonné" s'ouvre   package fr.seamoon.YouTube; import java.util.Arrays; import java.util.Timer; import java.util.TimerTask; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.Action; import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.plugin.java.JavaPlugin; public class Main extends JavaPlugin implements Listener{ public static boolean isEnd = false; public static int gameDuration = 0; public static Timer timer; public static final String ANSI_RESET = "\u001B[0m"; public static final String ANSI_BLACK = "\u001B[30m"; public static final String ANSI_RED = "\u001B[31m"; public static final String ANSI_GREEN = "\u001B[32m"; public static final String ANSI_YELLOW = "\u001B[33m"; public static final String ANSI_BLUE = "\u001B[34m"; public static final String ANSI_PURPLE = "\u001B[35m"; public static final String ANSI_CYAN = "\u001B[36m"; public static final String ANSI_WHITE = "\u001B[37m"; public Main(){} @Override public void onEnable() { Bukkit.getPluginManager().registerEvents(this, this); saveConfig(); System.out.println(ANSI_BLUE+"[TestCkick] "+ANSI_GREEN+"Lancement de "+ANSI_YELLOW+"TsetClick"+ANSI_RESET); } @Override public void onDisable() { saveConfig(); System.out.println(ANSI_BLUE+"[TestCkick] "+ANSI_RED+"Arrêt de "+ANSI_YELLOW+"TsetClick"+ANSI_RESET); } @Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { if (cmd.getName().equalsIgnoreCase("gamestart")) { Player player = (Player) sender; this.startGame(10); //Temps en seconde player.sendMessage("Vous avez lancer le jeu !"); Bukkit.broadcastMessage("§eLe jeu a été lancer ! cliquez !"); } return true; } @EventHandler public void onClicBousolle(PlayerInteractEvent e) { //Le joueur qui effectue l'action Player p = e.getPlayer(); if(p.getItemInHand().getType().equals(Material.COMPASS)) { if(e.getAction() == Action.PHYSICAL){ return; } if(e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK) { Inventory inv = Bukkit.createInventory(null, 27, ChatColor.BLUE+"TestClick"); ItemStack beacon = new ItemStack(Material.BEACON, 0); ItemMeta beaconMeta = beacon.getItemMeta(); beaconMeta.setDisplayName("§eCliquez ici"); beacon.setItemMeta(beaconMeta); inv.setItem(13, beacon); ItemStack Scors = new ItemStack(Material.SIGN, 1); ItemMeta ScorsMeta = Scors.getItemMeta(); ScorsMeta.setDisplayName(ChatColor.GREEN+"Scors"); ScorsMeta.setLore(Arrays.asList(ChatColor.AQUA+"Record du serveur : "+ChatColor.GOLD+getConfig().getString("Record.name")+" "+getConfig().getInt("Record.score"), ChatColor.AQUA+"Record personnel : "+ChatColor.GOLD+getConfig().getInt("Records."+p.getName()), "", "TestClick")); Scors.setItemMeta(ScorsMeta); inv.setItem(4, Scors); //On ouvre le menu au joueur p.openInventory(inv); } } } public void startGame(int seconde) { Main.gameDuration = seconde; Main.isEnd = false; timer = new Timer(); timer.schedule(new GameAction(), 0, 1*1000); } @EventHandler public void boutiqueChapeauClick(InventoryClickEvent e) { if(!ChatColor.stripColor(e.getInventory().getName()).equalsIgnoreCase("TestClick")) { return; } Player p = (Player) e.getWhoClicked(); e.setCancelled(true); if(e.getCurrentItem() == null || e.getCurrentItem().getType() == Material.AIR || !e.getCurrentItem().hasItemMeta()) { return; } if(ChatColor.stripColor(e.getInventory().getName()).equalsIgnoreCase("TestClick")) { switch(e.getCurrentItem().getType()) { case BEACON: if(e.getClick().isLeftClick()) { Inventory inv = Bukkit.createInventory(null, 27, ChatColor.BLUE+"TestClick"); int a = e.getCurrentItem().getAmount(); ItemStack Beacon = new ItemStack(Material.BEACON, a+1); ItemMeta BeaconM = Beacon.getItemMeta(); ItemStack Scors = new ItemStack(Material.SIGN, 1); ItemMeta ScorsMeta = Scors.getItemMeta(); ScorsMeta.setDisplayName(ChatColor.GREEN+"Scors"); ScorsMeta.setLore(Arrays.asList(ChatColor.AQUA+"Record du serveur : "+ChatColor.GOLD+getConfig().getString("Record.name")+" "+getConfig().getInt("Record.score"), ChatColor.AQUA+"Record personnel : "+ChatColor.GOLD+getConfig().getInt("Records."+p.getName()), "", "TestClick")); Scors.setItemMeta(ScorsMeta); inv.setItem(4, Scors); int c = a+1; if(!isEnd) { if(c == 1){ this.startGame(10); } if(c>=0 && c<5){ BeaconM.setDisplayName(ChatColor.DARK_RED+""+c); Beacon.setItemMeta(BeaconM); inv.setItem(13, Beacon); p.openInventory(inv); } if(c>=5 && c<15){ BeaconM.setDisplayName(ChatColor.RED+""+c); Beacon.setItemMeta(BeaconM); inv.setItem(13, Beacon); p.openInventory(inv); } if(c>=15 && c<30){ BeaconM.setDisplayName(ChatColor.GOLD+""+c); Beacon.setItemMeta(BeaconM); inv.setItem(13, Beacon); p.openInventory(inv); } if(c>=30 && c<45){ BeaconM.setDisplayName(ChatColor.GREEN+""+c); Beacon.setItemMeta(BeaconM); inv.setItem(13, Beacon); p.openInventory(inv); } if(c>=45 && c<60){ BeaconM.setDisplayName(ChatColor.DARK_GREEN+""+c); Beacon.setItemMeta(BeaconM); inv.setItem(13, Beacon); p.openInventory(inv); } if(c>=60){ BeaconM.setDisplayName(ChatColor.AQUA+""+c); Beacon.setItemMeta(BeaconM); inv.setItem(13, Beacon); p.openInventory(inv); } } if(isEnd){ ItemStack redWool = new ItemStack(Material.WOOL, 1, (byte)14); ItemMeta redWoolMeta = redWool.getItemMeta(); redWoolMeta.setDisplayName(ChatColor.DARK_RED+"Vous avez cliqué "+c+" fois en 10 secondes !"); redWool.setItemMeta(redWoolMeta); inv.setItem(13, redWool); ItemStack greenWool = new ItemStack(Material.WOOL, 0, (byte)5); ItemMeta greenWoolMeta = greenWool.getItemMeta(); greenWoolMeta.setDisplayName(ChatColor.GREEN+"Recommencer"); greenWool.setItemMeta(greenWoolMeta); inv.setItem(11, greenWool); int r = getConfig().getInt("Record.score"); int r2 = getConfig().getInt("Records."+p.getName()); if(!getConfig().contains("Record")){ getConfig().set("Record.score", c); getConfig().set("Record", p.getName()); } if(r < c){ getConfig().set("Record.score", c); String ar = getConfig().getString("Record.name"); getConfig().set("Record.name", p.getName()); Bukkit.broadcastMessage(ChatColor.DARK_GREEN+"[TestClick] "+ChatColor.GOLD+p.getName()+ChatColor.DARK_BLUE+" a battu le record de "+ar); } if(!getConfig().contains("Records."+p.getName())){ getConfig().set("Records."+p.getName(), c); } if(r2 < c){ getConfig().set("Records."+p.getName(), c); } inv.setItem(4, Scors); p.openInventory(inv); Main.isEnd = false; } break; } case WOOL: if(e.getClick().isRightClick()){ if(e.getCurrentItem().getAmount() == 0){ Inventory inv = Bukkit.createInventory(null, 27, ChatColor.BLUE+"TestClick"); ItemStack Beacon = new ItemStack(Material.BEACON, 0); ItemMeta BeaconM = Beacon.getItemMeta(); BeaconM.setDisplayName(ChatColor.GREEN+"Cliquez ici"); Beacon.setItemMeta(BeaconM); inv.setItem(13, Beacon); ItemStack Scors = new ItemStack(Material.SIGN, 1); ItemMeta ScorsMeta = Scors.getItemMeta(); ScorsMeta.setDisplayName(ChatColor.GREEN+"Scors"); ScorsMeta.setLore(Arrays.asList(ChatColor.AQUA+"Record du serveur : "+ChatColor.GOLD+getConfig().getString("Record.name")+" "+getConfig().getInt("Record.score"), ChatColor.AQUA+"Record personnel : "+ChatColor.GOLD+getConfig().getInt("Records."+p.getName()), "","TestClick")); Scors.setItemMeta(ScorsMeta); inv.setItem(4, Scors); p.openInventory(inv); } } default: break; } } } } class GameAction extends TimerTask { @Override public void run() { if(Main.gameDuration > 0){ Main.gameDuration--; } if(Main.gameDuration == 0) { Main.isEnd = true; Main.timer.cancel(); } } }  
  8. Ouverture d'un menu à la fermeture d'un autre

    Oui mais comment l'ouvrir à la fermeture d'un autre ??? Aucune méthode n'est fait pour ca...
  9. Ouverture d'un menu à la fermeture d'un autre

    Donc, il ne faut pas de méthode void ???
  10. Ouverture d'un menu à la fermeture d'un autre

    Il y a toujours une erreur, le code d'erreur est très long car il tourne en boucle. Quand je me connecte, ça me ckick. Mais il y a une erreur à ces lignes: openInv1(p); //et p.openInventory(inv3); C'est qu'un morceau mais il y a tout.  
  11. Version (serveur) : 1.8.8API utilisée : Spigot 1.8.8IDE utilisé : EclipseExplications du problème rencontré : Je souhaite ouvrir un inventaire quand un autre se ferme, mais le "if(p.closeInventory())" n'existe pas, sinon il met "if(p.closeInventory();)"  . Le "public void      onCloseInventory(PlayerCloseInventory e) ne fonctionne pas non-plus...Recherches effectuées : GoogleCode :  Pas vraiment de code.
  12. Sous-Inventaire

    Bonjour voici la partie de code pour ouvrir ton menu, puis un autre !!! //Ici, on définit l'inventaire de base @EventHandler public void onClicInventory(PlayerInteractEvent e) { //Le joueur qui effectue l'action Player p = e.getPlayer(); if(p.getWorld().getName().equals("Lobby")) { if(p.getItemInHand().getType().equals(Material.SLIME_BALL)) { //Si le joueur clic sur une entitée, on annule; if(e.getAction() == Action.PHYSICAL){ return; } //Si le joueur fait clic droit if(e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK) { //On crée un inventaire Inventory inv = Bukkit.createInventory(null, 27, ChatColor.BLUE+"Menu principal"); //27 ou 3*9 ItemStack wool = new ItemStack(Material.WOOL, 1); //Tu peux mettre Material.WOOL, 1, (byte)14) pour la couleur rouge par exemple ItemMeta woolM = wool.getItemMeta(); woolM.setDisplayName("§aCube"); wool.setItemMeta(woolM); inv.setItem(11, wool); //On ouvre le menu p.openInventory(inv); } } } } //On va ouvrir le 2ème menu... @EventHandler public void onClickInInventory(InventoryClickEvent e) { //si le menu n'est pas "Menu principal", on annule if(!ChatColor.stripColor(e.getInventory().getName()).equalsIgnoreCase("Menu principal")) { return; } //Le joueur qui clic Player p = (Player) e.getWhoClicked(); //On empeche de prendre l'item e.setCancelled(true); //Si le joueur clic dans une case vide, on annule if(e.getCurrentItem() == null || e.getCurrentItem().getType() == Material.AIR || !e.getCurrentItem().hasItemMeta()) { return; } //dans le menu if(ChatColor.stripColor(e.getInventory().getName()).equalsIgnoreCase("Menu principal")) { switch(e.getCurrentItem().getType()) { case WOOL: if(e.getClick().isRighttClick()) { Inventory inv = Bukkit.createInventory(null, 27, ChatColor.BLUE+"Menu Cube"); //Ton nouvel inventaire !!! } default: break; } } }   Lis bien les remarques !!!   Bon code !
  13. Délai entre un clic et une action dans un inventaire.

    Merci beaucoup pour ton aide, Dow1t
  14. Délai entre un clic et une action dans un inventaire.

    Merci, je test c pas ma classe main, c la classe menu =) Le probleme, c'est que le but n'est pas de cliquer 10 fois, mais le + en 10 secondes !!!
  15. Délai entre un clic et une action dans un inventaire.

    Ok merci beaucoup