Commit Graph

235 Commits

Author SHA1 Message Date
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
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
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
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