From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: jmp Date: Sun, 15 Nov 2020 02:18:15 -0800 Subject: [PATCH] Make entity breeding times configurable diff --git a/src/main/java/net/minecraft/server/BehaviorMakeLove.java b/src/main/java/net/minecraft/server/BehaviorMakeLove.java index 7bdcc7bb26a1f7c8fc2562016af8598b9a7b4de3..d22b1742e2bf9c390590851de45b2e66f1444b47 100644 --- a/src/main/java/net/minecraft/server/BehaviorMakeLove.java +++ b/src/main/java/net/minecraft/server/BehaviorMakeLove.java @@ -102,8 +102,10 @@ public class BehaviorMakeLove extends Behavior { if (entityvillager2 == null) { return Optional.empty(); } else { - entityvillager.setAgeRaw(6000); - entityvillager1.setAgeRaw(6000); + // Purpur start + entityvillager.setAgeRaw(worldserver.purpurConfig.villagerBreedingTicks); + entityvillager1.setAgeRaw(worldserver.purpurConfig.villagerBreedingTicks); + // Purpur end entityvillager2.setAgeRaw(-24000); entityvillager2.setPositionRotation(entityvillager.locX(), entityvillager.locY(), entityvillager.locZ(), 0.0F, 0.0F); worldserver.addAllEntities(entityvillager2, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BREEDING); // CraftBukkit - added SpawnReason diff --git a/src/main/java/net/minecraft/server/EntityAnimal.java b/src/main/java/net/minecraft/server/EntityAnimal.java index d9f9e2235d091e14e5d34bb9a3273e7f56e94295..dd6725debe0cf72dce13b6f2cac0556060e0eb41 100644 --- a/src/main/java/net/minecraft/server/EntityAnimal.java +++ b/src/main/java/net/minecraft/server/EntityAnimal.java @@ -13,6 +13,7 @@ public abstract class EntityAnimal extends EntityAgeable { public int loveTicks; public UUID breedCause; public ItemStack breedItem; // CraftBukkit - Add breedItem variable + abstract int getPurpurBreedTime(); // Purpur protected EntityAnimal(EntityTypes entitytypes, World world) { super(entitytypes, world); @@ -234,8 +235,10 @@ public abstract class EntityAnimal extends EntityAgeable { CriterionTriggers.o.a(entityplayer, this, entityanimal, entityageable); } - this.setAgeRaw(6000); - entityanimal.setAgeRaw(6000); + // Purpur start + this.setAgeRaw(this.getPurpurBreedTime()); + entityanimal.setAgeRaw(entityanimal.getPurpurBreedTime()); + // Purpur end this.resetLove(); entityanimal.resetLove(); entityageable.setBaby(true); diff --git a/src/main/java/net/minecraft/server/EntityBee.java b/src/main/java/net/minecraft/server/EntityBee.java index d8354ec4d19fc3fbddc2551ee217acb137482e63..ded4e10f5082fb5aa25368d9035affba287c3345 100644 --- a/src/main/java/net/minecraft/server/EntityBee.java +++ b/src/main/java/net/minecraft/server/EntityBee.java @@ -100,6 +100,11 @@ public class EntityBee extends EntityAnimal implements IEntityAngerable, EntityB setMot(mot.a(0.9D)); } } + + @Override + int getPurpurBreedTime() { + return this.world.purpurConfig.beeBreedingTicks; + } // Purpur end @Override diff --git a/src/main/java/net/minecraft/server/EntityCat.java b/src/main/java/net/minecraft/server/EntityCat.java index 0e6552d77adb95c94cb06b6f9289c4c12e6955bb..437a7b8ffb40c461f1778d91591fa6c4dcf36834 100644 --- a/src/main/java/net/minecraft/server/EntityCat.java +++ b/src/main/java/net/minecraft/server/EntityCat.java @@ -58,6 +58,11 @@ public class EntityCat extends EntityTameableAnimal { setSleepingWithOwner(false); setHeadDown(false); } + + @Override + int getPurpurBreedTime() { + return this.world.purpurConfig.catBreedingTicks; + } // Purpur end public MinecraftKey eU() { diff --git a/src/main/java/net/minecraft/server/EntityChicken.java b/src/main/java/net/minecraft/server/EntityChicken.java index ee59a9f272a9caebec8f2329e1e4b22ddd27a0f9..2e1dc047459889aea85a79eaa04e8fe1a80e5b9e 100644 --- a/src/main/java/net/minecraft/server/EntityChicken.java +++ b/src/main/java/net/minecraft/server/EntityChicken.java @@ -34,6 +34,11 @@ public class EntityChicken extends EntityAnimal { this.getAttributeInstance(GenericAttributes.ATTACK_DAMAGE).setValue(2.0D); } } + + @Override + int getPurpurBreedTime() { + return this.world.purpurConfig.chickenBreedingTicks; + } // Purpur end @Override diff --git a/src/main/java/net/minecraft/server/EntityCow.java b/src/main/java/net/minecraft/server/EntityCow.java index 1219b0aa9c62bc9a1bda45cc9e9a27f14a28fe2e..63497ca0266073dc0a16b7dc22641d08c3eaf400 100644 --- a/src/main/java/net/minecraft/server/EntityCow.java +++ b/src/main/java/net/minecraft/server/EntityCow.java @@ -21,6 +21,11 @@ public class EntityCow extends EntityAnimal { public boolean isRidableInWater() { return world.purpurConfig.cowRidableInWater; } + + @Override + int getPurpurBreedTime() { + return this.world.purpurConfig.cowBreedingTicks; + } // Purpur end @Override diff --git a/src/main/java/net/minecraft/server/EntityFox.java b/src/main/java/net/minecraft/server/EntityFox.java index f5defe4713c6be7d32fb2116110516717460284e..b5f036af81ddd3c1b0e388a28383f0b6a63d128c 100644 --- a/src/main/java/net/minecraft/server/EntityFox.java +++ b/src/main/java/net/minecraft/server/EntityFox.java @@ -86,6 +86,11 @@ public class EntityFox extends EntityAnimal { super.onDismount(entityhuman); setCanPickupLoot(true); } + + @Override + int getPurpurBreedTime() { + return this.world.purpurConfig.foxBreedingTicks; + } // Purpur end @Override @@ -1300,8 +1305,10 @@ public class EntityFox extends EntityAnimal { CriterionTriggers.o.a(entityplayer2, this.animal, this.partner, (EntityAgeable) entityfox); } - this.animal.setAgeRaw(6000); - this.partner.setAgeRaw(6000); + // Purpur start + this.animal.setAgeRaw(this.animal.getPurpurBreedTime()); + this.partner.setAgeRaw(this.partner.getPurpurBreedTime()); + // Purpur end this.animal.resetLove(); this.partner.resetLove(); entityfox.setAgeRaw(-24000); diff --git a/src/main/java/net/minecraft/server/EntityHoglin.java b/src/main/java/net/minecraft/server/EntityHoglin.java index 548ff4449faca0abdf72487276fe49207bacfe17..a1578aade4a535144b5e40277c902f2e9ab9e940 100644 --- a/src/main/java/net/minecraft/server/EntityHoglin.java +++ b/src/main/java/net/minecraft/server/EntityHoglin.java @@ -30,6 +30,11 @@ public class EntityHoglin extends EntityAnimal implements IMonster, IOglin { public boolean isRidableInWater() { return world.purpurConfig.hoglinRidableInWater; } + + @Override + int getPurpurBreedTime() { + return this.world.purpurConfig.hoglinBreedingTicks; + } // Purpur end @Override diff --git a/src/main/java/net/minecraft/server/EntityHorse.java b/src/main/java/net/minecraft/server/EntityHorse.java index 4ffc61acdff8c51dc9b111e3024c828fb5386118..669bce5d9806c80bddc247fe103ff20dc6aaa8a5 100644 --- a/src/main/java/net/minecraft/server/EntityHorse.java +++ b/src/main/java/net/minecraft/server/EntityHorse.java @@ -17,6 +17,11 @@ public class EntityHorse extends EntityHorseAbstract { public boolean isRidableInWater() { return world.purpurConfig.horseRidableInWater; } + + @Override + int getPurpurBreedTime() { + return this.world.purpurConfig.horseBreedingTicks; + } // Purpur end @Override diff --git a/src/main/java/net/minecraft/server/EntityHorseDonkey.java b/src/main/java/net/minecraft/server/EntityHorseDonkey.java index cb8aee5691ff4ecaa6ae60f1637b1852d3b6c162..f6421bb45c5e6adf39fdc085efe2b2f500b76c0c 100644 --- a/src/main/java/net/minecraft/server/EntityHorseDonkey.java +++ b/src/main/java/net/minecraft/server/EntityHorseDonkey.java @@ -13,6 +13,11 @@ public class EntityHorseDonkey extends EntityHorseChestedAbstract { public boolean isRidableInWater() { return world.purpurConfig.donkeyRidableInWater; } + + @Override + int getPurpurBreedTime() { + return this.world.purpurConfig.donkeyBreedingTicks; + } // Purpur end @Override diff --git a/src/main/java/net/minecraft/server/EntityHorseMule.java b/src/main/java/net/minecraft/server/EntityHorseMule.java index 243aeb736e350418e9476819bbfec0e7ab59f92f..30cbc505d2b0f4d3247edfd271de8daab023eb2a 100644 --- a/src/main/java/net/minecraft/server/EntityHorseMule.java +++ b/src/main/java/net/minecraft/server/EntityHorseMule.java @@ -13,6 +13,11 @@ public class EntityHorseMule extends EntityHorseChestedAbstract { public boolean isRidableInWater() { return world.purpurConfig.muleRidableInWater; } + + @Override + int getPurpurBreedTime() { + return this.world.purpurConfig.muleBreedingTicks; + } // Purpur end @Override protected SoundEffect getSoundAmbient() { diff --git a/src/main/java/net/minecraft/server/EntityHorseSkeleton.java b/src/main/java/net/minecraft/server/EntityHorseSkeleton.java index e2c6a5807a4554a7eebb148e40f1f8a1d979df5e..408db52cacbdfbca8af0a6a8e913b0128a3f5a76 100644 --- a/src/main/java/net/minecraft/server/EntityHorseSkeleton.java +++ b/src/main/java/net/minecraft/server/EntityHorseSkeleton.java @@ -22,6 +22,11 @@ public class EntityHorseSkeleton extends EntityHorseAbstract { public boolean isTamed() { return true; } + + @Override + int getPurpurBreedTime() { + return 6000; + } // Purpur end public static AttributeProvider.Builder eL() { diff --git a/src/main/java/net/minecraft/server/EntityHorseZombie.java b/src/main/java/net/minecraft/server/EntityHorseZombie.java index 559ba50977147b8e2a0e7c1e7dc281faabd7f292..2121a6c979ba2ea7cb596ca6081750d2f8c7df9f 100644 --- a/src/main/java/net/minecraft/server/EntityHorseZombie.java +++ b/src/main/java/net/minecraft/server/EntityHorseZombie.java @@ -18,6 +18,11 @@ public class EntityHorseZombie extends EntityHorseAbstract { public boolean isTamed() { return true; } + + @Override + int getPurpurBreedTime() { + return 6000; + } // Purpur end public static AttributeProvider.Builder eL() { diff --git a/src/main/java/net/minecraft/server/EntityLlama.java b/src/main/java/net/minecraft/server/EntityLlama.java index 1099277868f92fdaf4b0ec3a982f26f20ead7369..3bc6e6df9e0107debe5b15f5f7aad97ad336f304 100644 --- a/src/main/java/net/minecraft/server/EntityLlama.java +++ b/src/main/java/net/minecraft/server/EntityLlama.java @@ -57,6 +57,11 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn public boolean hasSaddle() { return super.hasSaddle() || (isTamed() && getColor() != null); } + + @Override + int getPurpurBreedTime() { + return this.world.purpurConfig.llamaBreedingTicks; + } // Purpur end public void setStrength(int i) { diff --git a/src/main/java/net/minecraft/server/EntityMushroomCow.java b/src/main/java/net/minecraft/server/EntityMushroomCow.java index 7966b34f8d202d2260a35baa4cd594e4def89257..eb1f95d8bae4bc2580849614ba879dd1a8792ecb 100644 --- a/src/main/java/net/minecraft/server/EntityMushroomCow.java +++ b/src/main/java/net/minecraft/server/EntityMushroomCow.java @@ -30,6 +30,11 @@ public class EntityMushroomCow extends EntityCow implements IShearable { public boolean isRidableInWater() { return world.purpurConfig.mooshroomRidableInWater; } + + @Override + int getPurpurBreedTime() { + return this.world.purpurConfig.mooshroomBreedingTicks; + } // Purpur end @Override diff --git a/src/main/java/net/minecraft/server/EntityOcelot.java b/src/main/java/net/minecraft/server/EntityOcelot.java index 2f8275cd6b3cde0d3f949219f67ba7f0e0031dc3..a5be10dfb0de08b0d97265278b1f11ad1e94b821 100644 --- a/src/main/java/net/minecraft/server/EntityOcelot.java +++ b/src/main/java/net/minecraft/server/EntityOcelot.java @@ -26,6 +26,11 @@ public class EntityOcelot extends EntityAnimal { public boolean isRidableInWater() { return world.purpurConfig.ocelotRidableInWater; } + + @Override + int getPurpurBreedTime() { + return this.world.purpurConfig.ocelotBreedingTicks; + } // Purpur end private boolean isTrusting() { diff --git a/src/main/java/net/minecraft/server/EntityPanda.java b/src/main/java/net/minecraft/server/EntityPanda.java index eafae5516b9b5d51aa943796557926cf61476d2b..c70180fddb829419b9cc5188766e9130f9b8a94a 100644 --- a/src/main/java/net/minecraft/server/EntityPanda.java +++ b/src/main/java/net/minecraft/server/EntityPanda.java @@ -65,6 +65,11 @@ public class EntityPanda extends EntityAnimal { this.setEating(false); this.setLayingOnBack(false); } + + @Override + int getPurpurBreedTime() { + return this.world.purpurConfig.pandaBreedingTicks; + } // Purpur end @Override diff --git a/src/main/java/net/minecraft/server/EntityParrot.java b/src/main/java/net/minecraft/server/EntityParrot.java index e402d4a77b57b8b12b7575a9793c30d7acfa7fb0..398e92bf7053c411bd98626efe4261e15256d3ee 100644 --- a/src/main/java/net/minecraft/server/EntityParrot.java +++ b/src/main/java/net/minecraft/server/EntityParrot.java @@ -115,6 +115,11 @@ public class EntityParrot extends EntityPerchable implements EntityBird { setMot(mot.a(0.9D)); } } + + @Override + int getPurpurBreedTime() { + return 6000; + } // Purpur end @Nullable diff --git a/src/main/java/net/minecraft/server/EntityPig.java b/src/main/java/net/minecraft/server/EntityPig.java index bf7ecd7a7d805cc8f1314a348d7b13f848da46b5..eae841eeac75a35a9dc5a53c57538ac5264ece68 100644 --- a/src/main/java/net/minecraft/server/EntityPig.java +++ b/src/main/java/net/minecraft/server/EntityPig.java @@ -29,6 +29,11 @@ public class EntityPig extends EntityAnimal implements ISteerable, ISaddleable { public boolean isRidableInWater() { return world.purpurConfig.pigRidableInWater; } + + @Override + int getPurpurBreedTime() { + return this.world.purpurConfig.pigBreedingTicks; + } // Purpur end @Override diff --git a/src/main/java/net/minecraft/server/EntityPolarBear.java b/src/main/java/net/minecraft/server/EntityPolarBear.java index 3d649843f565d2c8820b525c199bd2b9f9120cc7..40395dd7ea515e51a189d014a3274d15dc1d8ee6 100644 --- a/src/main/java/net/minecraft/server/EntityPolarBear.java +++ b/src/main/java/net/minecraft/server/EntityPolarBear.java @@ -67,6 +67,11 @@ public class EntityPolarBear extends EntityAnimal implements IEntityAngerable { return this.isInLove() && polarbear.isInLove(); } } + + @Override + int getPurpurBreedTime() { + return this.world.purpurConfig.polarBearBreedingTicks; + } // Purpur end @Override diff --git a/src/main/java/net/minecraft/server/EntityRabbit.java b/src/main/java/net/minecraft/server/EntityRabbit.java index b766a27e98e19bffd3fe8f81f750750ae7681d02..654cd036a8e4aa4499f10f528b684e003c469c9a 100644 --- a/src/main/java/net/minecraft/server/EntityRabbit.java +++ b/src/main/java/net/minecraft/server/EntityRabbit.java @@ -30,6 +30,11 @@ public class EntityRabbit extends EntityAnimal { public boolean isRidableInWater() { return world.purpurConfig.rabbitRidableInWater; } + + @Override + int getPurpurBreedTime() { + return this.world.purpurConfig.rabbitBreedingTicks; + } // Purpur end // CraftBukkit start - code from constructor diff --git a/src/main/java/net/minecraft/server/EntitySheep.java b/src/main/java/net/minecraft/server/EntitySheep.java index a151d4295c02930687a23212647de60cce5405ca..32130c0681501e3e5a47b199f0bb39daac416ed3 100644 --- a/src/main/java/net/minecraft/server/EntitySheep.java +++ b/src/main/java/net/minecraft/server/EntitySheep.java @@ -66,6 +66,11 @@ public class EntitySheep extends EntityAnimal implements IShearable { public boolean isRidableInWater() { return world.purpurConfig.sheepRidableInWater; } + + @Override + int getPurpurBreedTime() { + return this.world.purpurConfig.sheepBreedingTicks; + } // Purpur end @Override diff --git a/src/main/java/net/minecraft/server/EntityStrider.java b/src/main/java/net/minecraft/server/EntityStrider.java index 56b72132595db5bc9addf31aecde5c13c5fd44c2..5c960365901b6ebd74134dac2e90c6aa81d33351 100644 --- a/src/main/java/net/minecraft/server/EntityStrider.java +++ b/src/main/java/net/minecraft/server/EntityStrider.java @@ -38,6 +38,11 @@ public class EntityStrider extends EntityAnimal implements ISteerable, ISaddleab public boolean isRidableInWater() { return world.purpurConfig.striderRidableInWater; } + + @Override + int getPurpurBreedTime() { + return this.world.purpurConfig.striderBreedingTicks; + } // Purpur end public static boolean c(EntityTypes entitytypes, GeneratorAccess generatoraccess, EnumMobSpawn enummobspawn, BlockPosition blockposition, Random random) { diff --git a/src/main/java/net/minecraft/server/EntityTurtle.java b/src/main/java/net/minecraft/server/EntityTurtle.java index 2b34e6cf3b86319bd2875d92b63902889fec32a8..067f7f28b02b388d56b93b1ed8274799757196e6 100644 --- a/src/main/java/net/minecraft/server/EntityTurtle.java +++ b/src/main/java/net/minecraft/server/EntityTurtle.java @@ -37,6 +37,11 @@ public class EntityTurtle extends EntityAnimal { public boolean isRidableInWater() { return world.purpurConfig.turtleRidableInWater; } + + @Override + int getPurpurBreedTime() { + return this.world.purpurConfig.turtleBreedingTicks; + } // Purpur end public void setHomePos(BlockPosition blockposition) { diff --git a/src/main/java/net/minecraft/server/EntityWolf.java b/src/main/java/net/minecraft/server/EntityWolf.java index 9ae7168595dd66860e09ef87f946b18b010e54b1..6c25f667eecdf345289a0dbf885c9d71c6a26958 100644 --- a/src/main/java/net/minecraft/server/EntityWolf.java +++ b/src/main/java/net/minecraft/server/EntityWolf.java @@ -48,6 +48,11 @@ public class EntityWolf extends EntityTameableAnimal implements IEntityAngerable super.onMount(entityhuman); setSitting(false); } + + @Override + int getPurpurBreedTime() { + return this.world.purpurConfig.wolfBreedingTicks; + } // Purpur end @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java index 84b2b8618162f81369dac9e8341374447d9b1737..abc9b4fc27fdef37e3444cc3d885acab9f4d3f23 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -434,10 +434,12 @@ public class PurpurWorldConfig { public boolean beeRidable = false; public boolean beeRidableInWater = false; public double beeMaxY = 256D; + public int beeBreedingTicks = 6000; private void beeSettings() { beeRidable = getBoolean("mobs.bee.ridable", beeRidable); beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater); beeMaxY = getDouble("mobs.bee.ridable-max-y", beeMaxY); + beeBreedingTicks = getInt("mobs.bee.breeding-delay-ticks", beeBreedingTicks); } public boolean blazeRidable = false; @@ -454,12 +456,14 @@ 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); 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; @@ -472,10 +476,12 @@ public class PurpurWorldConfig { public boolean chickenRidable = false; public boolean chickenRidableInWater = false; 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); chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate); + chickenBreedingTicks = getInt("mobs.chicken.breeding-delay-ticks", chickenBreedingTicks); } public boolean codRidable = false; @@ -486,10 +492,12 @@ public class PurpurWorldConfig { public boolean cowRidable = false; public boolean cowRidableInWater = false; 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); cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms); + cowBreedingTicks = getInt("mobs.cow.breeding-delay-ticks", cowBreedingTicks); } public boolean creeperRidable = false; @@ -517,8 +525,10 @@ public class PurpurWorldConfig { } public boolean donkeyRidableInWater = false; + public int donkeyBreedingTicks = 6000; private void donkeySettings() { donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater); + donkeyBreedingTicks = getInt("mobs.donkey.breeding-delay-ticks", donkeyBreedingTicks); } public boolean drownedRidable = false; @@ -576,10 +586,12 @@ public class PurpurWorldConfig { public boolean foxRidable = false; public boolean foxRidableInWater = false; 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); foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips); + foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks); } public boolean ghastRidable = false; @@ -624,14 +636,18 @@ public class PurpurWorldConfig { public boolean hoglinRidable = false; public boolean hoglinRidableInWater = false; + public int hoglinBreedingTicks = 6000; private void hoglinSettings() { hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable); hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater); + hoglinBreedingTicks = getInt("mobs.hoglin.breeding-delay-ticks", hoglinBreedingTicks); } public boolean horseRidableInWater = false; + public int horseBreedingTicks = 6000; private void horseSettings() { horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); + horseBreedingTicks = getInt("mobs.horse.breeding-delay-ticks", horseBreedingTicks); } public boolean huskRidable = false; @@ -676,9 +692,11 @@ public class PurpurWorldConfig { public boolean llamaRidable = false; public boolean llamaRidableInWater = false; + public int llamaBreedingTicks = 6000; private void llamaSettings() { llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); + llamaBreedingTicks = getInt("mobs.llama.breeding-delay-ticks", llamaBreedingTicks); } public boolean llamaTraderRidable = false; @@ -697,28 +715,36 @@ public class PurpurWorldConfig { public boolean mooshroomRidable = false; public boolean mooshroomRidableInWater = false; + public int mooshroomBreedingTicks = 6000; private void mooshroomSettings() { mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable); mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater); + mooshroomBreedingTicks = getInt("mobs.mooshroom.breeding-delay-ticks", mooshroomBreedingTicks); } public boolean muleRidableInWater = false; + public int muleBreedingTicks = 6000; private void muleSettings() { muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater); + muleBreedingTicks = getInt("mobs.mule.breeding-delay-ticks", muleBreedingTicks); } public boolean ocelotRidable = false; public boolean ocelotRidableInWater = false; + public int ocelotBreedingTicks = 6000; private void ocelotSettings() { ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable); ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater); + ocelotBreedingTicks = getInt("mobs.ocelot.breeding-delay-ticks", ocelotBreedingTicks); } public boolean pandaRidable = false; public boolean pandaRidableInWater = false; + public int pandaBreedingTicks = 6000; private void pandaSettings() { pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable); pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater); + pandaBreedingTicks = getInt("mobs.panda.breeding-delay-ticks", pandaBreedingTicks); } public boolean parrotRidable = false; @@ -784,10 +810,12 @@ public class PurpurWorldConfig { public boolean pigRidable = false; public boolean pigRidableInWater = false; 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); pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack); + pigBreedingTicks = getInt("mobs.pig.breeding-delay-ticks", pigBreedingTicks); } public boolean piglinRidable = false; @@ -815,12 +843,14 @@ public class PurpurWorldConfig { public boolean polarBearRidableInWater = false; 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); polarBearBreedableItemString = getString("mobs.polar_bear.breedable-item", polarBearBreedableItemString); Item item = IRegistry.ITEM.get(new MinecraftKey(polarBearBreedableItemString)); if (item != Items.AIR) polarBearBreedableItem = item; + polarBearBreedingTicks = getInt("mobs.polar_bear.breeding-delay-ticks", polarBearBreedingTicks); } public boolean pufferfishRidable = false; @@ -832,11 +862,13 @@ public class PurpurWorldConfig { public boolean rabbitRidableInWater = false; 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); 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; @@ -853,9 +885,11 @@ public class PurpurWorldConfig { public boolean sheepRidable = false; public boolean sheepRidableInWater = false; + public int sheepBreedingTicks = 6000; private void sheepSettings() { sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); + sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks); } public boolean shulkerRidable = false; @@ -933,9 +967,11 @@ public class PurpurWorldConfig { public boolean striderRidable = false; public boolean striderRidableInWater = false; + public int striderBreedingTicks = 6000; private void striderSettings() { striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); + striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks); } public boolean tropicalFishRidable = false; @@ -945,9 +981,11 @@ public class PurpurWorldConfig { public boolean turtleRidable = false; public boolean turtleRidableInWater = false; + public int turtleBreedingTicks = 6000; private void turtleSettings() { turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable); turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater); + turtleBreedingTicks = getInt("mobs.turtle.breeding-delay-ticks", turtleBreedingTicks); } public boolean vexRidable = false; @@ -969,6 +1007,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); @@ -980,6 +1019,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 villagerTraderRidable = false; @@ -1040,9 +1080,11 @@ public class PurpurWorldConfig { public boolean wolfRidable = false; public boolean wolfRidableInWater = false; + public int wolfBreedingTicks = 6000; private void wolfSettings() { wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater); + wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks); } public boolean zoglinRidable = false;