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! 

TheElectronWill

Membres
  • Compteur de contenus

    810
  • Inscription

  • Dernière visite

Réputation sur la communauté

954 Excellent

À propos de TheElectronWill

  • Rang
    ✨ Javarchimage ✨
  • Date de naissance 05/02/99

Me contacter

  • Discord TheElectronWill#0423
  • GitHub TheElectronWill
  • Minecraft TheElectronWill
  • Mail [email protected]il.com
  • Site Web mcphoton.fr
  • Twitter TheElectronWill

Informations de profil

  • Bukkitorg http://dev.bukkit.org/profiles/TheElectronWill/
  • Centres d'intérêt Informatique, Badminton, Aikido, Piano.
  • Sexe Homme

Visiteurs récents du profil

5121 visualisations du profil
  1. Études programmation/ études informatique

    Si tu sais ce qui t'intéresse il est judicieux de te diriger vers un BTS ou un DUT. Les différences entre un BTS et un DUT : tous les deux s'obtiennent en 2 ans tous les deux te permettront de faire de l'informatique (programmation, réseau, bases de données, etc.)  Ansi que des stages en entreprise. Un DUT est plus recherché qu'un BTS, sur le marché du travail et par les étudiants. Sur APB, en Août, il ne restait presque plus de place en IUT mais encore plein en BTS (dans toutes les fillières). Un DUT permet plus de poursuites d'études, notamment en école d'ingénieur : si t'es parmis les meilleurs de ton IUT tu peux rentrer en école sur dossier (ex: l'Ensimag) ou via un concours. Avec un BTS c'est plus difficile (voire impossible), et faut parfois faire une année en plus. Un BTS se passe au lycée, alors qu'un IUT est généralement sur le campus universitaire, à côté de la fac. L'IUT évalue majoritairement en contrôle continu, pour le BTS je sais pas ^^ Donc je te conseille plutôt l'IUT, qui te permettra (si tu le souhaite) de continuer tes études pour avoir un meilleur poste et donc salaire à la sortie  J'ai lu de nombreux témoignages d'étudiants d'IUT qui sont rentrés ensuite en école d'ingé, et qui ont super bien réussi. Ils étaient en avance au niveau info par rapport aux prépa, et un peu en retard niveau maths mais ça se rattrape    Ah et IUT = Institut Universitaire de Technologie = l'établissement, alors que DUT = Diplôme Universitaire de Technologie = le diplôme. not the same
  2. Moi tout simplement

    Bienvenue !
  3. Classer Des Joueurs

    @FloflololDev Tu veux faire quoi avec ton classement ? Pour manipuler les joueurs dans l'ordre un TreeSet qui est une collection triée automatiquement. Fais une classe CustomPlayer comme ça a été suggéré, et ajoute les joueurs dans le TreeSet, ils seront automatiquement dans le bon ordre.   Par contre avec ça tu peux pas récupérer instantanément un joueur avec son UUID, ni la position d'un joueur dans le Set. Il faut faire toi-même des méthodes auxiliaires. Pour obtenir la position d'un joueur dans le classement on pourrait parcourir tout le set, mais c'est plus optimisé de faire comme expliqué ici : https://stackoverflow.com/questions/7911621/how-to-find-the-index-of-an-element-in-a-treeset /** Donne le rang du joueur (Attention : le 1er est à la position 0), ou -1 s'il n'est pas dans le classement. */ public int getRank(CustomPlayer player) { // set est le TreeSet du classement return set.contains(element)? set.headSet(element).size(): -1; } Si tu es sûr que tous les CustomPlayer sont dans le classement tu peux virer la vérification "set.contains(element)". Pour obtenir le rang à partir de l'UUID on n'a pas d'autre choix que de parcourir tout le TreeSet... sauf si tu utilise en plus une Map<UUID, CustomPlayer>. public int getRank(UUID playerId) { CustomPlayer customPlayer = map.get(playerId); return getRank(customPlayer); }  
  4. Je savais bien que je connaissais "TheJulix" :) Welcome to SDD

  5. Magnifique rang x) "Se repaît de la souffrance des développeurs Java/bukkit"

    1. Wisteca

      Wisteca

      "Se repaît de la souffrance des développeurs OpenGL" n'aurait pas été si mal non plus xD

  6. Générer des grandes structures... sans lags !

    Désolé de la réponse tardive ^^ Par exemple au lieu de faire ça :  Object chunkNMS = getNMSClass("World").getMethod("getChunkAt", int.class, int.class).invoke(worldNMS, x >> 4, z >> 4); Tu récupère la méthode une seule fois pour toutes : static final Method getChunkAt = getNMSClass("World").getMethod("getChunkAt", int.class, int.class); Puis tu l'utilise comme ça : Object chunkNMS = getChunkAt.invoke(worldNms, x>>4, z>>4); Ça évitera de rechercher la classe et la méthode à chaque invocation  
  7. Générer des grandes structures... sans lags !

    Tu abuses sur la reflection là Au moins, essaie d'éviter les operéations inutiles : garde l'instance de Method par exemple. Initialise-là une seule fois en static final, et réutilise là après. Ça fera déjà une bonne optimisation
  8. >> Ebutance Innovation << Faction moderne RP RPG avec quêtes...

    Je pense que tu devrais écrire encore plus gros, là on arrive encore à voir plusieurs phrase sans scroller, ça ne va pas du tout !     C'est bien d'avoir un trailer avec une musique épique mais je trouve que la police bof sur fond noir casse un peu l'ambiance, c'est dommage Bonne ouverture de serveur en tout cas !
  9. Question compliquée. ;)

    Pourquoi pas un duel à l'ancienne ? Épée ou pistolet, selon le style. Celui qui gagne décide. (vu qu'apparemment on se fout un peu de ce que pense "SuperBonn" qui n'est que "bonne" et rien d'autre  je l'inclus pas dans l'histoire...)
  10. Je développe avec Vous - Youtube

    Salut ! Quelques remarques techniques (parce que je peux pas laisser dire n'importe quoi ) : Pas besoin d'installer le JDK et le JRE car le JDK contient déjà un JRE. Il existe une version d'IntelliJ qui est gratuite (et amplement suffisante pour faire des plugins) : c'est la "community edition". Je te conseille de l'essayer Sans oublier Netbeans, un autre gros IDE Aussi, pense à bien structurer ta vidéo avant de la faire, ça évitera notamment de devoir rajouter des infos à la fin. Bon courage pour la suite !
  11. Enfin en vacances ! :)

    1. Afficher les commentaires précedents  1 autres
    2. TheElectronWill

      TheElectronWill

      Eh ouais ^_^

      Après les examens, les vacances. Ça me semble normal non ?

    3. Kumakuma215 <3

      Kumakuma215 <3

      La chance ;-;

    4. SeaMoon69

      SeaMoon69

      Stp ne dis pas «c'est les vances» ca donne envie et il me reste 1 semaine, on est les derniers... :(

  12. [LIB] Night-Config : les configurations en Java

    Je veux bien ajouter xml (et ça serait pas très compliqué) mais faut m'expliquer l'intérêt de la chose pour les fichiers de configuration :   Entre ça: property = value   Et du xml : <property>value</property>   ... ben je vois pas ce qu'apporte le XML à part que c'est plus long et plus pénible ?   Pour sérialiser des objets j'avoue que ça peut être plus pratique car on peut ajouter plus d'infos (encore qu'on pourrait faire la même chose avec des strings dans autre format - mais ça serait moins propre). Mais ça serait peut-être mieux de faire une lib de serialization XML si ça ne sert qu'à ça.
  13. JAVA Mot clef incompréhensible

    C'est à cause de ma prof de prog de cette année. Elle dit absolument tout en français (mais vraiment tout !) alors ça déteint sur les élèves. Au moins j'ai pas fait de "francisisme". C'est le vocabulaire français "officiel"
  14. JAVA Mot clef incompréhensible

    Comme ça a déjà été dit, Serializable est une interface -> regarde le tutoriel d'oracle sur la serialization   transient permet d'exclure un attribut de la serialization. En fait c'est très utile (coucou @SkyBeast ^_^): imagine tu fais tout un tas de calcul en fonction de données et des paramètres entrés par l'utilisateur. Et bien tu veux stocker les données (qui sont toujours les mêmes) mais pas le résultat des calculs ! Et encore moins un éventuel cache. Une solution est donc de déclarer tes attributs résultat et cache comme étant transient.   native sert à indiquer qu'une méthode est implémentée non pas en Java mais avec du code natif (comme du C) via JNI Par exemple System.arraycopy est une méthode native.   volatile est utilisé en programmation "concurrente" ou "multi-thread", donc quand on fait potentiellement plusieurs choses en même temps sur des coeurs (de CPU) différents. Je met potentiellement parce que, même si un code est prévu pour ça, in fine c'est l'OS qui décide de ce qui tourne réellement sur les coeurs. De plus sur une machine avec un seul coeur (et sans hyper-threading, pour faire simple) ben le programme ne pourra pas faire plusieurs choses simultanément   Pour expliquer ce qu'est volatile il faut parler des threads et de cache. Un Thread est une unité d'exécution à l'intérieur d'un programme. Un programme peut démarrer plusieurs threads, et ces derniers ont la capacité de s'exécuter en parallèle. C'est ce qui permet de distribuer le travail sur les coeurs du CPU.   Ce qu'il faut comprendre c'est que, quand il y a plusieurs threads qui utilisent la même variable, chaque thread a le droit de "mettre en cache" cette variable. Et du coup on a un problème : si un thread modifie la variable, les autres n'ont aucune garantie de voir cette modification, et ils peuvent donc continuer à utiliser une valeur obsolète de la variable ! Le plus vicieux, c'est que comme on n'a vraiment aucune garantie, la modification peut être vue tout de suite, ou une minute plus tard, ou 2 jours plus tard, ou jamais ! On ne peut pas savoir et ça peut varier d'une exécution à l'autre.   Ce là que volatile fait son entrée : si une variable est volatile, alors les threads sont forcés d'utiliser la valeur la plus à jour, la dernière valeur qui lui a été assignée. Un exemple d'utilisation est pour arrêter un thread de façon non-brutale : public WorkThread extends Thread { private volatile boolean run = true; /** Arrête le thread.*/ public void stopWorking() { run = false; } @Override public void run() { while(run) { //continue le travail } } } Si run n'était pas volatile, alors la méthode stopWorking ne fonctionnerait pas correctement !   ATTENTION volatile ne permet pas de faire de la synchronization comme le mot-clé synchronized ou les verrous ! Il ne permet pas non plus de faire des opérations de calcul atomiques comme AtomicInteger. Notamment, volatile ne permet pas de gérer correctement un compteur incrémenté depuis plusieurs threads.*   * volatile ne permet pas ça à lui tout seul. Mais avec quelques ingénieuses astuces on peut faire des choses qui fonctionnent de façon sûre en multi-threading sans utiliser ni verrous ni blocs synchronized Par exemple AtomicInteger utilise un attribut volatile. Et on peut faire des files (queues) et autres collections en utilisant volatile astucieusement (mais je ne vais pas rentrer pas dans les détails ici ^^)