Je proposerais bien des fenêtres internes, un peu comme ça:
Et des barres de progression (avec possibilité de changer les couleurs si possible) et d’y ajouter du texte (peut-être utiliser GuiPanel ?):
Bonjour, ce topic aura pour objectif d’introduire la GuiAPI, ses possibilités ainsi que son mode d’emploi.
#Quel est but de la GuiAPI ?(Quel est but de la GuiAPI ?)
Son but principal est de simplifier la création d’interfaces dans le jeu. Afin de réduire le temps (gâché) passé à mettre en place une classe et un rendu de GUI.
J’en ai eu assez de trifouiller des classes entières afin de créer un GUI potable (réécrire les mêmes lignes pour mettre à jour tous les composants, etc), de là est née l’idée de cette API. A présent vous pouvez créer un GUI et y ajouter des composants, plus ou moins complexes, en quelques lignes.
De plus, j’ai rapidement trouvé que les GUIs de Minecraft Vanilla manquaient de composants, ou ces derniers ne sont tout simplement pas assez modulables (exemple des sliders difficilement intégrables en tant que tel, ou les boutons qui ne peuvent pas être plus grand que 200x20, etc.).
#Quels sont les ajouts que proposent l’API ?(Quels sont les ajouts que proposent l’API ?)
Premièrement, et c’est l’élément crucial de l’API: elle gère “l’inception”, dirons nous, un composant dans un composant dans un composant, etc.
:::
:::
A quoi diable cela sert-il ? Et bien, à la façon de Java Swing, vous pouvez créer des panels, y ajouter des composants (qui seront mis à jour automatiquement, plus besoin de rajouter toutes ces lignes redondantes, idem pour le rendu). Vous pourrez par conséquent gérer facilement des ensembles de composants au lieu de les gérer individuellement! Simplicité quand tu nous tiens! Un système interne au rendu permet également aux composants enfants des panels de n’être rendu que dans les limites de ce dernier (vous comprendrez plus bas).
Afin de gérer les inter compatibilités entre les mods qui utiliseraient l’API, j’ai également mis en place différents events, chacun cancelable, pour modifier des GUIs de mods externes.
Je pense qu’à ce stade des screens et exemples concrets seront plus parlant pour montrer les ajouts:
(Panel 1 et Panel 2 visibles) (En une ligne de code, tout l’ensemble du Panel 2 est invisible)
Pour voir le code de ce GUI, c’est ici. Ce GUI regroupe quelques composants compris dans l’API, en voici la liste complète à ce jour:
Les conteneurs:
Je pense avoir fait le tour pour le moment, dans un futur proche je ferai une mise à jour afin de rajouter d’autres éléments, dont voici une liste non exhaustive:
Toute suggestion est bien évidemment la bienvenue
#Code source et téléchargement(Code source et téléchargement)
Cette API est bien évidemment open-source, j’attends d’ailleurs vos potentiels retours sur mon code (mon objectif étant de m’améliorer rapidement donc n’hésitez pas à critiquer ^^).
Sur ce, bonne journée/soirée ;)~~
Tout d’abord, très beau travail! Minecraft manquait effectivement de solutions pour faire des GUIs propres et portables!
J’aurais juste quelques remarques à faire sur le code:
Merci pour ton retour, je vais trouver une alternative au dWheel prochainement dans ce cas Concernant les dépendances au code Minecraft, tu penses à des classes précises ? Parce que les seules encore fortement dépendantes restent celles des containers que je compte modifier dans une version future, pour le moment elles restent des copiés/collés légèrement modifiés des classes de Minecraft.
Après revérification, il y a moins de dépendances que ce que je me souvenais. Je noterais peut-être juste la classe Minecraft (mais on peut pas trop faire sans) et ‘PositionedSoundRecord’ dans GuiButton et GuiSlider, mais je vois pas trop comment faire autrement au final.
D’accord de toute manière, et comme tu la dis, ce sont des méthodes qui ne changeront pas.
A ceux qui verront ce topic, je suis ouvert à toutes propositions d’ajouts a faire, alors n’hésitez pas
Beau travail, ça a l’air d’être une API bien pratique, permettant plus de choses que le système de gui de MC, je regarderais plus en détail un peu plus tard mais ça m’intéresse.
Merci, tout ce que tu viens de citer est déjà possible il faut juste que je rajoute de quoi mettre un texte dans la barre de progression.
Petite mise à jour:
Au début cette API me faisait penser à GuiAPI de ShockAhPi (MinecraftForum.net) ^^
Je ne connaissais pas, à en voir la version sur minecraftforum elle n’est plus à jour de toute manière ^^
Oui ça fait un bail que c’est abandonné.
Ok donc je garde la légitimité de mon API, j’ai eu peur ^^’
Ce n’était pas ce que je sous-entendais dans mes messages haha
Juste que le nom me faisait rappeler l’API de ShockAhPi !
D’accord
Petit patch de la soirée:
Nouvelle mise à jour après un peu de temps ^^
Les ajouts majeurs:
Ajouts mineurs:
Je prévois de faire un article plus complet sur comment utiliser le mod et donner plus d’exemples de GUIs bien sympas histoire d’intéresser plus de monde Surement d’ici Pâques si je trouve le temps.
Bonjour,
Je souhaiterai savoir si ce projet a été abandonné ou non car si tel est le cas c’est fortement dommage parce-que c’était vraiment une super idée. Surtout d’ajouter de nouveau composant au gui ect… Ct vraiment génial !!