À propos du projet

Redstore est un petit mod Fabric pour Minecraft 26.3 qui comprime des circuits de redstone déjà réalisables en vanilla en blocs individuels, afin de garder les machines des serveurs techniques lisibles et compactes. L'auteur souligne que rien de ce qu'il ajoute ne dépasse les capacités de la survie vanilla sans commandes : une porte logique est un assemblage torche-et-répéteur dans une seule cellule, l'entonnoir filtrant est la cellule de tri classique à comparateur, et le chargeur de chunks prévu est une chambre de stase pour perle de l'Ender sans la perle. L'objectif annoncé est d'éliminer la corvée, pas les limites. Statut : précoce et non publié. Les trois portes, l'horloge et l'entonnoir filtrant sont écrits ; le chargeur de chunks est spécifié mais pas implémenté. L'ID de mod `redstore` est un nom de code de travail et le nom public n'est pas fixé. Blocs décrits dans le README : - Porte AND / OR / XOR : des plaques de la taille d'un répéteur avec deux entrées latérales et une sortie frontale, pour un tick de redstone de délai. Un clic droit les inverse en NAND, NOR et XNOR. Chacune est fabriquée avec, et porte une plaque de, son propre métal : fer, cuivre, or. - Horloge de redstone : émet un signal périodique. Un clic droit parcourt huit réglages, de 1 à 4 ticks de redstone par phase, sous forme d'onde carrée ou d'impulsion d'un tick. Elle fonctionne par défaut ; un signal sur l'un des côtés l'arrête et affiche la barre de bedrock d'un répéteur verrouillé. - Entonnoir filtrant : un entonnoir avec un emplacement de filtre supplémentaire, ainsi qu'une liste blanche/noire et une correspondance stricte/large. Le filtre détermine ce qui peut entrer ; tout ce qui se trouve à l'intérieur peut toujours sortir. - Chargeur de chunks : spécifié, non implémenté. Il maintiendrait son propre chunk chargé de force et entièrement tické à travers les redémarrages. Prérequis : Minecraft 26.3, Fabric Loader 0.19.5 ou plus récent, Fabric API (requise pour le constructeur de block entity et le crochet de l'onglet créatif), et Java 25. Il doit être installé sur le client et le serveur, car il ajoute des blocs et un écran. Il n'y a pas de fichier de configuration ; chaque bloc se comporte partout de la même manière, et un serveur qui ne veut pas de l'un d'eux peut supprimer sa recette avec un datapack. Compilation : le mod est distribué sous forme de code source. `./gradlew build` produit un jar dans build/libs/, et `./gradlew runClient` lance un client de développement. Un JDK 25 ou plus récent est le seul prérequis ; Gradle provient du wrapper et Minecraft est téléchargé par Loom. Comme Minecraft est livré sans obfuscation depuis la 26.1, il n'y a pas de mappings à appliquer et Loom ne remappe rien : les dépendances de mod utilisent `implementation` et l'artefact provient de la simple tâche `jar`. Organisation du dépôt : `spec/` contient la conception écrite avant le code, un fichier par bloc, avec des spécifications abstraites pour les composants de plaque plate partagés ; `spec/ideas/` enregistre les idées envisagées puis rejetées, comme les modes de porte analogique. `src/` contient le mod, avec des classes réservées au client dans `src/client`. `buildSrc/` contient la tâche `generateAssets`. Approche artistique : aucune texture n'est dessinée à la main et aucune n'est stockée dans le dépôt. Chacune est une texture vanilla avec une petite modification définie précisément ; par exemple, l'entonnoir filtrant est un entonnoir dont le bord de l'ouverture est recoloré avec le bois du cadre d'objet, et une porte est la plaque du répéteur avec sa ligne effacée et une plaque métallique encastrée. Ces modifications résident dans `buildSrc/` sous forme de code, et la tâche Gradle `generateAssets` les applique à la compilation, en lisant la propre copie de Minecraft de l'utilisateur et en écrivant dans `build/`. Elle s'exécute automatiquement avant `processResources`, donc le jar comme le client de développement reçoivent les ressources sans étape supplémentaire. L'auteur note deux conséquences : la modification reste révisable dans un diff et peut être rejouée quand Mojang retouche une texture originale, et le dépôt ne contient jamais de texture Mojang modifiée, seulement le code décrivant la modification. Licence : le code est sous BSD 2-Clause. Le README note que les propres conditions de Minecraft s'appliquent en plus, puisque Mojang autorise les mods tant qu'ils ne sont pas vendus ni monétisés ; la clause permissive d'utilisation commerciale est donc subordonnée aux directives d'utilisation de Mojang. Les textures dérivées ne peuvent pas être licenciées par le projet : ce sont des modifications des graphismes de Mojang, et les conditions de Mojang autorisent la modification des textures par défaut pour un usage personnel, mais pas leur redistribution. C'est pourquoi le mod est fourni sous forme de code source et génère les textures sur la machine de l'utilisateur à partir du jeu qu'il possède déjà, plutôt que de fournir un jar avec les modifications intégrées.