Files
Purpur/patches/server/0111-Make-entity-breeding-times-configurable.patch
Encode42 26e5f080f2 Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@b4192fd fix NPE from changes in e4358b82171
PaperMC/Paper@5b6445a Revert "fix NPE from changes in e4358b82171"
PaperMC/Paper@323c087 Revert "#686: Fix contains for default section generating real sections"
PaperMC/Paper@c837002 Fix client world difficulty sync issue (#7035)
PaperMC/Paper@a4782f7 [ci skip] fixup indent
PaperMC/Paper@83aee0f [ci skip] Clarify setSize consequences for Slimes (#7036)
PaperMC/Paper@7c8fdc1 Add dropped hunk from mid-tick tasks (#7034)
PaperMC/Paper@fd263ef Fix empty/null chunk section check in LevelChunk#getBlockData, rename… (#7039)
PaperMC/Paper@b8d486c Create workflow to add new PRs to the PR Queue project (#6918)
PaperMC/Paper@a50e273 Include axolotls in affected entities for water splash potions (#7024)
PaperMC/Paper@af95df8 Port Actually unload POI data from Tuinity 1.16 (#7044)
PaperMC/Paper@04897b1 [ci skip] Revert "Create workflow to add new PRs to the PR Queue project (#6918)" (#7046)
PaperMC/Paper@b4a77a8 Updated Upstream (Bukkit/CraftBukkit) (#7045)
PaperMC/Paper@0e25db2 Fix mis-placed processEnchantOrder from 1.18 update (#7052)
PaperMC/Paper@53d026e Fix unused EntitySectionStorage#getEntities(AABB, Consumer) method being broken
PaperMC/Paper@772e880 Fix light propagation in high y sections
PaperMC/Paper@33ea869 Bump Starlight light version
PaperMC/Paper@74fd151 Fix entity equipment on cancellation of EntityDeathEvent (#5740)
PaperMC/Paper@758e2a7 Fix bad ticking checks for blocks
PaperMC/Paper@0e91b6a Return 0 for light values if a dimenion does not have them
PaperMC/Paper@188a8df Fix ChunkSnapshot#isSectionEmpty(int)
PaperMC/Paper@bbc7451 Fix issue with snapshotted biomes in last commit
PaperMC/Paper@b475c6a Backport log4j fix
PaperMC/Paper@4e355c4 Updated Upstream (CraftBukkit)
PaperMC/Paper@dce79f3 Update Log4J (#7069)
2021-12-09 22:46:19 -05:00

855 lines
43 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
Date: Sun, 15 Nov 2020 02:18:15 -0800
Subject: [PATCH] Make entity breeding times configurable
diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerMakeLove.java b/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerMakeLove.java
index d51ab5e4dc93b805bf51f752542f53b2a97fdb20..dcc5d55a3274de1b2b22eab2ab7bf2c0ca013249 100644
--- a/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerMakeLove.java
+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerMakeLove.java
@@ -119,8 +119,10 @@ public class VillagerMakeLove extends Behavior<Villager> {
return Optional.empty();
}
// CraftBukkit end
- parent.setAge(6000);
- partner.setAge(6000);
+ // Purpur start
+ parent.setAge(world.purpurConfig.villagerBreedingTicks);
+ partner.setAge(world.purpurConfig.villagerBreedingTicks);
+ // Purpur end
world.addFreshEntityWithPassengers(entityvillager2, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BREEDING); // CraftBukkit - added SpawnReason
world.broadcastEntityEvent(entityvillager2, (byte) 12);
return Optional.of(entityvillager2);
diff --git a/src/main/java/net/minecraft/world/entity/animal/Animal.java b/src/main/java/net/minecraft/world/entity/animal/Animal.java
index b26d5482d89e28897bcc9dc8a15042a557727037..400db4ff64701e229ec208666a7acb1b28789b5f 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Animal.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Animal.java
@@ -42,6 +42,7 @@ public abstract class Animal extends AgeableMob {
@Nullable
public UUID loveCause;
public ItemStack breedItem; // CraftBukkit - Add breedItem variable
+ public abstract int getPurpurBreedTime(); // Purpur
protected Animal(EntityType<? extends Animal> type, Level world) {
super(type, world);
@@ -271,8 +272,10 @@ public abstract class Animal extends AgeableMob {
CriteriaTriggers.BRED_ANIMALS.trigger(entityplayer, this, other, entityageable);
}
- this.setAge(6000);
- other.setAge(6000);
+ // Purpur start
+ this.setAge(this.getPurpurBreedTime());
+ other.setAge(other.getPurpurBreedTime());
+ // Purpur end
this.resetLove();
other.resetLove();
world.addFreshEntityWithPassengers(entityageable, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BREEDING); // CraftBukkit - added SpawnReason
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 64ad501a6bce58f06b38ea2d758664c19b4d7996..b7d6d88aa9f60090b88ac35084b9810b6fef0cfa 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
@@ -215,6 +215,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.beeMaxHealth);
}
+
+ @Override
+ public int getPurpurBreedTime() {
+ return this.level.purpurConfig.beeBreedingTicks;
+ }
// Purpur end
@Override
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 da496f1c3728cbe8aa009d2533f166cb6736d1b9..e9a165b7bb66dd4ae1c1befc67c671f45ec8271b 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
@@ -145,6 +145,11 @@ public class Cat extends TamableAnimal {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.catMaxHealth);
}
+
+ @Override
+ public int getPurpurBreedTime() {
+ return this.level.purpurConfig.catBreedingTicks;
+ }
// Purpur end
public ResourceLocation getResourceLocation() {
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 ca584a5a801d0909f4bdbaa8a635608ee49d096e..0b1ba6f25d13296fbcd6a2aee3b7ab5edbf4b22a 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
@@ -70,6 +70,11 @@ public class Chicken extends Animal {
this.getAttribute(Attributes.ATTACK_DAMAGE).setBaseValue(2.0D);
}
}
+
+ @Override
+ public int getPurpurBreedTime() {
+ return this.level.purpurConfig.chickenBreedingTicks;
+ }
// Purpur end
@Override
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 0db4dd5423508acb5214ed3205bb5632cd337e05..2c838d71105d2b88934efd154c7ec69a7ba47681 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
@@ -57,6 +57,11 @@ public class Cow extends Animal {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.cowMaxHealth);
}
+
+ @Override
+ public int getPurpurBreedTime() {
+ return this.level.purpurConfig.cowBreedingTicks;
+ }
// Purpur end
@Override
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 a2e56aadf75918d3b2c30b54ec53ba4dc332a004..f7f5a75f29a5092a7d8ee689cd3679d8eaac7c7d 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -177,6 +177,11 @@ public class Fox extends Animal {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.foxMaxHealth);
}
+
+ @Override
+ public int getPurpurBreedTime() {
+ return this.level.purpurConfig.foxBreedingTicks;
+ }
// Purpur end
@Override
@@ -960,8 +965,10 @@ public class Fox extends Animal {
CriteriaTriggers.BRED_ANIMALS.trigger(entityplayer2, this.animal, this.partner, entityfox);
}
- this.animal.setAge(6000);
- this.partner.setAge(6000);
+ // Purpur start
+ this.animal.setAge(this.animal.getPurpurBreedTime());
+ this.partner.setAge(this.partner.getPurpurBreedTime());
+ // Purpur end
this.animal.resetLove();
this.partner.resetLove();
worldserver.addFreshEntityWithPassengers(entityfox, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BREEDING); // CraftBukkit - added SpawnReason
diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
index ffe2f135c6e9396ff106ca7f889ca31290c4d30d..8fb2f77571370c80dbafdf5c9a3c57c83a9fbd42 100644
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
@@ -80,6 +80,11 @@ public class MushroomCow extends Cow implements Shearable {
public void initAttributes() {
this.getAttribute(net.minecraft.world.entity.ai.attributes.Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.mooshroomMaxHealth);
}
+
+ @Override
+ public int getPurpurBreedTime() {
+ return this.level.purpurConfig.mooshroomBreedingTicks;
+ }
// Purpur end
@Override
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 ccb18fea0e03d08405b0fff5e9df5025f02cebf7..4bf4403cb65b8e1fee9c253c7932ad839a99c92e 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
@@ -84,6 +84,11 @@ public class Ocelot extends Animal {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.ocelotMaxHealth);
}
+
+ @Override
+ public int getPurpurBreedTime() {
+ return this.level.purpurConfig.ocelotBreedingTicks;
+ }
// Purpur end
public boolean isTrusting() {
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 1a4434432516f8b7f2bbbc64f9554c340530ce89..a3f04f6b4df1c7d8759addecaa4ea16e08b456f5 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
@@ -132,6 +132,11 @@ public class Panda extends Animal {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.pandaMaxHealth);
setAttributes();
}
+
+ @Override
+ public int getPurpurBreedTime() {
+ return this.level.purpurConfig.pandaBreedingTicks;
+ }
// Purpur end
@Override
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 1c3d1ce288d3446291fb729b0c6caeab4202fcb7..a5e6a6271b88ff16914c5d1d067552b36af0772a 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
@@ -186,6 +186,11 @@ public class Parrot extends ShoulderRidingEntity implements FlyingAnimal {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.parrotMaxHealth);
}
+
+ @Override
+ public int getPurpurBreedTime() {
+ return 6000;
+ }
// Purpur end
@Nullable
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 f4ae6de32bc1d854c54da829e45ca2cd15090433..998cfee2bb20ed4536843a7bb56d9e346665f612 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
@@ -79,6 +79,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.pigMaxHealth);
}
+
+ @Override
+ public int getPurpurBreedTime() {
+ return this.level.purpurConfig.pigBreedingTicks;
+ }
// Purpur end
@Override
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 0b5d4416ad4dc0a90cbd1826c45c47412d2e85ed..9b3870ad371e2c7df1587479291fd821c3e9ee4a 100644
--- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
+++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
@@ -115,6 +115,11 @@ public class PolarBear extends Animal implements NeutralMob {
return this.isInLove() && bear.isInLove();
}
}
+
+ @Override
+ public int getPurpurBreedTime() {
+ return this.level.purpurConfig.polarBearBreedingTicks;
+ }
// Purpur end
@Override
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 c1c2909728197dcb9137fb380ed210e7ee13e5d9..dd6e51be94189679d169f55805c9252107560be2 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
@@ -135,6 +135,11 @@ public class Rabbit extends Animal {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.rabbitMaxHealth);
}
+
+ @Override
+ public int getPurpurBreedTime() {
+ return this.level.purpurConfig.rabbitBreedingTicks;
+ }
// Purpur end
// CraftBukkit start - code from constructor
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 fbab9473e4ccce29ed55ebf707a5aacd128820cb..efd416c472815cc0fea0bebc3db2588a4012036b 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Sheep.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
@@ -131,6 +131,11 @@ public class Sheep extends Animal implements Shearable {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.sheepMaxHealth);
}
+
+ @Override
+ public int getPurpurBreedTime() {
+ return this.level.purpurConfig.sheepBreedingTicks;
+ }
// Purpur end
@Override
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 3d30ea6f2392e6ed2c7294a9194daee31dadc7d8..0aec4ed51072948b9257e9d4b07eed92d95d902f 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
@@ -101,6 +101,11 @@ public class Turtle extends Animal {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.turtleMaxHealth);
}
+
+ @Override
+ public int getPurpurBreedTime() {
+ return this.level.purpurConfig.turtleBreedingTicks;
+ }
// Purpur end
public void setHomePos(BlockPos 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 277637692e504cca04bfca7683c052295c2c5a86..9f23279f7e3aedb758082c672656d5e4b160c074 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
@@ -119,6 +119,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.wolfMaxHealth);
}
+
+ @Override
+ public int getPurpurBreedTime() {
+ return this.level.purpurConfig.wolfBreedingTicks;
+ }
// Purpur end
@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 a2b2d3f670cd200d7fba40f8227964ef95c5b455..4020f631f4f02834550a60630d5d429004d71269 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
@@ -111,6 +111,11 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.axolotlMaxHealth);
}
+
+ @Override
+ public int getPurpurBreedTime() {
+ return this.level.purpurConfig.axolotlBreedingTicks;
+ }
// Purpur end
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
index 21aca411c458a1e80cdd6e97961f9a5c572854a9..b72756afc34afa3f4f8ad838eba3a24faf7e46d0 100644
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
@@ -89,6 +89,11 @@ public class Goat extends Animal {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.goatMaxHealth);
}
+
+ @Override
+ public int getPurpurBreedTime() {
+ return this.level.purpurConfig.goatBreedingTicks;
+ }
// Purpur end
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
index f0da5d107ddb2987ccc89f880ddba5e79fadf0c5..113b6d80885717d59c8fefab07afe68779f0051d 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
@@ -35,6 +35,11 @@ public class Donkey extends AbstractChestedHorse {
public double generateRandomSpeed() {
return generateRandomSpeed(this.level.purpurConfig.donkeyMovementSpeedMin, this.level.purpurConfig.donkeyMovementSpeedMax);
}
+
+ @Override
+ public int getPurpurBreedTime() {
+ return this.level.purpurConfig.donkeyBreedingTicks;
+ }
// Purpur end
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
index 9f7203608e15fdce1bfbaf419838768763d61378..2c5cb1b759a0b6e0233345da5a968288ec338837 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
@@ -59,6 +59,11 @@ public class Horse extends AbstractHorse {
public double generateRandomSpeed() {
return generateRandomSpeed(this.level.purpurConfig.horseMovementSpeedMin, this.level.purpurConfig.horseMovementSpeedMax);
}
+
+ @Override
+ public int getPurpurBreedTime() {
+ return this.level.purpurConfig.horseBreedingTicks;
+ }
// Purpur end
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
index 1195f307ec827c206480fed63deb3775ba3eb22b..20f778fbcd393baa769c005dfe4163bb4e92a655 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
@@ -127,6 +127,11 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
public double generateRandomSpeed() {
return generateRandomSpeed(this.level.purpurConfig.llamaMovementSpeedMin, this.level.purpurConfig.llamaMovementSpeedMax);
}
+
+ @Override
+ public int getPurpurBreedTime() {
+ return this.level.purpurConfig.llamaBreedingTicks;
+ }
// Purpur end
public boolean isTraderLlama() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java b/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java
index 1ba32a3ba56974425762026026d1e5ba21540b3b..88e61572f5dd8d05fadab131046f74bd8131f42b 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java
@@ -34,6 +34,11 @@ public class Mule extends AbstractChestedHorse {
public double generateRandomSpeed() {
return generateRandomSpeed(this.level.purpurConfig.muleMovementSpeedMin, this.level.purpurConfig.muleMovementSpeedMax);
}
+
+ @Override
+ public int getPurpurBreedTime() {
+ return this.level.purpurConfig.muleBreedingTicks;
+ }
// Purpur end
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
index 8bc2c6a3ee0eec08900b96eea3d0d545616bc513..9c6c7d3bdf6dad329bca4a64dc6ea1cf8db345c6 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
@@ -49,6 +49,11 @@ public class SkeletonHorse extends AbstractHorse {
public double generateRandomSpeed() {
return generateRandomSpeed(this.level.purpurConfig.skeletonHorseMovementSpeedMin, this.level.purpurConfig.skeletonHorseMovementSpeedMax);
}
+
+ @Override
+ public int getPurpurBreedTime() {
+ return 6000;
+ }
// Purpur end
public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
index f651cb7a89388f23cef33d8f817cffd3c6ecea2b..a58153ad203a91c6ebb014febdaab167b8e694c4 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
@@ -57,6 +57,11 @@ public class TraderLlama extends Llama {
public double generateRandomSpeed() {
return generateRandomSpeed(this.level.purpurConfig.traderLlamaMovementSpeedMin, this.level.purpurConfig.traderLlamaMovementSpeedMax);
}
+
+ @Override
+ public int getPurpurBreedTime() {
+ return this.level.purpurConfig.traderLlamaBreedingTicks;
+ }
// Purpur end
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
index 48b72eb4051d612648a1978b38299c0c37a3a289..b6d9ba8dd5694952ca2eba54726ac5e587175250 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
@@ -47,6 +47,11 @@ public class ZombieHorse extends AbstractHorse {
public double generateRandomSpeed() {
return generateRandomSpeed(this.level.purpurConfig.zombieHorseMovementSpeedMin, this.level.purpurConfig.zombieHorseMovementSpeedMax);
}
+
+ @Override
+ public int getPurpurBreedTime() {
+ return 6000;
+ }
// Purpur end
public static AttributeSupplier.Builder createAttributes() {
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 e65eaf393b118e38fde8f525ac9b1d6e6f98e729..74d11bf608ff26093d7995a09a463cac24304fa1 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Strider.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java
@@ -112,6 +112,11 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.striderMaxHealth);
}
+
+ @Override
+ public int getPurpurBreedTime() {
+ return this.level.purpurConfig.striderBreedingTicks;
+ }
// Purpur end
public static boolean checkStriderSpawnRules(EntityType<Strider> type, LevelAccessor world, MobSpawnType spawnReason, BlockPos pos, Random random) {
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 3ec9b8343cf80ceea8503ad78863a4b539c6ef6b..c536b0f0d0ebe5b6b6409972eb711f84fc42afb7 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
@@ -82,6 +82,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.hoglinMaxHealth);
}
+
+ @Override
+ public int getPurpurBreedTime() {
+ return this.level.purpurConfig.hoglinBreedingTicks;
+ }
// Purpur end
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6bace9c0f4defae8f454fc3765dad819c44ecf49..b26b936f5f350eaadfee3537a3c03cabb2c3eb03 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -481,9 +481,11 @@ public class PurpurWorldConfig {
public boolean axolotlRidable = false;
public double axolotlMaxHealth = 14.0D;
+ public int axolotlBreedingTicks = 6000;
private void axolotlSettings() {
axolotlRidable = getBoolean("mobs.axolotl.ridable", axolotlRidable);
axolotlMaxHealth = getDouble("mobs.axolotl.attributes.max_health", axolotlMaxHealth);
+ axolotlBreedingTicks = getInt("mobs.axolotl.breeding-delay-ticks", axolotlBreedingTicks);
}
public boolean batRidable = false;
@@ -513,6 +515,7 @@ public class PurpurWorldConfig {
public boolean beeRidableInWater = false;
public double beeMaxY = 256D;
public double beeMaxHealth = 10.0D;
+ public int beeBreedingTicks = 6000;
private void beeSettings() {
beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
@@ -523,6 +526,7 @@ public class PurpurWorldConfig {
set("mobs.bee.attributes.max_health", oldValue);
}
beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth);
+ beeBreedingTicks = getInt("mobs.bee.breeding-delay-ticks", beeBreedingTicks);
}
public boolean blazeRidable = false;
@@ -547,6 +551,7 @@ public class PurpurWorldConfig {
public int catSpawnDelay = 1200;
public int catSpawnSwampHutScanRange = 16;
public int catSpawnVillageScanRange = 48;
+ public int catBreedingTicks = 6000;
private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
@@ -559,6 +564,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);
+ catBreedingTicks = getInt("mobs.cat.breeding-delay-ticks", catBreedingTicks);
}
public boolean caveSpiderRidable = false;
@@ -579,6 +585,7 @@ public class PurpurWorldConfig {
public boolean chickenRidableInWater = false;
public double chickenMaxHealth = 4.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);
@@ -589,6 +596,7 @@ public class PurpurWorldConfig {
}
chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth);
chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate);
+ chickenBreedingTicks = getInt("mobs.chicken.breeding-delay-ticks", chickenBreedingTicks);
}
public boolean codRidable = false;
@@ -607,6 +615,7 @@ public class PurpurWorldConfig {
public boolean cowRidableInWater = false;
public double cowMaxHealth = 10.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);
@@ -617,6 +626,7 @@ public class PurpurWorldConfig {
}
cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth);
cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms);
+ cowBreedingTicks = getInt("mobs.cow.breeding-delay-ticks", cowBreedingTicks);
}
public boolean creeperRidable = false;
@@ -664,6 +674,7 @@ public class PurpurWorldConfig {
public double donkeyJumpStrengthMax = 0.5D;
public double donkeyMovementSpeedMin = 0.175D;
public double donkeyMovementSpeedMax = 0.175D;
+ public int donkeyBreedingTicks = 6000;
private void donkeySettings() {
donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater);
if (PurpurConfig.version < 10) {
@@ -679,6 +690,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);
+ donkeyBreedingTicks = getInt("mobs.donkey.breeding-delay-ticks", donkeyBreedingTicks);
}
public boolean drownedRidable = false;
@@ -785,6 +797,7 @@ public class PurpurWorldConfig {
public boolean foxRidableInWater = false;
public double foxMaxHealth = 10.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);
@@ -795,6 +808,7 @@ public class PurpurWorldConfig {
}
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
+ foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks);
}
public boolean ghastRidable = false;
@@ -855,10 +869,12 @@ public class PurpurWorldConfig {
public boolean goatRidable = false;
public boolean goatRidableInWater = false;
public double goatMaxHealth = 10.0D;
+ public int goatBreedingTicks = 6000;
private void goatSettings() {
goatRidable = getBoolean("mobs.goat.ridable", goatRidable);
goatRidableInWater = getBoolean("mobs.goat.ridable-in-water", goatRidableInWater);
goatMaxHealth = getDouble("mobs.goat.attributes.max_health", goatMaxHealth);
+ goatBreedingTicks = getInt("mobs.goat.breeding-delay-ticks", goatBreedingTicks);
}
public boolean guardianRidable = false;
@@ -876,6 +892,7 @@ public class PurpurWorldConfig {
public boolean hoglinRidable = false;
public boolean hoglinRidableInWater = false;
public double hoglinMaxHealth = 40.0D;
+ public int hoglinBreedingTicks = 6000;
private void hoglinSettings() {
hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable);
hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater);
@@ -885,6 +902,7 @@ public class PurpurWorldConfig {
set("mobs.hoglin.attributes.max_health", oldValue);
}
hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth);
+ hoglinBreedingTicks = getInt("mobs.hoglin.breeding-delay-ticks", hoglinBreedingTicks);
}
public boolean horseRidableInWater = false;
@@ -894,6 +912,7 @@ public class PurpurWorldConfig {
public double horseJumpStrengthMax = 1.0D;
public double horseMovementSpeedMin = 0.1125D;
public double horseMovementSpeedMax = 0.3375D;
+ public int horseBreedingTicks = 6000;
private void horseSettings() {
horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater);
if (PurpurConfig.version < 10) {
@@ -909,6 +928,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);
+ horseBreedingTicks = getInt("mobs.horse.breeding-delay-ticks", horseBreedingTicks);
}
public boolean huskRidable = false;
@@ -979,6 +999,7 @@ public class PurpurWorldConfig {
public double llamaJumpStrengthMax = 0.5D;
public double llamaMovementSpeedMin = 0.175D;
public double llamaMovementSpeedMax = 0.175D;
+ public int llamaBreedingTicks = 6000;
private void llamaSettings() {
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);
@@ -995,6 +1016,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);
+ llamaBreedingTicks = getInt("mobs.llama.breeding-delay-ticks", llamaBreedingTicks);
}
public boolean magmaCubeRidable = false;
@@ -1014,6 +1036,7 @@ public class PurpurWorldConfig {
public boolean mooshroomRidable = false;
public boolean mooshroomRidableInWater = false;
public double mooshroomMaxHealth = 10.0D;
+ public int mooshroomBreedingTicks = 6000;
private void mooshroomSettings() {
mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable);
mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater);
@@ -1023,6 +1046,7 @@ public class PurpurWorldConfig {
set("mobs.mooshroom.attributes.max_health", oldValue);
}
mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth);
+ mooshroomBreedingTicks = getInt("mobs.mooshroom.breeding-delay-ticks", mooshroomBreedingTicks);
}
public boolean muleRidableInWater = false;
@@ -1032,6 +1056,7 @@ public class PurpurWorldConfig {
public double muleJumpStrengthMax = 0.5D;
public double muleMovementSpeedMin = 0.175D;
public double muleMovementSpeedMax = 0.175D;
+ public int muleBreedingTicks = 6000;
private void muleSettings() {
muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater);
if (PurpurConfig.version < 10) {
@@ -1047,11 +1072,13 @@ 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);
+ muleBreedingTicks = getInt("mobs.mule.breeding-delay-ticks", muleBreedingTicks);
}
public boolean ocelotRidable = false;
public boolean ocelotRidableInWater = false;
public double ocelotMaxHealth = 10.0D;
+ public int ocelotBreedingTicks = 6000;
private void ocelotSettings() {
ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable);
ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater);
@@ -1061,11 +1088,13 @@ public class PurpurWorldConfig {
set("mobs.ocelot.attributes.max_health", oldValue);
}
ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth);
+ ocelotBreedingTicks = getInt("mobs.ocelot.breeding-delay-ticks", ocelotBreedingTicks);
}
public boolean pandaRidable = false;
public boolean pandaRidableInWater = false;
public double pandaMaxHealth = 20.0D;
+ public int pandaBreedingTicks = 6000;
private void pandaSettings() {
pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable);
pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater);
@@ -1075,6 +1104,7 @@ public class PurpurWorldConfig {
set("mobs.panda.attributes.max_health", oldValue);
}
pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth);
+ pandaBreedingTicks = getInt("mobs.panda.breeding-delay-ticks", pandaBreedingTicks);
}
public boolean parrotRidable = false;
@@ -1155,6 +1185,7 @@ public class PurpurWorldConfig {
public boolean pigRidableInWater = false;
public double pigMaxHealth = 10.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);
@@ -1165,6 +1196,7 @@ public class PurpurWorldConfig {
}
pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth);
pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack);
+ pigBreedingTicks = getInt("mobs.pig.breeding-delay-ticks", pigBreedingTicks);
}
public boolean piglinRidable = false;
@@ -1214,6 +1246,7 @@ public class PurpurWorldConfig {
public double polarBearMaxHealth = 30.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);
@@ -1226,6 +1259,7 @@ public class PurpurWorldConfig {
polarBearBreedableItemString = getString("mobs.polar_bear.breedable-item", polarBearBreedableItemString);
Item item = Registry.ITEM.get(new ResourceLocation(polarBearBreedableItemString));
if (item != Items.AIR) polarBearBreedableItem = item;
+ polarBearBreedingTicks = getInt("mobs.polar_bear.breeding-delay-ticks", polarBearBreedingTicks);
}
public boolean pufferfishRidable = false;
@@ -1245,6 +1279,7 @@ public class PurpurWorldConfig {
public double rabbitMaxHealth = 3.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);
@@ -1256,6 +1291,7 @@ public class PurpurWorldConfig {
rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth);
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;
@@ -1287,6 +1323,7 @@ public class PurpurWorldConfig {
public boolean sheepRidable = false;
public boolean sheepRidableInWater = false;
public double sheepMaxHealth = 8.0D;
+ public int sheepBreedingTicks = 6000;
private void sheepSettings() {
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
@@ -1296,6 +1333,7 @@ public class PurpurWorldConfig {
set("mobs.sheep.attributes.max_health", oldValue);
}
sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth);
+ sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks);
}
public boolean shulkerRidable = false;
@@ -1450,6 +1488,7 @@ public class PurpurWorldConfig {
public boolean striderRidable = false;
public boolean striderRidableInWater = false;
public double striderMaxHealth = 20.0D;
+ public int striderBreedingTicks = 6000;
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1459,6 +1498,7 @@ public class PurpurWorldConfig {
set("mobs.strider.attributes.max_health", oldValue);
}
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
+ striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks);
}
public boolean traderLlamaRidable = false;
@@ -1469,6 +1509,7 @@ public class PurpurWorldConfig {
public double traderLlamaJumpStrengthMax = 0.5D;
public double traderLlamaMovementSpeedMin = 0.175D;
public double traderLlamaMovementSpeedMax = 0.175D;
+ public int traderLlamaBreedingTicks = 6000;
private void traderLlamaSettings() {
traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable);
traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater);
@@ -1485,6 +1526,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);
+ traderLlamaBreedingTicks = getInt("mobs.trader_llama.breeding-delay-ticks", traderLlamaBreedingTicks);
}
public boolean tropicalFishRidable = false;
@@ -1505,6 +1547,7 @@ public class PurpurWorldConfig {
public boolean turtleEggsBreakFromExpOrbs = true;
public boolean turtleEggsBreakFromItems = true;
public boolean turtleEggsBreakFromMinecarts = true;
+ public int turtleBreedingTicks = 6000;
private void turtleEggSettings() {
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
@@ -1517,6 +1560,7 @@ public class PurpurWorldConfig {
turtleEggsBreakFromExpOrbs = getBoolean("blocks.turtle_egg.break-from-exp-orbs", turtleEggsBreakFromExpOrbs);
turtleEggsBreakFromItems = getBoolean("blocks.turtle_egg.break-from-items", turtleEggsBreakFromItems);
turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts);
+ turtleBreedingTicks = getInt("mobs.turtle.breeding-delay-ticks", turtleBreedingTicks);
}
public boolean vexRidable = false;
@@ -1545,6 +1589,7 @@ public class PurpurWorldConfig {
public int villagerSpawnIronGolemRadius = 0;
public int villagerSpawnIronGolemLimit = 0;
public boolean villagerCanBreed = true;
+ public int villagerBreedingTicks = 6000;
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1561,6 +1606,7 @@ public class PurpurWorldConfig {
villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius);
villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit);
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
+ villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks);
}
public boolean vindicatorRidable = false;
@@ -1652,6 +1698,7 @@ public class PurpurWorldConfig {
public boolean wolfRidable = false;
public boolean wolfRidableInWater = false;
public double wolfMaxHealth = 8.0D;
+ public int wolfBreedingTicks = 6000;
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
@@ -1661,6 +1708,7 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
}
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);
+ wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks);
}
public boolean zoglinRidable = false;