mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 08:27:43 +01:00
progress
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
group=net.pl3x.purpur
|
||||
version=1.17-R0.1-SNAPSHOT
|
||||
packageVersion=1_17_R1
|
||||
paperCommit=ac95f25f3534d0c5e65ea7d106973639a58670a1
|
||||
paperCommit=3d43c5e50077ac7fa1e68cf7a7add0ac77768a61
|
||||
|
||||
org.gradle.parallel=true
|
||||
org.gradle.jvmargs=-Xmx3G
|
||||
|
||||
@@ -1,135 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: montlikadani <montlikada@gmail.com>
|
||||
Date: Fri, 13 Nov 2020 17:52:40 +0100
|
||||
Subject: [PATCH] Add adjustable breeding cooldown to config
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/EntityAnimal.java b/src/main/java/net/minecraft/world/entity/animal/EntityAnimal.java
|
||||
index 4de0a733819d408e8b9a55b604f455281d7732c5..94b5874c1eb90c02a557179a2a1170b1da85deb4 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/EntityAnimal.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/EntityAnimal.java
|
||||
@@ -145,7 +145,7 @@ public abstract class EntityAnimal extends EntityAgeable {
|
||||
if (this.k(itemstack)) {
|
||||
int i = this.getAge();
|
||||
|
||||
- if (!this.world.isClientSide && i == 0 && this.eP()) {
|
||||
+ if (!this.world.isClientSide && i == 0 && this.eP() && (this.world.purpurConfig.animalBreedingCooldownSeconds <= 0 || !this.world.hasBreedingCooldown(entityhuman.getUniqueID(), this.getClass()))) { // Purpur
|
||||
this.a(entityhuman, itemstack);
|
||||
this.g(entityhuman);
|
||||
return EnumInteractionResult.SUCCESS;
|
||||
@@ -237,6 +237,14 @@ public abstract class EntityAnimal extends EntityAgeable {
|
||||
if (entityplayer == null && entityanimal.getBreedCause() != null) {
|
||||
entityplayer = entityanimal.getBreedCause();
|
||||
}
|
||||
+ // Purpur start
|
||||
+ if (entityplayer != null && worldserver.purpurConfig.animalBreedingCooldownSeconds > 0) {
|
||||
+ if (worldserver.hasBreedingCooldown(entityplayer.getUniqueID(), this.getClass())) {
|
||||
+ return;
|
||||
+ }
|
||||
+ worldserver.addBreedingCooldown(entityplayer.getUniqueID(), this.getClass());
|
||||
+ }
|
||||
+ // Purpur end
|
||||
// CraftBukkit start - call EntityBreedEvent
|
||||
entityageable.setBaby(true);
|
||||
entityageable.setPositionRotation(this.locX(), this.locY(), this.locZ(), 0.0F, 0.0F);
|
||||
diff --git a/src/main/java/net/minecraft/world/level/World.java b/src/main/java/net/minecraft/world/level/World.java
|
||||
index ea40c3d862acdea4d02b234ae5039204a415df20..dd0dabc36de2ae01d631e46795071f8ec3477f5a 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/World.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/World.java
|
||||
@@ -41,6 +41,7 @@ import net.minecraft.world.DifficultyDamageScaler;
|
||||
import net.minecraft.world.damagesource.DamageSource;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.entity.EntityTypes;
|
||||
+import net.minecraft.world.entity.animal.EntityAnimal;
|
||||
import net.minecraft.world.entity.decoration.EntityArmorStand;
|
||||
import net.minecraft.world.entity.player.EntityHuman;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
@@ -167,6 +168,48 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
private int tileTickPosition;
|
||||
public final Map<Explosion.CacheKey, Float> explosionDensityCache = new HashMap<>(); // Paper - Optimize explosions
|
||||
public java.util.ArrayDeque<BlockRedstoneTorch.RedstoneUpdateInfo> redstoneUpdateInfos; // Paper - Move from Map in BlockRedstoneTorch to here
|
||||
+ // Purpur start
|
||||
+ private com.google.common.cache.Cache<BreedingCooldownPair, Object> playerBreedingCooldowns;
|
||||
+
|
||||
+ private com.google.common.cache.Cache<BreedingCooldownPair, Object> getNewBreedingCooldownCache() {
|
||||
+ return com.google.common.cache.CacheBuilder.newBuilder().expireAfterWrite(this.purpurConfig.animalBreedingCooldownSeconds, java.util.concurrent.TimeUnit.SECONDS).build();
|
||||
+ }
|
||||
+
|
||||
+ public void resetBreedingCooldowns() {
|
||||
+ this.playerBreedingCooldowns = this.getNewBreedingCooldownCache();
|
||||
+ }
|
||||
+
|
||||
+ public boolean hasBreedingCooldown(java.util.UUID player, Class<? extends EntityAnimal> animalType) { // Purpur
|
||||
+ return this.playerBreedingCooldowns.getIfPresent(new BreedingCooldownPair(player, animalType)) != null;
|
||||
+ }
|
||||
+
|
||||
+ public void addBreedingCooldown(java.util.UUID player, Class<? extends EntityAnimal> animalType) {
|
||||
+ this.playerBreedingCooldowns.put(new BreedingCooldownPair(player, animalType), new Object());
|
||||
+ }
|
||||
+
|
||||
+ private static final class BreedingCooldownPair {
|
||||
+ private final java.util.UUID playerUUID;
|
||||
+ private final Class<? extends EntityAnimal> animalType;
|
||||
+
|
||||
+ public BreedingCooldownPair(java.util.UUID playerUUID, Class<? extends EntityAnimal> animalType) {
|
||||
+ this.playerUUID = playerUUID;
|
||||
+ this.animalType = animalType;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean equals(Object o) {
|
||||
+ if (this == o) return true;
|
||||
+ if (o == null || getClass() != o.getClass()) return false;
|
||||
+ BreedingCooldownPair that = (BreedingCooldownPair) o;
|
||||
+ return playerUUID.equals(that.playerUUID) && animalType.equals(that.animalType);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public int hashCode() {
|
||||
+ return java.util.Objects.hash(playerUUID, animalType);
|
||||
+ }
|
||||
+ }
|
||||
+ // Purpur end
|
||||
|
||||
public CraftWorld getWorld() {
|
||||
return this.world;
|
||||
@@ -201,6 +244,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
this.paperConfig = new com.destroystokyo.paper.PaperWorldConfig(((net.minecraft.world.level.storage.WorldDataServer) worlddatamutable).getName(), this.spigotConfig); // Paper
|
||||
this.chunkPacketBlockController = this.paperConfig.antiXray ? new ChunkPacketBlockControllerAntiXray(this, executor) : ChunkPacketBlockController.NO_OPERATION_INSTANCE; // Paper - Anti-Xray
|
||||
this.purpurConfig = new net.pl3x.purpur.PurpurWorldConfig((((net.minecraft.world.level.storage.WorldDataServer)worlddatamutable).getName()), env); // Purpur
|
||||
+ this.playerBreedingCooldowns = this.getNewBreedingCooldownCache(); // Purpur
|
||||
this.generator = gen;
|
||||
this.world = new CraftWorld((WorldServer) this, gen, env);
|
||||
this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 44c27c6dd4993add42410373191a46f4cc92f42f..b92715b115332e8197d5a02a2f308a1ab0f447b6 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -265,6 +265,7 @@ public class PurpurWorldConfig {
|
||||
public double voidDamageHeight = -64.0D;
|
||||
public double voidDamageDealt = 4.0D;
|
||||
public int raidCooldownSeconds = 0;
|
||||
+ public int animalBreedingCooldownSeconds = 0;
|
||||
private void miscGameplayMechanicsSettings() {
|
||||
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
|
||||
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
|
||||
@@ -277,6 +278,7 @@ public class PurpurWorldConfig {
|
||||
voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight);
|
||||
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
|
||||
raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds);
|
||||
+ animalBreedingCooldownSeconds = getInt("gameplay-mechanics.animal-breeding-cooldown-seconds", animalBreedingCooldownSeconds);
|
||||
}
|
||||
|
||||
public boolean catSpawning;
|
||||
diff --git a/src/main/java/net/pl3x/purpur/command/PurpurCommand.java b/src/main/java/net/pl3x/purpur/command/PurpurCommand.java
|
||||
index 536955124afaec5c8a070249c7432cb99bf43d67..0c35b1dd5147cf86c7ee743b98528e8f4bc0b5e9 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/command/PurpurCommand.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/command/PurpurCommand.java
|
||||
@@ -49,6 +49,7 @@ public class PurpurCommand extends Command {
|
||||
PurpurConfig.init((File) console.options.valueOf("purpur-settings"));
|
||||
for (WorldServer world : console.getWorlds()) {
|
||||
world.purpurConfig.init();
|
||||
+ world.resetBreedingCooldowns();
|
||||
}
|
||||
console.server.reloadCount++;
|
||||
|
||||
@@ -1,685 +0,0 @@
|
||||
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/BehaviorMakeLove.java b/src/main/java/net/minecraft/world/entity/ai/behavior/BehaviorMakeLove.java
|
||||
index 79989c143fc8393172475e33d356510b3547afb9..d1315f4b6e026f70e04a0b54289fd13b4be17cde 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ai/behavior/BehaviorMakeLove.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/BehaviorMakeLove.java
|
||||
@@ -117,8 +117,10 @@ public class BehaviorMakeLove extends Behavior<EntityVillager> {
|
||||
return Optional.empty();
|
||||
}
|
||||
// CraftBukkit end
|
||||
- entityvillager.setAgeRaw(6000);
|
||||
- entityvillager1.setAgeRaw(6000);
|
||||
+ // Purpur start
|
||||
+ entityvillager.setAgeRaw(worldserver.purpurConfig.villagerBreedingTicks);
|
||||
+ entityvillager1.setAgeRaw(worldserver.purpurConfig.villagerBreedingTicks);
|
||||
+ // Purpur end
|
||||
worldserver.addAllEntities(entityvillager2, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BREEDING); // CraftBukkit - added SpawnReason
|
||||
worldserver.broadcastEntityEffect(entityvillager2, (byte) 12);
|
||||
return Optional.of(entityvillager2);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/EntityAnimal.java b/src/main/java/net/minecraft/world/entity/animal/EntityAnimal.java
|
||||
index 94b5874c1eb90c02a557179a2a1170b1da85deb4..181bb648dd32f71c7f9d3fbb4974e2a1afba61ac 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/EntityAnimal.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/EntityAnimal.java
|
||||
@@ -38,6 +38,7 @@ public abstract class EntityAnimal extends EntityAgeable {
|
||||
public int loveTicks;
|
||||
public UUID breedCause;
|
||||
public ItemStack breedItem; // CraftBukkit - Add breedItem variable
|
||||
+ public abstract int getPurpurBreedTime(); // Purpur
|
||||
|
||||
protected EntityAnimal(EntityTypes<? extends EntityAnimal> entitytypes, World world) {
|
||||
super(entitytypes, world);
|
||||
@@ -261,8 +262,10 @@ public abstract class EntityAnimal extends EntityAgeable {
|
||||
CriterionTriggers.o.a(entityplayer, this, entityanimal, entityageable);
|
||||
}
|
||||
|
||||
- this.setAgeRaw(6000);
|
||||
- entityanimal.setAgeRaw(6000);
|
||||
+ // Purpur start
|
||||
+ this.setAgeRaw(this.getPurpurBreedTime());
|
||||
+ entityanimal.setAgeRaw(entityanimal.getPurpurBreedTime());
|
||||
+ // Purpur end
|
||||
this.resetLove();
|
||||
entityanimal.resetLove();
|
||||
worldserver.addAllEntities(entityageable, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BREEDING); // CraftBukkit - added SpawnReason
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/EntityBee.java b/src/main/java/net/minecraft/world/entity/animal/EntityBee.java
|
||||
index bcd510e0bf647a240edfaac1348119c5e1d7dc42..6086dda5b06f0c0e02734edf7141b13715420d3c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/EntityBee.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/EntityBee.java
|
||||
@@ -175,6 +175,11 @@ public class EntityBee extends EntityAnimal implements IEntityAngerable, EntityB
|
||||
setMot(mot.a(0.9D));
|
||||
}
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.world.purpurConfig.beeBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/EntityCat.java b/src/main/java/net/minecraft/world/entity/animal/EntityCat.java
|
||||
index 0ec711f8f1d103d24899854f8cbcd261a66f26fc..25b0d4ebb45ffa5579921e6966c63eff1e043b85 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/EntityCat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/EntityCat.java
|
||||
@@ -122,6 +122,11 @@ public class EntityCat extends EntityTameableAnimal {
|
||||
setSleepingWithOwner(false);
|
||||
setHeadDown(false);
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.world.purpurConfig.catBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
public MinecraftKey eU() {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/EntityChicken.java b/src/main/java/net/minecraft/world/entity/animal/EntityChicken.java
|
||||
index 5c744f1eac19e144c39a2c146d312f0547d6e589..ab54e809f735cea7d84366d2bc205351f8992bef 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/EntityChicken.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/EntityChicken.java
|
||||
@@ -71,6 +71,11 @@ public class EntityChicken extends EntityAnimal {
|
||||
this.getAttributeInstance(GenericAttributes.ATTACK_DAMAGE).setValue(2.0D);
|
||||
}
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.world.purpurConfig.chickenBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/EntityCow.java b/src/main/java/net/minecraft/world/entity/animal/EntityCow.java
|
||||
index b2d3fc3151a952ac783101443772736a206a6a3b..7ed55ebe1bb768351a5cb4cdc7d4d3b0816d53b1 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/EntityCow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/EntityCow.java
|
||||
@@ -54,6 +54,11 @@ public class EntityCow extends EntityAnimal {
|
||||
public boolean isRidableInWater() {
|
||||
return world.purpurConfig.cowRidableInWater;
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.world.purpurConfig.cowBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/EntityFox.java b/src/main/java/net/minecraft/world/entity/animal/EntityFox.java
|
||||
index 7b1a6d846f25d8bc659a541fce59df79347ba9bc..70369d03985250fa5eaf398fa98d35a2c2a06ff1 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/EntityFox.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/EntityFox.java
|
||||
@@ -157,6 +157,11 @@ public class EntityFox extends EntityAnimal {
|
||||
super.onDismount(entityhuman);
|
||||
setCanPickupLoot(true);
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.world.purpurConfig.foxBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
@@ -1373,8 +1378,10 @@ public class EntityFox extends EntityAnimal {
|
||||
CriterionTriggers.o.a(entityplayer2, this.animal, this.partner, (EntityAgeable) entityfox);
|
||||
}
|
||||
|
||||
- this.animal.setAgeRaw(6000);
|
||||
- this.partner.setAgeRaw(6000);
|
||||
+ // Purpur start
|
||||
+ this.animal.setAgeRaw(this.animal.getPurpurBreedTime());
|
||||
+ this.partner.setAgeRaw(this.partner.getPurpurBreedTime());
|
||||
+ // Purpur end
|
||||
this.animal.resetLove();
|
||||
this.partner.resetLove();
|
||||
worldserver.addAllEntities(entityfox, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BREEDING); // CraftBukkit - added SpawnReason
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/EntityMushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/EntityMushroomCow.java
|
||||
index 815e907e8db721f2a6f0f831b69c44a9573b5c9b..ab4a8ee6e1912f230cbf3353eb42c3bc8a9db58e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/EntityMushroomCow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/EntityMushroomCow.java
|
||||
@@ -67,6 +67,11 @@ public class EntityMushroomCow extends EntityCow implements IShearable {
|
||||
public boolean isRidableInWater() {
|
||||
return world.purpurConfig.mooshroomRidableInWater;
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.world.purpurConfig.mooshroomBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/EntityOcelot.java b/src/main/java/net/minecraft/world/entity/animal/EntityOcelot.java
|
||||
index d7938ff0dca305f1d47fdfdbc57648892debe367..cff2ff5a8beef739f0515832e072e7e390ac388f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/EntityOcelot.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/EntityOcelot.java
|
||||
@@ -74,6 +74,11 @@ public class EntityOcelot extends EntityAnimal {
|
||||
public boolean isRidableInWater() {
|
||||
return world.purpurConfig.ocelotRidableInWater;
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.world.purpurConfig.ocelotBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
private boolean isTrusting() {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/EntityPanda.java b/src/main/java/net/minecraft/world/entity/animal/EntityPanda.java
|
||||
index 0d912399e1975d9c0d5525f5b89049f40e7efcc0..e6952c0a8d90eb4b133c517d97299f2c3db7e329 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/EntityPanda.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/EntityPanda.java
|
||||
@@ -121,6 +121,11 @@ public class EntityPanda extends EntityAnimal {
|
||||
this.setEating(false);
|
||||
this.setLayingOnBack(false);
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.world.purpurConfig.pandaBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/EntityParrot.java b/src/main/java/net/minecraft/world/entity/animal/EntityParrot.java
|
||||
index 9f705b75a14ba456808485ce4ddef9550aac3fe9..7346921a24bdd57aa3814386bc372b082b23b4bc 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/EntityParrot.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/EntityParrot.java
|
||||
@@ -171,6 +171,11 @@ public class EntityParrot extends EntityPerchable implements EntityBird {
|
||||
setMot(mot.a(0.9D));
|
||||
}
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return 6000;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
@Nullable
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/EntityPig.java b/src/main/java/net/minecraft/world/entity/animal/EntityPig.java
|
||||
index cef69f99d7bc9b6605b9654c50f43a1ebc1a8509..5aa8806063186bec36b38adc51e2ea82bf6ff21a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/EntityPig.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/EntityPig.java
|
||||
@@ -77,6 +77,11 @@ public class EntityPig extends EntityAnimal implements ISteerable, ISaddleable {
|
||||
public boolean isRidableInWater() {
|
||||
return world.purpurConfig.pigRidableInWater;
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.world.purpurConfig.pigBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/EntityPolarBear.java b/src/main/java/net/minecraft/world/entity/animal/EntityPolarBear.java
|
||||
index b46315700b8857318b03b83097fcf829047f8ca4..c9c7c9de638079393bbea86f8069023dcbcbca83 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/EntityPolarBear.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/EntityPolarBear.java
|
||||
@@ -116,6 +116,11 @@ public class EntityPolarBear extends EntityAnimal implements IEntityAngerable {
|
||||
return this.isInLove() && polarbear.isInLove();
|
||||
}
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.world.purpurConfig.polarBearBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/EntityRabbit.java b/src/main/java/net/minecraft/world/entity/animal/EntityRabbit.java
|
||||
index 4660f37bc89418e0c3767305d390a53f5c0d3c55..465701232567e4058f9dfc776560ccde33fee66c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/EntityRabbit.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/EntityRabbit.java
|
||||
@@ -85,6 +85,11 @@ public class EntityRabbit extends EntityAnimal {
|
||||
public boolean isRidableInWater() {
|
||||
return world.purpurConfig.rabbitRidableInWater;
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.world.purpurConfig.rabbitBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
// CraftBukkit start - code from constructor
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/EntitySheep.java b/src/main/java/net/minecraft/world/entity/animal/EntitySheep.java
|
||||
index 8f3296031f220dd7bb3ae9fe2443e479954ebad3..ff6fc821085e4430a3b1008140b0b7fcacc59d2e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/EntitySheep.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/EntitySheep.java
|
||||
@@ -121,6 +121,11 @@ public class EntitySheep extends EntityAnimal implements IShearable {
|
||||
public boolean isRidableInWater() {
|
||||
return world.purpurConfig.sheepRidableInWater;
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.world.purpurConfig.sheepBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/EntityTurtle.java b/src/main/java/net/minecraft/world/entity/animal/EntityTurtle.java
|
||||
index 28d6e673f55fc8fae40dff4a96ac2c2b5eeab9d6..a16f586934f24e599d00bf793f06d3f9134ed29d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/EntityTurtle.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/EntityTurtle.java
|
||||
@@ -101,6 +101,11 @@ public class EntityTurtle extends EntityAnimal {
|
||||
public boolean isRidableInWater() {
|
||||
return world.purpurConfig.turtleRidableInWater;
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.world.purpurConfig.turtleBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
public void setHomePos(BlockPosition blockposition) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/EntityWolf.java b/src/main/java/net/minecraft/world/entity/animal/EntityWolf.java
|
||||
index 3fbd8f9122d7a5ac23af4d872f877030644ef86a..dd3c7ad7701ad18ccaf86d73fde7051090ed3d57 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/EntityWolf.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/EntityWolf.java
|
||||
@@ -107,6 +107,11 @@ public class EntityWolf extends EntityTameableAnimal implements IEntityAngerable
|
||||
super.onMount(entityhuman);
|
||||
setSitting(false);
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.world.purpurConfig.wolfBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/EntityHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/EntityHorse.java
|
||||
index 650f13b1133e4c61f71b36f3f91a9d2913996435..c830bf6e5e38f5ebacc07673c3d67e4157c8c2b5 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/EntityHorse.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/EntityHorse.java
|
||||
@@ -46,6 +46,11 @@ public class EntityHorse extends EntityHorseAbstract {
|
||||
public boolean isRidableInWater() {
|
||||
return world.purpurConfig.horseRidableInWater;
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.world.purpurConfig.horseBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/EntityHorseDonkey.java b/src/main/java/net/minecraft/world/entity/animal/horse/EntityHorseDonkey.java
|
||||
index 50700bf85a296b87fe3155651f869e2bbdb0875d..3b44394dcba8e9905aca46e6e585ee6d7a87de44 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/EntityHorseDonkey.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/EntityHorseDonkey.java
|
||||
@@ -21,6 +21,11 @@ public class EntityHorseDonkey extends EntityHorseChestedAbstract {
|
||||
public boolean isRidableInWater() {
|
||||
return world.purpurConfig.donkeyRidableInWater;
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.world.purpurConfig.donkeyBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/EntityHorseMule.java b/src/main/java/net/minecraft/world/entity/animal/horse/EntityHorseMule.java
|
||||
index b6385a23050296611dbc8864b92d2cdd8321a1d0..0536112357e0321dbb902331467b847894a4c11b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/EntityHorseMule.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/EntityHorseMule.java
|
||||
@@ -20,6 +20,11 @@ public class EntityHorseMule extends EntityHorseChestedAbstract {
|
||||
public boolean isRidableInWater() {
|
||||
return world.purpurConfig.muleRidableInWater;
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.world.purpurConfig.muleBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
@Override
|
||||
protected SoundEffect getSoundAmbient() {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/EntityHorseSkeleton.java b/src/main/java/net/minecraft/world/entity/animal/horse/EntityHorseSkeleton.java
|
||||
index d21399fbb6ddc4f26a7509ce547f8c4ad6458089..28c6e3745c61d0670bf7f3a324169472250e25f4 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/EntityHorseSkeleton.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/EntityHorseSkeleton.java
|
||||
@@ -43,6 +43,11 @@ public class EntityHorseSkeleton extends EntityHorseAbstract {
|
||||
public boolean isTamed() {
|
||||
return true;
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return 6000;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
public static AttributeProvider.Builder eL() {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/EntityHorseZombie.java b/src/main/java/net/minecraft/world/entity/animal/horse/EntityHorseZombie.java
|
||||
index d57e7c02268e5d8a00b0b5897fa03dcee10cd2e0..c776f18722d1aa73f53da66ef6b37564eeaddd2a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/EntityHorseZombie.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/EntityHorseZombie.java
|
||||
@@ -35,6 +35,11 @@ public class EntityHorseZombie extends EntityHorseAbstract {
|
||||
public boolean isTamed() {
|
||||
return true;
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return 6000;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
public static AttributeProvider.Builder eL() {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/EntityLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/EntityLlama.java
|
||||
index d25177f9500a084e0f18a20b1eb1c4ac170048ec..2710c246a147f117d2d90014c37988888010dc36 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/EntityLlama.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/EntityLlama.java
|
||||
@@ -108,6 +108,11 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||
public boolean hasSaddle() {
|
||||
return super.hasSaddle() || (isTamed() && getColor() != null);
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.world.purpurConfig.llamaBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
public void setStrength(int i) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/EntityStrider.java b/src/main/java/net/minecraft/world/entity/monster/EntityStrider.java
|
||||
index 14dda6743ed9e6f4880bc560f7ba8892d8e84afe..cba66a08feceeeaf7c123da595fc7b12c5749783 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EntityStrider.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EntityStrider.java
|
||||
@@ -105,6 +105,11 @@ public class EntityStrider extends EntityAnimal implements ISteerable, ISaddleab
|
||||
public boolean isRidableInWater() {
|
||||
return world.purpurConfig.striderRidableInWater;
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.world.purpurConfig.striderBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
public static boolean c(EntityTypes<EntityStrider> entitytypes, GeneratorAccess generatoraccess, EnumMobSpawn enummobspawn, BlockPosition blockposition, Random random) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/hoglin/EntityHoglin.java b/src/main/java/net/minecraft/world/entity/monster/hoglin/EntityHoglin.java
|
||||
index 9bac45983b55abf9b72f2c45f632cdedd48f81f9..9f2af4b37ffb22034b537cc27b42d520a41d4fe7 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/hoglin/EntityHoglin.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/EntityHoglin.java
|
||||
@@ -71,6 +71,11 @@ public class EntityHoglin extends EntityAnimal implements IMonster, IOglin {
|
||||
public boolean isRidableInWater() {
|
||||
return world.purpurConfig.hoglinRidableInWater;
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.world.purpurConfig.hoglinBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index b92715b115332e8197d5a02a2f308a1ab0f447b6..bd37234624a720c1077aabf0123de61a0d4e05cb 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -492,10 +492,12 @@ public class PurpurWorldConfig {
|
||||
public boolean beeRidable = false;
|
||||
public boolean beeRidableInWater = false;
|
||||
public double beeMaxY = 256D;
|
||||
+ public int beeBreedingTicks = 6000;
|
||||
private void beeSettings() {
|
||||
beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
|
||||
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
|
||||
beeMaxY = getDouble("mobs.bee.ridable-max-y", beeMaxY);
|
||||
+ beeBreedingTicks = getInt("mobs.bee.breeding-delay-ticks", beeBreedingTicks);
|
||||
}
|
||||
|
||||
public boolean blazeRidable = false;
|
||||
@@ -512,12 +514,14 @@ public class PurpurWorldConfig {
|
||||
public int catSpawnDelay = 1200;
|
||||
public int catSpawnSwampHutScanRange = 16;
|
||||
public int catSpawnVillageScanRange = 48;
|
||||
+ public int catBreedingTicks = 6000;
|
||||
private void catSettings() {
|
||||
catRidable = getBoolean("mobs.cat.ridable", catRidable);
|
||||
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
|
||||
catSpawnDelay = getInt("mobs.cat.spawn-delay", catSpawnDelay);
|
||||
catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange);
|
||||
catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange);
|
||||
+ catBreedingTicks = getInt("mobs.cat.breeding-delay-ticks", catBreedingTicks);
|
||||
}
|
||||
|
||||
public boolean caveSpiderRidable = false;
|
||||
@@ -530,10 +534,12 @@ public class PurpurWorldConfig {
|
||||
public boolean chickenRidable = false;
|
||||
public boolean chickenRidableInWater = false;
|
||||
public boolean chickenRetaliate = false;
|
||||
+ public int chickenBreedingTicks = 6000;
|
||||
private void chickenSettings() {
|
||||
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
|
||||
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
|
||||
chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate);
|
||||
+ chickenBreedingTicks = getInt("mobs.chicken.breeding-delay-ticks", chickenBreedingTicks);
|
||||
}
|
||||
|
||||
public boolean codRidable = false;
|
||||
@@ -544,10 +550,12 @@ public class PurpurWorldConfig {
|
||||
public boolean cowRidable = false;
|
||||
public boolean cowRidableInWater = false;
|
||||
public int cowFeedMushrooms = 0;
|
||||
+ public int cowBreedingTicks = 6000;
|
||||
private void cowSettings() {
|
||||
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
|
||||
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
|
||||
cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms);
|
||||
+ cowBreedingTicks = getInt("mobs.cow.breeding-delay-ticks", cowBreedingTicks);
|
||||
}
|
||||
|
||||
public boolean creeperRidable = false;
|
||||
@@ -575,8 +583,10 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
|
||||
public boolean donkeyRidableInWater = false;
|
||||
+ public int donkeyBreedingTicks = 6000;
|
||||
private void donkeySettings() {
|
||||
donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater);
|
||||
+ donkeyBreedingTicks = getInt("mobs.donkey.breeding-delay-ticks", donkeyBreedingTicks);
|
||||
}
|
||||
|
||||
public boolean drownedRidable = false;
|
||||
@@ -634,10 +644,12 @@ public class PurpurWorldConfig {
|
||||
public boolean foxRidable = false;
|
||||
public boolean foxRidableInWater = false;
|
||||
public boolean foxTypeChangesWithTulips = false;
|
||||
+ public int foxBreedingTicks = 6000;
|
||||
private void foxSettings() {
|
||||
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
|
||||
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
|
||||
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
|
||||
+ foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks);
|
||||
}
|
||||
|
||||
public boolean ghastRidable = false;
|
||||
@@ -682,14 +694,18 @@ public class PurpurWorldConfig {
|
||||
|
||||
public boolean hoglinRidable = false;
|
||||
public boolean hoglinRidableInWater = false;
|
||||
+ public int hoglinBreedingTicks = 6000;
|
||||
private void hoglinSettings() {
|
||||
hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable);
|
||||
hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater);
|
||||
+ hoglinBreedingTicks = getInt("mobs.hoglin.breeding-delay-ticks", hoglinBreedingTicks);
|
||||
}
|
||||
|
||||
public boolean horseRidableInWater = false;
|
||||
+ public int horseBreedingTicks = 6000;
|
||||
private void horseSettings() {
|
||||
horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater);
|
||||
+ horseBreedingTicks = getInt("mobs.horse.breeding-delay-ticks", horseBreedingTicks);
|
||||
}
|
||||
|
||||
public boolean huskRidable = false;
|
||||
@@ -734,9 +750,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
public boolean llamaRidable = false;
|
||||
public boolean llamaRidableInWater = false;
|
||||
+ public int llamaBreedingTicks = 6000;
|
||||
private void llamaSettings() {
|
||||
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
|
||||
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);
|
||||
+ llamaBreedingTicks = getInt("mobs.llama.breeding-delay-ticks", llamaBreedingTicks);
|
||||
}
|
||||
|
||||
public boolean llamaTraderRidable = false;
|
||||
@@ -755,28 +773,36 @@ public class PurpurWorldConfig {
|
||||
|
||||
public boolean mooshroomRidable = false;
|
||||
public boolean mooshroomRidableInWater = false;
|
||||
+ public int mooshroomBreedingTicks = 6000;
|
||||
private void mooshroomSettings() {
|
||||
mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable);
|
||||
mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater);
|
||||
+ mooshroomBreedingTicks = getInt("mobs.mooshroom.breeding-delay-ticks", mooshroomBreedingTicks);
|
||||
}
|
||||
|
||||
public boolean muleRidableInWater = false;
|
||||
+ public int muleBreedingTicks = 6000;
|
||||
private void muleSettings() {
|
||||
muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater);
|
||||
+ muleBreedingTicks = getInt("mobs.mule.breeding-delay-ticks", muleBreedingTicks);
|
||||
}
|
||||
|
||||
public boolean ocelotRidable = false;
|
||||
public boolean ocelotRidableInWater = false;
|
||||
+ public int ocelotBreedingTicks = 6000;
|
||||
private void ocelotSettings() {
|
||||
ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable);
|
||||
ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater);
|
||||
+ ocelotBreedingTicks = getInt("mobs.ocelot.breeding-delay-ticks", ocelotBreedingTicks);
|
||||
}
|
||||
|
||||
public boolean pandaRidable = false;
|
||||
public boolean pandaRidableInWater = false;
|
||||
+ public int pandaBreedingTicks = 6000;
|
||||
private void pandaSettings() {
|
||||
pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable);
|
||||
pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater);
|
||||
+ pandaBreedingTicks = getInt("mobs.panda.breeding-delay-ticks", pandaBreedingTicks);
|
||||
}
|
||||
|
||||
public boolean parrotRidable = false;
|
||||
@@ -842,10 +868,12 @@ public class PurpurWorldConfig {
|
||||
public boolean pigRidable = false;
|
||||
public boolean pigRidableInWater = false;
|
||||
public boolean pigGiveSaddleBack = false;
|
||||
+ public int pigBreedingTicks = 6000;
|
||||
private void pigSettings() {
|
||||
pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
|
||||
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
|
||||
pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack);
|
||||
+ pigBreedingTicks = getInt("mobs.pig.breeding-delay-ticks", pigBreedingTicks);
|
||||
}
|
||||
|
||||
public boolean piglinRidable = false;
|
||||
@@ -873,12 +901,14 @@ public class PurpurWorldConfig {
|
||||
public boolean polarBearRidableInWater = false;
|
||||
public String polarBearBreedableItemString = "";
|
||||
public Item polarBearBreedableItem = null;
|
||||
+ public int polarBearBreedingTicks = 6000;
|
||||
private void polarBearSettings() {
|
||||
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
|
||||
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
|
||||
polarBearBreedableItemString = getString("mobs.polar_bear.breedable-item", polarBearBreedableItemString);
|
||||
Item item = IRegistry.ITEM.get(new MinecraftKey(polarBearBreedableItemString));
|
||||
if (item != Items.AIR) polarBearBreedableItem = item;
|
||||
+ polarBearBreedingTicks = getInt("mobs.polar_bear.breeding-delay-ticks", polarBearBreedingTicks);
|
||||
}
|
||||
|
||||
public boolean pufferfishRidable = false;
|
||||
@@ -890,11 +920,13 @@ public class PurpurWorldConfig {
|
||||
public boolean rabbitRidableInWater = false;
|
||||
public double rabbitNaturalToast = 0.0D;
|
||||
public double rabbitNaturalKiller = 0.0D;
|
||||
+ public int rabbitBreedingTicks = 6000;
|
||||
private void rabbitSettings() {
|
||||
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
|
||||
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
|
||||
rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast);
|
||||
rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
|
||||
+ rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks);
|
||||
}
|
||||
|
||||
public boolean ravagerRidable = false;
|
||||
@@ -911,9 +943,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
public boolean sheepRidable = false;
|
||||
public boolean sheepRidableInWater = false;
|
||||
+ public int sheepBreedingTicks = 6000;
|
||||
private void sheepSettings() {
|
||||
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
|
||||
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
|
||||
+ sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks);
|
||||
}
|
||||
|
||||
public boolean shulkerRidable = false;
|
||||
@@ -991,9 +1025,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
public boolean striderRidable = false;
|
||||
public boolean striderRidableInWater = false;
|
||||
+ public int striderBreedingTicks = 6000;
|
||||
private void striderSettings() {
|
||||
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
|
||||
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
|
||||
+ striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks);
|
||||
}
|
||||
|
||||
public boolean tropicalFishRidable = false;
|
||||
@@ -1003,9 +1039,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
public boolean turtleRidable = false;
|
||||
public boolean turtleRidableInWater = false;
|
||||
+ public int turtleBreedingTicks = 6000;
|
||||
private void turtleSettings() {
|
||||
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
|
||||
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
|
||||
+ turtleBreedingTicks = getInt("mobs.turtle.breeding-delay-ticks", turtleBreedingTicks);
|
||||
}
|
||||
|
||||
public boolean vexRidable = false;
|
||||
@@ -1027,6 +1065,7 @@ public class PurpurWorldConfig {
|
||||
public int villagerSpawnIronGolemRadius = 0;
|
||||
public int villagerSpawnIronGolemLimit = 0;
|
||||
public boolean villagerCanBreed = true;
|
||||
+ public int villagerBreedingTicks = 6000;
|
||||
private void villagerSettings() {
|
||||
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
|
||||
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
|
||||
@@ -1038,6 +1077,7 @@ public class PurpurWorldConfig {
|
||||
villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius);
|
||||
villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit);
|
||||
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
|
||||
+ villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks);
|
||||
}
|
||||
|
||||
public boolean villagerTraderRidable = false;
|
||||
@@ -1098,9 +1138,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
public boolean wolfRidable = false;
|
||||
public boolean wolfRidableInWater = false;
|
||||
+ public int wolfBreedingTicks = 6000;
|
||||
private void wolfSettings() {
|
||||
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
|
||||
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
|
||||
+ wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks);
|
||||
}
|
||||
|
||||
public boolean zoglinRidable = false;
|
||||
@@ -0,0 +1,128 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: BillyGalbreath <blake.galbreath@gmail.com>
|
||||
Date: Sat, 19 Jun 2021 12:54:11 -0500
|
||||
Subject: [PATCH] Add adjustable breeding cooldown to config
|
||||
|
||||
|
||||
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 5a503a255b4e7e684a8f42d8190430397ca81683..7a90c6a628571730eee382e1efcfe1b90a5ecfc5 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Animal.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Animal.java
|
||||
@@ -145,7 +145,7 @@ public abstract class Animal extends AgeableMob {
|
||||
if (this.isFood(itemstack)) {
|
||||
int i = this.getAge();
|
||||
|
||||
- if (!this.level.isClientSide && i == 0 && this.canFallInLove()) {
|
||||
+ if (!this.level.isClientSide && i == 0 && this.canFallInLove() && (this.level.purpurConfig.animalBreedingCooldownSeconds <= 0 || !this.level.hasBreedingCooldown(player.getUUID(), this.getClass()))) { // Purpur
|
||||
this.usePlayerItem(player, hand, itemstack);
|
||||
this.setInLove(player);
|
||||
this.gameEvent(GameEvent.MOB_INTERACT, this.eyeBlockPosition());
|
||||
@@ -239,6 +239,14 @@ public abstract class Animal extends AgeableMob {
|
||||
if (entityplayer == null && other.getLoveCause() != null) {
|
||||
entityplayer = other.getLoveCause();
|
||||
}
|
||||
+ // Purpur start
|
||||
+ if (entityplayer != null && world.purpurConfig.animalBreedingCooldownSeconds > 0) {
|
||||
+ if (world.hasBreedingCooldown(entityplayer.getUUID(), this.getClass())) {
|
||||
+ return;
|
||||
+ }
|
||||
+ world.addBreedingCooldown(entityplayer.getUUID(), this.getClass());
|
||||
+ }
|
||||
+ // Purpur end
|
||||
// CraftBukkit start - call EntityBreedEvent
|
||||
entityageable.setBaby(true);
|
||||
entityageable.moveTo(this.getX(), this.getY(), this.getZ(), 0.0F, 0.0F);
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 917a671894e16e024db941cea1845e39eaf93ef8..b17f250eec710c91a1d5995136d7dec26ddd8f1c 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -185,6 +185,49 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
}
|
||||
// Paper end - fix and optimise world upgrading
|
||||
|
||||
+ // Purpur start
|
||||
+ private com.google.common.cache.Cache<BreedingCooldownPair, Object> playerBreedingCooldowns;
|
||||
+
|
||||
+ private com.google.common.cache.Cache<BreedingCooldownPair, Object> getNewBreedingCooldownCache() {
|
||||
+ return com.google.common.cache.CacheBuilder.newBuilder().expireAfterWrite(this.purpurConfig.animalBreedingCooldownSeconds, java.util.concurrent.TimeUnit.SECONDS).build();
|
||||
+ }
|
||||
+
|
||||
+ public void resetBreedingCooldowns() {
|
||||
+ this.playerBreedingCooldowns = this.getNewBreedingCooldownCache();
|
||||
+ }
|
||||
+
|
||||
+ public boolean hasBreedingCooldown(java.util.UUID player, Class<? extends net.minecraft.world.entity.animal.Animal> animalType) { // Purpur
|
||||
+ return this.playerBreedingCooldowns.getIfPresent(new BreedingCooldownPair(player, animalType)) != null;
|
||||
+ }
|
||||
+
|
||||
+ public void addBreedingCooldown(java.util.UUID player, Class<? extends net.minecraft.world.entity.animal.Animal> animalType) {
|
||||
+ this.playerBreedingCooldowns.put(new BreedingCooldownPair(player, animalType), new Object());
|
||||
+ }
|
||||
+
|
||||
+ private static final class BreedingCooldownPair {
|
||||
+ private final java.util.UUID playerUUID;
|
||||
+ private final Class<? extends net.minecraft.world.entity.animal.Animal> animalType;
|
||||
+
|
||||
+ public BreedingCooldownPair(java.util.UUID playerUUID, Class<? extends net.minecraft.world.entity.animal.Animal> animalType) {
|
||||
+ this.playerUUID = playerUUID;
|
||||
+ this.animalType = animalType;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean equals(Object o) {
|
||||
+ if (this == o) return true;
|
||||
+ if (o == null || getClass() != o.getClass()) return false;
|
||||
+ BreedingCooldownPair that = (BreedingCooldownPair) o;
|
||||
+ return playerUUID.equals(that.playerUUID) && animalType.equals(that.animalType);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public int hashCode() {
|
||||
+ return java.util.Objects.hash(playerUUID, animalType);
|
||||
+ }
|
||||
+ }
|
||||
+ // Purpur end
|
||||
+
|
||||
public CraftWorld getWorld() {
|
||||
return this.world;
|
||||
}
|
||||
@@ -201,6 +244,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
|
||||
this.paperConfig = new com.destroystokyo.paper.PaperWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), this.spigotConfig); // Paper
|
||||
this.purpurConfig = new net.pl3x.purpur.PurpurWorldConfig((((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()), env); // Purpur
|
||||
+ this.playerBreedingCooldowns = this.getNewBreedingCooldownCache(); // Purpur
|
||||
this.generator = gen;
|
||||
this.world = new CraftWorld((ServerLevel) this, gen, env);
|
||||
this.ticksPerAnimalSpawns = this.getCraftServer().getTicksPerAnimalSpawns(); // CraftBukkit
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 0fad44563547eb3643019a42d1d38a371df0613d..788884481c4df2e25843245b484682371e5267fe 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -129,6 +129,7 @@ public class PurpurWorldConfig {
|
||||
public double voidDamageHeight = -64.0D;
|
||||
public double voidDamageDealt = 4.0D;
|
||||
public int raidCooldownSeconds = 0;
|
||||
+ public int animalBreedingCooldownSeconds = 0;
|
||||
private void miscGameplayMechanicsSettings() {
|
||||
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
|
||||
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
|
||||
@@ -141,6 +142,7 @@ public class PurpurWorldConfig {
|
||||
voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight);
|
||||
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
|
||||
raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds);
|
||||
+ animalBreedingCooldownSeconds = getInt("gameplay-mechanics.animal-breeding-cooldown-seconds", animalBreedingCooldownSeconds);
|
||||
}
|
||||
|
||||
public boolean catSpawning;
|
||||
diff --git a/src/main/java/net/pl3x/purpur/command/PurpurCommand.java b/src/main/java/net/pl3x/purpur/command/PurpurCommand.java
|
||||
index 6e7f56fe2b78d7a09d5d130f2c88338fb8ae628e..cd63e9e556fa4931ab33c63931cf916757c51a62 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/command/PurpurCommand.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/command/PurpurCommand.java
|
||||
@@ -49,6 +49,7 @@ public class PurpurCommand extends Command {
|
||||
PurpurConfig.init((File) console.options.valueOf("purpur-settings"));
|
||||
for (ServerLevel level : console.getAllLevels()) {
|
||||
level.purpurConfig.init();
|
||||
+ level.resetBreedingCooldowns();
|
||||
}
|
||||
console.server.reloadCount++;
|
||||
|
||||
@@ -0,0 +1,852 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: BillyGalbreath <blake.galbreath@gmail.com>
|
||||
Date: Sat, 19 Jun 2021 13:20:26 -0500
|
||||
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 8419ce671cff4b59e44376f9d874a6bdb53b3b13..dfbceb36813c9fd55bc481779bea0ce9084b544b 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
|
||||
@@ -121,6 +121,10 @@ public class VillagerMakeLove extends Behavior<Villager> {
|
||||
// CraftBukkit end
|
||||
parent.setAge(6000);
|
||||
partner.setAge(6000);
|
||||
+ // Purpur start
|
||||
+ parent.setAge(world.purpurConfig.villagerBreedingTicks);
|
||||
+ partner.setAge(world.purpurConfig.villagerBreedingTicks);
|
||||
+ // Purpur end
|
||||
world.addAllEntities(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 7a90c6a628571730eee382e1efcfe1b90a5ecfc5..2caf41f458f38729902e040d65f56c786c954950 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Animal.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Animal.java
|
||||
@@ -38,6 +38,7 @@ public abstract class Animal extends AgeableMob {
|
||||
public int inLove;
|
||||
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);
|
||||
@@ -263,8 +264,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.addAllEntities(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 56f55c4520bec4b4baaa606e47ecf6c0288a104f..f9262c1fca1a1318fb5f6f607e8e71c1019c5c95 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
@@ -214,6 +214,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 1cbbc29ef19c8f1b8f96882213b662cfcb193033..052d1e51a891ee17bed0043f6f3fd162c15b16b2 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
||||
@@ -144,6 +144,11 @@ public class Cat extends TamableAnimal {
|
||||
public void initAttributes() {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.catMaxHealth);
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.level.purpurConfig.catBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
public ResourceLocation getResourceLocation() {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Chicken.java b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
||||
index eaec6eba96db3b8ce046208a4a1e5fc4b26b7dcc..a907520c2cd9eacf2fe80d87004afc5f30b6a630 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
||||
@@ -70,6 +70,11 @@ public class Chicken extends Animal {
|
||||
this.getAttribute(Attributes.ATTACK_DAMAGE).setBaseValue(2.0D);
|
||||
}
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.level.purpurConfig.chickenBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
index 9da76357da891a70e20ad80f50873b3b487dc84c..c718697a9511ccf761467644967397b777446db9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
@@ -57,6 +57,11 @@ public class Cow extends Animal {
|
||||
public void initAttributes() {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.cowMaxHealth);
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.level.purpurConfig.cowBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
index d31b906c87e22f505bee22f21dd8ec1e047f6ffe..504ea27df8ce010728d73349a8daf66310968f38 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
@@ -176,6 +176,11 @@ public class Fox extends Animal {
|
||||
public void initAttributes() {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.foxMaxHealth);
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.level.purpurConfig.foxBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
@@ -955,8 +960,10 @@ public class Fox extends Animal {
|
||||
CriteriaTriggers.BRED_ANIMALS.trigger(entityplayer2, this.animal, this.partner, (AgeableMob) 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.addAllEntities(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 e7818390e6b8130312fc5a607fae1d1fc094a36a..3d3f333a4c77d0d6e82a54aac190772dd6b9bab4 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
@@ -74,6 +74,11 @@ public class MushroomCow extends Cow implements Shearable {
|
||||
public void initAttributes() {
|
||||
this.getAttribute(net.minecraft.world.entity.ai.attributes.Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.mooshroomMaxHealth);
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.level.purpurConfig.mooshroomBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
||||
index 4e979a8012b8b001c6a35c477c01d7da67583220..4e6e63ec2c5a9b86528f1a620ff7f0be90a7b3dc 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
||||
@@ -83,6 +83,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
|
||||
|
||||
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 13ef0071b98ad2b7654914b62711a661f14b2c42..e9859935a5f18d2c51020ce5772ecf7264787773 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
@@ -133,6 +133,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 1e38578a9a1531433866e2de7aa0ce5237da3b6b..2cc91c255e0f77b214b8ec54429c11bb1d6fe8e0 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||
@@ -181,6 +181,11 @@ public class Parrot extends ShoulderRidingEntity implements FlyingAnimal {
|
||||
public void initAttributes() {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.parrotMaxHealth);
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return 6000;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
@Nullable
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
||||
index 518d28dc0b5b8c04263c93a4347e4c971a1318d8..98cf2268304f3a092dba45bb4297d14fe81cc057 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
||||
@@ -80,6 +80,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 d39c88af3882a09ff1a06f9052d7b9b8afdddda4..45934499067bb323413e73c99fe01bb223df7990 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
|
||||
@@ -114,6 +114,11 @@ public class PolarBear extends Animal implements NeutralMob {
|
||||
return this.isInLove() && bear.isInLove();
|
||||
}
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.level.purpurConfig.polarBearBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
||||
index e0ba1ef404c9f8ba1eae563b733d10d94b1442e4..8d15e7ec0ae4bcdfd5628f41c0fc236eaa85d548 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
||||
@@ -133,6 +133,11 @@ public class Rabbit extends Animal {
|
||||
public void initAttributes() {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.rabbitMaxHealth);
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.level.purpurConfig.rabbitBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
// CraftBukkit start - code from constructor
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Sheep.java b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
|
||||
index 497be3182c72b5a0f3bc42088c4168702119b527..607823661ba942ec03b1f61dac5a786b6f72ff7b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Sheep.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
|
||||
@@ -131,6 +131,11 @@ public class Sheep extends Animal implements Shearable {
|
||||
public void initAttributes() {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.sheepMaxHealth);
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.level.purpurConfig.sheepBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
index 31568adcf4a89b11e61f455a15326c7f72bf487e..c1202540383ef991d7b8c3767132c4fc54d4c570 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
@@ -105,6 +105,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 ae416b70109c959980b3115da6e97df1610996ca..ef4abaf68de01b0879f7d0b330d2d57cc6bd10f9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
@@ -113,6 +113,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 15a0aeb1131618ea27620c5893a7448af624b6dd..a75d7da8278b5a0671d85708898731d9bd3344e2 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
|
||||
@@ -110,6 +110,11 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {
|
||||
public void initAttributes() {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.axolotlMaxHealth);
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.level.purpurConfig.axolotlBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
index 9092eac3e7e15845d14175cad8030f4ea60d43ad..93439e518b071cc19eeabe4c8db7676e5a31cfff 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
|
||||
@@ -85,6 +85,11 @@ public class Goat extends Animal {
|
||||
public void initAttributes() {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.goatMaxHealth);
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.level.purpurConfig.goatBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
|
||||
index b4944ab2191241dc604ad21670360e5204bc111b..63378addd3de1a3e882f72bc6e1da74405bd79ed 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
|
||||
@@ -35,6 +35,11 @@ public class Donkey extends AbstractChestedHorse {
|
||||
public double generateRandomSpeed() {
|
||||
return generateRandomSpeed(this.level.purpurConfig.donkeyMovementSpeedMin, this.level.purpurConfig.donkeyMovementSpeedMax);
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.level.purpurConfig.donkeyBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
|
||||
index 6c6d2ac7551ae24dec88bd9e6bce7aeafd900e8c..b077b3d389e3439cf1115009a0edb4ed9f66bf02 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
|
||||
@@ -59,6 +59,11 @@ public class Horse extends AbstractHorse {
|
||||
public double generateRandomSpeed() {
|
||||
return generateRandomSpeed(this.level.purpurConfig.horseMovementSpeedMin, this.level.purpurConfig.horseMovementSpeedMax);
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.level.purpurConfig.horseBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
index 92069543fd8f19ee037af59edd84c61f5216463f..873e1d64b917e961c9d9b5217fe664a91d0ab5bc 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
|
||||
@@ -123,6 +123,11 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
|
||||
public double generateRandomSpeed() {
|
||||
return generateRandomSpeed(this.level.purpurConfig.llamaMovementSpeedMin, this.level.purpurConfig.llamaMovementSpeedMax);
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.level.purpurConfig.llamaBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
public boolean isTraderLlama() {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java b/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java
|
||||
index da3d0b431c14f1a0794b9445236af1f548139013..6bdf1727ae241538dc391431a55e5b089431bd7b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java
|
||||
@@ -34,6 +34,11 @@ public class Mule extends AbstractChestedHorse {
|
||||
public double generateRandomSpeed() {
|
||||
return generateRandomSpeed(this.level.purpurConfig.muleMovementSpeedMin, this.level.purpurConfig.muleMovementSpeedMax);
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.level.purpurConfig.muleBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
||||
index ffc36728e0fc90c4e37051adc643a2b8af8077ff..6d595941aa2dd36fda8bf7efea06b6d52c17647d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
||||
@@ -49,6 +49,11 @@ public class SkeletonHorse extends AbstractHorse {
|
||||
public double generateRandomSpeed() {
|
||||
return generateRandomSpeed(this.level.purpurConfig.skeletonHorseMovementSpeedMin, this.level.purpurConfig.skeletonHorseMovementSpeedMax);
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return 6000;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
public static AttributeSupplier.Builder createAttributes() {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
|
||||
index c4eb99466c00c6cf1d60c7fa387f8b65efdac912..dbeed04103ee42bd16e7b785d7024214b6335679 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
|
||||
@@ -57,6 +57,11 @@ public class TraderLlama extends Llama {
|
||||
public double generateRandomSpeed() {
|
||||
return generateRandomSpeed(this.level.purpurConfig.traderLlamaMovementSpeedMin, this.level.purpurConfig.traderLlamaMovementSpeedMax);
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.level.purpurConfig.traderLlamaBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
|
||||
index 6ca7b168a1ea26102922d9377e52662f16c1e725..74321ed51b25617bac25e3497ba908cd1751db09 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
|
||||
@@ -47,6 +47,11 @@ public class ZombieHorse extends AbstractHorse {
|
||||
public double generateRandomSpeed() {
|
||||
return generateRandomSpeed(this.level.purpurConfig.zombieHorseMovementSpeedMin, this.level.purpurConfig.zombieHorseMovementSpeedMax);
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return 6000;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
public static AttributeSupplier.Builder createAttributes() {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Strider.java b/src/main/java/net/minecraft/world/entity/monster/Strider.java
|
||||
index 6b9316536e09c52be2cd1e9cdc71529f4ddb69c6..294f276fa8d2d754abde11ebc3d39e5e68996b05 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Strider.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java
|
||||
@@ -112,6 +112,11 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
|
||||
public void initAttributes() {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.striderMaxHealth);
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.level.purpurConfig.striderBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
public static boolean checkStriderSpawnRules(EntityType<Strider> type, LevelAccessor world, MobSpawnType spawnReason, BlockPos pos, Random random) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||
index 5d289be8f0ef003abbce992e7662f6ddce4f4a99..5e3d7321a73144c3e4c43c18c5b748b2d0139db8 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||
@@ -82,6 +82,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
||||
public void initAttributes() {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.hoglinMaxHealth);
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.level.purpurConfig.hoglinBreedingTicks;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24cdcad342 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -464,9 +464,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
public boolean axolotlRidable = false;
|
||||
public double axolotlMaxHealth = 14.0D;
|
||||
+ public int axolotlBreedingTicks = 6000;
|
||||
private void axolotlSettings() {
|
||||
axolotlRidable = getBoolean("mobs.axolotl.ridable", axolotlRidable);
|
||||
axolotlMaxHealth = getDouble("mobs.axolotl.attributes.max_health", axolotlMaxHealth);
|
||||
+ axolotlBreedingTicks = getInt("mobs.axolotl.breeding-delay-ticks", axolotlBreedingTicks);
|
||||
}
|
||||
|
||||
public boolean batRidable = false;
|
||||
@@ -496,6 +498,7 @@ public class PurpurWorldConfig {
|
||||
public boolean beeRidableInWater = false;
|
||||
public double beeMaxY = 256D;
|
||||
public double beeMaxHealth = 10.0D;
|
||||
+ public int beeBreedingTicks = 6000;
|
||||
private void beeSettings() {
|
||||
beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
|
||||
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
|
||||
@@ -506,6 +509,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;
|
||||
@@ -530,6 +534,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);
|
||||
@@ -542,6 +547,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;
|
||||
@@ -562,6 +568,7 @@ public class PurpurWorldConfig {
|
||||
public boolean chickenRidableInWater = false;
|
||||
public double chickenMaxHealth = 4.0D;
|
||||
public boolean chickenRetaliate = false;
|
||||
+ public int chickenBreedingTicks = 6000;
|
||||
private void chickenSettings() {
|
||||
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
|
||||
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
|
||||
@@ -572,6 +579,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;
|
||||
@@ -590,6 +598,7 @@ public class PurpurWorldConfig {
|
||||
public boolean cowRidableInWater = false;
|
||||
public double cowMaxHealth = 10.0D;
|
||||
public int cowFeedMushrooms = 0;
|
||||
+ public int cowBreedingTicks = 6000;
|
||||
private void cowSettings() {
|
||||
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
|
||||
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
|
||||
@@ -600,6 +609,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;
|
||||
@@ -647,6 +657,7 @@ public class PurpurWorldConfig {
|
||||
public double donkeyJumpStrengthMax = 0.5D;
|
||||
public double donkeyMovementSpeedMin = 0.175D;
|
||||
public double donkeyMovementSpeedMax = 0.175D;
|
||||
+ public int donkeyBreedingTicks = 6000;
|
||||
private void donkeySettings() {
|
||||
donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater);
|
||||
if (PurpurConfig.version < 10) {
|
||||
@@ -662,6 +673,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;
|
||||
@@ -768,6 +780,7 @@ public class PurpurWorldConfig {
|
||||
public boolean foxRidableInWater = false;
|
||||
public double foxMaxHealth = 10.0D;
|
||||
public boolean foxTypeChangesWithTulips = false;
|
||||
+ public int foxBreedingTicks = 6000;
|
||||
private void foxSettings() {
|
||||
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
|
||||
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
|
||||
@@ -778,6 +791,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);
|
||||
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
|
||||
+ foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks);
|
||||
}
|
||||
|
||||
public boolean ghastRidable = false;
|
||||
@@ -836,10 +850,12 @@ public class PurpurWorldConfig {
|
||||
public boolean goatRidable = false;
|
||||
public boolean goatRidableInWater = false;
|
||||
public double goatMaxHealth = 10.0D;
|
||||
+ public int goatBreedingTicks = 6000;
|
||||
private void goatSettings() {
|
||||
goatRidable = getBoolean("mobs.goat.ridable", goatRidable);
|
||||
goatRidableInWater = getBoolean("mobs.goat.ridable-in-water", goatRidableInWater);
|
||||
goatMaxHealth = getDouble("mobs.goat.attributes.max_health", goatMaxHealth);
|
||||
+ goatBreedingTicks = getInt("mobs.goat.breeding-delay-ticks", goatBreedingTicks);
|
||||
}
|
||||
|
||||
public boolean guardianRidable = false;
|
||||
@@ -857,6 +873,7 @@ public class PurpurWorldConfig {
|
||||
public boolean hoglinRidable = false;
|
||||
public boolean hoglinRidableInWater = false;
|
||||
public double hoglinMaxHealth = 40.0D;
|
||||
+ public int hoglinBreedingTicks = 6000;
|
||||
private void hoglinSettings() {
|
||||
hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable);
|
||||
hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater);
|
||||
@@ -866,6 +883,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;
|
||||
@@ -875,6 +893,7 @@ public class PurpurWorldConfig {
|
||||
public double horseJumpStrengthMax = 1.0D;
|
||||
public double horseMovementSpeedMin = 0.1125D;
|
||||
public double horseMovementSpeedMax = 0.3375D;
|
||||
+ public int horseBreedingTicks = 6000;
|
||||
private void horseSettings() {
|
||||
horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater);
|
||||
if (PurpurConfig.version < 10) {
|
||||
@@ -890,6 +909,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;
|
||||
@@ -960,6 +980,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);
|
||||
@@ -976,6 +997,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;
|
||||
@@ -995,6 +1017,7 @@ public class PurpurWorldConfig {
|
||||
public boolean mooshroomRidable = false;
|
||||
public boolean mooshroomRidableInWater = false;
|
||||
public double mooshroomMaxHealth = 10.0D;
|
||||
+ public int mooshroomBreedingTicks = 6000;
|
||||
private void mooshroomSettings() {
|
||||
mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable);
|
||||
mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater);
|
||||
@@ -1004,6 +1027,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;
|
||||
@@ -1013,6 +1037,7 @@ public class PurpurWorldConfig {
|
||||
public double muleJumpStrengthMax = 0.5D;
|
||||
public double muleMovementSpeedMin = 0.175D;
|
||||
public double muleMovementSpeedMax = 0.175D;
|
||||
+ public int muleBreedingTicks = 6000;
|
||||
private void muleSettings() {
|
||||
muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater);
|
||||
if (PurpurConfig.version < 10) {
|
||||
@@ -1028,11 +1053,13 @@ public class PurpurWorldConfig {
|
||||
muleJumpStrengthMax = getDouble("mobs.mule.attributes.jump_strength.max", muleJumpStrengthMax);
|
||||
muleMovementSpeedMin = getDouble("mobs.mule.attributes.movement_speed.min", muleMovementSpeedMin);
|
||||
muleMovementSpeedMax = getDouble("mobs.mule.attributes.movement_speed.max", muleMovementSpeedMax);
|
||||
+ muleBreedingTicks = getInt("mobs.mule.breeding-delay-ticks", muleBreedingTicks);
|
||||
}
|
||||
|
||||
public boolean ocelotRidable = false;
|
||||
public boolean ocelotRidableInWater = false;
|
||||
public double ocelotMaxHealth = 10.0D;
|
||||
+ public int ocelotBreedingTicks = 6000;
|
||||
private void ocelotSettings() {
|
||||
ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable);
|
||||
ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater);
|
||||
@@ -1042,11 +1069,13 @@ public class PurpurWorldConfig {
|
||||
set("mobs.ocelot.attributes.max_health", oldValue);
|
||||
}
|
||||
ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth);
|
||||
+ ocelotBreedingTicks = getInt("mobs.ocelot.breeding-delay-ticks", ocelotBreedingTicks);
|
||||
}
|
||||
|
||||
public boolean pandaRidable = false;
|
||||
public boolean pandaRidableInWater = false;
|
||||
public double pandaMaxHealth = 20.0D;
|
||||
+ public int pandaBreedingTicks = 6000;
|
||||
private void pandaSettings() {
|
||||
pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable);
|
||||
pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater);
|
||||
@@ -1056,6 +1085,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;
|
||||
@@ -1136,6 +1166,7 @@ public class PurpurWorldConfig {
|
||||
public boolean pigRidableInWater = false;
|
||||
public double pigMaxHealth = 10.0D;
|
||||
public boolean pigGiveSaddleBack = false;
|
||||
+ public int pigBreedingTicks = 6000;
|
||||
private void pigSettings() {
|
||||
pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
|
||||
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
|
||||
@@ -1146,6 +1177,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;
|
||||
@@ -1195,6 +1227,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);
|
||||
@@ -1207,6 +1240,7 @@ public class PurpurWorldConfig {
|
||||
polarBearBreedableItemString = getString("mobs.polar_bear.breedable-item", polarBearBreedableItemString);
|
||||
Item item = Registry.ITEM.get(new ResourceLocation(polarBearBreedableItemString));
|
||||
if (item != Items.AIR) polarBearBreedableItem = item;
|
||||
+ polarBearBreedingTicks = getInt("mobs.polar_bear.breeding-delay-ticks", polarBearBreedingTicks);
|
||||
}
|
||||
|
||||
public boolean pufferfishRidable = false;
|
||||
@@ -1226,6 +1260,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);
|
||||
@@ -1237,6 +1272,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;
|
||||
@@ -1268,6 +1304,7 @@ public class PurpurWorldConfig {
|
||||
public boolean sheepRidable = false;
|
||||
public boolean sheepRidableInWater = false;
|
||||
public double sheepMaxHealth = 8.0D;
|
||||
+ public int sheepBreedingTicks = 6000;
|
||||
private void sheepSettings() {
|
||||
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
|
||||
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
|
||||
@@ -1277,6 +1314,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;
|
||||
@@ -1431,6 +1469,7 @@ public class PurpurWorldConfig {
|
||||
public boolean striderRidable = false;
|
||||
public boolean striderRidableInWater = false;
|
||||
public double striderMaxHealth = 20.0D;
|
||||
+ public int striderBreedingTicks = 6000;
|
||||
private void striderSettings() {
|
||||
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
|
||||
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
|
||||
@@ -1440,6 +1479,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.strider.attributes.max_health", oldValue);
|
||||
}
|
||||
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
|
||||
+ striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks);
|
||||
}
|
||||
|
||||
public boolean traderLlamaRidable = false;
|
||||
@@ -1450,6 +1490,7 @@ public class PurpurWorldConfig {
|
||||
public double traderLlamaJumpStrengthMax = 0.5D;
|
||||
public double traderLlamaMovementSpeedMin = 0.175D;
|
||||
public double traderLlamaMovementSpeedMax = 0.175D;
|
||||
+ public int traderLlamaBreedingTicks = 6000;
|
||||
private void traderLlamaSettings() {
|
||||
traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable);
|
||||
traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater);
|
||||
@@ -1466,6 +1507,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;
|
||||
@@ -1496,6 +1538,7 @@ public class PurpurWorldConfig {
|
||||
public boolean turtleEggsBreakFromExpOrbs = true;
|
||||
public boolean turtleEggsBreakFromItems = true;
|
||||
public boolean turtleEggsBreakFromMinecarts = true;
|
||||
+ public int turtleBreedingTicks = 6000;
|
||||
private void turtleEggSettings() {
|
||||
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
|
||||
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
|
||||
@@ -1508,6 +1551,7 @@ public class PurpurWorldConfig {
|
||||
turtleEggsBreakFromExpOrbs = getBoolean("blocks.turtle_egg.break-from-exp-orbs", turtleEggsBreakFromExpOrbs);
|
||||
turtleEggsBreakFromItems = getBoolean("blocks.turtle_egg.break-from-items", turtleEggsBreakFromItems);
|
||||
turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts);
|
||||
+ turtleBreedingTicks = getInt("mobs.turtle.breeding-delay-ticks", turtleBreedingTicks);
|
||||
}
|
||||
|
||||
public boolean vexRidable = false;
|
||||
@@ -1537,6 +1581,7 @@ public class PurpurWorldConfig {
|
||||
public int villagerSpawnIronGolemRadius = 0;
|
||||
public int villagerSpawnIronGolemLimit = 0;
|
||||
public boolean villagerCanBreed = true;
|
||||
+ public int villagerBreedingTicks = 6000;
|
||||
private void villagerSettings() {
|
||||
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
|
||||
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
|
||||
@@ -1554,6 +1599,7 @@ public class PurpurWorldConfig {
|
||||
villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius);
|
||||
villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit);
|
||||
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
|
||||
+ villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks);
|
||||
}
|
||||
|
||||
public boolean vindicatorRidable = false;
|
||||
@@ -1647,6 +1693,7 @@ public class PurpurWorldConfig {
|
||||
public boolean wolfRidable = false;
|
||||
public boolean wolfRidableInWater = false;
|
||||
public double wolfMaxHealth = 8.0D;
|
||||
+ public int wolfBreedingTicks = 6000;
|
||||
private void wolfSettings() {
|
||||
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
|
||||
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
|
||||
@@ -1656,6 +1703,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;
|
||||
Reference in New Issue
Block a user