configurable mob size attribute (#1538)

This commit is contained in:
granny
2024-06-21 04:11:09 -07:00
committed by GitHub
parent c0f5e78dc2
commit b82f6939fe
234 changed files with 2140 additions and 1855 deletions

View File

@@ -47,11 +47,11 @@ index 5ab29081ab9f5dcf355d1dac2f2a854149ab4699..27250278968233b3de05c365ae304a41
entityanimal.resetLove();
worldserver.broadcastEntityEvent(this, (byte) 18);
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
index 3a7e413ba17901ed8e4ef0299555305c62f0d303..a758f360741de84a004ecc55f1415e74bd0a0fd5 100644
index 536407b0cb28bd202f5235d1c3ba46e12899e11c..4b57756e938db00f5c6eba915c096110d68751eb 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
@@ -483,6 +483,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.beeMaxHealth);
@@ -484,6 +484,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.beeScale);
}
+ @Override
@@ -63,12 +63,12 @@ index 3a7e413ba17901ed8e4ef0299555305c62f0d303..a758f360741de84a004ecc55f1415e74
public int getRemainingPersistentAngerTime() {
return (Integer) this.entityData.get(Bee.DATA_REMAINING_ANGER_TIME);
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java
index 5d89b2c9bd6ee2d0d5176c93988b97ff2e913e83..e1f8fff9b67ad3c74afc69f2fba8919ffa1800e6 100644
index 89ad4ac9d20d1e07e4243b0e01a33eab0ec726a8..c8266b1a6b609ef92bd83dcb0e86e3cf47ccce6d 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
@@ -133,6 +133,11 @@ public class Cat extends TamableAnimal implements VariantHolder<Holder<CatVarian
public void initAttributes() {
@@ -134,6 +134,11 @@ public class Cat extends TamableAnimal implements VariantHolder<Holder<CatVarian
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.catMaxHealth);
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.catScale);
}
+
+ @Override
@@ -79,12 +79,12 @@ index 5d89b2c9bd6ee2d0d5176c93988b97ff2e913e83..e1f8fff9b67ad3c74afc69f2fba8919f
public ResourceLocation getTextureId() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Chicken.java b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
index 1ff256f2a40403f0fbefc714e3609890be3d60b6..bfc29d6fafb1956bca64ea89be22674912e9278c 100644
index 10101c733154f9e9c725e60e565f735bda14bf5f..38f0fd9c126571d03ca6789a9b8273245168b8db 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
@@ -79,6 +79,11 @@ public class Chicken extends Animal {
}
@@ -80,6 +80,11 @@ public class Chicken extends Animal {
}
// Purpur end
+ @Override
+ public int getPurpurBreedTime() {
@@ -95,12 +95,12 @@ index 1ff256f2a40403f0fbefc714e3609890be3d60b6..bfc29d6fafb1956bca64ea89be226749
protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this));
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
index a1036e44116ef0848fbb438526f9a117ee2bfaa9..bf7ea4da6bd047b54e86b1853b9dad714a6e5e16 100644
index c9f63f3716b37dbf5f4bb4c66b78ba0b97edd686..a52b94a4b9d3e65586fbfc2e3d977d40daf59ee5 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
@@ -66,6 +66,11 @@ public class Cow extends Animal {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.cowMaxHealth);
@@ -67,6 +67,11 @@ public class Cow extends Animal {
}
// Purpur end
+ @Override
+ public int getPurpurBreedTime() {
@@ -111,11 +111,11 @@ index a1036e44116ef0848fbb438526f9a117ee2bfaa9..bf7ea4da6bd047b54e86b1853b9dad71
protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this));
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
index 52c11b3621a9b834de8305ff98ad7671b7905055..2aac6472453aa2ec58a6d5b7040df6d457353ff5 100644
index 98e9ad371381350dc3bff7e2a88224a2812d6419..252df18c369d5e556632ed5a287dab04e4e9b58d 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -188,6 +188,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.foxMaxHealth);
@@ -189,6 +189,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.foxScale);
}
+ @Override
@@ -126,7 +126,7 @@ index 52c11b3621a9b834de8305ff98ad7671b7905055..2aac6472453aa2ec58a6d5b7040df6d4
@Override
protected void defineSynchedData(SynchedEntityData.Builder builder) {
super.defineSynchedData(builder);
@@ -990,8 +995,10 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
@@ -991,8 +996,10 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
CriteriaTriggers.BRED_ANIMALS.trigger(entityplayer2, this.animal, this.partner, entityfox);
}
@@ -156,11 +156,11 @@ index 41b52f128fbc174939a7f2d1cd937ab19432de25..22a2328fe5159c8fed635a62334a3f10
public float getWalkTargetValue(BlockPos pos, LevelReader world) {
return world.getBlockState(pos.below()).is(Blocks.MYCELIUM) ? 10.0F : world.getPathfindingCostFromLightLevels(pos);
diff --git a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
index 0ef3fee057d7dd0b5d9d4a38953617bac3f49c7b..14d94992bc02c0eedab0c83fcffb975ac33d48cb 100644
index 2ba70099352ff7ad0d561195565227938d68cef7..59ac7021389559cf95ef4746e6860bef29e3c0dc 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
@@ -88,6 +88,11 @@ public class Ocelot extends Animal {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.ocelotMaxHealth);
@@ -89,6 +89,11 @@ public class Ocelot extends Animal {
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.ocelotScale);
}
+ @Override
@@ -172,10 +172,10 @@ index 0ef3fee057d7dd0b5d9d4a38953617bac3f49c7b..14d94992bc02c0eedab0c83fcffb975a
return (Boolean) this.entityData.get(Ocelot.DATA_TRUSTING);
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java
index 0fd0358d287604d0ff1f52f0c71633586d100e3e..925bed4503a4023c01d8b9ffd07047831e5e96e5 100644
index 27674bc17c1696d1e10c032d69fd29ee4295fd4e..a0075e23da3bbfe74105f420c347d3f67fda3970 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
@@ -153,6 +153,11 @@ public class Panda extends Animal {
@@ -154,6 +154,11 @@ public class Panda extends Animal {
setAttributes();
}
@@ -188,11 +188,11 @@ index 0fd0358d287604d0ff1f52f0c71633586d100e3e..925bed4503a4023c01d8b9ffd0704783
public boolean canTakeItem(ItemStack stack) {
EquipmentSlot enumitemslot = this.getEquipmentSlotForItem(stack);
diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
index d9e1ff687bb478af4d9c669379477737d053e83d..13259f5f00aa0fc12254b954c3e21f19198bed8e 100644
index f9d2d35a6e65580df74c6f27f605068980d3c12d..36eee2367689710a68be22209c550298b3e06879 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
@@ -191,6 +191,11 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.parrotMaxHealth);
@@ -192,6 +192,11 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.parrotScale);
}
+ @Override
@@ -204,11 +204,11 @@ index d9e1ff687bb478af4d9c669379477737d053e83d..13259f5f00aa0fc12254b954c3e21f19
@Override
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java
index 7b5080993904a41083aa534a87a6eed29afe520c..513fa2a8fc5b0b39432eef799763a5e3e27a8cfd 100644
index 51ffdfa038cb1be279da71d691d54728731c186e..c9c31e2e523b6829776d6bcc3d0e183c1315a7a3 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
@@ -86,6 +86,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.pigMaxHealth);
@@ -87,6 +87,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.pigScale);
}
+ @Override
@@ -220,10 +220,10 @@ index 7b5080993904a41083aa534a87a6eed29afe520c..513fa2a8fc5b0b39432eef799763a5e3
protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this));
diff --git a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
index 590b015102bd1ea22da34448de2f1b7581836325..b412157c10894d4877e13ade94fa56a876606519 100644
index cd5856d3c5fdefb22f1ae146e5b64d9d4a64e07c..064d2066b2b987bfc2eb3e71c7fec39248492135 100644
--- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
+++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
@@ -119,6 +119,11 @@ public class PolarBear extends Animal implements NeutralMob {
@@ -120,6 +120,11 @@ public class PolarBear extends Animal implements NeutralMob {
}
}
@@ -236,12 +236,12 @@ index 590b015102bd1ea22da34448de2f1b7581836325..b412157c10894d4877e13ade94fa56a8
@Override
public AgeableMob getBreedOffspring(ServerLevel world, AgeableMob entity) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
index 6cb70392a86b166c8f8a8f3944f7abe8521e620f..4ef310dda00d049b109fc379de2b90696eb24d27 100644
index e06445c84aa632429c1647cabab73751f73d2e6c..7e509458134340bd05d15f5f51b6d1fce3206d6a 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
@@ -145,6 +145,11 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
public void initAttributes() {
@@ -146,6 +146,11 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.rabbitMaxHealth);
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.rabbitScale);
}
+
+ @Override
@@ -252,11 +252,11 @@ index 6cb70392a86b166c8f8a8f3944f7abe8521e620f..4ef310dda00d049b109fc379de2b9069
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/Sheep.java b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
index 90dff2e658e8b77d37952080d389e1f2db47264f..7d716efe614902c35ae63b49e159e8d2d8e7d8ea 100644
index a14db0ec9ebcde24d5b7340a08002eddc8ebd421..fb429dce94bfad6aba3c63a4694e7c8da772ee14 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Sheep.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
@@ -137,6 +137,11 @@ public class Sheep extends Animal implements Shearable {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.sheepMaxHealth);
@@ -138,6 +138,11 @@ public class Sheep extends Animal implements Shearable {
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.sheepScale);
}
+ @Override
@@ -268,11 +268,11 @@ index 90dff2e658e8b77d37952080d389e1f2db47264f..7d716efe614902c35ae63b49e159e8d2
protected void registerGoals() {
this.eatBlockGoal = new EatBlockGoal(this);
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
index d24697dc1e3cdc5eb61632935e81e25b1e341287..58a390b462ec387f5376559c3d615ed4bcf055ea 100644
index 41d47141bfd77b17cbf163bffdfeb002135035ca..8f02a1b39db0581efb8ccd2c889f048bfd7b3e04 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
@@ -109,6 +109,11 @@ public class Turtle extends Animal {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.turtleMaxHealth);
@@ -110,6 +110,11 @@ public class Turtle extends Animal {
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.turtleScale);
}
+ @Override
@@ -284,11 +284,11 @@ index d24697dc1e3cdc5eb61632935e81e25b1e341287..58a390b462ec387f5376559c3d615ed4
this.entityData.set(Turtle.HOME_POS, pos);
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
index 81ca20878d552d9b674c638dbd8cdebe9e666ec5..e3c0163a4b00dca01b97c41aa57aa998063ec491 100644
index 3268f07668eaa0322aeb77a158dfb2996d16dfcb..da375fb6907e0c46ed176bc76a84f2666227547c 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
@@ -153,6 +153,11 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.wolfMaxHealth);
@@ -154,6 +154,11 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.wolfScale);
}
+ @Override
@@ -300,12 +300,12 @@ index 81ca20878d552d9b674c638dbd8cdebe9e666ec5..e3c0163a4b00dca01b97c41aa57aa998
protected void registerGoals() {
this.goalSelector.addGoal(1, new FloatGoal(this));
diff --git a/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java b/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java
index b7ea18861b4516a4895afee2551e5848598d8e8b..6e01e5847396e14ce1d9af53f1ed29ef360d1b31 100644
index 196de6ac2ba44478f6a2239eb2657957806d7ccc..711253a3e004c8ec850579f17d8497ffe2cf3ba0 100644
--- a/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java
+++ b/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java
@@ -98,6 +98,11 @@ public class Armadillo extends Animal {
public void initAttributes() {
@@ -99,6 +99,11 @@ public class Armadillo extends Animal {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.armadilloMaxHealth);
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.armadilloScale);
}
+
+ @Override
@@ -316,11 +316,11 @@ index b7ea18861b4516a4895afee2551e5848598d8e8b..6e01e5847396e14ce1d9af53f1ed29ef
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
index d7cf42cee8ce84b62a2ab12519d3d66234d8dedd..ab7d75f9f0fdda50e804838bd91a35b5c5188297 100644
index 0cf2dbc7d4ce89bddc8f23095272532cf62b3f51..05ffcccf19ca07285d821de41909cade42244a08 100644
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
+++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
@@ -119,6 +119,11 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.axolotlMaxHealth);
@@ -120,6 +120,11 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.axolotlScale);
}
+ @Override
@@ -490,12 +490,12 @@ index d2b3859f9c69e6d73fa859db858d38dd41fa35cd..fbad3b11223ee5dac4af15584e5dfd80
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0).add(Attributes.MOVEMENT_SPEED, 0.2F);
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java b/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
index 9caafde133bed014fde0e0b5339e859966c39134..14264a491061ef17c9fd3fea36c0505d06e88277 100644
index 818439c7163606af5a62fee4e18251456db4f6a1..d82b036b5a759574fe83027ec1000d7eb0455a28 100644
--- a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
+++ b/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
@@ -114,6 +114,11 @@ public class Sniffer extends Animal {
public void initAttributes() {
@@ -115,6 +115,11 @@ public class Sniffer extends Animal {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.snifferMaxHealth);
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.snifferScale);
}
+
+ @Override
@@ -506,11 +506,11 @@ index 9caafde133bed014fde0e0b5339e859966c39134..14264a491061ef17c9fd3fea36c0505d
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Strider.java b/src/main/java/net/minecraft/world/entity/monster/Strider.java
index b52f17211805d2abac6997476ae5c7ef53725802..0a297368678cafb92eb0374d1d410271c0d10033 100644
index 964d60cd69e33bf77a415a702ef93fbe964eb8b3..8c233a90d07db7959b778a84c4ed0589a6a10dd4 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Strider.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java
@@ -119,6 +119,11 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.striderMaxHealth);
@@ -120,6 +120,11 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.striderScale);
}
+ @Override
@@ -522,10 +522,10 @@ index b52f17211805d2abac6997476ae5c7ef53725802..0a297368678cafb92eb0374d1d410271
BlockPos.MutableBlockPos blockposition_mutableblockposition = pos.mutable();
diff --git a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
index 373bf138f8b77413e6c29724e01572f64e0bc005..d43e26af79be5078124d8013167f452bb46a9a4d 100644
index 66ebc75ddfd944277e7f7be43ed0d215eb2030f1..1bd16c9243df4500b9d965ba260f7dd1382261ea 100644
--- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
@@ -112,6 +112,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
@@ -113,6 +113,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
}
// Purpur end
@@ -538,51 +538,54 @@ index 373bf138f8b77413e6c29724e01572f64e0bc005..d43e26af79be5078124d8013167f452b
public boolean canBeLeashed() {
return true;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d77c914afb 100644
index a32fa43357885730ae4b5d641ab3bc2e7333d78a..62164c41e09912834bd8bf25cb7a829966d9059a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -493,20 +493,24 @@ public class PurpurWorldConfig {
public boolean armadilloRidableInWater = true;
@@ -499,23 +499,27 @@ public class PurpurWorldConfig {
public boolean armadilloControllable = true;
public double armadilloMaxHealth = 12.0D;
public double armadilloScale = 1.0D;
+ public int armadilloBreedingTicks = 6000;
private void armadilloSettings() {
armadilloRidable = getBoolean("mobs.armadillo.ridable", armadilloRidable);
armadilloRidableInWater = getBoolean("mobs.armadillo.ridable-in-water", armadilloRidableInWater);
armadilloControllable = getBoolean("mobs.armadillo.controllable", armadilloControllable);
armadilloMaxHealth = getDouble("mobs.armadillo.attributes.max_health", armadilloMaxHealth);
armadilloScale = Mth.clamp(getDouble("mobs.armadillo.attributes.scale", armadilloScale), 0.0625D, 16.0D);
+ armadilloBreedingTicks = getInt("mobs.armadillo.breeding-delay-ticks", armadilloBreedingTicks);
}
public boolean axolotlRidable = false;
public boolean axolotlControllable = true;
public double axolotlMaxHealth = 14.0D;
public double axolotlScale = 1.0D;
+ public int axolotlBreedingTicks = 6000;
private void axolotlSettings() {
axolotlRidable = getBoolean("mobs.axolotl.ridable", axolotlRidable);
axolotlControllable = getBoolean("mobs.axolotl.controllable", axolotlControllable);
axolotlMaxHealth = getDouble("mobs.axolotl.attributes.max_health", axolotlMaxHealth);
axolotlScale = Mth.clamp(getDouble("mobs.axolotl.attributes.scale", axolotlScale), 0.0625D, 16.0D);
+ axolotlBreedingTicks = getInt("mobs.axolotl.breeding-delay-ticks", axolotlBreedingTicks);
}
public boolean batRidable = false;
@@ -546,6 +550,7 @@ public class PurpurWorldConfig {
public boolean beeControllable = true;
@@ -558,6 +562,7 @@ public class PurpurWorldConfig {
public double beeMaxY = 320D;
public double beeMaxHealth = 10.0D;
public double beeScale = 1.0D;
+ public int beeBreedingTicks = 6000;
private void beeSettings() {
beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
@@ -557,6 +562,7 @@ public class PurpurWorldConfig {
set("mobs.bee.attributes.max_health", oldValue);
@@ -570,6 +575,7 @@ public class PurpurWorldConfig {
}
beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth);
beeScale = Mth.clamp(getDouble("mobs.bee.attributes.scale", beeScale), 0.0625D, 16.0D);
+ beeBreedingTicks = getInt("mobs.bee.breeding-delay-ticks", beeBreedingTicks);
}
public boolean blazeRidable = false;
@@ -595,6 +601,7 @@ public class PurpurWorldConfig {
@@ -612,6 +618,7 @@ public class PurpurWorldConfig {
public double camelJumpStrengthMax = 0.42D;
public double camelMovementSpeedMin = 0.09D;
public double camelMovementSpeedMax = 0.09D;
@@ -590,7 +593,7 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
private void camelSettings() {
camelRidableInWater = getBoolean("mobs.camel.ridable-in-water", camelRidableInWater);
camelMaxHealthMin = getDouble("mobs.camel.attributes.max_health.min", camelMaxHealthMin);
@@ -603,6 +610,7 @@ public class PurpurWorldConfig {
@@ -620,6 +627,7 @@ public class PurpurWorldConfig {
camelJumpStrengthMax = getDouble("mobs.camel.attributes.jump_strength.max", camelJumpStrengthMax);
camelMovementSpeedMin = getDouble("mobs.camel.attributes.movement_speed.min", camelMovementSpeedMin);
camelMovementSpeedMax = getDouble("mobs.camel.attributes.movement_speed.max", camelMovementSpeedMax);
@@ -598,7 +601,7 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
}
public boolean catRidable = false;
@@ -612,6 +620,7 @@ public class PurpurWorldConfig {
@@ -630,6 +638,7 @@ public class PurpurWorldConfig {
public int catSpawnDelay = 1200;
public int catSpawnSwampHutScanRange = 16;
public int catSpawnVillageScanRange = 48;
@@ -606,7 +609,7 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
@@ -625,6 +634,7 @@ public class PurpurWorldConfig {
@@ -644,6 +653,7 @@ public class PurpurWorldConfig {
catSpawnDelay = getInt("mobs.cat.spawn-delay", catSpawnDelay);
catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange);
catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange);
@@ -614,39 +617,39 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
}
public boolean caveSpiderRidable = false;
@@ -648,6 +658,7 @@ public class PurpurWorldConfig {
public boolean chickenControllable = true;
@@ -670,6 +680,7 @@ public class PurpurWorldConfig {
public double chickenMaxHealth = 4.0D;
public double chickenScale = 1.0D;
public boolean chickenRetaliate = false;
+ public int chickenBreedingTicks = 6000;
private void chickenSettings() {
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
@@ -659,6 +670,7 @@ public class PurpurWorldConfig {
}
@@ -682,6 +693,7 @@ public class PurpurWorldConfig {
chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth);
chickenScale = Mth.clamp(getDouble("mobs.chicken.attributes.scale", chickenScale), 0.0625D, 16.0D);
chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate);
+ chickenBreedingTicks = getInt("mobs.chicken.breeding-delay-ticks", chickenBreedingTicks);
}
public boolean codRidable = false;
@@ -680,6 +692,7 @@ public class PurpurWorldConfig {
public boolean cowControllable = true;
@@ -706,6 +718,7 @@ public class PurpurWorldConfig {
public double cowMaxHealth = 10.0D;
public double cowScale = 1.0D;
public int cowFeedMushrooms = 0;
+ public int cowBreedingTicks = 6000;
private void cowSettings() {
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
@@ -691,6 +704,7 @@ public class PurpurWorldConfig {
}
@@ -718,6 +731,7 @@ public class PurpurWorldConfig {
cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth);
cowScale = Mth.clamp(getDouble("mobs.cow.attributes.scale", cowScale), 0.0625D, 16.0D);
cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms);
+ cowBreedingTicks = getInt("mobs.cow.breeding-delay-ticks", cowBreedingTicks);
}
public boolean creeperRidable = false;
@@ -742,6 +756,7 @@ public class PurpurWorldConfig {
@@ -773,6 +787,7 @@ public class PurpurWorldConfig {
public double donkeyJumpStrengthMax = 0.5D;
public double donkeyMovementSpeedMin = 0.175D;
public double donkeyMovementSpeedMax = 0.175D;
@@ -654,7 +657,7 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
private void donkeySettings() {
donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater);
if (PurpurConfig.version < 10) {
@@ -757,6 +772,7 @@ public class PurpurWorldConfig {
@@ -788,6 +803,7 @@ public class PurpurWorldConfig {
donkeyJumpStrengthMax = getDouble("mobs.donkey.attributes.jump_strength.max", donkeyJumpStrengthMax);
donkeyMovementSpeedMin = getDouble("mobs.donkey.attributes.movement_speed.min", donkeyMovementSpeedMin);
donkeyMovementSpeedMax = getDouble("mobs.donkey.attributes.movement_speed.max", donkeyMovementSpeedMax);
@@ -662,17 +665,17 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
}
public boolean drownedRidable = false;
@@ -876,6 +892,7 @@ public class PurpurWorldConfig {
public boolean foxControllable = true;
@@ -918,6 +934,7 @@ public class PurpurWorldConfig {
public double foxMaxHealth = 10.0D;
public double foxScale = 1.0D;
public boolean foxTypeChangesWithTulips = false;
+ public int foxBreedingTicks = 6000;
private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -887,17 +904,20 @@ public class PurpurWorldConfig {
}
@@ -930,17 +947,20 @@ public class PurpurWorldConfig {
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);
foxScale = Mth.clamp(getDouble("mobs.fox.attributes.scale", foxScale), 0.0625D, 16.0D);
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
+ foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks);
}
@@ -691,37 +694,38 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
}
public boolean ghastRidable = false;
@@ -965,11 +985,13 @@ public class PurpurWorldConfig {
public boolean goatRidableInWater = true;
@@ -1015,12 +1035,14 @@ public class PurpurWorldConfig {
public boolean goatControllable = true;
public double goatMaxHealth = 10.0D;
public double goatScale = 1.0D;
+ public int goatBreedingTicks = 6000;
private void goatSettings() {
goatRidable = getBoolean("mobs.goat.ridable", goatRidable);
goatRidableInWater = getBoolean("mobs.goat.ridable-in-water", goatRidableInWater);
goatControllable = getBoolean("mobs.goat.controllable", goatControllable);
goatMaxHealth = getDouble("mobs.goat.attributes.max_health", goatMaxHealth);
goatScale = Mth.clamp(getDouble("mobs.goat.attributes.scale", goatScale), 0.0625D, 16.0D);
+ goatBreedingTicks = getInt("mobs.goat.breeding-delay-ticks", goatBreedingTicks);
}
public boolean guardianRidable = false;
@@ -990,6 +1012,7 @@ public class PurpurWorldConfig {
public boolean hoglinRidableInWater = true;
@@ -1044,6 +1066,7 @@ public class PurpurWorldConfig {
public boolean hoglinControllable = true;
public double hoglinMaxHealth = 40.0D;
public double hoglinScale = 1.0D;
+ public int hoglinBreedingTicks = 6000;
private void hoglinSettings() {
hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable);
hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater);
@@ -1000,6 +1023,7 @@ public class PurpurWorldConfig {
set("mobs.hoglin.attributes.max_health", oldValue);
@@ -1055,6 +1078,7 @@ public class PurpurWorldConfig {
}
hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth);
hoglinScale = Mth.clamp(getDouble("mobs.hoglin.attributes.scale", hoglinScale), 0.0625D, 16.0D);
+ hoglinBreedingTicks = getInt("mobs.hoglin.breeding-delay-ticks", hoglinBreedingTicks);
}
public boolean horseRidableInWater = false;
@@ -1009,6 +1033,7 @@ public class PurpurWorldConfig {
@@ -1064,6 +1088,7 @@ public class PurpurWorldConfig {
public double horseJumpStrengthMax = 1.0D;
public double horseMovementSpeedMin = 0.1125D;
public double horseMovementSpeedMax = 0.3375D;
@@ -729,7 +733,7 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
private void horseSettings() {
horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater);
if (PurpurConfig.version < 10) {
@@ -1024,6 +1049,7 @@ public class PurpurWorldConfig {
@@ -1079,6 +1104,7 @@ public class PurpurWorldConfig {
horseJumpStrengthMax = getDouble("mobs.horse.attributes.jump_strength.max", horseJumpStrengthMax);
horseMovementSpeedMin = getDouble("mobs.horse.attributes.movement_speed.min", horseMovementSpeedMin);
horseMovementSpeedMax = getDouble("mobs.horse.attributes.movement_speed.max", horseMovementSpeedMax);
@@ -737,7 +741,7 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
}
public boolean huskRidable = false;
@@ -1101,6 +1127,7 @@ public class PurpurWorldConfig {
@@ -1162,6 +1188,7 @@ public class PurpurWorldConfig {
public double llamaJumpStrengthMax = 0.5D;
public double llamaMovementSpeedMin = 0.175D;
public double llamaMovementSpeedMax = 0.175D;
@@ -745,7 +749,7 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
private void llamaSettings() {
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);
@@ -1118,6 +1145,7 @@ public class PurpurWorldConfig {
@@ -1179,6 +1206,7 @@ public class PurpurWorldConfig {
llamaJumpStrengthMax = getDouble("mobs.llama.attributes.jump_strength.max", llamaJumpStrengthMax);
llamaMovementSpeedMin = getDouble("mobs.llama.attributes.movement_speed.min", llamaMovementSpeedMin);
llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax);
@@ -753,23 +757,23 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
}
public boolean magmaCubeRidable = false;
@@ -1146,6 +1174,7 @@ public class PurpurWorldConfig {
public boolean mooshroomRidableInWater = true;
@@ -1208,6 +1236,7 @@ public class PurpurWorldConfig {
public boolean mooshroomControllable = true;
public double mooshroomMaxHealth = 10.0D;
public double mooshroomScale = 1.0D;
+ public int mooshroomBreedingTicks = 6000;
private void mooshroomSettings() {
mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable);
mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater);
@@ -1156,6 +1185,7 @@ public class PurpurWorldConfig {
set("mobs.mooshroom.attributes.max_health", oldValue);
@@ -1219,6 +1248,7 @@ public class PurpurWorldConfig {
}
mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth);
mooshroomScale = Mth.clamp(getDouble("mobs.mooshroom.attributes.scale", mooshroomScale), 0.0625D, 16.0D);
+ mooshroomBreedingTicks = getInt("mobs.mooshroom.breeding-delay-ticks", mooshroomBreedingTicks);
}
public boolean muleRidableInWater = false;
@@ -1165,6 +1195,7 @@ public class PurpurWorldConfig {
@@ -1228,6 +1258,7 @@ public class PurpurWorldConfig {
public double muleJumpStrengthMax = 0.5D;
public double muleMovementSpeedMin = 0.175D;
public double muleMovementSpeedMax = 0.175D;
@@ -777,7 +781,7 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
private void muleSettings() {
muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater);
if (PurpurConfig.version < 10) {
@@ -1180,12 +1211,14 @@ public class PurpurWorldConfig {
@@ -1243,6 +1274,7 @@ public class PurpurWorldConfig {
muleJumpStrengthMax = getDouble("mobs.mule.attributes.jump_strength.max", muleJumpStrengthMax);
muleMovementSpeedMin = getDouble("mobs.mule.attributes.movement_speed.min", muleMovementSpeedMin);
muleMovementSpeedMax = getDouble("mobs.mule.attributes.movement_speed.max", muleMovementSpeedMax);
@@ -785,61 +789,63 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
}
public boolean ocelotRidable = false;
public boolean ocelotRidableInWater = true;
@@ -1250,6 +1282,7 @@ public class PurpurWorldConfig {
public boolean ocelotControllable = true;
public double ocelotMaxHealth = 10.0D;
public double ocelotScale = 1.0D;
+ public int ocelotBreedingTicks = 6000;
private void ocelotSettings() {
ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable);
ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater);
@@ -1196,12 +1229,14 @@ public class PurpurWorldConfig {
set("mobs.ocelot.attributes.max_health", oldValue);
@@ -1261,6 +1294,7 @@ public class PurpurWorldConfig {
}
ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth);
ocelotScale = Mth.clamp(getDouble("mobs.ocelot.attributes.scale", ocelotScale), 0.0625D, 16.0D);
+ ocelotBreedingTicks = getInt("mobs.ocelot.breeding-delay-ticks", ocelotBreedingTicks);
}
public boolean pandaRidable = false;
public boolean pandaRidableInWater = true;
@@ -1268,6 +1302,7 @@ public class PurpurWorldConfig {
public boolean pandaControllable = true;
public double pandaMaxHealth = 20.0D;
public double pandaScale = 1.0D;
+ public int pandaBreedingTicks = 6000;
private void pandaSettings() {
pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable);
pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater);
@@ -1212,6 +1247,7 @@ public class PurpurWorldConfig {
set("mobs.panda.attributes.max_health", oldValue);
@@ -1279,6 +1314,7 @@ public class PurpurWorldConfig {
}
pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth);
pandaScale = Mth.clamp(getDouble("mobs.panda.attributes.scale", pandaScale), 0.0625D, 16.0D);
+ pandaBreedingTicks = getInt("mobs.panda.breeding-delay-ticks", pandaBreedingTicks);
}
public boolean parrotRidable = false;
@@ -1295,6 +1331,7 @@ public class PurpurWorldConfig {
public boolean pigControllable = true;
@@ -1365,6 +1401,7 @@ public class PurpurWorldConfig {
public double pigMaxHealth = 10.0D;
public double pigScale = 1.0D;
public boolean pigGiveSaddleBack = false;
+ public int pigBreedingTicks = 6000;
private void pigSettings() {
pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
@@ -1306,6 +1343,7 @@ public class PurpurWorldConfig {
}
@@ -1377,6 +1414,7 @@ public class PurpurWorldConfig {
pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth);
pigScale = Mth.clamp(getDouble("mobs.pig.attributes.scale", pigScale), 0.0625D, 16.0D);
pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack);
+ pigBreedingTicks = getInt("mobs.pig.breeding-delay-ticks", pigBreedingTicks);
}
public boolean piglinRidable = false;
@@ -1362,6 +1400,7 @@ public class PurpurWorldConfig {
public double polarBearMaxHealth = 30.0D;
@@ -1440,6 +1478,7 @@ public class PurpurWorldConfig {
public double polarBearScale = 1.0D;
public String polarBearBreedableItemString = "";
public Item polarBearBreedableItem = null;
+ public int polarBearBreedingTicks = 6000;
private void polarBearSettings() {
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
@@ -1375,6 +1414,7 @@ public class PurpurWorldConfig {
@@ -1454,6 +1493,7 @@ public class PurpurWorldConfig {
polarBearBreedableItemString = getString("mobs.polar_bear.breedable-item", polarBearBreedableItemString);
Item item = BuiltInRegistries.ITEM.get(ResourceLocation.parse(polarBearBreedableItemString));
if (item != Items.AIR) polarBearBreedableItem = item;
@@ -847,69 +853,70 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
}
public boolean pufferfishRidable = false;
@@ -1397,6 +1437,7 @@ public class PurpurWorldConfig {
public double rabbitMaxHealth = 3.0D;
@@ -1479,6 +1519,7 @@ public class PurpurWorldConfig {
public double rabbitScale = 1.0D;
public double rabbitNaturalToast = 0.0D;
public double rabbitNaturalKiller = 0.0D;
+ public int rabbitBreedingTicks = 6000;
private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -1409,6 +1450,7 @@ public class PurpurWorldConfig {
rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth);
@@ -1492,6 +1533,7 @@ public class PurpurWorldConfig {
rabbitScale = Mth.clamp(getDouble("mobs.rabbit.attributes.scale", rabbitScale), 0.0625D, 16.0D);
rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast);
rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
+ rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks);
}
public boolean ravagerRidable = false;
@@ -1445,6 +1487,7 @@ public class PurpurWorldConfig {
public boolean sheepRidableInWater = true;
@@ -1533,6 +1575,7 @@ public class PurpurWorldConfig {
public boolean sheepControllable = true;
public double sheepMaxHealth = 8.0D;
public double sheepScale = 1.0D;
+ public int sheepBreedingTicks = 6000;
private void sheepSettings() {
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
@@ -1455,6 +1498,7 @@ public class PurpurWorldConfig {
set("mobs.sheep.attributes.max_health", oldValue);
@@ -1544,6 +1587,7 @@ public class PurpurWorldConfig {
}
sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth);
sheepScale = Mth.clamp(getDouble("mobs.sheep.attributes.scale", sheepScale), 0.0625D, 16.0D);
+ sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks);
}
public boolean shulkerRidable = false;
@@ -1582,11 +1626,13 @@ public class PurpurWorldConfig {
public boolean snifferRidableInWater = true;
@@ -1680,12 +1724,14 @@ public class PurpurWorldConfig {
public boolean snifferControllable = true;
public double snifferMaxHealth = 14.0D;
public double snifferScale = 1.0D;
+ public int snifferBreedingTicks = 6000;
private void snifferSettings() {
snifferRidable = getBoolean("mobs.sniffer.ridable", snifferRidable);
snifferRidableInWater = getBoolean("mobs.sniffer.ridable-in-water", snifferRidableInWater);
snifferControllable = getBoolean("mobs.sniffer.controllable", snifferControllable);
snifferMaxHealth = getDouble("mobs.sniffer.attributes.max_health", snifferMaxHealth);
snifferScale = Mth.clamp(getDouble("mobs.sniffer.attributes.scale", snifferScale), 0.0625D, 16.0D);
+ snifferBreedingTicks = getInt("mobs.sniffer.breeding-delay-ticks", snifferBreedingTicks);
}
public boolean squidRidable = false;
@@ -1645,6 +1691,7 @@ public class PurpurWorldConfig {
public boolean striderRidableInWater = false;
@@ -1751,6 +1797,7 @@ public class PurpurWorldConfig {
public boolean striderControllable = true;
public double striderMaxHealth = 20.0D;
public double striderScale = 1.0D;
+ public int striderBreedingTicks = 6000;
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1655,6 +1702,7 @@ public class PurpurWorldConfig {
set("mobs.strider.attributes.max_health", oldValue);
@@ -1762,6 +1809,7 @@ public class PurpurWorldConfig {
}
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
striderScale = Mth.clamp(getDouble("mobs.strider.attributes.scale", striderScale), 0.0625D, 16.0D);
+ striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks);
}
public boolean tadpoleRidable = false;
@@ -1675,6 +1723,7 @@ public class PurpurWorldConfig {
@@ -1782,6 +1830,7 @@ public class PurpurWorldConfig {
public double traderLlamaJumpStrengthMax = 0.5D;
public double traderLlamaMovementSpeedMin = 0.175D;
public double traderLlamaMovementSpeedMax = 0.175D;
@@ -917,7 +924,7 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
private void traderLlamaSettings() {
traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable);
traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater);
@@ -1692,6 +1741,7 @@ public class PurpurWorldConfig {
@@ -1799,6 +1848,7 @@ public class PurpurWorldConfig {
traderLlamaJumpStrengthMax = getDouble("mobs.trader_llama.attributes.jump_strength.max", traderLlamaJumpStrengthMax);
traderLlamaMovementSpeedMin = getDouble("mobs.trader_llama.attributes.movement_speed.min", traderLlamaMovementSpeedMin);
traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax);
@@ -925,23 +932,23 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
}
public boolean tropicalFishRidable = false;
@@ -1712,6 +1762,7 @@ public class PurpurWorldConfig {
public boolean turtleRidableInWater = true;
@@ -1822,6 +1872,7 @@ public class PurpurWorldConfig {
public boolean turtleControllable = true;
public double turtleMaxHealth = 30.0D;
public double turtleScale = 1.0D;
+ public int turtleBreedingTicks = 6000;
private void turtleSettings() {
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
@@ -1722,6 +1773,7 @@ public class PurpurWorldConfig {
set("mobs.turtle.attributes.max_health", oldValue);
@@ -1833,6 +1884,7 @@ public class PurpurWorldConfig {
}
turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth);
turtleScale = Mth.clamp(getDouble("mobs.turtle.attributes.scale", turtleScale), 0.0625D, 16.0D);
+ turtleBreedingTicks = getInt("mobs.turtle.breeding-delay-ticks", turtleBreedingTicks);
}
public boolean vexRidable = false;
@@ -1749,6 +1801,7 @@ public class PurpurWorldConfig {
@@ -1863,6 +1915,7 @@ public class PurpurWorldConfig {
public boolean villagerFollowEmeraldBlock = false;
public boolean villagerCanBeLeashed = false;
public boolean villagerCanBreed = true;
@@ -949,7 +956,7 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1762,6 +1815,7 @@ public class PurpurWorldConfig {
@@ -1877,6 +1930,7 @@ public class PurpurWorldConfig {
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
@@ -957,18 +964,18 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
}
public boolean vindicatorRidable = false;
@@ -1873,6 +1927,7 @@ public class PurpurWorldConfig {
public boolean wolfRidableInWater = true;
@@ -1999,6 +2053,7 @@ public class PurpurWorldConfig {
public boolean wolfControllable = true;
public double wolfMaxHealth = 8.0D;
public double wolfScale = 1.0D;
+ public int wolfBreedingTicks = 6000;
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
@@ -1883,6 +1938,7 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
@@ -2010,6 +2065,7 @@ public class PurpurWorldConfig {
}
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);
wolfScale = Mth.clamp(getDouble("mobs.wolf.attributes.scale", wolfScale), 0.0625D, 16.0D);
+ wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks);
}