mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 08:27:43 +01:00
951 lines
48 KiB
Diff
951 lines
48 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 0951c04533e7c39b969d041271684355770b53c2..02d4ba2ccdce99ca97614baa7c8e49213126af96 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
|
|
@@ -123,8 +123,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 f185215b826c4b50a819c8454089cb8ccdb0ed3a..2ac88f06ebb79e515cd9934ac1e3e2c8003d9e3c 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Animal.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Animal.java
|
|
@@ -39,6 +39,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);
|
|
@@ -261,8 +262,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 1ff79871121944864da0b5179bba17f97c551608..609fc99fb2f6120af1220ca9dda9ed05686c1448 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
|
@@ -219,6 +219,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 61f83ec67c68dfafbdb11ed88f02d2be526ab7f9..7b3faddc9731ef34708f4caed51c48868159d4c6 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
|
@@ -125,6 +125,11 @@ public class Cat extends TamableAnimal implements VariantHolder<CatVariant> {
|
|
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 4b66412d04a28e3ee0a6e6c5fa0f3f4bf633d2d8..68c90c92409e79011aff84f655b391ba113804a2 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
|
@@ -77,6 +77,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 757b846bb1591c36e6b4413e3a8534986a84233f..6974e10842c66906a2ee70add8b7f046f312301c 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
|
@@ -63,6 +63,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 2119cdd90228f9034781b9496640b159343afbd8..bbd14bd8f2da3457fe9520be50b43e05e57998f3 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
|
@@ -184,6 +184,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
|
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
|
|
@@ -981,8 +986,10 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
|
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 51c032e06bbf64e688778053056acef042c5b4b8..1b4d9c39bae147442d6bf9f742f9233c80c44363 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
|
@@ -83,6 +83,11 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
|
|
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 5b2996a782e8f2ad01c587aac113074c5c382da0..4b20204c2d4fcbe1eb075dccac9618b89e0f9dc2 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
|
@@ -88,6 +88,11 @@ public class Ocelot extends Animal {
|
|
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 e5156dba9cf467e73c2376ffabafc437bc9e3536..560af707b9e1175e8e40c999be9b4f615815e1f5 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
|
@@ -138,6 +138,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 e031a0a60253d896788cf14aaf65d4001d74d9a8..ea570aeb67a493f8c538b2926c517d49c71739cf 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
|
@@ -194,6 +194,11 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
|
|
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 97e2b3a4445d195021a67567c4b0c3346095e7e8..39b75ee52e48cf4b00a635152c534e4f64646fb7 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
|
@@ -84,6 +84,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 e439ce2c0752ee772df888ccccf9d97e45a83b1c..af499a8b6d16669dc72f85a05f8e153b31ad8599 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
|
|
@@ -118,6 +118,11 @@ public class PolarBear extends Animal implements NeutralMob {
|
|
return this.isInLove() && bear.isInLove();
|
|
}
|
|
}
|
|
+
|
|
+ @Override
|
|
+ public int getPurpurBreedTime() {
|
|
+ return this.level.purpurConfig.polarBearBreedingTicks;
|
|
+ }
|
|
// Purpur end
|
|
|
|
@Nullable
|
|
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 92da91319f59745f43529b9ddae032a8f60f693d..f564460d4d66fc8cdb163759e6fd8a81ac619661 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
|
@@ -140,6 +140,11 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
|
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 0b9c36f130a0ccd62bbf2418896627553bc61225..70e8ee40ec545b9be7f55f64f251864b03bacaac 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Sheep.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
|
|
@@ -136,6 +136,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 31c98011ee4521acebf8d452f135e534ffafd64c..7ee3c81f95907886c4036fb5ab9c16aebea38a85 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
|
@@ -103,6 +103,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 4713da69b3f45bfcf423726feff2800560494306..8e5b38aaba602ef8bd2ee615569fa25fd979531b 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
|
@@ -127,6 +127,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 eaf2e6b9865a36b7c648bd1205db922a62cd7ee8..1af75e173958c192b8f53b7e17e75d980cbbbcbc 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
|
|
@@ -118,6 +118,11 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
|
|
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/camel/Camel.java b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
|
|
index 05c7680569346bb863b896bcc9515f3e7cfb8114..bda7a0e29e40386c57766c224ffb8938d33447e8 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
|
|
@@ -83,6 +83,13 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Rider
|
|
groundPathNavigation.setCanWalkOverFences(true);
|
|
}
|
|
|
|
+ // Purpur start
|
|
+ @Override
|
|
+ public int getPurpurBreedTime() {
|
|
+ return this.level.purpurConfig.camelBreedingTicks;
|
|
+ }
|
|
+ // Purpur end
|
|
+
|
|
@Override
|
|
public void addAdditionalSaveData(CompoundTag nbt) {
|
|
super.addAdditionalSaveData(nbt);
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java
|
|
index 00bac64a6417b9e34c2b441a13e80052ad66a2c1..61c604a05eedb1928bdac8c8544b0cad074f29ee 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java
|
|
@@ -139,6 +139,10 @@ public class Frog extends Animal implements VariantHolder<FrogVariant> {
|
|
public float getJumpPower() {
|
|
return (getRider() != null && isControllable()) ? level.purpurConfig.frogRidableJumpHeight * this.getBlockJumpFactor() : super.getJumpPower();
|
|
}
|
|
+
|
|
+ public int getPurpurBreedTime() {
|
|
+ return this.level.purpurConfig.frogBreedingTicks;
|
|
+ }
|
|
// 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 a9805129f0aaba5f0c2751d463019844eb3b347d..b627fee1cb19f476f45921f1fae7624b27ff7280 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
|
|
@@ -104,6 +104,11 @@ public class Goat extends Animal {
|
|
public boolean isControllable() {
|
|
return level.purpurConfig.goatControllable;
|
|
}
|
|
+
|
|
+ @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 8f7cd5c3c786ff94fc9b890ec488a461b7edced0..efe381ff8d43295bcaf0d4fb7ff75f2bf46391eb 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
|
|
@@ -20,6 +20,11 @@ public class Donkey extends AbstractChestedHorse {
|
|
public boolean dismountsUnderwater() {
|
|
return !level.purpurConfig.donkeyRidableInWater || super.dismountsUnderwater();
|
|
}
|
|
+
|
|
+ @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 c653a3d459fd8c1c4728cd5a0e63c6b3707792d9..2dbcebf7c370d4f5a51b5a23e67306c6c1ab83ba 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
|
|
@@ -45,6 +45,11 @@ public class Horse extends AbstractHorse implements VariantHolder<Variant> {
|
|
public boolean dismountsUnderwater() {
|
|
return !level.purpurConfig.horseRidableInWater || super.dismountsUnderwater();
|
|
}
|
|
+
|
|
+ @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 8adca393017dcc2e44a7379b971cd2a4704bc570..4165c7d54d00e356767dc56be86f5bff6aa8e8bb 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
|
|
@@ -121,6 +121,11 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
|
public boolean isSaddled() {
|
|
return super.isSaddled() || (isTamed() && getSwag() != null);
|
|
}
|
|
+
|
|
+ @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 cb72039e1c69e76d5d1c99f5fb63819369c2a0d6..ddb31f39182f7e2dd3c3a0b521563a0983b548cd 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
|
|
@@ -19,6 +19,11 @@ public class Mule extends AbstractChestedHorse {
|
|
public boolean dismountsUnderwater() {
|
|
return !level.purpurConfig.muleRidableInWater || super.dismountsUnderwater();
|
|
}
|
|
+
|
|
+ @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 7c891be8b94a6438910a53c0473393d49b19f5d9..33250d34cc6e2733330f9c4a42f498b2bbc73b33 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
|
|
@@ -33,6 +33,11 @@ public class SkeletonHorse extends AbstractHorse {
|
|
public boolean isTamed() {
|
|
return true;
|
|
}
|
|
+
|
|
+ @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 636e86c4f0c9739d1440e524c86eddce15bb3e63..e723506f1fced33e945340392545e7970ddeb6cc 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
|
|
@@ -47,6 +47,11 @@ public class TraderLlama extends Llama {
|
|
public boolean isSaddled() {
|
|
return super.isSaddled() || isTamed();
|
|
}
|
|
+
|
|
+ @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 e9f1d53599168c4c4b44a14b445143025c4be83a..df438bc84c5b90f2fc66965f926dc2efeb6563c1 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
|
|
@@ -31,6 +31,11 @@ public class ZombieHorse extends AbstractHorse {
|
|
public boolean isTamed() {
|
|
return true;
|
|
}
|
|
+
|
|
+ @Override
|
|
+ public int getPurpurBreedTime() {
|
|
+ return 6000;
|
|
+ }
|
|
// Purpur end
|
|
|
|
public static AttributeSupplier.Builder createAttributes() {
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java b/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
|
|
index d79c55668c2077869e08a77a03aeffefefafd788..f15e7a9e37339afa733bd319b192f2a8dc2a7b56 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
|
|
@@ -81,6 +81,13 @@ public class Sniffer extends Animal {
|
|
this.setPathfindingMalus(BlockPathTypes.WATER, -2.0F);
|
|
}
|
|
|
|
+ // Purpur start
|
|
+ @Override
|
|
+ public int getPurpurBreedTime() {
|
|
+ return this.level.purpurConfig.snifferBreedingTicks;
|
|
+ }
|
|
+ // Purpur end
|
|
+
|
|
// CraftBukkit start - SPIGOT-7295: moved from constructor to appropriate location
|
|
@Override
|
|
protected void defineSynchedData() {
|
|
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 b512ac4b75e53c272a3c41fb5b66c84b6b0e9847..fbc2e3f0b73608a999619469cd701692cb1cb788 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Strider.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java
|
|
@@ -120,6 +120,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, RandomSource 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 9cc42b4a1ea0d2315350e038034dfe7171668658..8e837ce3069ca05bcc93ea93f94c79342ea9eb3c 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
|
|
@@ -87,6 +87,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 bd46b5fa3404a4a64fefe1165735c03d9c2ec0db..d7669999bcf294c71c4238ccbeade1cdddd59400 100644
|
|
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
@@ -510,10 +510,12 @@ public class PurpurWorldConfig {
|
|
public boolean axolotlRidable = false;
|
|
public boolean axolotlControllable = true;
|
|
public double axolotlMaxHealth = 14.0D;
|
|
+ public int axolotlBreedingTicks = 6000;
|
|
private void axolotlSettings() {
|
|
axolotlRidable = getBoolean("mobs.axolotl.ridable", axolotlRidable);
|
|
axolotlControllable = getBoolean("mobs.axolotl.controllable", axolotlControllable);
|
|
axolotlMaxHealth = getDouble("mobs.axolotl.attributes.max_health", axolotlMaxHealth);
|
|
+ axolotlBreedingTicks = getInt("mobs.axolotl.breeding-delay-ticks", axolotlBreedingTicks);
|
|
}
|
|
|
|
public boolean batRidable = false;
|
|
@@ -546,6 +548,7 @@ public class PurpurWorldConfig {
|
|
public boolean beeControllable = true;
|
|
public double beeMaxY = 320D;
|
|
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);
|
|
@@ -557,6 +560,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;
|
|
@@ -577,6 +581,7 @@ public class PurpurWorldConfig {
|
|
blazeMaxHealth = getDouble("mobs.blaze.attributes.max_health", blazeMaxHealth);
|
|
}
|
|
|
|
+ public int camelBreedingTicks = 6000;
|
|
public double camelMaxHealthMin = 32.0D; // TODO: re-implement
|
|
public double camelMaxHealthMax = 32.0D; // TODO: re-implement
|
|
public double camelJumpStrengthMin = 0.42D; // TODO: re-implement
|
|
@@ -590,6 +595,7 @@ public class PurpurWorldConfig {
|
|
camelJumpStrengthMax = getDouble("mobs.camel.attributes.jump_strength.max", camelJumpStrengthMax);
|
|
camelMovementSpeedMin = getDouble("mobs.camel.attributes.movement_speed.min", camelMovementSpeedMin);
|
|
camelMovementSpeedMax = getDouble("mobs.camel.attributes.movement_speed.max", camelMovementSpeedMax);
|
|
+ camelBreedingTicks = getInt("mobs.camel.breeding-delay-ticks", camelBreedingTicks);
|
|
}
|
|
|
|
public boolean catRidable = false;
|
|
@@ -599,6 +605,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);
|
|
@@ -612,6 +619,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;
|
|
@@ -635,6 +643,7 @@ public class PurpurWorldConfig {
|
|
public boolean chickenControllable = true;
|
|
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);
|
|
@@ -646,6 +655,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;
|
|
@@ -667,6 +677,7 @@ public class PurpurWorldConfig {
|
|
public boolean cowControllable = true;
|
|
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);
|
|
@@ -678,6 +689,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;
|
|
@@ -729,6 +741,7 @@ public class PurpurWorldConfig {
|
|
public double donkeyJumpStrengthMax = 0.5D; // TODO: re-implement
|
|
public double donkeyMovementSpeedMin = 0.175D; // TODO: re-implement
|
|
public double donkeyMovementSpeedMax = 0.175D; // TODO: re-implement
|
|
+ public int donkeyBreedingTicks = 6000;
|
|
private void donkeySettings() {
|
|
donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater);
|
|
if (PurpurConfig.version < 10) {
|
|
@@ -744,6 +757,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;
|
|
@@ -863,6 +877,7 @@ public class PurpurWorldConfig {
|
|
public boolean foxControllable = true;
|
|
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);
|
|
@@ -874,17 +889,20 @@ 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 frogRidable = false;
|
|
public boolean frogRidableInWater = false;
|
|
public boolean frogControllable = true;
|
|
public float frogRidableJumpHeight = 0.65F;
|
|
+ public int frogBreedingTicks = 6000;
|
|
private void frogSettings() {
|
|
frogRidable = getBoolean("mobs.frog.ridable", frogRidable);
|
|
frogRidableInWater = getBoolean("mobs.frog.ridable-in-water", frogRidableInWater);
|
|
frogControllable = getBoolean("mobs.frog.controllable", frogControllable);
|
|
frogRidableJumpHeight = (float) getDouble("mobs.frog.ridable-jump-height", frogRidableJumpHeight);
|
|
+ frogBreedingTicks = getInt("mobs.frog.breeding-delay-ticks", frogBreedingTicks);
|
|
}
|
|
|
|
public boolean ghastRidable = false;
|
|
@@ -952,11 +970,13 @@ public class PurpurWorldConfig {
|
|
public boolean goatRidableInWater = false;
|
|
public boolean goatControllable = true;
|
|
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);
|
|
goatControllable = getBoolean("mobs.goat.controllable", goatControllable);
|
|
goatMaxHealth = getDouble("mobs.goat.attributes.max_health", goatMaxHealth);
|
|
+ goatBreedingTicks = getInt("mobs.goat.breeding-delay-ticks", goatBreedingTicks);
|
|
}
|
|
|
|
public boolean guardianRidable = false;
|
|
@@ -977,6 +997,7 @@ public class PurpurWorldConfig {
|
|
public boolean hoglinRidableInWater = false;
|
|
public boolean hoglinControllable = true;
|
|
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);
|
|
@@ -987,6 +1008,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;
|
|
@@ -996,6 +1018,7 @@ public class PurpurWorldConfig {
|
|
public double horseJumpStrengthMax = 1.0D; // TODO: re-implement
|
|
public double horseMovementSpeedMin = 0.1125D; // TODO: re-implement
|
|
public double horseMovementSpeedMax = 0.3375D; // TODO: re-implement
|
|
+ public int horseBreedingTicks = 6000;
|
|
private void horseSettings() {
|
|
horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater);
|
|
if (PurpurConfig.version < 10) {
|
|
@@ -1011,6 +1034,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;
|
|
@@ -1088,6 +1112,7 @@ public class PurpurWorldConfig {
|
|
public double llamaJumpStrengthMax = 0.5D; // TODO: re-implement
|
|
public double llamaMovementSpeedMin = 0.175D; // TODO: re-implement
|
|
public double llamaMovementSpeedMax = 0.175D; // TODO: re-implement
|
|
+ public int llamaBreedingTicks = 6000;
|
|
private void llamaSettings() {
|
|
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
|
|
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);
|
|
@@ -1105,6 +1130,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;
|
|
@@ -1133,6 +1159,7 @@ public class PurpurWorldConfig {
|
|
public boolean mooshroomRidableInWater = false;
|
|
public boolean mooshroomControllable = true;
|
|
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);
|
|
@@ -1143,6 +1170,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;
|
|
@@ -1152,6 +1180,7 @@ public class PurpurWorldConfig {
|
|
public double muleJumpStrengthMax = 0.5D; // TODO: re-implement
|
|
public double muleMovementSpeedMin = 0.175D; // TODO: re-implement
|
|
public double muleMovementSpeedMax = 0.175D; // TODO: re-implement
|
|
+ public int muleBreedingTicks = 6000;
|
|
private void muleSettings() {
|
|
muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater);
|
|
if (PurpurConfig.version < 10) {
|
|
@@ -1167,12 +1196,14 @@ 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 boolean ocelotControllable = true;
|
|
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);
|
|
@@ -1183,12 +1214,14 @@ 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 boolean pandaControllable = true;
|
|
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);
|
|
@@ -1199,6 +1232,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;
|
|
@@ -1282,6 +1316,7 @@ public class PurpurWorldConfig {
|
|
public boolean pigControllable = true;
|
|
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);
|
|
@@ -1293,6 +1328,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;
|
|
@@ -1349,6 +1385,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);
|
|
@@ -1362,6 +1399,7 @@ public class PurpurWorldConfig {
|
|
polarBearBreedableItemString = getString("mobs.polar_bear.breedable-item", polarBearBreedableItemString);
|
|
Item item = BuiltInRegistries.ITEM.get(new ResourceLocation(polarBearBreedableItemString));
|
|
if (item != Items.AIR) polarBearBreedableItem = item;
|
|
+ polarBearBreedingTicks = getInt("mobs.polar_bear.breeding-delay-ticks", polarBearBreedingTicks);
|
|
}
|
|
|
|
public boolean pufferfishRidable = false;
|
|
@@ -1384,6 +1422,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);
|
|
@@ -1396,6 +1435,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;
|
|
@@ -1432,6 +1472,7 @@ public class PurpurWorldConfig {
|
|
public boolean sheepRidableInWater = false;
|
|
public boolean sheepControllable = true;
|
|
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);
|
|
@@ -1442,6 +1483,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;
|
|
@@ -1561,6 +1603,11 @@ public class PurpurWorldConfig {
|
|
snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack);
|
|
}
|
|
|
|
+ public int snifferBreedingTicks = 6000;
|
|
+ private void snifferSettings() {
|
|
+ snifferBreedingTicks = getInt("mobs.sniffer.breeding-delay-ticks", chickenBreedingTicks);
|
|
+ }
|
|
+
|
|
public boolean squidRidable = false;
|
|
public boolean squidControllable = true;
|
|
public double squidMaxHealth = 10.0D;
|
|
@@ -1617,6 +1664,7 @@ public class PurpurWorldConfig {
|
|
public boolean striderRidableInWater = false;
|
|
public boolean striderControllable = true;
|
|
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);
|
|
@@ -1627,6 +1675,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 tadpoleRidable = false;
|
|
@@ -1647,6 +1696,7 @@ public class PurpurWorldConfig {
|
|
public double traderLlamaJumpStrengthMax = 0.5D; // TODO: re-implement
|
|
public double traderLlamaMovementSpeedMin = 0.175D; // TODO: re-implement
|
|
public double traderLlamaMovementSpeedMax = 0.175D; // TODO: re-implement
|
|
+ public int traderLlamaBreedingTicks = 6000;
|
|
private void traderLlamaSettings() {
|
|
traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable);
|
|
traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater);
|
|
@@ -1664,6 +1714,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;
|
|
@@ -1684,6 +1735,7 @@ public class PurpurWorldConfig {
|
|
public boolean turtleRidableInWater = false;
|
|
public boolean turtleControllable = true;
|
|
public double turtleMaxHealth = 30.0D;
|
|
+ public int turtleBreedingTicks = 6000;
|
|
private void turtleSettings() {
|
|
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
|
|
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
|
|
@@ -1694,6 +1746,7 @@ public class PurpurWorldConfig {
|
|
set("mobs.turtle.attributes.max_health", oldValue);
|
|
}
|
|
turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth);
|
|
+ turtleBreedingTicks = getInt("mobs.turtle.breeding-delay-ticks", turtleBreedingTicks);
|
|
}
|
|
|
|
public boolean vexRidable = false;
|
|
@@ -1721,6 +1774,7 @@ public class PurpurWorldConfig {
|
|
public boolean villagerFollowEmeraldBlock = false;
|
|
public boolean villagerCanBeLeashed = false;
|
|
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);
|
|
@@ -1734,6 +1788,7 @@ public class PurpurWorldConfig {
|
|
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
|
|
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
|
|
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
|
|
+ villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks);
|
|
}
|
|
|
|
public boolean vindicatorRidable = false;
|
|
@@ -1845,6 +1900,7 @@ public class PurpurWorldConfig {
|
|
public boolean wolfRidableInWater = false;
|
|
public boolean wolfControllable = true;
|
|
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);
|
|
@@ -1855,6 +1911,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;
|