Fix lag from villager lobotomize check

This commit is contained in:
BillyGalbreath
2020-12-18 11:09:45 -06:00
parent 2ec0dbab59
commit 844337c595
33 changed files with 95 additions and 71 deletions

View File

@@ -1183,7 +1183,7 @@ index ac75ed3e2e0e0cd8f91de9ff188e173591443b72..6870d175c714d7870072cd1e9825d8e9
@Override
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
index f0a5708f01e49b0cb85230904098d01eaf73a81c..00504af85276f504b5334c881ad6df0702adc959 100644
index ddfbc18722a18f534eb6e3a1a1bf5035102b0d94..387a95a70a68f570af0ae8eab6c3f6bbc9078110 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
@@ -95,6 +95,14 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -1354,7 +1354,7 @@ index 0c47477b416980d2e932321730525bf5a8feda4f..d6352539a5639db84f5654ba808f74ba
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 26ce1e69a9529aa1741d2ec6aa5dc13c21f58218..7e3c97347b44549059890b611a79c3ede6cf947d 100644
index 513aa507aaea6fac108dbf1dc3c3d51259b16df6..3384a55fd77386961c1a63cd5e3359ea8ca5986d 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -473,30 +473,36 @@ public class PurpurWorldConfig {
@@ -1990,16 +1990,16 @@ index 26ce1e69a9529aa1741d2ec6aa5dc13c21f58218..7e3c97347b44549059890b611a79c3ed
}
public boolean villagerRidable = false;
@@ -1068,6 +1195,7 @@ public class PurpurWorldConfig {
public boolean villagerLobotomize1x1 = false;
@@ -1069,6 +1196,7 @@ public class PurpurWorldConfig {
public int villagerLobotomizeCheck = 60;
public boolean villagerClericsFarmWarts = false;
public boolean villagerClericFarmersThrowWarts = true;
+ public double villagerMaxHealth = 20.0D;
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1082,33 +1210,40 @@ public class PurpurWorldConfig {
villagerLobotomize1x1 = getBoolean("mobs.villager.lobotomize-1x1", villagerLobotomize1x1);
@@ -1089,33 +1217,40 @@ public class PurpurWorldConfig {
villagerLobotomizeCheck = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheck);
villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts);
villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts);
+ villagerMaxHealth = getDouble("mobs.villager.attributes.max-health", villagerMaxHealth);
@@ -2039,7 +2039,7 @@ index 26ce1e69a9529aa1741d2ec6aa5dc13c21f58218..7e3c97347b44549059890b611a79c3ed
}
public boolean witherRidable = false;
@@ -1134,10 +1269,12 @@ public class PurpurWorldConfig {
@@ -1141,10 +1276,12 @@ public class PurpurWorldConfig {
public boolean witherSkeletonRidable = false;
public boolean witherSkeletonRidableInWater = false;
public boolean witherSkeletonTakesWitherDamage = false;
@@ -2052,7 +2052,7 @@ index 26ce1e69a9529aa1741d2ec6aa5dc13c21f58218..7e3c97347b44549059890b611a79c3ed
}
public boolean wolfRidable = false;
@@ -1146,6 +1283,7 @@ public class PurpurWorldConfig {
@@ -1153,6 +1290,7 @@ public class PurpurWorldConfig {
public boolean wolfMilkCuresRabies = true;
public double wolfNaturalRabid = 0.0D;
public int wolfBreedingTicks = 6000;
@@ -2060,7 +2060,7 @@ index 26ce1e69a9529aa1741d2ec6aa5dc13c21f58218..7e3c97347b44549059890b611a79c3ed
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
@@ -1157,13 +1295,16 @@ public class PurpurWorldConfig {
@@ -1164,13 +1302,16 @@ public class PurpurWorldConfig {
wolfMilkCuresRabies = getBoolean("mobs.wolf.milk-cures-rabid-wolves", wolfMilkCuresRabies);
wolfNaturalRabid = getDouble("mobs.wolf.spawn-rabid-chance", wolfNaturalRabid);
wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks);
@@ -2077,7 +2077,7 @@ index 26ce1e69a9529aa1741d2ec6aa5dc13c21f58218..7e3c97347b44549059890b611a79c3ed
}
public boolean zombieRidable = false;
@@ -1173,6 +1314,7 @@ public class PurpurWorldConfig {
@@ -1180,6 +1321,7 @@ public class PurpurWorldConfig {
public boolean zombieJockeyTryExistingChickens = true;
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
public EnumDifficulty zombieBreakDoorMinDifficulty = EnumDifficulty.HARD;
@@ -2085,7 +2085,7 @@ index 26ce1e69a9529aa1741d2ec6aa5dc13c21f58218..7e3c97347b44549059890b611a79c3ed
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1185,15 +1327,18 @@ public class PurpurWorldConfig {
@@ -1192,15 +1334,18 @@ public class PurpurWorldConfig {
} catch (IllegalArgumentException ignore) {
zombieBreakDoorMinDifficulty = EnumDifficulty.HARD;
}
@@ -2104,7 +2104,7 @@ index 26ce1e69a9529aa1741d2ec6aa5dc13c21f58218..7e3c97347b44549059890b611a79c3ed
}
public boolean zombifiedPiglinRidable = false;
@@ -1202,6 +1347,7 @@ public class PurpurWorldConfig {
@@ -1209,6 +1354,7 @@ public class PurpurWorldConfig {
public double zombifiedPiglinJockeyChance = 0.05D;
public boolean zombifiedPiglinJockeyTryExistingChickens = true;
public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true;
@@ -2112,7 +2112,7 @@ index 26ce1e69a9529aa1741d2ec6aa5dc13c21f58218..7e3c97347b44549059890b611a79c3ed
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -1209,6 +1355,7 @@ public class PurpurWorldConfig {
@@ -1216,6 +1362,7 @@ public class PurpurWorldConfig {
zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance);
zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens);
zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry);
@@ -2120,7 +2120,7 @@ index 26ce1e69a9529aa1741d2ec6aa5dc13c21f58218..7e3c97347b44549059890b611a79c3ed
}
public boolean zombieVillagerRidable = false;
@@ -1216,11 +1363,13 @@ public class PurpurWorldConfig {
@@ -1223,11 +1370,13 @@ public class PurpurWorldConfig {
public boolean zombieVillagerJockeyOnlyBaby = true;
public double zombieVillagerJockeyChance = 0.05D;
public boolean zombieVillagerJockeyTryExistingChickens = true;