From 314ca1a1bea24e71a54c9e79f4f73d6e2b463aff Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Tue, 8 Feb 2022 13:36:16 -0600 Subject: [PATCH] Config for mob last hurt by player time --- ...fig-for-mob-last-hurt-by-player-time.patch | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 patches/server/0269-Config-for-mob-last-hurt-by-player-time.patch diff --git a/patches/server/0269-Config-for-mob-last-hurt-by-player-time.patch b/patches/server/0269-Config-for-mob-last-hurt-by-player-time.patch new file mode 100644 index 000000000..930f9048f --- /dev/null +++ b/patches/server/0269-Config-for-mob-last-hurt-by-player-time.patch @@ -0,0 +1,59 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: BillyGalbreath +Date: Tue, 8 Feb 2022 13:35:48 -0600 +Subject: [PATCH] Config for mob last hurt by player time + + +diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java +index 260b5a61890ceac0e36aa08b70f0a0fa430cabb0..624fa29aeb3e4ec0998756d3ebd31ec7125950b1 100644 +--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java ++++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +@@ -1415,13 +1415,13 @@ public abstract class LivingEntity extends Entity { + } + + if (entity1 instanceof net.minecraft.world.entity.player.Player) { +- this.lastHurtByPlayerTime = 100; ++ this.lastHurtByPlayerTime = this.level.purpurConfig.mobLastHurtByPlayerTime; // Purpur + this.lastHurtByPlayer = (net.minecraft.world.entity.player.Player) entity1; + } else if (entity1 instanceof Wolf) { + Wolf entitywolf = (Wolf) entity1; + + if (entitywolf.isTame()) { +- this.lastHurtByPlayerTime = 100; ++ this.lastHurtByPlayerTime = this.level.purpurConfig.mobLastHurtByPlayerTime; // Purpur + LivingEntity entityliving = entitywolf.getOwner(); + + if (entityliving != null && entityliving.getType() == EntityType.PLAYER) { +diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +index 7534889c4169cbd26f7e778cbd3be49bd2640c83..ca767d5a8ecb1d0c41ed149fd77eb2f49221c919 100644 +--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java ++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +@@ -425,7 +425,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { + ServerPlayer entityPlayer = killer == null ? null : ((CraftPlayer) killer).getHandle(); + getHandle().lastHurtByPlayer = entityPlayer; + getHandle().lastHurtByMob = entityPlayer; +- getHandle().lastHurtByPlayerTime = entityPlayer == null ? 0 : 100; // 100 value taken from EntityLiving#damageEntity ++ getHandle().lastHurtByPlayerTime = entityPlayer == null ? 0 : getHandle().level.purpurConfig.mobLastHurtByPlayerTime; // 100 value taken from EntityLiving#damageEntity // Purpur + } + // Paper end + +diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +index c3b8387896fe5a7618e363b3fad1cdd3a06c55b5..7c131da608b91555cd5293da5b90de0ee9c10f9e 100644 +--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java ++++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +@@ -136,6 +136,7 @@ public class PurpurWorldConfig { + public boolean mobsIgnoreRails = false; + public boolean rainStopsAfterSleep = true; + public boolean thunderStopsAfterSleep = true; ++ public int mobLastHurtByPlayerTime = 100; + private void miscGameplayMechanicsSettings() { + useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); + alwaysTameInCreative = getBoolean("gameplay-mechanics.always-tame-in-creative", alwaysTameInCreative); +@@ -161,6 +162,7 @@ public class PurpurWorldConfig { + mobsIgnoreRails = getBoolean("gameplay-mechanics.mobs-ignore-rails", mobsIgnoreRails); + rainStopsAfterSleep = getBoolean("gameplay-mechanics.rain-stops-after-sleep", rainStopsAfterSleep); + thunderStopsAfterSleep = getBoolean("gameplay-mechanics.thunder-stops-after-sleep", thunderStopsAfterSleep); ++ mobLastHurtByPlayerTime = getInt("gameplay-mechanics.mob-last-hurt-by-player-time", mobLastHurtByPlayerTime); + } + + public int daytimeTicks = 12000;