Commit Graph

575 Commits

Author SHA1 Message Date
Bjarne Koll dde17defa5 net/minecraft/world/entity/vehicle 2024-12-14 17:17:22 +01:00
Bjarne Koll 216f3118ae net/minecraft/world/level/block/entity/trialspawner 2024-12-14 17:17:22 +01:00
MiniDigger | Martin f803e7cc28 update mache, rebuild patches for concurrency fix 2024-12-14 16:08:32 +01:00
Noah van der Aa 6fdbfef28e net.minecraft.world.level.entity 2024-12-14 15:02:14 +01:00
Noah van der Aa 7d70dbf927 net.minecraft.world.damagesource 2024-12-14 14:47:37 +01:00
Noah van der Aa 5eb4ceb6a4 net.minecraft.world.item.enchantment 2024-12-14 14:40:36 +01:00
Noah van der Aa 729c6e5369 Random small stuff 2024-12-14 14:31:00 +01:00
Nassim Jahnke 679c2f7c9f More more entity classes 2024-12-14 13:05:27 +01:00
Nassim Jahnke 07642b457e More entity classes 2024-12-14 12:36:08 +01:00
Nassim Jahnke 03daab51f7 Entity class 2024-12-14 11:41:23 +01:00
Bjarne Koll afa25753de Fix compile issue in MinecraftServer 2024-12-14 05:48:25 +01:00
Bjarne Koll f25c1a33a0 Finish block entity 2024-12-14 05:45:11 +01:00
Jake Potrebic 368d2116ba net.minecraft.world.entity.raid 2024-12-13 19:53:42 -08:00
Jake Potrebic 9793846a7e net.minecraft.world.level.redstone 2024-12-13 19:42:44 -08:00
Jake Potrebic c62af3a5b7 net.minecraft.world.level.saveddata.maps 2024-12-13 19:35:46 -08:00
Jake Potrebic ce9d79a81b net.minecraft.world.entity.projectile.windcharge 2024-12-13 17:54:21 -08:00
Jake Potrebic 5b0289a248 net.minecraft.world.level.storage.loot.predicates 2024-12-13 17:50:51 -08:00
Jake Potrebic 9ef230aa31 net.minecraft.world.entity.projectile 2024-12-13 17:45:53 -08:00
Jake Potrebic cb5feced53 net.minecraft.world.entity.monster.warden 2024-12-13 16:08:40 -08:00
Jake Potrebic f98d879f07 net.minecraft.world.level.block.state.properties 2024-12-13 16:05:23 -08:00
Jake Potrebic fe1744dfd1 net.minecraft.world.item.alchemy 2024-12-13 16:02:20 -08:00
Jake Potrebic f60983ac06 net.minecraft.world.entity.animal.allay 2024-12-13 15:55:52 -08:00
Jake Potrebic f0e7d7e5f7 net.minecraft.world.level.block.state 2024-12-13 15:50:44 -08:00
Lulu13022002 c6a426beda warden AI 2024-12-13 21:36:11 +01:00
Nassim Jahnke f73e864f18 Commands 2024-12-13 21:21:57 +01:00
Lulu13022002 2509faa08e mob spawn settings 2024-12-13 21:07:56 +01:00
Nassim Jahnke c3d5f253fe Moar 2024-12-13 20:30:07 +01:00
Bjarne Koll 4091c6ac4d Follow up on block entities 2024-12-13 20:17:16 +01:00
Bjarne Koll e0fae5ef02 Part of block entities 2024-12-13 20:11:23 +01:00
Nassim Jahnke 0135513d3d More mobs 2024-12-13 20:01:24 +01:00
Nassim Jahnke 3ef3394311 More mobs 2024-12-13 19:25:16 +01:00
Noah van der Aa 7d42b87010 net/minecraft/world + Tadpole? 2024-12-13 19:17:03 +01:00
Noah van der Aa 18a25937bc pathfinding, packet utils 2024-12-13 18:57:25 +01:00
Nassim Jahnke e20952c643 Make Tadpole apply 2024-12-13 18:55:47 +01:00
Nassim Jahnke aa998246f7 More work 2024-12-13 18:40:56 +01:00
Jake Potrebic e9b739bc48 some more directories 2024-12-13 09:40:09 -08:00
Noah van der Aa 1ed5242f38 Ender dragon 2024-12-13 18:36:33 +01:00
Bjarne Koll ee51737be6 More work 2024-12-13 17:24:35 +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
Intybyte 24f63384b2 Expand scoreboard tag count validation to API set 2024-10-21 01:41:04 +02:00
Bjarne Koll 45d04f9749 Add registry entry and builders 2024-06-13 23:45:32 +02:00
Kevin Raneri b2d8133382 Configurable Entity Despawn Time 2024-09-30 09:50:55 -07:00
Lulu13022002 7b83e91bb7 Fix NPE when EntityResurrectEvent is uncancelled 2024-11-18 20:27:58 +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
Jake Potrebic 9467a08b36 Improve performance of RecipeMap#removeRecipe 2024-10-31 20:36:41 -07: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
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
Shane Freeder 8f7365707a Always send Banner patterns to the client
The mojang client will not remove patterns from a Banner when none
are sent inside of an update packet, given that this is not an expected
flow for them, this is not all too surprising. So, we shall resort to always
sending the patterns over the network for update packets.
2024-10-20 18:23:59 +01:00