mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-19 17:37:42 +01:00
928 lines
46 KiB
Diff
928 lines
46 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 e3a0a2914db92c95c894174e3815e3eca8d70826..4643c07bc2a26e7886b714514b7a4a059835af64 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Animal.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Animal.java
|
|
@@ -40,6 +40,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);
|
|
@@ -272,8 +273,10 @@ public abstract class Animal extends AgeableMob {
|
|
entityplayer.awardStat(Stats.ANIMALS_BRED);
|
|
CriteriaTriggers.BRED_ANIMALS.trigger(entityplayer, this, entityanimal, entityageable);
|
|
});
|
|
- this.setAge(6000);
|
|
- entityanimal.setAge(6000);
|
|
+ // Purpur start
|
|
+ this.setAge(this.getPurpurBreedTime());
|
|
+ entityanimal.setAge(entityanimal.getPurpurBreedTime());
|
|
+ // Purpur end
|
|
this.resetLove();
|
|
entityanimal.resetLove();
|
|
worldserver.broadcastEntityEvent(this, (byte) 18);
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
|
index cd960eaeb3b86177b962db69173112f746bc52e1..d50f80e1b6ba690c25fb2993f596f2329bd422a3 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
|
@@ -420,6 +420,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
|
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.beeMaxHealth);
|
|
}
|
|
|
|
+ @Override
|
|
+ public int getPurpurBreedTime() {
|
|
+ return this.level.purpurConfig.beeBreedingTicks;
|
|
+ }
|
|
+
|
|
@Override
|
|
public int getRemainingPersistentAngerTime() {
|
|
return (Integer) this.entityData.get(Bee.DATA_REMAINING_ANGER_TIME);
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
|
index 3981a2b7501ceb62562785b2ace5990473919fa0..a47718747f41a80b5aecffdf74aa1095786cf9a3 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
|
@@ -102,6 +102,11 @@ public class Cat extends TamableAnimal implements VariantHolder<CatVariant> {
|
|
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.catMaxHealth);
|
|
}
|
|
|
|
+ @Override
|
|
+ public int getPurpurBreedTime() {
|
|
+ return this.level.purpurConfig.catBreedingTicks;
|
|
+ }
|
|
+
|
|
public ResourceLocation getResourceLocation() {
|
|
return this.getVariant().texture();
|
|
}
|
|
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 7d6307aed4d1c15edf2008715ec90f61aac42046..6ade6225e83bab038aab91637a425616cab2853e 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
|
@@ -62,6 +62,11 @@ public class Chicken extends Animal {
|
|
}
|
|
}
|
|
|
|
+ @Override
|
|
+ public int getPurpurBreedTime() {
|
|
+ return this.level.purpurConfig.chickenBreedingTicks;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(0, new FloatGoal(this));
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
|
index 2d8f51fd2f9562ccffe25a965aa02613eed3d71b..154829bdef01a0a93f163578ea8e51a0cb3952e5 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
|
@@ -48,6 +48,11 @@ public class Cow extends Animal {
|
|
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.cowMaxHealth);
|
|
}
|
|
|
|
+ @Override
|
|
+ public int getPurpurBreedTime() {
|
|
+ return this.level.purpurConfig.cowBreedingTicks;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(0, new FloatGoal(this));
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
|
index 5ee2f4d9e0bb97de9cb8bd3b2c4b6280c607b323..a80d18398db003ddeaa28aa00e13a0869191695f 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
|
@@ -148,6 +148,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
|
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.foxMaxHealth);
|
|
}
|
|
|
|
+ @Override
|
|
+ public int getPurpurBreedTime() {
|
|
+ return this.level.purpurConfig.foxBreedingTicks;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void defineSynchedData() {
|
|
super.defineSynchedData();
|
|
@@ -941,8 +946,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 841d97651827c24350854fa16f9c65e8daf70d55..6d7fd5bab1173e99eb8f2b67d202b22abaad28bb 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
|
@@ -68,6 +68,11 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
|
|
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;
|
|
+ }
|
|
+
|
|
@Override
|
|
public float getWalkTargetValue(BlockPos pos, LevelReader world) {
|
|
return world.getBlockState(pos.below()).is(Blocks.MYCELIUM) ? 10.0F : world.getPathfindingCostFromLightLevels(pos);
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
|
index 68b5a8c608fea6fa110313a6353471e758655e27..42e838e1d41353c42342c8a06e110e8e650a3ca5 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
|
@@ -73,6 +73,11 @@ public class Ocelot extends Animal {
|
|
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.ocelotMaxHealth);
|
|
}
|
|
|
|
+ @Override
|
|
+ public int getPurpurBreedTime() {
|
|
+ return this.level.purpurConfig.ocelotBreedingTicks;
|
|
+ }
|
|
+
|
|
public boolean isTrusting() {
|
|
return (Boolean) this.entityData.get(Ocelot.DATA_TRUSTING);
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
|
index 1ce3b2d3b69b702155ac344482d588be738edf8d..b5c4277efab43543cca5605a4fd6d02df33a151c 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
|
@@ -114,6 +114,11 @@ public class Panda extends Animal {
|
|
setAttributes();
|
|
}
|
|
|
|
+ @Override
|
|
+ public int getPurpurBreedTime() {
|
|
+ return this.level.purpurConfig.pandaBreedingTicks;
|
|
+ }
|
|
+
|
|
@Override
|
|
public boolean canTakeItem(ItemStack stack) {
|
|
EquipmentSlot enumitemslot = Mob.getEquipmentSlotForItem(stack);
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
|
index 55fd983a41714a6cf8af950d0222bb70ab38ced4..f36afb818845b65058891db18575913ceb768b66 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
|
@@ -140,6 +140,11 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
|
|
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.parrotMaxHealth);
|
|
}
|
|
|
|
+ @Override
|
|
+ public int getPurpurBreedTime() {
|
|
+ return 6000;
|
|
+ }
|
|
+
|
|
@Nullable
|
|
@Override
|
|
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
|
|
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 978d4e1816e1f7fb55ae69e4cb272740e095f711..3a1669cbd8309b4c03c7efb9e554423484d096ae 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
|
@@ -69,6 +69,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
|
|
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.pigMaxHealth);
|
|
}
|
|
|
|
+ @Override
|
|
+ public int getPurpurBreedTime() {
|
|
+ return this.level.purpurConfig.pigBreedingTicks;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(0, new FloatGoal(this));
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
|
|
index 071236ec8534dfce2560ca14c09865fc053ab36a..5bbd66ceb757a23bd67690a9e0b5b39b266fcee1 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
|
|
@@ -91,6 +91,11 @@ public class PolarBear extends Animal implements NeutralMob {
|
|
}
|
|
}
|
|
|
|
+ @Override
|
|
+ public int getPurpurBreedTime() {
|
|
+ return this.level.purpurConfig.polarBearBreedingTicks;
|
|
+ }
|
|
+
|
|
@Nullable
|
|
@Override
|
|
public AgeableMob getBreedOffspring(ServerLevel world, AgeableMob entity) {
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
|
index 1e8627f92580d791601fddb01f73b281797c06cb..c2106749af90e0fa0603ef90be919ef11da32758 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
|
@@ -96,6 +96,11 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
|
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.rabbitMaxHealth);
|
|
}
|
|
|
|
+ @Override
|
|
+ public int getPurpurBreedTime() {
|
|
+ return this.level.purpurConfig.rabbitBreedingTicks;
|
|
+ }
|
|
+
|
|
// CraftBukkit start - code from constructor
|
|
public void initializePathFinderGoals(){
|
|
this.setSpeedModifier(0.0D);
|
|
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 5886a9a40cbac1a97d4213d4a806802359953d18..34ddf57d47dc82b87ad9898c91b7891b8255455f 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Sheep.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
|
|
@@ -122,6 +122,11 @@ public class Sheep extends Animal implements Shearable {
|
|
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.sheepMaxHealth);
|
|
}
|
|
|
|
+ @Override
|
|
+ public int getPurpurBreedTime() {
|
|
+ return this.level.purpurConfig.sheepBreedingTicks;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.eatBlockGoal = new EatBlockGoal(this);
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
|
index fc98554897f009352f1869d3e5a42d209a8d520c..2f685d2512d8bd3cb41dd1b652ca2c2fb805b83b 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
|
@@ -88,6 +88,11 @@ public class Turtle extends Animal {
|
|
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.turtleMaxHealth);
|
|
}
|
|
|
|
+ @Override
|
|
+ public int getPurpurBreedTime() {
|
|
+ return this.level.purpurConfig.turtleBreedingTicks;
|
|
+ }
|
|
+
|
|
public void setHomePos(BlockPos pos) {
|
|
this.entityData.set(Turtle.HOME_POS, pos.immutable()); // Paper - called with mutablepos...
|
|
}
|
|
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 123bb0b0a8437935ae5dafbe93b44eb268d1b4c0..d914f8d659404e0e8c499e2cd8bf0a3a6d21905e 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
|
@@ -107,6 +107,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
|
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.wolfMaxHealth);
|
|
}
|
|
|
|
+ @Override
|
|
+ public int getPurpurBreedTime() {
|
|
+ return this.level.purpurConfig.wolfBreedingTicks;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(1, new FloatGoal(this));
|
|
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 d90bf5a45466525c9a04d54b02d366861423be8f..4ce8b7cfdbbb475e257fe91ea541669361b92173 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
|
|
@@ -103,6 +103,11 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
|
|
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.axolotlMaxHealth);
|
|
}
|
|
|
|
+ @Override
|
|
+ public int getPurpurBreedTime() {
|
|
+ return this.level.purpurConfig.axolotlBreedingTicks;
|
|
+ }
|
|
+
|
|
@Override
|
|
public Map<String, Vector3f> getModelRotationValues() {
|
|
return this.modelRotationValues;
|
|
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 95fbdb0e9c59edeb647fe0e5d51d5e6a35152cd6..eb7c9846aa01ec0f5e46c24005110b6e6961e295 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
|
|
@@ -84,6 +84,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 22eb0a8fc35baa04b34265b62aa29a71f3cc7343..177db290818ebd80cdcd74c4e86074bf19a884aa 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
|
|
@@ -87,6 +87,10 @@ public class Frog extends Animal implements VariantHolder<FrogVariant> {
|
|
this.setMaxUpStep(1.0F);
|
|
}
|
|
|
|
+ public int getPurpurBreedTime() {
|
|
+ return this.level.purpurConfig.frogBreedingTicks;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected Brain.Provider<Frog> brainProvider() {
|
|
return Brain.provider(MEMORY_TYPES, SENSOR_TYPES);
|
|
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 528e7ba29dcd38726b2c1bbc1d8ac208c64ba9df..2c1a6321f46a029ddc1c4e4c0afe07516c874843 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
|
@@ -89,6 +89,11 @@ public class Goat extends Animal {
|
|
return InstrumentItem.create(Items.GOAT_HORN, (Holder) holderset.getRandomElement(randomsource).get());
|
|
}
|
|
|
|
+ @Override
|
|
+ public int getPurpurBreedTime() {
|
|
+ return this.level.purpurConfig.goatBreedingTicks;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected Brain.Provider<Goat> brainProvider() {
|
|
return Brain.provider(Goat.MEMORY_TYPES, Goat.SENSOR_TYPES);
|
|
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 d3e8b9ddc42c506f8a0b696becc2ca63414db76f..11dc7cf7cd38994edb6e8c1ed0761e45bc998bfc 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
|
|
@@ -30,6 +30,11 @@ public class Donkey extends AbstractChestedHorse {
|
|
return generateSpeed(this.level.purpurConfig.donkeyMovementSpeedMin, this.level.purpurConfig.donkeyMovementSpeedMax);
|
|
}
|
|
|
|
+ @Override
|
|
+ public int getPurpurBreedTime() {
|
|
+ return this.level.purpurConfig.donkeyBreedingTicks;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected SoundEvent getAmbientSound() {
|
|
return SoundEvents.DONKEY_AMBIENT;
|
|
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 62f7cdc02e7eb15a96f20ff48470d9869ec82d59..97cbd228dd33333468e545697530bbd14de86308 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
|
|
@@ -55,6 +55,11 @@ public class Horse extends AbstractHorse implements VariantHolder<Variant> {
|
|
return generateSpeed(this.level.purpurConfig.horseMovementSpeedMin, this.level.purpurConfig.horseMovementSpeedMax);
|
|
}
|
|
|
|
+ @Override
|
|
+ public int getPurpurBreedTime() {
|
|
+ return this.level.purpurConfig.horseBreedingTicks;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void randomizeAttributes(RandomSource random) {
|
|
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue((double)generateMaxHealth(random::nextInt));
|
|
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 fbcd47e656a8d33da08d1d852a959bc7cf3a2394..5d960b40ff2c41e7e21cace33a2655eb8bea7dc9 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
|
|
@@ -94,6 +94,11 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
|
return generateSpeed(this.level.purpurConfig.llamaMovementSpeedMin, this.level.purpurConfig.llamaMovementSpeedMax);
|
|
}
|
|
|
|
+ @Override
|
|
+ public int getPurpurBreedTime() {
|
|
+ return this.level.purpurConfig.llamaBreedingTicks;
|
|
+ }
|
|
+
|
|
public boolean isTraderLlama() {
|
|
return false;
|
|
}
|
|
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 c3d58f503e940b123c26f20acd0527209b9df5f2..b219f5003379280d812acadd5a9ed93dde27ff8b 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
|
|
@@ -29,6 +29,11 @@ public class Mule extends AbstractChestedHorse {
|
|
return generateSpeed(this.level.purpurConfig.muleMovementSpeedMin, this.level.purpurConfig.muleMovementSpeedMax);
|
|
}
|
|
|
|
+ @Override
|
|
+ public int getPurpurBreedTime() {
|
|
+ return this.level.purpurConfig.muleBreedingTicks;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected SoundEvent getAmbientSound() {
|
|
return SoundEvents.MULE_AMBIENT;
|
|
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 5fa0c86940e46ac29ffc6427c1e8780299b50d73..ef97b87b6c385888f96e6e9dbb949d0d8977bc78 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
|
|
@@ -43,6 +43,11 @@ public class SkeletonHorse extends AbstractHorse {
|
|
return generateSpeed(this.level.purpurConfig.skeletonHorseMovementSpeedMin, this.level.purpurConfig.skeletonHorseMovementSpeedMax);
|
|
}
|
|
|
|
+ @Override
|
|
+ public int getPurpurBreedTime() {
|
|
+ return 6000;
|
|
+ }
|
|
+
|
|
public static AttributeSupplier.Builder createAttributes() {
|
|
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, (double)0.2F);
|
|
}
|
|
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 4e20863b7655d6c940ca42ab97f96617babfb11a..55b64ac786696736058c5f4314c7fb075c05bba3 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
|
|
@@ -42,6 +42,11 @@ public class TraderLlama extends Llama {
|
|
return generateSpeed(this.level.purpurConfig.traderLlamaMovementSpeedMin, this.level.purpurConfig.traderLlamaMovementSpeedMax);
|
|
}
|
|
|
|
+ @Override
|
|
+ public int getPurpurBreedTime() {
|
|
+ return this.level.purpurConfig.traderLlamaBreedingTicks;
|
|
+ }
|
|
+
|
|
@Override
|
|
public boolean isTraderLlama() {
|
|
return true;
|
|
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 59962c79b7bc999beee493f013bfddc905b582b9..f3f4c559f19de41f1102dde13dbb554218219e9f 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
|
|
@@ -36,6 +36,11 @@ public class ZombieHorse extends AbstractHorse {
|
|
return generateSpeed(this.level.purpurConfig.zombieHorseMovementSpeedMin, this.level.purpurConfig.zombieHorseMovementSpeedMax);
|
|
}
|
|
|
|
+ @Override
|
|
+ public int getPurpurBreedTime() {
|
|
+ return 6000;
|
|
+ }
|
|
+
|
|
public static AttributeSupplier.Builder createAttributes() {
|
|
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, (double)0.2F);
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java b/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
|
|
index bb6adbf3230866411c7e7581c77eebd085084abd..fdc158726cf6abfce68dd850709602b9bb70b12f 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
|
|
@@ -95,6 +95,11 @@ public class Sniffer extends Animal {
|
|
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.snifferMaxHealth);
|
|
}
|
|
|
|
+ @Override
|
|
+ public int getPurpurBreedTime() {
|
|
+ return this.level.purpurConfig.snifferBreedingTicks;
|
|
+ }
|
|
+
|
|
// 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 bf44fc59eb4f2d18c728a7c24fd8b5c518208f09..3479e37415a1d5a94a1e2388bd56558b6d56eec9 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Strider.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java
|
|
@@ -105,6 +105,11 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
|
|
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.striderMaxHealth);
|
|
}
|
|
|
|
+ @Override
|
|
+ public int getPurpurBreedTime() {
|
|
+ return this.level.purpurConfig.striderBreedingTicks;
|
|
+ }
|
|
+
|
|
public static boolean checkStriderSpawnRules(EntityType<Strider> type, LevelAccessor world, MobSpawnType spawnReason, BlockPos pos, RandomSource random) {
|
|
BlockPos.MutableBlockPos blockposition_mutableblockposition = pos.mutable();
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
|
index 139c0853d54f736d61ae8c2f90c8bef9e4acb164..467ea5292a5dca5679b0e9b92b75447c3770fae0 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
|
|
@@ -72,6 +72,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
|
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.hoglinMaxHealth);
|
|
}
|
|
|
|
+ @Override
|
|
+ public int getPurpurBreedTime() {
|
|
+ return this.level.purpurConfig.hoglinBreedingTicks;
|
|
+ }
|
|
+
|
|
@Override
|
|
public boolean canBeLeashed(Player player) {
|
|
return !this.isLeashed();
|
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
index 0780e76f12cd36744e5682860cf399634d4d137c..82222e74b3fd450b3c8c3d8b04a7243c7baba475 100644
|
|
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
@@ -480,8 +480,10 @@ public class PurpurWorldConfig {
|
|
}
|
|
|
|
public double axolotlMaxHealth = 14.0D;
|
|
+ public int axolotlBreedingTicks = 6000;
|
|
private void axolotlSettings() {
|
|
axolotlMaxHealth = getDouble("mobs.axolotl.attributes.max_health", axolotlMaxHealth);
|
|
+ axolotlBreedingTicks = getInt("mobs.axolotl.breeding-delay-ticks", axolotlBreedingTicks);
|
|
}
|
|
|
|
public double batMaxHealth = 6.0D;
|
|
@@ -509,6 +511,7 @@ public class PurpurWorldConfig {
|
|
}
|
|
|
|
public double beeMaxHealth = 10.0D;
|
|
+ public int beeBreedingTicks = 6000;
|
|
private void beeSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.bee.attributes.max-health", beeMaxHealth);
|
|
@@ -516,6 +519,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 double blazeMaxHealth = 20.0D;
|
|
@@ -528,6 +532,7 @@ public class PurpurWorldConfig {
|
|
blazeMaxHealth = getDouble("mobs.blaze.attributes.max_health", blazeMaxHealth);
|
|
}
|
|
|
|
+ public int camelBreedingTicks = 6000;
|
|
public double camelMaxHealthMin = 32.0D;
|
|
public double camelMaxHealthMax = 32.0D;
|
|
public double camelJumpStrengthMin = 0.42D;
|
|
@@ -541,12 +546,14 @@ 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 double catMaxHealth = 10.0D;
|
|
public int catSpawnDelay = 1200;
|
|
public int catSpawnSwampHutScanRange = 16;
|
|
public int catSpawnVillageScanRange = 48;
|
|
+ public int catBreedingTicks = 6000;
|
|
private void catSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.cat.attributes.max-health", catMaxHealth);
|
|
@@ -557,6 +564,7 @@ public class PurpurWorldConfig {
|
|
catSpawnDelay = getInt("mobs.cat.spawn-delay", catSpawnDelay);
|
|
catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange);
|
|
catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange);
|
|
+ catBreedingTicks = getInt("mobs.cat.breeding-delay-ticks", catBreedingTicks);
|
|
}
|
|
|
|
public double caveSpiderMaxHealth = 12.0D;
|
|
@@ -571,6 +579,7 @@ public class PurpurWorldConfig {
|
|
|
|
public double chickenMaxHealth = 4.0D;
|
|
public boolean chickenRetaliate = false;
|
|
+ public int chickenBreedingTicks = 6000;
|
|
private void chickenSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.chicken.attributes.max-health", chickenMaxHealth);
|
|
@@ -579,6 +588,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 double codMaxHealth = 3.0D;
|
|
@@ -593,6 +603,7 @@ public class PurpurWorldConfig {
|
|
|
|
public double cowMaxHealth = 10.0D;
|
|
public int cowFeedMushrooms = 0;
|
|
+ public int cowBreedingTicks = 6000;
|
|
private void cowSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.cow.attributes.max-health", cowMaxHealth);
|
|
@@ -601,6 +612,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 double creeperMaxHealth = 20.0D;
|
|
@@ -635,6 +647,7 @@ public class PurpurWorldConfig {
|
|
public double donkeyJumpStrengthMax = 0.5D;
|
|
public double donkeyMovementSpeedMin = 0.175D;
|
|
public double donkeyMovementSpeedMax = 0.175D;
|
|
+ public int donkeyBreedingTicks = 6000;
|
|
private void donkeySettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldMin = getDouble("mobs.donkey.attributes.max-health.min", donkeyMaxHealthMin);
|
|
@@ -649,6 +662,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 double drownedMaxHealth = 20.0D;
|
|
@@ -729,6 +743,7 @@ public class PurpurWorldConfig {
|
|
|
|
public double foxMaxHealth = 10.0D;
|
|
public boolean foxTypeChangesWithTulips = false;
|
|
+ public int foxBreedingTicks = 6000;
|
|
private void foxSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.fox.attributes.max-health", foxMaxHealth);
|
|
@@ -737,6 +752,12 @@ 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 int frogBreedingTicks = 6000;
|
|
+ private void frogSettings() {
|
|
+ frogBreedingTicks = getInt("mobs.frog.breeding-delay-ticks", frogBreedingTicks);
|
|
}
|
|
|
|
public double ghastMaxHealth = 10.0D;
|
|
@@ -783,8 +804,10 @@ public class PurpurWorldConfig {
|
|
}
|
|
|
|
public double goatMaxHealth = 10.0D;
|
|
+ public int goatBreedingTicks = 6000;
|
|
private void goatSettings() {
|
|
goatMaxHealth = getDouble("mobs.goat.attributes.max_health", goatMaxHealth);
|
|
+ goatBreedingTicks = getInt("mobs.goat.breeding-delay-ticks", goatBreedingTicks);
|
|
}
|
|
|
|
public double guardianMaxHealth = 30.0D;
|
|
@@ -798,6 +821,7 @@ public class PurpurWorldConfig {
|
|
}
|
|
|
|
public double hoglinMaxHealth = 40.0D;
|
|
+ public int hoglinBreedingTicks = 6000;
|
|
private void hoglinSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.hoglin.attributes.max-health", hoglinMaxHealth);
|
|
@@ -805,6 +829,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 double horseMaxHealthMin = 15.0D;
|
|
@@ -813,6 +838,7 @@ public class PurpurWorldConfig {
|
|
public double horseJumpStrengthMax = 1.0D;
|
|
public double horseMovementSpeedMin = 0.1125D;
|
|
public double horseMovementSpeedMax = 0.3375D;
|
|
+ public int horseBreedingTicks = 6000;
|
|
private void horseSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldMin = getDouble("mobs.horse.attributes.max-health.min", horseMaxHealthMin);
|
|
@@ -827,6 +853,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 double huskMaxHealth = 20.0D;
|
|
@@ -884,6 +911,7 @@ public class PurpurWorldConfig {
|
|
public double llamaJumpStrengthMax = 0.5D;
|
|
public double llamaMovementSpeedMin = 0.175D;
|
|
public double llamaMovementSpeedMax = 0.175D;
|
|
+ public int llamaBreedingTicks = 6000;
|
|
private void llamaSettings() {
|
|
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
|
|
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);
|
|
@@ -901,6 +929,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 String magmaCubeMaxHealth = "size * size";
|
|
@@ -920,6 +949,7 @@ public class PurpurWorldConfig {
|
|
}
|
|
|
|
public double mooshroomMaxHealth = 10.0D;
|
|
+ public int mooshroomBreedingTicks = 6000;
|
|
private void mooshroomSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.mooshroom.attributes.max-health", mooshroomMaxHealth);
|
|
@@ -927,6 +957,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 double muleMaxHealthMin = 15.0D;
|
|
@@ -935,6 +966,7 @@ public class PurpurWorldConfig {
|
|
public double muleJumpStrengthMax = 0.5D;
|
|
public double muleMovementSpeedMin = 0.175D;
|
|
public double muleMovementSpeedMax = 0.175D;
|
|
+ public int muleBreedingTicks = 6000;
|
|
private void muleSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldMin = getDouble("mobs.mule.attributes.max-health.min", muleMaxHealthMin);
|
|
@@ -949,9 +981,11 @@ 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 double ocelotMaxHealth = 10.0D;
|
|
+ public int ocelotBreedingTicks = 6000;
|
|
private void ocelotSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.ocelot.attributes.max-health", ocelotMaxHealth);
|
|
@@ -959,9 +993,11 @@ 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 double pandaMaxHealth = 20.0D;
|
|
+ public int pandaBreedingTicks = 6000;
|
|
private void pandaSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.panda.attributes.max-health", pandaMaxHealth);
|
|
@@ -969,6 +1005,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 double parrotMaxHealth = 6.0D;
|
|
@@ -1021,6 +1058,7 @@ public class PurpurWorldConfig {
|
|
|
|
public double pigMaxHealth = 10.0D;
|
|
public boolean pigGiveSaddleBack = false;
|
|
+ public int pigBreedingTicks = 6000;
|
|
private void pigSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.pig.attributes.max-health", pigMaxHealth);
|
|
@@ -1029,6 +1067,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 double piglinMaxHealth = 16.0D;
|
|
@@ -1064,6 +1103,7 @@ public class PurpurWorldConfig {
|
|
public double polarBearMaxHealth = 30.0D;
|
|
public String polarBearBreedableItemString = "";
|
|
public Item polarBearBreedableItem = null;
|
|
+ public int polarBearBreedingTicks = 6000;
|
|
private void polarBearSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.polar_bear.attributes.max-health", polarBearMaxHealth);
|
|
@@ -1074,6 +1114,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 double pufferfishMaxHealth = 3.0D;
|
|
@@ -1089,6 +1130,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() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.rabbit.attributes.max-health", rabbitMaxHealth);
|
|
@@ -1098,6 +1140,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 double ravagerMaxHealth = 100.0D;
|
|
@@ -1121,6 +1164,7 @@ public class PurpurWorldConfig {
|
|
}
|
|
|
|
public double sheepMaxHealth = 8.0D;
|
|
+ public int sheepBreedingTicks = 6000;
|
|
private void sheepSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.sheep.attributes.max-health", sheepMaxHealth);
|
|
@@ -1128,6 +1172,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 double shulkerMaxHealth = 30.0D;
|
|
@@ -1214,8 +1259,10 @@ public class PurpurWorldConfig {
|
|
}
|
|
|
|
public double snifferMaxHealth = 14.0D;
|
|
+ public int snifferBreedingTicks = 6000;
|
|
private void snifferSettings() {
|
|
snifferMaxHealth = getDouble("mobs.sniffer.attributes.max_health", snifferMaxHealth);
|
|
+ snifferBreedingTicks = getInt("mobs.sniffer.breeding-delay-ticks", chickenBreedingTicks);
|
|
}
|
|
|
|
public double squidMaxHealth = 10.0D;
|
|
@@ -1255,6 +1302,7 @@ public class PurpurWorldConfig {
|
|
}
|
|
|
|
public double striderMaxHealth = 20.0D;
|
|
+ public int striderBreedingTicks = 6000;
|
|
private void striderSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.strider.attributes.max-health", striderMaxHealth);
|
|
@@ -1262,6 +1310,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 double traderLlamaMaxHealthMin = 15.0D;
|
|
@@ -1270,6 +1319,7 @@ public class PurpurWorldConfig {
|
|
public double traderLlamaJumpStrengthMax = 0.5D;
|
|
public double traderLlamaMovementSpeedMin = 0.175D;
|
|
public double traderLlamaMovementSpeedMax = 0.175D;
|
|
+ public int traderLlamaBreedingTicks = 6000;
|
|
private void traderLlamaSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldMin = getDouble("mobs.trader_llama.attributes.max-health.min", traderLlamaMaxHealthMin);
|
|
@@ -1284,6 +1334,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 double tropicalFishMaxHealth = 3.0D;
|
|
@@ -1297,6 +1348,7 @@ public class PurpurWorldConfig {
|
|
}
|
|
|
|
public double turtleMaxHealth = 30.0D;
|
|
+ public int turtleBreedingTicks = 6000;
|
|
private void turtleSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.turtle.attributes.max-health", turtleMaxHealth);
|
|
@@ -1304,6 +1356,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 double vexMaxY = 320D;
|
|
@@ -1322,6 +1375,7 @@ public class PurpurWorldConfig {
|
|
public boolean villagerFollowEmeraldBlock = false;
|
|
public boolean villagerCanBeLeashed = false;
|
|
public boolean villagerCanBreed = true;
|
|
+ public int villagerBreedingTicks = 6000;
|
|
private void villagerSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.villager.attributes.max-health", villagerMaxHealth);
|
|
@@ -1332,6 +1386,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 double vindicatorMaxHealth = 24.0D;
|
|
@@ -1399,6 +1454,7 @@ public class PurpurWorldConfig {
|
|
}
|
|
|
|
public double wolfMaxHealth = 8.0D;
|
|
+ public int wolfBreedingTicks = 6000;
|
|
private void wolfSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.wolf.attributes.max-health", wolfMaxHealth);
|
|
@@ -1406,6 +1462,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 double zoglinMaxHealth = 40.0D;
|