Add option to reset reputation when villager is cured

This commit is contained in:
William Blake Galbreath
2020-08-10 13:54:24 -05:00
parent dacef268a4
commit a0c4843f13

View File

@@ -0,0 +1,48 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Mon, 10 Aug 2020 13:54:05 -0500
Subject: [PATCH] Add option to reset reputation when villager is cured
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
index ac81b6ec71..8c9fe69f7b 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
@@ -963,6 +963,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@Override
public void a(ReputationEvent reputationevent, Entity entity) {
if (reputationevent == ReputationEvent.a) {
+ if (world.purpurConfig.zombieVillagerResetReputationsWhenCured) this.getReputation().clear(); // Purpur
this.bF.a(entity.getUniqueID(), ReputationType.MAJOR_POSITIVE, 20);
this.bF.a(entity.getUniqueID(), ReputationType.MINOR_POSITIVE, 25);
} else if (reputationevent == ReputationEvent.e) {
diff --git a/src/main/java/net/minecraft/server/Reputation.java b/src/main/java/net/minecraft/server/Reputation.java
index dffac0dc85..86bececa5f 100644
--- a/src/main/java/net/minecraft/server/Reputation.java
+++ b/src/main/java/net/minecraft/server/Reputation.java
@@ -29,6 +29,7 @@ public class Reputation {
public Reputation() {}
+ public void clear() { b(); } // Purpur - OBFHELPER
public void b() {
Iterator iterator = this.a.values().iterator();
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 9945c25a2e..d2332b00b9 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -803,11 +803,13 @@ public class PurpurWorldConfig {
public boolean zombieVillagerJockeyOnlyBaby = true;
public double zombieVillagerJockeyChance = 0.05D;
public boolean zombieVillagerJockeyTryExistingChickens = true;
+ public boolean zombieVillagerResetReputationsWhenCured = false;
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
zombieVillagerJockeyOnlyBaby = getBoolean("mobs.zombie_villager.jockey.only-babies", zombieVillagerJockeyOnlyBaby);
zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance);
zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens);
+ zombieVillagerResetReputationsWhenCured = getBoolean("mobs.zombie_villager.reset-reputation-when-cured", zombieVillagerResetReputationsWhenCured);
}
}