From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Ben Kerllenevich Date: Thu, 18 Mar 2021 07:23:27 -0400 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 01a1732ca13300b60979d250ebf156ca68bb014f..444dbab9a1c95d1f8bc97e165e5302473a29c7e8 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java @@ -371,7 +371,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler 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()) { + if (this.level().purpurConfig.villagerAllowTrading && !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 5c6f1d3ffa2a2b6990d2406b14679e8286f60729..68d263a7647e395d981014f7cc761fe76fc74cb6 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, InteractionResult.sidedSuccess(this.level().isClientSide)); // Purpur } else { if (level().purpurConfig.wanderingTraderRidable && itemstack.isEmpty()) return tryRide(player, hand); // Purpur - if (!this.level().isClientSide) { + if (this.level().purpurConfig.wanderingTraderAllowTrading) { this.setTradingPlayer(player); this.openTradingScreen(player, this.getDisplayName(), 1); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java index c324b47449148a2b07b748cca456faa67c9358ba..37ee42c46d469e11dc48eb292442beaac3e74445 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -2127,6 +2127,7 @@ public class PurpurWorldConfig { public boolean villagerClericFarmersThrowWarts = true; public boolean villagerBypassMobGriefing = false; public boolean villagerTakeDamageFromWater = false; + public boolean villagerAllowTrading = true; private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); @@ -2145,6 +2146,7 @@ public class PurpurWorldConfig { villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts); villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing); villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater); + villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading); } public boolean vindicatorRidable = false; @@ -2174,6 +2176,7 @@ public class PurpurWorldConfig { public boolean wanderingTraderFollowEmeraldBlock = false; public boolean wanderingTraderCanBeLeashed = false; public boolean wanderingTraderTakeDamageFromWater = false; + public boolean wanderingTraderAllowTrading = true; private void wanderingTraderSettings() { wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); @@ -2187,6 +2190,7 @@ public class PurpurWorldConfig { wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock); wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed); wanderingTraderTakeDamageFromWater = getBoolean("mobs.wandering_trader.takes-damage-from-water", wanderingTraderTakeDamageFromWater); + wanderingTraderAllowTrading = getBoolean("mobs.wandering_trader.allow-trading", wanderingTraderAllowTrading); } public boolean wardenRidable = false;