Commit Graph

2006 Commits

Author SHA1 Message Date
tastybento
4e0e283ace Pull island distance from settings instead of island 2019-05-02 21:23:46 -07:00
tastybento
800c111fd8 Fixes color code character. 2019-05-01 08:35:26 -07:00
tastybento
765f6adfce Makes console output more useful - just copy and paste missing YAML 2019-05-01 08:16:47 -07:00
tastybento
650e370ffe Rewrote chunk deletion (#648)
As of 1.14, chunk regeneration is no longer supported. This PR implements a not-chunk-based deletion that supports both 1.13 and 1.14 and which also allows us to get rid of the "multiple of 16" rule for island distances. This PR however does not remove the "multiple of 16" rule and a commit should be made thereafter.
This PR is also a pre-requisite to #640.

* Makes GameModes responsible for regenerating chunks.

* Deletes chunks manually to solve 1.14 chunk regen removal

* Fixes round up to 16 for island distance bug.

* Clean up - removing imports and stack traces

* Revert "Fixes round up to 16 for island distance bug."

This reverts commit 54f1ce0940.

* Adds island edge protection for deletion. Needs full testing.

* Completed testing. Works correctly.
2019-05-01 16:25:35 +02:00
Florian CUNY
95c0c612da Improved /bbox locale 2019-05-01 10:48:47 +02:00
Florian CUNY
51505ce276 Fixed typo in fr-FR locale 2019-05-01 10:21:10 +02:00
Florian CUNY
aee54b2162
Started fr-FR locale
#639
2019-05-01 10:00:55 +02:00
tastybento
6f00db0cc1 Added an admin locale analysis command.
Shows what strings are missing from which locale files.
2019-04-30 22:10:50 -07:00
tastybento
17493966d2 Merge remote-tracking branch 'origin/master' into develop 2019-04-29 19:43:09 -07:00
wellnesscookie
2ded5be6d6 Fixes user being spawned instead of target (#646)
If target had no island to be expelled to, second if statement would expel User (executor) itself
2019-04-29 18:25:08 -07:00
Florian CUNY
661bffad44
Improved javadoc on IslandsManager#getIslandCache() 2019-04-29 14:43:24 +02:00
tastybento
c785ccb39d Adds method to copy a clipboard without having to be a user. 2019-04-28 17:57:23 -07:00
tastybento
2b42de44c4 Adds method to obtain the island cache. 2019-04-28 17:57:01 -07:00
tastybento
4472817b07 Removed tests. 2019-04-28 07:32:42 -07:00
tastybento
2ee03cd081 Merge branch 'develop' of https://github.com/BentoBoxWorld/BentoBox.git into develop 2019-04-28 07:32:24 -07:00
tastybento
f714baaa5c Made a fix method private - should not be public API 2019-04-28 07:31:12 -07:00
Florian CUNY
f5b9b772d8 Made en-US more consistent 2019-04-28 15:11:45 +02:00
Florian CUNY
2eb0d657b4 Fixed typo in en-US locale 2019-04-28 14:40:28 +02:00
Florian CUNY
3fca2d7b8e Fixes build failing due to old Clipboard reference in Blueprint 2019-04-28 13:58:34 +02:00
Florian CUNY
2bc590d8d1 Slightly improved javadoc in Clipboard 2019-04-28 13:55:54 +02:00
Florian CUNY
bf7e3ab7b8 Removed duplicate Clipboard in api/blueprints package 2019-04-28 13:50:48 +02:00
Florian CUNY
854d06eef2 Improved code readability in Clipboard 2019-04-28 13:50:15 +02:00
tastybento
8a885eac7f Refactor of clipboard to separate out file saving/loading (#641)
* Refactor of clipboard to separate out file saving/loading

There's now a clipboard manager to handle file system loading and saving
so that the clipboard works purely in blocks (YAML).

* Fixes a few bugs

* Renamed getClipBoard to getClipboard
2019-04-28 13:41:24 +02:00
Florian CUNY
6100420bae Added better success messages to admin team commands
#630
2019-04-28 11:21:58 +02:00
Florian CUNY
f333cfbe6f Added [name] textvariable to admin setowner command 'already-owner' message 2019-04-28 11:15:26 +02:00
Florian CUNY
722f136e3f Added better success message to AdminTeamKickCommand
#630
2019-04-28 10:39:31 +02:00
Florian CUNY
a612f20af9 Removed useless empty strings from en-US locale 2019-04-28 10:23:16 +02:00
Florian CUNY
3ef6529c40 Added better success messages for admin deaths and island team kick commands
#630
2019-04-28 10:21:35 +02:00
Florian CUNY
c2659b8d12 Merge remote-tracking branch 'origin/develop' into develop 2019-04-27 21:05:03 +02:00
Florian CUNY
8ba0ebd170 Added better success feedback messages for IslandBanCommand and IslandUnbanCommand
#630
2019-04-27 21:03:40 +02:00
Florian CUNY
7a1b32eecf
Changed 1.14 to incompatible
Extensive tests proved BentoBox to not be 1.14-ready for now. Panels and Schems are breaking. Island deletion fires errors.
2019-04-23 13:29:09 +02:00
Florian CUNY
a268bf7b52
Added 1.14 as not supported 2019-04-23 06:42:30 +02:00
tastybento
cfee1229d1 Uses BoundingBox for copying blocks to schems
https://github.com/BentoBoxWorld/BentoBox/issues/636
2019-04-22 07:35:54 -07:00
Florian CUNY
b556b3fb0a Added a description templates for icons in the catalog
Also made them display the (unlocalized) description and topic.
2019-04-21 16:10:09 +02:00
Florian CUNY
5333f694cb Made the GitHub data addons catalog parser supports spread JSON 2019-04-21 14:16:21 +02:00
Florian CUNY
e182bbac2a Made the addon icon in Catalog send a link to latest release in chat 2019-04-21 11:55:26 +02:00
Florian CUNY
e522d7155a Added some since javadoc annotations in WebManager 2019-04-21 11:12:22 +02:00
Florian CUNY
0f7c5895f5 Made the GitHub connection interval config check more permissive
So that negative values will also disable the repeating task
2019-04-21 10:39:01 +02:00
Florian CUNY
f5df341212 Removed 'web.github.flush-data-to-files' from config 2019-04-21 10:34:48 +02:00
Florian CUNY
aebbbabb5c Updated ManagementPanel to use the new methods from CatalogPanel
And added some nullability annotations there
2019-04-21 10:30:03 +02:00
Florian CUNY
a728f5e531 Finished implementation of the Catalog Panel
It requires some polishing, but it is working.
2019-04-21 10:28:48 +02:00
Florian CUNY
8fcbdc716e Un-hid 'web.github.connection-interval' in config.yml 2019-04-20 12:01:29 +02:00
Florian CUNY
70f589538c Setup the basic Catalog panel 2019-04-20 12:00:59 +02:00
Florian CUNY
d1732e4f20 un-hid 2 GitHub-related settings in config 2019-04-19 18:49:47 +02:00
Florian CUNY
0108d254ee Fixed addons and hooks icons in Management Panel not going to the next line 2019-04-19 10:53:14 +02:00
Florian CUNY
3bb5ebb688 Changed PlaceholderAPI hook's icon to a NAME_TAG 2019-04-19 10:43:07 +02:00
Florian CUNY
80f269c38d Added description for /bbox catalog (en-US) 2019-04-19 10:40:07 +02:00
Florian CUNY
15351c61c8 Merge remote-tracking branch 'origin/develop' into develop 2019-04-18 14:43:34 +02:00
Florian CUNY
8601cd6a0d Added /bentobox catalog 2019-04-18 14:42:32 +02:00
Florian CUNY
e7cd9d1453 Started implementation of the CatalogPanel 2019-04-18 14:42:00 +02:00
Florian CUNY
c47a41f3fc Removed the drafty Github api - we now use the GitHubAPI4Java :) 2019-04-18 14:41:29 +02:00
tastybento
7499b19fea Added offline message event.
This event is fired if the player is offline but the recipient of a
message.
2019-04-17 22:22:16 -07:00
Florian CUNY
a26341e36f
Fixed BentoBox still disabling if running on incompatible server
This fixes commit 0d6f872420.
2019-04-17 22:58:17 +02:00
Florian CUNY
a18ed9b999 Added a "compatibility" icon in the Management Panel 2019-04-17 21:54:30 +02:00
Florian CUNY
82dccfd839 Minor improvement of the comparator in /bbox version 2019-04-17 21:53:32 +02:00
tastybento
197d51add0 Fixes issue with teleporting from standard nether or end
https://github.com/BentoBoxWorld/BentoBox/issues/634
2019-04-17 09:35:55 -07:00
Florian CUNY
6bf66ec98c Started implementation of Blueprints (replacement of Schems) 2019-04-14 14:55:24 +02:00
tastybento
4e73d7de5a Improvements to the Paster (#632)
* Version up 1.4.1-SNAPSHOT

* Sets pos1 and pos2 after pasting a loaded schem

Corrects version name in POM.

* Shifted schem name validation into SchemsManager
2019-04-14 01:54:04 +02:00
Florian CUNY
141e1d388d Added a gameMode field to islands for convenience usage
#631
2019-04-13 14:44:31 +02:00
Florian CUNY
9386e8aa71 Added Dynmap hook
#475
2019-04-13 14:22:05 +02:00
Florian CUNY
7df34d73ba Made the ManagementPanel display hooks 2019-04-11 14:44:30 +02:00
Florian CUNY
f27d97e05f Added some Javadoc in HooksManager 2019-04-11 14:02:37 +02:00
Florian CUNY
612ae93faf Added icon (Material) to hooks 2019-04-11 13:58:11 +02:00
Florian CUNY
7ff3289afa Added island_members_max placeholder
#621
2019-04-11 11:10:49 +02:00
Florian CUNY
7d57effd65 Improved the names of the two previously added placeholders
island_trusted_count -> island_trustees_count
island_coop_count -> island_coops_count
#621
2019-04-11 11:02:56 +02:00
Florian CUNY
5450ef6a59 Added ISLAND_TRUSTED_COUNT and ISLAND_COOP_COUNT placeholders
#621
2019-04-11 11:01:41 +02:00
Florian CUNY
a045ea1a8e Added Island#getMemberSet(int, boolean) to specify if we want only the specific rank or the above ranks included 2019-04-11 11:00:02 +02:00
Florian CUNY
f41359ce4d Added ISLAND_MEMBERS_COUNT, ISLAND_VISITORS_COUNT, ISLAND_BANS_COUNT
#621
2019-04-11 10:53:00 +02:00
Florian CUNY
b0d4604c63 Renamed GameModePlaceholders to GameModePlaceholder
(enum names should be singular)
2019-04-11 10:47:25 +02:00
Florian CUNY
1d119ddea1 Removed "warp not safe" message, replaced with the (renamed) "no-safe-location-found" 2019-04-11 10:37:14 +02:00
Florian CUNY
a25ab326c3 Added OFFLINE_GROWTH flag localization (en-US)
Damn, how could I have missed that + how could nobody have noticed already ? xD
Thanks Liam from Discord!
2019-04-10 21:52:19 +02:00
tastybento
f5ad5aa2c9 Improves API and JavaDocs for getMembers (#628)
* Improves API and JavaDocs for getMembers

https://github.com/BentoBoxWorld/BentoBox/issues/627

* Fixed indentation in Island
2019-04-10 15:40:54 +02:00
Florian CUNY
aeb0e7d4fa Added default white color to gamemode addons' icons name 2019-04-10 15:22:23 +02:00
Florian CUNY
c687d18385 Introducing the BentoBox Management Panel (/bbox manage)
As it mostly relies on other panels yet-to-be-implemented, it doesn't do much. But it was fun to do!
2019-04-10 14:37:14 +02:00
Florian CUNY
2c371f4091 Added icon for addons
It will be used to represent the addon in menus
Default is PAPER
2019-04-10 13:16:47 +02:00
Florian CUNY
81cca6adc8 Added %[gamemode]_world_islands% and %[gamemode]_rank% placeholders
#621
2019-04-08 20:47:45 +02:00
Florian CUNY
246a6c30d0 Improved documentation of Island#getMembers() and Island#getMemberSet() 2019-04-08 20:38:50 +02:00
Florian CUNY
af2f600621 Fixed tests in IslandResetCommandTest 2019-04-08 11:34:51 +02:00
Florian CUNY
79941b5e63 Added %[gamemode]_resets_left% placeholder
#621
2019-04-08 10:51:00 +02:00
Florian CUNY
d1a3a8285f Added PlayersManager#getResetsLeft(World, UUID) 2019-04-08 10:49:22 +02:00
Florian CUNY
38875829b9 Ignored PlaceholdersManagerTest tests - could not fix them 2019-04-08 10:34:25 +02:00
Florian CUNY
166f7b97d6 Added %[gamemode]_resets% placeholder
#621
2019-04-08 10:27:03 +02:00
Florian CUNY
5177e2be09 Added nullable annotation on Hook#getPlugin() 2019-04-07 21:37:23 +02:00
Florian CUNY
5dd7796be4 Deprecated GameModePlaceholderManager
GameModePlaceholderManager#registerGameModePlaceholders(...) is now handled by PlaceholdersManager#registerDefaultPlaceholders(...).
2019-04-07 20:59:21 +02:00
Florian CUNY
9e12f06599 Improved default placeholders registration
To keep it simple: `%bentobox_bskyblock-island-distance%` is now `%bskyblock_island_distance%`.
I tried to keep some legacy support though.
2019-04-07 11:18:18 +02:00
Florian CUNY
749b88669c Added nullability annotations to some Island's fields 2019-04-07 10:43:24 +02:00
Florian CUNY
962bc50aaa Added nullable annotation to Island#getCenter 2019-04-07 10:41:32 +02:00
Florian CUNY
38f088bb35 Added has-island placeholder
#621
2019-04-07 10:16:59 +02:00
Florian CUNY
d283de9440 Added island-center placeholder
#621
2019-04-07 10:15:23 +02:00
Florian CUNY
e66f3842b7 Fixed GameModePlaceholderManager tests 2019-04-07 10:13:34 +02:00
Florian CUNY
79ca7512d1 Made the gamemode placeholders no longer return an empty string if player doesn't have an island 2019-04-07 10:02:55 +02:00
Florian CUNY
e8ec7b24b4 Added nullability annotations to both PlaceholderReplacers' #onReplace(...) method 2019-04-07 10:02:10 +02:00
Florian CUNY
b40f07f763 Added island center related placeholders
#621

* island-center-x
* island-center-y
* island-center-z
2019-04-07 09:46:02 +02:00
Florian CUNY
0bcbdf245a Removed useless code and erroneous documentation in GameModePlaceholderManager 2019-04-07 09:44:58 +02:00
Florian CUNY
5a5e0dafc0 Removed deprecated methods in PlaceholderAPIHook 2019-04-07 09:38:30 +02:00
Florian CUNY
00546c2cb6 Fixed indentation in GameModePlaceholderManager 2019-04-07 09:33:50 +02:00
Florian CUNY
01e1147c7f Improved handling of gamemode default placeholders 2019-04-06 21:09:31 +02:00
Florian CUNY
4d8bb71354 Release 1.4.0 2019-03-28 20:40:37 +01:00
Rem
8581522475 Added Akarin and Glowstone in server compatibility check (#620) 2019-03-28 20:22:52 +01:00
Florian CUNY
1c2d3bed41 Fixed missing import 2019-03-28 20:11:55 +01:00
Florian CUNY
b72b5830a8 Removed no longer needed tests (due to spigot's nullability annotations) 2019-03-28 20:08:54 +01:00
Florian CUNY
a54412e266 Fixed typo from 0d6f872420 2019-03-28 20:04:15 +01:00
tastybento
0d6f872420 Removes disablement of plugin for incompatible servers.
https://github.com/BentoBoxWorld/BentoBox/issues/619
2019-03-26 08:14:09 -07:00
Florian CUNY
70749b0d16 Fixed another bunch of code smells 2019-03-24 15:51:45 +01:00
Florian CUNY
5073d9cf5c Fixed code smells 2019-03-24 15:47:25 +01:00
tastybento
2912ae18d2 Auto add default placeholders for GameModeAddons (#616)
https://github.com/BentoBoxWorld/BentoBox/issues/322
2019-03-24 15:30:58 +01:00
Florian CUNY
1eadddee47 Made addons opt-in by default to the addons metrics 2019-03-24 10:14:27 +01:00
tastybento
7a7ca42383 Refactored toPanelItem to make it easier to understand 2019-03-23 18:59:30 -07:00
tastybento
af25bba60c Fix code smells. 2019-03-23 18:40:30 -07:00
tastybento
1f341f4929 Remove code smells due to nonNull Spigot settings
Let's see if the nonNull's are really true!
2019-03-23 16:34:04 -07:00
tastybento
23491d0c4a
Flag visibility (#617)
* Saves world settings to config.yml when they are changed mid-game.

* Fixes and adds to tests

* WIP: Added visibility settings for flags.

Tests still need to be fixed and requires saving to config.yml.

* Fixes tests

* Completed changes.

* Renames method to be hidden flags instead of visible settings

GameModeAddons will need to adjust WorldSettings API based classes.
2019-03-23 15:38:06 -07:00
tastybento
cab584d13d Saves world settings to config.yml when they are changed mid-game. (#615)
Addresses https://github.com/BentoBoxWorld/BentoBox/issues/614
2019-03-23 21:54:45 +01:00
tastybento
2ba0000a8f
Javadoc typo fix 2019-03-21 21:34:17 -07:00
tastybento
7990378355 Adds island expel command.
Requires GameModeAddons to use it.

https://github.com/BentoBoxWorld/BentoBox/issues/524
2019-03-21 20:41:30 -07:00
tastybento
99e9ad6ac8 Makes podzol yield podzol when broken if coarse dirt tilling is denied
https://github.com/BentoBoxWorld/BentoBox/issues/613
2019-03-20 23:38:02 -07:00
tastybento
68a52c71bf Prevents dragon eggs from teleporting outside of protection zone
https://github.com/BentoBoxWorld/BentoBox/issues/558
2019-03-20 22:46:13 -07:00
tastybento
05e542442e Adds an admin schem list command and test class
Lists available schems for game mode

https://github.com/BentoBoxWorld/BentoBox/issues/563
2019-03-20 22:33:30 -07:00
tastybento
39c3861391 Item Frames could be placed on any island.
https://github.com/BentoBoxWorld/BentoBox/issues/610
2019-03-17 15:18:19 -07:00
tastybento
47900fd183 Handle null center locations.
Cloning null was causing an NPE.
2019-03-16 10:44:14 -07:00
tastybento
277378aaa3 Fix to BentoBox version error
https://github.com/BentoBoxWorld/BentoBox/issues/608
2019-03-13 18:03:58 -07:00
tastybento
ed7e301b82 Removing sorting of gameworlds for debug purposes
https://github.com/BentoBoxWorld/BentoBox/issues/608
2019-03-13 08:51:29 -07:00
tastybento
60b075c668 Fixes bug where coop or trusted could sethomes on other islands
https://github.com/BentoBoxWorld/BentoBox/issues/588
2019-03-13 00:01:23 -07:00
tastybento
8ad546df6f Fixes home teleport when in some types of boat
Oak and spruce boats were causing errors due to the mismatch between
enums for tree species and material names.

https://github.com/BentoBoxWorld/BentoBox/issues/606
2019-03-12 23:52:05 -07:00
tastybento
3f355f59d1 Added defensive code to protect from null gamemode worlds
Related to https://github.com/BentoBoxWorld/addon-invSwitcher/issues/2
2019-03-12 23:22:04 -07:00
tastybento
fd7e3e4154 Changed approach to support test concurrency 2019-03-12 20:35:33 -07:00
tastybento
cb09ec2e3a Switched from plugin.getServer() to Bukkit.getServer() to enable tests
plugin.getServer() cannot be mocked because it is final.
2019-03-11 22:58:30 -07:00
tastybento
adf0b8247f Added database test classes for YAML 2019-03-11 22:53:40 -07:00
tastybento
384047329f Added Database class unit test class 2019-03-11 20:26:41 -07:00
tastybento
015f1dd694 Fixed setUp name of method 2019-03-11 19:01:45 -07:00
tastybento
a2631b88a6 Removed static and server calling from test class. 2019-03-11 19:00:05 -07:00
Florian CUNY
2935f41173 Made Island#getCenter() return a clone of the Location
As suggested in https://github.com/BentoBoxWorld/BentoBox/issues/591#issuecomment-471314358
2019-03-11 13:41:01 +01:00
tastybento
75bbc13cf5 Improved islands async deletion from database (#605)
Addresses https://github.com/BentoBoxWorld/BentoBox/issues/591
2019-03-11 08:41:41 +01:00
tastybento
cfa6861e58 Added IslandCreateCommand test and use of canExecute API. 2019-03-09 22:09:54 -08:00
tastybento
a6e72ec018 Small change to CustomIslandMultiHomeHelp test. 2019-03-09 22:09:11 -08:00
tastybento
e0a8831ae0 Added test class for CustomIslandMultiHomeHelp class 2019-03-09 21:22:00 -08:00
tastybento
2cdbc25f6a Rewrote Flag test class for better coverage 2019-03-09 20:55:54 -08:00
tastybento
127bc1e338 Removed extraneous BeforeClass from Flag test class 2019-03-09 19:33:18 -08:00
tastybento
ac079a6686 Improved PanelItemBuilder test class 2019-03-09 19:31:18 -08:00
tastybento
91dec86b5a Added tests to SafeSpotTeleport test class 2019-03-09 19:31:06 -08:00
tastybento
78d45364aa Improved FireListener test class 2019-03-09 19:30:49 -08:00
tastybento
58a975b5a5 Cleaned up MobSpawnListener test class. 2019-03-09 18:55:29 -08:00
tastybento
a1e6f37963 Fixes HurtingListener test class 2019-03-09 18:50:34 -08:00
tastybento
9f997f4548 Fixes MobSpawnListener test class 2019-03-09 18:50:19 -08:00
tastybento
ee5a2c920b Added Panel Test class.
Fixed bugs with head requesting.
2019-03-09 18:43:27 -08:00
tastybento
8f24e59a21 Fixes IslandsManager test cases and pufferfish removal
The clear area method should not remove pufferfish as per
https://github.com/BentoBoxWorld/BentoBox/pull/595
2019-03-09 16:54:54 -08:00
tastybento
16388e4721 Added Notifier test class 2019-03-09 16:42:46 -08:00
Florian CUNY
1953d966dc Fixed code smells in YamlDatabaseHandler 2019-03-09 21:55:13 +01:00
BONNe
7a0939e171 Improved handling of Phantoms, Pufferfishes and a few other mobs (#595) 2019-03-09 21:21:46 +01:00
tastybento
9ba34d1e92 Skip synthetic fields from Jacoco or compiler
When using introspection, synthetic fields should be skipped. These
fields can be added by Jacoco or even the compiler so will cause
problems during unit testing.

Refactored YamlDatabaseHandler to be easier to understand.
2019-03-08 22:29:28 -08:00
BONNe
d11a27dc6d Fixed MILKING flag not protecting milking Mooshrooms (#602)
Add extra PlayerInteractEntityEvent handling that prevents from using bowl on mooshrooms without MILKING protection flag.
2019-03-08 20:40:42 +01:00
BONNe
07b4e2d30c Fixed ArrayOutOfBoundsException in admin delete command (#600)
When admins tried to delete island, they got an ArrayOutOfBounds exception.
This will fix it.
2019-03-08 20:38:59 +01:00
tastybento
d4d1b77c24 Added test class for island team invite accept command.
Reduced complexity of command.
2019-03-07 22:57:49 -08:00
tastybento
a397945248 Reduce complexity code smell. 2019-03-07 22:05:24 -08:00
tastybento
7544660643 Reduce complexity code smell. 2019-03-07 21:59:37 -08:00
tastybento
d3be21b3ae Fixed minor code smells for db handlers. 2019-03-07 18:44:15 -08:00
tastybento
7471dd6f2e Enable Ops to adjust any island settings including spawn island
https://github.com/BentoBoxWorld/BentoBox/issues/599
2019-03-07 10:02:40 -08:00
tastybento
9318973459 Does not remove arrows or tridents if PVP is disabled.
https://github.com/BentoBoxWorld/BentoBox/issues/597
2019-03-06 22:05:26 -08:00
tastybento
9742c1f0e3 Fixes NPE when going through a non-BentoBox world portal.
https://github.com/BentoBoxWorld/BentoBox/issues/583

Caused by a failure to check that world was in the known BentoBox worlds
before calling the IWM method.
2019-03-06 21:38:15 -08:00
tastybento
f0b57a3a64 Fixes test for offline redstone listener 2019-03-06 21:28:20 -08:00
Florian CUNY
2bb4301af7 Removed unneeded dangling javadoc in newly created test classes 2019-03-04 08:38:29 +01:00
Florian CUNY
ac1128506e Added Flags#OFFLINE_GROWTH
#580
2019-03-04 08:29:43 +01:00
Florian CUNY
2ae36e737f Improved OFFLINE_REDSTONE handling (and added javadoc) 2019-03-04 08:22:18 +01:00
tastybento
c004c8e4a4 Added InventoryListener test class. 2019-03-03 22:26:52 -08:00
tastybento
326d6d033c Added BucketListener test class. 2019-03-03 21:53:43 -08:00
tastybento
e9dc678a08 Added EggListener test class. 2019-03-03 21:28:43 -08:00
tastybento
9659610b11 Added BreakBlocksListener test class.
Also added a way to trap null location checks with checkIsland in
FlagListener.
2019-03-03 21:18:38 -08:00
tastybento
ff6b754333 Adds ender crystal protection.
https://github.com/BentoBoxWorld/BentoBox/issues/589
2019-03-03 20:00:11 -08:00
tastybento
15f97927de Fixes range resetting if player does not have a range permission.
If a player's island range is set using the range set admin command, the
range was being reset when the player logged in if they had no range
permission.

https://github.com/BentoBoxWorld/BentoBox/issues/484
2019-03-03 19:23:15 -08:00
Florian CUNY
f1b24a45d3 Fixed IslandEnterEvent and IslandExitEvent not being called if Flags#ENTER_EXIT_MESSAGES was set to false 2019-03-03 17:39:58 +01:00
Florian CUNY
cdaec6c517 Removed unused import in PlaceholderAPIHook 2019-03-03 17:39:22 +01:00
Florian CUNY
c5dc7fcfad Added methods to unregister placeholders in PlaceholdersManager
#592
2019-03-03 16:29:46 +01:00
Florian CUNY
4f7de44b67 Fixed tests 2019-03-03 15:33:54 +01:00
YellowZaki
11c0331abd Players with "admin.noban" permission can't be banned (#590)
From this https://github.com/BentoBoxWorld/BSkyBlock/blob/master/src/main/resources/addon.yml#L132
2019-03-03 09:14:53 +01:00
Ranald
7c01199763 Cleaned code in IslandRespawnListener (#587)
1. Made respawn map private and final.
2. Changed value type from World to UUID. (weaker reference)
3. Removed ignoreCancelled from both listener annotations. (neither events can even be cancelled)
4. Changed program flow from "if-so-continue" to "if-not-return". (easier to follow and read)
5. Added basic comments on what each check does.
6. Removed redundant flag check. (wouldn't be in the map if it wasn't true)
7. Removed redundant Map contains, get, and then remove calls. (A simple call to remove and a null check are more efficient)
2019-03-02 22:47:52 +01:00
Florian CUNY
d34caf6546 Version 1.3.1 2019-03-01 21:14:44 +01:00
Florian CUNY
980cdb9b9f Added Flags#EXPERIENCE_BOTTLE_THROWING (splited from POTION_THROWING) 2019-03-01 21:10:27 +01:00
Florian CUNY
f422a22f02 Fixed NPE in FlagListener if provided location is null
Fixes #585
2019-03-01 20:54:50 +01:00
tastybento
98e0da6af2 Fixes UTF8 database connection issue.
https://github.com/BentoBoxWorld/BentoBox/issues/582

Adjusts JDBC connection string to specifically use unicode and UTF8.
2019-02-28 20:35:10 -08:00
Florian CUNY
bbeefc20ac
Fixed mishandling in PortalTeleportationListener
it's a very stupid mistake... Which caused the "to End" teleportation to teleport the player to the Nether...
2019-02-27 14:25:32 +01:00
tastybento
d68817863a Displays BentoBox version info alphabetically
https://github.com/BentoBoxWorld/BentoBox/issues/555
2019-02-26 09:09:12 -08:00
tastybento
2664acbe47 Adds null check for world in portal teleport listener
This should not occur, but apparently, it can sometimes.

https://github.com/BentoBoxWorld/BentoBox/issues/583
2019-02-26 08:19:05 -08:00
Florian CUNY
b5a657de52 Added Flags#LEAF_DECAY 2019-02-24 17:49:07 +01:00
Florian CUNY
7da7dd4884 Added a better "not-in-team" message for AdminTeamKickCommand
#577
2019-02-24 11:22:33 +01:00
Florian CUNY
73417fd990 Fixed AdminTeamKickCommand not working properly
#577
2019-02-24 11:11:25 +01:00
Florian CUNY
7fff4257fa Added Flags#DRAGON_EGG
#559
2019-02-23 11:03:00 +01:00
Florian CUNY
ec75133d54 Version 1.3.0 2019-02-22 11:25:39 +01:00
Florian CUNY
587e400287 Fixed code smells 2019-02-22 10:40:05 +01:00
Florian CUNY
29eb4b0486 Disabled the whole GitHub connectors thing and hid related settings 2019-02-22 10:03:04 +01:00
Florian CUNY
a916e04136 Improved '/bbox v' description
#555
2019-02-22 09:58:48 +01:00
Florian CUNY
e361d9867c Fixed PVPListenerTest 2019-02-21 22:32:58 +01:00
Florian CUNY
54aa2e61d3
Fixes IllegalArgumentException in VaultHook (#574)
* Added ability to get a User instance from an OfflinePlayer

* Made VaultHook use OfflinePlayer instead of Player

Fixes #572

* Fixed incomplete previous commit
2019-02-21 22:20:50 +01:00
tastybento
2f432e9f35 Merge branch 'develop' of https://github.com/BentoBoxWorld/bentobox.git into develop 2019-02-21 12:43:03 -08:00
tastybento
b711f3fd6c Fixes assertion error. 2019-02-21 12:42:53 -08:00
Florian CUNY
e7b2a6ed39 Updated the config header to talk about the ability to reload config 2019-02-21 20:34:31 +01:00
Florian CUNY
29c7adec44 Marked 'general.database-type' ConfigEntry as "needsReset" 2019-02-21 20:18:05 +01:00
Florian CUNY
d91e29a2b7 Improved ConfigEntry explicative comments in config 2019-02-21 20:17:28 +01:00
tastybento
83827da448 Fixes a number of issues with spawn island setting
https://github.com/BentoBoxWorld/BentoBox/issues/523

Uses safe-spot teleport to teleport players.
The spawn point of an island was not being set by the setspawn command.
The spawn point on the spawn island can now be reset using the setspawn
command.
If the spawn point does not exist, a safe spot will be found.

Added AdminSetspawnCommand test class.
2019-02-21 10:46:29 -08:00
tastybento
8dd1ce10a9 Merge branch 'develop' of https://github.com/BentoBoxWorld/bentobox.git into develop 2019-02-21 10:42:59 -08:00
tastybento
278eb37033 Fixes bug where player will not exit SPECTATOR mode
If the proposed location was immediately safe, the player was not being
put back to the default game mode.
2019-02-21 10:41:59 -08:00
Florian CUNY
c0c2b63af6 Fixed spacing in "cannot add island to grid" error in IslandGrid 2019-02-21 18:29:41 +01:00
Florian CUNY
0d96eab394 Improved comments handling in YamlDatabaseHandler
And also added the "since" thing from ConfigEntry.
2019-02-21 18:28:23 +01:00
BONNe
54811c5dbd Fix issue with offline players that kept inventory (#564)
Fixes #521 


* Fix issue with offline players that kept inventory, after being kicked out of team. (#521)

* Update src/main/java/world/bentobox/bentobox/api/commands/island/team/IslandTeamKickCommand.java

Co-Authored-By: BONNe <bonne@bonne.id.lv>

* Update IslandTeamKickCommand.java

* Change QuarantinedWorld to PendingKicks.

Increase PlayerChangedWorldEvent event priority.
2019-02-21 16:55:09 +01:00
Florian CUNY
cdb83e576a Added a bunch more settings in config 2019-02-21 11:17:39 +01:00
Florian CUNY
1bdb919734 Added 'web.github.download-data' in config 2019-02-21 10:53:01 +01:00
Florian CUNY
e041107df9 Moved 'general.metrics' to 'web.metrics' in config 2019-02-21 10:39:06 +01:00
Florian CUNY
e115a1df4d Fixed code smells 2019-02-21 10:00:59 +01:00
tastybento
160ef002e4 Fixes island coords that are not on the grid.
https://github.com/BentoBoxWorld/BentoBox/issues/549
2019-02-20 21:42:43 -08:00
tastybento
30e3dbf269 Fixes NPE if admin register cannot get a valid island slot 2019-02-20 13:17:11 -08:00
tastybento
da464621e0 Enables negative values in numbered permissions.
https://github.com/BentoBoxWorld/BentoBox/pull/560
2019-02-20 12:33:30 -08:00
tastybento
c01bd2e784 Fix admin unregister test. Checks canExecute, not execute. 2019-02-20 11:58:08 -08:00
tastybento
f515bb6205 Fixes bug where island location was shifting due to home calculation
https://github.com/BentoBoxWorld/BentoBox/issues/549

Using the add method on the location was actually changing the
fundamental island location and shifting all subsequent islands off by
0.5 every time.
2019-02-20 11:18:42 -08:00
tastybento
212c690117 Make sure to check for correct arguments. 2019-02-20 11:03:58 -08:00
Florian CUNY
e44894a803 Added Island's UUID in Island#showInfo(User) 2019-02-20 15:38:38 +01:00
Florian CUNY
2eba3224b7 Added #tabComplete(...) in AdminInfoCommand 2019-02-20 15:21:28 +01:00
Florian CUNY
302ab0fd3a Fixed 'commands.island.team.invite.accept.confirmation' in en-US locale 2019-02-20 11:28:24 +01:00
Florian CUNY
fa1325bf14 Fixed IslandSethomeCommandTest 2019-02-20 11:20:14 +01:00
BONNe
f5bbe35bd8 Fixed members not being able to set homes (#569)
#538 
It happened because IslandManager#hasIsland(World,User) returns true only if island is owned by player, team members will always gets false, as they do not directly own an island.
2019-02-20 10:49:18 +01:00
tastybento
bce30ce83d Fix to include team members.
96dda2c96d (r32386838)
2019-02-19 23:46:53 -08:00
tastybento
96dda2c96d Fixed portal teleportation listener
The reason the test was failing was because the check on whether the
player had an island or not was not being done. I added the check back
in. So now, if a player has no island, the portal will just do nothing.
2019-02-19 23:27:11 -08:00
tastybento
e56d6715af Fixed default help command test class 2019-02-19 23:03:17 -08:00
tastybento
dfc667953f Fixed team kick test class 2019-02-19 22:49:48 -08:00
BONNe
34b2440117 Fixed owners who could not kick team members (#567)
So, UUID cannot be compared with == and !=. It should be always use UUID#equals(UUID) method.
2019-02-19 23:30:37 +01:00
BONNe
a505a3cede Hopper, Furnace and Chest Minecarts are now protected by proper flags (#565)
#550 

* Implement HopperMinecart, ChestMinecart and FurnaceMinecart protection by proper flags (#550).

* Add proper Minecart while checking player interact at entity event.
Minecraft flag should affect RidableMinecrat.
Added ExplosiveMinecart and CommandMinecart to avoid their usage, as they are not protected by other flags.

* Fixed the "basic" Minecart protection
2019-02-19 21:46:08 +01:00
Florian CUNY
9b1e955d18 Added Flags#FLINT_AND_STEEL, Flags#FIRE_BURNING, Flags#FIRE_IGNITE and removed Flags#FIRE + fixed Flags#FIRE_SCOOPING description in en-US locale
Closes #414

commit 0b551d174289ea1b75e55f0f4d268592a716f66f
Author: Florian CUNY <poslovitch@bentobox.world>
Date:   Tue Feb 19 10:50:08 2019 +0100

    Updated FireListenerTest

commit 3f2cc83037e1994a686bacd4d8541eece8c9dc53
Author: Florian CUNY <poslovitch@bentobox.world>
Date:   Tue Feb 19 10:40:46 2019 +0100

    Added descriptions in en-US for FIRE_BURNING, FIRE_IGNITE and FLINT_AND_STEEL

commit 880df9e904a0121804a73c2fcb40b9faa2aa290b
Author: Florian CUNY <poslovitch@bentobox.world>
Date:   Tue Feb 19 10:35:54 2019 +0100

    Fixed description of FISH_SCOOPING

commit 02259b0f8fdad31e7431d4d525b74bee6b499813
Author: Florian CUNY <poslovitch@bentobox.world>
Date:   Tue Feb 19 10:34:54 2019 +0100

    Improved description of FIRE_SPREAD

commit 92c5d137d8fb114dacdebc32626e04a5ee16982b
Author: Florian CUNY <poslovitch@bentobox.world>
Date:   Tue Feb 19 10:30:17 2019 +0100

    Added Flags#FIRE_BURNING and Flags#Fire_IGNITE

    These are SETTING flags

commit 0be4a87c1986a55a15fa16e87e4073921a269e34
Author: Florian CUNY <poslovitch@bentobox.world>
Date:   Tue Feb 19 10:21:52 2019 +0100

    Added Flags#FLINT_AND_STEEL

    #414
2019-02-19 10:56:11 +01:00
Florian CUNY
095237cd5d Flags#values() will no longer return deprecated flags
Deprecated Flags are flags that will be removed. It is therefore better to not return them in this method.
2019-02-19 10:09:45 +01:00
Florian CUNY
66de769bb0 Added Island#getVisitors() and Island#hasVisitors() 2019-02-18 21:53:48 +01:00
Florian CUNY
8e21785811
Added 'pardon' as an alias in IslandUnbanCommand 2019-02-17 21:11:51 +01:00
Florian CUNY
b9bc394945 Ignored failing tests 2019-02-17 15:10:40 +01:00
Florian CUNY
9174410998 Added 'options' as another alias to IslandSettingsCommand 2019-02-17 15:10:30 +01:00
Florian CUNY
dd467f27be Added the 'all players selector' to AdminResetsResetCommand#tabComplete(...) 2019-02-17 15:10:08 +01:00
Florian CUNY
dfc1f46730 Forgot to remove debug and commented-out code 2019-02-17 14:46:26 +01:00
Florian CUNY
028785c4b0 Fixed end portal not linking to normal end world
Fixes #306
2019-02-17 14:29:12 +01:00
tastybento
bce17ce467 Added admin trash command to handle damaged island db (#546)
* WIP - adds admin commands to handle damaged island db

Trash, purge, etc.

DO NOT MERGE YET

https://github.com/BentoBoxWorld/BentoBox/issues/505

* Prefixes the island uniqueId with the game mode name.

This enables manual removal of old game mode island files from the
database by admins if required.

* Adds Admin trash and empty trash commands

* Adds various commands for trash management

* Remove unused imports

* Forgot the javadoc in IslandsManager
2019-02-17 13:32:05 +01:00
tastybento
063303ad0e Adds admin command to reset all island flags to default
Used when an admin wants to change the default flag settings for all
islands and reset every one in the world.
2019-02-16 22:31:46 -08:00
Florian CUNY
af6ec400d1 Fixed tests 2019-02-16 22:58:46 +01:00
Florian CUNY
658bd10e5c Removed unused imports in PortalTeleportationListener 2019-02-16 22:51:17 +01:00
Florian CUNY
edd774d979 Merged Standard and Island Nethers portal handling in the same method 2019-02-16 22:48:05 +01:00
DarkRails
781676a90f Remove inventory clear in any case (#553)
Before this change, the inventory was cleared in any case even if inventory clear is set to false in configuration
2019-02-16 11:43:39 -08:00
Florian CUNY
3aefdc449d Renamed NetherPortals to PortalTeleportationListener
It is a way more explicit and conventional name, in my opinion!
2019-02-16 11:17:48 +01:00
Florian CUNY
a364128c5e Extracted standard nether/end spawns protection into its own listener
It was previously handled in the NetherPortals listener
2019-02-16 11:09:34 +01:00
Florian CUNY
5d7a7a0363 Ignoring NetherTreesListenerTest for now 2019-02-16 10:59:30 +01:00
Florian CUNY
9803a02471 Added NonNull to all listeners constructors 2019-02-16 10:58:25 +01:00
Florian CUNY
16c4c9b0be Revert "Fixed errors in tests"
This reverts commit b7f9892d95.
2019-02-16 10:48:41 +01:00
Florian CUNY
0d7836ff12 Revert "Made each "basic" listeners register themselves on instanciation"
This reverts commit 53137b526d.
2019-02-16 10:48:39 +01:00
Florian CUNY
44729ae9cb Moved NetherTreesListener to the correct package 2019-02-14 11:34:33 +01:00
Florian CUNY
b7f9892d95 Fixed errors in tests
However, tests are still failing!
2019-02-14 11:32:16 +01:00
Florian CUNY
53137b526d Made each "basic" listeners register themselves on instanciation 2019-02-14 11:24:58 +01:00
Florian CUNY
7ac5f556a1 Started NetherTreesListenerTest
I haven't worked that much on it yet. I've got tons of other things to do!
2019-02-14 11:13:00 +01:00
Florian CUNY
1eac578ba1 Moved the Nether trees conversion to its own listener 2019-02-14 11:08:54 +01:00
Florian CUNY
1a3049b3b9 Fixed code smells 2019-02-14 10:41:39 +01:00
Florian CUNY
6b0b0237cd Removed unused import 2019-02-13 11:12:06 +01:00
Florian CUNY
a1d8c69556 Added BentoBox#logStacktrace(Throwable) 2019-02-13 11:03:26 +01:00
Florian CUNY
d5750ca509 Removed 'duplicate' log in AddonsManager#handleAddonError() 2019-02-13 10:51:12 +01:00
tastybento
58253eb7d7 Implements gamemode-specific flags API (#541)
* Implements gamemode flags API

https://github.com/BentoBoxWorld/BentoBox/issues/406

* New and improved
2019-02-13 07:58:33 +01:00
tastybento
f89419f3d8 Made declaring the player mandatory when calling FlagListener#checkIsland(...) (#543)
* WIP - See FlagListener.java for changes

Makes declaring the player mandatory for checkIsland method so it cannot
be forgotten and will be fresh every check.

See BlockInteractionListener for how it will look.

* Update src/main/java/world/bentobox/bentobox/api/flags/FlagListener.java

Co-Authored-By: tastybento <tastybento@users.noreply.github.com>

* Update src/main/java/world/bentobox/bentobox/api/flags/FlagListener.java

Co-Authored-By: tastybento <tastybento@users.noreply.github.com>

* Adjusted all the flags to new API
2019-02-13 07:55:36 +01:00
tastybento
3ca0c440e4 Sets initial home location in middle of block 2019-02-12 20:03:02 -08:00
Florian CUNY
c2a7ca86ff Fixed some code smells 2019-02-12 20:29:20 +01:00
Florian CUNY
7893c03a64 Merge branch 'github' into develop 2019-02-12 16:44:36 +01:00
Florian CUNY
7e0ea8d945 Added WebManager 2019-02-12 16:24:51 +01:00
Florian CUNY
3fb60480ff Added AddonDescription#getRepository() 2019-02-12 16:11:11 +01:00
Florian CUNY
68b7702b1c Made AddonClassLoader#asDescription() use 'false' as getBoolean("metrics")'s default value 2019-02-12 16:09:20 +01:00
Florian CUNY
592e144ef0 Removed useless super(); in RanksManager's constructor 2019-02-12 16:08:20 +01:00
Florian CUNY
7fa72fdb81 Added NonNull to FlagsManager#plugin 2019-02-12 16:07:58 +01:00
Florian CUNY
9d41991c75 Added API to get data from GitHub's Web API
This took me quite a long time, but I did it!
2019-02-12 15:34:26 +01:00
Florian CUNY
600634db2e Added Util#parseGitHubDate(String) 2019-02-12 14:51:52 +01:00
tastybento
d7db3b034c Removed debug 2019-02-11 22:44:38 -08:00
tastybento
75c9f6fb2c Enables dragon to be summoned using /summon command
https://github.com/BentoBoxWorld/BentoBox/issues/522
2019-02-11 19:11:48 -08:00
tastybento
179a71b548 Get island by its UUID API added
https://github.com/BentoBoxWorld/BentoBox/issues/341
2019-02-11 19:01:44 -08:00
tastybento
9dfb0573d9 Adds test class for Island Sethome command.
Refactors some of IslandSethomeCommand class to use the new canExecute
method.
2019-02-11 15:54:15 -08:00
tastybento
dd3bd6d9e7 Fixes sethome in nether and end bug.
https://github.com/BentoBoxWorld/BentoBox/issues/538
2019-02-11 14:46:54 -08:00
tastybento
1d5057ec5a Explicitly sets user for break blocks check.
The user was not being set. Also the ordering of event handling was
random because both listeners had the same priority.

Should fix:
https://github.com/BentoBoxWorld/BentoBox/issues/534
2019-02-11 07:39:03 -08:00
tastybento
28c89ff814 Revert "Explicitly set user for break blocks listener"
This reverts commit 5beeb97f99.
2019-02-11 07:16:16 -08:00
tastybento
9a3d4bef03 Handles setspawn better when a player owns the island
Island members were not being cleared from the island properly. It
should be done via IslandManager and not directly on the island object
because the island manager holds a number of ownership maps. Also the
player needs to have their island home locations cleared. Further, any
members of the island also need to be completely cleared from the
island.
Finally, as this is similar to unregistering the player from the island,
the event should be fired so that any addons know the island is no
longer owned and the owner no longer owns an island.
2019-02-10 22:04:05 -08:00
tastybento
564f60bab3 Fixes loading and setting of spawn island.
https://github.com/BentoBoxWorld/BentoBox/issues/523

When loading islands the spawn setting was not being checked so spawn
islands were not added to the spawn island map.
2019-02-10 22:00:50 -08:00
tastybento
ce0b9569ca Corrected comment 2019-02-10 21:58:56 -08:00
tastybento
ac2e3596f7 Made admin unregister command confirmable.
Uses new canExecute API.
Also correctly removes any island members from the island.
2019-02-10 21:57:58 -08:00
tastybento
1dc56dfc4f Removes runnable from approach.
This could cause problems with threads because runnable should not be
run like this (effectively async). It should only be run inside a Bukkit
scheduled task to run on the main thread.
2019-02-10 20:11:50 -08:00
tastybento
0cf0742c07 Remove code duplication. 2019-02-10 20:09:39 -08:00
tastybento
583311ce03 Merge branch 'develop' of https://github.com/BentoBoxWorld/bentobox.git into develop 2019-02-10 20:06:22 -08:00
tastybento
5beeb97f99 Explicitly set user for break blocks listener
Removed duplicate break blocks listener in
BlockInteractionListener.java. Why was it there? Am I missing something?
2019-02-10 20:06:13 -08:00
Florian CUNY
f0543bc85c Fixed SafeSpotTeleport being way too spammy
https://github.com/BentoBoxWorld/BentoBox/issues/306#issuecomment-462190682
2019-02-11 00:47:26 +01:00
tastybento
04e4b2dbe5 Merge branch 'develop' of https://github.com/BentoBoxWorld/bentobox.git into develop 2019-02-10 15:36:46 -08:00
tastybento
8334de8cba Fixes island pasting issue when pasting clipboard every tick.
https://github.com/BentoBoxWorld/BentoBox/issues/535

due to race conditions with task timers and incorrectly shared field
variables, islands would not paste completely if pasted every tick.
Now pasting is handled in its own class with a new instance created with
each paste.
2019-02-10 15:36:37 -08:00
Florian CUNY
4873d11ec3 Added Flags#BOAT
#387
2019-02-10 23:11:11 +01:00
Florian CUNY
a2607c913f Fixed AdminDeleteCommand tests (oopsie) 2019-02-10 22:59:03 +01:00
Florian CUNY
c86fb35aac Added Flags#MINECART
#387
2019-02-10 22:55:45 +01:00
Florian CUNY
865a1d0caa Added BentoBoxCommand#canExecute(User, String, List<String>)
#530
2019-02-10 22:32:33 +01:00
Florian CUNY
0fd043df23 Partially fixed island owner losing inventory on /is team kick
Partially fixes #521.
See https://github.com/BentoBoxWorld/BentoBox/issues/521#issuecomment-462128961 for reference.
2019-02-10 13:34:17 +01:00
Florian CUNY
f71ca4f084 Fixed likely NPE in IslandTeamKickCommand 2019-02-10 13:21:01 +01:00
Florian CUNY
890217939b Added some more package-info.java 2019-02-10 13:14:40 +01:00
Florian CUNY
82e7093fbc Added Flags#NATURAL_SPAWNING_OUTSIDE_RANGE
#513
2019-02-10 13:14:24 +01:00
BONNe
9708d9d3ed Correct Ender Dragon Block.
In Spigot (and Bukkit) the end exit portal frame and first dragon is generated after Ender Dragon Legacy check.
This check tries to find if in world exist Exit Portal, and if it does not find it, it generates everything from scratch.
So, to trick legacy check, it is enough to place 1 End Portal somewhere in (0.0) chunk, and portal will not be generated.
2019-02-10 01:28:51 +02:00
tastybento
7b612c102e Revert "Adds method to obtain island via island unique id."
This reverts commit f64968c7c7.
2019-02-09 08:26:55 -08:00
tastybento
46f39c3649 Merge branch 'develop' of https://github.com/BentoBoxWorld/bentobox.git into develop 2019-02-09 08:23:46 -08:00
tastybento
d17d19d5d3 Fixes horse and similar pasting from files
https://github.com/BentoBoxWorld/BentoBox/issues/532
2019-02-09 08:22:47 -08:00
Florian CUNY
b8afd1919f Added Flags#TREES_GROWING_OUTSIDE_RANGE
#512
2019-02-09 11:39:12 +01:00
Florian CUNY
69ca910df4 Made LiquidsFlowingOutListener priority to LOWEST 2019-02-09 11:35:28 +01:00
Florian CUNY
c623e7c036 Documented Flags#EGGS 2019-02-09 09:54:32 +01:00
tastybento
f64968c7c7 Adds method to obtain island via island unique id. 2019-02-08 21:56:14 -08:00
Florian CUNY
af96055753 Added testHasNotPermissionButIsOp in UserTest 2019-02-08 21:25:40 +01:00
Florian CUNY
2bec47ba90 Made User#hasPermission(String) return true if the user is op 2019-02-08 21:17:57 +01:00
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
f4c149dd6f Moved test classes to match src packages 2019-02-04 20:39:21 -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
30fb7820fc Minor modifications to ObsidianScoopingListenerTest 2019-02-03 13:59:00 +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
18eba5725c Uncommented out a failing test and added a Ignore annotation to it 2019-02-02 14:04:01 +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