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! 

Knockyy

Membres
  • Compteur de contenus

    57
  • Inscription

  • Dernière visite

Réputation sur la communauté

19 Neutre

1 abonné

À propos de Knockyy

  • Rang
    Développeur débutant.
  • Date de naissance 03/28/99

Me contacter

  • Minecraft Knockyy

Informations de profil

  • Sexe Homme

Visiteurs récents du profil

262 visualisations du profil
  1. Meilleure façon de régénérer une Map

    Yep j'ai finalement opté pour une HashMap Et une List Et au final ça a l'air beaucoup mieux, merci !
  2. Meilleure façon de régénérer une Map

    Justement comme dit plus haut la map se trouve dans le même monde que Le spawn etc, ducoup j'aimerais trouver un moyen de regen La map sans devoir restart ou reload, actuellement j'utilise les schematics qui se paste pour remettre tout comme avant Mais sur une map 300x300 ca lag un peu..
  3.   Version (serveur) : 1.7/1.8 API utilisée : ProtocolHack 1.7/1.8 IDE utilisé : Eclipse Explications du problème rencontré : J'aimerais trouver un meilleur moyen pour régénérer une map (La remettre d'origine après pose/casse de blocs) (Map étant dans le monde principale). Actuellement j'utilise les Schematics mais cela fait lag Le Serveur lors de la régénération, à cause de la taille de La map (300x300), j'aimerais savoir si il y'a une méthode pour La restaurer comme à l'origine sans lags Recherches effectuées : YT, Forums, Bukkit.org Et Spigot
  4. Problèmes Optimisation

          Version (serveur) : 1.7.10 API utilisée : Spigot / Bukkit 1.7.10 IDE utilisé : Eclipse Explications du problème rencontré : Nous rencontrons des lags pertinent lorsqu'un nouveau joueur se connecte sur le serveur. Ainsi que quand notre système de "Top Player" se met à jour. J'ai utilisé les Timings pour voir d'où ça provenait, je vous mets les 2 classes concernées plus bas. J'aimerais donc savoir comment bien optimiser ces deux classes. Merci beaucoup de votre aide futur !   PS: La clas "Gamer" est une class object avec des méthodes directe pour récupérer les Kits des joueurs, les Stats (Qui sont sauvegardés dans une config.yml) et d'autres choses du genre. Recherches effectuées : Google, Forums, Contacts Skype Code d'erreur : PlayerJoin Class : Code :    Informations supplémentaires :    Pct Total    Pct Tick       Total          Avg     PerTick         Count        Event        2.12%     414.62%      3.73 s       207.31 ms     0.0           0.0k        PlayerDeath::on(PlayerDeathEvent)        1.15%    1,012.17%      2.02 s       506.09 ms     0.0           0.0k        PlayerJoin::on(PlayerJoinEvent)        0.61%     120.17%      1.08 s        60.09 ms     0.0           0.0k        Levels::on(PlayerDeathEvent)        0.59%    1,041.72%      1.04 s       520.86 ms     0.0           0.0k        Task: TopRunnable(interval 2400)
  5. [RESOLU] [Java] Erreur console code (PlayerInteractEvent)

    Faut que tu vérifies si ton Block cliqué n'est pas == null, car la tu regarde si le Block cliqué est une trapp door sauf que si tu clic en l'air bah c'est ce qui te généré l'erreur étant donné que le Block d'air =  null   Édit :   if(e.getAction() == Action.RIGHT_CLICK_BLOCK) && e.getClickedBlock() != null){   if(e.getClickedBlock.getType() == <Block souhaité>){ //Faire ton code } }
  6. Avoir le ping d'un joueur sur un item dans un gui

    Ta variable Ping existe déjà avec l'Integer, et de plus tu n'a pas de Variable nommée "player"
  7. Bonjour !    J'ai récemment configurer mon VPS pour un serveur minecraft. A la fin de tout, j'ai donc fermé putty, et en relançant la session, je ne sais pas dutout comment re obtenir la console.. En sachant que le serveur tourne 24/24. J'ai beau faire (dans l'ordre)   screen -ls screen -R paperspigot (Nom de mon screen)  ctrl + A +D   ça m'affiche [detached from 6381.paperspigot] [email protected]:~# mais ça ne m'affiche pas la console..   Voilà , merci !
  8. Probleme pour cacher les joueurs

    J'ai fais pareil après avoir posté l'aide. Cependant le problème persiste, lorsque je clic le mec on est dans l'arène normal sauf quand si deux autres joueurs cliquent, moi et le gars avec qui je 1v1 voyons 1 des deux joueurs qui nous on rejoint 
  9. Probleme pour cacher les joueurs

    Rebonjour   Toujours sous Spigot 1.7.10 et sous eclipse pour dev, cette fois j'ai un soucis au niveau des player.HidePlayer(....); En faite, j'aimerais faire des 1v1 dans une arène global (là ou tous les 1v1 se ferront) sauf que quand je veux cacher les joueurs pour que seulement les 2 adversaires se voient, lorsqu"un joueur se connecte et qu'il vient en 1v1, il voit les gens deja dans l'arène et les gens dans l'arène vois aussi le joueur, ce qui fou bien le bordel.. J'aimerais donc savoir comment bien cacher les joueurs entre eux pour que seulmeent les 2 adversaires se voient !   Ma méthode pour cacher les joueurs :    for(Player online : Bukkit.getOnlinePlayers()) { player.hidePlayer(online); clicked.hidePlayer(online); online.hidePlayer(clicked); online.hidePlayer(player); player.showPlayer(clicked.getPlayer()); clicked.showPlayer(player.getPlayer()); }   J'ai penser à stocker les joueurs en 1v1 dans une List, faire un Iterator pour récup tout le monde et ainsi cacher les 1v1er (jsp si ça se dit :p)  à ceux qui arrive   Un truc comme ça :   for(Player online : Bukkit.getOnlinePlayers()) { player.hidePlayer(online); clicked.hidePlayer(online); online.hidePlayer(player); online.hidePlayer(player); for(Iterator<String> it = inpvp.iterator(); it.hasNext();) { Player next = Bukkit.getPlayer(it.next()); next.hidePlayer(online); online.hidePlayer(next); clicked.hidePlayer(next); } player.showPlayer(clicked); clicked.showPlayer(player); } Sauf que ça ne marche pas.. 
  10. Player duplication dans le Tab

    Désolé du retard mais j'ai pas pensé à revenir ici pour vous prévenir que j'avais trouvé d'où ça provenait. En faite c'était à cause d'un auto-respawn, depuis que je l'ai enlevé tout fonctionne bien !  J'ai aussi changé le PlayerJoin par un PlayerLogin, ça marche tout autant donc merci bien, résolu
  11. Player duplication dans le Tab

    Bonjour,   Donc je dev un plugin sous Spigot 1.7.10 avec eclipse, et j'ai un problème avec le Tab. En effet, desfois des joueurs se trouve "dupliqués" dedans, ainsi on peut avoir "Knockyy", "Knockyy89","Knockyy" etc etc sauf que ducoup ça me fais planter des systeme de téléportation.. Auriez vous une idée d'où ça peut provenir ? Au début je pensais que c'étais à cause du player.showPlayer(); car ça me fais ça depuis que j'ai acheté des lignes comme ça sauf que je les ai enlevées et c'est pareil.. Merci ! Edition:   Après des test j'ai trouvé d'où ça venait. En faite j'ai un Event PlayerJoinEvent qui permet de détecter la version du Client, si celle-ci est en 1.8, le joueur est Kick. Sauf que si il est en 1.8 et qu'il est Kick, et bien il est dupliqué..   Le code si ça peut aider :   if(((CraftPlayer)event.getPlayer()).getHandle().playerConnection.networkManager.getVersion() >= 47) { player.kickPlayer("§cThe server is only compatible with 1.7 version !"); }  
  12. Problème optimisation

    Oui j'ai encore un peu de mal avec tout ça surtout que j'avais pas compris ton code ^^"   Voila les timings :  https://timings.spigotmc.org/?url=18642679
  13. Problème optimisation

    Ah d'accord, j'ai à peu près compris le système   Cependant, pour ma class FishermanKit pour récupérer mon joueur (Instancier donc en Gamer au lieu de Player) , vu que la HashMap est en private, (c'est qu'il doit y avoir une raison) y'a t-il un autre moyen de le récupérer ? 
  14. Problème optimisation

    A quoi sert la class Abstract? Je n'ai jamais vu de class avec ce modifier o-o  Car enfaite j'ai pas totalement compris tes codes, car ou est ce que je vérifie si le joueur est (par exemple) le Kit "A" ? Pour ainsi effectuer l'action du kit en question ? Car si la methode getKit() renvoi sur la clas abstract, comment je sais que le kit en question est bel et bien le Kit "A" ? et pas "Z" par exemple?   Moi justement pour détecter ça j'avais fais une class Enum avec dedans tous les Kits pour faire ainsi    if(player.isKit(Kits.fisherman)) {   et donc effectuer les actions en rapport avec ce kit   Pour mes timings, ce sont que des class implement Runnable et public void run()   par exemple :  public void run() { for (World w : Bukkit.getWorlds()) { for (Entity entity : w.getEntities()) { if (entity.getType() == EntityType.DROPPED_ITEM) { if (entity.getTicksLived() >= 100) { entity.remove(); entity.getWorld().playEffect(entity.getLocation(), Effect.SMOKE, 44); } } } } }  
  15. Problème optimisation

    Bonjour à tous,   j'ai un plugin fais par mes soins sous Craftbukkit & Bukkit 1.7.10 et dev avec Eclipse, cependant lorsque je met le plugin sur Verygames, il fait énormément lag le serveur.. Je pense donc qu'il n'est pas assez optimisé. J'aimerais donc savoir que me conseilleriez-vous ?  Dans mon plugin j'ai une instance Gamer qui me permet de récupérer les méthode Players (via un getPlayer()) et d'en ajouter des "perso" (Exemple ici : =>  @EventHandler public void onGamerFish(PlayerFishEvent event) { Gamer player = new Gamer(event.getPlayer()); //Instance de la classe Gamer if(player.isKit(Kits.fisherman)) { //Exemple de méthode "perso" if(event.getCaught() != null && event.getCaught() instanceof Player) { event.getCaught().teleport(player.getPlayer()); } } }   Pour moi, je pense que c'est le fait de créer à chaque fois un nouveau Gamer au lieu de récupérer le joueur via une méthode genre Gamer player = Gamer.getGamer(event.getPlayer); qui récupèrerait donc le joueur via une HashMap ou autre, ce qui eviterais de récréer une nouvelle instance d'un nouveau joueur si ce dernier à déjà été initialisé.. Après à voir, je ne suis pas le meilleur pour les optimisations.   Ou alors, le fait que je créer une nouvelle class qui implements Listener pour chaque Kits créer. (J'ai 77 kits, donc minimum 77 class implements Listener qui ont à peu près les mêmes events (PlayerInteract,PlayerMove,EntityDamage etc) donc peut être que c'est le faite d'appeler pleins d'events du même type à chaque fois ? Serait-je pas mieux à créer une class 'PlayerInteractListener' qui regrouperait toutes les actions en rapport avec les Interactions ? Je m'explique.   Le kit 'A' implements l'event PlayerInteractEvent donc, je créer une class nommée "A" implementant Listener et avec un PlayerInteractEvent dedans. Le Kit "B" implements exactement pareil que le Kit A, sauf que je créer une autre class nommée "B" avec pareil PlayerInteractEvent. (A noter que les deux Kits font 2 choses différentes, genre le kit A fais spawn un zombie quand on clic un item et le Kit B fais jouer un son, pour exemple)   Ne serait-je donc pas mieux à faire une seule class nomée "PlayerInteractListener" avec dedans un event PlayerInteractEvent et qui regrouperais les deux ? (En détectant quel kit est le joueur pour bien séparer les deux fonctions des kits).   Ou une derniere chose, les Runnables qui sont lancées depuis le onEnable() ? Dnas mon onEnable j'ai ceci en Runnable qui s'active en continu:    Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new Drops(), 0L,20L); Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new Feast(), 0L,20L); Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new Anchor(), 0L,30L); Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new Scout(), 0L, 20 * 240L); Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new Werewolf(), 0L, 20 * 1L); new BukkitRunnable() { public void run() { Gamer.handleCooldown(); } }.runTaskTimer(this, 0L, 1L);     Voilà, si vous avez des idées ou même des modifications à apporter, je suis preneur car c'est assez embêtant.. Merci de votre aide !