Multiverse Core Changelog
Revamped
Revamped command structure with full tab-completion and flags (Try out all the commands and see!)
Revamped config file with clear comments
Revamped message outputs with localisation support
- Locales based on each player's client's language settings
- Configuration option for locale:
per-player-locale
anddefault-locale
Revamped generator plugin support (3rd-party plugins can hook into mv to provide generator options tab-completion)
Revamped
mv list
command with paging and filtering, better output formatting- Improved filter and paging options with regex matching (applies to other listing related commands as well)
- Include option to switch between worldalias and worldname with
/mv list --raw
Revamped teleport handling. Now uses paper's AsyncTeleport API!
- Support teleportation of multiple players in a single command
- Updated teleport permission with finer control (e.g.
multiverse.teleport.w.self.worldname
) - Implement config option
use-finer-teleport-permissions
for using finer teleport permission. When enabled you will needmultiverse.teleport.<self|other>.<type>.<finer>
- Implement config option
concurrent-teleport-limit
for/mv tp
command. (fyi if you didnt know, you can teleport multiple players with/mvtp Player1,Player2 <world>
or/mvtp @a <world>
)
Revamped
/mv confirm [otp]
command with new configuration options- Implement confirmation otp to further reduce chance of accidentally running dangerous command. An example command is
/mv confirm 384
. You can change withuse-confirm-otp
in config.yml. - Implement confirmation mode to control when is
/mv confirm
is required. Seeconfirm-mode
in config.yml for more info. - Add config option for
/mv confirm
timeout, also increases its default timeout duration to 30s
- Implement confirmation otp to further reduce chance of accidentally running dangerous command. An example command is
Revamped block safety checking
- Greatly improve algorithm logic and efficiency
- Check if current location is safe before searching around (Fixes some edge case like void world where spawn location is on a single block)
- added 2 new config option
safe-location-horizontal-search-radius
andsafe-location-vertical-search-radius
Revamped respawn world handling with more config options
- Add
default-respawn-within-same-world
option. It will essentially disable handling of respawn by default - Add
enforce-respawn-at-world-spawn
config option. It will add support for vanilla/spawnpoint
command
- Add
Revamped handling of entity spawning configuration
- Make use of bukkit's SpawnCategory to ensure all entities can be configured
- New command to configure entity spawning:
/mv entity-spawn-config modify [world] <spawn-category> <set|add|reset|remove> <property> [value]
- New command to view entity spawning config:
/mv entity-spawn-config info [world]
- New command to purge entities that has been disabled:
/mv purge-entities [world]
- New command to purge all entities, optionally for particular spawn categories:
/mv purge-all-entities [world] [spawn-categories]
- Add support for controlling non-living entity from spawning (e.g. you can disable ITEM drop with the MISC SpawnCategory)
Newly Added
New option for creating flat world with generator string (
mv create flat normal --world-type flat --generator-settings {"layers":[{"block":"stone","height":1},{"block":"grass_block","height":1},{"block":"sea_lantern","height":1}],"biome":"plains"}
)New join-location feature to teleport player to spawn at a fixed location every time they join the server
New hook to PlaceholderAPI for multiverse related information (e.g.
%multiverse-core_alias_<world>%
)New support teleportation of multiple players in a single command
New config option to disable gamemode enforcement
New option to keep world properties, gamerules and worldborders data when cloning/regening world
New support for creating worlds with single biome (You can now do
/mv create <worldname> normal --biome <biomename> and /mv import <worldname> normal --biome @single:<biome>
)New confirmation otp to further reduce chance of accidentally running dangerous command. An example command is
/mv confirm 384
. You can change withuse-confirm-otp
in config.yml.
Other Features
Add support for deleting unloaded worlds
Add configuration option for using world alias name in commands and destinations with
resolve-alias-name
Add support for using a destination string for first spawn location
Add support for command block running worlds related commands (for pre-1.21, papermc fixed this internally with 1.21.4 already)
World and its properties in
worlds.yml
are now in alphabetical orderImplement config option for debug permission
Add support for teleporting multiple players to their respective spawn. Selecting multiple players is the same as
/mvtp
Debug paste service with
/mv dumps
command for generating debug link instead of/mv version -p
Implement more mv world events for developer api -> Load, Unload, Clone, Regen, Remove
Implement config option to disable legacy aliases to reduce useless confusion in tab completion (i.e. disable alias of
/mvcreate
as you can easily use/mv create
with tab completion support)
Other Fixes
Fix double charge $$$ on entryfee when teleporting with portal
Fix deprecated EntityCreatePortalEvent with PortalCreateEvent (YAYY no more annoying console warning)
Clearer error messages throughout the plugin, from setting config value to world manager operations