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

    211
  • Inscription

  • Dernière visite

Réputation sur la communauté

31 Neutre

3 abonnés

À propos de SeaMoon69

  • Rang
    Developpeur Moyen Débutant
  • Date de naissance 09/04/03

Informations de profil

  • Centres d'intérêt Developpement
  • Sexe Homme

Me contacter

  • Minecraft SeaMoon69
  • Mail [email protected]
  • Steam SeaMoon69

Visiteurs récents du profil

977 visualisations du profil
  1. [PLUGIN][1.7.10] Chateau, ajout de point toute les seconde

    Pour les runnable, tu as deux choses 1. pour les boucles Bukkit.getServer().getSheduler().runTaskTimer(main, new Runnable /*ou BukkitRunnable (Deprecated) et contient une méthode cancel()*/, temps avant lanement de la task, temps entre chaque boucle); et 2. pour effectuer une action dans un certain temps Bukkit.getServer().getSheduler().runTaskLater(main, new Runnable /*ou BukkitRunnable (Deprecated) et contient une méthode cancel()*/, temps avant l'action); et dans ton cas, il faut la 1 Bukkit.getServer().getSheduler().runTaskTimer(main, new BukkitRunnable( //tu peux mettre des variables bublic, private, etc... @Override public void run() { if (/*le crystal a été repris*/) { cancel(); } if (map.containsKey(p)) { map.put(p, map.get(p) + 1); } else { map.put(p, 1); } } ), 0, 20); Tu remplace juste p par la faction
  2. [PLUGIN][1.7.10] Chateau, ajout de point toute les seconde

    Pardon, un getCrystal dans la classe château, mais je ne sais pas si tu en as une (classe château). Bon pas grave.   Pour savoir si c'est le bon bloc, tu met la location "crystal_location : world,x,y,z" et après tu la récupère et si la location du block cassé est égale à celle dans la cfg, c'est bon !   Mais as-tu une classe Chateau ?
  3. [PLUGIN][1.7.10] Chateau, ajout de point toute les seconde

    Ta classe faction stp ou sinon dis moi si tu as dans la classe faction qqch comme getCrystal() : block - Faction
  4. [PLUGIN][1.7.10] Chateau, ajout de point toute les seconde

    Pour le timer @SuppressWarnings("deprecation") public static void enableChateau(final String chateau) { Bukkit.getServer().getScheduler().runTaskTimer(plugin.getInstance(), new BukkitRunnable() { private int timeleft_chateau = 180; @Override public void run() { if (timeleft_chateau == 60) { Bukkit.broadcastMessage("_WP-message &aLe chateau" + chateau.toLowerCase() + " entre sous tenssion dans 1 minute !;" + "id:1;stack:545;scale:2.5;" + "anchor:center;x:0;xFinal:0;" + "y:-100;yFinal:-50;shadow:true;"); } if (timeleft_chateau == 30) { Bukkit.broadcastMessage("_WP-message &aLe chateau" + chateau.toLowerCase() + " entre sous tenssion dans 30 secondes !;" + "id:1;stack:545;scale:2.5;" + "anchor:center;x:0;xFinal:0;" + "y:-100;yFinal:-50;shadow:true;"); } if (timeleft_chateau == 0) { Bukkit.broadcastMessage("_WP-message &aLe chateau" + chateau.toLowerCase() + " entre sous tenssion !;" + "id:1;stack:545;scale:2.5;" + "anchor:center;x:0;xFinal:0;" + "y:-100;yFinal:-50;shadow:true;"); this.plugin.getConfigManager().getChateau() .set("CHATEAU." + chateau + ".ACTIVE", String.valueOf(true)); cancel(); // plus simple } timeleft_chateau--; } }, 0, 20); }   Mais j'ai pas bien compris le reste du problème...
  5. Un même code pour un nombre différent...

    Oui, mais de toute façon, le debug marche et se situ à un seul endroit... J'ai eu un bug avec une application, j'ai redémarré, et ça marchait... Bizzare. Peut-être un bug de compilation... Je sais pas trop. Merci quand même à tout ceux qui m'ont aidés
  6. BUKKIT [1.7.10] Requête SQL (Order by) Classement

    De rien
  7. Un même code pour un nombre différent...

    ItemStack unnom = new ItemStack(Material.IRON_ORE); ItemMeta unnommM = mineur2.getItemMeta(); if (!main.aptitudesPlayer.get(p).contains(Aptitudes.MINEUR_FER)) { mineur2.setType(Material.BARRIER); lore.clear(); lore.add(""); lore.add("§4Non commencé."); unnomM.setLore(lore); unnomM.setDisplayName("§4Un truc"); } else if (main.aptitudesPlayer.get(p).contains(Aptitudes.MINEUR_FER) && !main.aptitudesPlayer.get(p).contains(Aptitudes.MINEUR_OR)) { // tttttttttttttttttttttttttttttttttt C'est ci-dessous ttttttttttttttttttttttttttttttttttt lore.clear(); lore.add(""); int xp = MONPLUG.getConfigGrades().getInt(p.getName() + ".XP"); lore.add("§6En cours... §e(§a" + xp + "§e/§21000§e)"); System.out.println(xp); unnomM.setLore(lore); unnomM.setDisplayName("§4Un truc"); } else { lore.clear(); lore.add(""); lore.add("§aTerminé."); unnomM.setLore(lore); unnomM.setDisplayName("§aUn truc"); } unnom.setItemMeta(unnomM); inv.setItem(18, unnom);  
  8. Un même code pour un nombre différent...

    Oui, car j'ouvre mon inventaire à chaque fois, et que je recréé mon item; il n'y a pas de recharge par timer. Je vais essayer de décompiler une ancienne version de mon plugin qui marchait, on verra bien...
  9. VERSION SERVEUR : 1.8.8 API UTILISé : Spigot 1.8.8 IDE: Eclipse Néon 3   Bah... euh...? Comment expliquer... Voici le code...: int xp = MON_PLUGIN.getConfigGrades().getInt(p.getName() + ".xp"); lore.add("§6En cours... §e(§a" + xp + "§e/§21000§e)"); System.out.println(xp);   xp est égale dans la config à 158 Voilà, donc voici le résultat du débug sysout : 158 Et voici le lore : En cours... (0/1000)   Si vous pouvez m'aider, merci !
  10. BUKKIT [1.7.10] Requête SQL (Order by) Classement

    Exemple : Map<Integer, String> numbers = new HashMap<Integer, String>(); numbers.put(5, "Five"); numbers.put(1, "one"); numbers.put(8, "eight"); numbers.put(0, "zero"); numbers.put(3, "three"); numbers.put(4, "Four"); numbers.put(7, "Seven"); numbers.put(9, "Nine"); numbers.put(6, "Six"); numbers.put(2, "Two");   1. Selon les clés : Comparator<Integer> keyComparator = new Comparator<Integer>(){ @Override public int compare(Integer int1, Integer int2){ return int1.compareTo(int2); } }; Map<Integer, String> sortedOnKeysMap = new TreeMap(keyComparator); sortedOnKeysMap.putAll(numbers);   2. Et selon les valeurs, il faut une nouvelle classe (ici dans l'exemple, elles seront par ordre alphabétique car ce sont des String) : public class MapValueComparator<K, V> implements Comparator<K>{ private final Map<K, V> mapToSort; private final Comparator<V> valueComparator; public MapValueComparator(Map<K, V> mapToSort, Comparator<V> valueComparator){ this.mapToSort = mapToSort; this.valueComparator = valueComparator; } @Override public int compare(K key1, K key2) { return valueComparator.compare(mapToSort.get(key1), mapToSort.get(key2)); } } et pr classer : Comparator<String> valueComparator = new Comparator<String>() { @Override public int compare(String s1, String s2) { return s1.compareToIgnoreCase(s2); } }; MapValueComparator<Integer, String> mapComparator = new MapValueComparator<Integer, String>(numbers, valueComparator); Map<Integer, String> sortedOnValuesMap = new TreeMap<Integer, String>(mapComparator); sortedOnValuesMap.putAll(numbers);   Sources : http://patatos.over-blog.com/article-comment-trier-une-map-selon-ses-valeurs-89612475.html   Dans ton cas :  
  11. Comment rajouter un itemstack dans un craft customs

    Et le petit Bukkit.addRecipe(aluminecraft); /*ou*/ Bukkit.getServer().addRecipe(aluminecraft); /*qui est mieux*/ Sinon ça marche un peu moins bien
  12. Comment téléporter un joueur

    Bon, faut quand-même revenir au sujet 1. Dans ta classe principale, dans ton onEnable, tu ajoutes si ça n'y est pas déjà : PluginManager pm = Bukkit.getServer().getPluginManager(); pm.registerEvents(new Teleporte(this), this); Comme l'a très bien dit Wisteca, un nom de classe commence par une Majuscule et une variable par une minuscle. Et si tu es sur eclipse, lors de la création de ta classe, tu ad dû voir Type name is discouraged. By convention, Java type names usually start with an uppercase letter Même si c pas ça qui va régler un bug, je préfère te le dire.   2. Tu appel "p" dans p.getWorld mais tu n'as pas dis à Java que "p" était un joueur, ni lequel... donc ça ne peux pas marcher. 3. Pourquoi passer par un HumanEntity alors que tu peux passer par Player car tu a démontré qu'il en était bien un ?! Donc tu peux faire if ((e.getDamager() inftanceOf Player) && (e.getEntity() instanceOf Player)) { Player damager = (Player) e.getDamager(); Player p = (Player) e.getEntity(); } Du coup la tu fait "if (damager.getItemInHand() == Material.tonMaterial/*ou un .equals(Material)*/) {/*code*/}" car on a déclaré le joueur "damager"; et donc tu peux aussi utiliser le p.getWorld() ou p.getLocation().getWorld() car ce joueur est aussi déclaré !
  13. Boucle for configuration

    De rien (g édité)
  14. Boucle for configuration

    Configuration section ? (j'ai pas bien compris le problème) //ici directement dans la classe public static List<Games> /*Games serait une classe*/ games = new ArrayList<>(); //ici, le onEnabled //on charge la méthode loadGames de type void loadGames(); //par exemple dans la méthode loadGames ConfigurationSection section = getConfig().getConfigurationSection("Arenes"); try { for (String infos : section.getKeys(false)) { infos.length(); } } catch (NullPointerException e) { System.err.println(ANSI_YELLOW + "[MonsterQuestMobs] [WARNING] La section Mobs est vide ou n'existe pas dans la configuration." + ANSI_RESET); return; } for (String infos : section.getKeys(false)) { // infos = id //section se comporte comme un fichier à part entière String[] spawnTab = section.getString("Spawn").split(","); World world = Bukkit.getServer().getWorld(spawnTab[0]); Location spawn = new Location(world, Integer.parseInt(spawnTab[1]), Integer.parseInt(spawnTab[2]), Integer.parseInt(spawnTab[3])); //etc... Tu peux créer une petite classe avec les paramètres games.add(new Games(infos, spawn, /*par exemple un argument gameTime, maxPoints*/); } J'ai mis deux fois le for (String infos : section.getKeys(false)) {, car si on met tout dans le try{}catch(){} et qu'il y a une autre erreur, on sais pas d'où elle vient.   Un exemple de game.class très syntéthique public Games(String infos /*donc le nom*/, Location spawn, /*etc...*/) { this.name = infos; this.spawn = spawn; } //tu créé des guetters et field  
  15. Bug ItemStack setAmount(1) quand l'item n'a pas d'ItemMeta.

    Je connais le isSimmilar mais il bug sur les noms et lors en couleurs, c pour ça que j'ai fait par "étapes"