Commit graph

3708 commits

Author SHA1 Message Date
willkroboth
08b2b8926d Cache Bukkit Command when wrapping CommandNodes
Resolves https://github.com/PaperMC/Paper/issues/11378 by "restoring" the Spigot behavior where VanillaCommandNodes are only created once. Before this commit, BukkitBrigForwardingMap would create a new VanillaCommandWrapper each time a CommandNode was requested via the Bukkit CommandMap. This meant that calls to `Command#setPermission` would not persist between retrievals from the map.

This allows command frameworks that insert CommandNodes directly into the Brigadier dispatcher to change the permission String of the VanillaCommandNodes created for their commands, rather than it always being the default `"minecraft.commands.<name>"`.
2024-12-23 11:43:38 -05:00
Warrior
bd4c235c2f
Throw during plugin update folder process on failed rename/delete (#11784) 2024-12-23 16:29:28 +01:00
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