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! 

  • Annonces

    • Pskyco

      Bukkit France passe sous Discord !   02/20/16

      Bukkit France est désormais passé sur Discord, au revoir donc notre vieux Teamspeak ! Téléchargez le client et venez nous rejoindre sur notre salon en suivant les instructions suivantes.
      M-à-j du 25/02/2017 : Désormais, seuls les comptes actifs sur le forum se verront donner l'accès au Discord, ce dernier n'est pas une plateforme d'aide de la même manière que le chat.

Toute l’activité

Ce flux se met à jour automatiquement   

  1. Dernière heure
  2. Recherche nom barres

    Comme tu peux voir la réponse de Lucidiax, les couleurs pour les barres sont possible uniquement depuis la version 1.9, car cette fonctionnalité a été ajouté depuis cette version uniquement. Si tu veux le faire pour les versions avant 1.9, faudra modder minecraft.
  3. Traduction GadgetsMenu

    super merci, il me semble qu'en terme de config tu as tout fait, maintenant ya un dossier cosmetics et ya 10 fichiers a traduire si possible merci encore bapt
  4. Aujourd’hui
  5. Générer des grandes structures... sans lags !

    Merci encore pour vos réponses, je vais regarder ça PimaPvP. Je vous dirais ce que j'ai finalment utilisé si vous le souhaitez.
  6. Recherche nom barres

    D'accord , mais j'ai deja suivit le tutoriel de graven , sa ne marche pas (J'ai même essayée le debug) j'ai des petit attention avant pas mal de ligne Donc je pense que les barre ne sont pas compatible en 1.8 mais juste en metre 1 en couleur sa doit être posible , mais comment ?   Cordialement
  7. Hier
  8. SmartInvs - API Avancée d'Inventaires

      Merci à toi pour ton retour !
  9. Load une schematic

    Bonjour n'ayant jamais utilisé les schematics j'aimerais de l'aide car j'ai regarder des méthodes sur internet et je n'arrive pas à load ma schematics. Je ne comprend rien , j'aimerais que vous puissiez m'expliquer très brefement comment faire .   J'ai vue cette méthode : import java.io.File; import java.io.IOException; import com.sk89q.worldedit.CuboidClipboard; import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.Location; import com.sk89q.worldedit.MaxChangedBlocksException; import com.sk89q.worldedit.bukkit.BukkitWorld; import com.sk89q.worldedit.data.DataException; import com.sk89q.worldedit.extent.clipboard.Clipboard; import com.sk89q.worldedit.world.World; public class Schem { @SuppressWarnings("deprecation") public static void pasteSchematics(World world, File file,Location origin) throws DataException, IOException, MaxChangedBlocksException{ EditSession es = new EditSession(new BukkitWorld(world), 999999999); Clipboard cc = CuboidClipboard.loadSchematic(file); cc.paste(es, origin.toVector(), false);} } Utilisé par de nombreuse personne, j'ai persévéré pendant longtemps et c'est la partie qui bloque.    Mon fichier s'appelle : SUHC.schematics   Je sais qu'il faut utiliser une Location WorldEdit en utilisant l'API WorldEdit   Et qu'il faut indiqué le File.   J'ai essayé mais je n'y arrive pas , d'habitude je cherche pendant longtemps mais là c'est une impasse.   Merci d'avance pour votre aide !
  10. SmartInvs - API Avancée d'Inventaires

    Je viens de regarder le code, vraiment rien à dire : super propre, interfacé, utilise Java 8.. de même pour la documentation : sobre & efficace Bien joué et merci pour la contribution  
  11. SmartInvs - API Avancée d'Inventaires

      SmartInvs est une API avancée d'Inventaires pour vos plugins Bukkit.   Fonctionnalités Inventaires de tous les types (table de craft, coffre, four, ...) Taille customisable quand c'est possible (coffre, ...) Titres personnalisés Permet d'empêcher les joueurs de fermer l'inventaire Listeners customs pour les événements relatifs à l'inventaire Itérateur pour les slots de l'inventaire Système de page Méthodes utilitaires pour remplir les bordures/lignes/colonnes/... d'un inventaire Actions lorsqu'un joueur clique sur un item Méthodes update pour modifier le contenu de l'inventaire tous les ticks   Infos Lire la doc : https://minuskube.gitbooks.io/smartinvs Code source : https://github.com/MinusKube/SmartInvs   Utilisation Pour utiliser l'API SmartInvs, mettez-la dans le dossier plugins de votre serveur, ajoutez-la à vos dépendances dans votre plugin.yml (par exemple : depend: [SmartInvs]) et ajoutez-la à vos dépendances dans votre IDE.   Vous pouvez télécharger la dernière version sur la page de Releases sur Github.   À faire Ajouter des Javadocs   Problèmes Si vous avez un problème avec l'API, ou que vous voulez demander un ajout de fonctionnalité, ouvrez une issue sur Github.  
  12. Générer des grandes structures... sans lags !

    Salut, il existe une autre solution que le setType pour chaque blocs. C'est plus complexe, et utilise NMS mais est apparament très très efficace. Voici le poste qui traite le sujet: https://bukkit.org/threads/generating-a-circle-without-lag.100573/
  13. Générer des grandes structures... sans lags !

    Oui, tout a été dit, tu ne peux pas accéder à l'API Bukkit depuis une tâche asynchrone. En fait la différence entre les tâches dites asynchrones et les tâches synchrones est que ces dernières sont exécutées par le thread principal tandis que les autres s'exécutent en parallèle. C'est là le problème : si par exemple le thread principal est en train de travailler sur les coordonnées du joueur alors que tu le téléportes dans un autre thread, et bien on voit que (étant donné que la location n'étant pas synchronisée entre les deux threads) on pourra avoir diverses erreurs dans les opérations.
  14. Générer des grandes structures... sans lags !

    Ok, je testerai comme ça alors. Merci Et si vous avez d'autres idées vous pouvez toujours les donner !
  15. Générer des grandes structures... sans lags !

    Il y a une solution que j'utilise très souvent, c'est de faire apparaître ta structure/schématic étape par étape, c'est à dire par exemple placer 10 blocks, puis 1 tick après encore 10 block, et ainsi de suite jusqu'à ce que la totalité de ta structure soit placée  Pour ce, il faut placer tous les blocks à placer dans une file d'attente (par exemple une Map<Location, MaterialData>), faire un timer qui se répète tous les ticks (ou un peu plus si tu veux encore moins de lag), et dans ton run() récuperer les <Math.min(queue.size(); 10)> premières entrées de ta file d'attente, puis de placer le block à la location K et de Material/Data V obtenues dans l'itération de ta file d'attente  Et ensuite bien sur une fois placés, les retirer de la file.   Je sais pas trop si tu as compris l'explication si jamais j’essaierai de te faire un code si j'ai le temps, c'est peut-être pas facile à comprendre à l'écrit ^^
  16. Recherche nom barres

      @MjCRAFT voilà..
  17. Recherche nom barres

    Bonjour   ça marche en 1.8 ? est j'arive pas a faire un plugins en suivant le tuto tu pourait m'envoyée t'es source ? (stp)   Cordialement
  18. Développeur JAVA - LaPiMoNsTeR

    juste excellent 
  19. Générer des grandes structures... sans lags !

    Comme vous l'aurez pu le voir dans le code d'erreur j'essaye de faire mon plugin pour générer un labyrinthe. Pour l'instant, mon code permet juste de faire un cadrillage (avec les cellules du labyrinthe) comme ceci : Voici le code de génération de ceci : Material material = labyrinth.getBlockType(); Location center = labyrinth.getCenter(); int sizeX = labyrinth.getSizeX(); int sizeZ = labyrinth.getSizeZ(); World world = center.getWorld(); int y = center.getBlockY(); //GENERATION DES MURS & CELLULES : Location coin1 = new Location(world, center.getBlockX() - sizeX, y, center.getBlockZ() - sizeZ); Location coin2 = new Location(world, center.getBlockX() - sizeX, y, center.getBlockZ() + sizeZ); Location coin3 = new Location(world, center.getBlockX() + sizeX, y, center.getBlockZ() - sizeZ); HashMap<Block, Boolean> slots = new HashMap<>(); ArrayList<Block> borders = new ArrayList<>(); for(int x = coin1.getBlockX() ; x <= coin3.getBlockX() ; x++){ for(int z = coin1.getBlockZ() ; z <= coin2.getBlockZ(); z++){ Block b = new Location(world, x, y, z).getBlock(); //BORDURES DU LABYRINTHE : if(x == coin1.getBlockX() || x == coin3.getBlockX() || z == coin1.getBlockZ() || z == coin2.getBlockZ()){ borders.add(b); }else{ //CELLULES ET MURS DU LABYRINTHE if((coin1.getBlockX()%2 == 0 || coin1.getBlockX()%2 == -0) && (coin1.getBlockZ()%2 == 0 || coin1.getBlockZ()%2 == -0)){ if((x%2 == 1 || x%2 == -1) && (z%2 == 1 || z%2 == -1)){ b.setType(Material.AIR); slots.put(b, false); }else{ b.setType(material); } }else if((coin1.getBlockX()%2 == 1 || coin1.getBlockX()%2 == -1) && (coin1.getBlockZ()%2 == 1 || coin1.getBlockZ()%2 == -1)){ if((x%2 == 0 ||x%2 == -0) && (z%2 == 0 || z%2 == -0)){ b.setType(Material.AIR); slots.put(b, false); }else{ b.setType(material); } }else if((coin1.getBlockX()%2 == 1 || coin1.getBlockX()%2 == -1) && (coin1.getBlockZ()%2 == 0 || coin1.getBlockZ()%2 == -0)){ if((x%2 == 0 || x%2 == -0) && (z%2 == 1 || z%2 == -1)){ b.setType(Material.AIR); slots.put(b, false); }else{ b.setType(material); } }else if((coin1.getBlockX()%2 == 0 || coin1.getBlockX()%2 == -0) && (coin1.getBlockZ()%2 == 1 || coin1.getBlockZ()%2 == -1)){ if((x%2 == 1 || x%2 == -1) && (z%2 == 0 || z%2 == -0)){ b.setType(Material.AIR); slots.put(b, false); }else{ b.setType(material); } } } } } //TESTS : for(Block b : borders){ b.setType(Material.DIAMOND_BLOCK); } for(Map.Entry<Block, Boolean> entry : slots.entrySet()){ entry.getKey().setType(Material.GOLD_BLOCK); } Quelques précisions : labyrinth.getBlockType() permet de récupérer le Material des murs du labyrinthe. labyrinth.getCenter() permet de récupérer la Location du centre du labyrinthe. labyrinth.getSizeX() et labyrinth.getSizeZ() permettent de récupérer le nombre de cellule du labyrinthe en X et en Z.   Si vous avez une question sur le code, n'hésitez pas !
  20. Générer des grandes structures... sans lags !

    Tout dépend comment tu t'y prends. Montre nous ton code que tu utilises et comment tu l'utilises
  21. Générer des grandes structures... sans lags !

    Donc il est impossible de générer une structure sans faire freeze le serveur ?  
  22. Générer des grandes structures... sans lags !

    Tu ne peux pas utiliser de méthode bukkit dans un scheduler async. Montre nous ton code et on pourra t'aider à l'améliorer
  23. Est ce possible de regen une map minecraft sans redémarrer le serveur?

      @OpperDev tu aurai lu...
  24. Hello ! Version (serveur) : 1.11.2 API utilisée : Spigot IDE utilisé : Intellij Idea Explications du problème rencontré : Je fais un plugin dans lequel je génère des structures d'une taille assez grande. Quand je génère une structure, le serv freeze pendant quelques secondes et la console est remplie de "Stik0u moved too quickly! 5.670546690313829,0.0,16.518378988364553". J'ai donc essayé de mettre mon code dans un Runnable puis de le lancer avec "Bukkit.getScheduler().runTaskAsynchronounsly(Plugin, Runnable)". Mais une erreur apparait dans la console (checkez Code d'erreur). Du coup je ne sais plus quoi faire pour générer une structure sans lags. Recherches effectuées : Google, wiki Bukkit, forum Spigot, forum Bukkit. Code d'erreur :  [18:16:24 WARN]: [Labyrinths] Plugin Labyrinths v0.1 generated an exception while executing task 7 java.lang.IllegalStateException: Asynchronous block remove! at org.spigotmc.AsyncCatcher.catchOp(AsyncCatcher.java:14) ~[spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8] at net.minecraft.server.v1_11_R1.Block.remove(Block.java:314) ~[spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8] at net.minecraft.server.v1_11_R1.Chunk.a(Chunk.java:473) ~[spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8] at net.minecraft.server.v1_11_R1.World.setTypeAndData(World.java:374) ~[spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8] at org.bukkit.craftbukkit.v1_11_R1.block.CraftBlock.setTypeIdAndData(CraftBlock.java:145) ~[spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8] at org.bukkit.craftbukkit.v1_11_R1.block.CraftBlock.setTypeId(CraftBlock.java:132) ~[spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8] at org.bukkit.craftbukkit.v1_11_R1.block.CraftBlock.setType(CraftBlock.java:123) ~[spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8] at org.bukkit.craftbukkit.v1_11_R1.block.CraftBlock.setType(CraftBlock.java:118) ~[spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8] at fr.stik0u.labyrinths.labyrinths.LabyrinthGenerator.run(LabyrinthGenerator.java:69) ~[?:?] at org.bukkit.craftbukkit.v1_11_R1.scheduler.CraftTask.run(CraftTask.java:71) ~[spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8] at org.bukkit.craftbukkit.v1_11_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:52) [spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8] at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_131] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_131] at java.lang.Thread.run(Unknown Source) [?:1.8.0_131] Code :             Informations supplémentaires :                Merci !
  25. Plugin pour faire spawn Item sur un Schematic

    Bah tu testes... ? Je comprends pas trop l'intérêt de ton sujet, ce n'est ni une idée de plugin ni une recherche... Avant de vouloir demande tu pourrais tester par toi-même... Et sinon pour faire un générateur à minerais sans plugin, me semble que c'est une commande dans ce genre la : /setblock ~ ~ ~ minecraft:mob_spawner 0 replace {EntityId:Item,Delay:1,SpawnData:{Item:{id:"iron_ingot",Count:1},PickupDelay:1}}
  26. MCP Problème

    J'ai le même problème voila ce que cela me fait ...  Je ne comprend pas ...
  27. La dernière semaine
  28. deja tester marche pas en 1.11.2 
  29. ScoreBoardSign

    Effectivement x) merci beaucoup
  30. Charger plus d’activité