diff --git a/patches/server/0040-Pigs-give-saddle-back.patch b/patches/server/0040-Pigs-give-saddle-back.patch index 1401adf29..33ea6b38b 100644 --- a/patches/server/0040-Pigs-give-saddle-back.patch +++ b/patches/server/0040-Pigs-give-saddle-back.patch @@ -5,28 +5,27 @@ Subject: [PATCH] Pigs give saddle back diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java -index 62a1e63fb6ca80e165db46c4d03e28815196aaff..284f632fcce31f180742a131cc358288aba54807 100644 +index 62a1e63fb6ca80e165db46c4d03e28815196aaff..7787d30ad7bb9aa6041c369a368deb382c9554c2 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Pig.java +++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java -@@ -177,6 +177,18 @@ public class Pig extends Animal implements ItemSteerable, Saddleable { +@@ -175,6 +175,17 @@ public class Pig extends Animal implements ItemSteerable, Saddleable { + public InteractionResult mobInteract(Player player, InteractionHand hand) { + boolean flag = this.isFood(player.getItemInHand(hand)); ++ if (level.purpurConfig.pigGiveSaddleBack && player.isSecondaryUseActive() && !flag && isSaddled() && !isVehicle()) { ++ this.steering.setSaddle(false); ++ if (!player.getAbilities().instabuild) { ++ ItemStack saddle = new ItemStack(Items.SADDLE); ++ if (!player.getInventory().add(saddle)) { ++ player.drop(saddle, false); ++ } ++ } ++ return InteractionResult.SUCCESS; ++ } ++ if (!flag && this.isSaddled() && !this.isVehicle() && !player.isSecondaryUseActive()) { if (!this.level.isClientSide) { -+ // Purpur start -+ if (level.purpurConfig.pigGiveSaddleBack && player.isCrouching()) { -+ this.steering.setSaddle(false); -+ if (!player.getAbilities().instabuild) { -+ ItemStack saddle = new ItemStack(Items.SADDLE); -+ if (!player.getInventory().add(saddle)) { -+ player.drop(saddle, false); -+ } -+ } -+ return InteractionResult.SUCCESS; -+ } -+ // Purpur end player.startRiding(this); - } - diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java index 2108615ad64bac1e7b9d4950b9dd62407d16504a..0d042476484fd6fd2e7ad98cb695e80be2e0a1d4 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/patches/server/0128-Striders-give-saddle-back.patch b/patches/server/0128-Striders-give-saddle-back.patch index 19a5f1a09..9000fee06 100644 --- a/patches/server/0128-Striders-give-saddle-back.patch +++ b/patches/server/0128-Striders-give-saddle-back.patch @@ -5,28 +5,29 @@ Subject: [PATCH] Striders give saddle back diff --git a/src/main/java/net/minecraft/world/entity/monster/Strider.java b/src/main/java/net/minecraft/world/entity/monster/Strider.java -index 003eced9d2dcc9cba200a12fe43035f125df8be3..cfa355d99d5f8aaefe4cf0c10805ef7b51a0224a 100644 +index 003eced9d2dcc9cba200a12fe43035f125df8be3..a32b8d5c864381992f9b468f16b54a538fc96109 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Strider.java +++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java -@@ -456,6 +456,18 @@ public class Strider extends Animal implements ItemSteerable, Saddleable { +@@ -454,6 +454,19 @@ public class Strider extends Animal implements ItemSteerable, Saddleable { + public InteractionResult mobInteract(Player player, InteractionHand hand) { + boolean flag = this.isFood(player.getItemInHand(hand)); ++ // Purpur start ++ if (level.purpurConfig.striderGiveSaddleBack && player.isSecondaryUseActive() && !flag && isSaddled() && !isVehicle()) { ++ this.steering.setSaddle(false); ++ if (!player.getAbilities().instabuild) { ++ ItemStack saddle = new ItemStack(Items.SADDLE); ++ if (!player.getInventory().add(saddle)) { ++ player.drop(saddle, false); ++ } ++ } ++ return InteractionResult.SUCCESS; ++ } ++ // Purpur end ++ if (!flag && this.isSaddled() && !this.isVehicle() && !player.isSecondaryUseActive()) { if (!this.level.isClientSide) { -+ // Purpur start -+ if (level.purpurConfig.striderGiveSaddleBack && player.isCrouching()) { -+ this.steering.setSaddle(false); -+ if (!player.getAbilities().instabuild) { -+ ItemStack saddle = new ItemStack(Items.SADDLE); -+ if (!player.getInventory().add(saddle)) { -+ player.drop(saddle, false); -+ } -+ } -+ return InteractionResult.SUCCESS; -+ } -+ // Purpur end player.startRiding(this); - } - diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java index c2847155d1af14dd2b069328d671ed58363b4fdb..80485a8cb979ffc4ff698127574350ec78cc57e7 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java