From 2fdd7d4e70e9303c88b24cace75fb0596fe0d815 Mon Sep 17 00:00:00 2001 From: Ben Kerllenevich Date: Fri, 5 Mar 2021 18:06:07 -0500 Subject: [PATCH] One Punch Man! (#185) --- patches/server/0174-One-Punch-Man.patch | 46 +++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 patches/server/0174-One-Punch-Man.patch diff --git a/patches/server/0174-One-Punch-Man.patch b/patches/server/0174-One-Punch-Man.patch new file mode 100644 index 000000000..11f5be1ce --- /dev/null +++ b/patches/server/0174-One-Punch-Man.patch @@ -0,0 +1,46 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Fourmisain <8464472+Fourmisain@users.noreply.github.com> +Date: Fri, 5 Mar 2021 17:42:35 -0500 +Subject: [PATCH] One Punch Man! + + +diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java +index 50fa5f8395fea3ba6fa202a5a38519cd55ae00e0..44e4d52653f77fa5075840d873ad1a3a917041d0 100644 +--- a/src/main/java/net/minecraft/server/EntityLiving.java ++++ b/src/main/java/net/minecraft/server/EntityLiving.java +@@ -1921,6 +1921,15 @@ public abstract class EntityLiving extends Entity { + ((EntityPlayer) damagesource.getEntity()).a(StatisticList.DAMAGE_DEALT_ABSORBED, Math.round(f2 * 10.0F)); + } + ++ // Purpur start ++ if (damagesource.getEntity() instanceof EntityHuman && damagesource.getEntity().world.purpurConfig.creativeOnePunch) { ++ EntityHuman entityHuman = (EntityHuman) damagesource.getEntity(); ++ if (entityHuman.getItemInMainHand().getItem() == Items.AIR && entityHuman.isCreative()) { ++ this.setHealth(0); ++ } ++ } ++ // Purpur end ++ + if (f > 0 || !human) { + if (human) { + // PAIL: Be sure to drag all this code from the EntityHuman subclass each update. +diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +index 5f14c6c0e62ce5bece342b850e201357314061b2..1e7c75c1f8830b5c2660c2cf8aab0167916ff501 100644 +--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java ++++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +@@ -274,6 +274,7 @@ public class PurpurWorldConfig { + public double voidDamageHeight = -64.0D; + public int raidCooldownSeconds = 0; + public int animalBreedingCooldownSeconds = 0; ++ public boolean creativeOnePunch = false; + private void miscGameplayMechanicsSettings() { + useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); + alwaysTameInCreative = getBoolean("gameplay-mechanics.always-tame-in-creative", alwaysTameInCreative); +@@ -291,6 +292,7 @@ public class PurpurWorldConfig { + voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight); + raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds); + animalBreedingCooldownSeconds = getInt("gameplay-mechanics.animal-breeding-cooldown-seconds", animalBreedingCooldownSeconds); ++ creativeOnePunch = getBoolean("gameplay-mechanics.player.one-punch-in-creative", creativeOnePunch); + } + + public boolean catSpawning;