mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-19 17:37:42 +01:00
Add limits to chicken egg hatching patch
This commit is contained in:
@@ -143,11 +143,6 @@ mobs
|
|||||||
- **default**: true
|
- **default**: true
|
||||||
- **description**: Require shift click to mount otherwise non-ridable mobs
|
- **description**: Require shift click to mount otherwise non-ridable mobs
|
||||||
|
|
||||||
* chicken
|
|
||||||
* eggs-hatch-when-despawned
|
|
||||||
- **default:** false
|
|
||||||
- **description:** When chicken egg despawns a chicken is hatched in its place
|
|
||||||
|
|
||||||
* cow
|
* cow
|
||||||
* feed-mushrooms-for-mooshroom
|
* feed-mushrooms-for-mooshroom
|
||||||
- **default**: 0
|
- **default**: 0
|
||||||
@@ -527,6 +522,14 @@ elytra
|
|||||||
|
|
||||||
mob
|
mob
|
||||||
~~~
|
~~~
|
||||||
|
* chicken
|
||||||
|
* eggs-hatch-when-despawned
|
||||||
|
* max
|
||||||
|
- **default:** 0
|
||||||
|
- **description:** Maximum number of chickens in an area allowed to spawn a chicken when an egg despawns. Set to 0 to disable feature.
|
||||||
|
* range
|
||||||
|
- **default:** 10
|
||||||
|
- **description:** The range in which to check for maximum number of allowed chickens.
|
||||||
* zombie-villager
|
* zombie-villager
|
||||||
* transformation-chance
|
* transformation-chance
|
||||||
* easy
|
* easy
|
||||||
|
|||||||
@@ -1,32 +1,35 @@
|
|||||||
From 209df14113e37519c2a2bfc00c15e04266c9ce31 Mon Sep 17 00:00:00 2001
|
From b6fae51c16321e3c6ae36ce3624c047b94cd22c6 Mon Sep 17 00:00:00 2001
|
||||||
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
||||||
Date: Fri, 29 Nov 2019 23:47:42 -0600
|
Date: Fri, 29 Nov 2019 23:47:42 -0600
|
||||||
Subject: [PATCH] Despawn egg hatches chicken
|
Subject: [PATCH] Despawn egg hatches chicken
|
||||||
|
|
||||||
---
|
---
|
||||||
.../java/net/minecraft/server/EntityItem.java | 18 ++++++++++++++++++
|
.../java/net/minecraft/server/EntityItem.java | 21 +++++++++++++++++++
|
||||||
.../java/net/pl3x/purpur/PurpurConfig.java | 5 +++++
|
.../net/pl3x/purpur/PurpurWorldConfig.java | 7 +++++++
|
||||||
2 files changed, 23 insertions(+)
|
2 files changed, 28 insertions(+)
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java
|
diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java
|
||||||
index e61af3f5eb..b9ad1ff70e 100644
|
index e61af3f5eb..184b2a015a 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityItem.java
|
--- a/src/main/java/net/minecraft/server/EntityItem.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityItem.java
|
+++ b/src/main/java/net/minecraft/server/EntityItem.java
|
||||||
@@ -165,6 +165,24 @@ public class EntityItem extends Entity {
|
@@ -165,6 +165,27 @@ public class EntityItem extends Entity {
|
||||||
}
|
}
|
||||||
// Spigot end
|
// Spigot end
|
||||||
|
|
||||||
+ // Purpur start
|
+ // Purpur start
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public void die() {
|
+ public void die() {
|
||||||
+ if (!dead && net.pl3x.purpur.PurpurConfig.chickenEggsHatchWhenDespawned) {
|
+ if (!dead && world.purpurConfig.chickenEggsHatchWhenDespawnedMax > 0) {
|
||||||
+ ItemStack item = getItemStack();
|
+ ItemStack item = getItemStack();
|
||||||
+ if (item != null && item.getItem() == Items.EGG) {
|
+ if (item != null && item.getItem() == Items.EGG) {
|
||||||
+ EntityChicken chicken = EntityTypes.CHICKEN.create(world);
|
+ int range = world.purpurConfig.chickenEggsHatchWhenDespawnedRange;
|
||||||
+ if (chicken != null) {
|
+ if (world.getEntitiesByClass(EntityChicken.class, new AxisAlignedBB(locX() - range, locY() - range, locZ() - range, locX() + range, locY() + range, locZ() + range)).size() < world.purpurConfig.chickenEggsHatchWhenDespawnedMax) {
|
||||||
+ chicken.setPosition(locX(), locY(), locZ());
|
+ EntityChicken chicken = EntityTypes.CHICKEN.create(world);
|
||||||
+ chicken.setAge(-24000);
|
+ if (chicken != null) {
|
||||||
+ world.addEntity(chicken, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.EGG);
|
+ chicken.setPosition(locX(), locY(), locZ());
|
||||||
|
+ chicken.setAge(-24000);
|
||||||
|
+ world.addEntity(chicken, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.EGG);
|
||||||
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
@@ -37,22 +40,22 @@ index e61af3f5eb..b9ad1ff70e 100644
|
|||||||
private void u() {
|
private void u() {
|
||||||
Vec3D vec3d = this.getMot();
|
Vec3D vec3d = this.getMot();
|
||||||
|
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index b5f12373a9..efdf01e98c 100644
|
index c618169db3..e54f5dcfd4 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -203,6 +203,11 @@ public class PurpurConfig {
|
@@ -188,4 +188,11 @@ public class PurpurWorldConfig {
|
||||||
armorstandStepHeight = (float) getDouble("settings.armorstand.step-height", armorstandStepHeight);
|
elytraDamagePerFireworkBoost = getInt("elytra.damage-per-boost.firework", elytraDamagePerFireworkBoost);
|
||||||
|
elytraDamagePerTridentBoost = getInt("elytra.damage-per-boost.trident", elytraDamagePerTridentBoost);
|
||||||
}
|
}
|
||||||
|
|
||||||
+ public static boolean chickenEggsHatchWhenDespawned = false;
|
|
||||||
+ private static void chickenSettings() {
|
|
||||||
+ chickenEggsHatchWhenDespawned = getBoolean("settings.mobs.chicken.eggs-hatch-when-despawned", chickenEggsHatchWhenDespawned);
|
|
||||||
+ }
|
|
||||||
+
|
+
|
||||||
public static int feedMushroomsToCows = 0;
|
+ public int chickenEggsHatchWhenDespawnedMax = 0;
|
||||||
private static void cowsSettings() {
|
+ public int chickenEggsHatchWhenDespawnedRange = 10;
|
||||||
feedMushroomsToCows = getInt("settings.mobs.cow.feed-mushrooms-for-mooshroom", feedMushroomsToCows);
|
+ private void chickenSettings() {
|
||||||
|
+ chickenEggsHatchWhenDespawnedMax = getInt("mobs.chicken.eggs-hatch-when-despawned.max", chickenEggsHatchWhenDespawnedMax);
|
||||||
|
+ chickenEggsHatchWhenDespawnedRange = getInt("mobs.chicken.eggs-hatch-when-despawned.range", chickenEggsHatchWhenDespawnedRange);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
--
|
--
|
||||||
2.24.0.rc1
|
2.24.0
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
From 6797eea55509beb24f0826eed4ece9915772a2b2 Mon Sep 17 00:00:00 2001
|
From bfdb4c203220387e3757e4de3006e6b76773ba97 Mon Sep 17 00:00:00 2001
|
||||||
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
||||||
Date: Thu, 19 Dec 2019 16:59:46 -0600
|
Date: Thu, 19 Dec 2019 16:59:46 -0600
|
||||||
Subject: [PATCH] Add option for zombie villager transformation chance
|
Subject: [PATCH] Add option for zombie villager transformation chance
|
||||||
@@ -35,12 +35,12 @@ index 47248cc45e..5703e9e70c 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index f5283d7aa5..499bbe4ff2 100644
|
index 0e36f85fb1..c3e0a65c69 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -200,4 +200,13 @@ public class PurpurWorldConfig {
|
@@ -207,4 +207,13 @@ public class PurpurWorldConfig {
|
||||||
elytraDamagePerFireworkBoost = getInt("elytra.damage-per-boost.firework", elytraDamagePerFireworkBoost);
|
chickenEggsHatchWhenDespawnedMax = getInt("mobs.chicken.eggs-hatch-when-despawned.max", chickenEggsHatchWhenDespawnedMax);
|
||||||
elytraDamagePerTridentBoost = getInt("elytra.damage-per-boost.trident", elytraDamagePerTridentBoost);
|
chickenEggsHatchWhenDespawnedRange = getInt("mobs.chicken.eggs-hatch-when-despawned.range", chickenEggsHatchWhenDespawnedRange);
|
||||||
}
|
}
|
||||||
+
|
+
|
||||||
+ public double zombieVillagerTransformationChanceEasy = 0.0D;
|
+ public double zombieVillagerTransformationChanceEasy = 0.0D;
|
||||||
|
|||||||
Reference in New Issue
Block a user