From 810b45fe3dca033796ab548752f7f4446f59d3fe Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 15 Jun 2019 03:13:29 -0500 Subject: [PATCH] Make Iron Golems Swim --- docs/source/configuration.rst | 5 ++ .../server/0031-Make-Iron-Golems-Swim.patch | 49 +++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 patches/server/0031-Make-Iron-Golems-Swim.patch diff --git a/docs/source/configuration.rst b/docs/source/configuration.rst index e74d253f0..675839132 100644 --- a/docs/source/configuration.rst +++ b/docs/source/configuration.rst @@ -83,6 +83,11 @@ mobs - **default**: true - **description**: Control if giant zombies have AI instead of just standing there +* iron_golem + * swims + - **default**: true + - **description**: Set whether iron golem can swim or not + * snow_golem * drops-pumpkin-when-sheared - **default**: true diff --git a/patches/server/0031-Make-Iron-Golems-Swim.patch b/patches/server/0031-Make-Iron-Golems-Swim.patch new file mode 100644 index 000000000..507c588e9 --- /dev/null +++ b/patches/server/0031-Make-Iron-Golems-Swim.patch @@ -0,0 +1,49 @@ +From 1948126cc8b635dccfa7e02fddc8deb493e6272e Mon Sep 17 00:00:00 2001 +From: William Blake Galbreath +Date: Sat, 15 Jun 2019 03:12:15 -0500 +Subject: [PATCH] Make Iron Golems Swim + +--- + src/main/java/net/minecraft/server/EntityIronGolem.java | 3 +++ + src/main/java/net/pl3x/purpur/PurpurConfig.java | 5 +++++ + 2 files changed, 8 insertions(+) + +diff --git a/src/main/java/net/minecraft/server/EntityIronGolem.java b/src/main/java/net/minecraft/server/EntityIronGolem.java +index 41ad48c96..1290b3941 100644 +--- a/src/main/java/net/minecraft/server/EntityIronGolem.java ++++ b/src/main/java/net/minecraft/server/EntityIronGolem.java +@@ -1,5 +1,7 @@ + package net.minecraft.server; + ++import net.pl3x.purpur.PurpurConfig; ++ + public class EntityIronGolem extends EntityGolem { + + protected static final DataWatcherObject b = DataWatcher.a(EntityIronGolem.class, DataWatcherRegistry.a); +@@ -14,6 +16,7 @@ public class EntityIronGolem extends EntityGolem { + + @Override + protected void initPathfinder() { ++ if (PurpurConfig.ironGolemSwims) this.goalSelector.a(0, new PathfinderGoalFloat(this)); // Purpur + this.goalSelector.a(1, new PathfinderGoalMeleeAttack(this, 1.0D, true)); + this.goalSelector.a(2, new PathfinderGoalMoveTowardsTarget(this, 0.9D, 32.0F)); + this.goalSelector.a(2, new PathfinderGoalStrollVillage(this, 0.6D)); +diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java +index 65a7b6e8b..74d238d82 100644 +--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java ++++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java +@@ -127,6 +127,11 @@ public class PurpurConfig { + giantsHaveAI = getBoolean("settings.mobs.giant.have-ai", giantsHaveAI); + } + ++ public static boolean ironGolemSwims = true; ++ private static void ironGolemSettings() { ++ ironGolemSwims = getBoolean("settings.mobs.iron_golem.swims", ironGolemSwims); ++ } ++ + public static boolean snowmanDropsPumpkin = true; + public static boolean snowmanPumpkinPutBack = true; + private static void snowmansSettings() { +-- +2.20.1 +