Configurable spawn reinforcements attribute

This commit is contained in:
BillyGalbreath
2020-12-24 00:30:27 -06:00
parent 8849c2022d
commit 5758335e73
4 changed files with 87 additions and 39 deletions

View File

@@ -168,10 +168,10 @@ index 9d5d143a997b74e0777bb79bf14d341ad5340db9..82021ba825d6a36191174acf83d109a5
@Nullable
diff --git a/src/main/java/net/minecraft/server/EntityDrowned.java b/src/main/java/net/minecraft/server/EntityDrowned.java
index 638efc67d66001ee085957d4698f51a7daac77fc..0312ebee986e6da1956464481b4a7f8a5c15e3e0 100644
index 638efc67d66001ee085957d4698f51a7daac77fc..a766910663e47b05d1e38908b5db7471199993c7 100644
--- a/src/main/java/net/minecraft/server/EntityDrowned.java
+++ b/src/main/java/net/minecraft/server/EntityDrowned.java
@@ -46,6 +46,11 @@ public class EntityDrowned extends EntityZombie implements IRangedEntity {
@@ -46,6 +46,15 @@ public class EntityDrowned extends EntityZombie implements IRangedEntity {
public boolean jockeyTryExistingChickens() {
return world.purpurConfig.drownedJockeyTryExistingChickens;
}
@@ -179,6 +179,10 @@ index 638efc67d66001ee085957d4698f51a7daac77fc..0312ebee986e6da1956464481b4a7f8a
+ @Override
+ public void initAttributes() {
+ this.getAttributeInstance(GenericAttributes.MAX_HEALTH).setValue(this.world.purpurConfig.drownedMaxHealth);
+ }
+
+ protected void generateReinforcementsChance() {
+ this.getAttributeInstance(GenericAttributes.SPAWN_REINFORCEMENTS).setValue(this.random.nextDouble() * this.world.purpurConfig.drownedSpawnReinforcements);
+ }
// Purpur end
@@ -725,10 +729,10 @@ index 7172e8cabf5b715ae9a1087b0d11e6cee81ea6e4..61ea94586ec60dae8e7b32d91403fe93
@Override
diff --git a/src/main/java/net/minecraft/server/EntityPigZombie.java b/src/main/java/net/minecraft/server/EntityPigZombie.java
index 57f3358b8dfd53f5b1d2e976d64b809f74bc3ce3..75beebb29105b47798f313d72bcba03cd5d07b0a 100644
index 57f3358b8dfd53f5b1d2e976d64b809f74bc3ce3..4c050c841f9846cc74fef51d5eb69f4cbb737ef1 100644
--- a/src/main/java/net/minecraft/server/EntityPigZombie.java
+++ b/src/main/java/net/minecraft/server/EntityPigZombie.java
@@ -46,6 +46,11 @@ public class EntityPigZombie extends EntityZombie implements IEntityAngerable {
@@ -46,6 +46,15 @@ public class EntityPigZombie extends EntityZombie implements IEntityAngerable {
public boolean jockeyTryExistingChickens() {
return world.purpurConfig.zombifiedPiglinJockeyTryExistingChickens;
}
@@ -736,9 +740,22 @@ index 57f3358b8dfd53f5b1d2e976d64b809f74bc3ce3..75beebb29105b47798f313d72bcba03c
+ @Override
+ public void initAttributes() {
+ this.getAttributeInstance(GenericAttributes.MAX_HEALTH).setValue(this.world.purpurConfig.zombifiedPiglinMaxHealth);
+ }
+
+ protected void generateReinforcementsChance() {
+ this.getAttributeInstance(GenericAttributes.SPAWN_REINFORCEMENTS).setValue(this.random.nextDouble() * this.world.purpurConfig.zombifiedPiglinSpawnReinforcements);
+ }
// Purpur end
@Override
@@ -234,7 +243,7 @@ public class EntityPigZombie extends EntityZombie implements IEntityAngerable {
@Override
protected void eV() {
- this.getAttributeInstance(GenericAttributes.SPAWN_REINFORCEMENTS).setValue(0.0D);
+ generateReinforcementsChance(); // Purpur
}
@Override
diff --git a/src/main/java/net/minecraft/server/EntityPiglin.java b/src/main/java/net/minecraft/server/EntityPiglin.java
index 334e0f73e67ef2db7e680874faf0646995d9de8a..4849829df1041568a9fcac6d16501fc0606d95da 100644
@@ -1228,10 +1245,10 @@ index d92fe8013fb3b43cb7eabdf1c624291b7e881889..bcc4aa1d3f09e43016d0009cd04dd6b7
@Override
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
index 3ad8bd0847aacabf90e83c00cd7c1a8f51aaa2e4..13eb5269f5ed06958dae389ffc10b2fdc1a30e86 100644
index 3ad8bd0847aacabf90e83c00cd7c1a8f51aaa2e4..d73e463ca045e7c8755eb5cb257e7245d3521d0e 100644
--- a/src/main/java/net/minecraft/server/EntityZombie.java
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
@@ -67,6 +67,11 @@ public class EntityZombie extends EntityMonster {
@@ -67,6 +67,15 @@ public class EntityZombie extends EntityMonster {
public boolean jockeyTryExistingChickens() {
return world.purpurConfig.zombieJockeyTryExistingChickens;
}
@@ -1239,15 +1256,28 @@ index 3ad8bd0847aacabf90e83c00cd7c1a8f51aaa2e4..13eb5269f5ed06958dae389ffc10b2fd
+ @Override
+ public void initAttributes() {
+ this.getAttributeInstance(GenericAttributes.MAX_HEALTH).setValue(this.world.purpurConfig.zombieMaxHealth);
+ }
+
+ protected void generateReinforcementsChance() {
+ this.getAttributeInstance(GenericAttributes.SPAWN_REINFORCEMENTS).setValue(this.random.nextDouble() * this.world.purpurConfig.zombieSpawnReinforcements);
+ }
// Purpur end
@Override
@@ -544,7 +553,7 @@ public class EntityZombie extends EntityMonster {
}
protected void eV() {
- this.getAttributeInstance(GenericAttributes.SPAWN_REINFORCEMENTS).setValue(this.random.nextDouble() * 0.10000000149011612D);
+ generateReinforcementsChance(); // Purpur
}
@Override
diff --git a/src/main/java/net/minecraft/server/EntityZombieHusk.java b/src/main/java/net/minecraft/server/EntityZombieHusk.java
index 02b0ae550a0ed33b5b43beedf3b1405985c58c13..edcebb5e71e06eab5abfaed782a1a60033fe2223 100644
index 02b0ae550a0ed33b5b43beedf3b1405985c58c13..966a14b4122b5ca43832a57fcbc162147f903a21 100644
--- a/src/main/java/net/minecraft/server/EntityZombieHusk.java
+++ b/src/main/java/net/minecraft/server/EntityZombieHusk.java
@@ -33,6 +33,11 @@ public class EntityZombieHusk extends EntityZombie {
@@ -33,6 +33,15 @@ public class EntityZombieHusk extends EntityZombie {
public boolean jockeyTryExistingChickens() {
return world.purpurConfig.huskJockeyTryExistingChickens;
}
@@ -1255,15 +1285,19 @@ index 02b0ae550a0ed33b5b43beedf3b1405985c58c13..edcebb5e71e06eab5abfaed782a1a600
+ @Override
+ public void initAttributes() {
+ this.getAttributeInstance(GenericAttributes.MAX_HEALTH).setValue(this.world.purpurConfig.huskMaxHealth);
+ }
+
+ protected void generateReinforcementsChance() {
+ this.getAttributeInstance(GenericAttributes.SPAWN_REINFORCEMENTS).setValue(this.random.nextDouble() * this.world.purpurConfig.huskSpawnReinforcements);
+ }
// Purpur end
public static boolean a(EntityTypes<EntityZombieHusk> entitytypes, WorldAccess worldaccess, EnumMobSpawn enummobspawn, BlockPosition blockposition, Random random) {
diff --git a/src/main/java/net/minecraft/server/EntityZombieVillager.java b/src/main/java/net/minecraft/server/EntityZombieVillager.java
index 0c47477b416980d2e932321730525bf5a8feda4f..e346a15da14cfd607f5536fead33e1fd46266f1a 100644
index 0c47477b416980d2e932321730525bf5a8feda4f..dc850677c29c16805f28af00b2a633638a776f0d 100644
--- a/src/main/java/net/minecraft/server/EntityZombieVillager.java
+++ b/src/main/java/net/minecraft/server/EntityZombieVillager.java
@@ -53,6 +53,11 @@ public class EntityZombieVillager extends EntityZombie implements VillagerDataHo
@@ -53,6 +53,15 @@ public class EntityZombieVillager extends EntityZombie implements VillagerDataHo
public boolean jockeyTryExistingChickens() {
return world.purpurConfig.zombieVillagerJockeyTryExistingChickens;
}
@@ -1271,12 +1305,16 @@ index 0c47477b416980d2e932321730525bf5a8feda4f..e346a15da14cfd607f5536fead33e1fd
+ @Override
+ public void initAttributes() {
+ this.getAttributeInstance(GenericAttributes.MAX_HEALTH).setValue(this.world.purpurConfig.zombieVillagerMaxHealth);
+ }
+
+ protected void generateReinforcementsChance() {
+ this.getAttributeInstance(GenericAttributes.SPAWN_REINFORCEMENTS).setValue(this.random.nextDouble() * this.world.purpurConfig.zombieVillagerSpawnReinforcements);
+ }
// Purpur end
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 513aa507aaea6fac108dbf1dc3c3d51259b16df6..86a0ffb62e044a41a5e869b5594bf37dca018491 100644
index 513aa507aaea6fac108dbf1dc3c3d51259b16df6..7c95423062e473d09b80ac65e15431df3bfffea0 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -473,30 +473,58 @@ public class PurpurWorldConfig {
@@ -1485,11 +1523,12 @@ index 513aa507aaea6fac108dbf1dc3c3d51259b16df6..86a0ffb62e044a41a5e869b5594bf37d
}
public boolean drownedRidable = false;
@@ -584,17 +680,31 @@ public class PurpurWorldConfig {
@@ -584,17 +680,33 @@ public class PurpurWorldConfig {
public boolean drownedJockeyOnlyBaby = true;
public double drownedJockeyChance = 0.05D;
public boolean drownedJockeyTryExistingChickens = true;
+ public double drownedMaxHealth = 20.0D;
+ public double drownedSpawnReinforcements = 0.1D;
private void drownedSettings() {
drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable);
drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater);
@@ -1502,6 +1541,7 @@ index 513aa507aaea6fac108dbf1dc3c3d51259b16df6..86a0ffb62e044a41a5e869b5594bf37d
+ set("mobs.drowned.attributes.max_health", oldValue);
+ }
+ drownedMaxHealth = getDouble("mobs.drowned.attributes.max_health", drownedMaxHealth);
+ drownedSpawnReinforcements = getDouble("mobs.drowned.attributes.spawn_reinforcements", drownedSpawnReinforcements);
}
public boolean elderGuardianRidable = false;
@@ -1517,7 +1557,7 @@ index 513aa507aaea6fac108dbf1dc3c3d51259b16df6..86a0ffb62e044a41a5e869b5594bf37d
}
public boolean enderDragonRidable = false;
@@ -602,57 +712,103 @@ public class PurpurWorldConfig {
@@ -602,57 +714,103 @@ public class PurpurWorldConfig {
public double enderDragonMaxY = 256D;
public boolean enderDragonAlwaysDropsEggBlock = false;
public boolean enderDragonAlwaysDropsFullExp = false;
@@ -1621,7 +1661,7 @@ index 513aa507aaea6fac108dbf1dc3c3d51259b16df6..86a0ffb62e044a41a5e869b5594bf37d
}
public boolean giantRidable = false;
@@ -675,31 +831,68 @@ public class PurpurWorldConfig {
@@ -675,31 +833,68 @@ public class PurpurWorldConfig {
giantHaveHostileAI = getBoolean("mobs.giant.have-hostile-ai", giantHaveHostileAI);
if (PurpurConfig.version < 8) {
double oldValue = getDouble("mobs.giant.max-health", giantMaxHealth);
@@ -1692,11 +1732,12 @@ index 513aa507aaea6fac108dbf1dc3c3d51259b16df6..86a0ffb62e044a41a5e869b5594bf37d
}
public boolean huskRidable = false;
@@ -707,12 +900,19 @@ public class PurpurWorldConfig {
@@ -707,12 +902,21 @@ public class PurpurWorldConfig {
public boolean huskJockeyOnlyBaby = true;
public double huskJockeyChance = 0.05D;
public boolean huskJockeyTryExistingChickens = true;
+ public double huskMaxHealth = 20.0D;
+ public double huskSpawnReinforcements = 0.1D;
private void huskSettings() {
huskRidable = getBoolean("mobs.husk.ridable", huskRidable);
huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater);
@@ -1709,10 +1750,11 @@ index 513aa507aaea6fac108dbf1dc3c3d51259b16df6..86a0ffb62e044a41a5e869b5594bf37d
+ set("mobs.husk.attributes.max_health", oldValue);
+ }
+ huskMaxHealth = getDouble("mobs.husk.attributes.max_health", huskMaxHealth);
+ huskSpawnReinforcements = getDouble("mobs.husk.attributes.spawn_reinforcements", huskSpawnReinforcements);
}
public boolean illusionerRidable = false;
@@ -727,85 +927,188 @@ public class PurpurWorldConfig {
@@ -727,85 +931,188 @@ public class PurpurWorldConfig {
illusionerFollowRange = getDouble("mobs.illusioner.follow-range", illusionerFollowRange);
if (PurpurConfig.version < 8) {
double oldValue = getDouble("mobs.illusioner.max-health", illusionerMaxHealth);
@@ -1903,7 +1945,7 @@ index 513aa507aaea6fac108dbf1dc3c3d51259b16df6..86a0ffb62e044a41a5e869b5594bf37d
}
public boolean phantomRidable = false;
@@ -831,6 +1134,7 @@ public class PurpurWorldConfig {
@@ -831,6 +1138,7 @@ public class PurpurWorldConfig {
public int phantomBurnInLight = 0;
public boolean phantomIgnorePlayersWithTorch = false;
public boolean phantomBurnInDaylight = true;
@@ -1911,7 +1953,7 @@ index 513aa507aaea6fac108dbf1dc3c3d51259b16df6..86a0ffb62e044a41a5e869b5594bf37d
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -855,38 +1159,72 @@ public class PurpurWorldConfig {
@@ -855,38 +1163,72 @@ public class PurpurWorldConfig {
phantomBurnInLight = getInt("mobs.phantom.burn-in-light", phantomBurnInLight);
phantomBurnInDaylight = getBoolean("mobs.phantom.burn-in-daylight", phantomBurnInDaylight);
phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch);
@@ -1984,7 +2026,7 @@ index 513aa507aaea6fac108dbf1dc3c3d51259b16df6..86a0ffb62e044a41a5e869b5594bf37d
}
public boolean polarBearRidable = false;
@@ -894,6 +1232,7 @@ public class PurpurWorldConfig {
@@ -894,6 +1236,7 @@ public class PurpurWorldConfig {
public String polarBearBreedableItemString = "";
public Item polarBearBreedableItem = null;
public int polarBearBreedingTicks = 6000;
@@ -1992,7 +2034,7 @@ index 513aa507aaea6fac108dbf1dc3c3d51259b16df6..86a0ffb62e044a41a5e869b5594bf37d
private void polarBearSettings() {
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
@@ -901,11 +1240,24 @@ public class PurpurWorldConfig {
@@ -901,11 +1244,24 @@ public class PurpurWorldConfig {
Item item = IRegistry.ITEM.get(new MinecraftKey(polarBearBreedableItemString));
if (item != Items.AIR) polarBearBreedableItem = item;
polarBearBreedingTicks = getInt("mobs.polar_bear.breeding-delay-ticks", polarBearBreedingTicks);
@@ -2017,7 +2059,7 @@ index 513aa507aaea6fac108dbf1dc3c3d51259b16df6..86a0ffb62e044a41a5e869b5594bf37d
}
public boolean rabbitRidable = false;
@@ -913,68 +1265,142 @@ public class PurpurWorldConfig {
@@ -913,68 +1269,142 @@ public class PurpurWorldConfig {
public double rabbitNaturalToast = 0.0D;
public double rabbitNaturalKiller = 0.0D;
public int rabbitBreedingTicks = 6000;
@@ -2160,7 +2202,7 @@ index 513aa507aaea6fac108dbf1dc3c3d51259b16df6..86a0ffb62e044a41a5e869b5594bf37d
}
public boolean snowGolemRidable = false;
@@ -986,6 +1412,7 @@ public class PurpurWorldConfig {
@@ -986,6 +1416,7 @@ public class PurpurWorldConfig {
public int snowGolemSnowBallMax = 20;
public float snowGolemSnowBallModifier = 10.0F;
public double snowGolemAttackDistance = 1.25D;
@@ -2168,7 +2210,7 @@ index 513aa507aaea6fac108dbf1dc3c3d51259b16df6..86a0ffb62e044a41a5e869b5594bf37d
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -996,63 +1423,118 @@ public class PurpurWorldConfig {
@@ -996,63 +1427,118 @@ public class PurpurWorldConfig {
snowGolemSnowBallMax = getInt("mobs.snow_golem.max-shoot-interval-ticks", snowGolemSnowBallMax);
snowGolemSnowBallModifier = (float) getDouble("mobs.snow_golem.snow-ball-modifier", snowGolemSnowBallModifier);
snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance);
@@ -2287,7 +2329,7 @@ index 513aa507aaea6fac108dbf1dc3c3d51259b16df6..86a0ffb62e044a41a5e869b5594bf37d
}
public boolean villagerRidable = false;
@@ -1069,6 +1551,7 @@ public class PurpurWorldConfig {
@@ -1069,6 +1555,7 @@ public class PurpurWorldConfig {
public int villagerLobotomizeCheck = 60;
public boolean villagerClericsFarmWarts = false;
public boolean villagerClericFarmersThrowWarts = true;
@@ -2295,7 +2337,7 @@ index 513aa507aaea6fac108dbf1dc3c3d51259b16df6..86a0ffb62e044a41a5e869b5594bf37d
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1089,33 +1572,60 @@ public class PurpurWorldConfig {
@@ -1089,33 +1576,60 @@ 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);
@@ -2356,7 +2398,7 @@ index 513aa507aaea6fac108dbf1dc3c3d51259b16df6..86a0ffb62e044a41a5e869b5594bf37d
}
public boolean witherRidable = false;
@@ -1132,19 +1642,30 @@ public class PurpurWorldConfig {
@@ -1132,19 +1646,30 @@ public class PurpurWorldConfig {
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
if (PurpurConfig.version < 8) {
double oldValue = getDouble("mobs.wither.max-health", witherMaxHealth);
@@ -2389,7 +2431,7 @@ index 513aa507aaea6fac108dbf1dc3c3d51259b16df6..86a0ffb62e044a41a5e869b5594bf37d
}
public boolean wolfRidable = false;
@@ -1153,6 +1674,7 @@ public class PurpurWorldConfig {
@@ -1153,6 +1678,7 @@ public class PurpurWorldConfig {
public boolean wolfMilkCuresRabies = true;
public double wolfNaturalRabid = 0.0D;
public int wolfBreedingTicks = 6000;
@@ -2397,7 +2439,7 @@ index 513aa507aaea6fac108dbf1dc3c3d51259b16df6..86a0ffb62e044a41a5e869b5594bf37d
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
@@ -1164,13 +1686,26 @@ public class PurpurWorldConfig {
@@ -1164,13 +1690,26 @@ 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);
@@ -2424,15 +2466,16 @@ index 513aa507aaea6fac108dbf1dc3c3d51259b16df6..86a0ffb62e044a41a5e869b5594bf37d
}
public boolean zombieRidable = false;
@@ -1180,6 +1715,7 @@ public class PurpurWorldConfig {
@@ -1180,6 +1719,8 @@ public class PurpurWorldConfig {
public boolean zombieJockeyTryExistingChickens = true;
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
public EnumDifficulty zombieBreakDoorMinDifficulty = EnumDifficulty.HARD;
+ public double zombieMaxHealth = 20.0D;
+ public double zombieSpawnReinforcements = 0.1D;
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1192,15 +1728,39 @@ public class PurpurWorldConfig {
@@ -1192,15 +1733,40 @@ public class PurpurWorldConfig {
} catch (IllegalArgumentException ignore) {
zombieBreakDoorMinDifficulty = EnumDifficulty.HARD;
}
@@ -2442,6 +2485,7 @@ index 513aa507aaea6fac108dbf1dc3c3d51259b16df6..86a0ffb62e044a41a5e869b5594bf37d
+ set("mobs.zombie.attributes.max_health", oldValue);
+ }
+ zombieMaxHealth = getDouble("mobs.zombie.attributes.max_health", zombieMaxHealth);
+ zombieSpawnReinforcements = getDouble("mobs.zombie.attributes.spawn_reinforcements", zombieSpawnReinforcements);
}
public boolean zombieHorseCanSwim = false;
@@ -2472,15 +2516,16 @@ index 513aa507aaea6fac108dbf1dc3c3d51259b16df6..86a0ffb62e044a41a5e869b5594bf37d
}
public boolean zombifiedPiglinRidable = false;
@@ -1209,6 +1769,7 @@ public class PurpurWorldConfig {
@@ -1209,6 +1775,8 @@ public class PurpurWorldConfig {
public double zombifiedPiglinJockeyChance = 0.05D;
public boolean zombifiedPiglinJockeyTryExistingChickens = true;
public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true;
+ public double zombifiedPiglinMaxHealth = 20.0D;
+ public double zombifiedPiglinSpawnReinforcements = 0.0D;
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -1216,6 +1777,12 @@ public class PurpurWorldConfig {
@@ -1216,6 +1784,13 @@ 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);
@@ -2490,14 +2535,16 @@ index 513aa507aaea6fac108dbf1dc3c3d51259b16df6..86a0ffb62e044a41a5e869b5594bf37d
+ set("mobs.zombified_piglin.attributes.max_health", oldValue);
+ }
+ zombifiedPiglinMaxHealth = getDouble("mobs.zombified_piglin.attributes.max_health", zombifiedPiglinMaxHealth);
+ zombifiedPiglinSpawnReinforcements = getDouble("mobs.zombified_piglin.attributes.spawn_reinforcements", zombifiedPiglinSpawnReinforcements);
}
public boolean zombieVillagerRidable = false;
@@ -1223,11 +1790,18 @@ public class PurpurWorldConfig {
@@ -1223,11 +1798,20 @@ public class PurpurWorldConfig {
public boolean zombieVillagerJockeyOnlyBaby = true;
public double zombieVillagerJockeyChance = 0.05D;
public boolean zombieVillagerJockeyTryExistingChickens = true;
+ public double zombieVillagerMaxHealth = 20.0D;
+ public double zombieVillagerSpawnReinforcements = 0.1D;
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -2510,5 +2557,6 @@ index 513aa507aaea6fac108dbf1dc3c3d51259b16df6..86a0ffb62e044a41a5e869b5594bf37d
+ set("mobs.zombie_villager.attributes.max_health", oldValue);
+ }
+ zombieVillagerMaxHealth = getDouble("mobs.zombie_villager.attributes.max_health", zombieVillagerMaxHealth);
+ zombieVillagerSpawnReinforcements = getDouble("mobs.zombie_villager.attributes.spawn_reinforcements", zombieVillagerSpawnReinforcements);
}
}

View File

@@ -17,10 +17,10 @@ index 25345d8d585735af407787f2c26fe92674721239..087a91fedc49aaf6e74b81b90494849c
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 86a0ffb62e044a41a5e869b5594bf37dca018491..21319c01a5b7f470ec722cb3259b15299c3b27a7 100644
index 7c95423062e473d09b80ac65e15431df3bfffea0..3a356ef00a973168fb80b674596089c98f074167 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1134,6 +1134,7 @@ public class PurpurWorldConfig {
@@ -1138,6 +1138,7 @@ public class PurpurWorldConfig {
public int phantomBurnInLight = 0;
public boolean phantomIgnorePlayersWithTorch = false;
public boolean phantomBurnInDaylight = true;
@@ -28,7 +28,7 @@ index 86a0ffb62e044a41a5e869b5594bf37dca018491..21319c01a5b7f470ec722cb3259b1529
public double phantomMaxHealth = 20.0D;
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
@@ -1159,6 +1160,7 @@ public class PurpurWorldConfig {
@@ -1163,6 +1164,7 @@ public class PurpurWorldConfig {
phantomBurnInLight = getInt("mobs.phantom.burn-in-light", phantomBurnInLight);
phantomBurnInDaylight = getBoolean("mobs.phantom.burn-in-daylight", phantomBurnInDaylight);
phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch);

View File

@@ -17,7 +17,7 @@ index 9e5e6de52efabe9126f6c47acb35fa1dc461ff4f..487b281cf53d3482853d56ee1e90a329
return iblockaccess.getType(blockposition1).isOccluding(iblockaccess, blockposition1);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 21319c01a5b7f470ec722cb3259b15299c3b27a7..d1f920930f538b8227adf7e6a7af4bd32ff2da9b 100644
index 3a356ef00a973168fb80b674596089c98f074167..027419b939311aefbf12bfa109306a190ccb699c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -370,6 +370,11 @@ public class PurpurWorldConfig {

View File

@@ -28,10 +28,10 @@ index a0bb64bea373c678c519e3fae8f808fd36e1ee4f..11911b10ddc6e2a681f2eda313a6e7c6
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d1f920930f538b8227adf7e6a7af4bd32ff2da9b..ac35991fce2a325e6eba66babb4867a295ae2fd1 100644
index 027419b939311aefbf12bfa109306a190ccb699c..700229347f65d1d61cb47620a939d8fcb52599d8 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1487,11 +1487,13 @@ public class PurpurWorldConfig {
@@ -1491,11 +1491,13 @@ public class PurpurWorldConfig {
public boolean striderRidable = false;
public boolean striderRidableInWater = false;
public int striderBreedingTicks = 6000;