A very simple ASkyBlock based island level rankup plugin developed for my upcoming server (mc.skymines.tk).
Required Plugins:
VERY IMPORTANT PLEASE READ THIS:
How to assign ranks manually
Configuration
Permissions
To Do List:
Bleeding-edge builds are available on the CI server.
Please use the GitHub Issues page provided at the bottom of the description or contact me in the discussion section. The reviews section is not a place to report bugs in
Required Plugins:
- ASkyBlock
- Vault
- Some sort of permissions plugin
- Some sort of economy plugin
VERY IMPORTANT PLEASE READ THIS:
Spoiler
Some permission plugins like LuckPerms edit permissions asynchronously, that means using the rankup command too quickly will result in certain rankup actions getting repeated. I recommend setting a command cooldown. A future release will come with this feature (command cooldown).
This does not mean the plugin is incompatible with other permissions plugins. It works with any plugin that uses Vault for permissions.
This does not mean the plugin is incompatible with other permissions plugins. It works with any plugin that uses Vault for permissions.
Spoiler: bStats
I have decided to implement bStats. The information that is collected is shown below. Of course, it can be disabled in my plugin's config.yml or globally via plugins/bStats/config.yml
- Your server's randomly generated UUID
- The amount of players on your server
- The online mode of your server
- The bukkit version of your server
- The java version of your system (e.g. Java 8)
- The name of your OS (e.g. Windows)
- The version of your OS
- The architecture of your OS (e.g. amd64)
- The system cores of your OS (e.g. 8)
- bStats-supported plugins
- Plugin version of bStats-supported plugins
How to assign ranks manually
Spoiler
This plugin is stateless and does not store player ranks anywhere. As such, to manually give players or groups ranks, simply give the permission sbrankup.rank.[rank you configured in the rankups file]. I am not planning to implement any storage system yet as there is no need to, that will just bog the plugin down.
If you have an issue with rankups (e.g. Players ranking up to the wrong ranks) and you are 110% sure you configured your permissions plugin correctly please make a bug report in the issues page, with your rankups.yml as well as your permissions configuration. If it is stored in a database, export it as SQL or send me the DB file for engines like SQLite or H2.
If you have an issue with rankups (e.g. Players ranking up to the wrong ranks) and you are 110% sure you configured your permissions plugin correctly please make a bug report in the issues page, with your rankups.yml as well as your permissions configuration. If it is stored in a database, export it as SQL or send me the DB file for engines like SQLite or H2.
Configuration
Spoiler: config.yml
# SBRankup Configuration
# Prefix of the plugin. Used in the console as well as displayed to players. You may use Bukkit Colour codes
plugin-prefix : "&7[&3SBR&7] "
Code (YAML):
# SBRankup Configuration
# Prefix of the plugin. Used in the console as well as displayed to players. You may use Bukkit Colour codes
plugin-prefix : "&7[&3SBR&7] "
Spoiler: rankups.yml
# Rankups configuration
# Example
# rankups:
# A:
# nextrank: B # Put the name of the next rank in here
# cost: 0 # First one, put 0. This means the player is by default already this rank
# # This is the island level required to rankup to this rank.
# actions: # Actions that will be performed on rankup
# - <addgroup> B
# Give your players the permission sbrankup.rank.[rank name] so the plugin knows their rank.
# For the last rank, please give your players the permission sbrankup.rank.lastrank so the plugin knows
# that the player is on the last rank
# lastrank:
# name: Z
# cost: 1000
# If this looks similar to EZRanksLite/Pro, yes, I got my idea from there
# Action list:
# <addgroup> [group] (world) - adds the player to a permission group
# <removegroup> [group] (world) - removes the player from a permissions group
# <addpermission> [permission] (world) - adds a permission
# <removepermission> [permission] (world) - removes a permission
# <consolecommand> [command] Runs a command as console, use %player_name% to get player name
# <playercommand> [command] Runs a command as player, use %player_name% to get the player name
# <playermessage> [message] Sends a message to the player. Bukkit colour codes accepted.
# <broadcastmessage> [message] Broadcasts a message to the server. Bukkit colour codes accepted.
# <playeractionbar> [message] Sends an action bar message to the player. Bukkit colour codes accepted.
# <broadcastactionbar> [message] Sends an action bar message to the whole server. Bukkit colour codes accepted.
# <setprefix> [prefix] Sets the player's prefix
# <setsuffix> [suffix] Sets the player's suffix
rankups:
A:
nextrank : B
cost : 0
actions :
- <removepermission> sbrankup.rank.A
- <addpermission> sbrankup.rank.B
- <consolecommand> say %player_name% ranked up to B!
B:
nextrank : lastrank
cost : 100
actions :
- <removepermission> sbrankup.rank.B
- <addpermission> sbrankup.rank.lastrank
- <consolecommand> say %player_name% ranked up to C!
lastrank:
name : C
cost : 200
Code (YAML):
# Rankups configuration
# Example
# rankups:
# A:
# nextrank: B # Put the name of the next rank in here
# cost: 0 # First one, put 0. This means the player is by default already this rank
# # This is the island level required to rankup to this rank.
# actions: # Actions that will be performed on rankup
# - <addgroup> B
# Give your players the permission sbrankup.rank.[rank name] so the plugin knows their rank.
# For the last rank, please give your players the permission sbrankup.rank.lastrank so the plugin knows
# that the player is on the last rank
# lastrank:
# name: Z
# cost: 1000
# If this looks similar to EZRanksLite/Pro, yes, I got my idea from there
# Action list:
# <addgroup> [group] (world) - adds the player to a permission group
# <removegroup> [group] (world) - removes the player from a permissions group
# <addpermission> [permission] (world) - adds a permission
# <removepermission> [permission] (world) - removes a permission
# <consolecommand> [command] Runs a command as console, use %player_name% to get player name
# <playercommand> [command] Runs a command as player, use %player_name% to get the player name
# <playermessage> [message] Sends a message to the player. Bukkit colour codes accepted.
# <broadcastmessage> [message] Broadcasts a message to the server. Bukkit colour codes accepted.
# <playeractionbar> [message] Sends an action bar message to the player. Bukkit colour codes accepted.
# <broadcastactionbar> [message] Sends an action bar message to the whole server. Bukkit colour codes accepted.
# <setprefix> [prefix] Sets the player's prefix
# <setsuffix> [suffix] Sets the player's suffix
rankups:
A:
nextrank : B
cost : 0
actions :
- <removepermission> sbrankup.rank.A
- <addpermission> sbrankup.rank.B
- <consolecommand> say %player_name% ranked up to B!
B:
nextrank : lastrank
cost : 100
actions :
- <removepermission> sbrankup.rank.B
- <addpermission> sbrankup.rank.lastrank
- <consolecommand> say %player_name% ranked up to C!
lastrank:
name : C
cost : 200
Permissions
Spoiler: Permissions
permissions:
sbrankup.player.*:
description : Gives access to all player-usable commands
default : true
children:
sbrankup.rankup : true
sbrankup.ranklist : true
sbrankup.admin.*:
description : Gives access to all admin-usable commands
default : op
children:
sbrankup.admin.setrank : true
sbrankup.admin.reload : true
sbrankup.rankup:
description : Allows you to rankup.
default : true
sbrankup.ranklist:
description : Allows you to view the rank list
default : true
sbrankup.admin.setrank:
description : Allows you to set the rank of another player
default : op
sbrankup.admin.reload:
description : Reloads the configuration from the file
default : op
Messages
Code (YAML):
permissions:
sbrankup.player.*:
description : Gives access to all player-usable commands
default : true
children:
sbrankup.rankup : true
sbrankup.ranklist : true
sbrankup.admin.*:
description : Gives access to all admin-usable commands
default : op
children:
sbrankup.admin.setrank : true
sbrankup.admin.reload : true
sbrankup.rankup:
description : Allows you to rankup.
default : true
sbrankup.ranklist:
description : Allows you to view the rank list
default : true
sbrankup.admin.setrank:
description : Allows you to set the rank of another player
default : op
sbrankup.admin.reload:
description : Reloads the configuration from the file
default : op
Spoiler: Messages
# Messages
# You may configure the plugin output messages here.
# NOTE: The plugin prefix is configurable in config.yml
# Bukkit colour codes are accepted here.
notEnoughLevels : >
&3You do not have enough levels to rankup. You're current level is %curr_level%.
This rank requires %levels_needed%.
You need %more_levels% more levels to rank up. If you have recently changed your
island level, please get it calculated again by running the /island level command.
The short form of the command is /is level
rankupsConfiguredIncorrectlyConsole : >
&cRankups are configured incorrectly! Please check your rankups.yml. The error was :
The action that you specified does not exist!
rankupsConfiguredIncorrectlyToPlayer : >
&cThere seems to be an error ranking up. If this problem persists, contact your server
administrator.
notAPlayer : &cYou must be a player to run this command!
lastRank : &6You are already on the last rank!
noRankDetected : &cCould not detect the rank. Perhaps the server is configured incorrectly?
noPermission : &cYou do not have permission to do that.
Code (YAML):
# Messages
# You may configure the plugin output messages here.
# NOTE: The plugin prefix is configurable in config.yml
# Bukkit colour codes are accepted here.
notEnoughLevels : >
&3You do not have enough levels to rankup. You're current level is %curr_level%.
This rank requires %levels_needed%.
You need %more_levels% more levels to rank up. If you have recently changed your
island level, please get it calculated again by running the /island level command.
The short form of the command is /is level
rankupsConfiguredIncorrectlyConsole : >
&cRankups are configured incorrectly! Please check your rankups.yml. The error was :
The action that you specified does not exist!
rankupsConfiguredIncorrectlyToPlayer : >
&cThere seems to be an error ranking up. If this problem persists, contact your server
administrator.
notAPlayer : &cYou must be a player to run this command!
lastRank : &6You are already on the last rank!
noRankDetected : &cCould not detect the rank. Perhaps the server is configured incorrectly?
noPermission : &cYou do not have permission to do that.
To Do List:
- Rank list GUI and rank list command
- PlaceholderAPI support
- Add ranks via a command
- Support for up to MC 1.8
- Economy (though, the plugin clearly says SKYBLOCK rankup, so is this really necessary?)
- Other rankup actions (ActionBars, player messages, json messages) (broadcast /player only) (change prefix and suffix) These are already available on GitHub but I need to add support for more versions of spigot
- Allow message configurability.
Bleeding-edge builds are available on the CI server.
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.9, 1.10, 1.11
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — see the MC Java Mods guides for the full walkthrough.
Skyblock Rankup is a free Minecraft Java mod. Compatible with Minecraft 1.9, 1.10, 1.11, 1.12. Downloaded 1,235 times (via Spigot). Download it and open it directly in the game.