370 Commits

Author SHA1 Message Date
Dylan K. Taylor
9a04481bec
Entity: broadcast teleports as regular movements
fixes #5810

probably fixes #4986

#5810 was caused by the workaround for #4394, which broke in 1.20 for reasons I'm still unclear on.

As FLAG_TELEPORT does not work at all for non-player entities, and causes bugs with player entities, sending the teleport movement without the flag is the least buggy way to solve all of these issues. Having the client interpolate teleport movements is not ideal, but there doesn't seem to be a way to reliably prevent it without causing even more bugs, so this will have to do.
2023-06-09 01:24:57 +01:00
Dylan K. Taylor
71b78b02d3
Merge remote-tracking branch 'origin/stable' into minor-next 2023-04-19 23:57:26 +01:00
Dylan K. Taylor
9561ae5af7
Entity: micro optimisation for checkBlockIntersections() 2023-04-16 17:57:51 +01:00
Dylan K. Taylor
56fbd45dd5
Entity: avoid double-checking block intersections for moving entities
fixes #1824
2023-04-16 17:38:26 +01:00
Dylan K. Taylor
0336394098
Human: remove useless NameTag tag
this is not written anywhere, so this code never does anything.
2023-04-12 16:44:10 +01:00
Dylan K. Taylor
d6c923b525
ExperienceOrb: add get/setDespawnDelay
closes #5645

the code for this is borrowed from ItemEntity. I didn't feel like a base class was appropriate, and we can't (yet) declare constants in traits.
2023-04-07 22:33:30 +01:00
João
2751e1ec02
replacing new Vector3(0, 0, 0) with Vector3::zero() (#5640) 2023-03-20 12:54:28 +00:00
Dylan K. Taylor
054c06fab9
Add specialized entityBaseTick timer for item entities
since item merging is a potential hotspot, we want to know if this code section is a performance problem.
Current timers only tell us whether overall ticking of a particular entity is slow, but that includes movement and therefore isn't particularly helpful.
2023-03-19 15:59:06 +00:00
Dylan K. Taylor
607bdfa42f
Timings: added new timers for entity move collision checks and projectile move ray tracing
projectiles get their own distinct sub-timer, since the logic is completely different from regular entities.
2023-03-19 15:49:35 +00:00
Dylan K. Taylor
337a254768
Use NetworkBroadcastUtils for broadcasting packets
this eradicates all but 4 usages of Server in Entity, which is extremely cool.
2023-03-15 22:28:51 +00:00
Dylan K. Taylor
cc8660629b
First look at shared EntityEventBroadcaster,
this improves performance in PvP servers and other areas where lots of players or entities exist in one space.

fixes #5622
2023-03-15 18:22:56 +00:00
Dylan K. Taylor
c4ecb3d128
Merge branch 'stable' into next-minor 2023-02-21 15:37:06 +00:00
Armen Deroian
59a04c971f
Getter and setter for gravity (#5584)
closes #5525
2023-02-21 15:01:22 +00:00
Dylan K. Taylor
b56b35b10d
ItemEntity: fixed a bunch of suspicious logic in entityBaseTick()
closes #5580
2023-02-17 20:14:38 +00:00
Dylan K. Taylor
5a4550a4fc
CS 2023-02-08 18:55:49 +00:00
Dylan K. Taylor
3ba662f64f
1.19.60 2023-02-08 18:46:37 +00:00
Dylan K. Taylor
3d038b28ff
SplashPotion: const-ify missed NBT key 2022-12-24 15:19:56 +00:00
Dylan K. Taylor
b2017c8462
and more 2022-12-18 22:14:31 +00:00
Dylan K. Taylor
bf44edd179
Constify a bunch of NBT keys, pass 1 2022-12-18 22:12:15 +00:00
Javier León
c5d716dc9d
Added keep on death methods for items (#5395) 2022-12-15 20:10:20 +00:00
Dylan K. Taylor
95d0a3bf41
Merge branch 'stable' into next-minor 2022-12-15 19:38:22 +00:00
Dylan K. Taylor
99996b62d6
Align PhpDoc @param tags according to PHP-CS-Fixer 2022-12-06 13:21:20 +00:00
Rush2929
1d4b6dc66e
Only reduce durability when armor reduced damage. (#5444)
https://minecraft.fandom.com/wiki/Durability#Armor_durability
2022-12-05 21:10:36 +00:00
IvanCraft623
d476a4c1aa
Implement a Living::getDisplayName() (#5384) 2022-11-27 19:48:55 +00:00
Dylan K. Taylor
a3502a711d
Merge branch 'stable' into next-minor 2022-11-12 17:01:58 +00:00
Javier León
d03bbb0426
Implemented darkness effect (#5402) 2022-11-10 12:57:14 +00:00
IvanCraft623
a7ac6070dc
Correct damage calculation for non-arrow projectiles (#5394) 2022-11-07 20:05:53 +00:00
Dylan K. Taylor
824ed0a56a
Merge branch 'stable' into next-minor 2022-11-07 15:04:48 +00:00
Javier León
3a2a23b236
Fixed totem activating when having 1HP instead of 0HP (#5380) 2022-11-07 13:54:14 +00:00
Dylan K. Taylor
6153a2ac70
Merge remote-tracking branch 'origin/stable' into next-minor 2022-11-04 20:51:40 +00:00
ipad54
29301614e8
Remove dead comments (#5389) 2022-11-04 20:23:56 +00:00
Dylan K. Taylor
b6f6671a81
Merge branch 'stable' into next-minor 2022-10-31 15:34:24 +00:00
Dylan K. Taylor
a9361b3f8b
Changes for 1.19.40 2022-10-25 23:11:41 +01:00
Dylan K. Taylor
7864294336
Merge branch 'stable' into next-minor 2022-10-16 16:53:14 +01:00
IvanCraft623
14d17a9546
Remove Erroneous documentation (#5346) 2022-10-16 15:21:35 +01:00
Dylan K. Taylor
57deb60355
Merge branch 'stable' into next-minor 2022-10-13 21:03:50 +01:00
IvanCraft623
421379fc77
SplashPotion: Use World::getCollidingEntities() instead of World::getNearbyEntities() (#5326)
fixes spectator players receiving effects from splash potions
2022-10-11 22:57:35 +01:00
Dylan K. Taylor
6ae7cb288e
Merge remote-tracking branch 'origin/stable' into next-minor 2022-10-11 21:59:40 +01:00
Dylan T
41970feb57
Entity: Fire EntitySpawnEvent/ItemSpawnEvent on the first entity tick, instead of in the constructor (#5314)
This allows plugins to modify the entity via setters in EntitySpawnEvent without their changes getting overwritten by setter calls directly after the 'new YourEntity' statement.

As well as benefiting plugins, this also clears a path for a BC-breaking change in PM5 (to have the programmer use addEntity() to spawn entities, instead of the constructor doing it, which will improve on a number of data handling aspects).

fixes #4973

This targets next-minor because it has some side effects on plugins that depended on the old behaviour, such as VanillaHopper, so it's not suitable for a patch release.
2022-09-29 22:30:12 +01:00
Dylan K. Taylor
cd4bb91676
Living: alter eye height so the player doesn't drown on the surface of water when swimming
fixes #4989
2022-09-29 00:15:07 +01:00
Dylan K. Taylor
bda0ca23b4
Living: deprecated hasLineOfSight() 2022-09-28 17:34:51 +01:00
Dylan K. Taylor
86a2f8e360
Merge branch 'stable' into next-minor 2022-09-28 01:01:51 +01:00
IvanCraft623
5e5661de75
Play burp sound when consuming a FoodSource (#5158) 2022-09-27 17:21:55 +01:00
Dylan K. Taylor
a7dfa0907c
Merge branch 'stable' into next-minor 2022-09-24 18:07:56 +01:00
IvanCraft623
83a136a176
EntityFactory: Avoid code duplication on validation of creation functions (#5294) 2022-09-24 13:55:24 +01:00
Ali
3c55db531d
HealthBoostEffect: Ensure that current health is within limits after reducing max health on removal(#5303) 2022-09-24 13:45:12 +01:00
Dylan K. Taylor
89e29448ee
Merge branch 'stable' into next-minor 2022-09-20 20:18:06 +01:00
Dylan K. Taylor
23e98a30f5
ItemEntity: don't ignore parent's savable state 2022-09-20 14:50:35 +01:00
Dylan K. Taylor
5bc7ca6569
ItemEntity: disable saving if the contained item is air or has a zero count 2022-09-20 14:45:10 +01:00
IvanCraft623
9f97654f6f
Update InstantDamage and Regeneration values (#5279) 2022-09-15 20:26:37 +01:00