Commit Graph

3490 Commits

Author SHA1 Message Date
Florian CUNY 62480d7249 Fixed NPE in User when doing #getTranslation(reference, ...variables)
it was due to the null value possibly returned by the LocalesManager#get(user, reference) method when nothing has been found, leading the variables replacement to cause a NPE.

User#getTranslation(reference, ...variables) now does the check and return the reference if the translation found equals null BEFORE trying to replace variables.
User#getTranslationOrNothing(reference, ...variables) works the same as before, it just checks if the returned translation is the same than the reference (therefore it returns the blank String), otherwise it sends the translation.
2018-01-03 21:41:30 +01:00
Florian CUNY f8c1dba503 Added localized message for "Creating your island" 2018-01-03 21:19:48 +01:00
Florian CUNY c28853e301 Load ResetnameCommand before SethomeCommand
just because it looks nicer in the /is help 😛
2018-01-03 21:16:25 +01:00
Florian CUNY 351dfac3cd Fixed /is create creating an island even when the player already had one 2018-01-03 21:15:30 +01:00
Florian CUNY 7acc8d5401 Minor changes in CompositeCommand
Notably improved the #isPlayer(user) condition
2018-01-03 21:15:01 +01:00
Florian CUNY b8dcc98a0c Removed useless accessibility keywords in BSBCommand interface 2018-01-03 21:14:11 +01:00
Florian CUNY 34f291b17f Minor changes in User and IslandBuilder
Mainly spacing but also optimized the User#hasPermission() condition
2018-01-03 21:06:28 +01:00
Florian CUNY c6ea8ff4c4 Made LocalesManager final (so it cannot be extended)
also added authors :)
2018-01-03 20:51:20 +01:00
Tastybento 6ef6416c5a Fixed test class to not assert on /test. 2018-01-03 08:24:50 -08:00
Tastybento 7e9a287143 Added help text top and bottom
Fixed top-level-command weirdness. / is required in getUsage().
2018-01-03 08:21:49 -08:00
Tastybento d86c763716 Fixed island multihome to match new syntax.
Renamed island multihome to start with "Custom" to make it clearer. This
class is as much an example as anything of how to override the default
help.

Renamed my author tag to be tastybento. :-)
2018-01-03 07:56:10 -08:00
Florian CUNY a0cbb451fa Fixed IslandCommand description not being a valid reference 2018-01-03 16:12:08 +01:00
Florian CUNY 44742d8946 Made use of "commands.help.syntax" for help
This is a more flexible and natural way to provide the display for the help, especially for the colors.

I had to remove the "/" from the usage though. If you think it should be there, re-add it but remove it from the locale then.
2018-01-03 16:11:45 +01:00
Florian CUNY 6536ff58cc Fixed user#getTranslation() not replacing variables 2018-01-03 16:09:54 +01:00
Tastybento 5aa3594f42 The color update!
Added colors to help text.
2018-01-02 19:36:53 -08:00
Tastybento 30fb087777 Implemented locales that include addons.
This is a first working version and can probably be improved.

Firstly, the plugin will save any BSkyBlock language files to the locale
folder from the BSkyBlock jar if and only if the locale folder does not
exist. It will then do the same for any addons as they are loaded. Addon
language files are prefixed with their addon name to keep them separate
and recongnizable.

Then the plugin loads the language files and merges common languages
together into a YAMLConfiguration that is held in memory. The combined
config is never saved out to the file system.

If a request is made for a particular reference to a language that does
not exist or if the reference does not exist, then the default language
is tried.
2018-01-01 18:32:59 -08:00
Tastybento 32794a5d3f Added comments for clarity. 2018-01-01 14:17:47 -08:00
Tastybento 037bf04836 Added methods to allow shared classes across multiple addons.
The original code did not allow addons to talk to each other in any way.
After trying loads of things with class path I studied the bukkit code
and saw that they override the findClass method in URLClassLoader. This
enables addons to find classes in other addons. All that was then needed
was a map in the AddonsManager of classes that this manager knows about
and a getter and setter method for them. After all that (3 hours) it
works.
2018-01-01 11:40:25 -08:00
Florian CUNY df5434930c Renamed SettingChangeEvent to FlagChangeEvent and removed references to SettingsFlag 2018-01-01 01:53:03 +01:00
Florian CUNY 22ad8285a5 Replaced SettingsFlag references in config-related classes 2018-01-01 01:52:32 +01:00
Florian CUNY ae0dc7c538 Implemented basic Flags API
Removed Island's SettingsFlags
Fixed Island#toggleFlag()
2018-01-01 01:41:19 +01:00
Florian CUNY 1d3c82d1c7 Minor change in PanelListenerManager to use Optional#ifPresent() 2018-01-01 01:18:43 +01:00
Tastybento bfcbd44478 Minor changes around Optional. 2017-12-31 16:12:53 -08:00
Florian CUNY 131a8affca PanelsAPI - Fixed ambiguous logic with the cancellation of the clickevent 2018-01-01 00:55:53 +01:00
Florian CUNY 5ea46aea29 Removed useless accessibility keywords in Interfaces 2018-01-01 00:43:32 +01:00
Tastybento b03d4552fd Added addons manager to BSKyBlock.class 2017-12-31 15:31:08 -08:00
Tastybento 002c54ef21 Fixed issues while implementing the warps addon. 2017-12-31 14:08:15 -08:00
Tastybento 5b6e3cec7e Fixed database bugs.
Made the code more robust by using isAssignableBy() to check super
classes.
2017-12-31 12:51:57 -08:00
Tastybento 109c0edca3 Panel additions or changes.
By working on the Warp addon I made changes to the Panel API.
2017-12-30 21:14:58 -08:00
Tastybento 06dec42029 Moved a method to use User instead of Player. 2017-12-30 17:28:25 -08:00
Tastybento 1f92c2b60e Added more around the Panel API. 2017-12-30 17:13:20 -08:00
Tastybento 1f57e1eb0b Fixed return type of getBSkyBlock() 2017-12-29 11:02:38 -08:00
Tastybento 4289a24c56 Improved the panel API.
I'm working on addons and realized it would be a better approach to be
able to register the listener for a panel explicitly for each panel.
This is optional. Also, added the ability to open the panel immediately
for a player.
2017-12-29 09:11:14 -08:00
Tastybento 452311fb69 Boom! NMS is gone! (Again) Will it come back?
Used reflection to get the command map from the server instead of using
the NMS call.

Also, more importantly, this commit enables CompositeCommands to
auto-register their top-level command in the constructor. No need to
separately obtain the command manager object. Yes, easy API. :-)
2017-12-28 20:36:04 -08:00
Tastybento 9b0992c30d Removed perm checks for console. 2017-12-28 17:20:33 -08:00
Tastybento 4d7b5374e5 Bolstered error reporting for malformed addon.yml files. 2017-12-28 17:11:49 -08:00
Tastybento 6e6165a301 Merge branch 'develop' of https://github.com/tastybento/bskyblock.git into develop 2017-12-28 11:56:55 -08:00
Tastybento a15b1b2371 Added saveResource method to AddOn save to a specific folder. 2017-12-28 11:56:45 -08:00
Florian CUNY cb2d24c779 Removed useless AddonStates and added MISSING_DEPENDENCY 2017-12-28 20:50:24 +01:00
Tastybento 92213f20c1 Addon data folder name change. 2017-12-28 11:32:57 -08:00
Tastybento d3490a6f24 Added comments to Addon. Added save config method. 2017-12-28 09:37:07 -08:00
Florian CUNY c2271ae229 Removed TeamChatEvent, CoopJoinEvent and CoopLeaveEvent
because their related features won't be implemented in BSB
2017-12-28 15:30:18 +01:00
Florian CUNY 390d58cc8b AddonsAPI & Events changes
Moved PremadeEvent to api/events
Made use of PremadeEvent for all existing events
Renamed TeamReason to Reason in TeamEvent
Made the addon events follow the used builder pattern
Renamed #loadAddons() to #enableAddons() in AddonsManager
Added #disableAddons() in AddonsManager
2017-12-28 15:29:32 +01:00
Florian CUNY 40c59f2f7e AddonsAPI - Polishing the API
Renamed all the classes
2017-12-28 14:50:02 +01:00
Florian CUNY 86ad00acab AddonsAPI - Polishing the API
Temporarily remove api/addons folder to rename files
2017-12-28 14:49:27 +01:00
Tastybento 687a71876d Completed the addons additions.
Everything seems to work okay.
2017-12-27 19:16:13 -08:00
Tastybento f80a933c34 Merge branch 'develop' into addons 2017-12-27 14:03:52 -08:00
Tastybento fcaa3514ac Fixed NPE bug when getting plugin. 2017-12-27 14:03:00 -08:00
Tastybento 4fc33cb9f7 Mid-work. 2017-12-27 13:59:27 -08:00
Tastybento b1f798ae5b Comment fix. 2017-12-27 13:52:52 -08:00
Tastybento 2825f9535e Command API and Help done.
Commands now require a setup to define their permission, player/console
status, description and any parameters they have. This is also where any
subcommands are created if they exist.

Each command automatically has a help subcommand. This is used to
display help. This will also recursively go to any other sub commands
and get help from them. 

Note that getUsage() now *only* shows the command and any sub commands.
It turns out that Bukkit requires this to start with a / because it
actually uses this in its own help system and the server will not start
if it is not in the right format. Therefore I split off parameters into
their own string. This also enables them to be translatable. 

Everything should work at this point. It's just waiting on the locale
system to work to display the strings in the locale files.
2017-12-27 12:09:08 -08:00
Florian CUNY bdbe271a83 Removed #sendSubtitle() and #sendTitle() from NMSAbstraction
because Spigot 1.12 supports it with Player :D
2017-12-26 21:10:39 +01:00
Tastybento f22065fd2c Fixed help and usage descriptions.
Known issue - the help shown when doing a parent help is not using the
child's custom help class for usage/description.
2017-12-26 11:09:00 -08:00
Tastybento 239cf50709 Switched to a getter for getPlugin() in CompositeCommand
Made internal variable protected.
2017-12-26 08:40:28 -08:00
Tastybento 97722b56d5 Switched plugin to bsb to avoid confusion with other plugins. 2017-12-24 10:35:36 -08:00
Tastybento f5464347c6 rename comments. 2017-12-24 10:27:03 -08:00
Tastybento 866ac2f776 rename - list -> args 2017-12-24 10:26:41 -08:00
Tastybento 2effa48c8f Made Test class cleaner. 2017-12-24 10:12:04 -08:00
Tastybento a198c1a44a Renamed some classes to BSB... 2017-12-24 09:51:41 -08:00
Tastybento 4f0eadeea9 Removed unused imports. 2017-12-24 09:16:27 -08:00
Florian CUNY 8144f80cfb Updated en_US with all the commands and made some minor changes to the CommandsAPI
Renamed BSBCommand to BSCommand
Renamed some commands
Put invites commands in team
Splited makeleader from promote -> setowner
2017-12-24 16:52:10 +01:00
Tastybento 5a5aff32c0 Removed unused import. 2017-12-23 22:02:15 -08:00
Tastybento 9b5a7c887c Made parent Optional in CompositeCommand to avoid null checks. 2017-12-23 21:58:32 -08:00
Tastybento 00b71c6090 Added comments. 2017-12-23 21:45:49 -08:00
Tastybento f8ac04a779 Implemented the auto command help.
The help command is a default subcommand of every command. It will
display the usage info for the command and any subcommands.
2017-12-23 21:35:10 -08:00
Tastybento eeb4e2a9ee Lots of work done on the command API.
Sub commands work, tab complete works. See the TestIslandCommand.java
test command for how to use the API and unit tests.

Still need to do the auto-help.
2017-12-23 19:14:35 -08:00
Tastybento c5262e8faa Commands API implemented. Still a WIP.
Commands work and tab complete works somewhat. 
Help still needs to be done. Added in NotSetup And PluginConfig to just
make the plugin work. It's fine to remove them when there is a working
alternative.
2017-12-22 17:26:05 -08:00
Florian CUNY bd3427fffe L10nAPI - Finished the two #get(..., reference) methods 2017-12-22 21:17:24 +01:00
Florian CUNY a3db6e9b5d AddonsAPI - Made overriden BSModule methods final, so they cannot be over-overriden 2017-12-22 13:39:00 +01:00
Florian CUNY 1c3b3a2c56 AddonsAPI - Added #getFolder() in BSModule 2017-12-22 13:37:28 +01:00
Florian CUNY 6178b768bb L10nAPI - Fixed compilation errors by...
...
- Removing NetherPortals listener
- Adding a #getTranslation(reference, ...variables) in User
2017-12-22 13:31:27 +01:00
Florian CUNY 4734f79ba1 Removed LanguagePanel - it was an example
it should be implemented as an addon
2017-12-22 13:23:04 +01:00
Florian CUNY 29dfc313fc L10nAPI - Reworking API - WIP
Removed the old localization system
Started implementation of the new one

For build reasons, removed protection listeners - they were requiring too much work to update them, and they need to be reworked due to the boilerplate code.
2017-12-22 13:22:33 +01:00
Florian CUNY 2f4136cef4 CommandsAPI - Renamed back AbstractTeamCommand to AbstractIslandTeamCommand 2017-12-22 13:20:18 +01:00
Tastybento b3e4eeebc2 Fixed main command setup.
Added comments.
2017-12-21 23:16:43 -08:00
Tastybento c2e37ad2ae Fixed permission check. 2017-12-21 23:13:22 -08:00
Tastybento f28936948a Reworked command API
Implemented a recursive composite command that can be extended with
subcommands to infinity (and beyond!).

Composite command also tries to create help text and a list of help
commands. These are not current used and need more work.

This has not been tested yet completely.
2017-12-21 23:03:39 -08:00
Tastybento 18ad604b7b Changed TeamEvent to fire off class-specific events. 2017-12-17 12:38:52 -08:00
Florian CUNY ed6899c989 CommandsAPI - command now asks if the sender is a player (option) and if it has the right permission (option)
Added some methods in User class
CommandsAPI is still WIP
2017-12-17 11:02:49 +01:00
Florian CUNY cd40405c30
Implemented User class
And also made use of it in commands
2017-12-17 10:26:25 +01:00
Tastybento 90f88b4425 Fully removed Vault
Added commands for /island.
2017-12-16 09:33:24 -08:00
Florian CUNY 4fcd6174ad Removed Vault dependency 2017-12-16 18:29:12 +01:00
Florian CUNY 8c7bfe29bf Deleted MongoDB and SQLite (will not be implemented soon) 2017-12-16 16:51:14 +01:00
Florian CUNY fe07c8ef45 No longer using Vault for perms, only economy 2017-12-16 16:07:00 +01:00
Florian CUNY 83e35523b7 Removed useless #isOnePointEight() in Util 2017-12-16 15:29:39 +01:00
Florian CUNY c9e22d5849 Refactoring configuration
Removed current config "API"
Removed a few unused or duplicate settings
Removed OfflineHistoryMessages
Removed visitor blocked commands (should be an addon)
2017-12-16 15:29:17 +01:00
Florian CUNY 1d13e964aa Renamed some commands class & removed IslandTeleportCommand 2017-12-14 20:55:31 +01:00
Tastybento a429513869 Added comment. 2017-12-14 08:36:32 -08:00
Tastybento fd8c48bbd6 Move. 2017-12-14 08:18:33 -08:00
Tastybento 461585aebd Implemented team commands. 2017-12-14 08:18:04 -08:00
Tastybento c6e885a8de Added abstract class to handle the invite map. 2017-12-13 23:31:14 -08:00
Tastybento 4b9762fb81 Added a number of Island commands.
Note that the team invite/uninvite are not linked yet.
2017-12-13 18:35:39 -08:00
Tastybento 539c48cc85 Added about command. 2017-12-13 17:27:04 -08:00
Florian CUNY ca17cd1080 AddonsAPI - Documented AddonState & added ERROR state 2017-12-12 14:42:04 +01:00
Florian CUNY 7cb978fd4c CommandsAPI - Improved #getCommand(String label) in CommandsManager 2017-12-12 14:15:15 +01:00
Florian CUNY 40b56843e7 AddonsAPI - Added #isAddon() in BSModule 2017-12-12 14:14:38 +01:00
Florian CUNY df35492de5 AddonsAPI - Added RELOADING state & #reload() method 2017-12-11 22:05:32 +01:00
Florian CUNY b8a5b0151f Made use of BSModule and CommandsManager in BSAddon and BSkyBlock main class 2017-12-11 21:55:42 +01:00
Florian CUNY 2c8a36ed54 CommandsAPI - Implemented CommandsManager to manage registering of commands by both BSB and its addons 2017-12-11 21:55:05 +01:00
Florian CUNY 7effb541ba AddonsAPI - Created interface BSModule to allow easier identification 2017-12-11 21:52:10 +01:00
Florian CUNY c38936fa04 Renamed AddonManager to AddonsManager 2017-12-11 21:51:30 +01:00
Florian CUNY d278ac317f Moved AddonManager to the managers package 2017-12-11 21:02:36 +01:00
Florian CUNY 3196b0b962 Addons API - Added AddonState 2017-12-11 21:01:49 +01:00
Florian CUNY 0d2eb51f5d Util - Added #getServerVersion() 2017-12-11 21:01:11 +01:00
Florian CUNY 756b7eaff2 Small adjustments in BSkyBlock main class 2017-12-11 20:15:48 +01:00
Florian CUNY 5c6901d71c Removed Enderchest restrictions 2017-12-11 20:14:48 +01:00
Florian CUNY f133dfe581 Added /bsadmin version - WIP
will contains data about the addons, Bskyblock and Bukkit's version, etc.
2017-12-10 21:43:05 +01:00
Florian CUNY d776f6a90b Addons API - Introducing foundations of this API. WIP 2017-12-10 21:42:04 +01:00
Florian CUNY 02c72d9506 Removed Util#sendMessage and Util#sendEnterExit
They will be replaced soon
2017-12-10 21:30:51 +01:00
Florian CUNY 71bbde1687 Commands API - Removed old API 2017-12-10 17:38:27 +01:00
Florian CUNY 2079c82795 Commands API- Made some test commands 2017-12-10 17:35:39 +01:00
Florian CUNY 65999aa550 Commands API - execution is working. WIP 2017-12-10 17:35:15 +01:00
Florian CUNY 46910dd851 Introducing the new Commands API - WIP 2017-12-10 11:46:59 +01:00
Florian CUNY 2dff568cb9 Bring back NMS 2017-12-10 09:19:20 +01:00
Tastybento 09ac5c439e Added new island create/created/reset/resetted events
Removed debug.
2017-12-09 12:27:01 -08:00
Tastybento 6d6f8954d2 Removed unused JNBT lib. 2017-12-09 12:06:34 -08:00
Tastybento 07661eed38 Fixes chest items. 2017-12-09 12:00:24 -08:00
Tastybento 01baad3eba Update to fix bugs. Still WIP. 2017-12-09 11:43:35 -08:00
Tastybento 323720598a Removed schematics. 2017-12-09 10:44:09 -08:00
Tastybento e10eb194b2 Removed deprecated methods. 2017-12-09 10:43:35 -08:00
tastybento b3da4b721a
Merge pull request #118 from EntryPointKR/master
Fix YAMLException
2017-12-08 17:43:41 -08:00
Junhyeong Lim 6d7e73d8b2 Fix IOException: Stream closed 2017-12-08 02:12:46 +09:00
Tastybento 761639b804 Removed deprecated methods from world generation. 2017-12-06 20:25:09 -08:00
Florian CUNY 1e4dd979ae Revert "New Locale system - it breaks everything"
This reverts commit 9a3c900ac5.
2017-12-03 17:34:31 +01:00
Florian CUNY 9a3c900ac5 New Locale system - it breaks everything
The locales are not being loaded
Needs a few more methods to have a convenient way of using it
Needs to be fixed
2017-12-03 17:19:22 +01:00
Tastybento b21e6dbcb0 Small change to panel builder
Enables items to be added without a slot to the end of the inventory.
Also enables slots to be queried.
2017-12-02 10:09:45 -08:00
Florian CUNY 0651d7c941 Added LanguagePanel for testing purposes 2017-11-29 16:54:56 +01:00
Florian CUNY dd40faa3b6 Implemented Panels API - still need some work, but it is functionnal 2017-11-29 16:54:24 +01:00
Tastybento 01b7b04dfc Made database classes available to add-ons. 2017-11-24 13:04:13 -08:00
Tastybento 4c1f7f24a5 Fixed bug where code was no run if debug was false. 2017-11-21 17:26:57 -08:00
Tastybento 792d1f8ec3 Fixed a lot of bugs
Changed events to be builder types.

Refactored island cache.

Fixed island deletion.

Made island distance chunk (16 blocks) based.
2017-11-20 16:05:52 -08:00
Tastybento d09889e31b Added sethome, sethome #, go # commands.
Fixed perms for other commands.
2017-10-29 17:48:18 -07:00
Tastybento 44f1e296b0 Refactored MySQL code. 2017-10-28 17:35:46 -07:00
Tastybento f6a676244e Fixed issue where empty memory sections caused nulls. 2017-10-26 19:07:59 -07:00
tastybento 19b7d24ad4 Added debug 2017-10-26 15:58:24 -07:00
tastybento 522675a823 Added safe position check to Util. 2017-10-25 18:34:18 -07:00
tastybento 0dfc32a5b9 Improved sub-command registration for add-ins. 2017-10-22 19:08:34 -07:00
tastybento ec5dacfc3a Fixed issues around storing Longs in the database. 2017-10-21 23:08:46 -07:00
tastybento 8ee876eac4 Reworked some classes to enable easier API usage. 2017-10-21 19:53:07 -07:00
tastybento 1e205ac12e Cleaned up command api a lot
Added event that fires when a command is run.
2017-10-21 11:30:22 -07:00
tastybento 7804c4a867 Enabled subcommand addition to BSkyBlock /island command.
This is a bit of a hack. The AbstractCommand class had to be pulled
apart to enable the ArgumentHandler to be imported by another plugin
without the other plugin having to extend AbstractCommand, which is
something it does not want to do because it is not defining a new
command, but just adding arguments. 

There's too much passing of arguments in this implementation, but it
works. I'll see if I can simplify it.
2017-10-09 22:52:57 -07:00
tastybento 6314f1377e Got rid of deprecated methods. 2017-08-30 16:00:00 -07:00
tastybento 3b604058da Rewrote TeamEvent to be a proper builder with final variables.
This follows the proper builder approach, where all variables are
defined in a builder with a final build at the end to make the object.
The variables in the object are final so cannot be changed afterwards.
2017-08-28 22:31:47 -07:00
tastybento 4eaa5a1f5f Added TeamEvents using the Builder pattern.
TeamEvent is used for all team events. Removed the extra classes that
are not needed anymore.

See this for a good summary on builder patterns:
http://minborgsjavapot.blogspot.com/2014/08/creating-objects-using-builder-pattern.html

Plan is to replace the island events with builder pattern too, so that
we only need one class for typical island events.
2017-08-27 21:54:01 -07:00
tastybento c565d5edf8 Added team admin commands.
Still need to add tab complete. Not completely tested so there may be
bugs.
2017-08-27 16:17:45 -07:00
tastybento fe6159e87b Fixed MySQL bug for loading individual objects.
The code was not loading the uniqueId object.

Added a lot of debug code in to help debug.
2017-08-26 18:21:42 -07:00
tastybento f109c956bb Teams functions are working now.
Added kick command.
Cleaned up command permissions and allowed/no allowed logic.
Added permissions to plugin.yml.
2017-08-26 12:36:03 -07:00
Poslovitch 339e706027 Removed expelall and teamchat from commands 2017-08-23 18:32:21 +02:00
Poslovitch 4c46e1778f Added protection for buttons 2017-08-18 18:40:48 +02:00
Poslovitch 39ddc4eef8 Removed disableOfflineRedstone (will be an addon) 2017-08-18 18:36:45 +02:00
Poslovitch b22c509f3a Removed hard coded default colors. Gonna add them in locale files instead. 2017-08-18 17:14:50 +02:00
Poslovitch 4943c89c42 Code cleanup. Made use of some Java8 features. Renamed PlayerManager#isAKnownPlayer() to PlayerManager#isKnown() 2017-08-18 16:05:35 +02:00
tastybento 55101f7ff2 Lots of changes to get teams to work.
I had a lot of problems finding a bug so I put a lot of debug in.
2017-08-12 18:51:48 -07:00
tastybento 4c69587d9a WIP: Teams - still testing and debugging, but making progress. 2017-08-12 09:08:09 -07:00
Poslovitch 25d2702632 /is help now basically works... But it needs a full redesign 2017-08-09 15:21:22 +02:00
Poslovitch 8c866abdf0 Fixed NPE with last commit 2017-08-09 15:20:48 +02:00
Poslovitch aa8fced2b3 Continued cleanup in IslandCommand
Reindentation, better canUse for most of the commands, temporarly set to
false unfinished commands
2017-08-09 14:05:08 +02:00
tastybento e5cfce4c17 This should work... 2017-08-08 23:10:04 -07:00
tastybento 71d82c9bd5 Merge remote-tracking branch 'origin/develop' into develop
Conflicts:
	locales/bsb_en_US.yml
2017-08-08 20:51:07 -07:00
tastybento 389b9f52f4 Added make leader (WIP) 2017-08-08 20:49:06 -07:00
Poslovitch bfefea7f6a Implemented basic help. It NEEDS improvements. 2017-08-08 17:13:36 +02:00
Poslovitch 95c80a89f8 Made some changes and fixes to commands
ArgumentHandler#tabComplete(CommandSender, String[]) now returns a
Set<String>
Removed some redundant code
2017-08-06 23:01:01 +02:00
tastybento 5d43a500a4 Completed island leave command.
Fixed bugs with teams.
2017-08-05 20:13:06 -07:00
tastybento 2c2cd774d3 Added team invite command. 2017-08-05 16:09:58 -07:00
tastybento c5d0a09a76 Fixed tabComplete showing messages
Changed the response for canUse to return an error code because the
error could be different depending on the reason. For tabComplete no
error is shown, but for commands, the error can be shown.

Implemented the invite and uninvite commands and filled in the team
command.
2017-08-05 12:45:10 -07:00
tastybento f515623e26 Implemented command arguments and tabcomplete changes
Args no longer include the sub-command, just the args after the sub
command.

Improved tab complete so that it completes half-written commands

Fixed deprecation issue with visitor guard.
2017-08-05 10:23:45 -07:00
Poslovitch 0c1b5f7197 Tiny adjustements to commands 2017-08-01 14:20:52 +02:00
Poslovitch bbd959f186 Tiny debug change in locales 2017-07-31 11:05:14 +02:00
Poslovitch 614e5d3d5b Commands are now working (still need some work) 2017-07-31 10:58:28 +02:00
tastybento a8606a2b00 Added common variables to AbstractCommand for player, team 2017-07-30 17:44:22 -07:00
tastybento 47d93c8660 WIP - team commands being added.
Commands in general do not work right now.
2017-07-30 17:26:18 -07:00
Poslovitch 6ca5affbf6 Tiny fix to avoid Travis compilation errors 2017-07-30 23:50:15 +02:00
Poslovitch bf90cb7f31 Now it's the correct refactoring 2017-07-30 19:59:56 +02:00
Poslovitch 158c7b3465 Started a refactoring for the commands 2017-07-30 19:57:49 +02:00
Poslovitch 00feaa4740 Added KEEP_INVENTORY flag
Related to https://github.com/tastybento/bskyblock/issues/77

Also made some tiny adjustements, and tidied imports up.
2017-07-25 00:20:33 +02:00
tastybento 85bf5814cc Simplified SettingsFlags. 2017-07-16 14:29:41 -07:00
tastybento a1e4a7b635 Merge remote-tracking branch 'origin/master' into develop
Conflicts:
	src/main/java/us/tastybento/bskyblock/database/objects/Island.java
2017-07-15 19:44:07 -07:00
Florian CUNY 8cb0267e3c Added PUSHING and ghast related flags
Ghast flags are related to https://github.com/tastybento/ASkyBlock-Bugs-N-Features/issues/338
2017-07-15 08:28:44 +02:00
Florian CUNY 871f6bd4ec Added more settings flags (mostly splited existing one) 2017-07-14 10:11:43 +02:00
tastybento bdf8ecdce4 Protection, database and license (#3)
* Added more database functions.

Added ability to check if a uniqueId exists without creating it - used
to check if a player is known or not.
Added join/quit listener.

* Hooked in grid database to track where islands are.

Added Nether events and portal function.
Added default /island command operation.

* Added protection for islands.

* Updated license to BSD license.

* Removed unused imports.

Added configs.

* Added more protection listeners.

Flying mobs, visitor protection
2017-07-14 08:03:14 +02:00
tastybento 1635eee285 Added more protection listeners.
Flying mobs, visitor protection
2017-07-07 17:42:19 -07:00
tastybento 87ab500706 Removed unused imports.
Added configs.
2017-07-07 17:12:14 -07:00
tastybento 92ceaff1d2 Updated license to BSD license. 2017-07-07 14:33:00 -07:00
tastybento cce5828ac0 Added protection for islands. 2017-07-06 22:00:21 -07:00
tastybento f31dcb5ce1 Hooked in grid database to track where islands are.
Added Nether events and portal function.
Added default /island command operation.
2017-07-06 16:51:40 -07:00
tastybento 3a6a1eae6d Added more database functions.
Added ability to check if a uniqueId exists without creating it - used
to check if a player is known or not.
Added join/quit listener.
2017-07-06 10:21:38 -07:00
tastybento 0f66b92af5 Tested locale system and confirmed working.
Made a few minor tweaks and added debug.
2017-07-06 08:31:10 -07:00
tastybento f03b5f5246 Merge remote-tracking branch 'origin/master' 2017-07-05 08:41:21 -07:00
tastybento dee635f15f Added protection around null owners. 2017-07-05 08:41:12 -07:00
tastybento 59e92034ba BSD License for this library. 2017-07-03 13:55:33 -07:00
Poslovitch ee133156f4 Tiny fix to help Travis to compile 2017-06-21 17:18:02 +02:00
Poslovitch 59a6397536 Events 2017-06-21 17:08:15 +02:00
tastybento 3d74c4a427 Added object deletion to the database.
This is required when islands are reset or players deleted, for example.
The deletion is done based on the uniqueId of the object. Tested and
working for flat file and MySQL.

To make an island do /is create. To reset do /is reset.
2017-06-17 18:46:16 -07:00
tastybento 4609d86ff0 Got Players database working.
Note you need to be Op to create islands right now.
2017-06-12 08:04:26 -07:00
tastybento 12792f388e Implemented a locale system using resource bundles.
This approach avoids having to have a huge class with default text in
it. The ResourceBundle loaded YamlResourceBundle does the conversion
from YAML.
2017-06-11 16:30:34 -07:00
tastybento c95f149901 Added "library-1.12.jar" to see if it helps Travis compile. 2017-06-10 20:48:32 -07:00
tastybento f8032bfde5 Added the /island go command so you can teleport home
Added some more goodies in the default chest. It's now a minimal
SkyBlock!
2017-06-10 16:40:43 -07:00
tastybento dcda604e6c Added schematic loading and pasting.
Player can create an island using /island create
Only the default island is supported right now. No GUI.
Uses NMS to paste. Only supported on 1.12.
2017-06-10 16:08:21 -07:00
tastybento 2a9ddd6579 Added world generators for overworld, nether and end. 2017-06-10 14:03:41 -07:00
tastybento bcb13e2b6d Added comments to make things clearer 2017-06-10 11:54:32 -07:00
tastybento c44e432aa3 Renamed some of the database methods. 2017-06-10 11:37:04 -07:00
tastybento c1c00648d9 MySQL and Flatfile databases now store and retrieve objects. 2017-06-10 10:59:53 -07:00
tastybento a541ea3e25 MySQL is now working for saving and loading islands.
Next step is to fix flat file enum storage.
2017-06-10 08:23:12 -07:00
tastybento 6f842a9b29 Work In Progress (WIP)
Added more to the MySQL database reading. Does not work yet for
collections.
2017-06-04 18:35:38 -07:00
Poslovitch 9f0a05773e Did some cleanup 2017-06-02 23:28:29 +02:00
Poslovitch a419a66939 Prepared possible MongoDB implementation 2017-06-02 23:28:00 +02:00
Poslovitch 465d85f358 Fixed Placeholders (forgot to add the replacer in Util#sendMessage() ) 2017-05-31 17:13:15 +02:00
Poslovitch 0980ab8358 Made help argument optionable (to support the NotSetup) 2017-05-31 17:06:10 +02:00
Florian CUNY bafff8cdee Rename MySqlDatabaseConnecter.java to MySQLDatabaseConnecter.java 2017-05-31 16:33:48 +02:00
Poslovitch 77b3653547 Restructured database 2017-05-31 16:32:36 +02:00
tastybento aa93c11080 Added MySQL insert code. POJO's can be saved now.
Next job is to write the select code so POJO's can be read.

POJO = Plain Old Java Object.
2017-05-29 19:02:43 -07:00
tastybento 3cff4277b3 Added some serialization to the read/write to MySQL tables.
Still a WIP. Needs to have the collections added and needs to be tested.
2017-05-27 16:55:53 -07:00
tastybento 6be730f747 MySQL database will now store Collections in additional tables. 2017-05-27 16:38:32 -07:00
tastybento c6d41ba1ee Made MySQL work. Tested. Still needs to implement collections. 2017-05-26 08:15:53 -07:00
tastybento 19865969d2 Added a lot of MySQL stuff. WIP, not tested at all. Beware test conde on
onEnable().
2017-05-25 22:54:04 -07:00
tastybento b5430c0aab Merge remote-tracking branch 'origin/database'
Conflicts:
	src/main/java/us/tastybento/bskyblock/BSkyBlock.java
2017-05-25 08:26:40 -07:00
tastybento ee80f616ff Merge branch 'database' of https://github.com/tastybento/bskyblock.git
into database

Conflicts:
	src/main/java/us/tastybento/bskyblock/database/objects/Island.java
2017-05-24 23:11:14 -07:00
tastybento fb7768e964 Database done, compiles, runs without bugs so far.
This implements flat file database. MySQL is still to do. IslandManager
now uses this. PlayerManager is still to convert.
2017-05-24 23:09:09 -07:00
Poslovitch 6092217b46 Added basic Placeholders support 2017-05-24 22:23:20 +02:00
Poslovitch a69e053229 Started configuration loading and errors; changes to locales
Worked on PluginConfig.loadPluginConfig(). Changed the NotSetup
processing : when loading config, it will store errors and if there are,
it will run the plugin as "NotSetup" and send to users what is wrong and
why. Major parts are still remaining as it is a "preview" of an
unfinished and "waiting-for-improvements" work.
2017-05-24 17:10:49 +02:00
Florian CUNY e00b925447 Changed checkVersion() to getNMSHandler() & fixed it 2017-05-24 11:48:32 +02:00
Florian CUNY a9e3b064a6 Added DYEING protection flag : toggle sheep dyeing 2017-05-24 11:31:41 +02:00
tastybento 20d74e19c9 Added a concept of UUID to the class that is to be saved.
If the class to be saved does not define its own uuid, then one will be
generated at random by the database manager. For flat file databases,
the UUID is used for filenames. For other databases, it's an index
record. If the class defines a UUID then the same record will be
replaced again and again. i.e., it's like a config file.
2017-05-23 22:41:05 -07:00
Florian C 38ea97718a Removed "breedingLimit" setting 2017-05-23 16:29:09 +02:00
tastybento aa170f8563 WIP: Island class - saving to flat file.
This works but not all the data types in the class are serialized
correctly yet. To enable true generic type saving will take more work.
2017-05-21 21:37:10 -07:00
tastybento 960993108d Flat file database is now writing and reading correctly with various
data types.
2017-05-21 18:18:02 -07:00
tastybento 9ef9d931af Merge remote-tracking branch 'origin/master' into database 2017-05-21 16:53:48 -07:00
tastybento edc5c9c642 Database additions 2017-05-21 16:53:17 -07:00
Poslovitch c50fabe827 Split Level from core plugin 2017-05-21 10:28:22 +02:00
Poslovitch 251c2e92f2 Fixed conflicts. Removed "y" variable in Island as it is useless. 2017-05-21 10:20:07 +02:00
Poslovitch 6d0611f717 Added config.yml and Settings variables
This build won't run because of conflicts between the latest commit and
mine. I will fix it later.
2017-05-21 10:08:27 +02:00
tastybento 521e4b8b83 Changed checkPerm to hasPerm.
Cleaned up imports.
2017-05-21 00:17:20 -07:00
tastybento ed114a4333 Merge remote-tracking branch 'origin/master'
Conflicts:
	src/main/java/us/tastybento/bskyblock/database/ASBDatabase.java
	src/main/java/us/tastybento/bskyblock/database/IslandsManager.java
	src/main/java/us/tastybento/bskyblock/database/PlayersManager.java
	src/main/java/us/tastybento/bskyblock/database/flatfile/FlatFileDatabase.java
	src/main/java/us/tastybento/bskyblock/database/mysql/MySQLDatabase.java
	src/main/java/us/tastybento/bskyblock/database/sqlite/SQLiteDatabase.java
2017-05-21 00:08:38 -07:00
tastybento 679b511178 Added methods to PlayerManager and IslandManager. 2017-05-20 23:53:03 -07:00
Poslovitch ba9a59df16 Changed ASBCommand to BSBCommand 2017-05-21 08:06:26 +02:00
Poslovitch 3e381ec1f6 Changed ASB classes prefix to BSB 2017-05-21 08:03:17 +02:00
tastybento c74b6720e9 Renamed Player to APlayer to avoid conflict with bukkit Player class. 2017-05-20 14:57:36 -07:00
tastybento 4be12da452 Changed everything to BSkyBlock 2017-05-20 14:52:52 -07:00
tastybento 712d2a179f Mavenized
Renamed to be BSkyBlock
2017-05-20 14:30:12 -07:00
tastybento 7500c7ad19 Initial commit from @Poslovitch 2017-05-20 14:09:53 -07:00