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! 

Dow1t

Membres
  • Compteur de contenus

    877
  • Inscription

  • Dernière visite

Tout ce qui a été posté par Dow1t

  1. RacesAndClasses permissions

    Salut je vois que tu es nouveaux donc je t'invites à lire le règlement (J'sais je suis chiant avec ça ) Ensuite peut on avoir un lien du plugin concerné, et la version de ton serveur? merci
  2. Besoin d'aide pour débugger un plugin

    Mauvaise liste Il suffisait de changer HashMap par ArrayList xD
  3. Besoin d'aide pour débugger un plugin

    Voilà voilà   Bon je te refile la class CmdBan toute propre   package be.dow1t.kinghub; import java.util.ArrayList; import java.util.HashMap; import java.util.UUID; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerQuitEvent; public class CmdBan implements CommandExecutor, Listener { public static ArrayList<Player> nodeco = new ArrayList(); private Main main; public CmdBan(Main main) { this.main = main; } @Override public boolean onCommand(CommandSender sender, Command cmd, String allias, String[] args) { if(cmd.getName().equalsIgnoreCase("antideco") || (sender instanceof Player)){ if(args.length == 2){ Player conserne = Bukkit.getPlayer(args[0]); if(args[1].equalsIgnoreCase("on")){ sender.sendMessage(ChatColor.GREEN+"L'antidéco est activé sur " + Bukkit.getPlayer(args[0]).getName()); nodeco.add(Bukkit.getPlayer(args[0])); } else if(args[1].equalsIgnoreCase("off")){ sender.sendMessage(ChatColor.GREEN+"L'antidéco est désactivé sur " + Bukkit.getPlayer(args[0]).getName()); nodeco.remove(Bukkit.getPlayer(args[0])); } else{ sender.sendMessage(ChatColor.RED+"Mauvais argument ! (on/off)"); } } }else{ sender.sendMessage("&c Tu dois être un joueur !"); } return false; } @SuppressWarnings("deprecation") @EventHandler public void onLeave(PlayerQuitEvent event) { Player p = event.getPlayer(); if(nodeco.contains(p)) { p.setBanned(true); Bukkit.broadcastMessage(ChatColor.DARK_RED + p.getName() + " a été banni."); } } }  
  4. Besoin d'aide pour débugger un plugin

    Je travaille là dessus, PS les up c'est toutes les 24h
  5. Besoin d'aide pour débugger un plugin

    Prends ma class complète Copie/ Colle si tu préfère
  6. Besoin d'aide pour débugger un plugin

    @applemaniac envois moi ton code. @SeaMoon69 je demande a l'owner du sujet sont code pas le tiens Enfait ça ne marche pas parceque tu oublies de register l'event PlayerQuitEvent   Voilà le code entier   Class Main:   @Override public void onEnable() { super.onEnable(); Bukkit.getPluginManager().registerEvents(new CmdBan(this), this); getCommand("antideco").setExecutor(new CmdBan(this)); }   Class ou tu met ta command + l'event   package be.dow1t.kinghub; import java.util.HashMap; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerQuitEvent; public class CmdBan implements CommandExecutor, Listener { private HashMap<Player, Integer> nodeco = new HashMap<>(); private Main main; public CmdBan(Main main) { this.main = main; } @Override public boolean onCommand(CommandSender sender, Command cmd, String allias, String[] args) { if(cmd.getName().equalsIgnoreCase("antideco") || (sender instanceof Player)){ if(args.length == 2){ Player conserne = Bukkit.getPlayer(args[0]); if(args[1].equalsIgnoreCase("on")){ sender.sendMessage(ChatColor.GREEN+"L'antidéco est activé sur " + Bukkit.getPlayer(args[0]).getName()); nodeco.put(conserne, +1); //on ojoute le joueur dans la HashMap } else if(args[1].equalsIgnoreCase("off")){ sender.sendMessage(ChatColor.GREEN+"L'antidéco est désactivé sur " + Bukkit.getPlayer(args[0]).getName()); nodeco.remove(conserne); //on enlève le joueur de la HashMap } else{ sender.sendMessage(ChatColor.RED+"Mauvais argument ! (on/off)"); } } }else{ sender.sendMessage("&c Tu dois être un joueur !"); } return false; } @SuppressWarnings("deprecation") @EventHandler public void onLeave(PlayerQuitEvent event) { Player p = event.getPlayer(); if(nodeco.containsKey(p)) { p.setBanned(true); Bukkit.broadcastMessage(ChatColor.DARK_RED + p.getName() + " a été banni."); } } }   Avec plaisir (a tester biensûr ! )
  7. Kick un joueur dans un menu

    De rien
  8. Besoin d'aide pour débugger un plugin

    Je fais une petite solution j'essaie et je te tiens au courant ;p   PS montre ta class main
  9. Kick un joueur dans un menu

    Même si les joueurs on le même skin, le skullOwner ne change pas, il contient le pseudo du joueur Ce que tu peux faire alors, c'est ceci :   Tu créée 3 tête.   - 1 Avec comme displayName "kick" et comme skullowner, le pseudo de arg[0] - 2 Avec comme displayName "ban" et comme skullowner, le pseudo de arg[0] - 3 Avec comme displayName "mute" et comme skullowner, le pseudo de arg[0]   et dans l'event InventoryClickEvent   Tu vérifie le lore, si le lore est kick tu fais ceci, si c'est mute tu fais cella et si c'est ban tu fais ça   en utilisant des conditions if else if else
  10. Oui mais quand tu es dans ton inventaire seulement, tu pourra le jeter
  11. Kick un joueur dans un menu

    Oui mais je pense que l'erreur viens de ma part, je vais essayer de trouver une solution car enfait, j'ai repris le displayname de l'item qui normalement doit être Kick Dow1t par exemple et je avec j'ai fais:   .replace("Kick ", ""); et ensuite j'ai pris la 2ème partie pour faire bukkit.getplayer("cequireste"); et le npe doit venir de la :c je vais chercher une solution   Alors, ce que tu peux faire c'est dans ton menu, remplacer le panneau par une tête avec comme owner le joueur à kick comme ceci :   ItemStack kick = new ItemStack(Material.SKULL_ITEM, 1, (short)3); SkullMeta kickMeta = (SkullMeta)kick.getItemMeta(); kickMeta.setOwner(Bukkit.getPlayer(args[0]).getName()); kickMeta.setDisplayName(ChatColor.RED+"Kick " + Bukkit.getPlayer(args[0]).getName()); kick.setItemMeta(kickMeta); invAdmin.setItem(24, kick); et puis tu fais ceci:   @EventHandler public void onClick(InventoryClickEvent event) { if(event.getInventory().getName().equalsIgnoreCase(ChatColor.GREEN+"Report")) { switch(event.getCurrentItem().getType()) { case SKULL_ITEM: event.setCancelled(true); SkullMeta meta = (SkullMeta)event.getCurrentItem().getItemMeta(); Player kicked_player = Bukkit.getPlayer(meta.getOwner()); Bukkit.broadcastMessage(event.getWhoClicked().getName() + " a kick " + kicked_player); kicked_player.kickPlayer("Vous avez été kick par" + event.getWhoClicked().getName()); default: break; } } }   J'ai tester et ça marche  
  12. et pour le drop j'allais oublier   @EventHandler public void onItemDrop(PlayerDropItemEvent e) { Player p = e.getPlayer(); Item drop = e.getItemDrop(); if(drop.getType() == Material.DIAMOND) { event.setCancelled(true); p.sendMessage("ne jette pas ça !"); } }  
  13. probleme avec world guard

    Version? Erreur log si il y a ? Config de WG?
  14. BungeeCord et JsonAPI

    J'ai trouver ceci pour toi j'espère que ç'a t'aidera :c   http://forum.craftmycms.fr/?sujet=JSONAPI-BUNGEECORD-probleme.144   http://forum.minecraft-mania.fr/showthread.php?tid=105   http://minecraft.fr/forum/threads/bungee-jsonapi-probl%C3%A8me.123620/
  15. BungeeCord et JsonAPI

    BungeeCord permet de relier plusieurs serveur entre eux. Moi ce que j'ai fais, j'ai un serveur HUB, et un serveur Faction et j'ai mit JSONAPI sur le hub pour pas faire lag
  16. Kick un joueur dans un menu

    A essayer je n'ai pas 2 compte mc pour tester :x   package be.dow1t.kinghub; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; 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; public class CmdKick implements CommandExecutor, Listener{ private Main main; public CmdKick(Main main) { this.main = main; } @Override public boolean onCommand(CommandSender sender, Command cmd, String allias, String[] args) { if(cmd.getName().equalsIgnoreCase("reportadmin") && (sender instanceof Player)){ Player p = (Player)sender; if(!p.hasPermission("report.admin")){ p.sendMessage(ChatColor.DARK_RED+"Vous n'avez pas la permission."); p.sendMessage(ChatColor.DARK_RED+"Contactez un administrateur si vous pensez qu'il y a une erreur."); } else{ 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{ Inventory invAdmin = Bukkit.createInventory(null, 3*9, ChatColor.GREEN+"Report"); ItemStack info = new ItemStack(Material.SIGN, 0); ItemMeta infoMeta = info.getItemMeta(); infoMeta.setDisplayName(ChatColor.GOLD+Bukkit.getPlayer(args[0]).getName()); info.setItemMeta(infoMeta); invAdmin.setItem(4, info); ItemStack kick = new ItemStack(Material.SLIME_BALL, 0); ItemMeta kickMeta = kick.getItemMeta(); kickMeta.setDisplayName(ChatColor.RED+"Kick " + Bukkit.getPlayer(args[0]).getName()); kick.setItemMeta(kickMeta); invAdmin.setItem(24, kick); p.openInventory(invAdmin); } } } } return false; } @EventHandler public void onClick(InventoryClickEvent event) { if(event.getInventory().getName().equalsIgnoreCase(ChatColor.GREEN+"Report")) { switch(event.getCurrentItem().getType()) { case SLIME_BALL: ItemMeta m = event.getCurrentItem().getItemMeta(); String name = m.getDisplayName().replace("Kick ", ""); Player kicked_player = Bukkit.getPlayer(name); kicked_player.kickPlayer("Vous avez été kick par" + event.getWhoClicked().getName()); default: break; } } } }  
  17. Kick un joueur dans un menu

    Code? de ce que tu as déjà fait
  18. Commande et Join message

    Ton code marchait correctement j'ai juste otptimiser en passant d'une condition if else if else; à une boucle switch   L'erreur venait d'ici   public Join(Main main) { } Alors laisse moi t'expliquer :   Quand tu défini un constructeur donc dans ce cas, public Join, et qui tu lui donne 1 argument, tu es obligé de l'utilise, sinon n'en met pas   Dans ta class main, quand tu fais Bukkit.getPluginManager().registerEvents(Join(this), this);   Tu appel la class Join et tu dit que l'argument du constructeur est cette class hors, dans ta class join, tu oublie de dire qui est la class main, du coup bukkit se dit :   Ha on m'a demander d'enregistrer l'event Join avec comme argument la class Main, mais dans la class Join, on me dit pas qui est Main donc j'annule l'enregistrement.   Pour l'optimisation, sachant que tu ne va utiliser que des ItemStack / Material dans ton inventaire / gui aulieu de vérifier avec une condition comme:   if(material.getType() == Material.DIAMOND) { //code }   Tu fais une boucle switch qui vérifie tout les ItemStack / Material dans le gui et si il trouve tel ou tel material on execute le code. petit exemple:   Un inventaire comporte 3 items , un diamant , un charbon , un lingot d'or. Quand on clique sur le diamant, j'aimerais que bukkit envoit un Broadcast avec écrit: "Joueur a cliquer sur le diamant !" Quand on clique sur le charbon, j'aimerais qu'il ne se passe rien Et quand je clique sur le lingot d'or, j'aimerais envoyer au joueur qui a cliquer: "Ouah tu es riche tu as de l"or !"   Alors on utilise la boucle switch comme ceci:   @EventHandler public void onClickInventory(PlayerInteractEvent e){ Player p = e.getPlayer(); switch(e.getItem().getType()) { case DIAMOND: Bukkit.broadcastMessage(p + " a cliquer sur le diamant !") case COAL: //Ici on ne fait rien //Sâche que tu n'es pas obligé de mettre cette case, tu peux l'a supprimer :p case GOLD_INGOT: p.sendMessage("Ouah tu es riche, tu as cliquer sur de l'or !") default: break; } }     Mais vu qu'on utilise pas la case COAL, tu peux l'a supprimer et faire ceci alors :     @EventHandler public void onClickInventory(PlayerInteractEvent e){ Player p = e.getPlayer(); switch(e.getItem().getType()) { case DIAMOND: Bukkit.broadcastMessage(p + " a cliquer sur le diamant !") case GOLD_INGOT: p.sendMessage("Ouah tu es riche, tu as cliquer sur de l'or !") default: break; } }   Voilà j'espère ne pas avoir trop été brouillon Je te laisse un peut de doc sur les boucles switch ici   https://openclassrooms.com/courses/apprenez-a-programmer-en-java/les-conditions-3   Amicalement, Dow1t   PS: Bonne soirée
  19. Tu peux simplement faire ceci mais on ne pourra pas changer l'item de place. Je pense que c'est le seul moyen   @EventHandler public void itemMove(InventoryClickEvent event) { HumanEntity clicker = event.getWhoClicked(); Inventory inv = event.getInventory(); if(clicker instanceof Player) { Player p = (Player)clicker; Material m = Material.DIAMOND; //Ou alors tu met un item stack et tu verif le nom etc... if(event.getCurrentItem() != null && event.getCurrentItem().getType() == m) { if(inv.getType() == InventoryType.FURNACE) { event.setCancelled(true); p.sendMessage("Impossible de déplacer cette item dans un four !"); } } } }  
  20. Des idée pour des modification sur le plugin faction

    Oui pourquoi pas ou alors dès que le f home est remis à un autre endroit, le coffre le spawn pas vu qu'il a été détruit
  21. Erreur mod pack

    Plateforme : MCPC+ (forge) Version : 1.7.10 Explications du problème rencontré : J'ai pris des mod d'un serveur pour faire une partie moddée en solo. Mais le jeu crash Logs console :
  22. Commande et Join message

    Voilà la solution:   class Main package be.dow1t.kinghub; import org.bukkit.Bukkit; import org.bukkit.plugin.java.JavaPlugin; public class Main extends JavaPlugin{ @Override public void onEnable() { super.onEnable(); Bukkit.getPluginManager().registerEvents(new Join(this), this); Bukkit.getPluginManager().registerEvents(new ActionInventory(this), this); } }   Comme d'habitude, même si je le chante ou le répète 500 fois vous ne m'écoutez pas ! Il faut initialiser votre class Main dans vos class ou se situe vos events sinon il return null donc pas d'event   class Join:   package be.dow1t.kinghub; import org.bukkit.GameMode; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.permissions.Permission; public class Join implements Listener { private Permission perm = new Permission("king.join"); private Main main; public Join(Main main) { this.main = main; } @EventHandler public void onJoin(PlayerJoinEvent e) { Player p = e.getPlayer(); p.performCommand("spawn"); if(p.getWorld().getName().equals("Lobby")) { ItemStack slime = new ItemStack(Material.SLIME_BALL); ItemMeta slimeMeta = slime.getItemMeta(); slimeMeta.setDisplayName("§2§lJeux"); slime.setItemMeta(slimeMeta); ItemStack star = new ItemStack(Material.NETHER_STAR); ItemMeta starMeta = star.getItemMeta(); starMeta.setDisplayName("§7§lChanger de Lobby"); star.setItemMeta(starMeta); p.getInventory().clear(); p.getInventory().setItem(0, slime); p.getInventory().setItem(8, star); p.setGameMode(GameMode.ADVENTURE); p.setHealth(20); p.setFoodLevel(20); p.setLevel(0); p.setExp(0); } if(p.hasPermission("king.join")){ e.setJoinMessage((p.getDisplayName() + " §ba rejoint le hub !")); }else{ e.setJoinMessage(""); } } @EventHandler public void onQuit(PlayerQuitEvent e){ Player p = e.getPlayer(); if(p.hasPermission("king.join")){ e.setQuitMessage((p.getDisplayName() + " §4a quitté le hub !")); }else{ e.setQuitMessage(""); } } }   class InventoryAction   package be.dow1t.kinghub; import org.bukkit.Bukkit; import org.bukkit.Material; 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; public class ActionInventory implements Listener{ private Main main; public ActionInventory(Main main) { this.main = main; } @EventHandler public void onClickInventory(PlayerInteractEvent e){ Player p = e.getPlayer(); if(p.getWorld().getName().equalsIgnoreCase("Lobby")) { if(e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK || e.getAction() == Action.LEFT_CLICK_AIR || e.getAction() == Action.LEFT_CLICK_BLOCK){ switch(e.getItem().getType()) { case SLIME_BALL: Inventory inv = Bukkit.createInventory(null, 9*3, "Menu Principal"); ItemStack wool = new ItemStack(Material.WOOL, 1); ItemMeta woolMeta = wool.getItemMeta(); wool.setItemMeta(woolMeta); inv.setItem(11, wool); p.openInventory(inv); case NETHER_STAR: Inventory inv2 = Bukkit.createInventory(null, 9*1, "Lobby"); ItemStack star = new ItemStack(Material.QUARTZ_BLOCK, 1); ItemMeta starmeta = star.getItemMeta(); starmeta.setDisplayName("§2§lLobby 1"); star.setItemMeta(starmeta); inv2.setItem(2, star); p.openInventory(inv2); ItemStack star1 = new ItemStack(Material.REDSTONE_BLOCK, 1); ItemMeta starmeta1 = star1.getItemMeta(); starmeta1.setDisplayName("§4§lLobby 2 en maintenance !"); star1.setItemMeta(starmeta1); inv2.setItem(4, star1); ItemStack star11 = new ItemStack(Material.REDSTONE_BLOCK, 1); ItemMeta starmeta11 = star11.getItemMeta(); starmeta11.setDisplayName("§4§lLobby 3 en maintenance !"); star11.setItemMeta(starmeta11); inv2.setItem(6, star11); default: break; } } } } @EventHandler public void inventoryClick(InventoryClickEvent e) { Player p = (Player)e.getWhoClicked(); if(e.getInventory().getName().equals("Menu Principal")) { switch (e.getCurrentItem().getType()) { case WOOL: Inventory inv = createCubeInventory("Nom", 1); p.openInventory(inv); default: break; } } } public Inventory createCubeInventory(String name, int size) { if(size * 9 != 54 ) { Bukkit.getConsoleSender().sendMessage("Attention erreur de taille ! "); } Inventory inv = Bukkit.createInventory(null, 9*3, "Menu"); ItemStack wool1v1 = new ItemStack(Material.WOOL, 1); ItemMeta wool1v1Meta = wool1v1.getItemMeta(); wool1v1Meta.setDisplayName("§aCube 1v1"); wool1v1.setItemMeta(wool1v1Meta); inv.setItem(11, wool1v1); return inv; } }   Avec plaisir
  23. CutClean pour version 1.9.X

    c'est un plugin pour le uhc run non ? Sinon pas mal
  24. Télélopter chaque joueurs à des positions différentes

    A quel moment tu ajoutes les players dans la liste? Car il y a un NPE donc le player doit surrement être null
  25. Des idée pour des modification sur le plugin faction

    Mais le but est de proteger le coffre si il est explosé c'est perdu