File tree Expand file tree Collapse file tree
src/main/java/de/erethon/aether/listener Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11package de .erethon .aether .listener ;
22
3+ import com .destroystokyo .paper .event .entity .EntityKnockbackByEntityEvent ;
34import de .erethon .aether .Aether ;
45import de .erethon .aether .creature .AetherBaseMob ;
56import de .erethon .papyrus .entities .CraftCustomMob ;
67import de .erethon .spellbook .api .SpellEffectAddEvent ;
8+ import io .papermc .paper .event .entity .EntityKnockbackEvent ;
79import org .bukkit .Bukkit ;
810import org .bukkit .entity .LivingEntity ;
911import org .bukkit .entity .Player ;
1012import org .bukkit .event .EventHandler ;
1113import org .bukkit .event .Listener ;
14+ import org .bukkit .event .entity .EntityDamageEvent ;
1215
1316public class EntityListener implements Listener {
1417
@@ -33,4 +36,22 @@ public void onEntityDeath(SpellEffectAddEvent event) {
3336 }
3437 }
3538
39+ @ EventHandler
40+ public void onEntityDamage (EntityKnockbackEvent event ) {
41+ if (event .getEntity () instanceof CraftCustomMob mob && mob .getHandle () instanceof AetherBaseMob aetherMob ) {
42+ if (aetherMob .getData ().isInvulnerable ()) {
43+ event .setCancelled (true );
44+ }
45+ }
46+ }
47+
48+ @ EventHandler
49+ public void onEntityDamage (EntityKnockbackByEntityEvent event ) {
50+ if (event .getEntity () instanceof CraftCustomMob mob && mob .getHandle () instanceof AetherBaseMob aetherMob ) {
51+ if (aetherMob .getData ().isInvulnerableToPlayers () && event .getHitBy () instanceof Player ) {
52+ event .setCancelled (true );
53+ }
54+ }
55+ }
56+
3657}
You can’t perform that action at this time.
0 commit comments