SkyBukkit
SkyBukkit
General
SkyBukkit seamlessly brings SkyBlock to Bukkit servers. It allows players to easily and effectively play SkyBlock alone or with their friends on any Bukkit server, even when a survival world already exists.
For example, on a standard Bukkit server, a player might decide that he has had enough survival gameplay for the day. By simply typing “/island home” the player can teleport to his completely-separate SkyBlock and get to work there. Furthermore, the player would automatically have his inventory, armor, xp, hunger, health, saturation and exhaustion switched, just like he had logged onto another, SkyBlock-dedicated, server.
This same player could then just use “/island spawn” to jump right back into his normal survival environment, while all of his items, etc. are switched back.
While plugins like this do already exist, they all have far fewer features and those projects are outdated with their authors vanished off of the face of the earth. This project attempts to remedy the problem, while offering a server experience like no other.
This plugin has been re-written completely from scratch to achieve maximum performance and compatibility on Bukkit servers.
News
SkyBukkit Release v0.6.0
Release v0.6.0 contains a number of accessibility fixes.
SkyBukkit Release v0.5.14
Release v0.5.14 removes some super-hacky CB-dependant code, amoung other things.
SkyBukkit Release v0.5.13
Release v0.5.13 contains serveral technical fixes as well as some anti-cheat item duplicaiton protection.
Use
Prerequisites
SkyBukkit depends on WorldGuard for it's island protection ability. Please ensure you have it (and WorldEdit, which WorldGuard depends on) installed.
You are also probably going to want to install a plugin like MultiVerse, which will allow you to create a separate world for SkyBlock instances.
PLEASE NOTE: It is highly inadvisable to make your SkyBukkit world an existing survival world. If you do, it will create a host of problems, for example:
- When a player creates a SkyBlock, a giant area of land will become un-editable by other players, as it infringes on their protected SkyBlock land area.
- When a player deletes a SkyBlock, a giant area of land from sky to bedrock will be deleted, creating a massive void pit.
Instead, a separate world should be created (using a plugin similar to MultiVerse) which is using the cleanroom world generator.
Introduction
Simply place the plugin in the standard Bukkit plugin directory and it will automatically generate its configuration the next time the server is run. The default configuration is fine for normal use, but feel free to tweak it for a unique server experience (all available options are available below).
Players simply use “/island create” to create their own SkyBlock instance. They are automatically teleported to their new island and their inventory is switched for them. To delete or replace the SkyBlock they use “/island destroy” or "/island replace" respectively.
Say a player wanted to invite his friend over to his SkyBlock so they could play together. Said player would use a party. Just by typing “/island invite <friend>” they can create a new party and invite the friend to join. The friend would accept or decline the invitation be using “/island accept” or “/island decline”, respectively. The friend could leave at any time with “/island leave”.
That is just a snapshot of all available commands. They, with their accompanying descriptions and permission nodes, can be found further down.
Configuration
Please Note: All of the below configuration options are compulsory. If any are omitted, they will be re-generated next time the server starts.
Name | Default | Description |
---|---|---|
center: x: | 0 | X co-ordinate of where the center island should be placed. |
center: z: | 0 | Z co-ordinate of where the center island should be placed. |
pvpEnabled: | false | Whether or not PVP is allows on islands. |
switchInventories: | true | Whether or not SkyBukkit will auto-switch inventories. |
world: | world | Name of the world where the islands should be stored. |
partyMaxSize: | 0 | The maximum number of players allowed in a single party if INF (0) |
islandHeight: | 128 | Y co-ordinate of where newly-generated islands should be placed. |
islandSpacing: | 120 | Distance between generated islands. |
islandSize: | 100 | Size of the protection “bubble” between SkyBlocks. |
items: | (LIST) | List of all items in the SkyBlock chest. |
items: id: | (INTEGER) | ID of an item in the chest. |
items: dmg: | (INTEGER) | Damage value of an item in the chest. |
items: qty: | (INTEGER) | Quantity of an item in the chest. |
A sample configuration file containing the default values can be found below:
center: x: 0 z: 0 pvpEnabled: false switchInventories: true world: world partyMaxSize: 0 islandHeight: 160 islandSpacing: 120 islandSize: 100 items: - id: 287 dmg: 0 qty: 12 - id: 327 dmg: 0 qty: 1 - id: 352 dmg: 0 qty: 1 - id: 338 dmg: 0 qty: 1 - id: 40 dmg: 0 qty: 1 - id: 79 dmg: 0 qty: 2 - id: 361 dmg: 0 qty: 1 - id: 39 dmg: 0 qty: 1 - id: 360 dmg: 0 qty: 1 - id: 81 dmg: 0 qty: 1 - id: 323 dmg: 0 qty: 1
Commands
Please Note: Wildcard *s are valid in permission nodes. Commands may also be prefixed with the alias /is instead of /island.
Command | Permission | Description |
---|---|---|
/island create | skybukkit.island.create | Create a new SkyBlock. |
/island destroy | skybukkit.island.destroy | Destroy your current SkyBlock. |
/island replace | skybukkit.island.replace | Replace your current SkyBlock. |
/island home | skybukkit.tp.home | Teleport to your SkyBlock, and save your inventory. |
/island spawn | skybukkit.tp.spawn | Teleport to the main world, restoring your inventory. |
/island invite <player> | skybukkit.party.invite | Invite <player> to your SkyBlock, creating a party. |
/island kick <player> | skybukkit.party.kick | Kick <player> from your party. |
/island promote <player> | skybukkit.party.promote | Make <player> the party leader. |
/island accept | skybukkit.party.accept | Accept a pending invitation. |
/island decline | skybukkit.party.decline | Decline a pending inviation. |
/island leave | skybukkit.party.leave | Leave your current party. |
/island leader | skybukkit.party.leader | Display your party leader. |
/island members | skybukkit.party.members | Display your party's members. |
/island admin destroy <player> | skybukkit.admin.destroy | Destroy <player>'s SkyBlock. |
/island admin tp <player> | skybukkit.admin.tp | Teleport to <player>'s SkyBlock. |
/island help | N/A | Display this help message. |
Download
The latest plugin build can be downloaded here.
Latest Changes
Features
- More feedback towards players when using commands or playing
- Perform check when issuing /island home
- Resend Chunks When an Island is created/destroyed.
- Extreme Server Tick Lag. Do the "heavy-lifting" in a worker.
- Max Players per Party
- Configurable Items and Quantities
- Option to disable inventory management
- Added /is command alias
- Shortened all "/island party *" commands to just "/island *"
- Deny disallowed players entry
- /island world -> /island spawn
- Leave the sky when you use /island leave
- Go to the sky when you use /island accept
- Inform implicitly promoted players that they have been promoted
- Inform party members when a member leaves their party
- Inform promoted players that they have been promoted
Bug Fixes
- Enabled maven resource filtering for plugin.yml
- Removed super hacky cb refs
- Changed pom
- Fixed maven dependancies
- Fixed a fatal island creation bug
- Fixed an entity removal bug
- Fixed an island protection bug
- Fixed an island respawning bug
- Fixed another island respawning bug
- Fixed a island creation tick lag bug
- Fixed teleportation and other random bugs
- Fixed protection regions not being removed
- Save WG Regions
- Fixed syntax errors
- Fixed potential CCE
- Made config error messages more user-friendly
- Spelling error correction
- Fixed Deserialization NPE
- Fixed Island Un-Protection Exceptions
- Made party max sizes work
- Fixed another NPE
- Fix docs
- Fixed party commands
- Fixed NPE
- Fixed spelling
- Properly color player names
Planned Features
v1.0.0
SkyBukkit is in a preliminary phase, so please feel free to file a ticket for any feature requests you may have.
How Can I Help?
The plugin is developed solely by me in my free time so:
- If you are a developer would like to contribute to this project, or any of my other projects, please PM me or email me at [email protected].
- If you are a not developer but would still like to contribute somehow, please consider donating. Donations are highly valued and much appreciated.
About
Developer: Keeley Hoek (escortkeel)
Wait you have to create a new world to do /is create
Umm... Whats the permission for /island help [#]
my players cant get back to their island anymore. if they do /island home they just get warped to a random location and not their island, not even in the correct world!
I had the same issue as Tammy1337 - I was trying to use the default world. After i installed multiverse and set SkyBukkit to use a new world it worked perfectly.
One issue I have noticed. If you '/island replace' you keep your inventory - so you can stack items this way.
One option I would like to see - a sort of 'hardcore' setting - if you die your island gets automatically reloaded (This would stop people dying just to refill the foodbar)
@Tammy1337
Hi Tammy1337!
What does /is home say when you use the command?
Hello,
we have the following problems:
- if we make a island we don't get teleported to it.
- if we type /is home we don't get teleported to the island.
- It gives a huge lag.
Is there an solution to fix this ?
Thnx
@TyrusVanAedon
Hi TyrusVanAedon!
If you mean access the nether from your SkyBlock, then unfortunately, the answer is no, there is no easy way. However, the only way you could build a nether portal from within a SkyBlock would be via cheating, so that is why I haven't added a feature which does this already.
If I've misunderstood you question, please let me know.
Regards,
Keeley
@optprrime
Good question optprrime!
SkyBukkit does not place any islands in a special region. The region's middle is at
center
and it expandsislandSize + islandSpacing
in all directions.Hi,
If i set this plugin up using the main world as the world where the islands are created, is there a safe area that i can build a spawn area? I won't be using multiverse.
Thanks for the replay opt_prime
Is there a way to enable access to the nether?
I'm thinking this is more of a compatibility issue, but it would seem that players desync often and have to relog. I'm thinking that it might be HomeSpawnPlus, but then gain I haven't tried removing it.
Nevermind, that certainly wasn't the problem.
@TyrusVanAedon
Awesome! No problem! :)
@ escortkeel:
I loaded up PEX and put in the permissions you listed, looks like it's working - I'll have my users check it out tomorrow when they are on!
Thanks!
Tyrus
@TyrusVanAedon
Hi TyrusVanAedon!
All of the commands in the plugin are protected via permissions. In order for a normal player to use a particular command, you need grant that player the corresponding permission (a big list of them can be found above) using a SuperPerms plugin.
Personally, I use PEX for permissions on my server, but many alternatives exist (a simple search for "SuperPerms" on BukkitDev brings up a whole page of relevant results).
If you would like to allow your players access to all but the admin commands, grant them the permissions:
skybukkit.island.*
skybukkit.tp.*
skybukkit.party.*
Thanks for using RemoteBukkit :) ,
Keeley
Ok, love the plug in - but none of the players on my server can use it without being OP. When a normal player types '/island create' they get a message saying they don't have permission to use that command.
How can I enable normal players to use the commands?
@AeroEden
Hmm. That is very odd. I'll try to see if there is anything I can do to stop that happening.
Anyhow, I'm glad you solved your problem! :)
Ok I've some how fixed my problem. Turns out I had to TP to the world in order to get it recognized. Sorry for the trouble.
@escortkeel
Hey I'm getting Invalid or no world name specified. Assuming "world" But I have that world and I can set it in the config as world_skyblock then reload the server with the /reload command and Skyblocks are made there, but after a server restart it sets it back to world. I'm using MultiVerse and the VoidGenerator plugin if that helps.
@AeroEden
Hi KiwiCrafter! :D
Do you get any output at all from skybukkit in your server's log? There are a number of reasons why SkyBukkit might decide to reset the world, but AFAIK, it all circumstances, it will tell you what and why it is doing what it is doing. I'll have a look at the source right now to see if there could be any reason why this would not be the case, though.
Thanks, and all bug reports are appreciated! :) ,
Keeley
Hey I'm having problems with setting the world in the config. Whenever I make a world with MultiVerse and set it in the config, at every server restart it reverts back to World. I can set it to the Nether and End but not a custom world. Hope you fix it soon, or tell me that I'm a noob and tell me what I did wrong :P