aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0593-Add-config-for-mobs-immune-to-default-effects.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/server/0593-Add-config-for-mobs-immune-to-default-effects.patch')
-rw-r--r--patches/server/0593-Add-config-for-mobs-immune-to-default-effects.patch57
1 files changed, 57 insertions, 0 deletions
diff --git a/patches/server/0593-Add-config-for-mobs-immune-to-default-effects.patch b/patches/server/0593-Add-config-for-mobs-immune-to-default-effects.patch
new file mode 100644
index 0000000000..756da20f44
--- /dev/null
+++ b/patches/server/0593-Add-config-for-mobs-immune-to-default-effects.patch
@@ -0,0 +1,57 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Jake Potrebic <[email protected]>
+Date: Wed, 2 Dec 2020 21:03:02 -0800
+Subject: [PATCH] Add config for mobs immune to default effects
+
+
+diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
+index f7244a0cbb06258d6e553ad35e1040e338cce4eb..a2edccc840f2ba76e236ea7441f3e4909b1a1898 100644
+--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
++++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
+@@ -1172,7 +1172,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+ if (this.getMobType() == MobType.UNDEAD) {
+ MobEffect mobeffectlist = effect.getEffect();
+
+- if (mobeffectlist == MobEffects.REGENERATION || mobeffectlist == MobEffects.POISON) {
++ if ((mobeffectlist == MobEffects.REGENERATION || mobeffectlist == MobEffects.POISON) && this.level().paperConfig().entities.mobEffects.undeadImmuneToCertainEffects) { // Paper - Add config for mobs immune to default effects
+ return false;
+ }
+ }
+diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+index bd9453a92e1b2eca0a6dc56aef921e31a18a20c3..25f611b35a5710c595574d2d6ed50c442ca55721 100644
+--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
++++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+@@ -607,7 +607,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
+
+ @Override
+ public boolean canBeAffected(MobEffectInstance effect) {
+- return effect.getEffect() == MobEffects.WITHER ? false : super.canBeAffected(effect);
++ return effect.getEffect() == MobEffects.WITHER && this.level().paperConfig().entities.mobEffects.immuneToWitherEffect.wither ? false : super.canBeAffected(effect); // Paper - Add config for mobs immune to default effects
+ }
+
+ private class WitherDoNothingGoal extends Goal {
+diff --git a/src/main/java/net/minecraft/world/entity/monster/Spider.java b/src/main/java/net/minecraft/world/entity/monster/Spider.java
+index 6241baccd3fdee59175f616cdf69d3873074f855..4d5cfaa58bdf4e6cb975134004d14c591f6e85fa 100644
+--- a/src/main/java/net/minecraft/world/entity/monster/Spider.java
++++ b/src/main/java/net/minecraft/world/entity/monster/Spider.java
+@@ -135,7 +135,7 @@ public class Spider extends Monster {
+
+ @Override
+ public boolean canBeAffected(MobEffectInstance effect) {
+- return effect.getEffect() == MobEffects.POISON ? false : super.canBeAffected(effect);
++ return effect.getEffect() == MobEffects.POISON && this.level().paperConfig().entities.mobEffects.spidersImmuneToPoisonEffect ? false : super.canBeAffected(effect); // Paper - Add config for mobs immune to default effects
+ }
+
+ public boolean isClimbing() {
+diff --git a/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java b/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java
+index 62943d43b701d9ae6d955003f4e7658f76d5bdb3..20a65c11ededcd7170704b70118da6200151fbab 100644
+--- a/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java
++++ b/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java
+@@ -128,6 +128,6 @@ public class WitherSkeleton extends AbstractSkeleton {
+
+ @Override
+ public boolean canBeAffected(MobEffectInstance effect) {
+- return effect.getEffect() == MobEffects.WITHER ? false : super.canBeAffected(effect);
++ return effect.getEffect() == MobEffects.WITHER && this.level().paperConfig().entities.mobEffects.immuneToWitherEffect.witherSkeleton ? false : super.canBeAffected(effect); // Paper - Add config for mobs immune to default effects
+ }
+ }