mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-18 08:57:44 +01:00
Upstream has released updates that appear to apply and compile correctly Paper Changes: 5b20df6bf added PlayerNameEntityEvent ff9c82444 Add worldborder events 616b1f3cd consider enchants for destroy speed aaef1d5cc fix file conversion 674d8f7f7 Make discovered maps config work in treasure maps from loot tables too be1687914 stop firing pressure plate EntityInteractEvent for ignored entities (fixes #4962) 7d56f38ed Do not use the bukkit singleton for the GUI (Fixes #5301) 4c9bdf53a Updated Upstream (Bukkit/CraftBukkit/Spigot) (#5299) 8647bd130 Improve ServerGUI fcc6d3359 Throw proper exception on empty JsonList file 17d2e1291 Fix interact event in adventure mode 964e0bf42 MC-29274: Fix Wither hostility towards players 9e24a5213 Fixed furnace cook-speed multiplier losing precision when calculating cook time c7e42faa3 Do not create unnecessary copies of the passenger list 40881ad67 added tnt minecarts to the tnt height nerf 26be708f4 Remove streams from SensorNearest 5b5989b21 fix nullability of playerlist header/footer, closes #5290 45bc531dd Fix Material#getTranslationKey for Block Materials (#5294)
686 lines
31 KiB
Diff
686 lines
31 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: jmp <jasonpenilla2@me.com>
|
|
Date: Sun, 15 Nov 2020 02:18:15 -0800
|
|
Subject: [PATCH] Make entity breeding times configurable
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/BehaviorMakeLove.java b/src/main/java/net/minecraft/server/BehaviorMakeLove.java
|
|
index 7bdcc7bb26a1f7c8fc2562016af8598b9a7b4de3..d22b1742e2bf9c390590851de45b2e66f1444b47 100644
|
|
--- a/src/main/java/net/minecraft/server/BehaviorMakeLove.java
|
|
+++ b/src/main/java/net/minecraft/server/BehaviorMakeLove.java
|
|
@@ -102,8 +102,10 @@ public class BehaviorMakeLove extends Behavior<EntityVillager> {
|
|
if (entityvillager2 == null) {
|
|
return Optional.empty();
|
|
} else {
|
|
- entityvillager.setAgeRaw(6000);
|
|
- entityvillager1.setAgeRaw(6000);
|
|
+ // Purpur start
|
|
+ entityvillager.setAgeRaw(worldserver.purpurConfig.villagerBreedingTicks);
|
|
+ entityvillager1.setAgeRaw(worldserver.purpurConfig.villagerBreedingTicks);
|
|
+ // Purpur end
|
|
entityvillager2.setAgeRaw(-24000);
|
|
entityvillager2.setPositionRotation(entityvillager.locX(), entityvillager.locY(), entityvillager.locZ(), 0.0F, 0.0F);
|
|
worldserver.addAllEntities(entityvillager2, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BREEDING); // CraftBukkit - added SpawnReason
|
|
diff --git a/src/main/java/net/minecraft/server/EntityAnimal.java b/src/main/java/net/minecraft/server/EntityAnimal.java
|
|
index d9f9e2235d091e14e5d34bb9a3273e7f56e94295..dd6725debe0cf72dce13b6f2cac0556060e0eb41 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityAnimal.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityAnimal.java
|
|
@@ -13,6 +13,7 @@ public abstract class EntityAnimal extends EntityAgeable {
|
|
public int loveTicks;
|
|
public UUID breedCause;
|
|
public ItemStack breedItem; // CraftBukkit - Add breedItem variable
|
|
+ abstract int getPurpurBreedTime(); // Purpur
|
|
|
|
protected EntityAnimal(EntityTypes<? extends EntityAnimal> entitytypes, World world) {
|
|
super(entitytypes, world);
|
|
@@ -234,8 +235,10 @@ public abstract class EntityAnimal extends EntityAgeable {
|
|
CriterionTriggers.o.a(entityplayer, this, entityanimal, entityageable);
|
|
}
|
|
|
|
- this.setAgeRaw(6000);
|
|
- entityanimal.setAgeRaw(6000);
|
|
+ // Purpur start
|
|
+ this.setAgeRaw(this.getPurpurBreedTime());
|
|
+ entityanimal.setAgeRaw(entityanimal.getPurpurBreedTime());
|
|
+ // Purpur end
|
|
this.resetLove();
|
|
entityanimal.resetLove();
|
|
entityageable.setBaby(true);
|
|
diff --git a/src/main/java/net/minecraft/server/EntityBee.java b/src/main/java/net/minecraft/server/EntityBee.java
|
|
index d8354ec4d19fc3fbddc2551ee217acb137482e63..ded4e10f5082fb5aa25368d9035affba287c3345 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityBee.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityBee.java
|
|
@@ -100,6 +100,11 @@ public class EntityBee extends EntityAnimal implements IEntityAngerable, EntityB
|
|
setMot(mot.a(0.9D));
|
|
}
|
|
}
|
|
+
|
|
+ @Override
|
|
+ int getPurpurBreedTime() {
|
|
+ return this.world.purpurConfig.beeBreedingTicks;
|
|
+ }
|
|
// Purpur end
|
|
|
|
@Override
|
|
diff --git a/src/main/java/net/minecraft/server/EntityCat.java b/src/main/java/net/minecraft/server/EntityCat.java
|
|
index 0e6552d77adb95c94cb06b6f9289c4c12e6955bb..437a7b8ffb40c461f1778d91591fa6c4dcf36834 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityCat.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityCat.java
|
|
@@ -58,6 +58,11 @@ public class EntityCat extends EntityTameableAnimal {
|
|
setSleepingWithOwner(false);
|
|
setHeadDown(false);
|
|
}
|
|
+
|
|
+ @Override
|
|
+ int getPurpurBreedTime() {
|
|
+ return this.world.purpurConfig.catBreedingTicks;
|
|
+ }
|
|
// Purpur end
|
|
|
|
public MinecraftKey eU() {
|
|
diff --git a/src/main/java/net/minecraft/server/EntityChicken.java b/src/main/java/net/minecraft/server/EntityChicken.java
|
|
index ee59a9f272a9caebec8f2329e1e4b22ddd27a0f9..2e1dc047459889aea85a79eaa04e8fe1a80e5b9e 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityChicken.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityChicken.java
|
|
@@ -34,6 +34,11 @@ public class EntityChicken extends EntityAnimal {
|
|
this.getAttributeInstance(GenericAttributes.ATTACK_DAMAGE).setValue(2.0D);
|
|
}
|
|
}
|
|
+
|
|
+ @Override
|
|
+ int getPurpurBreedTime() {
|
|
+ return this.world.purpurConfig.chickenBreedingTicks;
|
|
+ }
|
|
// Purpur end
|
|
|
|
@Override
|
|
diff --git a/src/main/java/net/minecraft/server/EntityCow.java b/src/main/java/net/minecraft/server/EntityCow.java
|
|
index 1219b0aa9c62bc9a1bda45cc9e9a27f14a28fe2e..63497ca0266073dc0a16b7dc22641d08c3eaf400 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityCow.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityCow.java
|
|
@@ -21,6 +21,11 @@ public class EntityCow extends EntityAnimal {
|
|
public boolean isRidableInWater() {
|
|
return world.purpurConfig.cowRidableInWater;
|
|
}
|
|
+
|
|
+ @Override
|
|
+ int getPurpurBreedTime() {
|
|
+ return this.world.purpurConfig.cowBreedingTicks;
|
|
+ }
|
|
// Purpur end
|
|
|
|
@Override
|
|
diff --git a/src/main/java/net/minecraft/server/EntityFox.java b/src/main/java/net/minecraft/server/EntityFox.java
|
|
index f5defe4713c6be7d32fb2116110516717460284e..b5f036af81ddd3c1b0e388a28383f0b6a63d128c 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityFox.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityFox.java
|
|
@@ -86,6 +86,11 @@ public class EntityFox extends EntityAnimal {
|
|
super.onDismount(entityhuman);
|
|
setCanPickupLoot(true);
|
|
}
|
|
+
|
|
+ @Override
|
|
+ int getPurpurBreedTime() {
|
|
+ return this.world.purpurConfig.foxBreedingTicks;
|
|
+ }
|
|
// Purpur end
|
|
|
|
@Override
|
|
@@ -1300,8 +1305,10 @@ public class EntityFox extends EntityAnimal {
|
|
CriterionTriggers.o.a(entityplayer2, this.animal, this.partner, (EntityAgeable) entityfox);
|
|
}
|
|
|
|
- this.animal.setAgeRaw(6000);
|
|
- this.partner.setAgeRaw(6000);
|
|
+ // Purpur start
|
|
+ this.animal.setAgeRaw(this.animal.getPurpurBreedTime());
|
|
+ this.partner.setAgeRaw(this.partner.getPurpurBreedTime());
|
|
+ // Purpur end
|
|
this.animal.resetLove();
|
|
this.partner.resetLove();
|
|
entityfox.setAgeRaw(-24000);
|
|
diff --git a/src/main/java/net/minecraft/server/EntityHoglin.java b/src/main/java/net/minecraft/server/EntityHoglin.java
|
|
index 548ff4449faca0abdf72487276fe49207bacfe17..a1578aade4a535144b5e40277c902f2e9ab9e940 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityHoglin.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityHoglin.java
|
|
@@ -30,6 +30,11 @@ public class EntityHoglin extends EntityAnimal implements IMonster, IOglin {
|
|
public boolean isRidableInWater() {
|
|
return world.purpurConfig.hoglinRidableInWater;
|
|
}
|
|
+
|
|
+ @Override
|
|
+ int getPurpurBreedTime() {
|
|
+ return this.world.purpurConfig.hoglinBreedingTicks;
|
|
+ }
|
|
// Purpur end
|
|
|
|
@Override
|
|
diff --git a/src/main/java/net/minecraft/server/EntityHorse.java b/src/main/java/net/minecraft/server/EntityHorse.java
|
|
index 4ffc61acdff8c51dc9b111e3024c828fb5386118..669bce5d9806c80bddc247fe103ff20dc6aaa8a5 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityHorse.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityHorse.java
|
|
@@ -17,6 +17,11 @@ public class EntityHorse extends EntityHorseAbstract {
|
|
public boolean isRidableInWater() {
|
|
return world.purpurConfig.horseRidableInWater;
|
|
}
|
|
+
|
|
+ @Override
|
|
+ int getPurpurBreedTime() {
|
|
+ return this.world.purpurConfig.horseBreedingTicks;
|
|
+ }
|
|
// Purpur end
|
|
|
|
@Override
|
|
diff --git a/src/main/java/net/minecraft/server/EntityHorseDonkey.java b/src/main/java/net/minecraft/server/EntityHorseDonkey.java
|
|
index cb8aee5691ff4ecaa6ae60f1637b1852d3b6c162..f6421bb45c5e6adf39fdc085efe2b2f500b76c0c 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityHorseDonkey.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityHorseDonkey.java
|
|
@@ -13,6 +13,11 @@ public class EntityHorseDonkey extends EntityHorseChestedAbstract {
|
|
public boolean isRidableInWater() {
|
|
return world.purpurConfig.donkeyRidableInWater;
|
|
}
|
|
+
|
|
+ @Override
|
|
+ int getPurpurBreedTime() {
|
|
+ return this.world.purpurConfig.donkeyBreedingTicks;
|
|
+ }
|
|
// Purpur end
|
|
|
|
@Override
|
|
diff --git a/src/main/java/net/minecraft/server/EntityHorseMule.java b/src/main/java/net/minecraft/server/EntityHorseMule.java
|
|
index 243aeb736e350418e9476819bbfec0e7ab59f92f..30cbc505d2b0f4d3247edfd271de8daab023eb2a 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityHorseMule.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityHorseMule.java
|
|
@@ -13,6 +13,11 @@ public class EntityHorseMule extends EntityHorseChestedAbstract {
|
|
public boolean isRidableInWater() {
|
|
return world.purpurConfig.muleRidableInWater;
|
|
}
|
|
+
|
|
+ @Override
|
|
+ int getPurpurBreedTime() {
|
|
+ return this.world.purpurConfig.muleBreedingTicks;
|
|
+ }
|
|
// Purpur end
|
|
@Override
|
|
protected SoundEffect getSoundAmbient() {
|
|
diff --git a/src/main/java/net/minecraft/server/EntityHorseSkeleton.java b/src/main/java/net/minecraft/server/EntityHorseSkeleton.java
|
|
index e2c6a5807a4554a7eebb148e40f1f8a1d979df5e..408db52cacbdfbca8af0a6a8e913b0128a3f5a76 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityHorseSkeleton.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityHorseSkeleton.java
|
|
@@ -22,6 +22,11 @@ public class EntityHorseSkeleton extends EntityHorseAbstract {
|
|
public boolean isTamed() {
|
|
return true;
|
|
}
|
|
+
|
|
+ @Override
|
|
+ int getPurpurBreedTime() {
|
|
+ return 6000;
|
|
+ }
|
|
// Purpur end
|
|
|
|
public static AttributeProvider.Builder eL() {
|
|
diff --git a/src/main/java/net/minecraft/server/EntityHorseZombie.java b/src/main/java/net/minecraft/server/EntityHorseZombie.java
|
|
index 559ba50977147b8e2a0e7c1e7dc281faabd7f292..2121a6c979ba2ea7cb596ca6081750d2f8c7df9f 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityHorseZombie.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityHorseZombie.java
|
|
@@ -18,6 +18,11 @@ public class EntityHorseZombie extends EntityHorseAbstract {
|
|
public boolean isTamed() {
|
|
return true;
|
|
}
|
|
+
|
|
+ @Override
|
|
+ int getPurpurBreedTime() {
|
|
+ return 6000;
|
|
+ }
|
|
// Purpur end
|
|
|
|
public static AttributeProvider.Builder eL() {
|
|
diff --git a/src/main/java/net/minecraft/server/EntityLlama.java b/src/main/java/net/minecraft/server/EntityLlama.java
|
|
index 1099277868f92fdaf4b0ec3a982f26f20ead7369..3bc6e6df9e0107debe5b15f5f7aad97ad336f304 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityLlama.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityLlama.java
|
|
@@ -57,6 +57,11 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
|
public boolean hasSaddle() {
|
|
return super.hasSaddle() || (isTamed() && getColor() != null);
|
|
}
|
|
+
|
|
+ @Override
|
|
+ int getPurpurBreedTime() {
|
|
+ return this.world.purpurConfig.llamaBreedingTicks;
|
|
+ }
|
|
// Purpur end
|
|
|
|
public void setStrength(int i) {
|
|
diff --git a/src/main/java/net/minecraft/server/EntityMushroomCow.java b/src/main/java/net/minecraft/server/EntityMushroomCow.java
|
|
index 7966b34f8d202d2260a35baa4cd594e4def89257..eb1f95d8bae4bc2580849614ba879dd1a8792ecb 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityMushroomCow.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityMushroomCow.java
|
|
@@ -30,6 +30,11 @@ public class EntityMushroomCow extends EntityCow implements IShearable {
|
|
public boolean isRidableInWater() {
|
|
return world.purpurConfig.mooshroomRidableInWater;
|
|
}
|
|
+
|
|
+ @Override
|
|
+ int getPurpurBreedTime() {
|
|
+ return this.world.purpurConfig.mooshroomBreedingTicks;
|
|
+ }
|
|
// Purpur end
|
|
|
|
@Override
|
|
diff --git a/src/main/java/net/minecraft/server/EntityOcelot.java b/src/main/java/net/minecraft/server/EntityOcelot.java
|
|
index 2f8275cd6b3cde0d3f949219f67ba7f0e0031dc3..a5be10dfb0de08b0d97265278b1f11ad1e94b821 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityOcelot.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityOcelot.java
|
|
@@ -26,6 +26,11 @@ public class EntityOcelot extends EntityAnimal {
|
|
public boolean isRidableInWater() {
|
|
return world.purpurConfig.ocelotRidableInWater;
|
|
}
|
|
+
|
|
+ @Override
|
|
+ int getPurpurBreedTime() {
|
|
+ return this.world.purpurConfig.ocelotBreedingTicks;
|
|
+ }
|
|
// Purpur end
|
|
|
|
private boolean isTrusting() {
|
|
diff --git a/src/main/java/net/minecraft/server/EntityPanda.java b/src/main/java/net/minecraft/server/EntityPanda.java
|
|
index eafae5516b9b5d51aa943796557926cf61476d2b..c70180fddb829419b9cc5188766e9130f9b8a94a 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityPanda.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityPanda.java
|
|
@@ -65,6 +65,11 @@ public class EntityPanda extends EntityAnimal {
|
|
this.setEating(false);
|
|
this.setLayingOnBack(false);
|
|
}
|
|
+
|
|
+ @Override
|
|
+ int getPurpurBreedTime() {
|
|
+ return this.world.purpurConfig.pandaBreedingTicks;
|
|
+ }
|
|
// Purpur end
|
|
|
|
@Override
|
|
diff --git a/src/main/java/net/minecraft/server/EntityParrot.java b/src/main/java/net/minecraft/server/EntityParrot.java
|
|
index e402d4a77b57b8b12b7575a9793c30d7acfa7fb0..398e92bf7053c411bd98626efe4261e15256d3ee 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityParrot.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityParrot.java
|
|
@@ -115,6 +115,11 @@ public class EntityParrot extends EntityPerchable implements EntityBird {
|
|
setMot(mot.a(0.9D));
|
|
}
|
|
}
|
|
+
|
|
+ @Override
|
|
+ int getPurpurBreedTime() {
|
|
+ return 6000;
|
|
+ }
|
|
// Purpur end
|
|
|
|
@Nullable
|
|
diff --git a/src/main/java/net/minecraft/server/EntityPig.java b/src/main/java/net/minecraft/server/EntityPig.java
|
|
index bf7ecd7a7d805cc8f1314a348d7b13f848da46b5..eae841eeac75a35a9dc5a53c57538ac5264ece68 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityPig.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityPig.java
|
|
@@ -29,6 +29,11 @@ public class EntityPig extends EntityAnimal implements ISteerable, ISaddleable {
|
|
public boolean isRidableInWater() {
|
|
return world.purpurConfig.pigRidableInWater;
|
|
}
|
|
+
|
|
+ @Override
|
|
+ int getPurpurBreedTime() {
|
|
+ return this.world.purpurConfig.pigBreedingTicks;
|
|
+ }
|
|
// Purpur end
|
|
|
|
@Override
|
|
diff --git a/src/main/java/net/minecraft/server/EntityPolarBear.java b/src/main/java/net/minecraft/server/EntityPolarBear.java
|
|
index 3d649843f565d2c8820b525c199bd2b9f9120cc7..40395dd7ea515e51a189d014a3274d15dc1d8ee6 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityPolarBear.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityPolarBear.java
|
|
@@ -67,6 +67,11 @@ public class EntityPolarBear extends EntityAnimal implements IEntityAngerable {
|
|
return this.isInLove() && polarbear.isInLove();
|
|
}
|
|
}
|
|
+
|
|
+ @Override
|
|
+ int getPurpurBreedTime() {
|
|
+ return this.world.purpurConfig.polarBearBreedingTicks;
|
|
+ }
|
|
// Purpur end
|
|
|
|
@Override
|
|
diff --git a/src/main/java/net/minecraft/server/EntityRabbit.java b/src/main/java/net/minecraft/server/EntityRabbit.java
|
|
index b766a27e98e19bffd3fe8f81f750750ae7681d02..654cd036a8e4aa4499f10f528b684e003c469c9a 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityRabbit.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityRabbit.java
|
|
@@ -30,6 +30,11 @@ public class EntityRabbit extends EntityAnimal {
|
|
public boolean isRidableInWater() {
|
|
return world.purpurConfig.rabbitRidableInWater;
|
|
}
|
|
+
|
|
+ @Override
|
|
+ int getPurpurBreedTime() {
|
|
+ return this.world.purpurConfig.rabbitBreedingTicks;
|
|
+ }
|
|
// Purpur end
|
|
|
|
// CraftBukkit start - code from constructor
|
|
diff --git a/src/main/java/net/minecraft/server/EntitySheep.java b/src/main/java/net/minecraft/server/EntitySheep.java
|
|
index a151d4295c02930687a23212647de60cce5405ca..32130c0681501e3e5a47b199f0bb39daac416ed3 100644
|
|
--- a/src/main/java/net/minecraft/server/EntitySheep.java
|
|
+++ b/src/main/java/net/minecraft/server/EntitySheep.java
|
|
@@ -66,6 +66,11 @@ public class EntitySheep extends EntityAnimal implements IShearable {
|
|
public boolean isRidableInWater() {
|
|
return world.purpurConfig.sheepRidableInWater;
|
|
}
|
|
+
|
|
+ @Override
|
|
+ int getPurpurBreedTime() {
|
|
+ return this.world.purpurConfig.sheepBreedingTicks;
|
|
+ }
|
|
// Purpur end
|
|
|
|
@Override
|
|
diff --git a/src/main/java/net/minecraft/server/EntityStrider.java b/src/main/java/net/minecraft/server/EntityStrider.java
|
|
index 56b72132595db5bc9addf31aecde5c13c5fd44c2..5c960365901b6ebd74134dac2e90c6aa81d33351 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityStrider.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityStrider.java
|
|
@@ -38,6 +38,11 @@ public class EntityStrider extends EntityAnimal implements ISteerable, ISaddleab
|
|
public boolean isRidableInWater() {
|
|
return world.purpurConfig.striderRidableInWater;
|
|
}
|
|
+
|
|
+ @Override
|
|
+ int getPurpurBreedTime() {
|
|
+ return this.world.purpurConfig.striderBreedingTicks;
|
|
+ }
|
|
// Purpur end
|
|
|
|
public static boolean c(EntityTypes<EntityStrider> entitytypes, GeneratorAccess generatoraccess, EnumMobSpawn enummobspawn, BlockPosition blockposition, Random random) {
|
|
diff --git a/src/main/java/net/minecraft/server/EntityTurtle.java b/src/main/java/net/minecraft/server/EntityTurtle.java
|
|
index 2b34e6cf3b86319bd2875d92b63902889fec32a8..067f7f28b02b388d56b93b1ed8274799757196e6 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityTurtle.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityTurtle.java
|
|
@@ -37,6 +37,11 @@ public class EntityTurtle extends EntityAnimal {
|
|
public boolean isRidableInWater() {
|
|
return world.purpurConfig.turtleRidableInWater;
|
|
}
|
|
+
|
|
+ @Override
|
|
+ int getPurpurBreedTime() {
|
|
+ return this.world.purpurConfig.turtleBreedingTicks;
|
|
+ }
|
|
// Purpur end
|
|
|
|
public void setHomePos(BlockPosition blockposition) {
|
|
diff --git a/src/main/java/net/minecraft/server/EntityWolf.java b/src/main/java/net/minecraft/server/EntityWolf.java
|
|
index 9ae7168595dd66860e09ef87f946b18b010e54b1..6c25f667eecdf345289a0dbf885c9d71c6a26958 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityWolf.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityWolf.java
|
|
@@ -48,6 +48,11 @@ public class EntityWolf extends EntityTameableAnimal implements IEntityAngerable
|
|
super.onMount(entityhuman);
|
|
setSitting(false);
|
|
}
|
|
+
|
|
+ @Override
|
|
+ int getPurpurBreedTime() {
|
|
+ return this.world.purpurConfig.wolfBreedingTicks;
|
|
+ }
|
|
// Purpur end
|
|
|
|
@Override
|
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
|
index 84b2b8618162f81369dac9e8341374447d9b1737..abc9b4fc27fdef37e3444cc3d885acab9f4d3f23 100644
|
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
|
@@ -434,10 +434,12 @@ public class PurpurWorldConfig {
|
|
public boolean beeRidable = false;
|
|
public boolean beeRidableInWater = false;
|
|
public double beeMaxY = 256D;
|
|
+ public int beeBreedingTicks = 6000;
|
|
private void beeSettings() {
|
|
beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
|
|
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
|
|
beeMaxY = getDouble("mobs.bee.ridable-max-y", beeMaxY);
|
|
+ beeBreedingTicks = getInt("mobs.bee.breeding-delay-ticks", beeBreedingTicks);
|
|
}
|
|
|
|
public boolean blazeRidable = false;
|
|
@@ -454,12 +456,14 @@ public class PurpurWorldConfig {
|
|
public int catSpawnDelay = 1200;
|
|
public int catSpawnSwampHutScanRange = 16;
|
|
public int catSpawnVillageScanRange = 48;
|
|
+ public int catBreedingTicks = 6000;
|
|
private void catSettings() {
|
|
catRidable = getBoolean("mobs.cat.ridable", catRidable);
|
|
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
|
|
catSpawnDelay = getInt("mobs.cat.spawn-delay", catSpawnDelay);
|
|
catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange);
|
|
catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange);
|
|
+ catBreedingTicks = getInt("mobs.cat.breeding-delay-ticks", catBreedingTicks);
|
|
}
|
|
|
|
public boolean caveSpiderRidable = false;
|
|
@@ -472,10 +476,12 @@ public class PurpurWorldConfig {
|
|
public boolean chickenRidable = false;
|
|
public boolean chickenRidableInWater = false;
|
|
public boolean chickenRetaliate = false;
|
|
+ public int chickenBreedingTicks = 6000;
|
|
private void chickenSettings() {
|
|
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
|
|
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
|
|
chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate);
|
|
+ chickenBreedingTicks = getInt("mobs.chicken.breeding-delay-ticks", chickenBreedingTicks);
|
|
}
|
|
|
|
public boolean codRidable = false;
|
|
@@ -486,10 +492,12 @@ public class PurpurWorldConfig {
|
|
public boolean cowRidable = false;
|
|
public boolean cowRidableInWater = false;
|
|
public int cowFeedMushrooms = 0;
|
|
+ public int cowBreedingTicks = 6000;
|
|
private void cowSettings() {
|
|
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
|
|
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
|
|
cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms);
|
|
+ cowBreedingTicks = getInt("mobs.cow.breeding-delay-ticks", cowBreedingTicks);
|
|
}
|
|
|
|
public boolean creeperRidable = false;
|
|
@@ -517,8 +525,10 @@ public class PurpurWorldConfig {
|
|
}
|
|
|
|
public boolean donkeyRidableInWater = false;
|
|
+ public int donkeyBreedingTicks = 6000;
|
|
private void donkeySettings() {
|
|
donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater);
|
|
+ donkeyBreedingTicks = getInt("mobs.donkey.breeding-delay-ticks", donkeyBreedingTicks);
|
|
}
|
|
|
|
public boolean drownedRidable = false;
|
|
@@ -576,10 +586,12 @@ public class PurpurWorldConfig {
|
|
public boolean foxRidable = false;
|
|
public boolean foxRidableInWater = false;
|
|
public boolean foxTypeChangesWithTulips = false;
|
|
+ public int foxBreedingTicks = 6000;
|
|
private void foxSettings() {
|
|
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
|
|
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
|
|
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
|
|
+ foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks);
|
|
}
|
|
|
|
public boolean ghastRidable = false;
|
|
@@ -624,14 +636,18 @@ public class PurpurWorldConfig {
|
|
|
|
public boolean hoglinRidable = false;
|
|
public boolean hoglinRidableInWater = false;
|
|
+ public int hoglinBreedingTicks = 6000;
|
|
private void hoglinSettings() {
|
|
hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable);
|
|
hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater);
|
|
+ hoglinBreedingTicks = getInt("mobs.hoglin.breeding-delay-ticks", hoglinBreedingTicks);
|
|
}
|
|
|
|
public boolean horseRidableInWater = false;
|
|
+ public int horseBreedingTicks = 6000;
|
|
private void horseSettings() {
|
|
horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater);
|
|
+ horseBreedingTicks = getInt("mobs.horse.breeding-delay-ticks", horseBreedingTicks);
|
|
}
|
|
|
|
public boolean huskRidable = false;
|
|
@@ -676,9 +692,11 @@ public class PurpurWorldConfig {
|
|
|
|
public boolean llamaRidable = false;
|
|
public boolean llamaRidableInWater = false;
|
|
+ public int llamaBreedingTicks = 6000;
|
|
private void llamaSettings() {
|
|
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
|
|
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);
|
|
+ llamaBreedingTicks = getInt("mobs.llama.breeding-delay-ticks", llamaBreedingTicks);
|
|
}
|
|
|
|
public boolean llamaTraderRidable = false;
|
|
@@ -697,28 +715,36 @@ public class PurpurWorldConfig {
|
|
|
|
public boolean mooshroomRidable = false;
|
|
public boolean mooshroomRidableInWater = false;
|
|
+ public int mooshroomBreedingTicks = 6000;
|
|
private void mooshroomSettings() {
|
|
mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable);
|
|
mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater);
|
|
+ mooshroomBreedingTicks = getInt("mobs.mooshroom.breeding-delay-ticks", mooshroomBreedingTicks);
|
|
}
|
|
|
|
public boolean muleRidableInWater = false;
|
|
+ public int muleBreedingTicks = 6000;
|
|
private void muleSettings() {
|
|
muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater);
|
|
+ muleBreedingTicks = getInt("mobs.mule.breeding-delay-ticks", muleBreedingTicks);
|
|
}
|
|
|
|
public boolean ocelotRidable = false;
|
|
public boolean ocelotRidableInWater = false;
|
|
+ public int ocelotBreedingTicks = 6000;
|
|
private void ocelotSettings() {
|
|
ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable);
|
|
ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater);
|
|
+ ocelotBreedingTicks = getInt("mobs.ocelot.breeding-delay-ticks", ocelotBreedingTicks);
|
|
}
|
|
|
|
public boolean pandaRidable = false;
|
|
public boolean pandaRidableInWater = false;
|
|
+ public int pandaBreedingTicks = 6000;
|
|
private void pandaSettings() {
|
|
pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable);
|
|
pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater);
|
|
+ pandaBreedingTicks = getInt("mobs.panda.breeding-delay-ticks", pandaBreedingTicks);
|
|
}
|
|
|
|
public boolean parrotRidable = false;
|
|
@@ -784,10 +810,12 @@ public class PurpurWorldConfig {
|
|
public boolean pigRidable = false;
|
|
public boolean pigRidableInWater = false;
|
|
public boolean pigGiveSaddleBack = false;
|
|
+ public int pigBreedingTicks = 6000;
|
|
private void pigSettings() {
|
|
pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
|
|
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
|
|
pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack);
|
|
+ pigBreedingTicks = getInt("mobs.pig.breeding-delay-ticks", pigBreedingTicks);
|
|
}
|
|
|
|
public boolean piglinRidable = false;
|
|
@@ -815,12 +843,14 @@ public class PurpurWorldConfig {
|
|
public boolean polarBearRidableInWater = false;
|
|
public String polarBearBreedableItemString = "";
|
|
public Item polarBearBreedableItem = null;
|
|
+ public int polarBearBreedingTicks = 6000;
|
|
private void polarBearSettings() {
|
|
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
|
|
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
|
|
polarBearBreedableItemString = getString("mobs.polar_bear.breedable-item", polarBearBreedableItemString);
|
|
Item item = IRegistry.ITEM.get(new MinecraftKey(polarBearBreedableItemString));
|
|
if (item != Items.AIR) polarBearBreedableItem = item;
|
|
+ polarBearBreedingTicks = getInt("mobs.polar_bear.breeding-delay-ticks", polarBearBreedingTicks);
|
|
}
|
|
|
|
public boolean pufferfishRidable = false;
|
|
@@ -832,11 +862,13 @@ public class PurpurWorldConfig {
|
|
public boolean rabbitRidableInWater = false;
|
|
public double rabbitNaturalToast = 0.0D;
|
|
public double rabbitNaturalKiller = 0.0D;
|
|
+ public int rabbitBreedingTicks = 6000;
|
|
private void rabbitSettings() {
|
|
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
|
|
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
|
|
rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast);
|
|
rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
|
|
+ rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks);
|
|
}
|
|
|
|
public boolean ravagerRidable = false;
|
|
@@ -853,9 +885,11 @@ public class PurpurWorldConfig {
|
|
|
|
public boolean sheepRidable = false;
|
|
public boolean sheepRidableInWater = false;
|
|
+ public int sheepBreedingTicks = 6000;
|
|
private void sheepSettings() {
|
|
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
|
|
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
|
|
+ sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks);
|
|
}
|
|
|
|
public boolean shulkerRidable = false;
|
|
@@ -933,9 +967,11 @@ public class PurpurWorldConfig {
|
|
|
|
public boolean striderRidable = false;
|
|
public boolean striderRidableInWater = false;
|
|
+ public int striderBreedingTicks = 6000;
|
|
private void striderSettings() {
|
|
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
|
|
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
|
|
+ striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks);
|
|
}
|
|
|
|
public boolean tropicalFishRidable = false;
|
|
@@ -945,9 +981,11 @@ public class PurpurWorldConfig {
|
|
|
|
public boolean turtleRidable = false;
|
|
public boolean turtleRidableInWater = false;
|
|
+ public int turtleBreedingTicks = 6000;
|
|
private void turtleSettings() {
|
|
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
|
|
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
|
|
+ turtleBreedingTicks = getInt("mobs.turtle.breeding-delay-ticks", turtleBreedingTicks);
|
|
}
|
|
|
|
public boolean vexRidable = false;
|
|
@@ -969,6 +1007,7 @@ public class PurpurWorldConfig {
|
|
public int villagerSpawnIronGolemRadius = 0;
|
|
public int villagerSpawnIronGolemLimit = 0;
|
|
public boolean villagerCanBreed = true;
|
|
+ public int villagerBreedingTicks = 6000;
|
|
private void villagerSettings() {
|
|
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
|
|
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
|
|
@@ -980,6 +1019,7 @@ public class PurpurWorldConfig {
|
|
villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius);
|
|
villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit);
|
|
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
|
|
+ villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks);
|
|
}
|
|
|
|
public boolean villagerTraderRidable = false;
|
|
@@ -1040,9 +1080,11 @@ public class PurpurWorldConfig {
|
|
|
|
public boolean wolfRidable = false;
|
|
public boolean wolfRidableInWater = false;
|
|
+ public int wolfBreedingTicks = 6000;
|
|
private void wolfSettings() {
|
|
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
|
|
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
|
|
+ wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks);
|
|
}
|
|
|
|
public boolean zoglinRidable = false;
|