GithubHelp home page GithubHelp logo

rlf / uskyblock Goto Github PK

View Code? Open in Web Editor NEW
76.0 23.0 113.0 42.48 MB

The best skyblock bukkit plugin around...

Home Page: http://dev.bukkit.org/bukkit-plugins/uskyblock/

License: GNU General Public License v3.0

Java 99.46% Perl 0.45% Shell 0.09%

uskyblock's Introduction

uSkyBlock

This is a continually updated and custom version of Talabrek's Ultimate SkyBlock plugin.

We are on Spigot. Currently Open Issues

Installation

This version depends on the following plugins:

  • Spigot/Paper 1.19-R0.1-SNAPSHOT
  • Vault 1.7.x
  • WorldEdit 7.2.13
  • WorldGuard 7.0.8-SNAPSHOT

Releases

https://www.spigotmc.org/resources/uskyblock-revived.66795/history

Pre-releases will end in -SNAPSHOT, and is considered unsafe for production servers.

Releases have a clean version number, has been tested, and should be safe for production servers.

New Maven group/artifactId

Starting with version 3.0.0-SNAPSHOT, we've changed our Maven groupId's for all submodules except uSkyBlock-API. If you're using uSkyBlock-Core or po-utils as dependency in your project, update your dependencies to:

<dependency>
    <groupId>ovh.uskyblock</groupId>
    <artifactId>uSkyBlock-Core</artifactId>
    <version>3.0.0</version>
</dependency>

We're moving new API features towards APIv2, which is available as:

<dependency>
    <groupId>ovh.uskyblock</groupId>
    <artifactId>uSkyBlock-APIv2</artifactId>
    <version>3.0.0</version>
</dependency>

Feel free to use any of the new APIv2 functions on servers running uSkyBlock 3.0.0+. The old API-methods will be deprecated and removed in the upcoming plugin releases.

Bukkit/Spigot 1.7.9/10 Releases

We provide pre-compiled versions (no support) here:

Config-files

Note: Config files might change quite a bit, and upon activation, the plugin will try to merge the existing ones with the new ones. A backup is kept under the uSkyBlock/backup folder.

Please make sure, that the config files are as you expect them to be, before using the plugin or releasing it to "the public".

Building/Compiling

See (https://github.com/rlf/uSkyBlock/wiki/Building)

API

uSkyBlock has an API (since v2.0.1-RC1.65).

To use it, simply drop the api-jar to the classpath of your own plugin, and write some code along these lines:

Plugin plugin = Bukkit.getPluginManager().getPlugin("uSkyBlock");
if (plugin instanceof uSkyBlockAPI && plugin.isEnabled()) {
  uSkyBlockAPI usb = (uSkyBlockAPI) plugin;
  player.sendMessage(String.format(
    "\u00a79Your island score is \u00a74%5.2f!", 
    usb.getIslandLevel(player)
  ));
}

For further details regarding the API, visit the Wiki page: https://github.com/rlf/uSkyBlock/wiki/uSkyBlock-API

Contributing

Fork-away, and create pull-requests - we review and accept almost any changes.

But please conform with the (https://github.com/rlf/uSkyBlock/wiki/Coding-Guidelines)

License

TL;DR - This is licensed under GPLv3

Explanation / History

Originally the uSkyBlock was a continuation of the skySMP plugin, which was licensed under GPLv3 (see http://dev.bukkit.org/bukkit-plugins/skysmp/).

Talabrek intended to share the code with the public, but simply didn't have the time available to do so.

Unfortunately, he had registered the plugin as All rights reserved on Bukkit, meaning the bukkit staff put the plugin under moderation - further increasing the work-load required to share the plugin.

Those trying to get hold on Talabrek, had a hard time, and eventually multiple developers got their hands on different versions of the uSkyBlock plugin, and tried to continue the work in various channels (wesley27 and wolfwork comes to mind).

On the very last day of 2014, we received the following e-mail from Talabrek:

Recently, now that a stable 1.8 and the future of spigot is looking hopeful, I have gotten back to work on the plugin. There is much to be done though, and I just don't have the time to do it, so I finally decided to make it available for the public to work on. This is when I noticed the work you and others have done on the plugin.

I don't have the time and energy to devote to actively developing this plugin anymore, but it is like a pet project to me so I would still like to have a role in it's development. You are making the best effort that I have seen, so I would like for you to continue.

If you are interested, I can make my current code available to you (it's much different than what you currently have now, but some parts might be useful).

-Talabrek

So, with Talabreks blessing, this repository will try to consolidate the many different "branches" out there.

References

uskyblock's People

Contributors

blackbeltpanda avatar bradbouquio avatar brokkonaut avatar clrxbl avatar confuser avatar devjordan avatar djytw avatar drtshock avatar dutchy1001 avatar guillaumeassier avatar johnfriedrich avatar lurkrul avatar marcbal avatar muspah avatar narimm avatar pickledrange avatar protocodyne avatar rayzr522 avatar rescudo avatar rlf avatar roastnewt avatar schmoller avatar seadragon91 avatar sleiss avatar swan201 avatar talabrek avatar treppenhaus avatar waseric avatar wesley27 avatar woolwind avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

uskyblock's Issues

Re-introduce better tab-completion

Both of the v1.0.8 branches/forks out there, have better tab-completion than the current version.

Would be nice to get that into, esp. the dev-command (and challenge command)

No backward compatibility with playerdata version of uSkyBlock

It seems there is a version out there, of skyblock, that stores playerdata as binary versions of the PlayerInfo object in serialized files.

These will not be converted, and thus we break backward compatibility with this version.

Fix: Ignore the files, re-create the islands using world-guard regions.

What if no worldguard regions? Beats me, find another solution.

Possible Island Level issue?

So ever since updating my server to 1.8 and using the latest version of uSkyblock, many of my players Island Levels have changed drastically. But it's weird, because our levelconfig.yml has not changed at all in values yet many peoples island have been changed heavily, some only changed a bit. I have one player who was well over Island Level 1000, and now his island is at Level 9, and he still has a HUGE island, so it's weird.

Maybe others can chime in if they have experienced the same thing? I will provide any additional information as needed.

NPE on InventoryClickEvent

I think it might be caused by players NOT playing uSkyBlock on the server

[19:26:04] [Server thread/ERROR]: Could not pass event InventoryClickEvent to uSkyBlock v2.0.1-SNAPSHOT-7c9182
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:305) ~[spigot.jar:git-Spigot-da32fe1-8110f51]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot.jar:git-Spigot-da32fe1-8110f51]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot.jar:git-Spigot-da32fe1-8110f51]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot.jar:git-Spigot-da32fe1-8110f51]
at net.minecraft.server.v1_8_R1.PlayerConnection.a(PlayerConnection.java:1554) [spigot.jar:git-Spigot-da32fe1-8110f51]
at net.minecraft.server.v1_8_R1.PacketPlayInWindowClick.a(SourceFile:31) [spigot.jar:git-Spigot-da32fe1-8110f51]
at net.minecraft.server.v1_8_R1.PacketPlayInWindowClick.a(SourceFile:9) [spigot.jar:git-Spigot-da32fe1-8110f51]
at net.minecraft.server.v1_8_R1.PacketHandleTask.run(SourceFile:13) [spigot.jar:git-Spigot-da32fe1-8110f51]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.7.0]
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) [?:1.7.0]
at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.7.0]
at net.minecraft.server.v1_8_R1.MinecraftServer.z(MinecraftServer.java:686) [spigot.jar:git-Spigot-da32fe1-8110f51]
at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:316) [spigot.jar:git-Spigot-da32fe1-8110f51]
at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:627) [spigot.jar:git-Spigot-da32fe1-8110f51]
at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:530) [spigot.jar:git-Spigot-da32fe1-8110f51]
at java.lang.Thread.run(Unknown Source) [?:1.7.0]
Caused by: java.lang.NullPointerException
at us.talabrek.ultimateskyblock.SkyBlockMenu.onClick(SkyBlockMenu.java:979) ~[?:?]
at us.talabrek.ultimateskyblock.PlayerJoin.guiClick(PlayerJoin.java:150) ~[?:?]
at sun.reflect.GeneratedMethodAccessor598.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301) ~[spigot.jar:git-Spigot-da32fe1-8110f51]
... 15 more

[Bug] WG region get's recreated when group member join

Hey,

we are using the newest Version of uSkyBlock and the plugins that are essentials for running it.
Today a bug appeared with the worldguard protection system. It is very easy to reproduce.
Create a new island, the protection of the island will be named "yournameisland". Now invite another person to your island and make him accept the invite. Everything should be fine for now. But if the player you just invited reconnects to the server, the island worldguard protection will change to "invitedpersonname" and the original owner has no permissions to build there anymore. If the original owner reconnects, the worldguard protection flag will override again and the invited person cant build anymore. I really hope this is fixable and I appreciate your good work so far.

Regards

/dev delete null ptr exception

deleting existing island created with uSkyblock 2.0 from Curse repository:

[16:47:34] [Server thread/INFO]: Joetorp issued server command: /dev delete Joetorp
[16:47:34] [Server thread/INFO]: [uSkyBlock] §f[§auSkyBlock§f] Reloading player data!
[16:47:34] [Server thread/INFO]: [uSkyBlock] §f[§auSkyBlock§f] Reloading player data!
[16:47:34] [Server thread/ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'dev' in plugin uSkyBlock v2.0.1-SNAPSHOT-57aa37
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot.jar:git-Spigot-8dc4297-a7287cb]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:181) ~[spigot.jar:git-Spigot-8dc4297-a7287cb]
at org.bukkit.craftbukkit.v1_8_R1.CraftServer.dispatchCommand(CraftServer.java:642) ~[spigot.jar:git-Spigot-8dc4297-a7287cb]
at net.minecraft.server.v1_8_R1.PlayerConnection.handleCommand(PlayerConnection.java:1083) [spigot.jar:git-Spigot-8dc4297-a7287cb]
at net.minecraft.server.v1_8_R1.PlayerConnection.a(PlayerConnection.java:918) [spigot.jar:git-Spigot-8dc4297-a7287cb]
at net.minecraft.server.v1_8_R1.PacketPlayInChat.a(PacketPlayInChat.java:26) [spigot.jar:git-Spigot-8dc4297-a7287cb]
at net.minecraft.server.v1_8_R1.PacketPlayInChat.a(PacketPlayInChat.java:53) [spigot.jar:git-Spigot-8dc4297-a7287cb]
at net.minecraft.server.v1_8_R1.PacketHandleTask.run(SourceFile:13) [spigot.jar:git-Spigot-8dc4297-a7287cb]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_05]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_05]
at net.minecraft.server.v1_8_R1.MinecraftServer.z(MinecraftServer.java:683) [spigot.jar:git-Spigot-8dc4297-a7287cb]
at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:316) [spigot.jar:git-Spigot-8dc4297-a7287cb]
at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:623) [spigot.jar:git-Spigot-8dc4297-a7287cb]
at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:526) [spigot.jar:git-Spigot-8dc4297-a7287cb]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_05]
Caused by: java.lang.NullPointerException
at us.talabrek.ultimateskyblock.uSkyBlock.saveOrphans(uSkyBlock.java:707) ~[?:?]
at us.talabrek.ultimateskyblock.uSkyBlock.deletePlayerIsland(uSkyBlock.java:474) ~[?:?]
at us.talabrek.ultimateskyblock.DevCommand.onCommand(DevCommand.java:187) ~[?:?]
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot.jar:git-Spigot-8dc4297-a7287cb]
... 14 more

Re-enable /dev protectall

Since the worldguard integration has been a bit flaky, odds are, some islands has been created without it.

Re-enabling the /dev protectall command (and fixing it), would be beneficial for quite some servers

Correctly handle timeouts on challenges

When challenges have been completed multiple times, the "high-cost" stays there even after the timeout has occurred.

The cost isn't reset until the next delivery.

The cost should reset on timeout, not after delivery.

skylord challenge not taking

I bricked up the island in diamond blocks to well over level 1000 and am standing upon it, all other challenges having been met, but it doesn't think I've met the requirement for skylord. It also doesn't actually print what the requirement is in the box.

World Guard player problem

Ive come across a weird problem. If a player that is console OP does not have an island (and subsequent world guard reigon) my 'Spawn' reigon is being overwritten and a new reigon created for the OP player.

Regular player joins game

[22:58:23] [User Authenticator #2/INFO]: UUID of player dannyevil is 702ec65f-7018-4bee-904b-cae39f9c27fa
[22:58:23] [Server thread/INFO]: Reloading player data!
[22:58:23] [Server thread/INFO]: Creating new player config!
[22:58:23] [Server thread/INFO]: Creating player config Paths!
[22:58:23] [Server thread/INFO]: Loaded player file for dannyevil
[22:58:24] [Server thread/INFO]: dannyevil[/64.234.31.140:61860] logged in with entity id 2770 at ([world] 3.5, 63.0, 2.5)
[22:58:24] [pool-12-thread-1/INFO]: Creating empty config: D:\Games\Minecraft\Server-1.8\plugins\Essentials\userdata\702ec65f-7018-4bee-904b-cae39f9c27fa.yml
[22:58:24] [Server thread/INFO]: �[0;33;1mdannyevil joined the game.�[m
[22:58:29] [Server thread/WARN]: dannyevil moved wrongly!

Console OP joins the game

[22:59:07] [Server thread/INFO]: CONSOLE: Opped dannyevil�[m
[22:59:12] [Server thread/INFO]: dannyevil lost connection: Disconnected
[22:59:12] [Server thread/INFO]: Player data saved!
[22:59:12] [Server thread/INFO]: Removing player from memory: dannyevil
[22:59:18] [User Authenticator #3/INFO]: UUID of player dannyevil is 702ec65f-7018-4bee-904b-cae39f9c27fa
[22:59:18] [Server thread/INFO]: Reloading player data!
[22:59:18] [Server thread/INFO]: ©[uSkyBlock]&r Setting flag pvp to DENY for ALL
[22:59:18] [Server thread/INFO]: ©[uSkyBlock]&r Setting flag chest-access to DENY for ALL
[22:59:18] [Server thread/INFO]: ©[uSkyBlock]&r Setting flag use to DENY for ALL
[22:59:18] [Server thread/INFO]: ©[uSkyBlock]&r Setting flag destroy-vehicle to DENY for ALL
[22:59:18] [Server thread/INFO]: ©[uSkyBlock]&r Setting flag entity-item-frame-destroy to DENY for ALL
[22:59:18] [Server thread/INFO]: ©[uSkyBlock]&r Setting flag entity-painting-destroy to DENY for ALL
[22:59:18] [Server thread/INFO]: ©[uSkyBlock]&r Setting flag use to ALLOW for OWNERS
[22:59:18] [Server thread/INFO]: ©[uSkyBlock]&r Setting flag chest-access to ALLOW for OWNERS
[22:59:18] [Server thread/INFO]: New protected region created for dannyevil's Island by dannyevil
[22:59:18] [Server thread/INFO]: Loaded player file for dannyevil
[22:59:18] [Server thread/INFO]: dannyevil[/64.234.31.140:61912] logged in with entity id 2954 at ([skyworld] 0.7368222549480342, 176.0, 1.4036650512766893)

In WorldGuard Reigon.yml my spawn region, is replaced with a new region assigned to the OP


THIS

spawn:
    min: {x: -208.0, y: 0.0, z: -208.0}
    max: {x: 207.0, y: 255.0, z: 207.0}
    members:
        unique-ids: [59f4777f-ac09-46f8-b760-ac7d0e088767, f77cd460-4a2c-487a-9689-6af1f6357d71,
            3feaed76-3cd5-4cfb-a1c7-07875e0f261b, 4e17b760-dd3a-40d5-9547-2643e8975511]
    flags:
        enderpearl: deny
        use: deny
        invincible: allow
        snow-fall: deny
        lighter: deny
        entity-painting-destroy: deny
        entity-item-frame-destroy: deny
        deny-spawn: [CREEPER, ZOMBIE, SLIME, SKELETON, CHICKEN, SHEEP, WITCH,
            ENDERMAN, SPIDER]
        mob-spawning: allow
        farewell: '&p** You are now leaving spawn'
    owners: {}
    type: cuboid
    priority: 0

IS REPLACED WITH THIS

unwisedeadkillaisland:
    parent: __global__
    min: {x: -52.0, y: 0.0, z: -52.0}
    max: {x: 52.0, y: 255.0, z: 52.0}
    members: {}
    flags: {use: allow, greeting: §d** You are entering a protected island area. (UnwiseDeadkilla),
        destroy-vehicle: deny, chest-access: deny, entity-painting-destroy: deny,
        pvp: deny, entity-item-frame-destroy: deny, farewell: §d** You are leaving a protected island area. (UnwiseDeadkilla)}
    owners:
        players: [unwisedeadkilla]
    type: cuboid
    priority: 100

Challenge Bug/Errors

Had a player who couldn't complete the Home Owner challenge, both in the menu and via the in-game command. I checked the rewards and item ID's and everything seemed normal, but it was producing an error in the console whenever they tried to complete it.

Errors: http://pastebin.com/nPakDwTX

Challenge descriptions go off the screen

Is it possible to make the item rewards cover multiple lines as the challenges with more rewards make the box go off the screen. I'm working on shrinking the reward descriptions so its not as much of an issue but some its not possible. It only affects players playing on smaller monitors.

2014-12-09_01 04 03

ERROR on clean install of v2.0.1-R0.7

[19:46:41] [Server thread/ERROR]: Error occurred while enabling uSkyBlock v2.0.1-SNAPSHOT-8772ba (Is it up to date?)
java.lang.NullPointerException
at us.talabrek.ultimateskyblock.Settings.loadPluginConfig(Settings.java:118) ~[?:?]
at us.talabrek.ultimateskyblock.uSkyBlock.onEnable(uSkyBlock.java:152) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) ~[spigot-1.8.jar:git-Spigot-edf691c-f48410a]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:335) [spigot-1.8.jar:git-Spigot-edf691c-f48410a]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) [spigot-1.8.jar:git-Spigot-edf691c-f48410a]
at org.bukkit.craftbukkit.v1_8_R1.CraftServer.loadPlugin(CraftServer.java:352) [spigot-1.8.jar:git-Spigot-edf691c-f48410a]
at org.bukkit.craftbukkit.v1_8_R1.CraftServer.enablePlugins(CraftServer.java:313) [spigot-1.8.jar:git-Spigot-edf691c-f48410a]
at net.minecraft.server.v1_8_R1.DedicatedServer.init(DedicatedServer.java:153) [spigot-1.8.jar:git-Spigot-edf691c-f48410a]
at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:494) [spigot-1.8.jar:git-Spigot-edf691c-f48410a]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_25]
[19:46:41] [Server thread/INFO]: **** Beginning UUID conversion, this may take A LONG time ****

Support UUID

Currently, the uSkyBlock plugin doesn't correctly handle players.
Too many places rely on the username, instead of the UUID.

This should be fixed.

/island home location

On command /island home you teleport to the corner of the block at your home location.
can you add +0.5 x and +0.5 z to the coordinates set by /island sethome so that when you go back to your island you spawn on the center of the block please.

I know its only minor but reduces risk of falling off your island :)

Allow for optional challenges instead of pure rank-leeway

Current version support a general config parameter for rank-leeway, that allows players to start on the next rank, once only N challenges are missing in the previous rank.

I propose having an override on the single challenges, allowing to progress without certain challenges (optional challenges), or perhaps only one of 3 or similar

[Request] Bypass cooldowns

It would be nice for players with a set permission node say usb.mod.bypasscooldown for cool downs to be ignored and the command runs instantly

Additional flags for WorldGuard regions

It should be possible to indicate additional flags (or a parent region) for the sky-region created by the plugin.

I.e. if you want allow-pickup to be deny, or disable creeper-explosions etc.

/island create Y level

Something has changed.
The old code was such that the height set in the config was the level you stand on
The new code is having the Y coordinate as your bedrock block level

I feel that the height should be the layer where your chest is.

Remove some of the spammy-logging

Currently there is waaaay too much clutter being logged (i.e. all the permissions for worldguard etc.)

These needs to be cleared up, and probably piped to a "real" logger instead (INFO-logging).

Fix threading issues

A lot of places in the code, state that is only relevant for a single invocation reg. the player (i.e. the menus) is stored on instance variables, that are ultimately shared between players (the plugin is a singleton).

This should be fixed, so local variable is used when-ever appropriate.

[GUI] Add Help sub-menu in initial-menu

  1. Make 'Island Help' sign in the 'Island Menu' (before you have an island) on click run command /island help.
  2. Add #1 to 'Island Menu' (after you have an island)

Low Priority

/dev delete player bug

/dev delete player only removes island blocks ABOVE the starting bedrock
Llinked to #33 (blocks under bedrock not counting towards level).

Note: i checked the WG regions.yml and the region does cover 0 - 255

regions:
pickledrangeisland:
min: {x: -52.0, y: 0.0, z: 448.0}
max: {x: 52.0, y: 255.0, z: 552.0}

SkyBlocks in NETHER

Currently, we can only have one skyworld (according to the plugin and everything).

But... it would be nice to be able to link multiple worlds together, i.e. so an island would form (protected by world-guard etc.) in nether, once you build the portal on your skyblock.

I haven't quite figured out, what you would do on an island in a sea of lava, but still, suggestions are welcome.

restarting Island chunk errors

After restarting an island there are chunk errors and blocks appearing were the shouldn't be, see pic
2014-12-14_00 40 21this pic is taken after resarting twice the island

Also after about 12 to 14 blocks going outwards from the island placed blocks are invisible but reappear after going to spawn and back.
2014-12-14_00 27 31
The sky looks like when you walk on soulsand when going beyond the 12/14 blocks, (getting darker)

SkyBlock is making servers lag on player join

It seems that skyblock is causing lag when players join.

Most of the stuff going on in PlayerJoin.java should be postponed to when they actually get into the world.

Perhaps change it to a "world-entry" event or something...

Worldguard flags and issues

Since updating my server to Spigot's 1.8 build, and updating to uSkyBlock v2.0.1-R0.4 everything appeared to be working smoothly... But there seems to be some issues with WOrldGuard Regions and their flags. Right off the bat, my players couldn't access their chests or interact with any of their blocks.

After looking through the region.yml file, it seemed that every single region had global set as it's parent, and by altering/removing global I could temporarily fix their islands. But now my players chests are unlocked and open to other players on their islands visiting. I installed LWC as a precaution for now, but it can be a big problem for sure.

Not sure what other info I can help provide to fix this issue. I know the latest WG changes altered how parent/priorities work, and it added a 'use' flag as well which alters interactions with things like chests. So perhaps this could be why uSkyblock is not interacting with WG properly? Just an idea anyway. Let me know if there is any other information I can provide!

Better item-names in challenges

Currently, we just use the material name, but sometimes it isn't enough.

Proposed solution: Make a soft-dependency on WhatIsIt, and use the names when available.

I.e. which of the raw_fish do you need?
2014-12-11_20 33 08

Use WorldGuard as default

Currently, the "best" way to use the plugin, is to use WorldGuard, but it's disabled by default.

It would be much better, to simply detect WG, and use it if present, and otherwise revert to "the internal protection" system.

Or perhaps even remove the internal system completely.

Allow for larger structures in challenges

Currently, any onIsland challenge must be within 3 blocks down, 10 blocks up, 10 blocks in any horizontal direction from the player.

This is somewhat limited, i.e. if you want to have a "Railroad Tycoon" challenge, you want to be able to overload this setting on a per-challenge basis.

Note: For performance reasons, it would make sense to do the "search" from the players position and out, allowing for faster completion criteria IF the challenge is met.

Menus are missing items on v2.0.0

Re-introduce the /chestcommands items, but make them somewhat configurable from the config.yml.

Fix the items missing, due to invalid materials used (i.e. fire, water, etc.)

Error: Couldn't read your player data

[13:15:43] [User Authenticator #1/INFO]: UUID of player BrewingMinecraft is 8dd6a020-39d0-410a-ba3c-5b8ac27e9a5d
[13:15:43] [Server thread/INFO]: Reloading player data!
[13:15:43] [Server thread/INFO]: Creating new player config!
[13:15:43] [Server thread/INFO]: Creating player config Paths!
[13:15:43] [Server thread/ERROR]: Could not pass event PlayerJoinEvent to uSkyBlock v2.0.1-SNAPSHOT-7e5818
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:305) ~[spigot-1.8-R0.1-SNAPSHOT.jar:git-Spigot-8dc4297-a7287cb]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot-1.8-R0.1-SNAPSHOT.jar:git-Spigot-8dc4297-a7287cb]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot-1.8-R0.1-SNAPSHOT.jar:git-Spigot-8dc4297-a7287cb]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot-1.8-R0.1-SNAPSHOT.jar:git-Spigot-8dc4297-a7287cb]
at net.minecraft.server.v1_8_R1.PlayerList.onPlayerJoin(PlayerList.java:262) [spigot-1.8-R0.1-SNAPSHOT.jar:git-Spigot-8dc4297-a7287cb]
at net.minecraft.server.v1_8_R1.PlayerList.a(PlayerList.java:147) [spigot-1.8-R0.1-SNAPSHOT.jar:git-Spigot-8dc4297-a7287cb]
at net.minecraft.server.v1_8_R1.LoginListener.b(LoginListener.java:109) [spigot-1.8-R0.1-SNAPSHOT.jar:git-Spigot-8dc4297-a7287cb]
at net.minecraft.server.v1_8_R1.LoginListener.c(LoginListener.java:41) [spigot-1.8-R0.1-SNAPSHOT.jar:git-Spigot-8dc4297-a7287cb]
at net.minecraft.server.v1_8_R1.NetworkManager.a(NetworkManager.java:159) [spigot-1.8-R0.1-SNAPSHOT.jar:git-Spigot-8dc4297-a7287cb]
at net.minecraft.server.v1_8_R1.ServerConnection.c(ServerConnection.java:82) [spigot-1.8-R0.1-SNAPSHOT.jar:git-Spigot-8dc4297-a7287cb]
at net.minecraft.server.v1_8_R1.MinecraftServer.z(MinecraftServer.java:785) [spigot-1.8-R0.1-SNAPSHOT.jar:git-Spigot-8dc4297-a7287cb]
at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:316) [spigot-1.8-R0.1-SNAPSHOT.jar:git-Spigot-8dc4297-a7287cb]
at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:623) [spigot-1.8-R0.1-SNAPSHOT.jar:git-Spigot-8dc4297-a7287cb]
at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:526) [spigot-1.8-R0.1-SNAPSHOT.jar:git-Spigot-8dc4297-a7287cb]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_25]
Caused by: java.lang.NoSuchMethodError: com.google.common.cache.CacheBuilder.maximumSize(I)Lcom/google/common/cache/CacheBuilder;
at com.sk89q.worldguard.blacklist.Blacklist.(Blacklist.java:53) ~[?:?]
at com.sk89q.worldguard.bukkit.BukkitBlacklist.(BukkitBlacklist.java:31) ~[?:?]
at com.sk89q.worldguard.bukkit.WorldConfiguration.loadConfiguration(WorldConfiguration.java:518) ~[?:?]
at com.sk89q.worldguard.bukkit.WorldConfiguration.(WorldConfiguration.java:211) ~[?:?]
at com.sk89q.worldguard.bukkit.ConfigurationManager.get(ConfigurationManager.java:235) ~[?:?]
at com.sk89q.worldguard.bukkit.WorldGuardPlugin.getRegionManager(WorldGuardPlugin.java:1021) ~[?:?]
at us.talabrek.ultimateskyblock.WorldGuardHandler.protectIsland(WorldGuardHandler.java:34) ~[?:?]
at us.talabrek.ultimateskyblock.PlayerJoin.onPlayerJoin(PlayerJoin.java:47) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_25]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_25]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301) ~[spigot-1.8-R0.1-SNAPSHOT.jar:git-Spigot-8dc4297-a7287cb]
... 14 more
[13:15:43] [Server thread/INFO]: BrewingMinecraft[/127.0.0.1:59465] logged in with entity id 705 at ([world] -212.0, 64.0, 255.52346244675232)

sendToSpawn is ignored

When teleporting to the skyworld you spawn at X=0 Y=0 Z=0. This used to be Z=150, same level as the islands.

When jumping of the island and the setting "sendToSpawn" is set to false you should spawn in the skyworld not in the default "world".
When the setting "sendToSpawn" is set to true it should go to the default "server" spawn.

Make the menu configurable

Currently there are quite some menu entries that should be optional (i.e. donor shops etc).

These should be moved to the config.yml

This would also make it easier to control/expand the menu for items executing other commands.

Config files should update when needed

When updating my plugin from version v2.0.1-R0.6 to version v2.0.1-R0.7 the additional information was not added to the config.yml or the challenges.yml

I don't know if this is supposed to happen or not but i'm sure players aren't going to want to (and/or remember to) delete the files to let the plugin regenerate the updates only to have to change their settings again

obviously not an issue for new servers but existing ones may have issues with files not updating.
Not sure what can be done about this

NPE on /is top

[23:54:37] [Server thread/INFO]: R4zorax issued server command: /is level
[23:54:37] [Craft Scheduler Thread - 1070/INFO]: Player data saved!
[23:54:44] [Server thread/INFO]: R4zorax issued server command: /is top
[23:54:49] [Server thread/INFO]: R4zorax issued server command: /dev topten
[23:54:52] [Server thread/INFO]: R4zorax issued server command: /is top
[23:54:52] [Server thread/ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'is' in plugin uSkyBlock v2.0.0
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot.jar:git-Spigot-da32fe1-8110f51]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:181) ~[spigot.jar:git-Spigot-da32fe1-8110f51]
at org.bukkit.craftbukkit.v1_8_R1.CraftServer.dispatchCommand(CraftServer.java:643) ~[spigot.jar:git-Spigot-da32fe1-8110f51]
at net.minecraft.server.v1_8_R1.PlayerConnection.handleCommand(PlayerConnection.java:1083) [spigot.jar:git-Spigot-da32fe1-8110f51]
at net.minecraft.server.v1_8_R1.PlayerConnection.a(PlayerConnection.java:918) [spigot.jar:git-Spigot-da32fe1-8110f51]
at net.minecraft.server.v1_8_R1.PacketPlayInChat.a(PacketPlayInChat.java:26) [spigot.jar:git-Spigot-da32fe1-8110f51]
at net.minecraft.server.v1_8_R1.PacketPlayInChat.a(PacketPlayInChat.java:53) [spigot.jar:git-Spigot-da32fe1-8110f51]
at net.minecraft.server.v1_8_R1.PacketHandleTask.run(SourceFile:13) [spigot.jar:git-Spigot-da32fe1-8110f51]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.7.0]
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) [?:1.7.0]
at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.7.0]
at net.minecraft.server.v1_8_R1.MinecraftServer.z(MinecraftServer.java:686) [spigot.jar:git-Spigot-da32fe1-8110f51]
at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:316) [spigot.jar:git-Spigot-da32fe1-8110f51]
at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:627) [spigot.jar:git-Spigot-da32fe1-8110f51]
at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:530) [spigot.jar:git-Spigot-da32fe1-8110f51]
at java.lang.Thread.run(Unknown Source) [?:1.7.0]
Caused by: java.lang.NullPointerException
at us.talabrek.ultimateskyblock.uSkyBlock.displayTopTen(uSkyBlock.java:285) ~[?:?]
at us.talabrek.ultimateskyblock.IslandCommand.onCommand(IslandCommand.java:240) ~[?:?]
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot.jar:git-Spigot-da32fe1-8110f51]
... 15 more

/is restart doesn't clear challenges

I assume this is on purpose - but I want it to clear challenges as well.

The main reasoning is, when players want to reset their island, it is USUALLY because they want to start over.

That means, it shouldn't be a /dev command to reset the challenges, but rather under the players control.
I think /is restart is a good place, since we already wipe the inventory - and without an inventory wipe - reset challenges would be cheating.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.