Proposition de plugin pour transporter les spawners


  • Administrateur

    et si tu veut faire un sondage, utilises un strawpoll dont tu met le lien 😄


  • Membres

    Ok merci calibion je vois ça dans la journée ça pourrait être sympa !


  • Membres

    Nouvelle version de la vidéo :



  • Quand tu m’as soumis l’idée, j’ai trouvé que ça ouvrait la porte à un trafic malhonnête. Mais si on applique les restrictions qu’a imaginé Calibion, c’est parfait pour moi, +1


  • Membres

    J’ai fais quelques changements :

    • Désormais les zones protégées (WorldGuard, Plot) sont prisent en compte (je n’ai testé qu’avec WorldGuard), ceci était nécessaire car lors de la transformation en item du spawner, un zone de 3x3x3 centré sur le spawner était cassé sans vérification et on pouvait casser les blocs en bordure de parcelle par exemple…
    • J’ai changé le disque utilisé pour l’outil et j’ai augmenté le taux de chance d’obtenir un disque cassé (Disque 11) lors du cassage du spawner.
    • La zone dans laquelle on ne peut pas poser de spawner est désormais carrée, elle mesure 33x49x33 (X/Y/Z) centré sur le spawner
    • L’item du spawner a une apparence d’objet enchanté

    Visualisation de la zone :


  • Technicien Machine

    L’idée est pas mal
    Tu t’es amélioré un peu en java
    Cependant je pense que tu peux améliorer la conception objet de ton plugin. La gestion mémoire aussi au passage.

    Sinon pas mal 😛


  • Membres

    Oui j’avoue j’ai un peu bâclé la forme ^^ Pour la gestion mémoire je vois mal comment faire par contre, mais dans tous les cas je verrais plus tard.

    Et au fait j’ai release la version pour la 1.13 https://github.com/mindstorm38/movable-spawner/releases/tag/v1.1.0


  • Technicien Machine

    Si tu fais une bonne conception objet, étant donné que le garbage collector est optimisé pour l’orienté objet, une bonne conception objet devrait être plus performant (et donc moins de mémoire utilisée).

    Autrement, si tu privatise un maximum tes variables, le garbage collector sait aussi quand les supprimer ou les garder en mémoire. Le but est de protéger le code de son utilisation (même en final) et de mieux gérer la mémoire du plugin.

    Il faut aussi avoir le réflexe toujours de séparer tes fonctions un maximum, même si ta fonction ne contient 1 ligne ou que tu l’utilise qu’une seule fois, le fait de séparer ta fonction en une dizaine permet d’isoler les étapes de ta procédure. ça fais gagner en lisibilité et à maintenir c’est moins chiant.

    Dans le dernier plugin que je crée, ma plus grosse fonction fais environ 20 lignes sans aucun commentaire. Il reste parfaitement lisible est compréhensible pour quiconque qui survole le code. Perso, je n’ai fais que survoler ton code, et il faut réellement se plonger dedans pour comprendre et pouvoir aider.
    N’ayant pas trop envie de ré-imaginer ton code, je préfère te laisser le soin de rendre ce plugin magnifique si tu en as envie (perso j’aime le code quand il est beau et bien, et puis on est toujours là pour apprendre à faire mieux 👌 ).

    J’ai un bon exemple disponible sur mon projet perso “JeuPy” en C sur gitlab si ça t’intéresse.

    PS: oui je suis du genre perfectionniste, surtout au niveau programmation, mais ça tu le sais déjà 😉 .


  • Membres

    Ok merci j’irais voir, moi aussi je suis perfectionniste à mes heures perdu 😉


  • Membres

    HUPE 👆