Commit Graph

2759 Commits

Author SHA1 Message Date
tastybento
6bdc5fc1e6 Merge branch 'develop' of https://github.com/BentoBoxWorld/BentoBox.git into develop 2021-02-14 12:53:49 -08:00
tastybento
17d9f1c3f8 Fix test 2021-02-14 12:53:38 -08:00
tastybento
770d8b0bef Harvest listener 2021-02-14 12:52:51 -08:00
tastybento
c7bee0425d
Update ro.yml 2021-02-14 12:50:21 -08:00
gitlocalize-app[bot]
7e77a2382e
Romanian translation, needs fixing WIP (#1681)
* Translate ro.yml via GitLocalize

* Translate ro.yml via GitLocalize

* Update ro.yml

Co-authored-by: tastybento <tastybento@wasteofplastic.com>
Co-authored-by: mt-gitlocalize <mt@gitlocalize.com>
Co-authored-by: tastybento <tastybento@users.noreply.github.com>
2021-02-14 12:39:19 -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
ce79588805 Fixed admin switch command when inside another island. 2021-02-07 10:05:29 -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
apachezy
e134951e61
Fix a minor problem in language translation (#1674)
Co-authored-by: apacheZy <apachezy@hotmail.com>
2021-02-05 18:57:06 -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
Alberto
455e662d22
Fix player not being expelled from visitors if in team (#1670)
* Fix player not being expelled from visitors if in team

* Error on arguments
2021-02-02 17:16:42 -08:00
tastybento
bb7ed2b85c Merge branch 'develop' of https://github.com/BentoBoxWorld/BentoBox.git into develop 2021-01-30 10:35:37 -08:00
tastybento
0372d6766f Fixed bug where End not being deleted. 2021-01-30 10:35:26 -08:00
Florian CUNY
82f3375459 Updated bStats to 2.1.0
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1664
2021-01-30 15:39:21 +01:00
Joseph
791d6a09f9
Correct german translation (#1665)
Should be tiere meaning animals in german
2021-01-29 18:25:57 -08:00
tastybento
2bef0fe57c Added convenience methods getPlayersManager() and getIslandsManager()
This just helps make the API more friendly and consistent with other
manager getters.
2021-01-24 14:14:31 -08:00
tastybento
01d8075318 Remove null check for user in BasicPlaceholderExpansion
https://github.com/BentoBoxWorld/BentoBox/issues/1654
2021-01-21 15:30:08 -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
Thomas Cordua-von Specht
737ad16ff6
Fix NPE in getSafeHomeLocation (#1650) (#1651) 2021-01-20 15:48:22 -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
Florian CUNY
c62221efb8 Added 1.16.5 compatibility, set < 1.16.4 versions as not supported and <= 1.15.2 as incompatible
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1648
2021-01-17 14:31:04 +01:00
Florian CUNY
ab9577b93e Updated /bbox about : we're in 2021 now! 2021-01-16 23:23:29 +01: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
Florian CUNY
b8d67a653c Fixed some code smells (Sonarcloud)
Put some fields as "final"
Made all abstract classes' constructors "protected" (them being public serves no purpose since they cannot be instantiated outside of child classes)
Did some minor code prettifying
2021-01-16 11:27:12 +01:00
gitlocalize-app[bot]
4363673266
Spanish Translation (#1633)
Co-authored-by: SrAcosta <gerardo.gomez.acosta@gmail.com>
2021-01-09 17:33:04 +01:00
tastybento
605df692f0 Fix Yaml test 2021-01-08 21:24:54 -08:00
tastybento
7e52a5f641 Added an isChanged() method to Island
The island will only be saved if isChanged() is true. It is set to true
if any setter is used or a field is changed.

This should help servers shutdown a lot faster and background database
saves go quicker. Only applies to Islands!

https://github.com/BentoBoxWorld/BentoBox/issues/1629
2021-01-08 20:55:43 -08:00
tastybento
2701eb92d7 Do not use orElse as it ignores the reservation.
https://github.com/BentoBoxWorld/BentoBox/issues/1636
2021-01-08 20:06:21 -08: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
78b10cb7bf Do not remove entities that have getRemoveWhenFarAway() false.
If an entity has this set to false, then the area clear will not affect
it. @BONNe FYI
2021-01-04 22:50:16 -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
054ed30577
Revert "Persistent entities should never be removed. (#1608)" (#1626)
This reverts commit 0e4b3b40fa.
2020-12-31 09:51:09 -08:00
gitlocalize-app[bot]
93cb2d64d9
Translate tr.yml via GitLocalize (#1625)
Co-authored-by: Over_Brave <soncesurlar@gmail.com>
2020-12-31 09:47:36 -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
tastybento
20ba8347a1 Added %[gamemode]_island_uuid% placeholder.
https://github.com/BentoBoxWorld/BentoBox/issues/1548
2020-12-27 18:11:55 -08:00
tastybento
e5485dcbbc Fixes history log in databases.
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1624
2020-12-27 11:48:32 -08:00
tastybento
be40bd2c54 Fixes new island event casting bug 2020-12-27 11:43:37 -08:00
tastybento
999d196e8e
Event fix with deprecation (#1623)
* Break out events and add individual handlers

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

* Corrected AddonEvents to have proper static handlers

* Made constructors protected.

Abstract classes should not have public constructors. Constructors of
abstract classes can only be called in constructors of their subclasses.
So there is no point in making them public. The protected modifier
should be enough.
2020-12-27 10:35:49 -08:00
gitlocalize-app[bot]
f281d37a8d
Updated Turkish translation (#1620)
* Translate tr.yml via GitLocalize

* Translate tr.yml via GitLocalize

Co-authored-by: tastybento <tastybento@wasteofplastic.com>
Co-authored-by: ZyXpe <thechefsmaster@gmail.com>
2020-12-27 10:27:15 -08:00
tastybento
2190295c68 Merge branch 'develop' of https://github.com/BentoBoxWorld/BentoBox.git into develop 2020-12-25 17:36:26 -08:00
tastybento
0e7ab3438e Added deprecation JavaDoc to events that are moving to own class 2020-12-25 17:36:16 -08:00
tastybento
d774124d89 Fixed/removed tests
These are no longer relevant as this function is now in the
PlayersManager and tested there.
2020-12-24 21:56:02 -08:00
tastybento
c7d7871f94 Player clean up
Moved per removal to PlayersManager

Added cleanup to IslandResetCommand

Added test class for clean up method.
2020-12-24 15:30:52 -08:00
tastybento
372f149f3d Remove code duplication between kick and leave command 2020-12-24 14:24:42 -08:00
tastybento
f5b2b136e9 Mark BentoBoxEvent getHandler methods as deprecated.
See https://github.com/BentoBoxWorld/BentoBox/pull/1615
2020-12-24 12:06:30 -08:00
tastybento
aec2e115eb Removes tamed animal ownership on new island
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1450
2020-12-24 10:15:14 -08:00
tastybento
267387af7a Fix copy-n-paste javadoc error 2020-12-24 10:09:36 -08:00
tastybento
065ddfb93f Simplified newIsland method in preparation for additional user cleaning 2020-12-24 09:35:43 -08:00
tastybento
dcbc1c1839 Added JavaDoc to checkTeams method 2020-12-24 09:14:21 -08:00
tastybento
98697b1686
Delete experiment (#1589)
* Try loading adjacent chunks, but too slow.

* NMS void delete

* Revert the extra chunk in IslandDeletion.

That was for another deletion approach.

* Added NMS abstraction.

* Debug

* Clearer code.

* Clarify exceptions
2020-12-19 10:29:26 -08:00
tastybento
9570f342ee
Add try catch around second stage plugin loading task. (#1609)
https://github.com/BentoBoxWorld/BentoBox/issues/1281
2020-12-19 10:28:46 -08:00
BONNe
0e4b3b40fa
Persistent entities should never be removed. (#1608)
* Persistent entities should never be removed.

There is no valid reason why BentoBox should remove the Persistent entity. Otherwise, what is the point of being persistent if someone can just remove it?

* Changes which mobs can be removed outside island

Protect renamed and persistent entities from being removed if they wander outside island bounds.
Except for animals, as they cannot be removed only if they are renamed.
2020-12-19 08:56:29 -08:00
tastybento
e608a95442 Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1602 2020-12-14 19:08:04 -08:00
Gabriele C
b74eeb95d8
Prevent save task overlaps (#1588) 2020-11-27 10:21:39 -08:00
Gabriele C
232d9097cf
Limit island/player saves per tick (#1578)
* limit island/player saves per tick

* Whoops

* 20 players/islands per tick should be enough

20 players/islands * 20 tick * 60 seconds * 5 minutes (default interval) = 120000 saved entries :)
2020-11-27 10:12:10 -08:00
tastybento
2e00602371 Remove updateInventory from noGo
There was not specific reason why this was being done and in testing, I
cannot find a reason why it is needed (yet) so I am removing it due to
the lag reported in
https://github.com/BentoBoxWorld/BentoBox/issues/1580
2020-11-26 18:37:48 -08:00
tastybento
2cb1e7c306 Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1579 2020-11-26 18:05:26 -08:00
tastybento
caed56f16e Load initial tp location async
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1584
2020-11-26 17:25:17 -08:00
BONNe
93d7fad860
Fixed parsing [gamemode] in placeholders (#1574) 2020-11-17 00:58:58 +01:00
tastybento
5321e1dda6 Prevent exposing vanished players with expel
https://github.com/BentoBoxWorld/BentoBox/issues/1573
2020-11-14 11:59:38 -08:00
tastybento
dd3622cd23 Rank check was in the wrong place so the no-arg command could be blocked 2020-11-14 11:10:33 -08:00
tastybento
79f6600fd2 Fixed tests and other small code smells 2020-11-08 16:48:08 -08:00
tastybento
1ec886472d Add biome support to blueprints.
https://github.com/BentoBoxWorld/BentoBox/issues/1571
2020-11-08 12:24:40 -08:00
BONNe
3581537537
Fixes some errors with HeadGetter (#1569)
* Add getKey and getValue for Pair calls for nicer access.

* Fixes ConcurrentModificationException in HeadGetter.
Fixes an issue when elements with the same name were overwritten by HeadGetter.
2020-11-08 11:23:24 -08:00
tastybento
1d4fd435a9 Added World TNT Damage Flag
Enables admins to decide whether TNT should damage outside of island
boundaries

https://github.com/BentoBoxWorld/BentoBox/issues/1562
2020-11-08 10:43:15 -08:00
YellowZaki
1a9f9e7b21
Added IslandExitEvent#getToIsland() and IslandEnterEvent#getFromIsland() (#1557)
* Added IslandExitEvent#getToIsland() and IslandEnterEvent#getFromIsland()

* Added IslandEventBuilder#rawEvent(Event) and IslandBaseEvent#getRawEvent()
2020-11-07 21:54:53 -08:00
tastybento
66a28b420a Fix new bundle creation error.
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1561
2020-11-07 18:58:24 -08:00
tastybento
a7747b560b Add clean up for duplicate island ownership.
https://github.com/BentoBoxWorld/BentoBox/issues/1568
2020-11-07 16:08:54 -08:00
tastybento
89ee2b4262 Add server compatibility for 1.16.4 2020-11-07 11:35:29 -08:00
tastybento
916ba5d999 Uses a different method to fix the database.
https://github.com/BentoBoxWorld/BentoBox/issues/1556
2020-11-01 17:29:18 -08:00
tastybento
774b57b168 Added an admin fix command to fix cross-island ownership.
https://github.com/BentoBoxWorld/BentoBox/issues/1556
2020-11-01 15:53:52 -08:00
tastybento
ba903bdaca
Stops async db saving on shutdown. Adds JSON backup. (#1558)
* Stops async db saving on shutdown. Adds JSON backup.

* Fixes test failures and added Util class tests.
2020-11-01 13:58:29 -08:00
tastybento
f7f36179d3 Switch removeIf check
May help with https://github.com/BentoBoxWorld/BentoBox/issues/1550

I cannot understand why an CME is happening with removeIf. It should not
be possible.
2020-10-26 17:11:52 -07:00
tastybento
4a24364f81 Collect water wasn't overriding bucket usage for visitors
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1545
2020-10-12 15:45:38 -07:00
tastybento
f09ea1ffef Adds PreCreateEvent for API 2020-10-12 14:07:47 -07:00
tastybento
b024d0cc8b Switch to use Util method to reset player health.
Reduces duplicate code.
2020-10-11 09:18:53 -07:00
tastybento
ae1db70ff6 Fixes max heath by using player attribute
Players may no longer have a max health of 20.

https://github.com/BentoBoxWorld/BentoBox/issues/1544
2020-10-11 09:11:41 -07:00
Ikkino
5f5fe4a9c9
Adding world specification on methods of Vault Hook (#1448) 2020-10-11 07:38:53 -07:00
tastybento
fad1fc84da
Enables nether and end teleporting even if they are disabled by server (#1539)
* Enables nether and end teleporting even if they are disabled by server

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

* Fix PortalTeleportationListener tests

* Revert Travis.yml
2020-10-11 07:38:21 -07:00
tastybento
a07676ac05 Allow default blueprint bundle to have a friendly name change in the GUI
https://github.com/BentoBoxWorld/BentoBox/issues/1543
2020-10-09 14:51:21 -07:00
BONNe
6b852e0368
Fix an issue when CommandEvents were never called (#1542)
Somebody forgot to actually call the this event.
2020-10-09 07:36:21 -07:00
BONNe
f25e4d9c8d
Add addon version in enabling statement (#1541)
This is one of the missing information in log files. It would be useful to see the version on enabling status.
2020-10-09 07:33:19 -07:00
Gabriel Fontes
b8d5a76efb
Portuguese localization (#1511)
* Portuguese localization

* Fixed typo

* Rename pt.yml to pt_BR.yml

Co-authored-by: tastybento <tastybento@users.noreply.github.com>
2020-10-08 17:49:24 -07:00
tastybento
fb53ac17e1
Inserts gamemode name into placeholders before passing to PaceholderAPI (#1514)
https://github.com/BentoBoxWorld/BentoBox/issues/1512

Co-authored-by: Florian CUNY <poslovitch@bentobox.world>
2020-10-08 17:47:54 -07:00
BONNe
6cd9339652
Fixes a bug with cache. (#1533)
It was not possible to set it to unlimited time due to my poor programming and logic skills. 
It also was contradicting to config comments.
2020-10-08 17:47:17 -07:00
tastybento
6f1aceee40 Merge branch 'develop' of https://github.com/BentoBoxWorld/BentoBox.git into develop 2020-10-08 16:04:11 -07:00
tastybento
9f1d610dfd Fix renaming of database tables.
https://github.com/BentoBoxWorld/BentoBox/issues/1536
2020-10-08 16:03:57 -07:00
tastybento
77d2535e39 Prevent placing of glowstone in spawn anchors.
https://github.com/BentoBoxWorld/BentoBox/issues/1534
2020-10-04 17:10:11 -07:00
tastybento
4609881542 Citizen NPCs are not island visitors so do not protect them.
https://github.com/BentoBoxWorld/BentoBox/issues/1518
2020-09-18 13:45:39 -07:00
tastybento
5a5435d815 Let Citizens handle its own PVP protection.
https://github.com/BentoBoxWorld/BentoBox/issues/1518
2020-09-17 08:09:39 -07:00