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)
@escortkeel
nice look forward to it and hoping it fixes my problems, fingers crossed
Everyone,
0.4.0 will be out in a sec! :D
@fazaro
1. Add Permissions
What
2. Add Flags to WorldGuard (You are entering / leaving protected island (name)
Ok sure! :)
3. Change the island protection name to IslandNickname (Its now CraftPlayer{name=arofaz}Island
Sure!
4.Add /island home
You can use /island tp sky for that ;)
5. Add automatic sethome if the island is created
I'll set it up so you can run a custom command as the user, configurably.
6. Add configurable chest items
Is in the process! Please watch this ticket for updates.
Thanks
Keeley :)
@kwek20
Hi kweck! :)
Could you post your error up here?
Thanks,
Keeley :)
Nothing config, Commands do not use.. Permissions have..
@Theothecreator
Oh, thanks! ill be waitinng :P
@kwek20
if you are using the v3.1 then you can not change anything in the config file because everytime you restart your server or reload it. your config file will restart.. He is now sleeping, he will fix it when he wakes up
Everytime i try to change the Name of the world where the islands should be stored, i gves an errr and disables skybukit Yes, i have worldedit/worldguard. BUt i cant do the default name, because my world is called world :/
Please look into this
My config ain't generating still :/ Help?
1. Add Permissions 2. Add Flags to WorldGuard (You are entering / leaving protected island (name) 3. Change the island protection name to IslandNickname (Its now CraftPlayer{name=arofaz}Island
4.Add /island home
5. Add automatic sethome if the island is created
6. Add configurable chest items
Do players need permission to create a island??
@GoldenWarrior117
I'll have to release v0.4.0 a little bit later than I anticipated... Please expect it in 12 hrs (I'm going to bed now). It was slightly more work than I expected. :( In the mean time please no not use the plugin in production because the new update will force you to delete your old config files. :(
Thanks for your co-operation,
Keeley :)
@dynamicdude
Hey! Please file a ticket here.
@escortkeel
this plugin looks great and i have tryed to use it but it randomly stops users chating to the point they have to log off and back on and when they do /island create it makes the island but does not send them to it and tp sky dont work to, hope you can fix this, and im not getting any errors in console.
@GoldenWarrior117
That sounds super cool! :D
-One way to avoid island creation spam if you enable rare item drops is maybe have timer that only once a day you be able to get a rare item via /island replace, or maybe have it so that rare item drops only happen to people that have a special permissions node, but even so it doesn't solve the problem :p
I like the idea of a permission node. :D
-Maybe have an option in config to set the number of people in a party. Party-Size: # but maybe have so that the # has to be between x and y.
Good idea! One question though, how would you go about forceing the party size to be greater than x? I'll happy implement a max size though. ;)
-Maybe have an option in config to change the shape of the island like to a default,square,circle. shape: default?
For version 1.0.0 I'll set it up so you can actually just specify a schematic for the sky block. :D You'll be able to set up multiple schematics for random/rare islands.
Sorry if I sounded a bit negative here :) , I was just trying to be objective and practical. :)
~
Keeley@escortkeel
If you need more suggestions ill be glad to provide more
One way to avoid island creation spam if you enable rare item drops is maybe have timer that only once a day you be able to get a rare item via /island replace, or maybe have it so that rare item drops only happen to people that have a special permissions node, but even so it doesn't solve the problem :p
Here are more suggestions but would be hard to have it done
-Maybe have an option in config to set the number of people in a party. Party-Size: # but maybe have so that the # has to be between x and y.
-Maybe have an option in config to change the shape of the island like to a default,square,circle. shape: default?
-GoldenWarrior
@GoldenWarrior117
Hey! (I'm just going to reply using random statements cause it means I have to write less :P)
I found the cause of both bugs your reported earlier. :D I'll put a version 0.4.0 out in a sec ;) One of them is pretty serious and causes you to loose all of your saved items after a /reload.
I've filed a ticket against the project on the issue tracker for your first suggestion. You can watch the ticket if you want to know when I've finished implementing it! :D
Your other suggestions:
They are great ideas! The problem I see occurring here is "island creation spam" where players constantly use /island replace and replace their island until they get a rare item, etc. If you have any solutions to that problem I'd be happy to look into it too!
Finally, I really appreciate the suggestions! They are brilliant, keep them coming!
And again, thanks a bunch for contributing to the SkyBukkit project :) ,
Keeley :D
@escortkeel
I was testing out v0.3.1 on my Multiworld server and found out that the error i got before was when on startup for the first time and when server reloads via /reload
Now for the bug its still there seems that its still there
Notes about bug
-in config the world is set to skyblock yet it tp users to world which is the default world, almost like my mv is not working with skybukkit
Also I have a suggestions for the plugin
-Maybe Add a option in config to edit whats in the chest when you first do /island create maybe like this itemid: # or make it so that you can edit the amounts of whats in the chest already like so lava: #
-Maybe add a option that 1 random item spawns in a chest from a init or something, maybe add a true/false feature to this
-Maybe add a extra option to have lucky islands that the grass turns into mycel, or build on this to have some islands that have some more dirt than others or sand,etc.
Those are a some suggestions that i and other people thought up.I understand if you dont use them.
Thanks For Your Time, -GoldenWarrior117
@GoldenWarrior117
Bug 1: Thanks for the report! I'll look into potential causes for that anyway.
Bug 2: I'm looking through the code and can't see any reason why it is doing that. Please try using v0.3.1 and see if you get any error messages (that version has better error handling).
Thanks so much for your co-operation,
Keeley :D
@escortkeel
I got that error when i started the server for the 2nd time not the first, have no idea how or what cause it but its not a problem anymore maybe an other plugin derped or something that caused it, now for the bug,
Theres Nothing being written in console:
config below
center: x: 0 z: 0 pvpEnabled: false world: skyblock islandHeight: 128 islandSpacing: 120 islandSize: 100
Im not sure how this is going to look considering i just copy/pasted it but everything looks right to me
-GoldenWarrior117