Commit Graph

3706 Commits

Author SHA1 Message Date
Jake Potrebic a0b3326609 refactor registry entry to detach 'delayed' from other meta
Also fixes an issue with direct holders
2024-12-22 21:17:34 -08:00
Jake Potrebic eb793c3131 [ci skip] more cleanup from repo reorg 2024-12-22 19:07:17 -08:00
Jake Potrebic 46c6f497c7 Fix Registry#getKey implementation 2024-12-21 14:56:01 -08:00
Nassim Jahnke 3b0b3a0aef and some more 2024-12-21 13:45:04 +01:00
Nassim Jahnke e0593e9286 More diff/changed variable name cleanup 2024-12-21 12:15:25 +01:00
Lulu13022002 051ab9117a fix more diff 2024-12-20 23:39:43 +01:00
Spottedleaf 48f34f8c90 Port CB changes from Moonrise patch 2024-12-20 10:52:51 -08:00
Spottedleaf 6186079231 Migrate ChunkSystem class to PaperHooks 2024-12-20 09:22:42 -08:00
Nassim Jahnke 4353c33213 Move flat bedrock generator to file patches 2024-12-19 12:26:28 +01:00
Lulu13022002 5922e6334b fix allowPermanentBlockBreakExploits config 2024-12-18 23:35:47 +01:00
Lulu13022002 c71ada60db get offline player data file from the right folder 2024-12-18 21:54:15 +01:00
Lulu13022002 6126012369 readd beacon effect cause 2024-12-18 19:29:39 +01:00
Nassim Jahnke d94e258d01 Clean up add/removePluginChunkTicket
No need to be that invasive to Vanilla code for simple, non-hot and small collection checks
2024-12-17 21:40:20 +01:00
Nassim Jahnke 2d83f05a6c Update watchdog patches 2024-12-17 13:32:46 +01:00
Lulu13022002 57c683647f reformat spigot package 2024-12-16 19:22:48 +01:00
Spottedleaf 7d29c678f7 Add in DataConverter 2024-12-16 09:39:14 -08:00
Lulu13022002 783b3b70e6 readd dropped event in InteractWithDoor 2024-12-16 17:29:46 +01:00
stonar96 002b02c273 Move anti xray classes to source 2024-12-16 15:04:45 +01:00
Nassim Jahnke f8cb014d20 Move Aikar's EAR 1 into EAR 2 patch 2024-12-16 14:08:25 +01:00
Nassim Jahnke 47c06357f7 Initial update to EAR patch 2024-12-16 13:03:53 +01:00
Nassim Jahnke 6a0c3c3efc Fix tests 2024-12-16 11:54:00 +01:00
Nassim Jahnke a148433e1e Update Improve-Maps-in-item-frames patch 2024-12-16 10:10:02 +01:00
Nassim Jahnke a15bb2bbd0 Fix and clean up MapItemSavedData Spigot patch
It's been dysfunctional for a good while, though I don't think it's even needed. That can be investigated later
2024-12-16 09:56:45 +01:00
Jason Penilla 43d4fa0543 Replace copied RenamerImpl file with library patch 2024-12-15 20:40:28 -07:00
Jake Potrebic 7617b7cd09 adjust classreader tests for new directory structure 2024-12-15 14:45:40 -08:00
Jake Potrebic 4cc2be301d it compiles? 2024-12-15 14:36:05 -08:00
Jake Potrebic cb51a4fbcd more compile fixes 2024-12-15 14:12:59 -08:00
Lulu13022002 ec57b99bf5 readd removal cause for thrown eggs 2024-12-15 23:07:15 +01:00
Jake Potrebic acd43900f5 remove more imports and cleanup 2024-12-15 12:51:34 -08:00
Nassim Jahnke 6dcb4a33b6 Fix some compilation errors 2024-12-15 21:28:08 +01:00
Nassim Jahnke 171fb2ec07 Move FeatureHooks to patch 2024-12-15 09:49:45 +01:00
Bjarne Koll 35afd218f5 net/minecraft/server/level 2024-12-15 06:22:17 +01:00
Jake Potrebic ca5499c7fa Switch Impl types to Holderable 2024-11-24 15:08:19 -08:00
Owen1212055 d300c94ec2 Properly resend entities
This resolves some issues which caused entities to not be resent correctly.
Entities that are interacted with need to be resent to the client, so we resend all the entity
data to the player whilst making sure not to clear dirty entries from the tracker. This makes
sure that values will be correctly updated to other players.

This also adds utilities to aid in further preventing entity desyncs.

This also also fixes the bug causing cancelling PlayerInteractEvent to cause items to continue
to be used despite being cancelled on the server.

For example, items being consumed but never finishing, shields being put up, etc.
The underlying issue of this is that the client modifies their synced data values,
and so we have to (forcibly) resend them in order for the client to reset their using item state.

See: https://github.com/PaperMC/Paper/pull/1896

== AT ==
public net.minecraft.server.level.ChunkMap$TrackedEntity serverEntity
2022-12-07 17:25:19 -05:00
96DarkCode96 2837612191 Fix Player.setPlayerListOrder to send update to clients 2024-12-10 15:45:47 +01:00
Owen1212055 25c25923e9 DataComponent API
Exposes the data component logic used by vanilla ItemStack to API
consumers as a version-specific API.
The types and methods introduced by this patch do not follow the general
API deprecation contracts and will be adapted to each new minecraft
release without backwards compatibility measures.

== AT ==
public net/minecraft/world/item/component/ItemContainerContents MAX_SIZE
public net/minecraft/world/item/component/ItemContainerContents items
2024-04-28 19:53:01 -04:00
Nassim Jahnke 2a20fde332 Add feature patch hook for overrides 2024-12-05 13:00:22 +01:00
Jake Potrebic 193eebecdf Tag Lifecycle Events
== AT ==
public net/minecraft/tags/TagEntry id
public net/minecraft/tags/TagEntry tag
public net/minecraft/tags/TagEntry required
2024-06-20 09:40:57 -07:00
Bjarne Koll 45d04f9749 Add registry entry and builders 2024-06-13 23:45:32 +02:00
Jake Potrebic a1b891dd88 Registry Modification API
== AT ==
public net.minecraft.core.MappedRegistry validateWrite(Lnet/minecraft/resources/ResourceKey;)V
public net.minecraft.resources.RegistryOps lookupProvider
public net.minecraft.resources.RegistryOps$HolderLookupAdapter
2023-02-27 18:28:39 -08:00
kokiriglade 4bae091802 Expanded Art API 2024-11-23 18:58:49 +00:00
Abel 7294ae3022 API to allow/disallow tick sleeping 2024-11-12 22:25:20 +01:00
Abel b4c394a1c6 API to check if the server is sleeping 2024-11-10 16:32:34 +01:00
Bjarne Koll c7c3d8a9cb Fix incorrect invulnerability damage reduction
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-11 21:35:27 +01:00
Barnaby 318f7b2014 Reduce work done in CraftMapCanvas.drawImage by limiting size of image and using System.arraycopy instead of for loops and use bitwise operations to do bounds checks. 2024-06-29 12:06:51 +01:00
Jake Potrebic 9467a08b36 Improve performance of RecipeMap#removeRecipe 2024-10-31 20:36:41 -07:00
Riley Park 855db272b1 Bundle spark 2024-07-16 14:55:23 -07:00
Jason Penilla 1218a52ac9 Fix CraftWorld#isChunkGenerated
The upstream implementation is returning true for non-full chunks.
2024-06-18 12:43:06 -07:00
Flo0 35f6f25e78 API for checking sent chunks 2024-04-08 16:43:16 +02:00
Doc e95dccb515 Add AnvilView#bypassEnchantmentLevelRestriction
Anvils, by default, limit applied enchantment levels to their respective
maximum level. The added API enables plugins to disable this behaviour,
allowing enchantments that are overleveled to be applied via the anvil.
2024-10-06 16:46:36 -03:00