Commit Graph

7679 Commits

Author SHA1 Message Date
Bjarne Koll d9699b5935
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
Owen 8427c88987
Redefine Cyclic Dependencies (#8873) 2023-02-20 19:09:38 -06:00
Owen 0e4f2cc527
Small paper plugin fixes (#8866)
Co-authored-by: Bjarne Koll <lynxplay101@gmail.com>
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
2023-02-20 13:02:53 -05:00
Nassim Jahnke 8c4e81184b
Update circular dependencies warning, properly crash
Also fixes logging errors
2023-02-20 15:20:49 +01:00
Owen 7baf427e90
Fix plugin updater logic, allow null update directory (#8864) 2023-02-19 12:17:51 -06:00
Owen 841da90501
Paper Plugins (#8108) 2023-02-19 08:57:10 -06:00
Jake Potrebic f9dc371fd8
Fix calling UnknownCommandEvent (#8232) 2023-02-16 18:07:30 -08:00
Jason 8fced9d5ab
[ci skip] Update paperweight to 1.5.1 (#8856) 2023-02-16 09:03:25 -07:00
Shane Freeder 27516ee39e
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:22:57 +00:00
Jake Potrebic 5c87711301
Make sure Registry is loaded after Bukkit.setServer() (#8853) 2023-02-15 15:00:22 -08:00
Jake Potrebic 03a4e7ac75
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 afe633df08
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 f2f9e8cc4d
Remove patch that was made obsolete by vanilla (#8847) 2023-02-13 18:52:27 +01:00
TM (Holly) 8d1acf68ed
Call PlayerReadyArrowEvent for when items in the offhand are used (#8842) 2023-02-13 10:36:25 +01:00
Jake Potrebic bb05fcf4ca
Add missing isFuel Material entries (#8843) 2023-02-12 13:02:01 -08:00
Lulu13022002 bd77b78e4f
Fix desync of honeycomb when the event is canceled (#8713) 2023-02-11 12:14:03 -05:00
Andreas Prues 7e7e6b4bab
More Win Screen API (#8805)
Adds methods to get and set whether a player has seen the win screen before.
2023-02-11 09:55:45 -06:00
SamB440 de38a45c34
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 09:41:06 -06:00
Matt Artist afa16e6b64
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 17:10:11 -06:00
Nassim Jahnke 5eca9642e1
[ci skip] Rebuild patches 2023-02-09 18:45:15 +01:00
Drex 0c9ace8f78
Add AntiXray layered obfuscation mode (#8799) 2023-02-09 18:38:00 +01:00
Piotr Pasztor 0c3311c3b2
Add Entity Body Yaw API (#8822) 2023-02-09 18:31:51 +01:00
Emily 39aef524ee
Fix `Tick::addTo`/`::between` causing SOE (#8824) 2023-02-09 18:30:30 +01:00
Martijn 96fd31b762
Fix chunk sending when the computed time overflows (#8833) 2023-02-09 18:27:24 +01:00
Nassim Jahnke 7569191fed
Send disguised chat for vanished players 2023-02-09 18:15:21 +01:00
Jake Potrebic 57f1157871
Updated Upstream (Bukkit/CraftBukkit) (#8823) 2023-02-07 07:55:53 -08:00
Jake Potrebic b9b4c9a314
Deprecate duplicate API for arrow stuck count (#8829) 2023-02-07 07:43:20 -08:00
Jake Potrebic 4da844f1e3
Fix force-opening enchantment tables (#8820) 2023-01-27 13:01:36 -08:00
Jake Potrebic 9147456fc9
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 18fabc08d5
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 15:30:51 +01:00
Aya b1b19b67f2
[ci skip] Fix PiglinBarterEvent JavaDoc (#8795) 2023-01-22 19:33:21 +01:00
Andreas Prues b082d8970b
Win Screen API (#8802) 2023-01-22 14:21:45 +01:00
Aya 2eca2a27b0
Add Player#sendEquipmentChange(Map) API (#8800) 2023-01-22 14:00:37 +01:00
Bjarne Koll 42fecd0a5f
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 0ed4b9148b
Revert executor in authentication thread pool back to original patch 2023-01-18 17:20:24 +01:00
alex6777 567ff90111
Don't clone location in PreCreatureSpawnEvent (#8790) 2023-01-16 16:03:58 +01:00
Nassim Jahnke ec9dba85db
Update netty to 4.1.87 2023-01-14 19:53:32 +01:00
froobynooby 5aee09dd28
Fix entity types not appearing in timings (#8786) 2023-01-14 01:03:13 +00:00
Jake Potrebic 171934562b
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 7a64b85f92
Fix player chat messages from vanished players resulting in kicks (#8777)
Co-authored-by: Nassim Jahnke <nassim@njahnke.dev>
2023-01-10 14:01:42 +01:00
Jake Potrebic 8e08d9b023
Fix treasure map config for loot tables (#8739) 2023-01-10 13:09:19 +01:00
byquanton 92c1a3e392
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 21:46:23 +00:00
Jason fb90721a94
[ci skip] Automatically close PRs from master branches on opening (#8779) 2023-01-09 14:43:54 -07:00
Jake Potrebic 214a8c54a4
Use single player info update packet on join (#8773) 2023-01-08 18:46:54 -08:00
Hannes Greule 035f9d7157
Fix items never falling after being on ground (#8768) 2023-01-07 13:05:13 +01:00
Nassim Jahnke a0b59cad77
[ci skip] Update paperweight to 1.4.1 2023-01-06 09:43:31 +01:00
Nassim Jahnke b29e07bebd
[ci skip] Fix instrument reference in item specific hide flag docs 2023-01-05 20:28:43 +01:00
Bjarne Koll f88384efb3
Persist paper lootable on entities (#8762) 2023-01-05 11:59:10 +01:00
Nassim Jahnke 940c9a3493
Replace ItemFlag.HIDE_POTION_EFFECTS (#8765) 2023-01-05 11:54:21 +01:00
Hannes Greule de5b1da681
Fix operator precedence bug (#8756) 2023-01-03 14:42:58 +01:00