Commit Graph

2271 Commits

Author SHA1 Message Date
Shane Freeder
ed753d34d2
Re-add missing vanilla safeMode arg 2023-11-25 09:49:48 +00:00
Jake Potrebic
96d5e6ca48
Code Generation for TypedKeys (#9233)
Currently includes generated key holder classes for types
used in the Registry Modification API
2023-11-22 20:56:28 -08:00
Isaac - The456
250388defe
add getAdvancementProgress() to PlayerAdvancementCriterionGrantEvent (#9865)
this allows for simpler checks for if an advancement would be given to a player,
and denying it (as the advancement grant event is non-cancelable)
2023-11-18 20:18:48 -05:00
booky10
86117967db
Fix missing event call for entity teleport API (#9937)
* Fix missing event call for entity teleport API

Previously a plugin couldn't cancel or modify an entity-teleport from another plugin.

* rebase
2023-11-18 20:05:34 -05:00
TonytheMacaroni
581c7434be
Add API to retrieve an attribute modifier from a UUID (#9924)
* Add attribute modifier from UUID API

* Add method to remove by UUID

* Add overload for UnmodifiableAttributeInstance, better precondition messages

* rebase
2023-11-18 19:55:57 -05:00
Jake Potrebic
39dee1ab52
More paper config cleanup (#9938)
Also adds a warning and error message if a newer config version
was found signaling a downgrade.
2023-11-18 16:29:14 -08:00
Jake Potrebic
e5274eeac9
Fix spawners checking max nearby entities with correct type (#8945)
Co-authored-by: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
2023-11-18 15:59:12 -08:00
Bjarne Koll
0a8c873722
Call LivingEntity#onItemPickup before mutation (#9948)
The existing EntityPickupItemEvent fixes patch moves the call to LivingEntity#onItemPickup for piglins after the respective EntityPickupItemEvent calls, which is correct.
However the patch moved the call so far down the line that the existing logic already mutated the picked up item entity, leading to faulty state being passed to the onItemPickup method.

To prevent logic in LivingEntity#onItemPickup to read from an ItemEntity that was already mutated, this commit moves the calls prior to the two respective mutations (either gold_nugget or rest).

This was chosen above taking a copy of the original item and restoring state later on to avoid a full item stack clone.
2023-11-17 07:43:25 +01:00
Jake Potrebic
f186318a91
Run the chat callback on the main thread as expected (#9935) 2023-11-11 15:33:19 -08:00
Jake Potrebic
a506b48daa
Fix several issues with EntityBreedEvent (#8677)
Upstream did not account for different hands when storing
the breed item for later use in the event. Also they only
stored a reference to the stack, not a copy so if the stack
changed after love mode was started, the breed item in the event
also changed. Also in several places, the breed item was stored after
it was decreased by one to consume the item.
2023-11-11 15:23:02 -08:00
booky10
9548629853
Add hand to fish event for all player interactions (#9929) 2023-11-11 23:00:45 +01:00
booky10
9ee60eca7d
Add aggressive mob API (#9838) 2023-11-11 16:17:36 -05:00
Owen
dd47ec6fe2
Add Entity Movement Direction API (#7085)
This allows you to get player movement when riding vehicles, etc.
2023-11-11 16:04:34 -05:00
Jake Potrebic
d8847bc1f3
Updated Upstream (Bukkit/CraftBukkit) (#9922)
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:
fde5602a PR-927: Add PlayerRecipeBookSettingsChangeEvent
949ff217 PR-930: Add methods to get/set evoker fang attack delay
f6f7c79d SPIGOT-7514, PR-929: Add "Enchantment Roll" API to enchant items according to Minecraft mechanics
d40e22da PR-712: Add API to get full result of crafting items

CraftBukkit Changes:
c8feb0629 PR-1291: Improve precondition message in Entity#playEffect
482c56a00 PR-1285: Add PlayerRecipeBookSettingsChangeEvent
cdf798800 PR-1290: Add methods to get/set evoker fang attack delay
2c1b5f78f SPIGOT-7514, PR-1289: Add "Enchantment Roll" API to enchant items according to Minecraft mechanics
6aa644ae9 PR-992: Add API to get full result of crafting items
ffb1319bc PR-1287: Fix scoreboards not updating in Player#setStatistic
2023-11-11 12:25:45 -08:00
Luis
63e77b531d
Add Enchantment cost API (#9856)
Cost is a property of individual enchantments, and is used by vanilla in combination with environmental aspects like tool enchantability and bookshelf count to determine the final cost of an enchantment as shown in an enchanting table.

Having access to the base cost of an enchantment using these vanilla methods can allow plugin developers to determine the "value" of an enchantment, and use it in custom logic where needed. I came across this recently when trying to assign an economic value to enchantments during tool repairing, and noticed these values don't seem to be obtainable under the current API.
2023-11-11 15:09:48 -05:00
Tamion
6675d13b31
Fix strikeLightningEffect powers lightning rods & clears copper (#9780)
* Fix strikeLightningEffect powers lightning rods and clears copper

* Fixed vanilla behavior break

* rebase

* revert spigot cleanup and remove setter

* better fix for behaviour break

* rebase and clean

* fix
2023-11-11 12:09:14 -08:00
Jake Potrebic
c95bc5f86d
Don't unpack loot table for TEs not in world (#9918)
Fixed by 23w44a/1.20.3
2023-11-11 11:23:12 -08:00
Shane Freeder
4675152f49
Don't leave the NearbyPlayers tracker in an entirely busted state on double-add detection 2023-11-05 22:15:38 +00:00
Layla Silbernberg / LadySilver47
8cafc07297
Added missing enchantables to material tags (#9888) 2023-11-05 00:37:51 +01:00
Tamion
e289accb03
Add more API to LingeringPotionSplashEvent (#9901)
* Add createAreaEffectCloud API

* Add missing NotNull

* Add missing Paper comments

* Better solution

* Better naming

* New patch and rename

* rename patch
2023-11-04 16:24:06 -07:00
NonSwag
2553f30153
fix secure profile with proxy online mode (#9700) 2023-11-05 00:12:47 +01:00
booky10
75d04e9b04
Broadcast take item packets with collector as source (#9884)
This fixes players (which can't view the collector) seeing item pickups with themselves as the target.
2023-11-04 15:16:55 -07:00
TonytheMacaroni
23860da6c2
Add predicate for block when raytracing (#9691)
* Add predicate for block data when raytracing blocks

* Match based on block, instead of block data

* Use instanceof instead of casting

* Use Position instead of Location, add overload for rayTraceEntities

* Implement requested changes

* Invert predicate

* Cleanup
2023-11-04 15:00:51 -07:00
TrollyLoki
8a3980c60b
Add API to get the collision shape of a block before it's placed (#9821)
* Add API to get the collision shape of a block before it's placed

* Tweak API documentation

* Clarify behavior

* Rebase

* Rebase
2023-11-04 16:32:10 -05:00
Jake Potrebic
0cdce89d59
Fix a bunch of stuff with player spawn locations (#9887)
If a playerdata doesn't contain a valid, loaded world, reset
to the main world spawn point
2023-11-04 14:11:55 -07:00
powercas_gamer
15a0de2eef
Make Team extend ForwardingAudience (#9852) 2023-11-04 21:50:56 +01:00
booky10
43c343228e
Add entity API for getting the combined gene of a Panda (#9891) 2023-11-04 21:28:23 +01:00
Tamion
bffb08c2f9
Deprecate Player#boostElytra (#9899)
The Paper method was chosen for deprecation because it was more
restrictive in that it has an isGliding check.
2023-11-04 13:20:13 -07:00
Jake Potrebic
6592fed511
Use a server impl for hopper event to track get/setItem calls (#9905)
* Use a server impl for hopper event to track getItem/setItem calls

* Rebase

* Comments
2023-11-04 12:58:40 -07:00
Warrior
aa6c4c11e5
Include packet class name in packet encoding error messages (#9907) 2023-11-04 12:34:34 -07:00
booky10
f78d7ce8ff
Remove "fix-curing-zombie-villager-discount" exploit option (#9895) 2023-11-04 20:20:01 +01:00
Lulu13022002
44057da467
Remove duplicate water-sensitivity damage for unaware mobs (#9908) 2023-11-04 12:10:27 -07:00
Warrior
230682d51b
Add raw iron & raw copper blocks to anti xray defaults (#7622) 2023-11-04 15:07:48 +00:00
TomTom
487109fddc
Readd 0414 use distance map to optimise entity tracker (#9868) 2023-11-03 14:05:57 +00:00
Nassim Jahnke
8493340be4 Add another slot sanity check 2023-11-03 14:49:55 +10:00
Md5Lukas
0b218903a8
Fix villager infection chance not being handled properly (#9897) 2023-11-01 14:59:00 -07:00
Jake Potrebic
1865625d95
Fix NPE when no valid world is found on legacy Players (#9885) 2023-10-29 15:33:32 +00:00
booky10
5bb30ce95b
Fix entity camera not being reset when cancelling spectating start/stop events (#9883) 2023-10-29 01:45:07 +01:00
Shane Freeder
415d7081d2
[ci skip] Fix author in last patch 2023-10-29 00:58:15 +01:00
Gero
a81a384303
Implement Velocity VarInt optimizations (#8418)
---------

Co-authored-by: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
2023-10-28 19:56:47 -04:00
booky10
5bdfb29ba1
Add player idle duration API (#9833)
* Add player idle duration API

Implements API for getting, setting and resetting a player's idle duration.

* Remove idle duration setter

* Rebase
2023-10-28 19:25:46 -04:00
caramel
c6fac381ed
fix UnsafeValues#loadAdvancement doesn't recalculate position (#9846) 2023-10-28 16:13:33 -07:00
Kenox
8b1ac39e89
Fix warden spawn reason from DEFAULT to NATURAL (#8744) 2023-10-28 19:10:31 -04:00
caramel
52849f6da6
Cleanup disable explosion knockback patch (#9858) 2023-10-28 15:50:26 -07:00
Tamion
b1faa5d5f4
Fix PotionAPI ignores icon flag (#9864)
* fix PotionAPI ignores icon flag

* also fix CraftPotionUtil#toBukkit

* also CraftPotionUtil#fromBukkit

* use CraftPotionUtil
2023-10-28 15:39:47 -07:00
Warrior
b3cac042c1
Fix crash when version_history.json is empty (#9871) 2023-10-28 15:24:54 -07:00
SplotyCode
29350674b3
Fix null item in sendEquipmentChange (#9869) 2023-10-28 15:15:20 -07:00
Jake Potrebic
8cf2503804
Updated Upstream (Bukkit/CraftBukkit) (#9876)
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:
19830133 PR-925: Add hit entity/block to events extending ProjectileHitEvent

CraftBukkit Changes:
5a72c3c04 SPIGOT-7510: Try to fix broken reflection usage of plugins
6fa69f235 PR-1281: Add hit entity/block to events extending ProjectileHitEvent
224f733ac Fix NPE introduced in #f4d977e
2023-10-28 15:02:13 -07:00
Lulu13022002
996d529fb3
Resend entity using the bundle packet (#9853) 2023-10-27 15:48:13 +02:00
Jason Penilla
b974a6b6f3
Update paperweight to 1.5.9 (#9872) 2023-10-26 16:34:58 -07:00
Jake Potrebic
acc6d012b0
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#9861) 2023-10-26 14:56:40 -07:00
Jason
c1ac98328c
Fix log level of advancement debug message (#9860) 2023-10-23 19:07:44 +02:00
Jake Potrebic
90fe0d58a5
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#9825)
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:
897a0a23 SPIGOT-5753: Back PotionType by a minecraft registry
255b2aa1 SPIGOT-7080: Add World#locateNearestBiome
ff984826 Remove javadoc.io doc links

CraftBukkit Changes:
71b0135cc SPIGOT-5753: Back PotionType by a minecraft registry
a6bcb8489 SPIGOT-7080: Add World#locateNearestBiome
ad0e57434 SPIGOT-7502: CraftMetaItem - cannot deserialize BlockStateTag
b3efca57a SPIGOT-6400: Use Mockito instead of InvocationHandler
38c599f9d PR-1272: Only allow one entity in CraftItem instead of two
f065271ac SPIGOT-7498: ChunkSnapshot.getBlockEmittedLight() gets 64 blocks upper in Overworld

Spigot Changes:
e0e223fe Remove javadoc.io doc links
2023-10-22 20:12:00 +01:00
Shane Freeder
489bff9bbd
Temp fix for serialisable blockdata 2023-10-22 19:56:25 +01:00
MiniDigger | Martin
71a1787f6c
[ci skip] cleanup some ATs (#9840) 2023-10-21 17:17:55 -07:00
Lulu13022002
3a5c6f8cee
Fix NPE in SculkBloomEvent world access (#9857) 2023-10-21 13:20:24 -07:00
Brokkonaut
a3e4d1aa36
Don't check if we can see non-visible entities 2023-10-21 20:53:33 +01:00
Spottedleaf
4b0bc74c90 Initialise default nibble arrays in ChunkAccess directly
When ChunkAccess was converted to an abstract class some versions
ago, the code to initialise nibble arrays should have been moved.
However, the code was not moved and so now mods constructing their
own implementations of ChunkAccess would not have the nibble arrays
initialised.

This is ported to Paper from Starlight to keep the code base in sync,
not because it fixes anything known.
2023-10-16 18:57:45 -07:00
Spottedleaf
00331d943e Fix mushrooms not generating in swamps
During feature generation, light data is not initialised and
will always return 15 in Starlight. Vanilla can possibly return
0 if partially initialised, which allows some mushroom blocks to
generate.

In general, the brightness value from the light engine should not
be used until the chunk is ready. To emulate Vanilla behavior better,
we return 0 as the brightness during world gen unless the target
chunk is finished lighting.

The regular light retrieval outside of WorldGenRegion remains
the same, as behaviorally chunks not lit should be at max
skylight and zero block light.
2023-10-16 18:52:28 -07:00
Spottedleaf
2f4281e2b4 Remove unused skyLightSources
There is no point in initialising the sources in Starlight,
as we do not use them. Additionally, they are not saved to
disk so we do not need them.

Maintaining and initialising them is not a negligible cost,
which is why they are being removed.
2023-10-16 18:49:41 -07:00
caramel
e57af7d01e
sync netty version with vanilla (#9842) 2023-10-15 15:41:17 +01:00
caramel
44ee1cd05e
fix recipe packet limiter (#9841) 2023-10-15 15:11:15 +01:00
Md5Lukas
852c1c236d
Add additional tags to ItemMeta obfuscation filtering (#9665) 2023-10-14 23:41:15 +02:00
Md5Lukas
3e1c5e3eb0
Add BlockData setter for FallingBlock (#9829) 2023-10-14 22:46:31 +02:00
Jakub Zacek
e4d184f39d
Replace bukkit Consumers with java consumers (#9836) 2023-10-14 22:43:32 +02:00
froobynooby
3e9d2ac5f2
Don't call options events on login (#9834)
* Don't call options events on login

* Merge changes into client options API patch
2023-10-14 11:32:00 -07:00
SplotyCode
f613437019
Fix CraftPlayerProfile#setId regression (#9822) 2023-10-12 01:20:25 +00:00
Jake Potrebic
2f5bb7e306
add predicate recipe choice only for potion mixes (#9486) 2023-10-10 16:07:21 -07:00
caramel
5509610db5
Fix UnsafeValues#loadAdvancement (#9753) 2023-10-10 15:19:00 -07:00
Jake Potrebic
7e5dd92f9f
fix flat bedrock world config (#9728) 2023-10-10 14:43:10 -07:00
TrollyLoki
69ce9276e4
Make setVelocity method of Fireballs change the travel direction to an arbitrary vector (#9815) 2023-10-10 23:09:45 +02:00
Xander de Keijzer
72f7945e77
Fix painting loosing art on face change (#9798) 2023-10-10 22:24:35 +02:00
Jake Potrebic
e87240b674
Fixes for loot tables (#9818) 2023-10-10 10:35:49 -07:00
Spottedleaf
99b735c1ac Make EntityLookup#get use read lock for entity maps
On Folia, this map is modified by multiple threads and iterating
it may throw errors, for example using the /kill command or any
other command that uses an entity selector.
2023-10-09 10:02:37 -07:00
Warrior
a702a083cd
Move clientBrandName over to ServerPlayer (#9809) 2023-10-08 12:07:48 +02:00
Bjarne Koll
29a0209575
Properly check water block when random ticking ice (#9804)
Readds a lost update to the shared mutable state in the random block
ticking optimisation.
2023-10-06 21:34:00 +01:00
Nassim Jahnke
cfe311d7a5
Fix item effects conversion if no tag is present
Fixes #9796
2023-10-05 16:03:26 +10:00
Nassim Jahnke
431e6418ab
Fixup player profile getters and constructor to expected nullability (#9770) 2023-10-05 05:31:24 +00:00
Warrior
02cfaa8ff8
Fix mobs not spawning when using an older config (#9793) 2023-10-04 10:08:47 -07:00
Shane Freeder
5eec4ec3bf
Quick tweaks to logical flow of getMapData 2023-10-04 16:25:26 +01:00
booky10
f36bb59739
Fix entity data not updated for firework attached to entity (#9783) 2023-10-03 18:29:44 -07:00
Jake Potrebic
6573d9555d
update configurate (#9230) 2023-10-03 18:06:23 -07:00
Nassim Jahnke
9d21a88218
Fix tests 2023-10-04 07:58:30 +10:00
Nassim Jahnke
bb1c0dd6fa
Implement tracking range y setting 2023-10-03 22:19:39 +10:00
Nassim Jahnke
f6969b6374
Updated Upstream (Bukkit/CraftBukkit/Spigot)
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:
09b1c123 PR-916: Add more lightning API
c085f3de PR-859: Add Entity#getTrackedBy

CraftBukkit Changes:
1bf30a4e9 SPIGOT-7495: Spawning bee entity in asynchronous BlockPopulator causes IllegalStateException - Accessing LegacyRandomSource from multiple threads
476c5bccd PR-1267: Add more lightning API
40d5e6c02 PR-1190: Add Entity#getTrackedBy
40d41acc1 SPIGOT-7491: Downgrade bundled SQLite to be updated next release
44b31da38 PR-1264: Load Bukkit class before creating Registry item
dc45a6738 SPIGOT-7496: Failure to load datapacks with multiple identical predicates
f508657d6 Fix decompile error affecting javac
ef7a4743d PR-1265: Ensure UTF-8 used in new test resource

Spigot Changes:
224dad51 Rebuild patches
2023-10-03 22:00:24 +10:00
Lulu13022002
38376f43a0
Some jd fixes (#9781) 2023-10-01 00:20:51 +00:00
Nassim Jahnke
c4ba28a21a
Don't throw when removing unplaced player in NearbyPlayers 2023-09-30 15:37:00 +10:00
Nassim Jahnke
0f69290f07
[ci skip] Fix typo (important) 2023-09-29 13:20:32 +10:00
Nassim Jahnke
4cdbb0c86c
Updated Upstream (Bukkit/CraftBukkit/Spigot)
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:
044d4ee9 SPIGOT-7283, SPIGOT-7318: Add AsyncStructureGenerateEvent and BlockState cloning
57b73d57 PR-913: Deprecate Projectile#doesBounce() and #setBounce()
43373c44 PR-904: Update FeatureFlag for 1.20.2
a7bbbf0c PR-911: Expand DataPack API with 1.20.2 pack version methods
0341e3a0 SPIGOT-7489: Add TeleportDuration to Display Entity
bcd8d2aa PR-912: Update Minecraft Wiki URLs

CraftBukkit Changes:
99aafc222 Increase outdated build delay
dab849f08 SPIGOT-7283, SPIGOT-7318: Add AsyncStructureGenerateEvent and BlockState cloning
041b29ae3 Upgrade specialsource-maven-plugin
851a32cff PR-1263: Remove unused implementation of AbstractProjectile#doesBounce() and #setBounce()
251af0da3 PR-1261: Expand DataPack API with 1.20.2 pack version methods
46e4ba627 Upgrade specialsource-maven-plugin
df3738a24 SPIGOT-7489: Add TeleportDuration to Display Entity
8d0fea457 PR-1262: Update Minecraft Wiki URLs
e62905aab SPIGOT-7490: Fix entity equipment updates

Spigot Changes:
a0f3d486 Rebuild patches
2023-09-29 13:05:28 +10:00
Jake Potrebic
1765917a6f
Fix creating the reverse map for loot table keys (#9766) 2023-09-28 16:29:34 -07:00
Spottedleaf
fe54a13b13 Properly call overloaded super onDisconnect
Since the method is overloaded, the call to super (which is changed
to call the overloaded method) without the additional parameters
will result in recursion.
2023-09-26 13:16:24 -07:00
Spottedleaf
b3b961f9d5 Fire PlayerConnectionCloseEvent for configuration packet listener
If the player moves to the configuration stage, we also need
to fire the event.
2023-09-26 09:20:17 -07:00
Spottedleaf
c207429b21 Fix VoxelShape#isFullBlock() for non-single AABB types
The correct logic to implement NOT_SAME with Shapes#block()
is to test whether any shape data exists outside of [0.0, 1.0]
and to test whether the shape is completely filled from 0.0 to 1.0
on all axis. This can be implemented by checking whether the
bounds represent the full block and whether everything within
the bounds is filled.
2023-09-26 09:16:11 -07:00
Jake Potrebic
298c47857b
Fix tests that broke during the junit 5 update (#9757)
Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
2023-09-25 09:05:05 +10:00
Shane Freeder
3cf03fc31a
Fix/update wiki (#9758) 2023-09-25 09:02:46 +10:00
Shane Freeder
5cbce366b2 Handle new brand payload type 2023-09-24 19:48:29 +01:00
Warrior
5923b7d085
Fix missing map initialize event call & missing map id assignment (#9756) 2023-09-24 19:17:29 +01:00
Nassim Jahnke
e284bb1215
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:
fb23cbb3 Define surefire plugin version
d022084a Define ordering for MetadataStoreTest
99a7f6f0 PR-910: Match generic max absorption attribute name style with the rest
c7390d71 PR-909: Update tests to JUnit 5

CraftBukkit Changes:
f0661c351 PR-1230: Move unstructured PDC NBT serialisation to SNBT
452fcb599 PR-1256: Update tests to JUnit 5
2023-09-24 18:25:25 +10:00
Spottedleaf
7a00758b1b Rebuild patches 2023-09-23 23:41:38 -07:00
Spottedleaf
11138a770e Re-add remove streams for Brain AI patch 2023-09-23 23:40:49 -07:00
Spottedleaf
8b9e3dcd9e Optimise nearby player retrieval
Instead of searching/testing every player online on the server,
we can instead use the nearby player tracking system to reduce
the number of tests per search.
2023-09-23 23:40:49 -07:00
Nassim Jahnke
866d2d9f4a
Use correct ClientboundLevelChunkWithLightPacket constructor in later patch 2023-09-24 16:29:07 +10:00
Jake Potrebic
025c5d7a28
rebuild patches 2023-09-23 22:35:37 -07:00
Jake Potrebic
ea56138b30
Fix some issues 2023-09-23 22:33:49 -07:00
Spottedleaf
5dca26ce54 Fix race condition on UpgradeData.BlockFixers class init
The CHUNKY_FIXERS field is modified during the constructors
of the BlockFixers, but the code that uses CHUNKY_FIXERS does
not properly ensure that BlockFixers has been initialised before
using it, leading to a possible race condition where instances of
BlockFixers are accessed before they have initialised correctly.

We can force the class to initialise fully before accessing the
field by calling any method on the class, and for convenience
we use values().
2023-09-23 22:31:43 -07:00
Spottedleaf
84556f3cda Add lag compensation for breaking blocks 2023-09-23 22:31:42 -07:00
Spottedleaf
38dc3b25d8 Optimise chunk tick iteration
When per-player mob spawning is enabled we do not need to randomly
shuffle the chunk list. Additionally, we can use the NearbyPlayers
class to quickly retrieve nearby players instead of possible
searching all players on the server.
2023-09-23 22:31:00 -07:00
Nassim Jahnke
8d922746d9
Drop no longer needed patch 2023-09-24 13:09:52 +10:00
Nassim Jahnke
2ec643a53c
Readd anti xray and oversized block entity patches 2023-09-24 12:35:16 +10:00
Noah van der Aa
6be43952eb Migrate paper log ips option to new server.properties option 2023-09-23 23:21:21 +02:00
Jason Penilla
9624451ffd
Add missing kick event cause 2023-09-23 08:50:32 -07:00
Lulu13022002
b561a12078
Fix SuspiciousStewMeta 2023-09-23 16:41:51 +02:00
Lulu13022002
9c126fd2a9
fix test 2023-09-23 13:38:46 +02:00
Owen1212055
38b7565d9e
Remove Spigot Bug Fix for MC-109346 2023-09-23 01:51:40 -04:00
Owen1212055
8b512e3466
Support Paper ip address config + add missing logs 2023-09-23 01:50:13 -04:00
Nassim Jahnke
9df2066642
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:
dfe1fb48 PR-906: Add missing MinecraftExperimental annotation to Bundles
825ab30d PR-905: Add missing MapCursor.Type and update documentation
e03d10e6 PR-903: Make BARRIER Waterlogged
1961ead6 PR-898: Use Java Consumer instead of Bukkit Consumer

CraftBukkit Changes:
f71a799f0 Make BARRIER Waterlogged
172f76a45 Upgrade specialsource-maven-plugin
f0702775c SPIGOT-7486: Alternate approach to null profile names
069495671 SPIGOT-7485: Allow air entity items since required for Vanilla logic
5dfd33dc2 SPIGOT-7484: Cancelling PlayerEditBookEvent does not update client's book contents
02d490788 PR-1250: Standardize and centralize Bukkit / Minecraft registry conversion
9024a09b9 PR-1251: Use Java Consumer instead of Bukkit Consumer
6d4b25bf1 Increase diff stability
2023-09-23 12:21:59 +10:00
Nassim Jahnke
a353f4d207
Readd network optimization patch 2023-09-23 11:45:34 +10:00
Spottedleaf
a50d7c340b Make sure to maintain the players sent to set for ChunkHolder
Required for proper block/light updates to clients
2023-09-22 17:07:02 -07:00
Nassim Jahnke
02807238c4
Fix chat processing 2023-09-23 09:58:19 +10:00
Nassim Jahnke
d23c4a50e6
Fix local attribute setting 2023-09-23 09:42:59 +10:00
Nassim Jahnke
b3ec8bd8ae
Revert "re-add distance map patch"
This reverts commit 81c5901c67.
2023-09-23 09:38:10 +10:00
Jake Potrebic
81c5901c67
re-add distance map patch 2023-09-22 16:26:10 -07:00
Jake Potrebic
47aeab84ad
fixup display slots patch (#9746) 2023-09-22 16:07:33 -07:00
Jake Potrebic
915bb9220e
Fixup advancement patch (#9745) 2023-09-22 16:03:34 -07:00
Spottedleaf
6af97e11b6 Port patches from folia dev/optimisations 2023-09-22 15:56:00 -07:00
Spottedleaf
d259503c92 Fix recursion with pathfind entity event
With the function overload, need to pass the entity
through to the super call
2023-09-22 15:39:00 -07:00
Spottedleaf
ea01aa335a Add some patches, fix compile 2023-09-22 15:33:14 -07:00
Spottedleaf
e88856dd75 Chunk system patch 2023-09-22 13:13:57 -07:00
Jason Penilla
896aa8b54a
Rebuild patches 2023-09-22 10:59:56 -07:00
MiniDigger | Martin
603c33df06 some more compile fixes 2023-09-22 19:43:52 +02:00
MiniDigger | Martin
1ebaffacf5 some compile fixes 2023-09-22 19:31:02 +02:00
Noah van der Aa
f4d8a64094 more more more more more more more more more more more work: passing the torch 2023-09-22 19:26:54 +02:00
Lulu13022002
63a1b0c137
some compile issues 2023-09-22 19:25:18 +02:00
Lulu13022002
a91e19f1df
more work
all server patches done (almost)
2023-09-22 18:59:52 +02:00
Lulu13022002
8baf510f92
some work 2023-09-22 18:11:35 +02:00
Noah van der Aa
ac7e4ad35e
more more more more more more more more more more more work: passing the torch 2023-09-22 17:51:48 +02:00
Noah van der Aa
3aa8e7ef3f
more more more more more more more more more more work 2023-09-22 17:35:51 +02:00
Noah van der Aa
4875ee4814
more more more more more more more more more work 2023-09-22 17:24:59 +02:00
Noah van der Aa
32d9c6684b
more more more more more more more more work 2023-09-22 17:08:04 +02:00
Noah van der Aa
772fb3e385
more more more more more more more work
can't let lynx inflate his commit count too much
2023-09-22 16:59:18 +02:00
Bjarne Koll
2617c927a0
More work work work work work work work work work 2023-09-22 16:42:56 +02:00
Bjarne Koll
e5bd562d28
Work here, work there, work for everyone 2023-09-22 16:35:40 +02:00
Bjarne Koll
452009bbde
Working hard on messing with leafs patches 2023-09-22 16:20:09 +02:00
Bjarne Koll
574bc968d3
More work 2023-09-22 15:47:26 +02:00
Bjarne Koll
95a31de306
More work work work 2023-09-22 15:33:37 +02:00
Bjarne Koll
af1090259a
Fix PaperAdvancementDisplay 2023-09-22 15:19:33 +02:00
Bjarne Koll
74094edf08
More more more (more ??) more work 2023-09-22 15:15:57 +02:00
Bjarne Koll
662b6c5ca8
Port sidebar slots patch 2023-09-22 14:33:54 +02:00
Bjarne Koll
79fef73926
More work work work 2023-09-22 14:22:24 +02:00
Bjarne Koll
00d82983bd
Missing paper comment 2023-09-22 13:42:04 +02:00
Bjarne Koll
2cb3a1a3dc
Fix leave message in common packet listener 2023-09-22 13:39:00 +02:00
Noah van der Aa
fc84aee124
more more more more more more work 2023-09-22 09:24:44 +02:00
Jake Potrebic
2cee84193c
and some more 2023-09-21 22:41:27 -07:00
Jake Potrebic
a62835bbb1
almost halfway done with server patches 2023-09-21 21:40:51 -07:00
Jake Potrebic
24fd5aea0c
and some more patches 2023-09-21 21:05:18 -07:00
Jake Potrebic
2bc818efd4
some more patches 2023-09-21 20:29:51 -07:00
Jake Potrebic
78a003ee89
work and compile errors 2023-09-21 20:17:35 -07:00
Jake Potrebic
7b29d1f4c5
even more work 2023-09-21 19:17:21 -07:00
Jake Potrebic
ef6a41195d
some more work 2023-09-21 15:26:51 -07:00
Jake Potrebic
a27262375c
some work 2023-09-21 15:01:00 -07:00
Noah van der Aa
c60dd35989
more more more more more work 2023-09-21 23:09:04 +02:00
Noah van der Aa
7ebfdd5e6d
more more more more work 2023-09-21 22:35:39 +02:00
Noah van der Aa
91671751e7
more more more work 2023-09-21 22:14:58 +02:00
Noah van der Aa
20253f478f
more more work 2023-09-21 21:54:46 +02:00
Noah van der Aa
2b72b74a36
more work 2023-09-21 21:00:11 +02:00
Noah van der Aa
b6e46e90cd
rebuild old indexes, first work 2023-09-21 19:39:51 +02:00
Noah van der Aa
6267e26420
So it begins... 2023-09-21 19:18:04 +02:00
Jake Potrebic
773dd72446
Updated Upstream (Bukkit/CraftBukkit) (#9739)
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:
69c7ce23 PR-990: Use Mockito instead of InvocationHandler for test mocking
997de31d PR-893: Add a stream method to Registry to make it easier to use and to avoid unnecessary wrapping
6a8ce581 Fix malformed javadoc in previous commit
26c74f6d PR-890: Add more Sculk API (bloom, shriek, bloom event)
aa067abf PR-895: Load GameEvent and MusicInstrument from registry

CraftBukkit Changes:
78796c9de Add support for Java 21
ddc9a2dad SPIGOT-7475: Don't fire SculkBloomEvent during world generation
caee2311a PR-1245: Add a stream method to Registry to make it easier to use and to avoid unnecessary wrapping
de421cf56 PR-1242: Add more Sculk API (bloom, shriek, bloom event)
00f5a80fb PR-1252: Fix error when generating a tree in water
10219df3a PR-1248: Load GameEvent and MusicInstrument from registry
2023-09-21 18:48:55 +02:00
Jake Potrebic
1b1c23010a
Add missing InventoryHolders to inventories (#7400) 2023-09-17 19:16:48 -07:00
The456
581b683931
Fix spigot's Forced-Stats (#9663) 2023-09-17 03:27:56 +02:00
Warrior
a856073368
Fix two beacon bugs (#9675) 2023-09-16 17:36:10 -07:00
Jake Potrebic
ba0e1f54b9
Fix sapling observer detection and grow event (#9654) 2023-09-16 16:53:21 -07:00
Lulu13022002
d8af99a82c
Fix silent equipment change for mobs (#9677)
* Fix silent equipment change for mobs

* rebased and added test to make sure all overrides are added

---------

Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
2023-09-16 16:27:11 -07:00
SoSeDiK
064fb50cc1
Cleanup old async commands patch (#8895) 2023-09-17 00:54:33 +02:00
Warrior
06a741d713
Fix leashed pets teleporting to owner when loaded (#9686) 2023-09-16 15:16:44 -07:00
Warrior
e312ebb1bd
Add DISPLAY tracking range type (#9668) 2023-09-17 00:02:58 +02:00
Warrior
ede9c06814
Fix Projectile#setOwner(null) not clearing owner (#9715)
* Fix Projectile#setOwner(null) not clearing owner

* rebased and merged into mentioned patch

---------

Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
2023-09-16 14:37:38 -07:00
thelooter
0c8e84c20d
Enforce sign line nullability when setting line with Adventure Method (#9689) 2023-09-16 23:18:51 +02:00
Aeltumn
deb92c2129
Add ItemStack#isEmpty and related methods (#9664)
* Add new patches

* Change from an EMPTY static var to a static method since ItemStack is mutable

* Properly set nullability of return value

* Move annotation changes to different patch

* Send the Kotlin code back to where it came from

* rebased

---------

Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
2023-09-16 14:18:09 -07:00
MiniDigger | Martin
83cfeb1b37
Improve java version check (#9692) 2023-09-16 23:06:36 +02:00
Jake Potrebic
eb60bffa98
Create raw chat type as resource file instead of in source (#9226)
Sets up the ability to load new or modified resource files into Paper.

Updates paperweight to 1.5.6

This should work with all run configs, like runDev, runShadow, runReobf as well as correctly build jars for production.
2023-09-15 11:03:42 -07:00
Warrior
29d1c7b602
Call BlockRedstoneEvents for lecterns (#9721) 2023-09-14 23:17:53 +02:00
leguan
7145f41b6e
compression level change with config option (#9711) 2023-09-14 13:11:19 +02:00
Duckulus
e68fd7162a
Add missing Piglin Dancing API (#8894) 2023-09-14 12:54:43 +02:00
Nassim Jahnke
517f8fbbac
Fix line of sight distance check 2023-09-12 09:56:24 +10:00
Spottedleaf
fb06829845 Optimise multiple block updates occurring in the same chunk
We can avoid multiple ticket additions for the same ChunkTasks
instance. This will help in situations where significant number of
block updates occur for the same chunk in the same tick, such as
water draining.
2023-09-11 07:15:18 -07:00
violetc
c9cd94f3c6
Fix fixItemsMergingThroughWalls check (#9707) 2023-09-11 14:46:02 +10:00
Nassim Jahnke
e2b197132d
Add missing slot sanity checks for container clicks 2023-09-11 12:03:35 +10:00
Nassim Jahnke
72e87abc2d
Strip raytracing for EntityLiving#hasLineOfSight
Co-authored-by: Paul Sauve <paul@technove.co>
2023-09-10 12:28:03 +10:00
Joe
33bec7f20a Copy NBT in legacy dragon fight converter 2023-09-06 18:33:31 -07:00
Joe
471f4de9c4 Copy NBT in upgrade data neighbor ticks 2023-09-06 18:30:02 -07:00
Lulu13022002
39953cf08d
Take in account waterlogged blocks for scaffolding (#9676) 2023-09-04 17:52:27 +02:00
Md5Lukas
b4e3b3d1dd
Allow non-op players to execute the click event callback (#9652) 2023-08-28 13:21:13 +02:00
Noah van der Aa
b8edb0e130
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#9648)
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:
6b34da8f SPIGOT-7467: Add getAddress to RemoteConsoleCommandSender

CraftBukkit Changes:
db4ba2897 SPIGOT-7467: Add getAddress to RemoteConsoleCommandSender
4f7ff4dec PR-1246: Add missing AbstractTestingBase to tests which need them
f70a7b68d SPIGOT-7465, MC-264979: Fresh installations print NoSuchFileException for server.properties
8ef7afef6 PR-1240: Call BlockGrowEvent for vines that are growing on additional sides of an existing vine block

Spigot Changes:
d2eba2c8 Rebuild patches
2023-08-28 13:05:48 +02:00
Martijn
0c0a480d82
Do crystal-portal proximity check before entity lookup (#9611) 2023-08-26 13:23:31 -07:00
Lulu13022002
0e622c79fa
Add sniffer egg api (#9288) 2023-08-26 22:12:46 +02:00
Jake Potrebic
7d13b7066c
Add titleOverride to InventoryOpenEvent (#7540) 2023-08-26 12:28:42 -07:00
Jake Potrebic
6813244fb0
Fix/improve destroy speed API (#9645)
further improvements could be a method that takes in an entity
to account for effects
2023-08-25 10:57:11 -07:00
Jake Potrebic
e552bebca1
Fix inventory desync (#9640) 2023-08-24 16:53:02 -07:00
Aeltumn
0c8882f7f9
Add OfflinePlayer#isConnected (#9642) 2023-08-24 21:44:31 +10:00
Jake Potrebic
b8a0049207
Fix exact choice recipe book clicks (#7822) 2023-08-23 08:20:32 -07:00
Jake Potrebic
a751001ed1
[ci skip] Refactor context records for easier expansion (#9589) 2023-08-23 13:34:57 +10:00
Martijn
fcc5f232f9
Optimize nearest structure border iteration (#9638) 2023-08-23 11:53:42 +10:00
The456
9cbad8ebbf
Expose Hand during BlockCanBuildEvent (#9636) 2023-08-23 10:41:30 +10:00
Bjarne Koll
3716832282
Prevent overfilled bundles from duplicating items (#9633)
Bundles compute the amount to remove from an item based on the formula
(64 - currentWeight) / itemWeight. An overfilled bundle however, with a
currentWeight of > 64 ends up with a negative removal amount for the
item.

This can cause duplication issues on craftbukkit inventory
implementations as they do currently not gracefully handle negative
removal amounts in their remove methods.
2023-08-22 11:57:44 +02:00
Lulu13022002
a712766995
Allow custom damage for trident (#8132) 2023-08-22 16:20:38 +10:00
Lulu13022002
7386a13642
Fix endgateway teleportation offset (#9517) 2023-08-22 16:03:15 +10:00
Jake Potrebic
9395aa6079
Improve performance of mass crafts (#9603) 2023-08-22 15:54:28 +10:00
Rodney
0c7385b569
Add PlayerPickItemEvent (#5590) 2023-08-22 15:22:05 +10:00
SoSeDiK
27d39cac4f
Properly clone custom nbt tags inside ItemMeta (#7849) 2023-08-22 14:59:31 +10:00
Jake Potrebic
fed9042390
More DragonBattle API (#5655) 2023-08-22 14:08:43 +10:00
Joo200
e3f29f4345
MerchantRecipe: add copy constructor (#8703) 2023-08-22 13:48:25 +10:00
aerulion
b29ecd4c22
Expose clicked BlockFace during BlockDamageEvent (#9632) 2023-08-22 13:07:18 +10:00
SoSeDiK
2be57c6943
Expand Pose API (#8781) 2023-08-22 13:05:47 +10:00
caramel
97b9c4a2a4
Fix NPE on Boat#getStatus (#9115) 2023-08-22 12:57:54 +10:00
Bjarne Koll
281855c877
Remove unused lag-compensate-block-breaking option (#9635)
Removes the unused lag-compensate-block-breaking option from the paper
configuration file as the patch using it has been dropped in 1.19.
2023-08-21 22:08:25 +10:00
Corey Shupe
00a68b1efe
Player listing API (#8782) 2023-08-21 18:51:31 +10:00
ruViolence
7232506c22
Add entity tracker min Y distance config option (#9406) 2023-08-21 18:05:49 +10:00
Jake Potrebic
1b96c64620
Improve cancelling PreCreatureSpawnEvent with per player mob spawns (#9400) 2023-08-21 17:44:47 +10:00
Yannick Lamprecht
5bf82aa136
Add cancellability to PlayerTrackEntityEvent (#8605) 2023-08-21 17:38:55 +10:00
TonytheMacaroni
88891c37b1
Add Entity Coordinate and Rotation API (#9461) 2023-08-21 17:35:05 +10:00
Will FP
1259b93ba6
Fixed CraftItemStack/CraftItemMeta enchantment level inconsistency (#8792)
Co-authored-by: Nassim Jahnke <nassim@njahnke.dev>
2023-08-21 17:31:52 +10:00
Trevor Bedson
990765bd08
Fire entity death event for ender dragon (#9495) 2023-08-21 17:06:21 +10:00
Nassim Jahnke
45ba65283f [ci skip] Rebuild patches 2023-08-21 14:51:19 +10:00
Gero
f43a19c275
Fix CME in CraftPersistentDataTypeRegistry (#6701) 2023-08-21 14:50:21 +10:00
EpicPlayerA10
d928dda91d
Don't tab-complete namespaced commands if send-namespaced is false (#9366) 2023-08-21 14:50:11 +10:00
galacticwarrior9
bd67b83fd0
Determine lava and water fluid explosion resistance by their block explosion resistance (#9482) 2023-08-21 14:50:02 +10:00
Gameoholic
ed8401c748
Fix rotation for spawning display entities (#9552) 2023-08-21 14:49:53 +10:00
EpicPlayerA10
5b34a09ed0
Add option to disable chorus plant and mushroom block updates (#9442) 2023-08-21 14:49:38 +10:00
Md5Lukas
67a1a8caf8
Fix Inventory#getLocation not working for the composter (#9596) 2023-08-21 14:49:29 +10:00
Jake Potrebic
d12916255a
Properly handle BlockBreakEvent#isDropItems (#8936)
Setting whether a block break dropped items controlled
far more than just whether blocks dropped, like stat increases
food consumption, turtle egg count decreases, ice to water
conversions and beehive releases
2023-08-20 20:49:20 -07:00
Jake Potrebic
666a2147a7
[ci skip] rebuild patches 2023-08-20 14:28:49 -07:00
Jake Potrebic
2bd6ba2c63
Deprecate and replace methods using deprecated StructureType (#8643) 2023-08-20 10:30:45 -07:00
Jake Potrebic
fd4f0c7741
API for an entity's scoreboard name (#9462)
Was obtainable through different methods, but you had to use different
methods depending on the implementation of Entity you were working with.
2023-08-20 09:06:09 -07:00
Martijn
307d05bba8
Count down radius-aware dependency tree node parents (#9600) 2023-08-18 12:02:20 +10:00
Jamie
ea1f33cf9a
Delete patch to fix PaperMC/Paper#9612 (#9621) 2023-08-17 15:51:34 -05:00
Nassim Jahnke
73af2d4cea
Add clicked position to PlayerUseUnknownEntityEvent (#9604) 2023-08-16 17:58:07 +10:00
Bjarne Koll
47b805fdf1
Don't let player loot if reloot time is disabled (#9615)
If the reloot time is disabled while reloot is restricted, the player
should not be able to reloot. The previous logic was incorrect and
allowed players to reloot explicitly when the reloot time was disabled.
2023-08-15 21:08:00 -07:00
Warrior
6520ca1c47
Fix main thread priority being lowered (#9488) 2023-08-15 19:37:17 +02:00
Jake Potrebic
a73ed9572e
Updated Upstream (CraftBukkit/Spigot) (#9598)
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:
b76ceb4f5 PR-1235: Move EntityType return to base Entity class
e795d7490 SPIGOT-7458: Exception when Entity CommandSender executes Vanilla command
46c7fc3b1 SPIGOT-7452: Player#openSign cannot edit
d91e5aa0b SPIGOT-7447: Rewrite --forceUpgrade to minimise diff and properly handle CraftBukkit world layout
921ae06d6 Revert "SPIGOT-7447: Fix --forceUpgrade"

Spigot Changes:
94e187b5 Rebuild patches
3bce7935 SPIGOT-7091: Update bungeecord-chat
2023-08-13 16:32:51 -07:00
Jake Potrebic
93829bba5a
Account for dimension type in portal void damage check (#9602) 2023-08-13 13:30:48 -07:00
Warrior
02338e5069
Fix DEFAULT getEntitySpawnReason for /summon (#9480) 2023-08-13 01:57:13 +02:00
Nacioszeczek
1dfdbef42b
SculkCatalyst bloom API (#9466) 2023-08-13 01:31:32 +02:00
Jake Potrebic
2df309bd49
Bandaid fix for Effect (#9548)
Effect or LevelEvent needs to be replaced
but ideally after the enum PR has been merged
upstream. Until then, this test and these fixes
should address all the known issues with them
2023-08-12 15:19:34 -07:00
Noah van der Aa
29aaf7bc24
Fix custom statistic criteria creation (#9595) 2023-08-12 23:50:21 +02:00
Jake Potrebic
20a71c58d3
Add restrict-player-reloot-time config (#7652) 2023-08-12 14:26:47 -07:00
montlikadani
3b4839ee32
Fix players are invisible after using setPlayerProfile (#9143)
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
Co-authored-by: Bjarne Koll <lynxplay101@gmail.com>
2023-08-12 16:10:09 +02:00
Warrior
3c41f8f0b3
Cache map ids on item frames (#9584) 2023-08-12 23:33:24 +10:00
Warrior
9bc70e6888
Make the cursor limit option apply to banners (#9554) 2023-08-10 15:22:40 +02:00
Spottedleaf
4179b8f3fa Remove UpgradeData neighbour ticks outside of range
The lists are only supposed to contain ticks for the 1 radius
neighbours of the chunk.
2023-08-09 14:05:57 -07:00