Commit Graph

594 Commits

Author SHA1 Message Date
tastybento
c89fd03833 Fixed tests 2021-06-20 16:24:36 -07:00
tastybento
c2e832095a
Minecraft 1.17 support (#1781)
* Java 16 preliminary branch.

This compiles, but junit tests fail all over because there is a lack of
Java 16 support right now.

* Use Java 16

* 1.17 WIP

* Require 1.17

* Fixes tests.

* WIP fixing tests

* Exclude maven from shading

* Try update snapshots to build action

* Try repo on command line

* Remove reference to shade plugin in dependencies
2021-06-20 12:18:10 -07:00
tastybento
cc43dbfabe Fix slime split test as it is allowed. 2021-06-12 09:25:29 -07:00
tastybento
e472e07c34 Fixes Invincible Visitor settings panel
https://github.com/BentoBoxWorld/BentoBox/issues/1762
2021-05-22 17:41:47 -07:00
tastybento
17af44e67a Fix GameModePlaceholderTest 2021-05-09 13:10:37 -07:00
tastybento
ac8458fd3c Add IslandHomesCommand
https://github.com/BentoBoxWorld/BentoBox/issues/1737
2021-04-07 21:36:49 -07:00
tastybento
c85f3b9af2 Fix test 2021-03-27 18:21:32 -07:00
tastybento
9220f9652b Fix broken tests. 2021-03-27 17:20:43 -07:00
tastybento
c6e2a9bd66 Admin teleport now goes to island spawn locations if they exist 2021-03-27 09:23:24 -07:00
tastybento
ed46695546 Added teleport method test to DelayedTeleportCommandTest. 2021-03-21 15:58:10 -07:00
tastybento
9e0fdbd210 Add Util method to enable multi-lingual broadcasts. 2021-03-21 09:04:30 -07:00
tastybento
8f767d5e44 Fix tests - event is canceled now.
Change done here: 592b4e3d1f
2021-03-18 18:45:05 -07:00
tastybento
87bdee0946 Return island protection center instead of island logical center
IslandsManager.getIslandLocation(world, uuid) is used to find the
starting point for the island home if a safe home for players cannot be
found. It returns the island center location but should return the
center of the island protection because that can now be in a different
location.
2021-03-17 15:18:55 -07:00
tastybento
6c775329d0 Fix InvincibleVisitorsListenerTest. 2021-03-14 13:48:31 -07:00
tastybento
d97d15d47a Added locale strings for the DamageCause enum. Used in InvincibleVistors
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1705
2021-03-14 10:18:33 -07:00
tastybento
6849c2a8bd Delete backup database during tests. 2021-03-07 11:34:30 -08:00
tastybento
e4a8d705f1 Fix IslandTeamCoopCommand test. 2021-03-06 14:12:46 -08:00
tastybento
b6a69d0c90
Switch to island homes from player homes. (#1689)
* Switch to island homes from player homes.

Stores home locations and max homes in the Island object. Adds commands
required to manage home names, specifically rename and delete. I did not
add list as there is tab complete on island go, but it may be required.
2021-03-01 10:42:08 -08:00
tastybento
a8473c27a9 Added test for isCheckForBlocks 2021-02-28 15:25:30 -08:00
tastybento
bae0e6c36f Fix tests. 2021-02-28 15:24:29 -08:00
tastybento
93417d6a6c Test cleanup 2021-02-28 08:10:18 -08:00
tastybento
010a56bc7b Fixed broken tests in IslandsManager 2021-02-28 07:54:13 -08:00
tastybento
dfd4df4e05
Adds maxMembers to the Island object for persistent storage (#1691)
* Adds maxMembers to the Island object for persistent storage

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

* Expanded approach to include coop and trusted ranks.

* Checks for max members/coops/trusts on accept based on island setting.

* Write island max member/coop/trusted if owner joins server

This updates the island's settings based on the owner's permissions.
2021-02-27 11:19:02 -08:00
tastybento
04be4cf7de Fixed long standing bug in unused Util method getClosestIsland
Changed AdminRegisterCommand to use the method to remove code
duplication.
2021-02-17 18:36:57 -08:00
tastybento
969b413588 Merge branch 'develop' of https://github.com/BentoBoxWorld/BentoBox.git into develop 2021-02-16 17:15:19 -08:00
tastybento
97ac70cea3 Handle null users when getting island. Added test case.
A recent change to placeholders meant that it is possible for users to
be null. See https://github.com/BentoBoxWorld/BentoBox/issues/1654
2021-02-16 17:15:07 -08:00
tastybento
6316ca2411
Enables panels to know the context of the world that initiated them. (#1682)
Panel API did not have this context so commands had to force players to
be in the world that the command used. These changes add the world
context to the PanelBuilder and changes the settings panels to use it.
Players and admins can now run settings commands in any world.

https://github.com/BentoBoxWorld/BentoBox/issues/1673
2021-02-16 15:56:34 -08:00
tastybento
14592ec518 Improves obsidian scooping in presence of water.
https://github.com/BentoBoxWorld/BentoBox/issues/1683
2021-02-15 15:50:32 -08:00
tastybento
fb4ad90328 Obsidian scooping was weird with just one bucket.
It's not clear why this was flakey. It might be that the event was being
canceled.

https://github.com/BentoBoxWorld/BentoBox/issues/1683
2021-02-14 22:25:08 -08:00
tastybento
b27d0bbca4 Use BlockInteractionListener to protect Hives and Bee Nests 2021-02-14 16:56:38 -08:00
tastybento
770d8b0bef Harvest listener 2021-02-14 12:52:51 -08:00
tastybento
582aa9fa9e Adds world flag to prevent pets from teleporting off home island
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1442
2021-02-14 11:05:40 -08:00
tastybento
1d9ce7241e
Decouple island location from island center. (#1659)
* Decouple island location from island center.

This enables the protection area to move anywhere within the island
boundaries

* Paste island at island location.

* Move visitors to the island location

* Added island location placeholders

* Use island location instead of island center

* Fix tests

* Allow radius 1 islands.

* Correct admin range set limit

* Debug in progress

* Fix island deletion.

The speed option was doing nothing except causing repeated actions on
the same chunks.

* Soft depend for WorldGeneratorApi for Boxed game mode

* Changed to "protectionCenter".

Added logic to expand the deletion area based on moving the island
protection location and range instead of just deleting everything. This
will keep deletion time to a minimum for BSkyBlock, etc.

* Fix tests.
2021-02-13 10:19:53 -08:00
tastybento
045b11ae1a Fix TestBentoBox test. 2021-02-06 15:10:45 -08:00
tastybento
e7672b17c4 Merge branch 'develop' of https://github.com/BentoBoxWorld/BentoBox.git into develop 2021-02-06 12:08:20 -08:00
tastybento
1da3539f02 Changed AdminSwitchCommand to use player meta data
Fixed tests. Abstracted common test code to AbstractCommonSetup class.
2021-02-06 12:08:09 -08:00
tastybento
4e7b78832a
Nether portals (#1597)
* Add WorldSettings methods for portals

* Vanilla portals option added.

Currently defaulted on for testing. Ultimately, the game mode config can
decide if the vanilla portal is used or not.
Note that the end platform is just a set of obsidian blocks.

* Reduces search radius when close to island edge

* Adds and fixes tests

* Use EntityPortalEnterEvent instead of PlayerMoveEvent

* Removed duplication between nether and end portalling

* Code clean up

* Single event handler for nether and end.

* Created new PlayerEntityPortalEvent class to enable entity teleports

Unfortunately, PlayerPortalEvent and EntityPortalEvent are not fraternal
classes so there's no way to apply code to both except via this
abstraction class.

Tests fail.

* Places end portal always in the same place.

* Teleport entites to nether or end

Identify the teleport cause manually because there is no method.
Teleports to the End happen but seem to be slightly different locations.
Some entities will disappear, others will stick around. I don't know
why.

* Put defaults back to false.

* Create end spawn point to default point when not making end islands

* Fixed PortalTeleportationListener tests.

* Updated since tag
2021-02-02 17:19:22 -08:00
tastybento
1eee225def Added test case for getSafeHomeLocationNoIsland() for player with no
island.

https://github.com/BentoBoxWorld/BentoBox/pull/1651
2021-01-20 16:01:06 -08:00
tastybento
942c1ff3b3 Test clean up.
Due to changes in the PAPI API code, the current tests don't run and are
ignored.
2021-01-17 11:31:40 -08:00
tastybento
42aefc530e Change to assertNotEquals 2021-01-16 11:53:07 -08:00
Florian CUNY
4ce87cd858 Fixed the same test, once again... 2021-01-16 15:37:35 +01:00
Florian CUNY
6105a2fe64 Fixed a test 2021-01-16 15:22:40 +01:00
Florian CUNY
f7e901def9 Ignored failing PlaceholderAPIHook tests for now
There's an issue with the mocking on PAPI's latest version
2021-01-16 14:52:05 +01:00
Florian CUNY
c60833a054 Fixed code smells in tests (SonarCloud) 2021-01-16 14:27:01 +01:00
tastybento
2c7f54fe10 Use orElseGet instead of orElse
orElse is a trap because it evaluates even if the Optional is empty.
orElseGet is the correct way.
2021-01-08 20:05:23 -08:00
tastybento
86af7b568c Fix test for clearArea 2021-01-04 22:53:11 -08:00
tastybento
4f0ef8feb0
Better island meta data api (#1630)
* Improves the meta data API for Island

* Unified API into MetaDataAble Interface

All classes now use the same interface and Optionals. Reduces code
duplication and makes the API the same across the board.

* Version 1.15.6

Fixed since JavaDocs
2021-01-03 11:31:34 -08:00
tastybento
d7c7559546 Adds a persistent metadata API to User and Island classes.
This is modeled after the Bukkit metadata API with the difference that
it is persistent, i.e., metadata is stored to the database. Metadata can
be placed on Islands or Users.

This API should be useful for addons that do not want or need to create
their own database tables and instead just want to tag the user with
some data, or tag the island with some data. It is intended for small
amounts of data, like boolean tags or other values.
2020-12-28 20:39:08 -08:00
tastybento
e84b1f1830 Fix tests that failed due to timezone 2020-12-28 16:35:44 -08:00
tastybento
72de0301e6 Added visited island UUID placeholder
Added test class for game mode placeholders.

Removed duplicated code for visited island placeholders.
2020-12-28 12:18:17 -08:00