adds ridable option to zombie horse and skeleton horse, fixes #1458

only set as tamable if already tamed or if ridable option is enabled
This commit is contained in:
granny
2023-11-13 23:41:37 -08:00
parent 1adf78b91a
commit 2a38801aeb
41 changed files with 309 additions and 301 deletions

View File

@@ -57,7 +57,7 @@ index 469ad6f0d73add7b005217b2ae39b201c7679a27..ede13fe38fb97b94180ea8557d8a45d2
return checkMonsterSpawnRules(type, world, spawnReason, pos, random) && (spawnReason == MobSpawnType.SPAWNER || world.canSeeSky(pos));
}
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
index 56f9d91ba48c501fbcdbb959f683ce8728a36503..971abbfdff555a569ad54b9db5947c3ec50408d2 100644
index 3948e9e56a260ee831fa17b0a4d4240a0bc8d26d..8a30b101fd2cc78b867ae703f6a4e8805d1c841d 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
@@ -129,6 +129,18 @@ public class Zombie extends Monster {
@@ -115,7 +115,7 @@ index 56f9d91ba48c501fbcdbb959f683ce8728a36503..971abbfdff555a569ad54b9db5947c3e
}
}
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
index a205c668d0d7b428622fbcaa1598f01c685b516e..01f6b7eb50870f9bcac9bbd3b6a87382d6aa1f1b 100644
index 6c96ca4bb3f94aaeaff87ae44500e87516fbf54f..b71c47c275a3726eb5028c9524013ebc608a21ea 100644
--- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
@@ -109,6 +109,21 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
@@ -167,7 +167,7 @@ index fa5fa58ee03243054a38475634a6aa67815ca77d..764477c39e690d6373e17c7768780941
public void setPersistentAngerTarget(@Nullable UUID angryAt) {
this.persistentAngerTarget = angryAt;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index fb6d7e6917e0b8648b5192d83f7aa6a3e3742eae..6da08454de6f0932971a230471d3558578a4b2a3 100644
index 6d46b1682a7c0b8c638a047177ff99ee8c47de9c..5fd4129889b3006018612204bc527738a78a0d35 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -588,6 +588,9 @@ public class PurpurWorldConfig {
@@ -210,7 +210,7 @@ index fb6d7e6917e0b8648b5192d83f7aa6a3e3742eae..6da08454de6f0932971a230471d35585
}
public boolean illusionerRidable = false;
@@ -1674,6 +1686,9 @@ public class PurpurWorldConfig {
@@ -1676,6 +1688,9 @@ public class PurpurWorldConfig {
public boolean zombieControllable = true;
public double zombieMaxHealth = 20.0D;
public double zombieSpawnReinforcements = 0.1D;
@@ -220,7 +220,7 @@ index fb6d7e6917e0b8648b5192d83f7aa6a3e3742eae..6da08454de6f0932971a230471d35585
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1685,6 +1700,9 @@ public class PurpurWorldConfig {
@@ -1687,6 +1702,9 @@ public class PurpurWorldConfig {
}
zombieMaxHealth = getDouble("mobs.zombie.attributes.max_health", zombieMaxHealth);
zombieSpawnReinforcements = getDouble("mobs.zombie.attributes.spawn_reinforcements", zombieSpawnReinforcements);
@@ -229,8 +229,8 @@ index fb6d7e6917e0b8648b5192d83f7aa6a3e3742eae..6da08454de6f0932971a230471d35585
+ zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);
}
public boolean zombieHorseRidableInWater = false;
@@ -1719,6 +1737,9 @@ public class PurpurWorldConfig {
public boolean zombieHorseRidable = false;
@@ -1723,6 +1741,9 @@ public class PurpurWorldConfig {
public boolean zombieVillagerControllable = true;
public double zombieVillagerMaxHealth = 20.0D;
public double zombieVillagerSpawnReinforcements = 0.1D;
@@ -240,7 +240,7 @@ index fb6d7e6917e0b8648b5192d83f7aa6a3e3742eae..6da08454de6f0932971a230471d35585
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -1730,6 +1751,9 @@ public class PurpurWorldConfig {
@@ -1734,6 +1755,9 @@ public class PurpurWorldConfig {
}
zombieVillagerMaxHealth = getDouble("mobs.zombie_villager.attributes.max_health", zombieVillagerMaxHealth);
zombieVillagerSpawnReinforcements = getDouble("mobs.zombie_villager.attributes.spawn_reinforcements", zombieVillagerSpawnReinforcements);
@@ -250,7 +250,7 @@ index fb6d7e6917e0b8648b5192d83f7aa6a3e3742eae..6da08454de6f0932971a230471d35585
}
public boolean zombifiedPiglinRidable = false;
@@ -1737,6 +1761,9 @@ public class PurpurWorldConfig {
@@ -1741,6 +1765,9 @@ public class PurpurWorldConfig {
public boolean zombifiedPiglinControllable = true;
public double zombifiedPiglinMaxHealth = 20.0D;
public double zombifiedPiglinSpawnReinforcements = 0.0D;
@@ -260,7 +260,7 @@ index fb6d7e6917e0b8648b5192d83f7aa6a3e3742eae..6da08454de6f0932971a230471d35585
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -1748,5 +1775,8 @@ public class PurpurWorldConfig {
@@ -1752,5 +1779,8 @@ public class PurpurWorldConfig {
}
zombifiedPiglinMaxHealth = getDouble("mobs.zombified_piglin.attributes.max_health", zombifiedPiglinMaxHealth);
zombifiedPiglinSpawnReinforcements = getDouble("mobs.zombified_piglin.attributes.spawn_reinforcements", zombifiedPiglinSpawnReinforcements);