Florian CUNY
1e20ccb604
Added package-info.java to flag listeners packages
2019-02-08 20:56:53 +01:00
Florian CUNY
e3c8b0a4c1
Merge pull request #527 from YellowZaki/patch-1
...
Add island.team.promote permission
2019-02-08 13:26:28 +01:00
tastybento
f7f47e8f44
Defensive code around null worlds
...
When a world is not loaded it becomes null in Bukkit so that any
references to that world will be null. If an admin removes a game mode,
then the island data was instantly becoming useless and quarantined.
This change leaves the files as-is so that if the game mode is put back,
the world is still viable.
As for home locations that are stored in the Player object, they are
removed so they do not cause errors.
2019-02-07 19:18:46 -08:00
YellowZaki
c949239ed6
Add island.team.promote permission
2019-02-08 02:54:24 +01:00
tastybento
2599839fad
Shifted exception logging to logger.
...
These are really needed if you are writing an addon otherwise you are
blind to any reasons for an error.
2019-02-07 08:10:45 -08:00
tastybento
0d723587e4
Adds addon name to log messages.
2019-02-06 17:39:44 -08:00
Florian CUNY
281d16c175
Added ability to reload BentoBox's configuration using /bbox reload
...
#370
2019-02-06 16:46:17 +01:00
Florian CUNY
ca2bb18a56
Improved javadoc and locale description for LIQUIDS_FLOWING_OUT
2019-02-06 16:17:58 +01:00
Florian CUNY
93deee7c13
Fixed code smells
2019-02-06 16:06:03 +01:00
Florian CUNY
280f2e6c1c
Added server version to /bbox v output
...
#518
2019-02-06 15:46:21 +01:00
Florian CUNY
5118b30303
Made ServerCompatibility#getServerVersion() and #getServerSoftware() public
2019-02-06 15:45:53 +01:00
Florian CUNY
8786c3a879
Fixed /bbox v using [name] textvariable to display BentoBox's version instead of [version]
2019-02-06 15:28:09 +01:00
tastybento
93e95b42a0
Remove end exit island deletion
...
Reverts that part because it causes an endless loop of chunk reloading
and block placement.
2019-02-05 23:22:18 -08:00
tastybento
446028fbae
Revert "Reworks how dragons are removed."
...
This reverts commit af9de5580a
.
2019-02-05 22:54:48 -08:00
tastybento
af9de5580a
Reworks how dragons are removed.
...
Enables manual summoning of end dragons
https://github.com/BentoBoxWorld/BentoBox/issues/522
2019-02-05 18:37:05 -08:00
tastybento
0ad8dabba7
Added @since 1.3.0 tags
2019-02-04 23:19:13 -08:00
tastybento
3ccd19bf9c
Fix locales to show correctly based on GameMode and locations
...
Fixes console translations too.
https://github.com/BentoBoxWorld/BentoBox/issues/519
2019-02-04 23:02:07 -08:00
tastybento
fd882c018b
Fixes enderchest world setting
...
It was being double handled by two listeners.
Fixes:
https://github.com/BentoBoxWorld/BentoBox/issues/516
2019-02-04 22:01:43 -08:00
tastybento
dba9829fd9
Makes the end exit island removal a world setting
...
https://github.com/BentoBoxWorld/BentoBox/issues/223
2019-02-03 22:54:49 -08:00
tastybento
7c099d941f
Added IslandWorldManager test class
...
Fixed bugs found in IWM
2019-02-03 19:13:14 -08:00
tastybento
6bac97941a
Handles null locations and worlds.
...
Added nullable and nonnull annotations to the IWM class.
https://github.com/BentoBoxWorld/BentoBox/issues/515
2019-02-03 17:54:47 -08:00
tastybento
472b9fa7b6
Adds missing locations to the event builder.
...
Some addons check the location and have NPE's if it is not set.
2019-02-03 16:28:03 -08:00
tastybento
bf1b59076c
Removes the end trophy island
...
After looking at the server code, it does not appear to be possible to
prevent the end island from generating. However, it can be tricked to
place it very high up by placing a bedrock block at 0,255,0. Then 1
second after it is generated, it can be removed.
This results in the end island owner at 0,0 only being able to build up
to 250 blocks high instead of 255. I added a simple block place listener
to prevent placing of blocks above 250 because they will be deleted any
time the chunk is loaded.
If there's a better way to do this, I'm open to it!
2019-02-03 16:27:30 -08:00
Florian CUNY
1c06584131
Added Flags#LIQUIDS_FLOWING_OUT
...
Also fixed some Javadoc in Flags, and I've also done my very first test unit!
#511
2019-02-03 14:05:28 +01:00
Florian CUNY
87f20e98a3
Removed already used icon condition when registering Flag
...
ID must be unique, icon may not.
2019-02-03 11:18:57 +01:00
Florian CUNY
c0c7cd6d26
Fixed colors in OBSIDIAN_SCOOPING description in en-US locale
2019-02-03 11:06:32 +01:00
Florian CUNY
d31be375da
Updated Flags#CREEPER_GRIEFING javadoc
2019-02-03 10:31:37 +01:00
Florian CUNY
b4bd6c4e2c
Fixed Flags#END_PORTAL duplicate call to PortalListener
2019-02-03 10:27:03 +01:00
Florian CUNY
ea12d8c167
Moved all the flags listeners to subpackages
2019-02-03 10:22:44 +01:00
tastybento
f60a39a543
Fires team and island events. Adds new events.
...
A lot of the commands were not firing events. These events are now
needed by addons.
Added new JOINED, REGISTERED, UNREGISTERED reasons for events.
Switched to using Bukkit.getServer() instead of plugin.getServer() in a
number of classes because the former can be mocked but the latter cannot
be because it's marked as a final method in JavaPlugin.
2019-02-02 20:40:44 -08:00
tastybento
360cda5a1c
Uses translations for the confirmation call
2019-02-02 18:26:12 -08:00
tastybento
ae9e030aae
Moves placeholder manager initialization to before addon loading
...
This enables addons to register placeholders when they are enabled.
2019-02-02 12:29:16 -08:00
Florian CUNY
8b2ca8db23
Fixed zh-HK locale not having .yml extension
2019-02-02 21:03:35 +01:00
Florian CUNY
b8d9b410ae
Merge pull request #510 from mkcoldwolf/master
...
Added zh-HK locale and small fix for some others
2019-02-02 17:21:29 +01:00
mkcoldwolf
7e1da2fe2f
Create zh-HK
...
Directly translate from zh-CN but also update the messages to lastest
2019-02-02 21:39:43 +08:00
mkcoldwolf
a88fc4e45c
Update en-US.yml
...
Fixed locale that protection.ITEM_FRAME is missing in /is settings
2019-02-02 21:37:24 +08:00
Florian CUNY
384cbf31a7
Version 1.2.1
2019-02-02 14:15:16 +01:00
Florian CUNY
5609a19765
Fixed tab-completion suggesting help more than once
...
Fixes #416
2019-02-02 14:04:53 +01:00
Florian CUNY
fb34c54165
Minor code cleanup in CompositeCommand
2019-02-02 12:01:48 +01:00
Florian CUNY
84e89f80cd
Fixed players being stuck in SPECTATOR after going through End Portal
...
Fixes #377
It was due to the SafeSpotTeleport not being flagged as "portal" when issuing the teleportation Nether -> End.
2019-02-02 11:45:31 +01:00
Florian CUNY
ade4a141c4
Started javadoc-ing Flags
2019-02-02 11:30:43 +01:00
Florian CUNY
53eec634fb
Added some dots at the end of sentences in en-US locale
2019-02-02 11:30:19 +01:00
Florian CUNY
fd3815d132
Removed unused import in FlagsManager
2019-02-02 11:29:53 +01:00
mkcoldwolf
8b8a4a01b8
Rename jp-JP.yml to ja-JP.yml
...
Language Code of Japanese should be ja-JP
2019-02-02 18:17:25 +08:00
Florian CUNY
de69c9c571
Removed deprecated FlagsManager#getFlagByID(String)
...
This method was actually still used in some classes, so I had to fix them as well.
2019-02-02 11:06:59 +01:00
Florian CUNY
57d70c3d24
Removed deprecated methods in AddonDescription and FlagListener
2019-02-02 10:51:59 +01:00
Florian CUNY
f2078aae3f
Fixed additions where at least one operand was not casted as double
2019-02-02 10:47:59 +01:00
Florian CUNY
ce025cc49f
Fixed typos in en-US locale
2019-02-02 10:38:25 +01:00
tastybento
f983aa5f44
Fixed permission bug with custom schems and reset
...
https://github.com/BentoBoxWorld/BentoBox/issues/509
2019-02-01 20:51:57 -08:00
tastybento
f351704e8a
Prevent placing of armor stands
...
https://github.com/BentoBoxWorld/BentoBox/issues/507
2019-02-01 19:44:46 -08:00
tastybento
5755a19e3d
Fix name too short and long locale reference
...
https://github.com/BentoBoxWorld/BentoBox/issues/508
2019-02-01 17:57:04 -08:00
tastybento
16e57dc757
Adds Residence plugin as a loadbefore
...
Work around for https://github.com/BentoBoxWorld/BentoBox/issues/503
2019-01-30 22:39:04 -08:00
tastybento
95efc7a66c
Put in null check for item meta (missed one)
...
https://github.com/BentoBoxWorld/BentoBox/issues/492
2019-01-30 17:38:16 -08:00
tastybento
791c8b1de1
Put in null checks for item meta
...
https://github.com/BentoBoxWorld/BentoBox/issues/492
2019-01-30 17:37:16 -08:00
tastybento
8dbf7ec231
Admin team add command was not adding players correctly.
...
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/506
Also, admin unregister was blocking unregistration of team players, but
that is an artificial constraint, so I enabled it. Without it, it would
not be possible to correct weird team issues like this one after they
happen.
2019-01-30 17:27:53 -08:00
tastybento
804d0f9878
Quarantines duplicate islands so they don't load continuously
...
https://github.com/BentoBoxWorld/BentoBox/issues/505
2019-01-30 16:46:51 -08:00
tastybento
271d6aa5e9
Adds json suffix to JSON database files
...
https://github.com/BentoBoxWorld/BentoBox/issues/502
2019-01-29 13:43:34 -08:00
Florian CUNY
7b79755d92
Merge pull request #496 from barpec12/master
...
Add possibility to load schems with non-lowercase names.
2019-01-29 06:12:35 +01:00
tastybento
46cc901c23
Adds support for ItemStack storage in non-YAML databases.
...
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/501
2019-01-28 18:29:17 -08:00
barpec12
c5c2ae5fc1
Change imports
2019-01-28 13:47:55 +01:00
barpec12
c6b4a10634
Add possibility to load schems with non-lowercase names.
2019-01-28 11:11:07 +01:00
tastybento
8cddb1e69f
Set user for potion splash event
...
https://github.com/BentoBoxWorld/BentoBox/issues/493
2019-01-27 19:59:00 -08:00
tastybento
04fa7fab80
Fixes issue with missing user assignment of potion thrown
...
Adds test for throwing potion class.
https://github.com/BentoBoxWorld/BentoBox/issues/493
2019-01-27 19:51:03 -08:00
tastybento
0280303058
Revert to fix Java 11 compatibility.
...
dfe7fc27e5 (commitcomment-32081178)
2019-01-27 09:17:54 -08:00
tastybento
873c12fe70
Revert "Fixed minor code smell in AddonClassLoader"
...
This reverts commit a392dbc8b3
.
2019-01-27 09:08:41 -08:00
Florian CUNY
6fdf11f91e
Version 1.2.0 🎉
2019-01-27 10:24:01 +01:00
Florian CUNY
9afb5c6382
Fixed HooksManager logging hook failures even if the target plugin is not available
2019-01-27 10:22:04 +01:00
Florian CUNY
aea057317b
Added option to apply the reset cooldown when the player creates an island for the first time
...
Closes #456 .
2019-01-27 10:10:25 +01:00
Florian CUNY
9551560593
Moved all command cooldown settings to "island.cooldown.time" node
2019-01-27 10:04:13 +01:00
Florian CUNY
30487beffc
Improved some config comments
2019-01-27 09:59:31 +01:00
Florian CUNY
2a66598d2f
Fixed bugs/vulnerabilities in YamlDatabaseConnector#removeStringFromFile(File)
2019-01-27 09:43:14 +01:00
Florian CUNY
5334caf7b5
Fixed AdminGetrankCommand for island members
...
Fixes #485
2019-01-27 09:32:16 +01:00
Florian CUNY
1c3ccba3ae
Fixed probable NPEs in IslandsManager and IslandCache
2019-01-27 09:31:35 +01:00
Florian CUNY
e5170fc4b5
Updated since tags
2019-01-27 09:23:23 +01:00
tastybento
24806019b8
Addresses review issues.
2019-01-26 22:07:26 -08:00
tastybento
5bf6264e95
Fix since tag in GameModeAddon
2019-01-26 16:37:13 -08:00
tastybento
9968a8e083
Fixed Multiverse issues
...
Multiverse hookin wasn't working.
2019-01-26 16:33:59 -08:00
tastybento
daef788e65
Merge remote-tracking branch 'origin/develop' into startup
2019-01-26 15:33:35 -08:00
tastybento
db932dd836
Fix for LogEntry serialization.
...
https://github.com/BentoBoxWorld/BentoBox/issues/486
Includes an autofixer for corrupted files and test for the adapter.
LogEntry was changed to just store strings instead of arbitrary types.
Unless the log serializer were to store hints as to what type of data
was being stored, it is impossible to deseralize. To make it all
simpler, we just store strings. If the UUIDs need to be converted back
to players are some point, that can be done based on the type of the log
stored.
2019-01-26 15:32:52 -08:00
tastybento
5b2ad730df
Adds getDefaultWorldGenerator method to BentoBox
...
This may help with Multiverse compatibility.
May fix https://github.com/BentoBoxWorld/BentoBox/issues/431
Adding as PR because GameMode addons will need changing to new
Interface.
2019-01-26 13:22:07 -08:00
tastybento
4e81baf45e
Flags are requested from FlagManager not statically
...
Previous the Flags class was being used to grab all flags. This is wrong
because it may not contain all the flags that may exists, for example
ones registered by other addons. The correct way is to request flags
using the getFlag() method in the flags manager class.
This change was to prepare for the time when addons will register their
own flags with BentoBox.
2019-01-26 09:39:34 -08:00
Florian CUNY
afdfc285cc
Fixed LogEntryListAdapter
...
Fixes #486
2019-01-26 16:05:55 +01:00
Florian CUNY
b07d7ba3af
Load hooks before loading addons
...
Fixes #489 .
2019-01-26 15:29:18 +01:00
Florian CUNY
6155a8cf80
Version 1.1.1-SNAPSHOT (develop)
...
Rather than releasing a minor version, we will release a bug-fix focused one.
2019-01-26 15:23:46 +01:00
tastybento
5f49e2b17b
Runs /spawn command for player if no safe teleport spot
...
https://github.com/BentoBoxWorld/BentoBox/issues/479
2019-01-24 08:30:43 -08:00
Florian CUNY
f5f345a1ab
Documented Flag.Type
2019-01-23 19:58:31 +01:00
Florian CUNY
ae246435ba
Temporarily removed Expose annotation to 'history'
...
Should fix #482
2019-01-23 19:29:42 +01:00
Florian CUNY
0789ec0969
IslandBanCommand: added "banned", "bans" aliases
2019-01-23 15:40:25 +01:00
Florian CUNY
29d0cb6eb3
IslandCreateCommand: add "new" alias
2019-01-23 15:39:41 +01:00
tastybento
9e0772367a
Fixes NPE caused by island delete of a null island
...
If a player is invited and has no island, the accept command was still
trying to delete it and causing an NPE.
Also, the island save was being done on the old island, not the new team
island.
https://github.com/BentoBoxWorld/BentoBox/issues/481
2019-01-22 12:53:33 -08:00
Florian CUNY
4958304aa5
Added "logs.clean-super-flat-chunks" to config
...
Closes #483
2019-01-22 14:39:44 +01:00
Florian CUNY
77f9f4869b
Fixed typo in previous commit
2019-01-22 14:28:10 +01:00
Florian CUNY
eb8f25f319
Improved documentation in CleanSuperFlatListener
2019-01-22 14:26:00 +01:00
Florian CUNY
9af389ce1d
Made BentoBox#logWarning(String) evaluating lazily the parameter
2019-01-22 14:18:06 +01:00
Florian CUNY
bfad54b7e3
Made CleanSuperFlat log regenerating as INFO instead of WARN
...
#483
2019-01-22 14:17:43 +01:00
tastybento
468ad4e83d
Fix cycle click nullables
2019-01-20 10:04:32 -08:00
Florian CUNY
6cdde8ca5f
Forgot to update javadoc
2019-01-20 18:32:12 +01:00
Florian CUNY
85119a0b06
Fixed some code smells
2019-01-20 18:21:46 +01:00
Florian CUNY
bb188cb8ff
Release 1.1
2019-01-20 10:10:29 +01:00
Florian CUNY
819096eba9
Fixed usage of deprecated methods in CycleClicks and fixed a probable NPE
2019-01-20 09:47:15 +01:00
Florian CUNY
113335e60a
Fixed code smells
2019-01-20 09:46:00 +01:00
Florian CUNY
5cbbbabcbf
Fixed ejected players being stuck in SPECTATOR gamemode
...
If the player don't have an island, we try to teleport him to the "gamemode spawn".
If the "gamemode spawn" doesn't exist, we teleport it the hard way to the world's programmatic spawn and switch him back to the default gamemode.
That may not be the correct handling there, but at least it's working and it should prevent most of the cases.
Fixes #382 .
2019-01-20 09:33:28 +01:00
Florian CUNY
dc61f06554
Added IslandSpawnCommand
...
#382
2019-01-20 09:22:46 +01:00
Florian CUNY
7525bc05e2
Added IslandsManager#spawnTeleport() and made #getSpawn(World) return an optional
2019-01-20 09:22:26 +01:00
Florian CUNY
7cbb0d6a87
Added PlayersManager#getPlayers()
...
#392
2019-01-20 09:01:38 +01:00
Florian CUNY
aad36c100f
Added IslandsManager#getIslands()
...
#392
2019-01-20 08:57:19 +01:00
Florian CUNY
3f5736f555
Improved javadoc
2019-01-20 08:52:57 +01:00
tastybento
95b40841ba
Adds all worlds to map in IWM
...
Fixes Multiverse world registration
2019-01-19 11:22:26 -08:00
tastybento
2df5d2a916
Added FlagAdapterTest and fixed deprecation
2019-01-19 08:30:42 -08:00
Florian CUNY
5ce8362fd5
Added addons metrics chart + added AddonDescription#isMetrics so that addons need to explicitely opt in
...
Deprecated AddonDescription.Builder#Builder(String, String) and AddonDescription.Builder#version(String).
Added AddonDescription.Builder#Builder(String, String, String).
Updated tests
2019-01-18 22:06:06 +01:00
Florian CUNY
0f5b5b5693
Fixed IslandResetCommand tests
2019-01-18 21:24:46 +01:00
Florian CUNY
a29bcd457e
Updated FlagSerializers to use FlagsManager#getFlag(String)
2019-01-18 17:40:55 +01:00
Florian CUNY
c5f561c816
Reduced cognitive complexity in IslandResetCommand
2019-01-18 17:40:23 +01:00
Florian CUNY
755433e108
Added islands created count metrics
...
Made BStats class public
Added BentoBox#getMetrics()
2019-01-18 15:12:06 +01:00
Florian CUNY
7153378f5e
Made LockAndBanListener extend FlagListener
2019-01-18 15:00:05 +01:00
Florian CUNY
a392dbc8b3
Fixed minor code smell in AddonClassLoader
2019-01-18 14:59:38 +01:00
Florian CUNY
dfe7fc27e5
Fixed code smell in AddonClassLoader
2019-01-18 12:32:32 +01:00
Florian CUNY
4d9a65151f
Fixed code smells & added some more NonNull/Nullable annotations
2019-01-18 12:10:47 +01:00
Florian CUNY
d57f9544f3
Added NonNull/Nullable annotations to IslandsManager and IslandCache
2019-01-18 11:33:29 +01:00
Florian CUNY
d86b605057
Added Flags#POTION_THROWING
...
#468
2019-01-18 11:08:53 +01:00
Florian CUNY
3f9c917a2f
Added IslandWorldManager#getWorlds()
...
#470
2019-01-17 20:49:54 +01:00
tastybento
ddb3fd63e6
Fix code smells.
2019-01-16 13:43:49 -08:00
Florian CUNY
9497066f44
Merge pull request #471 from BentoBoxWorld/locale-override
...
Adds ability for gamemodes to override locale references
2019-01-16 19:03:25 +01:00
Florian CUNY
eeda960d42
Use #getEnabledAddons() in AddonsManager#getGameModeAddons()
2019-01-16 18:53:11 +01:00
Florian CUNY
f381301b25
Added javadoc tags and NonNull/Nullable in GameModeAddon
2019-01-16 18:51:37 +01:00
tastybento
7d08a0db5a
Enable main player and admin command declaration
...
See https://github.com/BentoBoxWorld/BentoBox/issues/448
2019-01-15 19:33:53 -08:00
tastybento
0636532bb4
Fixed code and tests.
...
Test failures in the User test were right - I had a bug in my code.
2019-01-15 15:23:17 -08:00
tastybento
e56928bef1
Adds ability for gamemodes to override locale references
...
The default BentoBox locale text is geared towards island games. When
writing the SkyGrid addon I am using the standard protection flags, but
I need to reference a "protection area" instead of an "island". This
enables me to do that by having the same reference but prefixed in the
locale file by the name of the addon (in lower case), as written in the
addon's addon.yml.
2019-01-15 13:23:36 -08:00
tastybento
3a9e969a86
Added JavaDoc comments
2019-01-15 11:47:10 -08:00
tastybento
2fa60d0e2d
Added option to not paste a schem when creating a new island
2019-01-15 11:46:09 -08:00
tastybento
b48cc89f73
Added flag default setting for specific world.
2019-01-15 11:45:49 -08:00
tastybento
61481dee44
Added null protection against null world values
2019-01-15 08:33:14 -08:00
Florian CUNY
62d69b1022
Added NonNull/Nullable annotations to FlagListener, deprecated FlagListener#id(String), added FlagListener#getFlag(String)
2019-01-14 15:49:04 +01:00
Florian CUNY
80263d9751
Removed commented-out code in Clipboard
2019-01-14 15:48:16 +01:00
Florian CUNY
7fd6237280
Added comments to DeleteIslandChunks
...
I've also added a sonar suppresswarning to avoid the "issues" when calling regenerateChunk
2019-01-14 15:15:55 +01:00
tastybento
044c67ea28
Fixes bug with concurrent saving of files to the database.
...
Implemented a FIFO to queue async save requests for YAML and MySQL.
The assumption is that most database objects will be held in memory
because the ordering of object loading is not handled. That means that
it is theoretically possible to load something on the main thread before
it has been saved in the async thread if you are really quick. So, in
general, you should load objects once and ideally never load them again
unless there's a big span of time in between so the async can finish.
For most situations, this race condition should not occur, but I'm just
warning about it.
Saving on shutdown is not async and takes as long as it takes.
Also added some defensive code to disable the plugin if the database
connection info is wrong and print an error message instead of lots of
errors.
Changed CleanSuperFlatListener to use a LinkedList for its queue.
2019-01-13 22:17:36 -08:00
tastybento
5ed86ea271
Adds defensive code to avoid NPE with hiding clipboard
2019-01-13 15:57:45 -08:00
tastybento
fa8c0ec0c8
Implements async superflat cleaning
...
Should avoid crashes when there's a lot of cleaning to do.
https://github.com/BentoBoxWorld/BentoBox/issues/431
2019-01-13 15:53:12 -08:00
tastybento
ad3d044e88
Merge branch 'develop' of https://github.com/BentoBoxWorld/bentobox.git into develop
2019-01-13 14:19:31 -08:00
tastybento
96639792b8
Fixed random test failures.
...
Note: If using the User class in a test, you MUST set the mock plugin object using the User.setPlugin() method otherwise each test will use the wrong plugin object and verifications will not work.
2019-01-13 14:19:23 -08:00
Florian CUNY
8260728e9b
Added NonNull/Nullable annotations to CommandsManager
2019-01-13 18:41:38 +01:00
Florian CUNY
a66bc90746
Fixed code smells
2019-01-13 18:27:14 +01:00
Florian CUNY
270e14167e
Made IslandTeamInviteAcceptCommand require confirmation
...
Closes #464 .
2019-01-13 17:35:32 +01:00
tastybento
d8eab7e397
Adds deleteID method to MariaDB
2019-01-13 08:14:08 -08:00
Florian CUNY
35883435e5
Merge branch 'develop' into IslandDelete
2019-01-13 10:33:50 +01:00
Florian CUNY
6f4d3aeaed
Added some more javadoc
2019-01-13 10:28:49 +01:00
Florian CUNY
9cf63611e4
Added some NonNull/Nullable in database code
2019-01-13 10:27:36 +01:00
Florian CUNY
dc7d5b40f2
Renamed DeletedIslandDO to IslandDeletion
2019-01-13 10:21:06 +01:00
Florian CUNY
0f253c35ef
Renamed IslandDeleteManager to IslandDeletionManager
2019-01-13 10:09:35 +01:00
Florian CUNY
165a70aec9
Added MariaDB minimum version in config comment
2019-01-13 10:06:32 +01:00
Florian CUNY
348704f3d9
Added javadoc and updated Settings for MARIADB
...
@barpec12
2019-01-13 10:05:24 +01:00
tastybento
7854187448
Added async saving to YAML and MYSQL
...
Both seem to work fine, but probably need more real-world testing.
2019-01-12 18:18:22 -08:00
tastybento
501c3257ed
Island delete enhancements
...
Island deletion is done a few chunks at a time per tick. Current speed
is 5 chunks per tick per world (e.g., 15 chunks per tick if nether and
end islands are used).
Chunks are deleted based on the all-time maximum protection range of the
island. This is because the protection range can grow bigger or smaller
over the island's lifetime. To ensure all possible chunks are erased,
the largest every protection range is remembered and used.
Very large protection ranges will take a long time to fully delete.
Info on islands that are being deleted is stored in the database. If the
server shuts down mid-deletion, deletion will restart when the server
restarts.
While an island is being deleted, new islands cannot occupy that spot
and the spot cannot be reserved by the admin.
In addition, async approaches to island saving and player saving were
removed. Async will be implemented another way.
Now, instead of saving the full island or player database, individual
database entries are saved instead to be more efficient.
2019-01-12 17:12:30 -08:00
tastybento
7a4ca8b48d
Fixed JavaDoc error
2019-01-12 17:04:53 -08:00
Florian CUNY
a1b6f97a1a
Merge pull request #460 from barpec12/master
...
MariaDB 10.2.3+ support.
2019-01-12 22:57:01 +01:00
tastybento
7c1e195eaf
Switch to timer-based chunk deletion
2019-01-12 10:31:25 -08:00
Florian CUNY
457b296372
Fixed code smells
2019-01-12 18:29:20 +01:00
Florian CUNY
76d4edd19f
Added NonNull/Nullable to FlagsManager; deprecated getFlagById(String)
...
Added getFlag(String) that will return an optional instead.
2019-01-12 18:03:19 +01:00
Florian CUNY
12619e79db
Improved links in LogEntry's javadoc
2019-01-12 18:02:32 +01:00
Florian CUNY
c783fa8e16
Started to add Nullable/NonNull annotations
2019-01-12 17:30:47 +01:00
barpec12
961ca02fa1
MariaDB 10.2.3+ support.
2019-01-10 16:54:11 +01:00
tastybento
b51178518a
Fixes admin setowner and info commands for team members
...
https://github.com/BentoBoxWorld/BentoBox/issues/452
2019-01-07 21:37:37 -08:00
tastybento
cd4f0c2561
Fixes Invincible Visitors Settings GUI bug
...
https://github.com/BentoBoxWorld/BentoBox/issues/450
Added enhanced test to this class too.
2019-01-07 21:03:02 -08:00
tastybento
8a63bf80f9
Added defensive code to avoid infinite loop
...
CleanSuperFlat can infinite loop if the generator isn't working.
2019-01-07 20:43:37 -08:00
tastybento
dc8b672286
Added check against duplicate Island UUIDs
...
May relate to https://github.com/BentoBoxWorld/BentoBox/issues/447
2019-01-07 08:03:38 -08:00
tastybento
acb6cd5650
Added defensive null checking code to DB
...
Relates to https://github.com/BentoBoxWorld/BentoBox/issues/447
2019-01-07 07:46:59 -08:00
Florian CUNY
9eec14ffb3
Merge pull request #445 from BONNe/patch-1
...
Unnecessary getPermissionPrefix()
2019-01-07 06:25:57 +01:00
BONNe
dbbfdaea7f
Unnecessary getPermissionPrefix()
...
Kryniowesegryderiusz <3 in Support noticed that Admin tp command has double bskyblock.bskyblock, and I found reason in code.
This getPermissionPrefix() is not necessary, as setPermission() will also add prefix.
2019-01-06 23:32:15 +02:00
Florian CUNY
fe101a6e01
Added "UNOWNED" log to Island
2019-01-06 11:46:25 +01:00
Florian CUNY
d7fbfdb784
Added Island#setRank(UUID, int)
2019-01-06 11:28:37 +01:00
Florian CUNY
55afa166cd
Added some defensive code in some Island's methods
2019-01-06 11:03:32 +01:00
Florian CUNY
9387f65dbf
Added IslandBanEvent and IslandUnbanEvent (cancellable)
2019-01-05 10:23:53 +01:00
Florian CUNY
e3574e5ee3
Added AdminSetspawnCommand
...
#441
2019-01-04 21:33:17 +01:00
Florian CUNY
85fac3112f
Improved IslandsManager#setSpawn(Island) + Javadoc
...
Added some checks to improve the handling.
2019-01-04 21:33:02 +01:00
Florian CUNY
185082f261
Improved Island#isSpawn() and Island#setSpawn() Javadoc + improved handling of Island#setSpawn() and added logging to the Island history
2019-01-04 21:32:21 +01:00
Florian CUNY
c78efb8736
Fixed and improved error handling when loading addons
...
Fixes #440
* Added Addon#getState()
* Added LOADED in Addon.State
* Added AddonsManager#getLoadedAddons() and AddonsManager#getEnabledAddons()
* Improved the loading addons "workflow"
2019-01-04 11:33:35 +01:00
Florian CUNY
2b0ccb4099
Release 1.0 ( 🎉 )
2019-01-03 20:53:18 +01:00
Florian CUNY
967ebccae1
Fixed 'banCooldown' config comment
2019-01-03 20:47:54 +01:00
Florian CUNY
ef96a01fc8
Fixed bug with the YAML Database when saving config containing hidden ConfigEntry
2019-01-03 20:45:51 +01:00
Florian CUNY
74a28963b4
Improved the "aborting bentobox enabling" message
2019-01-03 20:35:51 +01:00
Florian CUNY
d2f10d883d
Set enableAutoOwnershipTransfer to false
2019-01-03 20:26:26 +01:00
Florian CUNY
81435c57f5
Delete GameWorld.puml
2019-01-03 20:26:10 +01:00
tastybento
d13ae470d5
Removed unused imports.
2019-01-03 10:25:03 -08:00
tastybento
2713f58ac5
Fix to fire Island events after an island is created.
...
Events were firing too early before the island had been fully pasted
async.
2019-01-03 10:24:50 -08:00
tastybento
8452a080f7
Merge branch 'develop' of https://github.com/BentoBoxWorld/bentobox.git into develop
2019-01-03 09:47:04 -08:00
tastybento
5351b162c5
Moved obsidian scooping to be a world flag in settings
2019-01-03 09:46:56 -08:00
Florian CUNY
000d556c7f
Improved the "successfully-loaded" message
2019-01-03 18:12:32 +01:00
Florian CUNY
4b4ee1646e
Added '@a' to AdminResetsResetCommand so that we can reset everyone
2019-01-03 17:43:00 +01:00
Florian CUNY
9545c74833
Removed since Javadoc tags
2019-01-03 17:28:18 +01:00
Florian CUNY
a5831947c2
Made automated ownership transfer settings hidden for now
2019-01-03 17:22:20 +01:00
Florian CUNY
4a6a109fa4
Added ConfigEntry#hidden()
2019-01-03 17:22:05 +01:00
Florian CUNY
9f676636e0
Fixed some code smells
2019-01-03 17:09:27 +01:00
Florian CUNY
160749c065
Merge branch 'develop' into 167-automated-island-ownership-transfer
2019-01-03 16:59:13 +01:00
Florian CUNY
2e2c7c69de
Removed deprecated classes
2019-01-03 16:51:57 +01:00
Florian CUNY
bde91b7784
Fixed commands being registered with their main label as fallbackPrefix
...
This has been replaced by "bentobox" or the addon's name.
2019-01-03 16:40:51 +01:00
Florian CUNY
708c014d14
Moved allowObsidianScooping to WorldSettings and renamed ObsidianToLava to ObsidianScoopingListener
...
#432
2019-01-03 16:30:36 +01:00
Florian CUNY
915cd6f293
Made 'general.rank-command' experimental in config
...
#432
2019-01-03 16:19:08 +01:00
Florian CUNY
c549d969a4
Removed 'island.custom-ranks' from config
...
#432
2019-01-03 16:17:01 +01:00
Florian CUNY
369600e4d5
Renamed Island#addToBanList() and Island#removeFromBanList() + added log in them
...
They respectively got renamed to Island#ban() and Island#unban(). They now require the UUID of an issuer (which can be null, but it's better to provide one)
2019-01-03 15:59:24 +01:00
Florian CUNY
fa3dbc5519
Made LogEntry use the Builder pattern
2019-01-03 13:51:46 +01:00
Florian CUNY
245062b36e
Removed the offline message "TODO" in User
...
Most of it will be handled by the Island history
2019-01-03 13:37:54 +01:00
Florian CUNY
0b62c7cf76
Made LogEntry#data a Map<String, Object>
2019-01-03 13:33:46 +01:00
Florian CUNY
265afaf345
Added history to island and Island#log(LogEntry)
2019-01-03 13:26:20 +01:00
Florian CUNY
a638b09ce3
Added LogEntry and its database adapter
2019-01-03 13:25:52 +01:00
tastybento
96bf67eb19
Added generic reload command for addons to use
...
This command just runs the onReload method so that individual addons can
reload their stuff.
2019-01-02 15:40:49 -08:00
Florian CUNY
396425a52d
Started implementing automated island ownership transfer
...
#167
2019-01-02 23:02:52 +01:00
Florian CUNY
4ae36ef8e0
Fixed Island#getMemberSet() Javadoc
2019-01-02 23:01:39 +01:00
tastybento
b8312db655
Fixes double home teleport when resetting island.
2019-01-02 10:55:11 -08:00
tastybento
5f193b19f5
Merge remote-tracking branch 'origin/develop' into async-paste2
2019-01-02 10:44:50 -08:00
tastybento
81a0b3290f
Adjustment to English locale file for addon reloading
...
https://github.com/BentoBoxWorld/BentoBox/issues/370
2019-01-02 10:22:39 -08:00
Florian CUNY
be91e137a8
Implemented Addons reloading
...
Relates (a bit) to #370
2019-01-02 17:49:37 +01:00
Florian CUNY
c7a85c2b5a
Fixed AddonDescription to use a valid Builder pattern
...
AddonDescriptionBuilder has been renamed to AddonDescription.Builder ; and there is no longer public constructors in this class.
This change is obviously API breaking, but it's relatively "internal", so hopefully people didn't use it.
2019-01-02 17:28:11 +01:00
Florian CUNY
30c20216fa
Metrics: added islands count line chart
2019-01-02 16:54:58 +01:00
Florian CUNY
6f0912e1d2
Added ITEM_FRAME flag
...
#391 .
2019-01-02 15:29:27 +01:00
Florian CUNY
01b7ace0be
Fixed code smells
2019-01-02 14:48:17 +01:00
Florian CUNY
c078d8dce6
Added ban limit (#getBanLimit() in WorldSettings)
...
Closes #423 .
I had some trouble with unit testings, that's why I didn't update them to test the new features :(
2019-01-02 14:37:52 +01:00
Florian CUNY
efd0aba8e8
Improved WorldSettings Javadoc
2019-01-02 13:45:21 +01:00
Florian CUNY
2bef086db4
Improved some config comments in Settings
2019-01-02 13:45:09 +01:00
tastybento
5b6bd72370
Added null checking protection.
...
This may help if a database is becoming corrupted.
2019-01-01 17:47:25 -08:00
tastybento
f475ebf3d2
Putting the config saving back in.
2019-01-01 14:04:26 -08:00
tastybento
665ad1e0a4
Final touches
2019-01-01 14:01:01 -08:00
Florian CUNY
4a7a4ed7db
Improved Javadocs in User
2019-01-01 21:50:20 +01:00
tastybento
d039bf0c10
Merge remote-tracking branch 'origin/develop' into async-paste2
2019-01-01 12:47:57 -08:00
Florian CUNY
3bc36b54c9
Updated default config.yml
2019-01-01 21:00:21 +01:00
Florian CUNY
80fccbab96
Removed general.starting-money from config
...
#432
2019-01-01 20:54:19 +01:00
tastybento
512fb8e544
2019 baby!
2019-01-01 08:45:11 -08:00
tastybento
0da0d6c6f7
Removed unneeded enum values. Improved const names.
2018-12-31 11:31:35 -08:00
tastybento
2528442d6b
Rewrote using state approach to be easier to understand.
...
Backwards compatible with current schems. New schems required to avoid
torch popping etc. Look for updates to AcidIsland and BSB.
2018-12-31 11:24:24 -08:00
Florian CUNY
5601ffaf8a
Added a server compatibility check that ensures BentoBox doesn't get run on incompatible server software / version.
2018-12-31 14:22:57 +01:00
tastybento
38e82ee617
WIP: Enables async-style pasting of schems.
...
Speed of schem pasting is in the config.yml of BentoBox.
Old schems will work and paste async, but attached blocks, e.g.,
torches, may fall off due to being pasted ticks before the supporting
block is pasted. Newer schems will not have this issue.
Further work is needed to optimize entity pasting.
Known issue: if a player logs out during the pasting, things go wrong
until the next reload. Needs investigation and mitigation.
There's no mitigation against the server shutting down or crashing
mid-paste.
2018-12-30 20:34:50 -08:00
tastybento
c4a5eb2c88
WIP pastes but attachments fall when split across paste boundaries
2018-12-30 18:09:56 -08:00
tastybento
cf0fdf45b9
Merge branch 'develop' into async-paste2
2018-12-30 16:48:54 -08:00
tastybento
597fc082be
WIP Added staggered pasting
2018-12-30 14:54:37 -08:00
tastybento
9b478fbef6
Fixed NPE in IslandManager on startup
2018-12-30 14:49:04 -08:00
Florian CUNY
26c65f9b54
Moved the admin resets-related commands under their own node
...
Preparing #353 .
AdminClearresetsallCommand is deprecated with no current alternative right now.
2018-12-29 10:52:13 +01:00
Florian CUNY
a17d946349
Fixed PlayersManager#setResets(World, UUID, int) Javadoc.
2018-12-29 10:47:33 +01:00
Florian CUNY
d339444feb
Renamed CHEST flag to CONTAINER
...
#402
2018-12-28 11:14:52 +01:00
Florian CUNY
5cddfca3b7
Added en-US localization for DISPENSER and DROPPER flags
2018-12-28 10:56:14 +01:00
Florian CUNY
3e7c97c370
Added HOPPER flag
...
#401
2018-12-28 10:54:07 +01:00
Florian CUNY
b5620e25e7
Added DROPPER flag
...
#401
2018-12-28 10:49:40 +01:00
Florian CUNY
70d8d04ee5
Added DISPENSER flag
...
#401
2018-12-28 10:44:35 +01:00
Florian CUNY
a33fc82a4a
Improved InventoryListener
2018-12-28 10:42:38 +01:00
tastybento
d289b51b35
Removed unneeded map
2018-12-27 18:28:19 -08:00
tastybento
b374096c6e
WIP: Shifted to GameModeAddon for IWM
2018-12-27 17:25:14 -08:00
tastybento
23d97ec7b0
Merge branch 'develop' into gameworlds-and-gamemodes
2018-12-27 11:22:07 -08:00
Florian CUNY
146331d0fe
Use the Flag#getHintReference() in the sendMessage()
...
That is to ensure an easier maintenance process.
2018-12-27 13:53:11 +01:00
Florian CUNY
460911c92b
Fixed the condition for PREVENT_TELEPORT_WHEN_FALLING in IslandGoCommand
2018-12-27 13:46:18 +01:00
Florian CUNY
f662efc43e
Added PREVENT_TELEPORT_WHEN_FALLING flag (WORLD_SETTING)
...
Closes #403
2018-12-27 11:47:11 +01:00
Florian CUNY
daa2992ba4
Made Flag.Builder#defaultSetting default to 'false'
...
And therefore, I've removed all calls of #defaultSetting(false) from the Flags. That makes the code a bit nicer :slight_smile:
2018-12-27 11:24:53 +01:00
tastybento
d7851b923e
Fixes reload of locales from addons
...
This was a bigger job than expected. I moved the addon loading locale
stuff into the LocalesManager class from the AddonsManager and put a jar
file lister in Utils. There could be some more combining of plugin jar
and addon jar file finding there. Finally, I added a sophisticated test
that creates a temporary addon jar with a locale file and checks that it
is saved correctly. Phew!
2018-12-25 23:17:06 -08:00