From 2edb086e130819eca455926b73a088b7296386ed Mon Sep 17 00:00:00 2001 From: Ben Kerllenevich Date: Sun, 13 Dec 2020 20:42:21 -0500 Subject: [PATCH] Striders give back saddle --- .../0166-Striders-give-saddle-back.patch | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 patches/server/0166-Striders-give-saddle-back.patch diff --git a/patches/server/0166-Striders-give-saddle-back.patch b/patches/server/0166-Striders-give-saddle-back.patch new file mode 100644 index 000000000..a1de25e72 --- /dev/null +++ b/patches/server/0166-Striders-give-saddle-back.patch @@ -0,0 +1,47 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Ben Kerllenevich +Date: Sun, 13 Dec 2020 20:40:57 -0500 +Subject: [PATCH] Striders give saddle back + + +diff --git a/src/main/java/net/minecraft/server/EntityStrider.java b/src/main/java/net/minecraft/server/EntityStrider.java +index 1bb33c4169902cf6eb323f79a5d98a1df5726d96..96485d6f4db6b618413abc23199bdb9cefbda721 100644 +--- a/src/main/java/net/minecraft/server/EntityStrider.java ++++ b/src/main/java/net/minecraft/server/EntityStrider.java +@@ -379,6 +379,18 @@ public class EntityStrider extends EntityAnimal implements ISteerable, ISaddleab + + if (!flag && this.hasSaddle() && !this.isVehicle() && !entityhuman.eq()) { + if (!this.world.isClientSide) { ++ // Purpur start ++ if (world.purpurConfig.striderGiveSaddleBack && entityhuman.isSneaking()) { ++ this.saddleStorage.setSaddle(false); ++ if (!entityhuman.abilities.canInstantlyBuild) { ++ ItemStack saddle = new ItemStack(Items.SADDLE); ++ if (!entityhuman.inventory.pickup(saddle)) { ++ entityhuman.drop(saddle, false); ++ } ++ } ++ return EnumInteractionResult.SUCCESS; ++ } ++ // Purpur end + entityhuman.startRiding(this); + } + +diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +index 22d1eae897baf8988807eb6b72e3d8a324c173f7..784024dac311e17f657bd3fc6d431a2f944c9989 100644 +--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java ++++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +@@ -1153,11 +1153,13 @@ public class PurpurWorldConfig { + public boolean striderRidableInWater = false; + public int striderBreedingTicks = 6000; + public double striderMaxHealth = 20.0D; ++ public boolean striderGiveSaddleBack = false; + private void striderSettings() { + striderRidable = getBoolean("mobs.strider.ridable", striderRidable); + striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); + striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks); + striderMaxHealth = getDouble("mobs.strider.attributes.max-health", striderMaxHealth); ++ striderGiveSaddleBack = getBoolean("mobs.strider.give-saddle-back", striderGiveSaddleBack); + } + + public boolean tropicalFishRidable = false;