aboutsummaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2024-11-30Fix item_model adapter, rename internal classesNassim Jahnke
Fixes #11688
2024-11-30Add back discard policyNassim Jahnke
2024-11-29Deprecate ChatVisibility#UNKNOWN (#11683)Lulu13022002
2024-11-29Copy dispatcher root children before passing it into async tree buildingNassim Jahnke
2024-11-29Clean up thread pool usage (#11681)Nassim Jahnke
Using an unbound LinkedBlockingQueue means you *have* to set core and max core thread pool size the same, as they will never go above the minimum pool size by just passing them through. So this fixes the async command executor pool to actually use 2 threads, and also cleans up other usage to be explicitly "fixed" thread pool sizes, and splits off one more in Minecraft's Util class
2024-11-29[ci skip] leafNassim Jahnke
2024-11-28Remove chunk save reattempt patchSpottedleaf
This patch does not appear to be doing anything useful, and may hide errors. Currently, the save logic does not run through this path either so it did not do anything. Additionally, properly implement support for handling RegionFileSizeException in Moonrise.
2024-11-28Use Player view distance for PlayerNaturallySpawnCreaturesEventSpottedleaf
The spigot view distance may not be correct, as the player may have a specific view distance configured.
2024-11-28Copy items when constructing ClientboundSetCursorItemPacketSpottedleaf
Unlike ClientboundContainerSetSlotPacket, the constructor itself does not copy the item. Thus, we need to pass a copy of the item to the constructor.
2024-11-28deprecate adventure key() methods where applicableJake Potrebic
2024-11-28Remove string dupe exploit setting (#11670)Noah
2024-11-27Do not call modifyEntityTrackingRange on own rangeSpottedleaf
The range is already modified, so this call will not do anything.
2024-11-27Replace SimpleRandom with (Simple)ThreadUnsafeRandomSpottedleaf
ThreadUnsafeRandom is a random implementation that is identical to LegacyRandomSource behaviourally, but without the thread checks. SimpleThreadUnsafeRandom is ThreadUnsafeRandom except with its nextInt(int) function replaced with a faster but more biased implementation when bound is very large. Additionally, replace Level/Entity randoms with ThreadUnsafeRandom. This avoids the expensive CAS logic at the expense of losing the thread check.
2024-11-26Prevent duplicate/superfluous BlockPhysicsEvent (#11609)Lulu13022002
2024-11-26Expose particle status client option (#11573)Lulu13022002
2024-11-25[ci skip] leafNassim Jahnke
2024-11-25Add Server#isGlobalTickThreadSpottedleaf
This method should be present in Paper, not just in Folia, given that the GlobalRegionScheduler is present. Additonally, add Server#isOwnedByCurrentRegion(World, int, int, int, int) for checking of a rectangle of chunks is owned by the current region.
2024-11-25Change MinecraftServer#pluginsBlockingSleep to be SetSpottedleaf
A plugin should not be allowed to be added twice or more, as this would require two or more remove calls to unset the pause block.
2024-11-25Bump dawidd6/action-download-artifact from 3 to 6 in /.github/workflows (#11666)dependabot[bot]
Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact) from 3 to 6. - [Release notes](https://github.com/dawidd6/action-download-artifact/releases) - [Commits](https://github.com/dawidd6/action-download-artifact/compare/v3...v6) --- updated-dependencies: - dependency-name: dawidd6/action-download-artifact dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-25[ci skip] fix compile issues caused by 5b53cb4 (#11664)Glicz
2024-11-24[ci skip] use more jspecify in serverJake Potrebic
2024-11-24Add all missing TagKey constants files (#11661)Jake Potrebic
2024-11-24Fix painting variant builder (#11660)Lulu13022002
2024-11-23[ci skip] Rebuild patchesJake Potrebic
2024-11-23Call ProjectileHitEvent for entity hits (#11652)Bjarne Koll
A simple bugfix replacing a new vanilla call to Projectile#hitTargetOrDeflectSelf with the bukkit replacement to call the event.
2024-11-23Painting variant registry modification API (#11648)kokiriglade
2024-11-23Correctly damage tick wolf after armor block (#11653)Bjarne Koll
Spigot incorrectly returns false in Wolf#actuallyHurt if the armor absorbed the damage causing the entity to not get damage invuln ticks. Resolve this by correctly reverting to the "always true" return value as the event is not cancelled.
2024-11-23Configurable Entity Despawn Time (#11454)Jake Potrebic
* Configurable Entity Despawn Time Co-authored-by: Kevin Raneri <[email protected]> * Rebase * Rebase * rebase * throw exceptions for this map --------- Co-authored-by: Kevin Raneri <[email protected]>
2024-11-23Correctly mirror vanilla non-exact ingredients (#11651)Bjarne Koll
2024-11-23Support tags for more SimpleRegistry (#11607)Jake Potrebic
2024-11-23Make TypedKey an actual Key (#11641)Nassim Jahnke
2024-11-23Fix jukebox component (#11642)Lulu13022002
2024-11-23Run 'freeze' listeners before tag events (#11606)Jake Potrebic
2024-11-22Add API to allow/disallow tick sleeping (#11611)Abel
2024-11-22Add API to check if the server is sleeping (#11605)Abel
2024-11-21Check for AbstractBoat instead of Boat in EAR ignore listLulu13022002
2024-11-21[ci skip] Fix typosNassim Jahnke
2024-11-21Update sparkNassim Jahnke
2024-11-19Fix NPE when EntityResurrectEvent is uncancelled (#11636)Lulu13022002
2024-11-19Fix incorrect invulnerability damage reduction (#11599)Bjarne Koll
Fixes incorrect spigot handling of the invulnerability damage reduction applied when an already invulnerable entity is damaged with a larger damage amount than the initial damage. Vanilla still damages entities even if invulnerable if the damage to be applied is larger than the previous damage taken. In that case, vanilla applies the difference between the previous damage taken and the proposed damage. Spigot's damage modifier API takes over the computation of damage reducing effects, however spigot invokes this handling with the initial damage before computing the difference to the previous damage amount. This leads to the reduction values to generally be larger than expected, as they are computed on the not-yet-reduced value. Spigot applies these reductions after calling the EntityDamageEvent and *then* subtracts the previous damage point, leading to the final damage amount being smaller than expected. This patch cannot simply call the EntityDamageEvent with the reduced damage, as that would lead to EntityDamageEvent#getDamage() returning the already reduced damage, which breaks its method contract. Instead, this patch makes use of the DamageModifier API, implementing the last-damage-reduction as a DamageModifier.
2024-11-19Add PlayerItemGroupCooldownEvent (#11625)Nassim Jahnke
2024-11-19Fix drops for shearing mushroom cow (#11632)Lulu13022002
2024-11-19Fix drops for shearing bogged (#11628)Lulu13022002
2024-11-19[ci skip] Rebuild patchesBjarne Koll
2024-11-18Add missing NotNull annotation for getChunksAtAsync cb paramSpottedleaf
2024-11-18Fix non block ticking chunks not sending block/light updatesSpottedleaf
Needed to redirect the getTickingChunk call in broadcastChangedChunks to use the chunk to send method.
2024-11-18Do not create unneccessary callback in ChunkTaskScheduler#scheduleChunkLoadSpottedleaf
If the parameter has addTicket = false and onComplete = null, then the loadCallback would do no work and as a result does not need to be created.
2024-11-18Rework async chunk api implementationSpottedleaf
Firstly, the old methods all routed to the CompletableFuture method. However, the CF method could not guarantee that if the caller was off-main that the future would be "completed" on-main. Since the callback methods used the CF one, this meant that the callback methods did not guarantee that the callbacks were to be called on the main thread. Now, all methods route to getChunkAtAsync(x, z, gen, urgent, cb) so that the methods with the callback are guaranteed to invoke the callback on the main thread. The CF behavior remains unchanged; it may still appear to complete on main if invoked off-main. Secondly, remove the scheduleOnMain invocation in the async chunk completion. This unnecessarily delays the callback by 1 tick. Thirdly, add getChunksAtAsync(minX, minZ, maxX, maxZ, ...) which will load chunks within an area. This method is provided as a helper as keeping all chunks loaded within an area can be complicated to implement for plugins (due to the lacking ticket API), and is already implemented internally anyways. Fourthly, remove the ticket addition that occured with getChunkAt and getChunkAtAsync. The ticket addition may delay the unloading of the chunk unnecessarily. It also fixes a very rare timing bug where the future/callback would be completed after the chunk unloads.
2024-11-18Item DataComponent API (#10845)Owen
Co-authored-by: Jake Potrebic <[email protected]> Co-authored-by: Lulu13022002 <[email protected]> Co-authored-by: Bjarne Koll <[email protected]>
2024-11-18Fix enderchest opening animation (#11635)Lulu13022002