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 579
  • Inscription

  • Dernière visite

Tout ce qui a été posté par ilicos

  1. URI problème

    Serait-il possible d'avoir le stacktrace en entier pour savoir sur quelle ligne se trouve l'erreur?
  2. Origine inconnue d'un NPE (tout bug a cause de lui)

    Je t'ai demandé ce que tu voulais faire précisément car c'est très entremêlé entre listener et commandExecutor.    Tu n'as répondu qu'à moitié ce qui m'a fait comprendre l'utilité du listener. Le command executor, je ne sais pas à quoi il sert étant donné que tu n'as pas expliqué complètement.   Pas le temps de chercher à comprendre et ton code n'est pas assez clair. Donc tant que tu n'expliques pas entièrement ça ne sert à rien de venir me chercher en m.p. :/   Note 1 : tu debuggues en utilisant autre chose que tes paramètres de fonctions, Ça n'a pas de sens. Note 2 : Soit Clément et patient avec ceux qui débarquent, ils ne cherchent qu'à t'aider  
  3. Origine inconnue d'un NPE (tout bug a cause de lui)

    J'ai l'impression que beaucoup de choses s'entrecroisent entre commande et listener dans ton archi'.   Peux-tu détailler ce que tu cherches à faire exactement?
  4. Origine inconnue d'un NPE (tout bug a cause de lui)

    Peux-tu nous donner le stacktrace de la dernière erreur s'il te plaît? Ainsi que la ligne qui correspond?
  5. Origine inconnue d'un NPE (tout bug a cause de lui)

    Je n'ai pas regardé en détail la commande. Mais dans tout les cas, il faut vérifier que le joueur n'est pas nul. target = Bukkit.getServer().getPlayer(args[0]) ; -> args[0] mauvais index? Trace dans la console pour t'assurer que ça correspond à ton pseudo.
  6. Origine inconnue d'un NPE (tout bug a cause de lui)

    public void sendReason (String reason, Player pUse, Player pTarget) { pUse.sendMessage("pUse : " + command.getpUse()) ; pUse.sendMessage("pTarget : " + command.getpTarget()) ; pUse.sendMessage("Raison : " + getReason(reason)) ; pUse.sendMessage(bleu + "Vous avez report le joueur " + red + command.getpTarget().getName() + bleu + " pour " + red + getReason(reason) + bleu + " !") ; } La Null Pointer Exception vient d'ici. Plus précisemment de cette ligne: pUse.sendMessage(bleu + "Vous avez report le joueur " + red + command.getpTarget().getName() + bleu + " pour " + red + getReason(reason) + bleu + " !") ; Puisque les instructions précédentes sont passées, je suppose que command.getpTarget renvoie null.   Et ça peut arriver: target = Bukkit.getServer().getPlayer(args[0]) ; (Dans ReportCommand) Rien ne dit que le joueur existe. Et s'il n'est pas connecté, ça va rien envoyé. Donc target sera null   note :    Je ne vois pas très bien l'utilité de passer des paramètres si c'est pour utiliser des getter derrière. public String getReason(String reason) { return reason ; } je pense que tu peux supprimer cette méthode, elle n'a pas l'air d'avoir beaucoup d'intérêt
  7. [Résolu] SkyWars -> NullPointerException incompréhensible...

    private static List<ItemStack> items, itemsCheat = new ArrayList<>(); // -> private static List<ItemStack> items = new ArrayList<>(); private static List<ItemStack> itemsCheat = new ArrayList<>();
  8. Fichier de config

    Tu peux stocker ce que retourne getConfig() dans une variable au lieu d'appeler partout cette méthode. Il faut que tu effectues un saveDefaultConfig() pour créer le fichier par défault
  9. 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  
  10. Récupéré un plugin present sur le serveur

    Peut-être faudrait-il être plus précis :/ Quel fichier? Pourquoi est-il important?
  11. 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?
  12. NPE lors d'un call event

      -> return handlers;  
  13. 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
  14. 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)
  15. 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.
  16. 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
  17. 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.
  18. 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#)
  19. 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 :)
  20. Timer

        pourrait-on voir la Class Main ?
  21. 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
  22. [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
  23. Garder le contenu d'une HashMap

    fichier(s) de sauvegarde ou base de donnée.
  24. 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. 
  25.   Réglez vos tabulations sur 4 espaces dans votre IDE ou mettez des tabulations partout pour régler ce petit soucis.