Files
Purpur/patches/server/0142-Striders-give-saddle-back.patch
William Blake Galbreath 635d108ae2 Updated Upstream (Paper & Tuinity)
Upstream has released updates that appear to apply and compile correctly

Paper Changes:
415f7ca165 Updated Upstream (Bukkit/CraftBukkit)
37df95b189 refactor: do not import List; use FQN
5c65546f5c rebase
fdef125b19 Expose EntityType#getTranslationKey
4d9b14efa4 Use AsyncAppender instead of AsyncLoggerContextSelector to keep loggging IO off main thread (#6381)
8c2adf8e9e Add warning to getOfflinePlayers (#6365)
370b60de14 Optimize indirect passenger iteration (#6366)
80836709e7 Fix block drops position losing precision millions of blocks out (#6387)
e942509e73 Updated Upstream (Bukkit/CraftBukkit/Spigot) (#6379)
ce43ce8265 Make EntityUnleashEvent cancellable (#4993)
591cac3685 Configurable item frame map cursor interval (#6385)
e9aa9ce66b Add config migration for named entity death logging option (#6390)
c2f47a76ae Implement Translatable in appropriate places (#6248)
f12a7f57e1 Clear bucket NBT after dispense (#6391)
4dd33cb8b6 [ci skip] Drop "Fix CME on adding a passenger in CreatureSpawnEvent" (#6384)
565cd3306c [ci skip] Add some helper methods to the ObfHelper util class (#6374)

Tuinity Changes:
6fd7e2b376 Update paper
2021-08-14 16:40:13 -05:00

50 lines
2.6 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Ben Kerllenevich <me@notom3ga.me>
Date: Sun, 13 Dec 2020 20:40:57 -0500
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 9d314470361b2e17afdadc355c084254e5b03aff..66dab9b4e5ae05deeae11c8588a0b855d8847bdc 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Strider.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java
@@ -451,6 +451,18 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
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/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 03d2d735b3e8839b467d93696d1a6f4481f57a41..083a450dcd285434c5c6d1ffb52f29d590d3609a 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1553,6 +1553,7 @@ public class PurpurWorldConfig {
public boolean striderRidableInWater = false;
public double striderMaxHealth = 20.0D;
public int striderBreedingTicks = 6000;
+ public boolean striderGiveSaddleBack = false;
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1563,6 +1564,7 @@ public class PurpurWorldConfig {
}
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks);
+ striderGiveSaddleBack = getBoolean("mobs.strider.give-saddle-back", striderGiveSaddleBack);
}
public boolean traderLlamaRidable = false;