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

@@ -5,7 +5,7 @@ Subject: [PATCH] Add mobGriefing bypass to everything affected
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index bb36602c78292e762e26fe23e9928609c4bb4271..704eccf1d65d650ce1f6709136c75133f9ef59be 100644
index c46490fd0443ba0ea04679a31a637410600b2810..7e6fe9ee09b80d022bfc2cc87363142a10b980f3 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1802,7 +1802,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -18,7 +18,7 @@ index bb36602c78292e762e26fe23e9928609c4bb4271..704eccf1d65d650ce1f6709136c75133
BlockState iblockdata = Blocks.WITHER_ROSE.defaultBlockState();
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 1ce3ba7f703b5627e2761865c0e133dbf5df8712..4454241862598048abd4e8bf321f9a066be15067 100644
index dd75a1115d02506f1e99688817cb724b22b3e696..54d1e9c9d98bbf8f408c3c9906d76c662ab2c90e 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -704,7 +704,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
@@ -374,7 +374,7 @@ index 18feb559f9fd157dd4a01faf2b2bb18df2a64675..9c834e3deed07eb70e6a57df2db732c1
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index be24ad68043d014d23879dfe4730c582a7b81689..499595ee7ab97559f562ecfbf4479a6b75506d9d 100644
index 88609510c379d0e7d94f3d821f828ed0313a9fe3..1ee8dfb7d6efea66293cfd8059b8a84a77999fb2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -115,8 +115,11 @@ public class PurpurWorldConfig {
@@ -613,7 +613,7 @@ index be24ad68043d014d23879dfe4730c582a7b81689..499595ee7ab97559f562ecfbf4479a6b
}
public boolean skeletonRidable = false;
@@ -1635,6 +1672,7 @@ public class PurpurWorldConfig {
@@ -1637,6 +1674,7 @@ public class PurpurWorldConfig {
public int snowGolemSnowBallMax = 20;
public float snowGolemSnowBallModifier = 10.0F;
public double snowGolemAttackDistance = 1.25D;
@@ -621,7 +621,7 @@ index be24ad68043d014d23879dfe4730c582a7b81689..499595ee7ab97559f562ecfbf4479a6b
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1652,6 +1690,7 @@ public class PurpurWorldConfig {
@@ -1654,6 +1692,7 @@ public class PurpurWorldConfig {
snowGolemSnowBallMax = getInt("mobs.snow_golem.max-shoot-interval-ticks", snowGolemSnowBallMax);
snowGolemSnowBallModifier = (float) getDouble("mobs.snow_golem.snow-ball-modifier", snowGolemSnowBallModifier);
snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance);
@@ -629,7 +629,7 @@ index be24ad68043d014d23879dfe4730c582a7b81689..499595ee7ab97559f562ecfbf4479a6b
}
public boolean snifferRidable = false;
@@ -1838,6 +1877,7 @@ public class PurpurWorldConfig {
@@ -1840,6 +1879,7 @@ public class PurpurWorldConfig {
public int villagerBreedingTicks = 6000;
public boolean villagerClericsFarmWarts = false;
public boolean villagerClericFarmersThrowWarts = true;
@@ -637,7 +637,7 @@ index be24ad68043d014d23879dfe4730c582a7b81689..499595ee7ab97559f562ecfbf4479a6b
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1854,6 +1894,7 @@ public class PurpurWorldConfig {
@@ -1856,6 +1896,7 @@ public class PurpurWorldConfig {
villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks);
villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts);
villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts);
@@ -645,7 +645,7 @@ index be24ad68043d014d23879dfe4730c582a7b81689..499595ee7ab97559f562ecfbf4479a6b
}
public boolean vindicatorRidable = false;
@@ -1926,6 +1967,7 @@ public class PurpurWorldConfig {
@@ -1928,6 +1969,7 @@ public class PurpurWorldConfig {
public double witherMaxHealth = 300.0D;
public float witherHealthRegenAmount = 1.0f;
public int witherHealthRegenDelay = 20;
@@ -653,7 +653,7 @@ index be24ad68043d014d23879dfe4730c582a7b81689..499595ee7ab97559f562ecfbf4479a6b
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1943,6 +1985,7 @@ public class PurpurWorldConfig {
@@ -1945,6 +1987,7 @@ public class PurpurWorldConfig {
witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth);
witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount);
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
@@ -661,7 +661,7 @@ index be24ad68043d014d23879dfe4730c582a7b81689..499595ee7ab97559f562ecfbf4479a6b
}
public boolean witherSkeletonRidable = false;
@@ -2014,6 +2057,7 @@ public class PurpurWorldConfig {
@@ -2016,6 +2059,7 @@ public class PurpurWorldConfig {
public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true;
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
@@ -669,11 +669,11 @@ index be24ad68043d014d23879dfe4730c582a7b81689..499595ee7ab97559f562ecfbf4479a6b
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -2029,6 +2073,7 @@ public class PurpurWorldConfig {
@@ -2031,6 +2075,7 @@ public class PurpurWorldConfig {
zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance);
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);
zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging);
+ zombieBypassMobGriefing = getBoolean("mobs.zombie.bypass-mob-griefing", zombieBypassMobGriefing);
}
public boolean zombieHorseRidableInWater = false;
public boolean zombieHorseRidable = false;