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

    224
  • Inscription

  • Dernière visite

Réputation sur la communauté

34 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

Visiteurs récents du profil

1102 visualisations du profil
  1. Trouver la plus petite Team

    Tu as raison mais c'est aussi pour d'autre cas comme un classement à faire
  2. Trouver la plus petite Team

      List<Integer> liste = new ArrayList<>(); liste.add(67); liste.add(24); liste.add(89); liste.add(100); liste.add(3); System.out.println(liste); //[67, 24, 89, 100, 3] Collections.sort(liste); System.out.println(liste); //[3, 24, 67, 89, 100] Collections.reverse(liste); System.out.println(liste); //[100, 89, 67, 24, 3]   Mais pour classer selon des fonctions... dans l'exemple ci-dessous, on va trier la taille des listes "liste1, liste11, liste111" dans la liste "liste" : ArrayList<Integer> liste1 = new ArrayList<>(); liste1.add(67); liste1.add(24); liste1.add(100); liste1.add(99); liste1.add(3); ArrayList<Integer> liste11 = new ArrayList<>(); liste11.add(67); liste11.add(24); liste11.add(100); liste11.add(99); ArrayList<Integer> liste111 = new ArrayList<>(); liste111.add(67); liste111.add(24); liste111.add(100); List<ArrayList<Integer>> liste = new ArrayList<>(); liste.add(liste1); liste.add(liste11); liste.add(liste111); Collections.sort(liste, new CustomComparator()); System.out.println(liste);   CustomComparator (que tu peux mettre sous ta classe où il y a ce code ↑) class CustomComparator implements Comparator<ArrayList<Integer>> /*pour toi ca sera Comparator<Team>, donc ça modifira la methode "compare"*/ { @Override public int compare(ArrayList<Integer> arg0, ArrayList<Integer> arg1) { return Integer.compare(arg0.size(), arg1.size()); } }   Voilà, après si tu veux inverser, c'est toujours le .reverse
  3. [SPIGOT]Projectile détruit un bloc.

    VOILÀÀÀÀ ! @EventHandler public void onArrowHitEvent(ProjectileHitEvent e) { if (e.getEntity() instanceof Arrow && e.getEntity().getShooter() instanceof Player) { Entity entity = e.getEntity(); BlockIterator iterator = new BlockIterator(entity.getWorld(), entity.getLocation().toVector(), entity.getVelocity().normalize(), 0, 4); Block hitBlock = null; while (iterator.hasNext()) { hitBlock = iterator.next(); if (hitBlock.getType() != Material.AIR) { break; } } if (hitBlock.getType() == Material.REDSTONE_BLOCK) { hitBlock.setType(Material.AIR); entity.remove(); } } }  
  4. [SPIGOT]Projectile détruit un bloc.

    https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/entity/ProjectileHitEvent.html   J'ai pas testé mais je suis dirrectement tombé sur ça dés ma première recherche bukkit get when a arrow hit a block → https://bukkit.org/threads/getting-block-hit-by-projectile-arrow.49071/   @EvenHandler public void onArrowHitEvent(ProjectileHitEvent e) { if (e.getEntity() instanceof Arrow && e.getEntity().getShooter() instanceof Player) { /*Si c'est une flèche et que le tireur est un joueur*/ //on verifi si c'est un bloc qui est bien touché et si il n'est pas nul ou d'air (apres tu peux dire que si c'est un bloc de redstone, etc..) if (e.getHitBlock() != null && e.getHitBlock().getType() != Material.AIR /*&& e.getHitBlock().getType() == Material.REDSTONE_BLOCK*/) { e.getHitBlock().setType(Material.AIR); /*On met un bloc d'air*/ e.getEntity().setHealth(0); /*On tue la flèche*/ } } }   Lis bien les remarques, car c'est ça qui fait progresser !
  5. Récupérer le CraftEntity à partir d'un Entity par la reflection

    Oh Bon, donc je passe par une interface... Snif
  6. Récupérer le CraftEntity à partir d'un Entity par la reflection

    Ici, j'ai l'impression qu'il faut utiliser au moins un import contenant la version du serveur, ce que je veux éviter...
  7. VERSION SERVEUR : Vérification avec 1.8 1.9 1.10 1.11 1.12 API utilisés : 1.8 1.9 1.10 1.11 1.12 IDE : Eclipse IDE neon 2 (je sais c vieux mais j'ai un peu la flème d'installer la version de juin 2017)   Bonjour, j'ai un actuellement un problème avec la méthode "invoke" de la classe "Method" Le problème, c'est que dans le invoke m method.invoke([1], [2]) En [2], j'ai une valeur "true" mais le problème n'est pas là. Mon but est de faire du multiversion sans passer par des interfaces (c'est plus propre en une seule classe) Si je met en [1] "entc.getHandle" (venant d'ici ↓) CraftEntity entc = (CraftEntity) ent; Mon code marche, car on récupère les valeurs de la variable "ent" MAIS, si j'essaye de mettre ent.getClass().getMethod("getHandle") en [1], j'obtiens une erreur du type d'un argument "faux" (venant d'ici ↑) java.lang.IllegalArgumentException: object is not an instance of declaring class J'ai essayé avec des newInstance,  de mettre null en [1]...   Voilà, merci d'avance !
  8. Classement HASHMAP

    Cadeau n°2
  9. Bug PlayerInventory Enregistrer dans des HashMap

    J'ai pas testé, mais je pense que ça peut marcher, c'est parfois le plus simple qui l'emporte public HashMap<Player, PlayerInventory> invSave = new HashMap<>(); public void saveInventory(Player p) { invSave.put(p, p.getInventory()); for (ItemStack it : invSave.get(p).getContents()) { if (it != null) { System.out.println(it); } } } public void loadInventory(Player p) { if (invSave.containsKey(p)) { p.getInventory().setContents(invSave.get(p).getContents()); p.getInventory().setArmorContents(invSave.get(p).getArmorContents()); for (ItemStack it : invSave.get(p).getContents()) { if (it != null) { System.out.println(it); } } } }  
  10. Bug PlayerInventory Enregistrer dans des HashMap

    J'ai pas bien compris le problème, mais déjà, pour éviter des erreurs, ajoute ici for(int i = 0;i<35;i++){ Material it = inv1.getItem(i).getType(); int itSize = inv1.getItem(i).getMaxStackSize(); System.out.println("en "+i+", se trouve "+it+","+itSize); } if (inv1.getItem(i) != null) { //code } else { continue; //pour augmenter i sans faire d'erreur }   Si tu pouvais expliquer un peux plus précisément et si possible sans fautes
  11. Bug Java String et Nom de Joueur

    Pour une comparaison de string, utilise equals ou equalsIgnorCase si tu ne prète pas attention aux majuscules if (name.equals(p.getName)) {   //code }
  12. Bientôt les 1000 de réputation ! D'ailleurs, bientôt les 1000 messages !

    1. como89

      como89

      Oui :) c'est long, mais je vais y arriver.

  13. [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
  14. [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 ?
  15. [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