AltWorld
AltWorlds is a Minecraft plugin that lets players create and manage personal worlds with a GUI.
AltWorld
🌍 AltWorlds: Your Universe, Your Rules
-green?style=for-the-badge)
professional, lightweight, and fully GUI-based redefines personal world management. Forget about complex, heavy database systems. This is a professional, lightweight, and fully GUI-based plugin that allows every player to create, manage, and moderate their own "mini-universes" within your server.
From private Custom Templates worlds to collaborative Custom Templates plots, including Custom Templates. Everything is managed through an intuitive graphical interface, optimized for modern servers.
---
🚀 Why choose AltWorlds?
🎨 100% GUI Experience
Your players don't need to memorize commands. * Edit the main menu icons directly in-game: Choose type, generator, and name step-by-step. * Edit the main menu icons directly in-game: Players can pick the icon for their world (blocks/items) directly from a paginated menu. * Edit the main menu icons directly in-game: Are you an admin? Edit the main menu icons directly in-game (Shift+Click in edit mode).
🛠️ Deep World Management
It's not just about "creating a world." It's about managing it. * On-the-fly Toggles: `OWNER`, `ADMIN`, `MEMBER`, `VISITOR`. * On-the-fly Toggles: Owners can invite, kick, and ban (Temp/Perm) users from *their* own worlds. * On-the-fly Toggles: Enable/disable PvP, Flight, Hunger, Weather, FireTick, Spawning, and more with a single click.
⚡ Smart Performance ("The Janitor")
Built on a robust No Database: * No Database: Empty worlds are automatically unloaded from RAM after a configurable cooldown. * No Database: Prevents corruption during load/unload cycles or rapid teleports. * No Database: Everything is stored in clean, portable YAML files (`/data/players/`). Backup and transfer folders with ease.
🗺️ Flexible World Types
* Auto-Worlds: Classic Survival experience. * Auto-Worlds: With Auto-Worlds or Auto-Worlds (Skyblock style) generator options. * Auto-Worlds: Create folders with schematics or pre-built maps and let players clone them. * Auto-Worlds: Automatically assign specific worlds to players (ideal for plot servers or storylines).
---
📖 Detailed Features
🌟 Social System
* Invites: List public worlds sorted by Invites, Invites, Invites, or Invites. * Invites: Let players vote for their favorite worlds! * Invites: Secure invitation system for private worlds.
🏠 Lobby & Home
* Auto-Join Home: Configure a world as the Lobby. Includes a configurable inventory item to open the menu. * Auto-Join Home: Players can set their favorite world to join directly upon login, skipping the lobby.
🛡️ Administration (Server Worlds)
AltWorlds isn't just for players. As an admin, you can register "Server Worlds" (Lobbies, Spawns, RPG maps) so they appear in menus, have their own rules, and benefit from the optimized teleportation system.
---
🎮 Commands & Permissions
The plugin is designed to be GUI-first, but includes powerful commands for power users.
Player Commands (`altworlds.user`)
| Command | Description | | :--- | :--- | | `/aw` or `/aw menu` | Opens the Main Control Panel. | | `/aw tp <world>` | Travel to one of your worlds or a public one. | | `/aw lobby` | Return to the server Lobby. | | `/aw invite <player>` | Invite a friend to your private world. | | `/aw kick <player>` | Kick a player from your world. | | `/aw ban <player>` | Ban (Temp/Perm) a player from your world. | | `/aw sethome <world>` | Set your auto-join login world. | | `/aw setborder <radius>` | Set a visual border for your world. | | `/aw like` | Give a "Like" to the current world. |
Admin Commands (`altworlds.admin`)
| Command | Description | | :--- | :--- | | `/aw reload` | Reloads configuration and templates. | | `/aw setlimit <user> <#>`| Changes the world limit for a specific player. | | `/aw tp <player:world>` | Forced teleport to other players' worlds. | | Shift+Click in GUI | Edit menu icons, regenerate other players' worlds, etc. |
---
📂 Installation & Configuration
1. Download the `.jar` and place it in your `/plugins` folder. 2. Restart your server (Paper 1.21+ recommended). 3. Done! Configuration files will be generated automatically.
Folder Structure
* `config.yml`: General settings, limits, unload timers, and messages. * `data/`: Stores player data and world settings (YAML). * `templates/`: Important! Place your world folders (schematics/maps) here to use them as templates. * `lobby/`: If you don't have a lobby, AltWorlds can auto-generate a void lobby for you.
How to add Templates
1. Copy a world folder (e.g., `SkyblockMap`) into `plugins/AltWorlds/templates/`. 2. Run `/aw reload` or restart. 3. It will automatically appear in the "Create World" menu! 4. *(Optional)* Edit `templates.yml` to change its display name and icon.
---
⚙️ Advanced Configuration
AltWorlds allows you to tweak every detail. Example from `config.yml`:
📄 Click here to expand the full config.yml
```yaml lobby:
Lobby world name (folder/world id). Values: any world name string.
worldName: "lobby"
Auto-create the lobby world if it does not exist. Values: true|false.
autoCreate: true
Menu item configuration (clock by default).
item:
Give the menu item to players when they join. Values: true|false.
giveOnJoin: true
Material for the menu item. Values: any Bukkit Material name.
material: "CLOCK"
Inventory slot for the menu item (hotbar). Values: 0-8.
slot: 8
Where to give the item. Values: LOBBY_ONLY or EVERYWHERE.
LOBBY_ONLY: only while in lobby world (removed on exit).
EVERYWHERE: in any world (useful for hubs).
scope: "EVERYWHERE"
gui:
Admin menu icons. Values: any Bukkit Material name.
admin:
Icon for "View All Worlds".
view_all: COMMAND_BLOCK
Icon for "Global Limit".
global_limit: ANVIL
Icon for "Manage Players".
manage_players: PLAYER_HEAD
Icon for "Customize This Menu".
customize: PAINTING
Main menu icons. Values: any Bukkit Material name.
main:
Icon for "My Worlds".
my_worlds: WRITABLE_BOOK
Icon for "Explore Worlds".
explore: COMPASS
Icon for "Create World".
create: GRASS_BLOCK
Icon for "Lobby".
lobby: BEACON
Icon for "Global World Icons".
global_settings: COMPARATOR
Icon for "Server Worlds".
server_worlds: NETHER_STAR
Icon for "Admin Settings".
admin: COMMAND_BLOCK
Icon for "Auto-Join Home".
auto_join: REPEATER
Icon for "Current World".
current_world: COMPARATOR
Icon for "Customize Menu".
customize: PAINTING
Explore menu icons. Values: any Bukkit Material name.
explore:
Icon for "Sort: Players".
sort_players: PLAYER_HEAD
Icon for "Sort: Likes".
sort_likes: EMERALD
Icon for "Sort: Visits".
sort_visits: OAK_SIGN
Icon for "Sort: Type".
sort_type: PAPER
Icon for "Customize Menu".
customize: PAINTING
Create menu icons (categories). Values: any Bukkit Material name.
create:
Icon for "Vanilla".
vanilla: OAK_SAPLING
Icon for "Templates".
templates: PAPER
Icon for "Creative".
creative: DIAMOND_BLOCK
Icon for "Admin / Private".
admin: COMMAND_BLOCK
Icon for "Customize Menu".
customize: PAINTING
Creative options menu icons. Values: any Bukkit Material name.
creative:
Icon for "Vanilla Creative".
vanilla: GRASS_BLOCK
Icon for "Flat Creative".
flat: SANDSTONE
Icon for "Void Creative".
void: GLASS
Icon for "Customize Menu".
customize: PAINTING
World settings icons. Values: any Bukkit Material name.
settings:
Icon for "Gamemode".
gamemode: GOLDEN_APPLE
Icon for "PvP".
pvp: IRON_SWORD
Icon for "Fly".
fly: FEATHER
Icon for "Hunger".
hunger: ROTTEN_FLESH
Icon for "Fall Damage".
fallDamage: LEATHER_BOOTS
Icon for "Potions".
potions: BREWING_STAND
Icon for "Allow Visitors".
allowVisitors: OAK_DOOR
Icon for "Public Listing".
public: GLOBE_BANNER_PATTERN
Icon for "Day/Night Cycle".
doDaylightCycle: CLOCK
Icon for "Weather Cycle".
doWeatherCycle: WATER_BUCKET
Icon for "Fire Spread".
doFireTick: FLINT_AND_STEEL
Icon for "Mob Griefing".
mobGriefing: CREEPER_HEAD
Icon for "Keep Inventory".
keepInventory: CHEST
Icon for "Mob Spawning".
doMobSpawning: ZOMBIE_HEAD
Icon for "Block Drops".
doTileDrops: GRAVEL
Icon for "Crop Growth".
randomTickSpeed: WHEAT
Icon for "World Border".
border: IRON_BARS
login:
If true, always skip the lobby on join. Values: true|false.
forceSkipLobby: false
If true, players can toggle auto-join home from the GUI. Values: true|false.
allowUserSkipToggle: false
-------------------------------------------------------------
AUTO-WORLDS
-------------------------------------------------------------
auto-worlds:
Enable auto-worlds. Values: true|false.
enabled: true
If true, auto-worlds are copied for each join. Values: true|false.
copyOnEveryJoin: true
Whether auto-worlds count toward the player's max world limit. Values: true|false.
countTowardsLimit: false
Special permissions for auto-worlds.
permissions:
Allow users to delete auto-worlds. Values: true|false.
allowDelete: false
Allow users to regenerate auto-worlds. Values: true|false.
allowRegen: false
-------------------------------------------------------------
ALL-WORLDS
-------------------------------------------------------------
all-worlds:
Whether server-wide worlds count toward player limits. Values: true|false.
countTowardsLimit: false
-------------------------------------------------------------
TELEPORTATION
-------------------------------------------------------------
teleport:
Teleport delay in seconds. Values: integer >= 0.
delay: 3
Cancel teleport if player moves. Values: true|false.
cancelOnMove: false
-------------------------------------------------------------
RESTRICTIONS
-------------------------------------------------------------
restrictions:
Allow renaming worlds. Values: true|false.
allowRenaming: true creation:
Allow survival world creation. Values: true|false.
allowSurvival: true
Allow template world creation. Values: true|false.
allowTemplates: true
Allow creative world creation. Values: true|false.
allowCreative: true creative:
Allow vanilla creative worlds. Values: true|false.
vanilla: true
Allow flat creative worlds. Values: true|false.
flat: true
Allow void creative worlds. Values: true|false.
void: true
names:
Minimum world name length. Values: integer >= 1.
minLength: 3
Maximum world name length. Values: integer >= minLength.
maxLength: 16
Regex for allowed names. Values: regex string.
regex: "^[a-zA-Z0-9_-]+$"
Error message for invalid names (supports color codes). Values: string.
errorMessage: "&cInvalid name! Use a-z, 0-9, _ or - (3-16 chars)."
-------------------------------------------------------------
LIMITS & INVITATIONS
-------------------------------------------------------------
limits:
Default max worlds per player. Values: integer >= -1 (-1 = unlimited).
maxWorldsPerPlayer: 3
If true, joined/invited worlds count toward max limit. Values: true|false.
invitedWorldsCount: false
invitations:
Invitation expiration in seconds. Values: integer >= 0.
timeout: 60
-------------------------------------------------------------
BANS
-------------------------------------------------------------
bans:
Presets for temporary ban menu. Format examples: 30s, 10m, 2h, 1d.
temp-presets: - "5m" - "30m" - "1h" - "6h" - "1d" - "7d"
defaults:
Default max worlds per player (fallback). Values: integer >= -1.
maxWorldsPerPlayer: 3
Default member gamemode. Values: SURVIVAL|CREATIVE|ADVENTURE|SPECTATOR.
memberGamemode: "SURVIVAL"
Default visitor gamemode. Values: SURVIVAL|CREATIVE|ADVENTURE|SPECTATOR.
visitorGamemode: "SPECTATOR"
Default settings used when generating new world configs.
world-defaults: survival:
Default gamemode for survival worlds. Values: SURVIVAL|CREATIVE|ADVENTURE|SPECTATOR.
gamemode: SURVIVAL
Allow PvP. Values: true|false.
pvp: true
Allow flight. Values: true|false.
fly: false
Enable hunger loss. Values: true|false.
hunger: true
Enable fall damage. Values: true|false.
fallDamage: true
Allow potion usage. Values: true|false.
potions: true
Allow visitors to join. Values: true|false.
allowVisitors: true
Show in public listings. Values: true|false.
public: true
Day/night cycle. Values: true|false.
doDaylightCycle: true
Weather cycle. Values: true|false.
doWeatherCycle: true
Fire spread. Values: true|false.
doFireTick: true
Mob griefing (creepers, etc.). Values: true|false.
mobGriefing: true
Keep inventory on death. Values: true|false.
keepInventory: true
Natural mob spawning. Values: true|false.
doMobSpawning: true
Block drops on break. Values: true|false.
doTileDrops: true
Crop growth (tick speed). Values: true|false.
randomTickSpeed: true
creative:
Default gamemode for creative worlds. Values: SURVIVAL|CREATIVE|ADVENTURE|SPECTATOR.
gamemode: CREATIVE
Allow PvP. Values: true|false.
pvp: false
Allow flight. Values: true|false.
fly: true
Enable hunger loss. Values: true|false.
hunger: false
Enable fall damage. Values: true|false.
fallDamage: false
Allow potion usage. Values: true|false.
potions: true
Allow visitors to join. Values: true|false.
allowVisitors: true
Show in public listings. Values: true|false.
public: true
Day/night cycle. Values: true|false.
doDaylightCycle: true
Weather cycle. Values: true|false.
doWeatherCycle: false
Fire spread. Values: true|false.
doFireTick: false
Mob griefing (creepers, etc.). Values: true|false.
mobGriefing: false
Keep inventory on death. Values: true|false.
keepInventory: true
Natural mob spawning. Values: true|false.
doMobSpawning: false
Block drops on break. Values: true|false.
doTileDrops: false
Crop growth (tick speed). Values: true|false.
randomTickSpeed: false
templates:
Default gamemode for template worlds. Values: SURVIVAL|CREATIVE|ADVENTURE|SPECTATOR.
gamemode: SURVIVAL
Allow PvP. Values: true|false.
pvp: true
Allow flight. Values: true|false.
fly: false
Enable hunger loss. Values: true|false.
hunger: true
Enable fall damage. Values: true|false.
fallDamage: true
Allow potion usage. Values: true|false.
potions: true
Allow visitors to join. Values: true|false.
allowVisitors: true
Show in public listings. Values: true|false.
public: true
Day/night cycle. Values: true|false.
doDaylightCycle: true
Weather cycle. Values: true|false.
doWeatherCycle: true
Fire spread. Values: true|false.
doFireTick: true
Mob griefing (creepers, etc.). Values: true|false.
mobGriefing: true
Keep inventory on death. Values: true|false.
keepInventory: true
Natural mob spawning. Values: true|false.
doMobSpawning: true
Block drops on break. Values: true|false.
doTileDrops: true
Crop growth (tick speed). Values: true|false.
randomTickSpeed: true
all-worlds:
Default gamemode for server/all worlds. Values: SURVIVAL|CREATIVE|ADVENTURE|SPECTATOR.
gamemode: SURVIVAL
Allow PvP. Values: true|false.
pvp: true
Allow flight. Values: true|false.
fly: false
Enable hunger loss. Values: true|false.
hunger: true
Enable fall damage. Values: true|false.
fallDamage: true
Allow potion usage. Values: true|false.
potions: true
Allow visitors to join. Values: true|false.
allowVisitors: true
Show in public listings. Values: true|false.
public: true
Day/night cycle. Values: true|false.
doDaylightCycle: true
Weather cycle. Values: true|false.
doWeatherCycle: true
Fire spread. Values: true|false.
doFireTick: true
Mob griefing (creepers, etc.). Values: true|false.
mobGriefing: true
Keep inventory on death. Values: true|false.
keepInventory: true
Natural mob spawning. Values: true|false.
doMobSpawning: true
Block drops on break. Values: true|false.
doTileDrops: true
Crop growth (tick speed). Values: true|false.
randomTickSpeed: true
auto-worlds:
Default gamemode for auto-worlds. Values: SURVIVAL|CREATIVE|ADVENTURE|SPECTATOR.
gamemode: SURVIVAL
Allow PvP. Values: true|false.
pvp: true
Allow flight. Values: true|false.
fly: false
Enable hunger loss. Values: true|false.
hunger: true
Enable fall damage. Values: true|false.
fallDamage: true
Allow potion usage. Values: true|false.
potions: true
Allow visitors to join. Values: true|false.
allowVisitors: true
Show in public listings. Values: true|false.
public: true
Day/night cycle. Values: true|false.
doDaylightCycle: true
Weather cycle. Values: true|false.
doWeatherCycle: true
Fire spread. Values: true|false.
doFireTick: true
Mob griefing (creepers, etc.). Values: true|false.
mobGriefing: true
Keep inventory on death. Values: true|false.
keepInventory: true
Natural mob spawning. Values: true|false.
doMobSpawning: true
Block drops on break. Values: true|false.
doTileDrops: true
Crop growth (tick speed). Values: true|false.
randomTickSpeed: true
private-worlds:
Default gamemode for private templates. Values: SURVIVAL|CREATIVE|ADVENTURE|SPECTATOR.
gamemode: CREATIVE
Allow PvP. Values: true|false.
pvp: false
Allow flight. Values: true|false.
fly: true
Enable hunger loss. Values: true|false.
hunger: false
Enable fall damage. Values: true|false.
fallDamage: false
Allow potion usage. Values: true|false.
potions: true
Allow visitors to join. Values: true|false.
allowVisitors: true
Show in public listings. Values: true|false.
public: true
Day/night cycle. Values: true|false.
doDaylightCycle: true
Weather cycle. Values: true|false.
doWeatherCycle: false
Fire spread. Values: true|false.
doFireTick: false
Mob griefing (creepers, etc.). Values: true|false.
mobGriefing: false
Keep inventory on death. Values: true|false.
keepInventory: true
Natural mob spawning. Values: true|false.
doMobSpawning: false
Block drops on break. Values: true|false.
doTileDrops: false
Crop growth (tick speed). Values: true|false.
randomTickSpeed: false
lobby:
Default gamemode for lobby. Values: SURVIVAL|CREATIVE|ADVENTURE|SPECTATOR.
gamemode: ADVENTURE
Allow PvP. Values: true|false.
pvp: false
Allow flight. Values: true|false.
fly: false
Enable hunger loss. Values: true|false.
hunger: false
Enable fall damage. Values: true|false.
fallDamage: false
Allow potion usage. Values: true|false.
potions: false
Allow visitors to join. Values: true|false.
allowVisitors: true
Show in public listings. Values: true|false.
public: false
Day/night cycle. Values: true|false.
doDaylightCycle: false
Weather cycle. Values: true|false.
doWeatherCycle: false
Fire spread. Values: true|false.
doFireTick: false
Mob griefing (creepers, etc.). Values: true|false.
mobGriefing: false
Keep inventory on death. Values: true|false.
keepInventory: true
Natural mob spawning. Values: true|false.
doMobSpawning: false
Block drops on break. Values: true|false.
doTileDrops: false
Crop growth (tick speed). Values: true|false.
randomTickSpeed: false
performance:
Unload worlds when empty. Values: true|false.
unloadWorldsWhenEmpty: true
Delay before unloading empty worlds (seconds). Values: integer >= 0.
unloadDelaySeconds: 45
Minimum uptime before a world can be unloaded (seconds). Values: integer >= 0.
minWorldUptimeSeconds: 60
Preload spawn chunks when creating a world. Values: true|false.
preloadSpawnChunksOnCreate: true
```