Files
Purpur/patches/server/0136-Make-animal-breeding-times-configurable.patch
BillyGalbreath 59439785d9 Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly

Paper Changes:
cc0494817 Tick inactive goal selectors
c19ec6394 fix 4878 by always calling events using bukkit singleton
5d216be1d Fix MC-181190 curing zombie villager discount exploit (#4871)
2020-12-09 19:36:38 -06:00

640 lines
27 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: jmp <jasonpenilla2@me.com>
Date: Sun, 15 Nov 2020 02:18:15 -0800
Subject: [PATCH] Make animal breeding times configurable
diff --git a/src/main/java/net/minecraft/server/EntityAnimal.java b/src/main/java/net/minecraft/server/EntityAnimal.java
index d9f9e2235d..dd6725debe 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<? extends EntityAnimal> 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 d8354ec4d1..ded4e10f50 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 05929d5c53..a6ce4ca27c 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 a16ecd7edc..26f7833496 100644
--- a/src/main/java/net/minecraft/server/EntityChicken.java
+++ b/src/main/java/net/minecraft/server/EntityChicken.java
@@ -36,6 +36,11 @@ public class EntityChicken extends EntityAnimal {
}
}
}
+
+ @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 1219b0aa9c..63497ca026 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 f5defe4713..e87f5aeb97 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
diff --git a/src/main/java/net/minecraft/server/EntityHoglin.java b/src/main/java/net/minecraft/server/EntityHoglin.java
index 548ff4449f..a1578aade4 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 0415a4d1f3..b19995f962 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 cb8aee5691..f6421bb45c 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 243aeb736e..30cbc505d2 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 e2c6a5807a..408db52cac 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 559ba50977..2121a6c979 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 1099277868..3bc6e6df9e 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 7966b34f8d..eb1f95d8ba 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 2f8275cd6b..a5be10dfb0 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 eafae5516b..c70180fddb 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 e402d4a77b..398e92bf70 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 dade0bb294..7172e8cabf 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 3d649843f5..40395dd7ea 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 b766a27e98..654cd036a8 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 a151d4295c..32130c0681 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 172867f50d..9ab1b5af68 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<EntityStrider> 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 2b34e6cf3b..067f7f28b0 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 9ae7168595..6c25f667ee 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 6bf867483c..58a880f7cb 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -423,10 +423,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;
@@ -443,12 +445,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;
@@ -461,10 +465,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;
@@ -475,10 +481,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;
@@ -506,8 +514,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;
@@ -569,10 +579,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;
@@ -612,14 +624,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;
@@ -659,9 +675,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;
@@ -680,28 +698,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;
@@ -765,10 +791,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;
@@ -796,12 +824,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;
@@ -813,11 +843,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;
@@ -834,9 +866,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;
@@ -914,9 +948,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;
@@ -926,9 +962,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;
@@ -1016,9 +1054,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;