diff --git a/patches/server/0008-Ridables.patch b/patches/server/0008-Ridables.patch index d8e0611e1..d6b0ffca6 100644 --- a/patches/server/0008-Ridables.patch +++ b/patches/server/0008-Ridables.patch @@ -66,7 +66,7 @@ index f3024b03ff7709893d6e39f54504597bb59f5315..f6360f2973c03e0105361f9e001360ec public void doTick() { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index f79ca89b430636bf5c0e140499ac20f743f22f33..ebc2707fa3eeec4c80d7f186fce39ddcbd8eb414 100644 +index 6ca749d957ff04f9c6e48271da0046a353508c10..132c3e1ab9e65c778d3f1a7527a9f9c49337d8b4 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -716,7 +716,6 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -202,7 +202,7 @@ index c1e9b40a4a0f9cdc650caa88b5ea132e06ee2496..882ab40c8cdea8c214cb8344b3ccecdd protected ParticleOptions getInkParticle() { return ParticleTypes.GLOW_SQUID_INK; diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 120c0804010fd5b38a5f806ca580962ff8b47339..518c4cadf549d045d17f7c0eab548bde221a5442 100644 +index 413652284e229a51e3eefe47f239e8fa9a09ccb2..1f9f59f4ec936e365ad6428717a7d92983a66222 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -221,9 +221,9 @@ public abstract class LivingEntity extends Entity { @@ -280,7 +280,7 @@ index 120c0804010fd5b38a5f806ca580962ff8b47339..518c4cadf549d045d17f7c0eab548bde // Paper end if (!this.level.isClientSide && this.isSensitiveToWater() && this.isInWaterRainOrBubble()) { diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 94b45579dc371ee980565aed2f5dee78ebd44427..286f6a7ebc38378bb730db5d8ffef226f6a94e3d 100644 +index 94b45579dc371ee980565aed2f5dee78ebd44427..4072a189813cc1a89b64b2997df0938288fab743 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -146,8 +146,8 @@ public abstract class Mob extends LivingEntity { @@ -303,7 +303,7 @@ index 94b45579dc371ee980565aed2f5dee78ebd44427..286f6a7ebc38378bb730db5d8ffef226 } public boolean isWithinRestriction() { -@@ -1728,4 +1728,52 @@ public abstract class Mob extends LivingEntity { +@@ -1728,4 +1728,56 @@ public abstract class Mob extends LivingEntity { return itemmonsteregg == null ? null : new ItemStack(itemmonsteregg); } @@ -314,8 +314,12 @@ index 94b45579dc371ee980565aed2f5dee78ebd44427..286f6a7ebc38378bb730db5d8ffef226 + } + + public InteractionResult tryRide(Player player, InteractionHand hand) { ++ return tryRide(player, hand, InteractionResult.PASS); ++ } ++ ++ public InteractionResult tryRide(Player player, InteractionHand hand, InteractionResult result) { + if (!isRidable()) { -+ return InteractionResult.PASS; ++ return result; + } + if (hand != InteractionHand.MAIN_HAND) { + return InteractionResult.PASS; @@ -5010,7 +5014,7 @@ index 904826ea563bd2eb469f403df459def62cc1b5e6..456ebb0829d19d13abe05d83035c4abe public static void applyDarknessAround(ServerLevel world, Vec3 pos, @Nullable Entity entity, int range) { diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index 76a9da8209d557b913c49ccd281bf147b9ac4fa4..2bbfa9a7d0fe71597e4e9a1e883be68018caadd7 100644 +index 76a9da8209d557b913c49ccd281bf147b9ac4fa4..4d0426dbbc3d87d7450acf983c45f3b8636e11e2 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java @@ -155,6 +155,28 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -5056,7 +5060,7 @@ index 76a9da8209d557b913c49ccd281bf147b9ac4fa4..2bbfa9a7d0fe71597e4e9a1e883be680 if (this.isBaby()) { this.setUnhappy(); - return InteractionResult.sidedSuccess(this.level.isClientSide); -+ return tryRide(player, hand); // Purpur ++ return tryRide(player, hand, InteractionResult.sidedSuccess(this.level.isClientSide)); // Purpur } else { boolean flag = this.getOffers().isEmpty(); @@ -5065,14 +5069,14 @@ index 76a9da8209d557b913c49ccd281bf147b9ac4fa4..2bbfa9a7d0fe71597e4e9a1e883be680 if (flag) { - return InteractionResult.sidedSuccess(this.level.isClientSide); -+ return tryRide(player, hand); // Purpur ++ return tryRide(player, hand, InteractionResult.sidedSuccess(this.level.isClientSide)); // Purpur } else { + if (level.purpurConfig.villagerRidable && itemstack.isEmpty()) return tryRide(player, hand); // Purpur if (!this.level.isClientSide && !this.offers.isEmpty()) { this.startTrading(player); } diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java -index e92e6fb4cf97f4d5406b5b5d5786bfa5fb55f536..0e7d5540763d56020cd59d9aef09f7a7d2cde1b1 100644 +index e92e6fb4cf97f4d5406b5b5d5786bfa5fb55f536..64fb6f2ea7b792d131feca7278034336056c49b9 100644 --- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java +++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java @@ -66,6 +66,23 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill @@ -5104,7 +5108,7 @@ index e92e6fb4cf97f4d5406b5b5d5786bfa5fb55f536..0e7d5540763d56020cd59d9aef09f7a7 if (this.getOffers().isEmpty()) { - return InteractionResult.sidedSuccess(this.level.isClientSide); -+ return tryRide(player, hand); // Purpur ++ return tryRide(player, hand, InteractionResult.sidedSuccess(this.level.isClientSide)); // Purpur } else { + if (level.purpurConfig.wanderingTraderRidable && itemstack.isEmpty()) return tryRide(player, hand); // Purpur if (!this.level.isClientSide) { diff --git a/patches/server/0149-Add-config-for-villager-trading.patch b/patches/server/0149-Add-config-for-villager-trading.patch index 9482c73f0..b7cbc923a 100644 --- a/patches/server/0149-Add-config-for-villager-trading.patch +++ b/patches/server/0149-Add-config-for-villager-trading.patch @@ -5,11 +5,11 @@ Subject: [PATCH] Add config for villager trading diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index 304c7e23fd38aa3e869918cbabf77d835ac5a8cd..873bc6c7ec79b713fcb9ac9a5a5c421c00d2cd79 100644 +index 78efd0c4a3350602757a54950cabdccbda8c5d18..7b324a9b971ed263e8e8f0724de68ec9180de8ad 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java @@ -366,7 +366,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler - return tryRide(player, hand); // Purpur + return tryRide(player, hand, InteractionResult.sidedSuccess(this.level.isClientSide)); // Purpur } else { if (level.purpurConfig.villagerRidable && itemstack.isEmpty()) return tryRide(player, hand); // Purpur - if (!this.level.isClientSide && !this.offers.isEmpty()) { @@ -18,11 +18,11 @@ index 304c7e23fd38aa3e869918cbabf77d835ac5a8cd..873bc6c7ec79b713fcb9ac9a5a5c421c } diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java -index a028732368cdc6b249135742b4a86920d95fa76e..eed9fed34fde4d27e424507f2f05510d46f64601 100644 +index 264e9372118dcf95840fef2dfa5db3be96e46c6a..0f347989aa776c3adeae51bf299ccf5707342aba 100644 --- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java +++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java @@ -149,7 +149,7 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill - return tryRide(player, hand); // Purpur + return tryRide(player, hand, InteractionResult.sidedSuccess(this.level.isClientSide)); // Purpur } else { if (level.purpurConfig.wanderingTraderRidable && itemstack.isEmpty()) return tryRide(player, hand); // Purpur - if (!this.level.isClientSide) {