← Назад к ресурсам

World Reset

World resetting utility for Fabric

Modrinth minigame utility worldgen

Описание

# World Reset Reset the server world without closing the server, using command, timer or custom predicate. The timer can be stopped using /worldreset stop or a stop predicate. Make world spawn be set near a specific biome or structure, fine-tune player state resets, and change world pool size. Integrates with [Fabric Permissions API](https://github.com/lucko/fabric-permissions-api) (used by [LuckPerms](https://modrinth.com/plugin/luckperms), [PlayerRoles](https://modrinth.com/mod/player-roles)), and [Predicate API](https://github.com/Patbox/PredicateAPI) for custom predicates. ## Commands and permissions | Command | Permission | Description | |---|---|--------------------------------------------------------------------------| | /worldreset reset [seed] | worldreset.reset | Immediately resets the world (optional seed, "random" supported) | | /worldreset reload | worldreset.reload | Reloads configuration | | /worldreset timer | worldreset.timer | Sets the reset timer (e.g. "5m", "300s") | | /worldreset stop | worldreset.stop | Stops the timer | | /worldreset seed | worldreset.seed | Sets the seed (supports "random") | | /worldreset spawn none | worldreset.spawn | Disables spawn near | | /worldreset spawn structure | worldreset.spawn | Spawns near a structure (e.g. "minecraft:stronghold") | | /worldreset spawn biome | worldreset.spawn | Spawns near a biome (e.g. "minecraft:plains") | | /worldreset spawn offset | worldreset.spawn | Block offset from the target location | | /worldreset spawn require_surface | worldreset.spawn | Requires a surface block for spawning | | /worldreset triggers list [stop\|reset] | worldreset.triggers | Lists triggers (default: both) | | /worldreset triggers clear [stop\|reset] | worldreset.triggers | Clears triggers (default: both) | | /worldreset triggers remove | worldreset.triggers | Removes a trigger by index | | /worldreset triggers add portal [origin_dimension] [require_all_players] | worldreset.triggers | Adds a portal enter trigger (origin_dimension: e.g. minecraft:overworld) | | /worldreset triggers add death | worldreset.triggers | Adds an entity death trigger | | /worldreset triggers add advancement [require_all_players] | worldreset.triggers | Adds an advancement trigger | | /reset [seed] | worldreset.reset | Alias for /worldreset reset | `/wr` is an alias for `/worldreset`. All permissions default to operator level 2. Durations support seconds (`15`/`15s`), minutes (`3m`), hours (`2h`), days (`7d`), and combinations (`1h30m`). ## Configuration ```json5 { // Don't touch! "config_version": 8, // Number of worlds kept preloaded for instant resets, if 0 players need to be teleported to worldreset:lobby "pool_size": 1, // Chunk radius to preload per world (number, or percentage of view distance e.g. "50%") "preload_distance": "4", // Spoofs custom worldreset:dimension id to show vanilla minecraft:dimension id // This is useful for compatibility with shaders which rely on vanilla dimensions ids // If enabled players are teleported to worldreset:lobby to avoid chunks bleeding into eachother // If disabled players are immediately teleported to next pooled world which is slightly faster "spoof_dimension": true, // Enable timer countdown sounds "countdown_sounds": true, // Enable restart chat message "restart_message": true, // Triggers that stop the countdown timer early "stop_triggers": [ { "type": "worldreset:portal_enter", "block": "minecraft:end_portal", "origin_dimension": "minecraft:the_end", "require_all_players": false }, { "type": "worldreset:advancement", "advancement": "minecraft:nether/uneasy_alliance", "require_all_players": false } ], // Triggers that immediately reset the world "reset_triggers": [ { "type": "worldreset:entity_death", "entity": "minecraft:player", "filter": { "type": "entity", "value": { "type_specific": { "type": "player", "gamemode": ["survival"] } } } } ], // Supports long, string, or "random" seed "seed": "random", // Configure spawn location "spawn_near": { // Type of spawn: "none", "structure", or "biome" "type": "none", // Target structure or biome (e.g. "minecraft:stronghold", "minecraft:plains") "target": "", // Block offset from the target location "offset": 0, // Whether to require a surface block for spawning "require_surface": false }, // Reset player state on world reset "reset_on_load": { // Remove all potion effects "effects": false, // Reset health, air supply, fire, and velocity "health": false, // Reset food level and saturation "hunger": false, // Reset all game statistics "statistics": false, // Reset all advancements "advancements": false, // Reset XP levels, points, and score "experience": false, // Clear inventory and ender chest contents "inventory": false, // Reset recipe knowledge "recipes": false, // Reset player attributes (health boost, speed, etc.) "attributes": false, // Gamemode applied to each player after reset (overrides hardcore spectator lock); "none" to skip "gamemode": "survival", // Set time of day in game ticks (0-24000, -1 to disable) "time_of_day": -1, // Reset weather to clear "clear_weather": false } } ``` Trigger types (used in both `stop_triggers` and `reset_triggers`): - `worldreset:portal_enter` - triggers when a player enters a portal block - `block`: the portal block identifier (e.g. `minecraft:end_portal`) - `origin_dimension`: optional, the dimension the player must be in (e.g. `minecraft:overworld` for stronghold portal, `minecraft:the_end` for exit portal) - `require_all_players`: if true, all players must enter; if false, any player (default: false) - `filter`: optional [Predicate API](https://github.com/Patbox/PredicateAPI) predicate for player-level matching - `worldreset:entity_death` - triggers when an entity dies - `entity`: the entity type identifier (e.g. `minecraft:ender_dragon`) - `filter`: optional Predicate API predicate for entity-level matching - `worldreset:advancement` - triggers when a player earns an advancement - `advancement`: the advancement identifier (e.g. `minecraft:end/kill_dragon`) - `require_all_players`: if true, all players must earn it; if false, any player (default: false) - `filter`: optional Predicate API predicate for player-level matching Example with a filter (only counts survival players entering the end portal): ```json5 { "type": "worldreset:portal_enter", "block": "minecraft:end_portal", "require_all_players": true, "filter": { "type": "entity", "value": { "condition": "minecraft:entity_properties", "predicate": { "gamemode": "survival" } } } } ``` ## Credits - [The World Resets every 5 Minutes, Can we beat it?](https://www.youtube.com/watch?v=--IQ56rqYhE) [inspiration] - [WorldReset (Bukkit plugin)](https://modrinth.com/plugin/worldreset) [inspiration]