Commit Graph

2034 Commits

Author SHA1 Message Date
Florian CUNY
86b9202b53 Fixes commit 4f84f37461
It was using the Player#sendMessage() instead of User#sendMessage()
2019-06-01 07:33:03 +02:00
Florian CUNY
eebb2a982d Added MVdWPlaceholderAPI support and improved placeholders integration
#651
2019-05-31 10:56:03 +02:00
tastybento
a87ef8bff6 Fixes new team members randomly cannot join island.
https://github.com/BentoBoxWorld/BentoBox/issues/718

Caused by edge case where island owner has no safe home spot and all
other safe spots checked were unsafe too. Now uses homeTeleport method
to do a full island search for a safe spot.
2019-05-30 23:30:34 -07:00
tastybento
2946e3c298 Fixes superflat generation with Multiverse
https://github.com/BentoBoxWorld/BentoBox/issues/716
2019-05-30 23:04:23 -07:00
YellowZaki
bd1cbf3252
End/Nether blueprint paste on teleport to dimension 2019-05-30 17:22:39 +02:00
tastybento
c7f2eb5f2a Fixes drop into block after island reset issue.
https://github.com/BentoBoxWorld/BentoBox/issues/705
2019-05-29 17:13:22 -07:00
YellowZaki
c7046be1de
Create end/nether island if not exists (TODO) 2019-05-29 21:33:16 +02:00
Florian CUNY
110deea28e Added "diameter" placeholder alternatives for island_distance and island_protection_range
Suggested on SpigotMC
2019-05-29 21:17:03 +02:00
Florian CUNY
8eadfc9212 Added since javadoc tag for IslandNearCommand 2019-05-29 21:08:20 +02:00
tastybento
607d92868e Hides deprecated flags from the flags list.
Related to https://github.com/BentoBoxWorld/BentoBox/issues/680

Redoes commit
095237cd5db3b7169df1275759c885b42d9d8d45#diff-fee448dd4d94f3c5faaab7655c47682c

Unknown flags in the database are now handled correctly. Added a test to
confirm correct operation.
2019-05-28 09:30:21 -07:00
Florian CUNY
ffd151c881
Added 1.14.2 as NOT_SUPPORTED
1.14.2 is still a buggy update, and SpigotMC likely won't release an official build for it at all.
2019-05-28 13:44:59 +02:00
tastybento
87e82f4d23 Stores blocks in order so blueprints are built from bottom up. 2019-05-27 14:44:58 -07:00
tastybento
7843d2b23a Fixes blueprint saving with same name.
Blueprints saved with the same name were not overwriting the internal
blueprint list causing duplicates.
2019-05-27 09:16:22 -07:00
tastybento
cca381e51a Fixes bug where chests were not being copied in blueprints
https://github.com/BentoBoxWorld/BentoBox/issues/706
2019-05-27 08:52:32 -07:00
tastybento
76391fd055 Fixes clearing of clipboard when copying
https://github.com/BentoBoxWorld/BentoBox/issues/707
2019-05-27 08:43:58 -07:00
tastybento
fb8e3887de Removes redundant approach.
https://github.com/BentoBoxWorld/BentoBox/issues/702
2019-05-26 22:18:03 -07:00
tastybento
94e90257fa Adds renaming and icon setting to the Blueprint Management panel
https://github.com/BentoBoxWorld/BentoBox/issues/701
2019-05-26 22:03:09 -07:00
tastybento
5acae3ff30 Fix instruction localization. 2019-05-26 19:41:57 -07:00
tastybento
2a1ce5eafa Added Blueprint Bundle renaming 2019-05-26 19:40:13 -07:00
tastybento
7882a77b14 Small optimization around utility sameworld check
May improve https://github.com/BentoBoxWorld/BentoBox/issues/676
2019-05-26 17:19:31 -07:00
tastybento
8ac0f08285 Fix - saved blueprints were using a null name until reload. 2019-05-26 16:33:29 -07:00
tastybento
0fd25f02cd Fixes pasting of blueprints with crops, etc.
https://github.com/BentoBoxWorld/BentoBox/issues/702

Also fixes pasting of entities in the ground when they are on blocks
like crops that are slightly less than an integer block high.
2019-05-26 16:07:50 -07:00
tastybento
c725a397e1 Added switch command help description. 2019-05-26 14:23:04 -07:00
tastybento
9e36865a9f Fixed some code smells (#698)
* WIP code clean up and code smell removal

* Tried to fix a few more code smells
2019-05-26 22:14:24 +02:00
Florian CUNY
daeae01d7b Added addon state display in /bbox v output
Updated all the locales accordingly
2019-05-26 21:59:51 +02:00
Florian CUNY
08b490c631 Added nullability annotations to PlayersManager#getName(UUID) 2019-05-26 21:58:24 +02:00
Florian CUNY
443a7c30c1 Added class-level javadoc in AdminSwitchCommand 2019-05-26 21:57:19 +02:00
tastybento
e1c8bb9f1c Adds Admin switch command to bypass protections.
Re-adds the global mod bypassprotect permission.

Adds removePerm and addPerm to user class.
2019-05-25 20:00:24 -07:00
tastybento
fc082558d5 Adjusted ordering of schematic block copying. 2019-05-25 12:34:53 -07:00
tastybento
f7ee12527a Fixes bedrock placement in blueprint.
Picks highest bedrock block as center block.
2019-05-25 12:18:41 -07:00
Florian CUNY
775b7f2377 Improved gameworlds output in /bentobox version
It now displays the three dimensions for each world using a three-colour scale. Green means the world is generated and is an "island" world; orange means the world is generated but is not an "island" world and red means the world is not generated or does not exist. Actually, the overworld is always green, so I didn't put checks for it.

I also improved the overall layout for the game worlds display in each localization file.
2019-05-25 10:34:32 +02:00
Florian CUNY
0d89f42441 Renamed "commands.bentobox.version.game-worlds" to "commands.bentobox.version.game-world" in locales 2019-05-25 09:58:18 +02:00
tastybento
a0d2320a04 Merge branch 'develop' of https://github.com/BentoBoxWorld/BentoBox.git into develop 2019-05-24 19:43:02 -07:00
tastybento
184a5712ae Fixes bugs with Blueprint locale.
Ensures newly saved Blueprints appear in blueprint manager.
2019-05-24 19:42:51 -07:00
Florian CUNY
e184ed833c Slightly improved Catalog code 2019-05-24 22:04:28 +02:00
tastybento
068b0e7667 Merge branch 'blueprint-locale' into develop 2019-05-24 12:40:52 -07:00
BONNe
f2877da896 Added Addon#registerFlag(...) method (#697)
* Add registerFlag method in Addon class that allows to register a new Flag just from Addon class.

This was missing, as request handlers and listeners already has faster methods.

* Update src/main/java/world/bentobox/bentobox/api/addons/Addon.java

Co-Authored-By: Florian CUNY <poslovitch@bentobox.world>

* Update src/main/java/world/bentobox/bentobox/api/addons/Addon.java

Co-Authored-By: Florian CUNY <poslovitch@bentobox.world>

* Use #getPlugin() instead of the getInstance
2019-05-24 17:33:54 +02:00
tastybento
a00dedbdc4 Fixed tests.
Relates to https://github.com/BentoBoxWorld/BentoBox/pull/692
2019-05-23 20:09:35 -07:00
BONNe
61a5b692ec Remove unnecessary checks in IslandsManager and IslandWorldManager (#692)
Removed checks overlaps a lot. It is not necessary to check multiple time if island is nether and end island, as they will not change their status in runtime.
2019-05-23 03:55:21 +02:00
tastybento
6024423dad Blueprint manager localization - WIP 2019-05-22 12:16:38 -07:00
tastybento
3a34133d1a Handles null flags in island object when loading from database
Flags can become unknown to BentoBox due to an addon no longer being
installed, or a flag being removed from the code. When this happens and
an island object is loaded, the map of flags could contain multiple null
keys, which is illegal and therefore the island would not load. (A map
can only have one null key). A change back in February was also
deregistering deprecated flags, so any old databases may have already
had one null flag in them.

This change will convert any unknown or null flags into a temporary flag
with a known ID that starts with NULL_FLAG_ followed by a UUID. This
enables the object to be loaded by GSON successfully. Immediately after
loading, any flags that start with NULL_FLAG are removed, thus cleaning
up the flag map.

Addresses
https://github.com/BentoBoxWorld/BentoBox/issues/680
2019-05-21 00:15:58 -07:00
tastybento
4c16b0d779 Implement Blueprint Bundles GUI (#691)
* WIP Blueprint GUI

* Basic implementation. Still WIP.

Needs to enable description adding.

* Added description entry for blueprint bundle.

* Readded maven-javadoc-plugin
2019-05-20 08:18:24 +02:00
tastybento
a0d6dd1d46 A copy over of the mysql async code to run on mariadb. 2019-05-19 09:07:28 -07:00
tastybento
b08b2c9ab5 Merge branch 'develop' of https://github.com/BentoBoxWorld/BentoBox.git into develop 2019-05-19 08:42:14 -07:00
Florian CUNY
e7bd1e649c Added description in plugin.yml 2019-05-19 16:10:55 +02:00
Florian CUNY
3d70d5a6ae Fixed a few things in plugin.yml 2019-05-19 16:07:41 +02:00
tastybento
362d9f8362 Fixed code smells. 2019-05-18 16:13:10 -07:00
tastybento
e911a5593d Removed stacktrace output 2019-05-18 16:06:00 -07:00
tastybento
338764e452 Fix code smell on placeholder replacement 2019-05-18 16:04:33 -07:00
tastybento
259cb19cf3 Fix null check for pos1 and pos2 2019-05-18 16:02:12 -07:00
tastybento
7ea0edea91 Shifted panel to IslandCreationPanel 2019-05-18 12:22:19 -07:00
Florian CUNY
7c07982669 Avoid using printStackTrace in BlueprintsManager 2019-05-18 15:01:36 +02:00
Florian CUNY
7dc4c88dd9 Made "bp" the actual alias for AdminBlueprintCommand 2019-05-18 14:48:54 +02:00
tastybento
1cd794fd09 Missing import. 2019-05-17 21:13:27 -07:00
tastybento
f5c138f946 Merge branch 'develop' of https://github.com/BentoBoxWorld/BentoBox.git into develop 2019-05-17 21:12:18 -07:00
tastybento
a3f8d2998f Fix pasting of blueprints from clipboard. Always pasted at y=0 2019-05-17 21:03:20 -07:00
tastybento
cf0b2ccdd5 Close file opened for reading blueprint before delete.
https://github.com/BentoBoxWorld/BentoBox/issues/687
2019-05-17 21:02:49 -07:00
barpec12
50592de136 Allow to load blueprints with lowercase names (#686)
Restore the possibility to load blueprints with lowercase names
2019-05-18 00:37:43 +02:00
BONNe
f4af446e2f Moved less intensive checks in front when blocking end dragon spawn (#684)
This comes from #676, but it will not fix issue in given case, as these checks do not take so much time and they often fails in 0.01 miliseconds.
Anyway, adding checks in this order will improve performance for this checks in skyblock end world with enabled flag apx 80% for non-0;0 chunk. (
2019-05-17 15:22:10 +02:00
tastybento
b2a6396cf8 Fixes conversion of legacy schem entities. 2019-05-15 21:37:23 -07:00
tastybento
6b6a757727 Temporarily enabling the blueprint selection panel.
Please replace when the alternative panel does something.
2019-05-15 19:24:31 -07:00
tastybento
a55459a70c Fixes NPE when pasting and the blueprint has no original set. 2019-05-15 14:40:19 -07:00
tastybento
3cb9a0e4df Adds protection when pasting against unsupported blocks.
Will fix signs and wall signs from 1.13 to 1.14.
2019-05-15 14:18:51 -07:00
tastybento
700043fe40 Implemeted Blueprint bundles and blueprints (#672)
* A prototype for Blueprint bundles and blueprints

This stores blueprints inside bundles. Each bundle can have up to 3
blueprints defines by the World.Environment.

This is not a finished manager. It just handles all the saving and
loading side of things. I thought this would help you so you can then
concentrate on the UI.

* WIP: Copy blocks to Blueprint done.

* WIP Pasting done.

* WIP: Added BlueprintsManager to ultimately replace SchemsManager.

* Moved blueprint suffix and changed to .blu

* Fixed unit test.

* Now tested and working.

Integrated with new island and resetting island.

If there are no blueprint bundles or blueprints then a default bedrock
set will be made and put in the game mode addon's blueprints folder.

Still to do: enable schems to be loaded and pasted for legacy support.
Add blueprints and a bundle to GameModeAddons like BSkyBlock.

* Renamed most of the classes

* Cleaned up clipboard and paster.

* Further cleanup on blueprint clipboard and paster.

* Merged blueprint classes into one package.

* Put Blueprint data objects in their own package.

Isolated schems classes for later removal.

* Renamed admin command classes and changed locale files.

* More clean up to remove schems

* Schem to blueprints converter done.

Converts schems to blueprint bundles and sets up a default set. Tested
the happy-path. Need to do more testing on edge cases.

* Added basic UI for development. Fixed bug with schem conversion.

* Adds permissions into the blueprints.

Fixes tests, cleans up some naming

* Added IslandCreationPanel and created BlueprintManagementPanel

* Fixed JSONDatabaseHandler's constructor being public

* Made the Blueprints button in ManagementPanel open the Blueprint management panel

* Fixed tests and ignored one (NPE)
2019-05-15 20:16:41 +02:00
Florian CUNY
d19caa82ca Minor changes to fr-FR locale 2019-05-15 19:50:37 +02:00
tastybento
877046fe8c Fixes PanelListenerManagerTest
The InventoryView interface uses final methods so it cannot be mocked.
This test implements the interface so that the code can be tested.
2019-05-15 08:57:11 -07:00
tastybento
1207a05d3f Added basic 1.14 """"""support"""""".
Addons are NOT compatible with 1.14.
Both 1.14 and 1.14.1 are now considered "NOT_SUPPORTED"
2019-05-14 11:03:57 +02:00
BONNe
bcc5af1758 Append build number to plugin's version in plugin.yml (#677)
* Upgrade BentoBox pom

- Replace default profile with ci profile, like in Challenges addon.
This profile will set value for build.number variable.
- Improve master profile
This will remove -SNAPSHOT for the end of revision and sets build.number to empty string.

* Add build.number at BentoBox version

This will allow to know which snapshot build is used in current build.

* Update pom.xml

Co-Authored-By: Florian CUNY <poslovitch@bentobox.world>
2019-05-14 10:22:48 +02:00
Florian CUNY
e0b942063b Fixes TNT protection: split TNT flag into TNT_DAMAGE (SETTING) and TNT_PRIMING (PROTECTION)
#566 and #649
2019-05-12 15:26:51 +02:00
Florian CUNY
5e9460e624 Fixed reloaded addons not being removed from the addons list
They were therefore "duplicated"
2019-05-12 14:09:49 +02:00
Florian CUNY
fa49e8b3b2 Made "commands.bentobox.reload.addon" use [name] text variable 2019-05-12 13:50:00 +02:00
Florian CUNY
3172cd098a Added message "addon reloaded" when reloading an addon 2019-05-12 13:49:12 +02:00
Florian CUNY
7a39e04a85 Made the loading time much more accurate 2019-05-12 11:48:56 +02:00
Florian CUNY
c60e790749 Added an islands count for gamemodes in Management Panel 2019-05-12 11:38:30 +02:00
Florian CUNY
b89b3972cb Improved lv-LV banner (again) 2019-05-12 11:18:17 +02:00
Florian CUNY
42b41d7938 Improved lv-LV banner 2019-05-11 20:48:49 +02:00
Florian CUNY
eb05f1fca5 Added locale authors names in the Language Selection panel 2019-05-11 20:41:28 +02:00
Florian CUNY
ba7c118266 Minor code cleanup in BukkitObjectTypeAdapter 2019-05-11 20:17:02 +02:00
tastybento
3908ba276f Improved comments on Bukkit type adapater. 2019-05-11 08:11:15 -07:00
Florian CUNY
3f83a89215 Added placeholders replacement in BentoBox's own messages
It is now possible to use external placeholders into BentoBox's messages.
2019-05-11 16:11:57 +02:00
Florian CUNY
b4fe70da0c Fixed indent and javadoc from previous commit 2019-05-11 14:28:57 +02:00
tastybento
8ce47772c2 Addon reloading: adds parameter to register flag
Addons need to declare themseves when they register a flag so that the
flag listener can be reset. Note that this is not mandatory unless the
flag declares a listener
2019-05-10 15:18:13 -07:00
tastybento
779c370b6a Added a generic GSON Type Adapter for ConfigurationSerializabale objects
Bukkit has built-in serialization that can be used. Kept legacy
serialization for backwards compatibility and compactness.
2019-05-08 18:21:40 -07:00
tastybento
91b650bdee Added BoundingBoxTypeAdapter for database storage
Renamed other adpaters to be TypeAdapters for consistency.
2019-05-08 15:33:40 -07:00
tastybento
4e8a1071f2 Merge branch 'develop' of https://github.com/BentoBoxWorld/BentoBox.git into develop 2019-05-08 12:31:57 -07:00
tastybento
2e8150da84 Merge branch 'develop' of https://github.com/BentoBoxWorld/BentoBox.git
into develop

Conflicts:
	src/main/java/world/bentobox/bentobox/managers/AddonsManager.java
2019-05-08 12:23:28 -07:00
BONNe
4175048abe Create Latvian language file. (#655)
* Create Latvian language file.

This will contain most of the translations.
The only missing part is Flag translations.

* Update latvian translation

Translate protection flags

* Update latvian language

Add missing translations.
2019-05-08 21:22:15 +02:00
tastybento
01022a2500 Added bentobox addon reload command. 2019-05-08 12:18:33 -07:00
tastybento
180b88544a Database transition (#662)
- JSON is now the default database type
- JSON database files are now pretty-printed
- It is now possible to migrate from a database type to another through the use of a command and specific transition database types
- It is recommended to move from YAML to JSON.

= Commits breakdown =

* Proposal to make JSON the default database and retire YAML.

* Make JSON file format easier to read.

* Fix tests.

* Adds a hybrid Yaml2Json database type.

This database always tries to use JSON if it is available. If a YAML
file is found, it will be loaded and replaced with a JSON file.

* Move to generic database transition code

* Better comments

* Adds transitional database options so admins can choose.

Adds Yaml2MySQL option and changes config.yml to add instructions.

* Enables full database migration between databases.

Adds /bbox migrate command.

Adds a number of transition databases. DB starts transition  when the
server boots up and will migrate organically. The admin can force an
immediate update using the bbox migrate command.

This operation requires an API breaking change: Addons that use the
Config API must now implement ConfigObject in their config class instead
of DataObject. This is to differentiate YAML config classes from YAML
database classes. If a class is already implements WorldSettings
(GameModeAddons), then no change is required because WorldSettings
implements ConfigObject now. If an old addon is used that does not
implement ConfigObject, BentoBox will not load.

* Added null check to YAML deletion

* Removed the 2YAML transition dbs because YAML is deprecated.

YAML does not support some data structures so conversion could corrupt
data.

* Fixed some javadoc and added missing DatabaseType#JSON2MARIADB

* Renamed package database/transitiondb to database/transition
2019-05-08 21:15:22 +02:00
Florian CUNY
0f4baad703 Fixed addons and hooks icons being misplaced in Management Panel 2019-05-08 16:25:38 +02:00
Florian CUNY
96464138f5 Avoid using Exception#printStackTrace() in WebManager 2019-05-08 16:14:32 +02:00
Florian CUNY
d42d0118d7 Fixed GitHub data gathering still using lowest connection interval value
Fixes commit a3a50c1961
2019-05-08 14:59:59 +02:00
Florian CUNY
fb87d0940f Fixed PlaceholderAPI expansions being unregistered after /papi reload
#629
2019-05-08 14:33:20 +02:00
Florian CUNY
6fe7c8fc51 Fixed PlaceholderAPI hook no longer working because it was run at startup 2019-05-08 14:31:03 +02:00
Florian CUNY
bb420b2649 Fixed BentoBox not compiling due to one of the previous commits 2019-05-08 00:29:02 +02:00
Florian CUNY
36b3ec8527 Fixed javadoc on ServerVersion.V1_14 2019-05-08 00:22:48 +02:00
Florian CUNY
7ba3cd4570 Disabling Signs-dying protection from DYE flag for non-1.14 servers
#669
2019-05-08 00:20:57 +02:00
Florian CUNY
cfdd0c728a Added a few methods in ServerCompatibility 2019-05-08 00:20:34 +02:00
Florian CUNY
bf08475a4f Made DYE flag more permissive with signs
It now only applies when the player has dyes in his hand.
#669
2019-05-07 23:43:40 +02:00
tastybento
fc160d8c5f Aligns permissions and fixes permission bugs
https://github.com/BentoBoxWorld/BSkyBlock/issues/120
2019-05-07 13:14:25 -07:00
tastybento
9ba62e1711 WIP - reloads addons 2019-05-07 07:47:38 -07:00
wellnesscookie
91034f956e Fixes incorrect sethome if an island was locked (#666)
- for visitor/ coops/ trusted players. I think this reorder of execution fixs this, correct me if I'm wrong.

Issue #665 : Teleport > Sethome > Add 
(Sets incorrect if the island was locked for visitor as the member was not yet added to the island so the teleportation failed, therefore it will take the location of user from where he was standing when he typed /is team accept) 

Fix: Add > Teleport > Set

Fixes #665
2019-05-07 06:23:12 +02:00
tastybento
d8799f183f Makes copying schems to the clipboard async.
https://github.com/BentoBoxWorld/BentoBox/issues/504
2019-05-05 16:39:11 -07:00
tastybento
466aa9ff47 Adds more detail on deserialization error case in console. 2019-05-05 08:00:34 -07:00
tastybento
809e18b971 Adds island near command. 2019-05-04 22:24:04 -07:00
Florian CUNY
4f84f37461 Send message to player to tell he cannot change the island settings as he's not owner
#638
2019-05-04 23:27:53 +02:00
Florian CUNY
a3a50c1961 Made the GitHub connection interval be at least 15 minutes 2019-05-04 23:05:11 +02:00
tastybento
2d94e4447a Enables game mode addons to run as the only world (#661)
* Enables game mode addons to run as the only world.

Requires game mode addons to do the following in their onLoad:

1. Register commands
2. Be able to provide the chunk generator object because it will be used
to generate the worlds
3. Be able to provide the WorldSettings because the world name (string)
is required

* Sets world in CompositeCommand after onEnable

* Added Javadoc to Addon#onEnable and Addon#onLoad to better explain where to do what.
2019-05-04 22:56:55 +02:00
Florian CUNY
5d299abae4 Added es-ES (spanish) localization (credit to @SrAcosta) 2019-05-04 22:55:23 +02:00
Florian CUNY
a594427c5a Fixed tests 2019-05-04 22:26:26 +02:00
BONNe
18755f6377 Add color translation for Panel and PanelItem names (#660) 2019-05-04 11:26:38 +02:00
Florian CUNY
60231d58ab Fixed some mixed up placeholders
#659
island_distance, island_protection_range and island_creation_date had their actual value mixed up.
2019-05-04 11:24:29 +02:00
tastybento
9e15907f93 Added DYE protection flag
https://github.com/BentoBoxWorld/BentoBox/issues/653
(cherry picked from commit e94000528791e1abb30d19305e36529d825287b9)
2019-05-04 11:16:31 +02:00
tastybento
2b2ee7e42c Saves command rank settings to bentobox config.yml
https://github.com/BentoBoxWorld/BentoBox/issues/657
2019-05-03 22:29:03 -07:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
9803a02471 Added NonNull to all listeners constructors 2019-02-16 10:58:25 +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
53137b526d Made each "basic" listeners register themselves on instanciation 2019-02-14 11:24:58 +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
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
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
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