PlayerEvent:

-Added PlayerEvent.AttackEvent & PlayerEvent.AttackedEvent, preventing any knockback from happening from attacks.
This commit is contained in:
c0508383 committed 2022-07-07 12:49:30 -05:00
1 parent 5e0b1282f7
commit 12a3fffeab
5 files changed
+62 -16

No files matched your search

@@ -22,10 +22,7 @@ import net.minecraftforge.common.ForgeHooks;
import net.minecraftforge.event.entity.EntityStruckByLightningEvent;
import net.minecraftforge.event.entity.PlaySoundAtEntityEvent;
import net.minecraftforge.event.entity.item.ItemTossEvent;
import net.minecraftforge.event.entity.living.LivingDeathEvent;
import net.minecraftforge.event.entity.living.LivingEvent;
import net.minecraftforge.event.entity.living.LivingFallEvent;
import net.minecraftforge.event.entity.living.LivingHurtEvent;
import net.minecraftforge.event.entity.living.*;
import net.minecraftforge.event.entity.player.*;
import net.minecraftforge.event.world.*;
import noppes.npcs.constants.EnumPacketClient;
@@ -394,6 +391,26 @@ public class ScriptPlayerEventHandler {
}
}
@SubscribeEvent
public void invoke(LivingAttackEvent event) {
if(event.entityLiving == null || event.entityLiving.worldObj == null)
return;
if(event.entityLiving.worldObj instanceof WorldServer) {
Entity source = NoppesUtilServer.GetDamageSourcee(event.source);
PlayerDataScript handler = ScriptController.Instance.playerScripts;
if(event.entityLiving instanceof EntityPlayer) {
noppes.npcs.scripted.event.PlayerEvent.AttackedEvent pevent = new noppes.npcs.scripted.event.PlayerEvent.AttackedEvent((IPlayer)NpcAPI.Instance().getIEntity((EntityPlayer)event.entityLiving), source, event.ammount, event.source);
event.setCanceled(EventHooks.onPlayerAttacked(handler, pevent));
}
if(source instanceof EntityPlayer) {
noppes.npcs.scripted.event.PlayerEvent.AttackEvent pevent1 = new noppes.npcs.scripted.event.PlayerEvent.AttackEvent((IPlayer)NpcAPI.Instance().getIEntity((EntityPlayer)event.source.getEntity()), event.entityLiving, event.ammount, event.source);
event.setCanceled(EventHooks.onPlayerAttack(handler, pevent1));
}
}
}
@SubscribeEvent
public void invoke(LivingHurtEvent event) {
if(event.entityLiving == null || event.entityLiving.worldObj == null)