Commit Graph

1534 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
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
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
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
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
Bjarne Koll
f88384efb3
Persist paper lootable on entities (#8762) 2023-01-05 11:59:10 +01:00
Hannes Greule
de5b1da681
Fix operator precedence bug (#8756) 2023-01-03 14:42:58 +01:00
Jake Potrebic
51cfcc88da
Updated Upstream (Bukkit/CraftBukkit) (#8740)
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:
d352d965 SPIGOT-7221: Add Enemy (Entity) interface

CraftBukkit Changes:
397c5557c SPIGOT-7221: Add Enemy (Entity) interface
a0d3dfaf2 PR-1129: Fix state corruption while handling explosion damage on EntityComplexPart
d67777f8b SPIGOT-7218: Player's outer layer of skin disappears after respawn
2023-01-01 12:17:40 -08:00
Owen
8d7d92709d
Return 0 if null for FireworkMeta (#8738) 2022-12-30 11:33:41 -06:00
Jake Potrebic
90750a6591
Rework filtering spawn egg and tile entity nbt config (#6613) 2022-12-27 18:59:15 -08:00
SoSeDiK
fa42c68b73
Expose pre-collision moving velocity to VehicleBlockCollisionEvent (#8457) 2022-12-27 16:56:19 -06:00
TreyRuffy
2040c1ec71
Player Flying Fall Damage API (#5357) 2022-12-27 14:41:59 -06:00
Jake Potrebic
52718dba10
Updated Upstream (Bukkit/CraftBukkit) (#8714)
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:
aef9b6d2 PR-800: Add support for NoteBlock sounds in Skulls

CraftBukkit Changes:
ae8f5fc02 PR-1125: Add support for NoteBlock sounds in Skulls
0a1c89e4b SPIGOT-7212: Allow negative firework power
909a246af SPIGOT-7211: generateTree() with Consumer or Predicate is broken
c810c3ed8 Increase outdated build delay
2022-12-26 09:53:35 -08:00
Jake Potrebic
78a91dfb48
Fix (again) Player#getPlayerProfile no such method error (#8722) 2022-12-26 13:34:23 +01:00
Owen
1975fbe368
Respect SpigotConfig logCommands & fix stopDancing() NPE (#8715) 2022-12-25 22:22:08 -06:00
Jake Potrebic
3331501f8e
Use team display name for quit message (#7127) 2022-12-25 08:57:54 -08:00
Owen
f26e9ccdd0
Tadpole lock API (#8297) 2022-12-23 14:50:32 -06:00
aerulion
47abd1c50c
Add EntityPushedByEntityEvent (#7704) 2022-12-23 13:59:11 -06:00
TehBrian
e6f61f715d
fix ArmorStandMeta not applying false flags (#8632) 2022-12-23 11:30:42 -06:00
Noah van der Aa
5717b84708
Add config option for spider worldborder climbing (#6448)
Co-authored-by: BillyGalbreath <blake.galbreath@gmail.com>
2022-12-23 10:51:24 -06:00
Noah van der Aa
c59922d94e
Expose signed message in chat events (#8694) 2022-12-23 09:54:04 -06:00
Jake Potrebic
8e83c3c7b4
Deprecate ProjectileCollideEvent (#8678)
replaced by ProjectileHitEvent
propagated the cancellation of the legacy event
to the modern one
2022-12-22 21:20:44 -08:00
Lulu13022002
e05ba9866d
Avoid to spam the transform event for hoglin->zoglin conversion (#8712) 2022-12-22 14:39:07 -08:00
Nassim Jahnke
7b52db5f61
Fix buffer-joins-to-world patch 2022-12-21 22:55:42 +01:00
Jake Potrebic
94373f0143
Fix OfflinePlayer#getPlayerProfile returning deprecated type (#8543) 2022-12-20 10:56:33 -08:00
Jake Potrebic
c1bca9ad34
Add exploded block state to BlockExplodeEvent (#6818) 2022-12-19 21:09:51 -08:00
Nassim Jahnke
d5f1ffc2e6
Remove somewhat broken patch
With the new chunk system it doesn't hurt too much to (temporarily) remove this until implemented in a safer manner
2022-12-19 11:46:55 +01:00
Lulu13022002
e498ddaa61
Add missing EntityChangeBlockEvent (#8696)
* Add missing EntityChangeBlockEvent

* Fix duplicate empty bottle when canceled for creative player

* Use native update impl instead of craftbukkit -> nms
2022-12-17 10:20:14 -08:00
Jake Potrebic
f7a13449e2
Improve PortalEvents (#8679) 2022-12-17 09:36:02 -08:00
Jason Penilla
f3eb2c70e0
Fix reobf issue in previous commit 2022-12-17 00:46:46 -07:00
Jason
86ed0d596a
ChatProcessor fixes (#8690)
Fixes handling for `ForwardingAudience.Single` and passes the signed message to non-native `Audience` types
2022-12-16 23:05:48 -07:00
Jake Potrebic
44dc5a4c26
Don't call lock check event if the block entity doesn't exist (#8687) 2022-12-16 13:31:51 -08:00
Jake Potrebic
aa9c200ea1
Fix metrics reporting unknown paper version (#8683)
Co-authored-by: BillyGalbreath <Blake.Galbreath@GMail.com>
2022-12-16 09:37:06 -08:00
Jake Potrebic
39d3a03bff
Fix Player#chat for 1.19.3 (#8684) 2022-12-16 09:15:21 -08:00
Jake Potrebic
262c08f64f
Updated Upstream (CraftBukkit) (#8680)
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:
2ed3e3e6e SPIGOT-7210: Fix structures in custom worlds
585ab5ba1 SPIGOT-7207: WorldCreator creates world as super flat even when normal is specified
2022-12-15 17:16:34 -08:00
Jakub Žáček
28c7d40326
Add Sneaking API for Entities (#8485) 2022-12-15 11:43:14 -08:00
Jake Potrebic
0262de0ddb
Deprecate TargetBlock/EntityInfo and assocated methods (#7381) 2022-12-15 09:10:03 -08:00
Jake Potrebic
3aec8630bb
Add BlockLockCheckEvent (#7840) 2022-12-15 08:49:49 -08:00
Nassim Jahnke
20503beee5
Remove guardian beam render issue workaround
Messing with game time sent to the client isn't worth the trouble whenever it may be used by the client now and in the future for such a small issue. Mojang, plz fix
2022-12-15 14:19:09 +01:00
Jake Potrebic
eec64a4e05
Fix explosion yield with new gamerules (#8674) 2022-12-14 20:01:31 -08:00
Jake Potrebic
7789bc5afa
Improve some logging and errors (#8673) 2022-12-14 19:54:43 -08:00
Jake Potrebic
66437d059f
Add more breakNaturally functionality (#7379) 2022-12-14 19:37:16 -08:00
Jake Potrebic
c97581978a
Fix inconsistencies in dispense events regarding stack size (#8653)
* Fix inconsistencies in dispense events regarding stack size

The javadocs for BlockDispenseEvent suggest the ItemStack is a single
item which is being dispensed. Before this fix, sometimes it was the whole
stack before a single item had been taken. This fixes that so the stack size
is always 1.

* Ensure stack size is correct in minecart and armor dispense behaviors
2022-12-14 13:05:11 -08:00
Jake Potrebic
c919e944ff
Updated Upstream (Bukkit/CraftBukkit) (#8663)
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:
f50ad1f8 PR-798: Add PrepareGrindstoneEvent and refactor related events to use PrepareInventoryResultEvent
0cac7963 SPIGOT-7204: Add TeleportCause#DISMOUNT
b4dd47b0 SPIGOT-7202: Deprecate removed door effects

CraftBukkit Changes:
ab1586c2f PR-1123: Add PrepareGrindstoneEvent
b402824ea SPIGOT-7204: Add TeleportCause#DISMOUNT
06a6a1012 PR-1121: Add unit test for spawn egg meta
c18668be3 SPIGOT-7192: Call PlayerInteractEvent with Action.LEFT_CLICK_AIR if the entity interacted is hidden to the player
47124f639 Increase outdated build delay
645993470 SPIGOT-7201: Spawner ItemMeta not working as expected
2022-12-13 21:03:57 -08:00
Jake Potrebic
adb8e499db
Fix fire charge not being consumed igniting a creeper (#8652) 2022-12-13 09:23:05 -08:00
SoSeDiK
0148283131
Fix locateNearestBiome nullability check (#8662) 2022-12-13 16:01:54 +01:00
Jake Potrebic
d2cb347f71
Fix items equipped on AbstractHorse losing NBT (#8647)
* Fix items equipped on AbstractHorse losing NBT

* squash later mc fix into vanilla patch
2022-12-11 15:22:56 -08:00
Jake Potrebic
d8cf30dfd1
Deprecate isPreview method in decorate events (#8645) 2022-12-11 09:55:39 -08:00
Jason Penilla
0bdbcd9d56
[ci skip] Remove non-functioning patch 2022-12-10 21:40:18 -07:00
Jake Potrebic
ecfb76a73a
Fix empty effect clouds from lingering potions (#8641) 2022-12-10 14:52:37 -08:00
Lulu13022002
7d18c6b4ac
Don't show particles when splash events are canceled (#8637) 2022-12-10 13:27:36 -08:00
Jake Potrebic
5bd8e1c191
Fix MapLike Codec missing key 'selector' (#8634)
* Fix MapLike Codec missing key 'selector'

* Make sure a new instance is created each time
2022-12-10 09:04:27 -08:00
Nassim Jahnke
7ba81b14dd
[ci skip] Fix leaf'd patch names 2022-12-10 17:49:00 +01:00
Nassim Jahnke
be50d5bcc3
Readd BlockBehavior inlining patch 2022-12-10 17:24:01 +01:00
Lulu13022002
812efd3826
Fix chunksnapshot biome getter (#8639) 2022-12-10 14:11:39 +01:00
Lulu13022002
075fb67c78
Add eating regain reason for Camels (#8638) 2022-12-10 14:07:35 +01:00
Owen
ec772bb8b8
Rabbit API (#8627) 2022-12-09 18:56:13 -06:00
Jake Potrebic
5e6ac3c46e
Properly identify golem spawn reason (#8635) 2022-12-09 16:37:03 -08:00
Jake Potrebic
f6ffbc2720
Readd improve/fix EntityTargetLivingEntityEvent (#8630) 2022-12-09 12:30:55 +01:00
Jake Potrebic
20549ff2d7
Add new 1.19.3 fires of EntityInsideBlockEvent (#8629) 2022-12-09 02:46:47 -08:00
Jake Potrebic
b4a8f14a67
last instrument fix, I promise 2022-12-09 02:03:06 -08:00
Jake Potrebic
2ad5f6f66b
couple more instrument/note fixes 2022-12-09 01:49:15 -08:00
Owen
df1f4ac26d
Update adventure (#8625) 2022-12-09 10:11:28 +01:00
Jake Potrebic
f29ab144be
fix method rename issue in Camel 2022-12-08 18:17:06 -08:00