Skip to content

🛠️ 개발자 환경 설정 및 Gradle 빌드 가이드

📌 저장소 소스 코드 고지 사항: 이 위키의 문서는 CurseForge 및 Modrinth의 공개 릴리스 빌드에 앞서 최근 릴리스되지 않은 커밋 또는 개발 기능을 포함할 수 있는 저장소의 현재 소스 코드 상태를 반영합니다.


🏗️ 개발 환경 사전 준비 요구사항

소스 코드로부터 True Sleep을 빌드하려면 다음 도구 체인이 필요합니다:

  1. Java Development Kit (JDK): JDK 25 이상 (Eclipse Temurin 25 또는 GraalVM 25 권장).
  2. Git: 버전 2.40+.
  3. IDE: IntelliJ IDEA 2026.1+ 또는 Java Extension Pack이 설치된 VS Code.

📥 소스 코드 저장소 복제 (Clone)

bash
git clone https://github.com/Rifaditya/Vanilla-Outsider-True-Sleep.git
cd Vanilla-Outsider-True-Sleep

🔨 Gradle 빌드 명령어 안내

True Sleep은 Fabric Loom과 Gradle 9.3+를 기반으로 하며 데몬 없는 빌드(--no-daemon) 규정을 준수합니다.

1. 컴파일 및 모드 JAR 패키징

bash
./gradlew build --no-daemon

컴파일된 모드 바이너리 JAR 및 소스 JAR은 build/libs/ 폴더에 생성됩니다:

  • vanilla-outsider-true-sleep-1.3.22+26.2.jar
  • vanilla-outsider-true-sleep-1.3.22+26.2-sources.jar

2. 헤드리스 단위 테스트 실행

bash
./gradlew test --no-daemon

3. 개발용 클라이언트 실행 및 테스트

bash
./gradlew runClient --no-daemon

4. 개발용 전용 서버 실행 및 테스트

bash
./gradlew runServer --no-daemon

📐 프로젝트 소스 코드 디렉터리 맵

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

Official documentation & web portal for Dasik Igaijinn mods.