Tastybento
f98c5527bc
Improved accuracy of location - string conversion.
2018-04-18 10:47:20 -07:00
Tastybento
2e1c055cd7
Made BSBDatabase much easier to use for addons
...
Now obtaining the database handler is easy and understandable.
2018-04-15 17:30:42 -07:00
Tastybento
a5cc4c20ea
Updates due to Challenges development.
2018-04-08 19:54:37 -07:00
Tastybento
a95e869cc9
Now reads addon.yml as a YAML file
...
Also imports level 1 permissions, i.e., does not handle children.
2018-04-05 18:56:48 -07:00
Tastybento
0a9e9c2916
Removed stack print and added a test.
2018-04-04 19:25:13 -07:00
Tastybento
c49e2b07d3
Fixed issues with panels not scaling in size correctly.
2018-04-02 18:20:54 -07:00
Tastybento
e09cb30cb5
Made head getting async for panels.
2018-03-31 18:34:49 -07:00
Tastybento
f0d3a9ab5f
Added in requirement for BsbMongo Plugin
...
BSkyBlock will disable itself gracefully if this plugin does not exist
but the database is sent to MONGO.
Finishes up https://github.com/tastybento/bskyblock/issues/155
2018-03-31 15:33:48 -07:00
Tastybento
a19b8bf836
Fixes issue with saving documents.
...
MongoDB seems to work now.
2018-03-31 15:17:58 -07:00
Tastybento
db58e29ffb
Removed MongoDb shading.
...
Mongo users will need the BsbMongo plugin.
2018-03-31 09:24:00 -07:00
Tastybento
4100edd279
Adds support for MongoDB.
...
Needs more testing, but seems to work. The main problem is that it pulls
in the MongoDB Java driver which boosts the size of the JAR to 2.3MB. It
may be better to put the Mongo driver into an addon so that only Mongo
users have to have the larger JAR.
2018-03-18 21:54:24 -07:00
Tastybento
17ecb1c0d4
Tweaks to improve code.
2018-03-17 09:24:17 -07:00
Florian CUNY
b662080ffa
Changed the question mark head to an MHF_
2018-03-17 11:40:30 +01:00
Tastybento
3bdf029b1d
Added test for safe teleport.
2018-03-11 17:21:15 -07:00
Tastybento
b20fbd55a4
Cleaned up imports and unneeded exceptions
2018-03-11 15:59:03 -07:00
tastybento
8e97186caf
Fixed merge conflicts.
2018-03-12 05:11:02 +09:00
tastybento
eb4e086482
Renamed variable. Removed logger.
2018-03-12 04:41:45 +09:00
tastybento
c10f413173
Added PotionEffectTypeAdapter for GSON
2018-03-12 04:09:05 +09:00
tastybento
cf792779f9
Now using JSON-based data for MySQL
...
Large number of changes to improve database functions.
2018-03-12 04:08:19 +09:00
tastybento
6626a9a4b0
Merge branch 'develop' into jsondb
2018-03-10 16:08:17 +09:00
Florian CUNY
e1f3da9449
Minor changes to existing Flags
...
Splited TRAPDOOR from DOOR
Splited HURT_VILLAGERS from HURT_ANIMALS
Renamed HURT_MOBS to HURT_ANIMALS
Renamed MOB_SPAWN to ANIMAL_SPAWN
Made FIRE_SPREAD a SETTING type Flag
Fixed MobSpawnListener with mishandling of ANIMAL/MONSTER spawn
2018-03-02 15:37:01 +01:00
Florian CUNY
f511e54429
Unit testing is working greatly, fixed CompositeCommand
2018-03-01 15:12:31 +01:00
Florian CUNY
97b9543f15
Fixed some code smells
2018-03-01 14:57:35 +01:00
Florian CUNY
e4cedb58d0
Removed useless constructor in CompositeCommand + updated unit tests
2018-03-01 14:43:33 +01:00
Florian CUNY
6ba27eef4e
Moved User to its own package + added Notifier to avoid massive "Island protected" spam
2018-03-01 14:25:09 +01:00
Florian CUNY
1a233e3e83
Added test for glow() in PanelItemBuilder
2018-03-01 11:14:58 +01:00
Florian CUNY
4a86784535
Fixes bug with nextSlot() not taking care of size if it was set
2018-03-01 11:05:19 +01:00
Florian CUNY
c60f92b7b3
MAJOR changes to Panel API
...
All methods in PanelBuilder follow the Builder pattern (no more "set...")
nextSlot() now returns the first unoccupied slot
2018-03-01 11:02:11 +01:00
Tastybento
fcede01a11
WIP using JSON and GSON for database.
...
Causes stack overflow right now. In the middle of debugging, but I need
this in github so I can grab it elsewhere.
2018-02-28 08:38:56 -08:00
Florian CUNY
f648c936ad
Continued working on the SettingsPanel. Did minor fixes in PanelItemBuilder
2018-02-26 20:18:09 +01:00
Florian CUNY
c6c7e0b4ee
Removed FlagsManager#getFlagByIcon() as it is useless
2018-02-26 10:07:25 +01:00
Tastybento
e598fa7c93
Cleaned up a vunerability and some code smells.
2018-02-25 23:05:21 -08:00
Tastybento
bdca10636e
Added Config comment capability.
...
See the challenges addon for examples.
2018-02-25 22:44:22 -08:00
Tastybento
1315dd990c
user or listener can be null, so need to us ofNullable.
2018-02-25 20:46:13 -08:00
Tastybento
9db2602f78
Added FlagsManagerTest class to test the flags manager.
...
Added some code to the Flag, Flags and FlagManager classes to enable
passing the tests.
Realized that some flags had duplicate icons. This means that the
getFlagByIcon() method doesn't work because there could be more than
one. If we want to allow duplicate icons then we need to change the
manager. Also, do we need to getFlagByIcon method?
2018-02-25 19:48:01 -08:00
Tastybento
97491b1d89
Removed unused imports
2018-02-25 18:21:42 -08:00
Tastybento
7fa038bfce
Merge branch 'develop' of https://github.com/tastybento/bskyblock.git into develop
2018-02-25 18:20:01 -08:00
Tastybento
00121e7e37
Added a specific config class to store objects as YAML
2018-02-25 18:19:52 -08:00
Florian CUNY
a885247c85
Implemented basic SettingsPanel + MAJOR changes in Panel/Flag API
...
It currently just displays a panel with all the flags in it. And throws exception when clicking on an item :P
Flag no longer have a PanelItem but Material instead as the icon.
Added a toPanelItem() method in Flag
Made the Panel(Builder) not using the Optional as fields anymore
2018-02-25 17:09:46 +01:00
Florian CUNY
6edc9555ad
Renamed FlagType -> Flag and Flag -> Flags
...
Don't know when nor why it has been changed. Flag means the object, the flag itself, while Flags means the list of pre-defined Flag(s).
2018-02-25 16:01:30 +01:00
Tastybento
b043e641a1
Added equals to User class
...
Added null check for FlatFileDB Handler.
2018-02-24 21:29:51 -08:00
Tastybento
5a3a557cf2
Made improvements while writing challenges addon
...
Improved enum error handling in flat file.
2018-02-24 11:28:21 -08:00
Tastybento
84f10d6790
Removed debug.
2018-02-20 14:16:40 -08:00
Tastybento
a3200265d4
Including missing firelistener test.
2018-02-20 14:06:29 -08:00
Tastybento
b25d17fa78
Renamed flags to Flag because it was confusing.
...
Had to rename the class to FlagType as a result.
Rewrote FireListener to be simpler.
Wrote test case for fire listener.
2018-02-20 14:06:09 -08:00
Tastybento
57cb919ebf
Cleaned up code for FlatFileDatabaseHandler
2018-02-19 22:45:53 -08:00
Tastybento
6c4a7d6f97
Added test case for MobSpawnListener
...
Rewrote MobSpawnListener to be testable and to improve the code.
2018-02-19 22:32:00 -08:00
Tastybento
81e8d7da67
Added Pair junit test
2018-02-19 20:10:39 -08:00
Tastybento
44ed33bb26
Tweaks due to work on Challenges addon.
...
Enabled the overall panel listener to work.
2018-02-19 19:49:21 -08:00
Tastybento
023a68546c
Changes made due to addon development.
...
Added a method to easily get named addons from other addons.
Fixed bugs with addonclassloader.
Added ignores to some unavoidable line items
Added auto-cancel to panels so that items cannot be taken from them by
default.
2018-02-19 13:05:36 -08:00
Tastybento
49764c151d
Reverted f3d7bf2af3
...
It breaks the addon class loading and using lamda functions doesn't end
up being neater because it must be able to throw a
ClassNotFoundExcepetion to the Bukkit code.
2018-02-19 12:05:59 -08:00
Tastybento
25b4f674bb
Fixes infinite error with commit f14676f
.
...
The lambdas were missing the input argument to the execute method so
were calling the parent's execute method.
2018-02-19 11:01:48 -08:00
Tastybento
382f195015
Added tests to PanelItemBuilder and fixed bugs.
...
Cleared up the description settings methods. Using these will add to the
description of the item.
Temporarily removed JavaDoc and Source jar creation from the POM to save
time when compiling. Will put it back when we need it.
Also, I worked out how to run the Bukkit server setup for tests. See the
setUp method in the tests. This works (at last).
2018-02-19 09:57:19 -08:00
Tastybento
7f0d71e25c
Added support for player heads in PanelItemBuilder API
2018-02-19 07:55:57 -08:00
Florian CUNY
f14676f5c6
Minor code quality fixes in IslandCommand
2018-02-18 11:32:25 +01:00
Florian CUNY
43367300a4
Started working on the Settings Panel
2018-02-18 11:31:49 +01:00
Tastybento
f64dc0aaea
Javadoc cleanup.
2018-02-17 17:01:25 -08:00
Tastybento
ca13f23918
Back ported SafeSpotTeleport from the ASkyBlock effort
2018-02-17 14:54:58 -08:00
Tastybento
9715811303
Removed @throws javadoc tag as it is not needed.
2018-02-17 14:54:36 -08:00
Tastybento
80c2f4178d
Improved CommandsManager to use CompositeCommand
...
This removes the requirement for addons to cast to CompositeCommand when
getting commands from the CommandsManager.
Removed unused imports.
2018-02-14 22:38:43 -08:00
Florian CUNY
4aaf559704
Fixed some code smells
2018-02-13 21:38:19 +01:00
Florian CUNY
0b6da56e82
Fixed some code smells in FlatFileDatabaseHandler
...
These code smells were fixed according to sonarcloud analytics
2018-02-13 17:49:35 +01:00
Tastybento
effefae377
Updated readme
...
Removed unnecessary ; from RanksManager
2018-02-11 20:39:08 -08:00
Tastybento
5ac66edb6a
Fixed teams.
...
Added test cases for RanksManager.
2018-02-11 20:26:09 -08:00
Tastybento
54dd9e87d4
Reduced the complexity of these commands.
...
By splitting up the methods, it makes it easier to understand and spot
bugs.
2018-02-11 15:22:03 -08:00
Tastybento
9f43f1e6fa
Removed unneeded method.
2018-02-11 14:13:21 -08:00
Tastybento
f1ace6b242
Fixed bug with saving MySQL database table.
...
Issue was that the uniqueId was not being saved and the map table was
pointing to the wrong ?'s.
2018-02-11 12:26:25 -08:00
Tastybento
52b3f184db
Fixed bug when creating new islands when there are islands in the world.
...
If there are unowned and unknown islands in the island spaces then
duplicate islands were being made when the search was done for new
islands.
2018-02-11 11:39:07 -08:00
Tastybento
c58fc0d07a
Removed debug.
2018-02-11 11:24:51 -08:00
Tastybento
c07b649488
Completed nether portals
...
Also fixed some issues around admin commands and the teleport admin
commands in particular.
2018-02-11 11:12:56 -08:00
Tastybento
b9c262fd5c
Fixed portals. Still has debug in it.
...
Need to add nether->overworld portal
2018-02-11 09:28:52 -08:00
Tastybento
5161de62db
WIP adding Nether Portals
2018-02-11 08:18:50 -08:00
Tastybento
4b66811fb0
Removed debug
2018-02-10 14:50:52 -08:00
Tastybento
487328950b
Fixed bug where new /island was doing /go as well.
2018-02-10 14:48:58 -08:00
Tastybento
921d25c2d5
Added private constructor because all methods are static.
2018-02-10 14:39:57 -08:00
Tastybento
d32a6f8ff1
Made code easier to understand
2018-02-10 14:32:13 -08:00
Tastybento
2b286ca58a
Removed debug, cleaned up code
2018-02-10 14:10:25 -08:00
Tastybento
11c1ffc790
Removed unnecessary (int)
2018-02-10 14:06:20 -08:00
Tastybento
a9ea8e830d
Code smells cleanup
...
Extract nested try block into a separate method.
2018-02-10 14:05:05 -08:00
Tastybento
180517cef3
Code smells cleanup
2018-02-10 14:00:40 -08:00
Tastybento
c76c854ed3
Code smells cleanup
...
Removed unnecessary cast in Island.
Combined if statement
Removed unnecessary {}
2018-02-10 13:56:44 -08:00
Tastybento
84e3ae3e8b
Removed imports
...
Fixed vulnerability issue with Pair
Fixed database connection issue with MySQLDatabaseHandler
2018-02-10 13:51:11 -08:00
Tastybento
65d34f5842
Reverted change of coords to long because not needed.
...
Mincreaft max coords are +/- 30 million.
2018-02-10 13:19:54 -08:00
Tastybento
ed65aa421d
Rewrote SafeSpotTeleport
...
Moved coords to longs instead of ints for island locations
Created a SafeTeleportBuilder class
Created a utility Pair class
2018-02-10 13:09:32 -08:00
Florian CUNY
4bd02a59ef
Added description to /bsb (reload and version) + added some aliases
2018-02-10 17:03:57 +01:00
Florian CUNY
b04602302b
Internal Placeholders are now working
...
It works, but it is more like a DIY patch thing. It has a few problems with the current implementation :
1. It doesn't suit our "code style" : it uses an Handler instead of a Manager, eg.
2. It is a bit laggy (I've got the feeling that it could be improved)
3. It doesn't hook to other Placeholder APIs for now
And a few other things.
I think this is more like a Proof of Concept : it will have to be improved in the next weeks.
2018-02-10 13:54:27 +01:00
Florian CUNY
65245a99f5
Fixes bug where the help could be seen even though not having the perms
2018-02-10 11:00:19 +01:00
tastybento
f8da3fbc61
Fixed bugs with MySQLDatabaseHandler
...
Code clean up, fixed bugs. Added automated tests.
2018-02-09 17:06:32 -08:00
Tastybento
aae4c6d0b2
Rewrote safe teleport.
...
Needs testing.
2018-02-08 23:47:11 -08:00
Tastybento
f3d7bf2af3
Refactored code to make it better to maintain and read.
2018-02-08 21:17:16 -08:00
Tastybento
80f0a78f08
Removed stack trace as exception already logged.
2018-02-08 20:12:23 -08:00
Tastybento
c916bbf827
Automated code cleanup.
...
Removes spaces, adds {} to if statements, etc.
2018-02-08 20:08:46 -08:00
Tastybento
98b49ea37a
Fixed bug where if statement had a ; in it
2018-02-08 20:06:00 -08:00
Tastybento
5314f3618a
Removed unused imports.
2018-02-07 21:33:55 -08:00
Tastybento
b253ff5c64
Code cleanup.
2018-02-07 21:33:36 -08:00
Tastybento
fc8876cf80
Fixed return values to match pass/fail.
2018-02-07 21:13:32 -08:00
Tastybento
2be005acb1
Removed vulnerabilities
...
Mainly leftover raw stacktrace prints in exceptions instead of propper
logging statements.
2018-02-07 21:11:23 -08:00
Tastybento
b833b17d22
Helped secure the prepared statement
2018-02-07 20:43:13 -08:00
Tastybento
41dd491f05
Code cleanup.
2018-02-07 19:44:10 -08:00
Tastybento
1d5086531d
Removed performance hit of logging
...
Since Java 8, we can use Supplier for logger, which will be evaluated
lazily.
In general, the debug stuff should be removed when we have more
stability.
2018-02-07 19:39:00 -08:00
Tastybento
29d09922b9
Switched to use Files.delete
...
When File.delete fails, this boolean method simply returns false with no
indication of the cause. On the other hand, when Files.delete fails,
this void method returns one of a series of exception types to better
indicate the cause of the failure. More information is generally better
in a debugging situation, so I'll use this option.
2018-02-07 19:33:59 -08:00
Tastybento
08b2e2579b
Reverted to using an explicit throw of all exceptions
2018-02-07 19:28:29 -08:00
Tastybento
e4fbc6fab1
Simplified code, no need for internal variable.
2018-02-07 19:16:05 -08:00
Tastybento
3f35afc76a
Close is handled automatically.
2018-02-07 19:13:40 -08:00
Tastybento
7e7b259531
Converted Map to EnumMap
...
When all the keys of a Map are values from the same enum, the Map can be
replaced with an EnumMap, which can be much more efficient than other
sets because the underlying data structure is a simple array.
2018-02-07 19:12:23 -08:00
Florian CUNY
7b55ca70b2
Fixed some Flags and added a security check in FlagsManager
...
...to avoid duplicates of Listeners
2018-02-07 13:41:37 +01:00
Florian CUNY
f33fa2477a
Use .equals() in #isBanned(UUID) in Island
2018-02-07 13:33:37 +01:00
Florian CUNY
12cac6b3aa
Minor adjustments to ranks-related methods in Island
2018-02-07 13:29:19 +01:00
Florian CUNY
293ab2ccf9
Added default values to Settings
2018-02-07 13:16:09 +01:00
Tastybento
e5a87ccf7a
Code cleanup and bug fixing.
...
This just cleans up a lot of code that could cause confusion or was
actually wrong.
2018-02-06 23:04:09 -08:00
Tastybento
1db21c10da
Fixed bug with help that I introduced.
...
Added specific convenience showHelp() method to Composite command.
2018-02-06 22:45:21 -08:00
Tastybento
61f0a6f997
Made homeTeleport void because it does not return anything useful
2018-02-06 22:02:14 -08:00
Tastybento
ad50b04177
Removed unneeded method.
2018-02-06 21:59:15 -08:00
Tastybento
eefcd48c7c
Fixed return values for execute.
2018-02-06 21:57:45 -08:00
Tastybento
af5c7e472e
Fixed execute return values.
2018-02-06 21:48:59 -08:00
Tastybento
a9373a3eea
Fixed return values - false = error
2018-02-06 21:46:59 -08:00
Tastybento
00470b1fc8
Return false if error.
2018-02-06 21:45:10 -08:00
Tastybento
3e2d2ec2d6
Return false if unsuccessful due to no island.
2018-02-06 21:44:40 -08:00
Tastybento
219d1e66ab
Fixed brackets.
2018-02-06 21:43:31 -08:00
Tastybento
f4c7a3fe45
Made command return false if unsuccessful.
2018-02-06 21:40:29 -08:00
Tastybento
81b0543f25
Added missing break statement to switch.
2018-02-06 21:34:48 -08:00
Tastybento
574febb327
Added missing break statement in switch.
2018-02-06 21:34:20 -08:00
Tastybento
2e89a2654f
Added more try-with-resource to auto-close prepared statement
2018-02-06 21:33:05 -08:00
Tastybento
fdc7a62990
Fixed issue where Optional was not being explicitly checked before get.
2018-02-06 21:31:59 -08:00
Tastybento
2d64070d3f
Avoided setting static variable in non-static method.
2018-02-06 21:31:19 -08:00
Tastybento
5a5ae2d077
Used Java standard ordering of words
2018-02-06 21:30:56 -08:00
Tastybento
ed622dc9c0
Fixed switch break bug.
2018-02-06 21:30:35 -08:00
tastybento
bb404380f5
Replaced raw stack trace dumps with helpful error messages.
2018-02-06 16:37:34 -08:00
tastybento
aac17990bc
Made description private.
2018-02-06 16:09:49 -08:00
tastybento
8b7d92d8e6
Added better error message for exception when loading addons.
2018-02-06 16:06:04 -08:00
tastybento
04a4394752
Make addon non-public and provide getter to address minor vulnerability.
2018-02-06 16:04:22 -08:00
tastybento
7e2f8052da
Improved exception handling error messages.
2018-02-06 15:59:42 -08:00
tastybento
1e920825ef
Added context to raw stack trace dump after exception.
2018-02-06 15:55:31 -08:00
tastybento
672d43fb67
Fixed unnecessary if statement and removed redundant code.
2018-02-06 14:11:10 -08:00
tastybento
56ff9f62e4
Used try-with-resources to ensure jar is closed.
2018-02-06 14:07:35 -08:00
tastybento
28b88763e6
Changed Optional map to ifPresent because return value is not needed.
2018-02-06 14:05:48 -08:00
tastybento
8743ac50ef
Removed duplicate sub-expression in if statement.
2018-02-06 14:02:58 -08:00
tastybento
941d9d3dc5
Removed if/else change because it is not required.
2018-02-06 14:01:52 -08:00
tastybento
d2098c3dbe
Check if Optional click handler exists before getting it.
2018-02-06 13:59:23 -08:00
tastybento
2c1d52761f
Cast operand to double.
2018-02-06 13:54:23 -08:00
tastybento
06e61d858c
Fixed a lot of unclosed prepared statements, connections and resultset
2018-02-06 13:52:25 -08:00
tastybento
84d36a1a24
Simplified some logic.
2018-02-06 13:35:17 -08:00
tastybento
f7c4e5a988
Added null checks.
2018-02-06 13:33:08 -08:00
tastybento
1ddf706c68
Bug fixes to avoid NPE's and Optional gets without isPresent
2018-02-06 13:21:08 -08:00
Tastybento
ace6294e23
Came full circle - kept Flags as final statics
...
This approach simulates an enum, but one that can be extended by others
to add custom flags. I added a handy values() method that uses
reflection to provide a list of all the flags in the class.
See TestBSkyBlock.java test classes for the tests of the default flag
registration and the custom flag registration.
2018-02-05 23:53:07 -08:00
tastybento
be5404e9c2
Added Setting type to flags.
...
Flags can be Protection type or Setting Type.
Still needs testing for PVP.
2018-02-05 17:39:04 -08:00
tastybento
645b4eb610
Implements flags as enum so flags are protected.
2018-02-05 14:51:03 -08:00
tastybento
ffbf938a32
WIP trying out moving flags into flag manager.
2018-02-05 14:30:35 -08:00
tastybento
812594783e
Made Adapter its own annotation.
2018-02-05 11:35:50 -08:00
Tastybento
26956d8386
Fixed missing locale text for invites.
...
Fixed config settings for teams.
2018-02-04 21:48:34 -08:00
Tastybento
fa1ccd0c99
Fixed bugs with MySQL saving and loading.
...
Added the adapter annotation to MySQL and fixed issues with empty
hashmaps causing null errors.
Added a flag serializer adapter for the protection flags so that flags
are saved and loaded correctly.
Renamed the Adapter notation class to be clearer about what it is doing.
2018-02-04 12:53:17 -08:00
Tastybento
83d0848429
Fixed bugs with protection.
...
Added serializer adapter for the Flags hashmap in Island.
Teams don't work. Need to work out why.
PVP doesn't work correctly. It allows members to hit visitors anytime,
but visitors can only hit others if PVP is off. This isn't how it is
supposed to work!
2018-02-03 20:42:12 -08:00
Tastybento
6c2078fbec
Added event tests.
...
Fixed bug with user being retained after a checkIsland.
2018-02-03 19:25:53 -08:00
Tastybento
c648409858
Reworked code so it can be tested using automated unit tests.
...
See TestBSkyBlock.java class for protection tests.
More to come!
2018-02-03 15:26:13 -08:00
Tastybento
df0ecca217
Added dependency injection (DI) for flag listeners for plugin.
...
This is required for automated testing (can't use static getInstance). I
really need automated testing of the protection classes, so even though
this adds a parameter to the classes, it's important to have it right
now.
2018-02-03 11:54:33 -08:00
Tastybento
1427f16bec
Merge branch 'ranks' of https://github.com/tastybento/bskyblock.git into ranks
2018-02-02 08:22:00 -08:00
Tastybento
0d645600fc
Fixed bugs with start up and flag registration.
...
Protection does not work yet. Still need more debugging.
2018-02-02 08:18:56 -08:00
Florian CUNY
3d7b1bc647
Renamed PVP and Item Drop/pickup related flags
...
Also assigned the ItemDropPickUpListener() to the related events
2018-02-02 15:29:24 +01:00
Florian CUNY
5293d647c0
Removed duplicate listeners in Flags
2018-02-02 15:22:37 +01:00
Tastybento
72c99656cc
Added the protection listeners. Took all day!
...
Generally these are very easy to understand. They use an abstract class
for common code.
I have not tested these in-game. I would like to see if I can create
some test classes but it may not be possible because of the static
BSkyBlock calls.
2018-02-01 20:30:57 -08:00
tastybento
4fe94bee3b
Finished up the place and break block listeners.
...
There's a lot more that needs to be checked in these listeners! I moved
some common methods into the abstract class because they will be used
again and again by other listeners.
Added an anvil listener.
Added the flags. They were from ASkyBlock so may have name changes.
2018-01-31 15:46:38 -08:00
tastybento
5b087c83e7
Fixed comment.
2018-01-30 17:00:09 -08:00
tastybento
177023f314
Added code to support protection flag listeners.
...
Made getIslandsAt() Optional to enable better code structures in the
listeners.
Created an abstract class to simplify flag protection listeners.
Added default setting for flags that will be able to be set by config.
This default is used for any space in the worlds not occupied by an
island.
2018-01-30 16:59:10 -08:00
Tastybento
f7b6898559
Added protection methods.
2018-01-28 20:44:57 -08:00
Tastybento
ba62989788
Shifted some constants around.
2018-01-28 18:13:45 -08:00
Tastybento
417f767705
Added a Ranks Manager
2018-01-28 12:47:17 -08:00
Tastybento
eec4e99172
Added ranks to island members. More to do!
2018-01-28 11:48:54 -08:00
Tastybento
f1072e5984
Fixed flag optional aspect.
2018-01-28 09:47:51 -08:00
Florian CUNY
1d5b0ab8dd
API Improvements on PanelItem and Flags
...
Their respective builders now have default values
Flags get automatically registered once built
Added some convenience methods
2018-01-28 13:31:07 +01:00
Tastybento
2b434bf93a
Added ability for panel description to be just a string.
2018-01-27 15:58:15 -08:00
Tastybento
970711ca63
Merge branch 'develop' of https://github.com/tastybento/bskyblock.git into develop
2018-01-27 15:48:53 -08:00
Tastybento
67e05955f8
Made skyblock sky again. The sea water level was being set.
2018-01-27 15:48:44 -08:00
Florian CUNY
72c862c0d5
Starting to implement some Flags to test the API
2018-01-27 17:04:08 +01:00
Florian CUNY
6c08763cbb
Made PanelItemBuilder methods' name suit the Builder style
2018-01-27 17:03:30 +01:00
Florian CUNY
9cc9518bc3
Fixed new-island.signs.line* locale entries
2018-01-27 16:47:30 +01:00
Florian CUNY
8b636a8ee3
Minor code quality fixes
2018-01-27 16:39:02 +01:00
Tastybento
475f9b1416
Made changes to fix events and support the FAWE addon.
2018-01-25 22:19:33 -08:00
Tastybento
9ce1dbf592
Added team kick and leave commands. Need full testing.
2018-01-24 20:49:08 -08:00
Tastybento
f6ca7f7866
Fixed subcommand aliases. Added admin tp command.
...
While writing the admin tp command, I realized that subcommand aliases
were not working. Also, it was not possible to tell what alias had been
used for a command. I added that capability. i.e., if the alias is used,
then the label of that command is set to the alias.
2018-01-21 12:58:35 -08:00
Tastybento
c3c0a87dbb
Added block search when making a new island. Fixed sign text.
...
When finding a spot for a new island, the algorithm will ensure the
island location is on the grid and check around for any blocks that may
be there already. If they exist, then they will be added as unowned
islands to the database.
The sign text was not using the correct locale tags.
2018-01-20 10:30:26 -08:00
tastybento
1b1e30c125
Merge pull request #125 from tastybento/config-api-v2
...
Submitting a modular and automatic Config API
2018-01-08 11:27:01 -08:00
Tastybento
09b9d4dd49
Now uses the official config.yml in the BSkyBlock data folder.
...
Saves a backup of the config after validation in the database so it can
be checked.
To Be Done: Validation of the config when it is loaded against the
database version.
2018-01-07 14:43:37 -08:00
Tastybento
16bcb90127
Added saveSettings and loadSettings methods.
...
These methods are used specifically for loading and saving settings
classes (those use the ISettings interface). The saving saves a copy of
any settings class in the database for future reference. The loading
loads a copy from the database if it exists and checks if any fields are
different from the config file. If they are different and some action
needs to be taken, the action is taken. This is still be to be coded.
In other news, the saving of arrays is unsupported and currently should
be avoided. Use Lists or Sets instead.
2018-01-07 11:56:43 -08:00
Tastybento
2765e5f3ab
Fixed code according to comments on last commit.
...
Reworked locales so they use a nice and pretty folder structure.
Added the ability to define adapters to serialize certain data
structures. Added the PotionType list adapter.
Saving and loading of configs basically works. Known issues:
1. The config.yml is saved and loaded to/from the database folder
2. More error handling is required for the config loading. e.g., a list
value with only one value in it is not read as a list. This could get
tricky.
3. Comments are not saved (yet)
2018-01-06 19:40:25 -08:00
Tastybento
92af75e602
Converted to using the Settings loaded by the database handler.
...
Removed a lot of static references.
Constants have their own class.
2018-01-06 15:23:01 -08:00
Tastybento
2d447afa88
Added annotation handling to the flatfile database handler.
...
Currently it handles the @ConfigEntry path and specificTo fields.
Experimental: There is a class called Setting2.java. It has an
annotation that defines its filename as config.yml. Currently, it is
using the database folder as its location, but it could be the plugin's
datafolder in the future. By placing the config.yml file in the database
folder, it will be read. See the code in BSkyBlock onEnable() for how
that is done.
The main differences between Settings2.java and Settings.java are that
all fields are NOT static and therefore it is an object and uses getters
and setters. This is because it is a JavaBean. In other code, settings
should be queried using this config object.
2018-01-05 19:58:08 -08:00
Tastybento
478968dac7
Extended the config api annotations.
...
Added the concept of an adapter class that would convert the YAML input
to the setting type and value.
I included an example adapter class for Enum.
I fixed a number of the settings to match the config/yml or the other
way around.
After compiling and running, do /bsb reload to see the result.
This is a WIP and obviously not finished.
2018-01-04 19:58:04 -08:00
Florian CUNY
01dc515d57
Merge branch 'develop' of https://github.com/tastybento/bskyblock into develop
2018-01-04 20:35:12 +01:00
Florian CUNY
1430eda5ce
ConfigAPI - Implementing the basic functionnalities
...
a lot of unused/useless Settings has been removed
Settings class has been moved to the main package, because the config package would then only contain it
I need feedback about it
2018-01-04 16:57:12 +01:00
Florian CUNY
b7f1d68bcf
Store the locale files in their own "parent" folder, so it looks nicer, instead of having a prefix
...
also renamed BSBLocale#add() to BSBLocale#merge()
and renamed the locale files as well
2018-01-04 14:14:18 +01:00
Tastybento
4aaab9f69f
Added a depth limit to the help command.
2018-01-03 21:37:37 -08:00
Tastybento
b324e7d0e0
Fixed teleport to island message.
2018-01-03 20:43:58 -08:00
Florian CUNY
d56326feb0
Made /is about easier to read
2018-01-03 22:11:55 +01:00
Florian CUNY
afa292986d
Removed the cache from BSBLocale
...
because YAMLConfiguration is a cache itself.
2018-01-03 21:57:32 +01:00
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