Commit Graph

352 Commits

Author SHA1 Message Date
Jake Potrebic
4912737b8d fix issue in ServerPlayerGameMode 2024-12-15 15:20:33 -08:00
Jake Potrebic
e3b23b59f3 more runtime errors 2024-12-15 15:16:33 -08:00
Jake Potrebic
b40c4e2179 fix initial runtime errors 2024-12-15 15:07:32 -08: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
Jake Potrebic
de10a277e2 fix a mis-applied hunk in Projectile 2024-12-15 12:09:18 -08:00
Jake Potrebic
8cca65b8ac remove all the rest of the import hunks 2024-12-15 11:42:42 -08:00
Nassim Jahnke
b69631ba21 Readd dropped ServerScoreboard hunk 2024-12-15 14:29:01 +01:00
Nassim Jahnke
e99a9b5e4a Remove cb null check 2024-12-15 13:05:35 +01:00
Nassim Jahnke
4c723932f6 Small fixups 2024-12-15 12:13:09 +01:00
Jake Potrebic
172a80cb66 Somehow a bunch of items were missed 2024-12-14 22:35:35 -08:00
Bjarne Koll
35afd218f5 net/minecraft/server/level 2024-12-15 06:22:17 +01:00
Jake Potrebic
0262d9a165 fix a bunch of compile issues 2024-12-14 20:15:49 -08:00
Jake Potrebic
7ac9b00916 PlayerList 2024-12-14 19:52:00 -08:00
Jake Potrebic
92aec10cc4 net.minecraft.server.rcon.thread 2024-12-14 18:40:23 -08:00
Noah van der Aa
5b17ebbd30 net/minecraft/server/dedicated 2024-12-14 23:58:10 +01:00
Jake Potrebic
93114d09f2 net.minecraft.server.commands 2024-12-14 13:42:45 -08:00
Lulu13022002
cb84eaf87a some fixes 2024-12-14 18:22:52 +01:00
Noah van der Aa
3efd1caa64 net.minecraft.server.packs(.repository) 2024-12-14 17:39:31 +01:00
Noah van der Aa
68961d9f5e net.minecraft.server.gui 2024-12-14 17:35:50 +01:00
Lulu13022002
bfcb0e71c9 server/network 2024-12-14 17:05:42 +01:00
Noah van der Aa
729c6e5369 Random small stuff 2024-12-14 14:31:00 +01:00
Bjarne Koll
afa25753de Fix compile issue in MinecraftServer 2024-12-14 05:48:25 +01:00
Jake Potrebic
d064a57573 fix a bunch of imports 2024-12-13 19:24:28 -08:00
Jake Potrebic
64500a201f net.minecraft.server 2024-12-13 19:12:33 -08:00
Nassim Jahnke
aa998246f7 More work 2024-12-13 18:40:56 +01:00
Nassim Jahnke
83b7370131 Players directory 2024-12-13 18:06:27 +01:00
Nassim Jahnke
45ddf764d9 Move patches to unapplied 2024-12-12 12:30:31 +01: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
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
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
MrPowerGamerBR
463f952cd4 Only attempt to find spawn position if there isn't a fixed spawn position set 2024-11-28 15:20:25 -03: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
Gero
7acf73ce66 Call CraftPlayer#onEntityRemove for all online players 2024-11-09 22:27:58 +01:00
Bjarne Koll
66e1ce8504 Correct update cursor
Spigot uses a no longer valid ClientboundContainerSetSlotPacket with the
slot -1, which would update the carried stack in versions <=1.21.1 but
now leads to an IOOB.
1.21.2 instead introduced the ClientboundSetCursorItemPacket, which this
patch uses instead.
2024-11-01 14:58:57 +01:00
Aikar
0d8c3dc008 Block Enderpearl Travel Exploit
Players are able to use alt accounts and enderpearls to travel
long distances utilizing the pearls in unloaded chunks and loading
the chunk later when convenient.

This disables that by not saving the thrower when the chunk is unloaded.

This is mainly useful for survival servers that do not allow freeform teleporting.

Note: Currently removed as enderpearls are ticked as long as their owner is online in 1.21.2.
Might be worth to re-add once an option to disable the above vanilla mechanic is added, to
fully prevent enderpearl travel exploits.

== AT ==
public net.minecraft.world.entity.projectile.Projectile ownerUUID
2018-04-30 17:15:26 -04:00
Jason Penilla
cf7a1191a9 Allow using old ender pearl behavior
When enabled, ender pearls will not load chunks and will save to the world instead of the player.

== AT ==
public net.minecraft.world.entity.projectile.Projectile cachedOwner
2024-10-27 12:36:53 -07:00
Jason Penilla
21f51ebd74 Avoid issues with certain tasks not processing during sleep
Execute processQueue tasks during sleep: needed for console tab completions, pre join event, etc.

Upstream has set precedent that the bukkit scheduler will still tick during sleep, which avoids some problems
with plugins not accounting for the new sleep feature, but can still lead to others. Because of this we have disabled
sleep by default, which avoids the problem and makes it more obvious to check if this is the cause of issues when
enabled. We also unload chunks during sleep to prevent memory leaks caused by plugin chunk loads.
2024-10-27 14:18:28 -07:00
Riley Park
855db272b1 Bundle spark 2024-07-16 14:55:23 -07:00
Spottedleaf
29e03d0439 Add startup flag to disable gamerule limits
-DPaper.DisableGameRuleLimits=true will disable gamerule limits

== AT ==
public net.minecraft.server.level.ChunkLevel ENTITY_TICKING_LEVEL
2024-10-25 14:20:40 -07:00
Spottedleaf
7ec2cf09a3 Add proper async player disconnections
Blocking can cause performance problems
2024-10-16 06:41:32 -07:00
Nassim Jahnke
c056e2319d Fix PlayerCommandPreprocessEvent on signed commands 2024-09-21 22:01:52 +02:00
Newwind
f5e9df0862 Disable pretty printing for advancement saving
Reduces json size by about 25%
Not sure why advancements even had pretty printing enabled.
My best guess was by accident on mojang's part, especially since stats json files don't have pretty printing.
2024-09-20 14:17:37 +02:00
Tamion
2742ad6a9a Fix InventoryOpenEvent cancellation 2024-08-19 18:05:26 +02:00
Gegy
be5187c2da Fix: synchronise sending chat to client with updating message signature cache
In the case where multiple messages from different players are being processed in parallel, there was a potential race condition where the messages would be sent to the client in a different order than the message signature cache was updated. However, the cache relies on the fact that the client and server get the exact same updates in the same order. This race condition would cause the caches to become corrupted, and any future message received by the client would fail to validate.

This also applies to the last seen state of the server, which becomes inconsistent in the same way as the message signature cache and would cause any messages sent to be rejected by the server too.
2024-08-26 19:45:07 +02:00
Tamion
b724ae078d Fix CraftBukkit drag system
== AT ==
public net.minecraft.world.inventory.AbstractContainerMenu quickcraftSlots
public net.minecraft.world.inventory.AbstractContainerMenu quickcraftStatus
public net.minecraft.world.inventory.AbstractContainerMenu quickcraftType
public net.minecraft.world.inventory.AbstractContainerMenu resetQuickCraft()V
2024-05-26 22:20:21 +02:00
Newwind
15c4f72cf0 Make interaction leniency distance configurable
The server validates incoming interaction packets by ensuring the player
sending them is inside their interaction range. For this, the server adds
a magic value, by default 1.0, to the original interaction range to
account for latency issues.

This value however may be too low in high latency environments.
The patch exposes a new configuration option to configure said value.
2024-07-25 13:00:37 +02:00
Shane Freeder
6863c9e6db disable forced empty world ticks 2023-03-21 23:51:46 +00:00
Jake Potrebic
960d0c8179 Deprecate InvAction#HOTBAR_MOVE_AND_READD 2024-05-25 09:51:13 -07:00