SpongePowered / SpongeForge

A Forge mod that implements SpongeAPI
http://www.spongepowered.org/
MIT License
1.14k stars 306 forks source link

Mod First Aid Disables shields when ran on a ForgeSponge Server #3031

Open T0ED opened 4 years ago

T0ED commented 4 years ago

I am currently running

SpongeForge version: 7.1.7 Forge version: 14.23.5.2838 Java version: Java 8 Update 191 (64 bit) Operating System: Windows 10

Minecraft Version 1.12.2

Mods: Sponge 1.12.2-7.1.7 firstaid 1.6.12

Plugins: No additional plugins

Issue: All vanilla/modded Shields do not negate any damage. This issue is only present when running on a Sponge Forge server. Here is shield function with Sponge: https://youtu.be/icNkMsqpPRg Here is shield function on a Non-Sponge Forge server: https://youtu.be/icNkMsqpPRg

First Aid is not supposed to affect Shield functionality in any way shape or form. First Aid merely changes the the way Player Health works by adding locational hearts (hearts to body/head/legs etc).

In the video with Sponge, The shield did not negate any damage whatsoever and allowed the skeleton to land shots to the head.

Logs: There is no applicable log as this misbehavior does not produce any logs. Here is the issue I submitted to the developer of the Mod.

gabizou commented 4 years ago

Can you explain how to get a shield and how it's supposed to work, as if I've never heard or used the mod before?

I've a very good idea where the issue lies, but I need to know basically what to look for to step through debugging.

T0ED commented 4 years ago

Understood, I've updated my post.

gabizou commented 4 years ago

And can you just double check that shields work without first aid in general (Haven't tested shields in a while, so that'd be a good test case).

T0ED commented 4 years ago

Yep, I've tested several times and have included videos of the tests in my post. I actually found this bug whilst playing RLcraft and was able to Isolate it down to First Aid's incompatibility with Sponge Forge.

gabizou commented 4 years ago

So it's not just SpongeForge without any other mods, it's when it's in combination with First Aid only do shields not work, right?

T0ED commented 4 years ago

Yep, that's correct.

Gremzy commented 4 years ago

Did anyone find a fix?

blairwilson commented 4 years ago

Still looking for a fix https://github.com/ichttt/FirstAid/issues/73

Dragonslayer02zx commented 3 years ago

Is there any fix now on 2021, i hace the same issue with all updated:(

Brqdford commented 3 years ago

this is still an issue, and pretty much everyone knows its an issue with having spongeforge and the first aid mod together. I dont know which one of the mods need to be fixed, but its been 2 years since this bug has been noticed, and its honestly kind of a big deal to not have shields work in a hardcore modpack like rlcraft.

dDevTech commented 3 years ago

Please we need a fix

clienthax commented 2 years ago

Will take a look soon

clienthax commented 2 years ago

Sponge is calling the damage event (causing the bypass) before doing the shield negate check

Sponge shield:
EntityLivingBaseMixin.attackEntityFrom
  hookModAttack:
    ForgeHooks.onLivingAttack
    canBlockDamageSource
      true
      flag = true; (shield block)
    this.bridge$damageEntityHook:
      bridge$applyModDamage <-- shield negate not applied!
        onLivingHurt

Forge shield:
EntityLivingBase.attackEntityFrom
  ForgeHooks.onLivingAttack
  canBlockDamageSource
    true
      damageShield
      blockUsingShield
      amount = 0;
      flag = true; (shield block)
  damageEntity (0)
    onLivingHurt
redalpha123123 commented 2 years ago

bump, this is till an issue