Commit Graph

3535 Commits

Author SHA1 Message Date
Jake Potrebic
ac3aaa248b Don't use delayed registries in impl anywhere (#11918) 2025-01-11 20:02:28 +01:00
SoSeDiK
b242f1eb15 Prevent day cycle on the client when using fixed time (#11924) 2025-01-11 10:59:50 +01:00
Spottedleaf
6316a50dbd Make CraftServer#isPrimaryThread use TickThread check
This diff was accidentally dropped when updating to hard fork.

This diff importantly:
 - Does not return true if the async catcher is disabled
 - Does not return true during shutdown
 - Returns true for any instance of TickThread (enables
   watchdog and Folia threads to be considered main)
2025-01-11 00:13:45 -08:00
Warrior
337557044e Fix MapCanvas#drawImage (#11865) 2025-01-07 13:54:34 +01:00
Shane Bee
4106da712c Fix retain passengers teleport flag (#11858) 2025-01-04 21:19:07 +01:00
Nassim Jahnke
1dd52bed49 Use playerlist whitelist status instead of properties
The actual property value is final, only the serialized output is changed. This uses the correct value from PlayerList instead
Fixes #11878
2025-01-01 18:53:23 +01:00
Hannes Greule
287eb52fa4 Use hidden classes for event executors (#11848)
Static final MethodHandles perform similar to direct calls. Additionally,
hidden classes simplify logic around ClassLoaders as they can be defined
weakly coupled to their defining class loader. All variants of methods
(static, private, non-void) can be covered by this mechanism.
2024-12-29 00:11:09 +01:00
Strokkur24
93a3df085c Extend HumanEntity#dropItem API (#11810) 2024-12-28 23:47:21 +01:00
Bjarne Koll
dac977a106 Correctly force particles (#11850) 2024-12-28 16:42:11 +01:00
Jake Potrebic
0629524cb2 Directly build Art (#11813) 2024-12-27 16:07:48 -08:00
Bjarne Koll
33411ec0a1 Properly remove UnsafeValues#getDamageEffect 2024-12-28 00:21:27 +01:00
Warrior
4b893907f6 Fix contextual map renderer memory leak (#11841) 2024-12-27 23:25:02 +01:00
Jake Potrebic
b4051dbff7 Handle disabled vanilla registry values correctly (#11781) 2024-12-27 23:11:26 +01:00
Nassim Jahnke
326c687047 Fix whack diff from last commit 2024-12-27 13:47:25 +01:00
Nassim Jahnke
2b73d1957c More var name fixes 2024-12-27 13:45:04 +01:00
Nassim Jahnke
c530c39f4e More var name fixes 2024-12-27 12:31:54 +01:00
SoSeDiK
aac246ae29 Expand on entity serialization API (#11807) 2024-12-27 00:08:00 +01:00
Jake Potrebic
3a479eadd7 Add Registry#getTags (#11795) 2024-12-25 19:39:27 -08:00
masmc05
a07cec16f8 Add effective name to ItemStack (#11770) 2024-12-25 21:56:24 +01:00
Lulu13022002
140577b762 Fix broken field rename compat for instrument "feel_goat_horn" (#11824) 2024-12-25 12:36:23 -08:00
Warrior
25cc3d8578 Fix EnchantmentView#setOffers length precondition being flipped (#11818) 2024-12-25 11:08:07 +01:00
Pedro
d568e175ee Port basic lookAt methods from Player to Entity (#11775) 2024-12-24 23:00:07 +01:00
Lulu13022002
9e2d39cd26 Fix double chest identification (#11812) 2024-12-24 22:57:24 +01:00
Bjarne Koll
b8a0541ccf Fix 0 parameter in Player#applyMending (#11802)
Prevent division by zero in Player#applyMending by simply using zero
instead if the divider itself is zero.
This matches vanilla behaviour in the sense that
ExperienceOrb#repairPlayerItems, which this logic is lifted from, does
pass zero to the enchantment helper and runs its first iteration on
repairing. Vanilla is not affected as the computation failing with zero
is used to compute the leftover exp value, which is not needed if zero
itself is passed in.
As the paper impl however exposes said value to the initial event, our
code needs to account for the zero division.
2024-12-24 10:58:58 +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
46c6f497c7 Fix Registry#getKey implementation 2024-12-21 14:56:01 -08: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
Lulu13022002
5922e6334b fix allowPermanentBlockBreakExploits config 2024-12-18 23:35:47 +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
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
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
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
Nassim Jahnke
6dcb4a33b6 Fix some compilation errors 2024-12-15 21:28:08 +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
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