Links
Tags
Creators
Details
1.0.0
Compatibility
Changes
YourStageSkybox
Minecraft Forge Mod — Provides APIs and commands for map creators to import skybox textures via resource packs and switch them instantly, enabling real-time scene atmosphere changes.
Supported Versions
| Directory | MC Version | Forge | Status |
|---|---|---|---|
1.12.2/ |
1.12.2 | 14.23.5.2847 | ✅ Stable |
1.16.5/ |
1.16.5 | 36.2.39 | ✅ Compilable |
1.20.1/ |
1.20.1 | 47.2.0 | ✅ Compilable |
1.21.1/ |
1.21.1 | 52.1.15 | ⚠️ In Progress |
Installation
- Place the version-matched JAR file into Minecraft’s
mods/directory. - Place skybox resource packs into the
resourcepacks/directory. - Launch the game and enable the skybox resource pack in the Resource Packs menu.
Creating a Skybox Resource Pack
File Structure
Your Resource Pack/
├── pack.mcmeta
└── assets/
└── yourstageskybox/
└── textures/
└── skyboxes/
├── Skybox_Name1/
│ ├── panorama_0.png ← North (-Z)
│ ├── panorama_1.png ← East (+X)
│ ├── panorama_2.png ← South (+Z)
│ ├── panorama_3.png ← West (-X)
│ ├── panorama_4.png ← Top (+Y)
│ └── panorama_5.png ← Bottom (-Y)
└── Skybox_Name2/
└── ...
pack.mcmeta Example
{
"pack": {
"pack_format": 15,
"description": "My Skybox Resource Pack"
}
}
pack_formatValues:
- 1.12.2 →
3- 1.16.5 →
6- 1.20.1 →
15
Image Requirements
- Square textures per face (recommended: 1024×1024 or 2048×2048,
.pngformat). - Consistent lighting and color temperature across all 6 images to avoid visible seams.
- Bottom face (
panorama_5) may be a solid color or transparent to minimize visual disruption.
Direction Mapping
| File | Direction | Coordinate |
|---|---|---|
panorama_0 |
North | -Z |
panorama_1 |
East | +X |
panorama_2 |
South | +Z |
panorama_3 |
West | -X |
panorama_4 |
Top | +Y |
panorama_5 |
Bottom | -Y |
Test Resource Packs
Sample skyboxes (demo, starry) are provided in 1.12.2/resourcepack/. Copy them directly to resourcepacks/ for testing.
Command Reference
Permission level ≥ 2 (OP required). Alias: /yss.
/yourstageskybox set <name> [alpha] [duration] [player] [dim]
Sets skybox. Alpha: 0.0~1.0 (default: 1.0). Duration: transition time in seconds (default: 2.0).
/yourstageskybox clear [player] [dim]
Restores vanilla sky.
/yourstageskybox alpha <0.0~1.0> [player] [dim]
Adjusts transparency (no transition animation).
/yourstageskybox duration <seconds> [player] [dim]
Sets transition duration for next skybox change.
/yourstageskybox info [dim]
Shows current skybox info and transition progress.
/yourstageskybox list
Lists all registered skyboxes.
/yourstageskybox reload
Rescans resource packs (client-side).
Parameters:
player:@a(all),@p(nearest),@r(random), or player name. Default: all players.dim:0= Overworld,-1= Nether,1= End. Default:0(Overworld).
Examples:
/yourstageskybox set starry # Sets "starry" skybox for all players in Overworld
/yourstageskybox set sunset 0.8 3.0 @p # 3-sec transition to "sunset" (80% opacity) for nearest player
/yourstageskybox clear @a 1 # Clears skybox for all players in the End
/yourstageskybox alpha 0.5 @p # Sets 50% opacity for nearest player's skybox
Configuration File
config/yourstageskybox.cfg (1.12.2) or config/yourstageskybox-common.toml (1.16.5+):
| Setting | Default | Description |
|---|---|---|
autoRegister |
false |
Auto-scan resource packs on client startup to register skyboxes |
API Usage
// Set skybox
SkyboxAPI.setSkybox(level, "starry");
SkyboxAPI.setSkybox(level, "sunset", 0.8f, 3000, player);
// Clear skybox
SkyboxAPI.clearSkybox(level);
SkyboxAPI.clearSkybox(level, player);
// Query state
String name = SkyboxAPI.getSkybox(level);
float alpha = SkyboxAPI.getSkyboxAlpha(level, player);
Note:
levelrefers to theWorldobject (Minecraft dimension). All API methods are thread-safe.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:T9tRNnVd:7xNKVqLM"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:T9tRNnVd:7xNKVqLM"
}

