🛠️ Configuration Développeur et Guide de Compilation Gradle
📌 Avertissement concernant le code source du dépôt : La documentation de ce Wiki reflète l'état actuel du code source dans le dépôt, qui peut inclure des commits récents non publiés ou des fonctionnalités en cours de développement avant les versions publiques sur CurseForge et Modrinth.
🏗️ Prérequis de l'Environnement
Compiler True Sleep depuis le code source nécessite la chaîne d'outils suivante :
- Java Development Kit (JDK) : JDK 25 ou supérieur (ex. Eclipse Temurin 25 ou GraalVM 25).
- Git : Version 2.40+.
- IDE : IntelliJ IDEA 2026.1+ ou VS Code avec Java Extension Pack.
📥 Cloner le Dépôt
bash
git clone https://github.com/Rifaditya/Vanilla-Outsider-True-Sleep.git
cd Vanilla-Outsider-True-Sleep🔨 Instructions de Compilation Gradle
True Sleep repose sur Fabric Loom avec Gradle 9.3+ exécuté sans démon (--no-daemon).
1. Compiler et Générer le Fichier JAR
bash
./gradlew build --no-daemonLe JAR du mod et le JAR des sources sont générés dans build/libs/ :
vanilla-outsider-true-sleep-1.3.22+26.2.jarvanilla-outsider-true-sleep-1.3.22+26.2-sources.jar
2. Lancer les Tests Unitaires sans Interface
bash
./gradlew test --no-daemon3. Lancer le Client de Développement
bash
./gradlew runClient --no-daemon4. Lancer le Serveur Dédié de Développement
bash
./gradlew runServer --no-daemon📐 Carte de Structure du Projet
Vanilla-Outsider-True-Sleep/
├── build.gradle # Loom build script (Java 25 release)
├── gradle.properties # Target Minecraft & mod versions
├── src/main/java/net/vanillaoutsider/truesleep/
│ ├── TrueSleep.java # Entrypoint & ModVersionGuard init
│ ├── TrueSleepTags.java # Datapack tag constants
│ ├── command/
│ │ └── TrueSleepCommand.java# Brigadier /truesleep command tree
│ ├── config/
│ │ ├── TrueSleepRules.java # Namespaced GameRule definitions
│ │ ├── TrueSleepConfig.java # GSON JSON config persistence
│ │ ├── ClothConfigScreenHelper.java # Cloth Config GUI builder
│ │ └── ModMenuIntegration.java # ModMenu API integration
│ ├── logic/
│ │ ├── TimeWarpManager.java # Hyperspace acceleration engine
│ │ ├── BiologicalStasisHelper.java # Farm aging math & potion aging
│ │ ├── SleepHungerHelper.java # Sleep hunger exhaustion math
│ │ └── QuietClockManager.java # World clock interfaces
│ ├── mixin/
│ │ ├── BedRuleMixin.java # Bed threshold override
│ │ ├── EntityMixin.java # Drown immunity pulmonary stasis
│ │ ├── LevelMixin.java # Machine & hopper tick multiplier
│ │ ├── LivingEntityMixin.java # Active potion effect aging
│ │ ├── MobEffectInstanceMixin.java # Cascade duration decrement
│ │ ├── MobMixin.java # Mob freeze & aging bridge
│ │ ├── ServerLevelMixin.java # Sleep suppression & warp hook
│ │ └── VibrationSystemListenerMixin.java # Warden vibration mute
│ └── mixin/client/
│ ├── HudMixin.java # Sleep black fade cancellation
│ └── SkyRendererMixin.java # Angular celestial sky lerp
└── src/main/resources/
├── fabric.mod.json # Mod metadata & dependencies
├── truesleep.mixins.json # Common mixin configuration
├── truesleep.client.mixins.json # Client mixin configuration
└── data/truesleep/tags/ # Machine & worker mob tags