Commit graph

7477 commits

Author SHA1 Message Date
Jakubk15
4ad4252079 Do not send plugin headers when it is not required (#8889) 2023-02-23 00:59:42 +01:00
Bjarne Koll
751beefa8e Close library classloader and improve PluginDescriptionFile (#8901) 2023-02-22 21:54:27 +01:00
Jake Potrebic
eb56bf3058 Fix update folder logging error when no folder exists (#8891) 2023-02-22 12:17:58 -08:00
Owen1212055
75e61d5bf2 Validate providers when populating load order tree (#8890) 2023-02-22 10:59:12 -05:00
Jake Potrebic
ee1dffb8d5 Fix JavaPlugin static getPlugin methods (#8888) 2023-02-21 19:27:49 -08:00
Jake Potrebic
37d171544a Further clarify functionality of damageItemStack methods (#8878) 2023-02-21 09:35:25 -08:00
Space Walker
7d56ee5d45 update alternate current to v1.5.0 (#8882) 2023-02-21 17:58:18 +01:00
Bjarne Koll
78f94ecb2d Configure mokitor Server mock as stubOnly (#8861)
A recent patch moved the internal unit tests to mokito, allowing
deep mocking to easily setup a mocked server instance.
While this change is useful, the server's Server#getItemFactory methods
is one of the hottest paths during unit testing, being called numerous
times by material tests.
As mokito mocks keep track of each invocation to allow for verifications
of invocations down the line, the server mock allocates a huge amount of
memory to keep track of all invocations, ultimately leading to an OOM
exception.

The previous solution solved this by increasing the tests memory to 2 GB,
however as of right now simply configuring the server mock as "stubOnly",
properly prevents the overflow of invocation records as none of the unit
test code relies on invocation verification.
2023-02-21 17:18:49 +01:00
Owen1212055
08d77ce67a Redefine Cyclic Dependencies (#8873) 2023-02-20 20:09:38 -05:00
Owen1212055
1c5cb2f43a Small paper plugin fixes (#8866)
Co-authored-by: Bjarne Koll <git@lynxplay.dev>
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
2023-02-20 13:02:53 -05:00
Nassim Jahnke
0ce11aca74 Update circular dependencies warning, properly crash
Also fixes logging errors
2023-02-20 15:20:49 +01:00
Owen1212055
b0ce047eae Fix plugin updater logic, allow null update directory (#8864) 2023-02-19 13:17:51 -05:00
Owen1212055
6915dee3e3 Paper Plugins (#8108) 2023-02-19 09:57:10 -05:00
Jake Potrebic
5d777995f4 Fix calling UnknownCommandEvent (#8232) 2023-02-16 18:07:30 -08:00
Jason Penilla
8242b76d95 [ci skip] Update paperweight to 1.5.1 (#8856) 2023-02-16 09:03:25 -07:00
Shane Freeder
19889e8a77 Temp fix for EntityType.translationKey
Upstream improperly used the enum name for looking up the vanilla entity
type to get the translation key; temp patch this until upstream fixes this,
also add some quick validation
2023-02-16 03:20:43 +00:00
Jake Potrebic
b15172bc8e Make sure Registry is loaded after Bukkit.setServer() (#8853) 2023-02-15 15:00:22 -08:00
Jake Potrebic
f9e1ad2c2d Updated Upstream (Bukkit/CraftBukkit) (#8832)
Upstream has released updates that appear to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
37262de8 PR-812: Add Registry#match(String)
d6b40162 SPIGOT-4569: Add more BlockData API
f9691891 PR-809: Throw a more clear error for BlockIterators with zero direction, add Vector#isZero()
91e79e19 PR-804: Added methods to get translation keys for materials, itemstacks and more
426b00d3 PR-795: Add new BiomeParameterPoint passed to BiomeProvider#getBiome
0e91ea52 SPIGOT-7224: Add events for brewing stands and campfires starting their actions

CraftBukkit Changes:
a50301aa5 Fix issues with fluid tag conversion and fluid #isTagged
6aeb5e4c3 SPIGOT-4569: Implement more BlockData API
7dbf862c2 PR-1131: Added methods to get translation keys for materials, itemstacks and more
7167588b1 PR-1117: Add new BiomeParameterPoint passed to BiomeProvider#getBiome
7c44152eb SPIGOT-7224: Add events for brewing stands and campfires starting their actions
2023-02-15 14:10:14 -08:00
Jake Potrebic
bd166747a6 convert API/server tests to mockito (#8848)
* convert API tests to mockito

* convert server tests to mockito

* add co-author
2023-02-15 13:27:40 -08:00
brickmonster
afeeaca6dd Remove patch that was made obsolete by vanilla (#8847) 2023-02-13 17:52:27 +00:00
TM (Holly)
205d1402f8 Call PlayerReadyArrowEvent for when items in the offhand are used (#8842) 2023-02-13 09:36:25 +00:00
Jake Potrebic
ffc1cf92a1 Add missing isFuel Material entries (#8843) 2023-02-12 13:02:01 -08:00
Lulu13022002
f3de04a9fb Fix desync of honeycomb when the event is canceled (#8713) 2023-02-11 18:14:03 +01:00
Andreas Prues
723559e9f0 More Win Screen API (#8805)
Adds methods to get and set whether a player has seen the win screen before.
2023-02-11 16:55:45 +01:00
SamB440
e343c4eb44 Add projectile hit simulation API (#8816)
This adds API to force a projectile to hit a provided entity. Example usage could be if you have a player disguised as another entity, you could simulate an arrow colliding with the (fake) entity hitbox.
2023-02-11 15:41:06 +00:00
Matt Artist
f40928931b Modify offline mode warning to include Velocity line (#8812)
This adds a check to the offline-mode warning to see if Velocity is enabled. If it is enabled then it warns the user to make sure to secure their server and links to the Velocity documentation on that.
2023-02-10 18:10:11 -05:00
Drex
905b16a361 Add AntiXray layered obfuscation mode (#8799) 2023-02-09 18:38:00 +01:00
Piotr Pasztor
ab76bb014b Add Entity Body Yaw API (#8822) 2023-02-09 18:31:51 +01:00
Emily
b2b666ced2 Fix Tick::addTo/::between causing SOE (#8824) 2023-02-09 14:30:30 -03:00
Martijn
90cdec2283 Fix chunk sending when the computed time overflows (#8833) 2023-02-09 18:27:24 +01:00
Nassim Jahnke
62048076ef Send disguised chat for vanished players 2023-02-09 18:15:21 +01:00
Jake Potrebic
5fba40cc67 Updated Upstream (Bukkit/CraftBukkit) (#8823) 2023-02-07 07:55:53 -08:00
Jake Potrebic
3212d9fcf5 Deprecate duplicate API for arrow stuck count (#8829) 2023-02-07 07:43:20 -08:00
Jake Potrebic
72de51c57a Fix force-opening enchantment tables (#8820) 2023-01-27 13:01:36 -08:00
Jake Potrebic
b727bda1b0 Updated Upstream (CraftBukkit/Spigot) (#8815)
Upstream has released updates that appear to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

CraftBukkit Changes:
ab8ace685 SPIGOT-7236: Bone meal doesn't increase use statistic
7dcb59b8e Avoid switch on material in previous commit

Spigot Changes:
19641c75 SPIGOT-7235: World.Spigot#strikeLightningEffect doesn't do anything
2023-01-27 12:52:04 -08:00
Josh Roy
166dc90e1c Remove CraftItemStack#setAmount null assignment (#8807)
This creates a problem with Paper's item serialization
api where deserialized items, which are internally
created as a CraftItemStack, will be completely lost if
#setAmount(0) is invoked (since the underlying handle
is set to null), while a regular Bukkit ItemStack
simply sets the amount field to zero, retaining the
item's data.

Vanilla treats items with zero amounts the same as items
with less than zero amounts, so this code doesn't create
a problem with operations on the vanilla ItemStack.
2023-01-24 09:30:51 -05:00
Aya
cbf3b9b7af [ci skip] Fix PiglinBarterEvent JavaDoc (#8795) 2023-01-22 20:33:21 +02:00
Andreas Prues
17333bd2e5 Win Screen API (#8802) 2023-01-22 14:21:45 +01:00
Aya
80dbbcd4bb Add Player#sendEquipmentChange(Map) API (#8800) 2023-01-22 15:00:37 +02:00
Bjarne Koll
ef23d583c0 Correctly shrink items during EntityResurrectEvent (#8780)
The EntityResurrectEvent logic is supposed to locate a totem of undying
in any of the interaction slots of the player inventory and then, if the
called EntityResurrectEvent is not cancelled, shrink that item by 1,
usually reducing it to zero.

For this, the logic iterates over the items in the interaction slots and
breaks out the loop if a totem of undying was found.
However, even if no totem of undying was found, the iteration item stack
variable remains as a refernce to the last interaction slot probed.

Plugins uncancelling a EntityResurrectEvent, which is published
pre-cancelled to listeners if no totem of undying could be found,
would hence cause the server logic to shrink completely unrelated items
found in, at the writing of this patch, the players off hand slot.

This patch corrects this behaviour by only shrinking the item if a totem
of undying was found and the event was called uncancelled.
2023-01-19 23:09:08 +01:00
Nassim Jahnke
6627ac4b94 Revert executor in authentication thread pool back to original patch 2023-01-18 17:20:24 +01:00
alex6777
1b552c2a22 Don't clone location in PreCreatureSpawnEvent (#8790) 2023-01-16 10:03:58 -05:00
Nassim Jahnke
4537ed779a Update netty to 4.1.87 2023-01-14 19:53:32 +01:00
froobynooby
9bc8ff81e2 Fix entity types not appearing in timings (#8786) 2023-01-14 10:33:13 +09:30
Jake Potrebic
bf239d382f Fix some explosion damage not scaling with difficulty (#8767)
Fixes https://github.com/PaperMC/Paper/issues/8735
2023-01-11 17:10:45 -08:00
Corey Shupe
fd465d949c Fix player chat messages from vanished players resulting in kicks (#8777)
Co-authored-by: Nassim Jahnke <nassim@njahnke.dev>
2023-01-10 08:01:42 -05:00
Jake Potrebic
97690710b3 Fix treasure map config for loot tables (#8739) 2023-01-10 04:09:19 -08:00
byquanton
e52ed2c588 Updated Upstream (Bukkit/CraftBukkit)
Upstream has released updates that appear to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
79e39671 SPIGOT-7034: Add methods for set/get instrument in Goat Horn

CraftBukkit Changes:
4768df736 SPIGOT-7034: Add methods for set/get instrument in Goat Horn
941d7e954 SPIGOT-7225: FireworkMeta#getPower() can throw a NullPointerException for items with no power set
2023-01-09 17:49:06 +01:00
Jason Penilla
8f79964ecd [ci skip] Automatically close PRs from master branches on opening (#8779) 2023-01-09 14:43:54 -07:00
Jake Potrebic
3ee1c5bf3f Use single player info update packet on join (#8773) 2023-01-08 18:46:54 -08:00