Description
# AStages
AStages is a lightweight progression framework for Minecraft. Built specifically for modpack creators and server admins, it lets you split gameplay into logical **Stages** so you can control exactly what players can see, use, or interact with.
## How it works
By default, a player's stage container is completely empty. Anything tied to a locked stage is strictly inaccessible. The second a stage is added to the container, all associated blocks, items or permissions unlock instantly.
As of version **2.0.0**, stages can be added or removed even if the player is offline.
## Scopes & Persistence
AStages gives you deep control over how and when stages apply:
- **Player-Scope:** Assigned to individual players. Progression is personal and stays with them.
- **Server-Scope:** Global stages. When active, the stage is unlocked for everyone on the server automatically.
- **Permanent:** Standard behavior. Stages stay active until a script or command explicitly removes them.
- **Temporary:** Built-in real-time countdowns. The timer only ticks while the player is online. Once it hits zero, the stage is removed.
## What you can restrict
Restrictions are the padlocks on your world. You can link multiple different restrictions to a single stage, meaning one unlock can open up a whole phase of your pack.
You can set them up on the fly using **in-game commands** or use **KubeJS scripts** for deep attribute customization.
- **Crops:** Freeze plant growth cycles and maturation ages.
- **Dimensions:** Block access completely, set stay timers or cap maximum allowed visits.
- **Effects:** Toggle status effects or filter them by specific amplifier levels.
- **Enchantments:** Stop specific enchants from appearing on books, being used on tools, or being applied via Anvils/Enchanting Tables.
- **Items:** Lock crafting and usage, or restrict container capacities (like specific slots in chests or backpacks).
- **Loot:** Intercept loot tables to block drops or dynamically replace them with something else.
- **Mobs:** Prevent specific entities from spawning based on light levels, biomes or dimensions.
- **Ores:** Hide or modify ore blocks in the world until players are ready for them.
- **Pets:** Selectively toggle breeding, taming, or mounting mechanics.
- **Recipes:** Native server-side blocks for Crafting, Smelting, Smithing, Stonecutting, Campfires and more.
- **Regions:** Block interactions and explosions within precise 3D boxes or spheres.
- **Screens:** Lock GUIs and machinery menus while tracking exactly what the player tried to open.
- **Structures:** Build physical collision boundaries around generated structures to block entry, interactions and explosion damage.
## Addons
AStages runs on **Forge 1.20.1** and **NeoForge 1.21.1**.
### Built-in Support
The base mod natively integrates with:
- KubeJS
- JEI
- In Control!
- Jade
- Fast Workbench
> REI and EMI support are planned and currently under development.
### First-Party Addons
Need to hook into other major mods? Use these dedicated addons:
- [AStages Curios](https://modrinth.com/mod/astages-curios)
- [AStages Pufferfish's Skills](https://modrinth.com/mod/astages-pufferfishs-skills)
- [AStages FTB Quests](https://modrinth.com/mod/astages-ftb-quests)
## Links & Resources
- **[Wiki](https://github.com/Alessandro-Casale/AStages/wiki)**: Check the Docs for code snippets and attribute lists.
- **[Discord](https://discord.gg/rG94UGFAXS)**: Join the Community for support and discussion.