PaperMC / Paper

The most widely used, high performance Minecraft server that aims to fix gameplay and mechanics inconsistencies
https://papermc.io/
Other
9.93k stars 2.29k forks source link

Damage ticks producing non vanilla behaviour, vanilla overlapping removed/canceled #11476

Open Quelchi opened 2 weeks ago

Quelchi commented 2 weeks ago

Expected behavior

intended behaviour:

When a player is red they can only recive damage from one source, however if a greater source of damage hits, the damage from the greater source is used in priority.

Observed/Actual behavior

expected behaviour:

When a player is red they are fully inveunerable instead of taking damage from the greater source

Steps/models to reproduce

https://cdn.discordapp.com/attachments/289587909051416579/1292576996920131594/Base_Profile_2024.10.06_-_20.58.11.17.mp4?ex=67043da2&is=6702ec22&hm=a83d3a7ef61d7cc62107b3c6f04c40092134b0d911fdf944a5ba67097fa597b4&

(Vanilla behaviour)

Plugin and Datapack List

no plugins / datapacks

Paper version

This server is running Paper version 1.21.1-119-master@7cd4f2c (2024-10-03T15:19:34Z) (Implementing API version 1.21.1-R0.1-SNAPSHOT) You are running the latest version Previous version: 1.21.1-18-63ce67d (MC: 1.21.1)

Other

this bug has been detrimental to the vanilla PvP community and has caused a lot of servers to be unable to update further, thanks for looking at the report and i hope this can be fixed soon.

lynxplay commented 2 weeks ago

I cannot replicate this. With a minimal reproduction setup of a command block chain, the first one running /damage @p 2 minecraft:explosion, the second one running /damage @p 10 minecraft:explosion I end up with exactly 5 hearts of damage, es expected.

Do you have more specific replication steps? Am I missing something here?

Quelchi commented 2 weeks ago

is the 2nd damage source happening during the red tick (damage tick) from the first source or at the same time? as it has to be during the red inveunerability period for the 2nd source to overlap

Quelchi commented 2 weeks ago

the clip i sent is the vanilla behaviour but if you do the excact thing i did on latest paper the 2nd crystal does 0 damage, its a large issue for modern vanilla pvp.

lynxplay commented 2 weeks ago

Okay yea, I got it. The issue isn't as much an issue with the invl ticks, the problem is (as per usual lol) the damage modifier API which to allow plugins to change damage values but fails at doing so.

This is a terribly complex and buggy systems, with people relying on nearly every quick, so fixing this is not gonna be fun or fast. I'll try to write up a more indepth walk through for this issue tomorrow, but yea, confirmed.

Quelchi commented 2 weeks ago

i greatly appreiate it :D

Quelchi commented 1 week ago

do you have an ETA on when this should be implemented, you also said you would write a walkthrough for the issue and someone else has reported a possible fix I believe mentioning this issue report

lynxplay commented 1 week ago

We don't have an ETA for this, yea I did not get to my walk through. I'll try to look at it this weekend, but I am unsure if there is a solution that is easy without breaking a shit ton of plugins.

Quelchi commented 1 week ago

thanks for the reply i appreciate you taking a look at it as its caused mass issues for vanilla pvp lol

codemarked commented 1 day ago

this has been here since forever, that's how rod and bow crits were possible in 1.7-1.8