STOP! READ THIS BEFORE UPGRADING!
The config.yml file for 3.0.6 is
significantly different to previous versions. Updating without converting to the new config.yml version will make your world
act strangely because it will use default settings. Settings have moved in the file, so do the update carefully!
Updating
- Stop server
- Make a backup of your plugin folder and island worlds
- Copy this plugin over the old one
- Move your locale folder to locale.old because all the locale files have been updated
- Delete config.new.yml if it exists
- Start the server and stop it as soon as it starts
- Carefully transfer your old config.yml settings to the config.new.yml. Note the new sections.
- Move config.yml to config.old
- Move config.yml.new to config.yml
- Edit the locale files in the locale folder. Note that there is no locale.yml file anymore. You choose your default language in config.yml.
- Look at blockvalues.yml and check the values in there are okay.
- Restart the server
- If you had an island spawn, you will need to recreate it using the /asadmin setspawn command. Then use /is settings to configure the spawn island protection settings. Obviously, you need to be Op or have admin perms to do this.
- You should be done!
- Report any bugs or issues to GitHub here (AcidIsland and ASkyBlock use the same issue tracker).
New Features and Improvements
- Added askyblock.islandfly permission. If a player has this permission, they can fly within their island space. Configure the island fly settings in config.yml.
- Players can also be given any permission you like when they are in their island or a coop island. Set them in the config.yml file. The perm is automatically added when they enter their island and removed when they exit.
- Option to show fancy island level values, e.g., 12K instead of 12,203.
- Island settings: the settings system has been streamlined. Define which settings you want players to see in the config.yml. Set which ones they can change using permissions. Note that the settings permission names have changed! See the new names in config.yml.
- Island spawn settings are now made by the settings GUI. Fly to the island spawn and after setting it, call up the settings GUI and set what is allowed and what isn't. Spawn protection settings are NOT in the config anymore. They are only made in-game.
- Clicking on a player head in the top ten will warp you to that island if a warp is available.
- Nether trees can be selected for normal nether - set in config.yml.
- Players can see how many points they need to attain the next island level and obtain an estimated value for the block in their hand. The command is /is value.
- Added general entity spawn limiting. See config.yml. This can be used to limit the maximum number of mobs or entities per island.
- The default locale setting is now in config.yml and there is no locale.yml file.
- Added admin command to set the default language (setlanguage) - it will change the setting in config.yml AND reset every player's language to the default.
- Admins can remove languages just by deleting them from the locale folder. To regenerate locale files, remove the whole locale folder and restart.
- Updated PT-BR file for locale. Credit - eBaldino
- Added Russian locale file. Credit - k-egor-smirnov
- Added new strings to locale files in English to help indicate what needs to be translated.
- Added option so that only leader can coop.
- Option to only allow magic cobble generation at spawn.
- /is leave now requires confirmation.
- Added config options to fully protect against acid rain if wearing a helmet and acid water if wearing a full set of armor.
- (11.1+) Added option for island enter/exit strings to show up in the Action Bar. No color supported.
- Added protection against the team kick/leave exploit to obtain free islands. Players with zero resets left cannot make islands any more!
- If the admin changes the resets left setting in config.yml it will be applied instantly to all players. Previously it required the admin to reset player by player.
- Added perms for spawn and reset commands.
- Admins can globally reset a challenge for every player in the game. The reset can also repeat periodically every few minutes, hours or days.
- Improved admin cobblestats command to show stats for different island levels.
- Admin command help will use the help color.
- API: Coop events can be canceled. Option to get and set how many resets a player still has.
- Switched to bStats for metrics.
Bug / Exploit Fixes
- [Exploit] Made challenges not reset on leaving a team to stop players receiving multiple rewards
- [Exploit] Changed how askyblock.island.range.# works. The island range can now go down as well as up. This prevents players with a large range giving an island to those with a lower range. The range will change at the time of handover, or if the new owner is offline, when the new leader logs in.
- [Medium] Challenges would not work correctly if there were no challenge levels defined
- [Medium] Some blocks could not be placed at spawn even if the place-blocks setting was allowed
- [Medium] Fixed long standing bug in calculate island level API.
- [Medium] Portal use was not allowed for island owners if it was disabled for visitors.
- [Minor] Schematics - mushroom soup was unsupported
- [Minor] Falling into the void while trying to hit a block caused a console error
- [Minor] Added missing 1.11 blocks to blockvalues.yml
- [Minor] Total island villager count was not shown correctly for teams.
- [Minor] Badly formatted filenames in the locale folder were causing bugs
- [Minor] Removed WARN in console for "Problem removing no push from scoreboard."
- [Minor] Schematics - pasting a chest sometimes caused an error.
- [Minor] Next and Previous could not have color codes for the Warp Panel.
- [Minor] Due to name changing, it is possible for two players to temporarily have the same name in the game. Admin commands could use the old UUID instead of the new UUID.
- [Minor] Island teleporting was not checking the askyblock.island.go permission.
Credits:
Big thanks to
Poslovitch for his help and contributions to this code!