Ultimate Skyblock

Ultimate Skyblock

Try out this plugin using the following IP: ultimate-mc.net

This is a unique skyblock plugin based on code from the original skySMP plugin. This plugin was started as a way for me to improve and practice my java programming skills, and is a constant work in progress. This plugin was originally made for use on Talabrek's Ultimate Skyblock: ultimate-mc.net. Note that as of version 2.0 some of the information provided in this description may be outdated and inaccurate.


  • Easy installation: Just place the .jar in your plugins directory and start the server. The skyblock world, config, and all other files are automatically generated. CleanRoomGenerator is not required!
  • Inventory Interface: Data is displayed in a GUI that allows players to easily manage and change features of their island.
  • Co-op (party) system: Let multiple players join together to play on a single island. Maximum party size is configurable.
  • Challenges: Players can complete customizable challenges for rewards including items, exp, currency, and permissions.
  • Custom Islands: Use WorldEdit schematics to customize what your starting island looks like. You can also give individual players different starting islands using permissions!
  • Grief Protection: Islands are protected with a built-in protection system (or optionally by WorldGuard regions), which stops non-party members from building, destroying, killing animals, accessing your chests, and anything else that might hurt your island.
  • Island levels: Islands level up as they get more developed. A ranking system lets players compete to have the best island.
  • Customizable: Configuration file gives you the freedom to customize the plugin's options so that they best fit your server's style.

Required plugins

Note: Certain features of Ultimate Skyblock will not work without some of these plugins.


  • Stop your server.
  • Place the uSkyBlock.jar into your server /plugins directory.
  • Start your server. Config, skyblock world, and all files should automatically generate. Note: the default skyblock world is called “skyworld”
  • (Optional) Stop your server again, modify the config.yml, and restart your server.
  • Add permissions so that your players have access to commands. For example, if using PEX, add usb.island.* and usb.party.* to your basic members group to allow users to access the basic features. Add usb.mod.* for basic moderation features and usb.admin.* for more advanced features (give to players at your own risk!). See the permissions section for more information.
  • There is currently a bug in version 2.0.0 which requires you to add the permission group.member for any players to be able to access the new inventory GUI!
  • Warning: This plugin will not create a spawn area, you will need to have a separate world set as your spawn or create your own spawn area.
  • Warning: This plugin is not compatible with data from other skyblock plugins! You must use a new skyblock world!

To-Do List

In order of priority.
  • Bug fixes.
  • Add options to display top island information in an inventory interface or scoreboard.
  • Fix/Improve admin and moderator commands and create an inventory interface to allow server operators to easily manipulate player islands.
  • Allow the use of a schematic to automatically generate a spawn area, or generate a basic spawn area without one.
  • Add an extra permission to allow players to warp to other islands.
  • Allow different island schematics to be used when starting a new island based on player permissions.
  • Challenges/rewards system (SkyBlock goals).
  • Make block values for the island levels (/island info) configurable.

Latest Changes


  • This version has many new features and changes. You may need to generate a new config.yml file to properly use the new features.
  • New feature: Island Inventory Interfaces: New inventory interfaces have been created that allow players to view and manage their island in an easier and more immersive manner. Most aspects of the island can be controlled via this new GUI. Many features can still be used with commands, but some specifically require the use of the GUI. I may add a configuration option to toggle the GUI on/off, but for now it is required!
  • New feature: Level Configuration: A new file, levelConfig.yml, to customize how players gain island levels from blocks on their island.
  • New feature: Island Log: The last 10 "events" on the island are stored in the island's configuration file (which can be viewed by server admins) and can be viewed by island members using the island GUI. Events include players being invited to or removed from the island, biome changing, island locking, and warp changing. These events are now also broadcast to all members of the island currently online.
  • New feature: Biome changing: Players can now change their island's biome if they have the appropriate permission. Additionally, all players now start with the OCEAN biome to create a more level playing field (this will be configurable in the future).
  • New feature: Group Permissions: Island owners can now toggle permissions for player's on their island. They can decide whether or not each individual member can change the biome, lock the island, set/change the warp, and invite/kick players (group members will not be able to kick the leader).
  • Major change: A new island config file will now be created for each island. This file stores information about the island including level, owner, members, biome, and more. This file is saved in .yml format and can be easily edited manually if need be.
  • Major change: All files are now stored in .yml format. This should be more stable and allow server admins to edit the files manually.
  • Many major/minor bugs have been fixed.


  • Fixed several bugs. Most of them are related to the island party system (there are still issues with transferring an island).
  • Fixed a dupe involving anvils.
  • Fixed a bug that could allow players to use the obsidian->lava feature in other worlds.
  • Challenges no longer reset when leaving another players island or restarting an island. This is to prevent players from exploiting certain types of challenges (I will add an option to make this configurable in the next update).
  • Added a new config option general.spawnSize to configure the area that is used for the spawn. Players will be able to use and interact with objects like buttons and doors in this area (if using the built in protection), and no islands will spawn in the area. For example, setting spawnSize: 100 would make your spawn area 100 blocks in every direction from 0,0.
  • New feature: island warps. Players with the permission usb.extra.addwarp can set a warp location on their island which will allow other players to warp there. Players that warp to another island will still be restricted by the island protection.
  • New command: "/island warp" will give instructions on how to use the warps.
  • New command: "/island warp <player>" will warp you to that player's island if they have their warp turned on (players with the permission usb.island.* will have this by default)
  • New command: "/island setwarp" will set the incoming warp location to the player's current location.
  • New command: "/island togglewarp" will toggle your warp location on/off (allowing or preventing other players from warping there).
  • New command: "/island ban <player>" will ban/unban a player from warping to your island (if you have an active warp).


  • New command: "/dev info <player>" that will display info about the player's island location and party.
  • Island party members will once again be displayed on the top ten list.
  • Fixed an issue that would make /island level unavailable to players.
  • Fixed a bug with the /island makeleader command that would sometimes cause players to lose their island.
  • Fixed a bug where a player was not properly being removed from an island party.
  • Fixed a bug where an island party leader's group list was not being reset properly when they left the group.


  • Changed how island party information is saved, this should fix the issue introduced in the last version. After upgrading, you will need to run a command to convert to the new format. The command is /dev buildpartylist and it requires mod permissions.


  • Updated to minecraft 1.5
  • The last island information is now stored in the config.yml file, this should solve the problem of lag and massive chunk loading when a new player starts an island.


  • A player will now have their equipment cleared in addition to their inventory when restarting/joining/leaving an island.
  • Fixed a few more bugs with transferring an island, I think that's all of them.
  • Changed the built-in protection to use the location of the object/block and not the player when checking if it's ok to break something.
  • Fixed an issue that would sometimes cause loss of performance when players start a new island (it should be further improved in future versions).


  • The built-in protection system now uses the protectionRange config.yml value instead of the distance value.
  • Removed the /t alias from the challenges command that was clashing with other plugins.
  • Fixed some cases where /island level wouldn't work for some players.
  • Players will no longer have their inventories cleared when in proximity of another player that resets their island.
  • Fixed a few bugs related to transferring an island from one player to another.


  • Challenges will no longer try to add a perk reward if there isn't one to add.
  • Fixed a bug dealing with vault and permissions that would cause commands not to work.


  • Fixed some typos in the challenges section of the config.yml.
  • Removed some leftover debugging console spam.
  • Added /island level as an alias to /island info.
  • Fixed an error that occured when using the permission based schematics.

1.0.0 You will need to delete your old config.yml and use a newly generated one! Sorry!

  • New feature: Challenges! Now you can create custom challenges for your players to complete. See the Challenges page for more information.
  • New moderator command: "/dev completechallenge <challengename> <player>" completes the given challenge for the player (no rewards will be given).
  • New moderator command: "/dev resetchallenge <challengename> <player>" reset the given challenge to incomplete for the player (no rewards will be taken).
  • New moderator command: "/dev resetallchallenges <player>" reset all challenges for the player (no rewards will be taken).
  • Added permission usb.extra.partysize. Players with this permission can invite double the normal max number of players to their island (so if the default max is 4, that player could then invite 8).
  • A player with the permission usb.schematic.<schematicname> will use that schematic when they start/restart an island instead of the default island/schematic.
  • Players can no longer restart an island while in a co-op group. You will have to remove all other members if you are the owner (/island kick <player>) or leave if you are a member (/island leave). If you have players that did this before the fix and are unable to invite people to their island, have them use /island leave (they will not actually leave the island, but it should fix the problem).
  • There is now a cooldown for accepting an invite to another player's island group (it shares the same cooldown as island restarts).
  • Fixed a bug that caused islands to generate in the wrong world if the world name was changed in the config.yml. This should also fix WorldGuard regions generated in the wrong world.
  • Fixed a few cases of NPEs caused by the PlayerInteractEvent.
  • Re-worked how the plugin loads/saves skyblock player files. This was mainly to make data management "cleaner", but this should also fix a PermGen Space memory crash and may increase performance.

Extra Information

  • A player must use /island level before they are included on the top ten list (or use the a. The information on the list will be from the most recent /island levelthat the player did.
  • This plugin was originally designed to be used on my server, if you run into any quirky stuff or extra “features” that shouldn't be there let me know!
  • This plugin uses PluginMetrics to spy on you, err, collect data on how many people are using it. You can disable it by going to plugins/pluginmetics/ and setting opt-out: true in the config.yml


If you want to help the development of this plugin please report any bugs that you find, give suggestions, or if you really enjoy the plugin, consider donating via paypal to [email protected] This keeps me motivated to continue releasing versions to the public.

I you need help with something, please post in the comments section or make a ticket. I stay pretty busy, so I typically will not respond to help requests sent via PM or in-game.

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of PiggySandwich PiggySandwich Jul 22, 2014 at 17:22 UTC - 0 likes


    One final question, could you please explain more "in-depth" how to set an exact spawn point that applies to all player, that makes it when you do die in the void you spawn upon your island again?

  • Avatar of dutchy1001 dutchy1001 Jul 22, 2014 at 16:44 UTC - 0 likes

    @PiggySandwich: Go

    The last link I put in wasnt doing what I wanted, I corrected that now. That should explain what command to use with the cleanroongenerator.

    If you just delete the skyworld and folder, except the uskyblock.jar, it should generate the skyworld at the next startup.
    As the old world can't be fixed you need to start a new world anyway.

    Server: debocraft.redirectme.net
    Website: http://debocraft.enjin.com/
    Skyblock troubleshooter: The New Site (testing)
    Plugin I maintain: Like My Building

    I'm now associated with uSkyblock but can't be held responsible for mistakes you make.

  • Avatar of PiggySandwich PiggySandwich Jul 22, 2014 at 13:11 UTC - 0 likes


    Thanks for the response but I am still a bit confused. Should I delete the 'skyworld' folder and start anew while in the main world (hub) or should I create a cleanroom with either bedrock as the only layer or just complete air?

  • Avatar of dutchy1001 dutchy1001 Jul 22, 2014 at 07:58 UTC - 0 likes

    @PiggySandwich: Go

    Letting the plugin itself create your "skyworld" at startup would have been the easiest way.

    Creating yourself the world (with multiverse) should have been done with the "cleanroomgenerator" as mentioned here.

    Not respawning on the island is normal, you need to set a spawn point (with Mulltiverse or Essentials) at the location X=0,Y=any height and Z=0 or a maximun of 55 blocks away from that point (any other location used as spawnpoint in the skyworld will start later to give you problems).
    If you use Essentials you can also set to spawn in the default spawnworld of your server (this needs to be set in the config (sendToSpawn: true) of the uSkyblock folder).

    Last edited Jul 22, 2014 by dutchy1001
  • Avatar of PiggySandwich PiggySandwich Jul 22, 2014 at 00:24 UTC - 0 likes

    Okay look please, I made a Multiverse Server and i made a world called Skyblock when I enter it works fine since I have a small hub but when I do /is the island works fine but there is still ground under me enabling the player to cheat with water. Also when the player respawns they don't spawn on the island, but on the ground.

  • Avatar of dutchy1001 dutchy1001 Jul 21, 2014 at 22:46 UTC - 0 likes

    @tomatogeek: Go

    go to the troubleshoot pages on my site (link is in my signature) and click on "The WorldEdit Error"

  • Avatar of tomatogeek tomatogeek Jul 21, 2014 at 21:27 UTC - 0 likes

    Getting this error on startup

    [23:29:30] [Server thread/ERROR]: Could not load 'plugins/uSkyBlock.jar' in folder 'plugins' org.bukkit.plugin.InvalidPluginException: java.lang.NoClassDefFoundError: com/sk89q/worldedit/MaxChangedBlocksException at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:131) [spigot-1.7.5.jar:git-Spigot-1377] at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:329) [spigot-1.7.5.jar:git-Spigot-1377] at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:251) [spigot-1.7.5.jar:git-Spigot-1377] at org.bukkit.craftbukkit.v1_7_R2.CraftServer.loadPlugins(CraftServer.java:355) [spigot-1.7.5.jar:git-Spigot-1377] at net.minecraft.server.v1_7_R2.DedicatedServer.init(DedicatedServer.java:135) [spigot-1.7.5.jar:git-Spigot-1377] at net.minecraft.server.v1_7_R2.MinecraftServer.run(MinecraftServer.java:440) [spigot-1.7.5.jar:git-Spigot-1377] at net.minecraft.server.v1_7_R2.ThreadServerApplication.run(SourceFile:618) [spigot-1.7.5.jar:git-Spigot-1377] Caused by: java.lang.NoClassDefFoundError: com/sk89q/worldedit/MaxChangedBlocksException at java.lang.Class.forName0(Native Method) [?:1.7.0_01] at java.lang.Class.forName(Unknown Source) [?:1.7.0_01] at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:40) [spigot-1.7.5.jar:git-Spigot-1377] at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:127) [spigot-1.7.5.jar:git-Spigot-1377] ... 6 more Caused by: java.lang.ClassNotFoundException: com.sk89q.worldedit.MaxChangedBlocksException at java.net.URLClassLoader$1.run(Unknown Source) [?:1.7.0_01] at java.net.URLClassLoader$1.run(Unknown Source) [?:1.7.0_01] at java.security.AccessController.doPrivileged(Native Method) [?:1.7.0_01] at java.net.URLClassLoader.findClass(Unknown Source) [?:1.7.0_01] at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:77) [spigot-1.7.5.jar:git-Spigot-1377] at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:62) [spigot-1.7.5.jar:git-Spigot-1377] at java.lang.ClassLoader.loadClass(Unknown Source) [?:1.7.0_01] at java.lang.ClassLoader.loadClass(Unknown Source) [?:1.7.0_01] at java.lang.Class.forName0(Native Method) [?:1.7.0_01] at java.lang.Class.forName(Unknown Source) [?:1.7.0_01] at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:40) [spigot-1.7.5.jar:git-Spigot-1377] at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:127) [spigot-1.7.5.jar:git-Spigot-1377] ... 6 more


    • Hate clicking disconnect? now use /leave
  • Avatar of Dutch_Boy Dutch_Boy Jul 21, 2014 at 19:15 UTC - 0 likes

    Skyblock plugin works fine on spigot 1.7.10. Make sure you install all the plugins (multiinv worldedit etc)

    Or it wont work at all.

  • Avatar of dutchy1001 dutchy1001 Jul 21, 2014 at 07:12 UTC - 0 likes

    @AKRhodes2000: Go

    Can't imagine this is the cause of uSkyblock. Remove the plugin and it's folder and then restart to see if that fixes your problem.
    Redownload the latest version here to see if that helps.

  • Avatar of AKRhodes2000 AKRhodes2000 Jul 20, 2014 at 23:34 UTC - 0 likes

    Hi right when I got this plugin all of the sudden i was not able to delete anything on any of the worlds but I can place and my players are disappointed I need a FIX fast please help me! @dutchy1001


Date created
Sep 27, 2012
Last update
Jan 16, 2014
Development stage
  • enUS
All Rights Reserved
Curse link
Ultimate Skyblock
Recent files