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! 

ilicos

Membres
  • Compteur de contenus

    1 571
  • Inscription

  • Dernière visite

Tout ce qui a été posté par ilicos

  1. Solution pour instancier une class abstraite

    public abstract class Animal{ public abstract string getYell(); } public class Dog extends Animal { @Override public string getYell(){ return "wouf"; } } public class Cat extends Animal { @Override public string getYell(){ return "miaouw"; } } public class Player{ private Animal animal; public void setAnimal(Animal animal){ this.animal = animal; } public string getAnimalYell(){ return animal.getYell(); } } // somewhere: Player player = new Player(); player.setAnimal(new Dog()); player.getAnimalYell(); // "wouf" player.setAnimal(new Cat()); player.getAnimalYell(); // "miaouw"   J'ai l'impression que tu peines à comprendre l'utilité du polymorphisme, voici donc ci dessus un exemple  
  2. Récupéré un plugin present sur le serveur

    Peut-être faudrait-il être plus précis :/ Quel fichier? Pourquoi est-il important?
  3. Solution pour instancier une class abstraite

    Serait-il possible d'avoir un ensemble de code plus complet pour comprendre? Quel est l'intérêt de rendre la classe abstraite si tu veux l'instancier?
  4. NPE lors d'un call event

      -> return handlers;  
  5. Jeu de plateforme - Besoin de conseil

      Je jetterais un coup d’œil quand j'aurais du temps   Est-ce que le txt est bien incorporé dans le jar? Jette un coup d'oeil par ici -> http://stackoverflow.com/questions/4548699/load-file-within-a-jar http://stackoverflow.com/questions/20389255/reading-a-resource-file-from-within-jar
  6. Jeu de plateforme - Besoin de conseil

    "000000000000000", "000000000000000", "000000000000000", "000000000000000", "100000000111110", "000000000000000", "000000000000000", "000000000000000", "003400022220022", "005600000000000", "005600000000000", "005600000000000", "777777777777777"   L'idée d'utiliser des chiffres n'est pas mauvaise, on peut même visualiser plus ou moins la map. Le chiffre faisant référence à un type d'objet.  Seulement voilà, si tu as beaucoup d'objet, tu vas surement dépasser l'id 9   Tu pourrais, pour résoudre le problème, utiliser des tableaux: [ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 3, 4, 0, 0, 0, 2, 2, 2, 2, 0, 0, 2, 2], [0, 0, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7] ] C'est bien quand ta map est composée d'éléments carrés. Après pour comprendre que le type "4" fait 2-3 en hauteur, c'est moins simple.   Tu pourrais également faire quelque chose d'assez verbeux: [{ "idType": 1, "x": 0, "y": 0 }, { "idType": 1, "x": 50, "y": 25 }, { "idType": 2, "x": 30, "y": 10 }] ou plus court [{ "idType": 1, "position": [0,0] }, { "idType": 1, "position": [0,0] }, { "idType": 2, "position": [0,0] }]   ça peut s'avérer utile si tu as besoin d'informations complémentaires : rotation, chemin de pathFinding etc...  Mais ça, c'est surtout sympa quand c'est généré par un éditeur de level.   Si tu démarres sur un format d'élément tout carré sans rotation ni pathFinding, il serait peut-être préférable, visuellement, pour construire tes levels, d'utiliser le format tableau. (L'idéal reste de se faire un petit levelEditor pour placer des éléments visuels dans une scène)
  7. Jeu de plateforme - Besoin de conseil

    Dans ton fichier data de level, tu dois juste avoir le type, la position et d'autres paramètres si besoin. à partir du type, tu es censé pouvoir instancier un objet. Tu n'as pas à stocker de bitmap dans ce fichier de level. La structuration de ton fichier rend le contenu peu compréhensible. Tu devrais utiliser un format json ou autre.
  8. Jeu de plateforme - Besoin de conseil

    Yep, déplacement, test de collision (...)   Yep, tu peux faire une class Resources avec un loadImage(String source) && BufferredImage getImage(String source)   Pour les niveaux, si c'est préparé, l'idéal est d'avoir un fichier de données qui contient les éléments (type, position (...)) et qu'une classe lise ce fichier et instancie les objects en gérant le clipping.   Dernier truck également, les objects graphics pourraient se dessiner eux même.  Tu peux rajouter une fonction draw(Graphics graphics) sur la classe parente
  9. Jeu de plateforme - Besoin de conseil

    Si tu veux faire un peu d'abstraction : Class Vector2 x, y void normalize() void add(Vector2 additorVector) void substract(Vector2 subtractorVector) float getMagnitude(); Vector2 clone(); static Vector2 addition(Vector2 baseVector, Vector2 additorVector) static Vector2 substraction(Vector2 baseVector, Vector2 subtractorVector) Class Size width, height Size clone() Class Bounds Vector2 getCenter() Size getSize() Vector2 getTop() Vector2 getBottom() Vector2 getLeft() Vector2 getRight() Vector2 getTopRight() Vector2 getTopLeft() Vector2 getBottomRight() Vector2 getBottomLeft() Bounds clone(); boolean containsPoint(Vector2 point) boolean intersectsBounds(Bounds bounds)   Tu créais une instance d'image par objet. Pourtant quelque soit le nombre de monstre instancié, l'image reste la même. essaye d'avoir qu'une seule instance de BufferedImage par image.
  10. Jeu de plateforme - Besoin de conseil

    Essaye de développer en anglais. Les monstres pourraient gérer leurs propres déplacement. Il manque une classe d'héritage, les propriétés sont redondantes dans monstre et personnage.   J'aurais tendance à te conseiller de ne pas mettre de paramètres dans le constructeur. Sinon ça fait beaucoup à l'instanciation. Les monstres et le personnage devraient pouvoir connaître leurs propres images et leurs propres taille.   Comme l'a souligné MrSheepSheep, tu relis les images à chaque créer image alors que tu pourrais conserver l'instance BufferedImage.   Peut-être devrais-tu commencer directement dans un moteur de jeu comme libgx ou jMonkeyEngine . Voir Unity si un autre langage ne te dérange pas (C#)
  11. Timer

    Bukkit.getScheduler().runTaskTimer(Main.plugin, new Runnable() { Petite chance pour que plugin soit null d'où l'intérêt de voir la classe :)
  12. Timer

        pourrait-on voir la Class Main ?
  13. LearnCodeFr, la chaîne YouTube d'apprentissage

    Unity:   Un Component connaît toujours l'object sur lequel est posé -> propriété gameObject. Donc ton membre cube ne sert strictement à rien   Convention de nommage c# -> method -> commence par une majuscule Donc Rotate commence par une majuscule   "transform parce qu'on transform" -> un peu vague comme explication. C'est juste un component, chaque gameObject a forcément un transform ou un RectTransform, c'est le strict minimum. C'est d'ailleurs pour ça que l'on peut accéder directement à son transform à partir du monobehaviour. On peut donc faire directement transform.Something au lieu de gameObject.transform.Something   ~"faut mettre public pour qu'on voit dans l'inspecteur et que l'on puisse modifier". Plus précisément, l'inspecteur affiche tout les champs sérialisés, les champs publiques étant sérializés par défault. Cependant, l'utilité des règles d'accessibilité est toujours présente, il faut éviter de mettre en publique quand on ne veut pas que ça soit modifié de l'extérieur. Par conséquent, rien ne t'empêche d'utiliser l'accessibilité private et d'utiliser l'attribut [SerializeField] pour que le membre soit visible dans l'inspecteur.   Start peut être gommé si on ne l'utilise pas, pareil pour Update. Awake sera appelé avant Start. Il serait peut-être intéressant de parler des sendMessages, de tout les méthodes d'unity automatiquement appelées si on les écrit en fonction d'un évènement. -> Awake, Start, Update, FixedUpdate, LateUpdate, OnTriggerEnter, OnColliderEnter, OnDestroy (...) De l'ordre des appels de ces méthodes.   Il y a écrit LearnCode -> tu sors : "je considère que vous savez déjà développer, allez sur openClassRoom sinon". Ce n'est pas un peu spécial? -> parler au minimum des membres vs propriétés {getter/setter;}, et mots clés delegate, event, out, ref   Je trouve ça très délicat de faire une chaîne avec un nom qui induit le savoir sur plusieurs logiciels, comme un expert qui apprendrait aux autres. Et qu'une seule personne gère cette chaîne et ne fait que des overviews mal préparées de soft/moteurs. C'est pourquoi je te conseille vivement de renommer ta chaîne.   Je n'ai pas regardé les autres tutos'. J'espère que tu fais ça pour t'améliorer en recevant des commentaires, si c'est juste pour étaler ton savoir, c'est mal parti.   Bonne continuation
  14. [LIB] Night-Config : les configurations en Java

    Il y a un bout d'idée qui ressemble à un projet   J'espère que tu auras plus de temps pour l'avancer plus rapidement que moi ahah, bonne chance
  15. Garder le contenu d'une HashMap

    fichier(s) de sauvegarde ou base de donnée.
  16. Téléportation de plusieurs joueurs

    C'est plus safe, mais le développeur perdra plus de temps à comprendre pourquoi un joueur ne se téléporte pas à une position si aucune exception n'est levée. 
  17.   Réglez vos tabulations sur 4 espaces dans votre IDE ou mettez des tabulations partout pour régler ce petit soucis.
  18. Get la valeur d'un input

    Il faut que tu passes par des requêtes php pour ça (voir curl) ou autre langage serveur. à moins que le site distant ait un réglage particulier cross-origin mais ça n'a pas l'air d'être le cas.
  19. Une erreur qui n'indique pas de classe ou de ligne de code !

    Mmh... org.bukkit.plugin.InvalidPluginException: java.lang.NoClassDefFoundError: net/minecraft/server/v1_11_R1/Packet at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:135) ~[spigotmc-1.8.8-R0.1.jar:git-Spigot-e4d4710-e1ebe52] import net.minecraft.server.v1_11_R1.IChatBaseComponent;   Petit soucis de version non? Tu lances ton serveur dans une version antérieure.
  20. Ralala ce changement de pseudo... :3 J'espère que tu as d'autres résolutions ahah #kidding

  21. Une erreur qui n'indique pas de classe ou de ligne de code !

    Serait-il possible de voir la classe principale et le plugin.yml ?
  22. [Bukkit] Utilisation des Event custom, bonne idée ou pas ?

    Que le serveur émette PlayerJoinEvent ou que tu émettes ton propre event, ça ne changera rien. Le comportement restera le même.   Les évènements sont présents pour annoncer que quelque chose est arrivé. et potentiellement pouvoir l'annuler. ils ne gèrent pas le comportement en soit.
  23. HELPFUL CUSTOMIZABLE CONFIGURATOR       1/ Contexte :    Ah... ce fameux temps que l'on perd à comprendre d'où vient ce NullPointerException, cette exception de configuration...  -> 5 min à chercher où on a oublié de fermer une string dans une configuration... -> 10 minutes pour trouver la tabulation en trop, -> 15 minutes pour switcher entre le fichier de configuration et la documentation qui explique le model de configuration, ce que l'on peut rentrer comme valeur   Il était peut-être temps de faire quelque chose pour ça, non?       2/ Ce qui est prévu :    - Définition de type ayant pour base:     - Object     - Map     - List     - Primitive:         - Float         - Int         - String         - Bool     - Set     - Enum - Interface d'édition du model configuration (définition des types) - Interface d'édition de la configuration {partiellement fini} - Export :     - JSON     - YAML     - XML - Import (le model de configuration devra être chargé au préalable):     - JSON     - YAML     - XML - Mise en ligne des models de configurations et récupération - Sauvegarde d'une configuration en ligne (?) - Les propriétés optionnelles dans les objects - Contraintes:     - String :         - regex,         - enum,         - Map<String> keys,         - string values of list     - Number (Float and int) :         - operators:             - INFERIOR TO,             - SUPERIOR TO,             - EQUAL TO,             - SUPERIOR OR EQUAL TO,             - INFERIOR OR EQUAL TO             - NOT_EQUAL_TO         - enum,         - Map<Int> or Map<Float> keys         - Int or Float values of list     2/ Quelques Maquettes de départ:   Interface pour définir les types:   Interface de configuration (en partant du principe que l'objet de base est un object ListLocation):       3/ Exemple :   http://ilicos.franceserv.com/editor-json-yaml-xml/   Cet exemple se base sur la configuration du fichier groups.yml de GroupManager       4/ Resume :   Définition des types de la configuration et du type utilisé à la racine de la configuration Édition de la configuration Export au format désiré               Le projet est en cours de prototypage... C'est possible que le code soit pas mal remodelé   Je travaille en haxe en transpilant vers du js... (c'est mieux pour le web ahah) en supplément de l'html et du css   N'hésitez pas à me dire ce que vous en pensez, à proposer des améliorations voir carrément des interfaces etc...   Cordialement,   ilicos
  24. Recherche un forum

    phpbb (?)
  25. BDD supprimée un mec !

    "DELETE FROM Temps_XP_Remove WHERE uuid = \""+uuid.toString()+"\""