Commit Graph

348 Commits

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