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

    70
  • Inscription

  • Dernière visite

Tout ce qui a été posté par Knockyy

  1. [Question] .YML font ils lag?

    Je vasi regarder ce petit produit  merci de vos réponses les gars  
  2. [Question] .YML font ils lag?

    Version (serveur) : ... API utilisée : Forge/ModLoader/Vanilla IDE utilisé : Eclipse, Intellij Explications du problème rencontré :   Bonjour,    ce n’est pas vraiment un problème mais plutôt une question. Les Config.YML font ils lag le serveur si ils sont trop gros lorsque l’on écrit / lit dedans ? Car je n’ai pas de bdd donc impossible d’utiliser Mysql. En sachant que un .yml représente 1 joueur avec dedans différents données (Stats, etc).   Ducoup m’a question est : Peut t on faire un .yml / joueur avec dedans beaucoup d’info sans lag de serveur ?   Recherches effectuées : Google, Forums Informations supplémentaires : (screen par exemple)
  3. [Question] .YML font ils lag?

    Merci de ta réponse !    En effet je m’en sert pour stocker toutes les statistiques des joueurs ainsi que d’autres informations du style    Players      <uuid> du joueur                 kit                      1:                        Ability:                             PVP:                                cooldown : X                                damage : X                            ^ Ceci se répète pour environ une 70ene d’Ability^                       points:   En gros je stock les Kits crées par le joueur avec le nombre de points utilisé / Kit ainsi que les changements apportés aux Ability du style le Cooldown, les dégâts, etc et ça Avec environ 70 Ability disponibles donc en sois est-ce vraiment utile de rééditer tout le système de stockage pour passer au JSON ? 
  4. Avis PC Gamer

    Bonjour !    Suite a l’achat d’un PC « Gamer » de marque sedatech j’aimerais savoir si sa Config passerai pour Minecraft avec les Shaders sans problèmes (étant donné’ que je peux toujours annuler la commande). Ps: Je sais que l’ecran N’est pas top mais c’est un pack donc l’ecan En sois je ne m’en servirai pas    Config : https://m.rueducommerce.fr/produit/sedatech-pack-complet-pc-gamer-casual-amd-a8-7600-4x-3-1ghz-max-3-8ghz-radeon-r7-series-8go-ram-ddr3-1600mhz-1to-hdd-usb-3-1-wifi-cardreader-alim-80-unite-centrale-avec-moniteur-tft-led-23-6-clavier-souris-et-windows-10-64-bit-28640302
  5. [Question] .YML font ils lag?

    Merci de vos réponses   pour le chzrgement / sauvegarde :   je charge tous les .yml au démarrage du plugin et pour les sauvegardes, lorsque le plugin se désactive   Je vais regarder pour passer sous JSON car ça doit revenir au même qu’un YML pour set/get les données 
  6. Resources Pack sur les serveurs

    setResourcePack void setResourcePack(String url) Request that the player's client download and switch resource packs. The player's client will download the new resource pack asynchronously in the background, and will automatically switch to it once the download is complete. If the client has downloaded and cached the same resource pack in the past, it will perform a file size check against the response content to determine if the resource pack has changed and needs to be downloaded again. When this request is sent for the very first time from a given server, the client will first display a confirmation GUI to the player before proceeding with the download. Notes: Players can disable server resources on their client, in which case this method will have no affect on them. Use the PlayerResourcePackStatusEvent to figure out whether or not the player loaded the pack! There is no concept of resetting resource packs back to default within Minecraft, so players will have to relog to do so or you have to send an empty pack. The request is send with "null" as the hash. This might result in newer versions not loading the pack correctly. Parameters: url - The URL from which the client will download the resource pack. The string must contain only US-ASCII characters and should be encoded as per RFC 1738. Throws: IllegalArgumentException - Thrown if the URL is null. IllegalArgumentException - Thrown if the URL is too long. The length restriction is an implementation specific arbitrary value.     - Via JAVADOC   Comme tu peux le voir il n’y a aucune méthode pré-créée pour reset le RP, le joueur doit se déco-reco. Cependant, si tu met en ligne (Mediafire, dropbox etc) le RP par défaut et qu’à la fin du mini jeu tu fais  player.setResourcePack(url du pack par défaut); je pense que ça devrais fonctionner. Après tu peux toujours regarder du côté des Packets/NMS peut être qu’il y’a un moyen de sauvegarder le pack du joueur avant le début du jeu puis lui remettre à la fin (ce qui éviterai de lui remettre le pack de défaut si il a un pack perso)
  7. Serveur Version : 1.7.10API utilisée : SpigotIDE utilisé : EclipseExplications du problème rencontré : Mon serveur crash lorsque j'appel la méthode  NPC npc = Main.getPlugin().factory.spawnHumanNPC(p.getLocation(), new NPCProfile("Kileh")).lookAt(p.getLocation()); //factory = NPCFactory factory = new NPCFactory(<plugin>);   Qui redirige vers    public NPC spawnHumanNPC(Location location, NPCProfile profile) { //NPCProfile est une class GameProfile simplifiée. World world = location.getWorld(); WorldServer worldServer = ((CraftWorld) world).getHandle(); NPCEntity entity = new NPCEntity(world, profile, networkManager); entity.setPositionRotation(location.getX(), location.getY(), location.getZ(), location.getYaw(), location.getPitch()); worldServer.addEntity(entity); worldServer.players.remove(entity); entity.getBukkitEntity().setMetadata("NPC", new FixedMetadataValue(plugin, true)); return entity.getNPC(); }   Cependant lorsque j'appel la méthode spawnHumanNPC(......), mon serveur crash directe et me colle ce crash-report :    Description: Exception in server tick loop java.lang.NullPointerException: Exception in server tick loop at net.minecraft.server.v1_7_R4.PlayerConnection.sendPacket(PlayerConnection.java:751) at net.minecraft.server.v1_7_R4.EntityTrackerEntry.broadcastIncludingSelf(EntityTrackerEntry.java:280) at net.minecraft.server.v1_7_R4.EntityTrackerEntry.b(EntityTrackerEntry.java:247) at net.minecraft.server.v1_7_R4.EntityTrackerEntry.track(EntityTrackerEntry.java:173) at net.minecraft.server.v1_7_R4.EntityTracker.updatePlayers(EntityTracker.java:157) at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:723) at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289) at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628)   Hors, je ne vois pas du tout de quelle ligne cela pourrait provenir et les forums n'en disent pas plus par rapport aux EntityTracker etc. Si vous auriez une idée de comment résoudre ça..   Merci à vous, bonne journée.
  8. Crash serveur "NullPointerException"

    Up
  9. Field Biomes 1.12

    [b]Version (serveur) :[/b] 1.12.1 [b]API utilisée :[/b] Spigot-API 1.12.1 [b]IDE utilisé :[/b] Eclipse [b]Explications du problème rencontré :[/b] NoSuchFieldException sur mon Biome.class.getDeclaredField("biomes"); [b]Recherches effectuées :[/b] google, spigot [b]Code d'erreur :[/b][spoiler][code] [19:04:39 WARN]: java.lang.NoSuchFieldException: biomes [19:04:39 WARN]: at java.lang.Class.getDeclaredField(Unknown Source) [/code][/spoiler] [b]Code :[/b] [spoiler] Field biomesField = null; try { biomesField = Biome.class.getDeclaredField("biomes"); } catch (NoSuchFieldException e) { e.printStackTrace(); } catch (SecurityException e) { e.printStackTrace(); } biomesField.setAccessible(true); try { if(biomesField.get(null) instanceof Biome[]) { Biome[] biomes = (Biome[]) biomesField.get(null); biomes[Biome.DEEP_OCEAN.ordinal()] = Biome.PLAINS; biomes[Biome.OCEAN.ordinal()] = Biome.FOREST; biomesField.set(null, biomes); } } catch (IllegalArgumentException | IllegalAccessException e) { e.printStackTrace(); }[/code][/spoiler] [b]Informations supplémentaires :[/b] (screen par exemple)
  10. InventoryClickEvent nullpointerexception

    if(e.getInventory() != null) if(e.getWhoClicked() != nul && e.getWhoClicked() instanceof Player) if(e.getCurrentItem() != null)   //Si tu utilises les Meta    if(e.getCurrentItem().hasItemMeta()) if(e.getCurrentItem().getItemMeta().hasDisplayName())   //Faire ton code   desole pour la mise en forme Mais j'écris depuis mon telephone 
  11. Field Biomes 1.12

    C'est ça, je te remercies pour ton aide ! Dernière question, est-ce qu'on peut supprimer entièrement le dossier "world" (Monde principal) ? Car j'ai une méthode qui supprime tout sauf le sous-dossier " region ", donc ça foire des Chunks des fois :/
  12. Field Biomes 1.12

    Je viens de trouver le soucis, j'utilisais "Spigot-API" Donc les class n'existaient pas. Par contre ducoup j'ai le " key.a()" Qui me met une erreur "Thé Method a(String) in the Type MinecraftKey is not applicable for the arguments ()"  
  13. Field Biomes 1.12

    Salut !    Merci de ta réponse, cependant, en 1.12.1 les class RegistryMaterials, MinecraftKey ainsi que la fonction REGISTRY_ID n'existe pas :/  (BiomeBase non plus Mais ca a été remplacé par Biome tout court Donc c'est pas le soucis)
  14. 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 !
  15.   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
  16. 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..
  17. 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)
  18. [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 } }
  19. 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"
  20. 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 !
  21. 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 !"); }  
  22. 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.. 
  23. 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 
  24. 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
  25. 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 !