Files
Purpur/patches/server/0112-Villagers-farming-can-bypass-mob-griefing-gamerule.patch
William Blake Galbreath 2e50cb0eed Rebuild patches
2020-04-28 20:17:35 -05:00

47 lines
2.5 KiB
Diff

From 5ed79fd249b8fb416a89aae7162fee15109e15d1 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Fri, 24 Apr 2020 09:37:29 -0500
Subject: [PATCH] Villagers farming can bypass mob-griefing gamerule
---
src/main/java/net/minecraft/server/BehaviorFarm.java | 2 +-
src/main/java/net/pl3x/purpur/PurpurWorldConfig.java | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/main/java/net/minecraft/server/BehaviorFarm.java b/src/main/java/net/minecraft/server/BehaviorFarm.java
index e05e97727..cf3126a65 100644
--- a/src/main/java/net/minecraft/server/BehaviorFarm.java
+++ b/src/main/java/net/minecraft/server/BehaviorFarm.java
@@ -20,7 +20,7 @@ public class BehaviorFarm extends Behavior<EntityVillager> {
}
protected boolean a(WorldServer worldserver, EntityVillager entityvillager) {
- if (!worldserver.getGameRules().getBoolean(GameRules.MOB_GRIEFING)) {
+ if (!worldserver.getGameRules().getBoolean(GameRules.MOB_GRIEFING) && !worldserver.purpurConfig.villagerFarmingBypassMobGriefing) {
return false;
} else if (entityvillager.getVillagerData().getProfession() != VillagerProfession.FARMER) {
return false;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index e57299f1e..efdc176e6 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -892,6 +892,7 @@ public class PurpurWorldConfig {
public boolean villagerCanBeLeashed = false;
public int villagerSpawnIronGolemRadius = 0;
public int villagerSpawnIronGolemLimit = 0;
+ public boolean villagerFarmingBypassMobGriefing = false;
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -902,6 +903,7 @@ public class PurpurWorldConfig {
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius);
villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit);
+ villagerFarmingBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerFarmingBypassMobGriefing);
}
public boolean villagerTraderRidable = false;
--
2.24.0