Files
Purpur/patches/server/0268-Config-for-mob-last-hurt-by-player-time.patch
BillyGalbreath e973e3cbcc Updated Upstream (Paper & Pufferfish)
Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@af94364 Fix slime spawners not spawning outside slime chunks (#7741)
PaperMC/Paper@6b9f7a0 Don't fire worldborder events for virtual borders (#7749)
PaperMC/Paper@8bfb1d2 Pass ServerLevel for gamerule callbacks (#7668)
PaperMC/Paper@c66b0f9 Add pre-unbreaking amount to PlayerItemDamageEvent (#7724)
PaperMC/Paper@86fb3d2 Don't send itemmeta for books with the hide option enabled (#7734)
PaperMC/Paper@c642d25 Improve update folder behavior (#7687)

Pufferfish Changes:
pufferfish-gg/Pufferfish@1bedb87 Updated Upstream (Paper)
pufferfish-gg/Pufferfish@952b720 Add additional SIMD debug info/fix messages
pufferfish-gg/Pufferfish@54099cf Put Java 18 in SIMD error messages
2022-04-18 12:41:35 -05:00

60 lines
3.9 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@Gmail.com>
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 27877223340647049f432138caf62326182c8bbb..8bef96dd28ffb2de00a8d3c50f158d5e537516e6 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1418,13 +1418,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 69318c141b2b05ba22100232f0b637f3ed53b7b7..ce375eaefbed62233db7bf95e23cd1c1a650d711 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;