mirror of
https://github.com/Winds-Studio/Leaf.git
synced 2025-12-19 15:09:25 +00:00
183 lines
12 KiB
Diff
183 lines
12 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com>
|
|
Date: Sun, 17 Dec 2023 19:34:46 -0500
|
|
Subject: [PATCH] Configurable movement speed of more entities
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
|
index 05ed15bcd5974af13395316b50f4ae78385f2ee4..a7495d74d849d3723555da3ec0d65022399d63e4 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
|
@@ -92,6 +92,7 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
|
@Override
|
|
public void initAttributes() {
|
|
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.drownedMaxHealth);
|
|
+ this.getAttribute(Attributes.MOVEMENT_SPEED).setBaseValue(this.level().purpurConfig.drownedMovementSpeed); // Leaf - Configurable drowned movement speed
|
|
}
|
|
|
|
@Override
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Husk.java b/src/main/java/net/minecraft/world/entity/monster/Husk.java
|
|
index 95d3edc6c88d6ed0556c21c2623cdd5cfda35911..cc3bfada6ede81fa7f15d65a2982b926ef049c18 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Husk.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Husk.java
|
|
@@ -43,6 +43,7 @@ public class Husk extends Zombie {
|
|
@Override
|
|
public void initAttributes() {
|
|
this.getAttribute(net.minecraft.world.entity.ai.attributes.Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.huskMaxHealth);
|
|
+ this.getAttribute(net.minecraft.world.entity.ai.attributes.Attributes.MOVEMENT_SPEED).setBaseValue(this.level().purpurConfig.huskMovementSpeed); // Leaf - Configurable husk movement speed
|
|
}
|
|
|
|
@Override
|
|
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 70263881941efe3b406bbc571932fc8d2c1a78cb..888cf98d1ee16d00592520a8cd9e0241d540eb8e 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
|
@@ -125,6 +125,7 @@ public class Zombie extends Monster {
|
|
@Override
|
|
public void initAttributes() {
|
|
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.zombieMaxHealth);
|
|
+ this.getAttribute(Attributes.MOVEMENT_SPEED).setBaseValue(this.level().purpurConfig.zombieMovementSpeed); // Leaf - Configurable zombie movement speed
|
|
}
|
|
|
|
public boolean jockeyOnlyBaby() {
|
|
@@ -182,9 +183,15 @@ public class Zombie extends Monster {
|
|
this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR));
|
|
}
|
|
|
|
+ // Leaf start - Configurable zombie movement speed
|
|
public static AttributeSupplier.Builder createAttributes() {
|
|
- return Monster.createMonsterAttributes().add(Attributes.FOLLOW_RANGE, 35.0D).add(Attributes.MOVEMENT_SPEED, 0.23000000417232513D).add(Attributes.ATTACK_DAMAGE, 3.0D).add(Attributes.ARMOR, 2.0D).add(Attributes.SPAWN_REINFORCEMENTS_CHANCE);
|
|
+ return Monster.createMonsterAttributes()
|
|
+ .add(Attributes.FOLLOW_RANGE, 35.0D)
|
|
+ .add(Attributes.ATTACK_DAMAGE, 3.0D)
|
|
+ .add(Attributes.ARMOR, 2.0D)
|
|
+ .add(Attributes.SPAWN_REINFORCEMENTS_CHANCE);
|
|
}
|
|
+ // Leaf end
|
|
|
|
@Override
|
|
protected void defineSynchedData(SynchedEntityData.Builder builder) {
|
|
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 8ea44416ea728e740af82912017e888a10d78983..5d59af7a09f8d607ad797dd8315b56f74ce32db9 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
|
@@ -100,6 +100,7 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
|
@Override
|
|
public void initAttributes() {
|
|
this.getAttribute(net.minecraft.world.entity.ai.attributes.Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.zombieVillagerMaxHealth);
|
|
+ this.getAttribute(net.minecraft.world.entity.ai.attributes.Attributes.MOVEMENT_SPEED).setBaseValue(this.level().purpurConfig.zombieVillagerMovementSpeed); // Leaf - Configurable zombieVillager movement speed
|
|
}
|
|
|
|
@Override
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
|
|
index 5bae3215ee0bf222c3bd77b3131f3d01ac6c9c41..8a643108954698425413d14eb9a2c86c4b5c5074 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
|
|
@@ -82,6 +82,7 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
|
|
@Override
|
|
public void initAttributes() {
|
|
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.zombifiedPiglinMaxHealth);
|
|
+ this.getAttribute(Attributes.MOVEMENT_SPEED).setBaseValue(this.level().purpurConfig.zombifiedPiglinMovementSpeed); // Leaf - Configurable zombifiedPiglin movement speed
|
|
}
|
|
|
|
@Override
|
|
@@ -123,9 +124,13 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
|
|
this.targetSelector.addGoal(3, new ResetUniversalAngerTargetGoal<>(this, true));
|
|
}
|
|
|
|
+ // Leaf start - Configurable zombieVillager movement speed
|
|
public static AttributeSupplier.Builder createAttributes() {
|
|
- return Zombie.createAttributes().add(Attributes.SPAWN_REINFORCEMENTS_CHANCE, 0.0D).add(Attributes.MOVEMENT_SPEED, 0.23000000417232513D).add(Attributes.ATTACK_DAMAGE, 5.0D);
|
|
+ return Zombie.createAttributes()
|
|
+ .add(Attributes.SPAWN_REINFORCEMENTS_CHANCE, 0.0D)
|
|
+ .add(Attributes.ATTACK_DAMAGE, 5.0D);
|
|
}
|
|
+ // Leaf end
|
|
|
|
@Override
|
|
public EntityDimensions getDefaultDimensions(Pose pose) {
|
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
index 4a385c42da7ab3be46d5e47d00daee5e0b6da88f..7a3017177f68111c0de9b197b0bf8e4159fd561d 100644
|
|
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
@@ -1530,6 +1530,7 @@ public class PurpurWorldConfig {
|
|
public boolean drownedTakeDamageFromWater = false;
|
|
public boolean drownedBreakDoors = false;
|
|
public boolean drownedAlwaysDropExp = false;
|
|
+ public double drownedMovementSpeed = 0.23000000417232513D; // Leaf - Configurable drowned movement speed
|
|
private void drownedSettings() {
|
|
drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable);
|
|
drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater);
|
|
@@ -1547,6 +1548,7 @@ public class PurpurWorldConfig {
|
|
drownedTakeDamageFromWater = getBoolean("mobs.drowned.takes-damage-from-water", drownedTakeDamageFromWater);
|
|
drownedBreakDoors = getBoolean("mobs.drowned.can-break-doors", drownedBreakDoors);
|
|
drownedAlwaysDropExp = getBoolean("mobs.drowned.always-drop-exp", drownedAlwaysDropExp);
|
|
+ drownedMovementSpeed = getDouble("mobs.drowned.movement-speed", drownedMovementSpeed); // Leaf - Configurable drowned movement speed
|
|
}
|
|
|
|
public boolean elderGuardianRidable = false;
|
|
@@ -1893,6 +1895,7 @@ public class PurpurWorldConfig {
|
|
public boolean huskJockeyTryExistingChickens = true;
|
|
public boolean huskTakeDamageFromWater = false;
|
|
public boolean huskAlwaysDropExp = false;
|
|
+ public double huskMovementSpeed = 0.23000000417232513D; // Leaf - Configurable husk movement speed
|
|
private void huskSettings() {
|
|
huskRidable = getBoolean("mobs.husk.ridable", huskRidable);
|
|
huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater);
|
|
@@ -1909,6 +1912,7 @@ public class PurpurWorldConfig {
|
|
huskJockeyTryExistingChickens = getBoolean("mobs.husk.jockey.try-existing-chickens", huskJockeyTryExistingChickens);
|
|
huskTakeDamageFromWater = getBoolean("mobs.husk.takes-damage-from-water", huskTakeDamageFromWater);
|
|
huskAlwaysDropExp = getBoolean("mobs.husk.always-drop-exp", huskAlwaysDropExp);
|
|
+ huskMovementSpeed = getDouble("mobs.husk.movement-speed", huskMovementSpeed); // Leaf - Configurable husk movement speed
|
|
}
|
|
|
|
public boolean illusionerRidable = false;
|
|
@@ -3125,6 +3129,7 @@ public class PurpurWorldConfig {
|
|
public boolean zombieTakeDamageFromWater = false;
|
|
public boolean zombieAlwaysDropExp = false;
|
|
public double zombieHeadVisibilityPercent = 0.5D;
|
|
+ public double zombieMovementSpeed = 0.23000000417232513D; // Leaf - Configurable zombie movement speed
|
|
private void zombieSettings() {
|
|
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
|
|
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
|
|
@@ -3144,6 +3149,7 @@ public class PurpurWorldConfig {
|
|
zombieTakeDamageFromWater = getBoolean("mobs.zombie.takes-damage-from-water", zombieTakeDamageFromWater);
|
|
zombieAlwaysDropExp = getBoolean("mobs.zombie.always-drop-exp", zombieAlwaysDropExp);
|
|
zombieHeadVisibilityPercent = getDouble("mobs.zombie.head-visibility-percent", zombieHeadVisibilityPercent);
|
|
+ zombieMovementSpeed = getDouble("mobs.zombie.movement-speed", zombieMovementSpeed); // Leaf - Configurable zombie movement speed
|
|
}
|
|
|
|
public boolean zombieHorseRidable = false;
|
|
@@ -3192,6 +3198,7 @@ public class PurpurWorldConfig {
|
|
public int zombieVillagerCuringTimeMax = 6000;
|
|
public boolean zombieVillagerCureEnabled = true;
|
|
public boolean zombieVillagerAlwaysDropExp = false;
|
|
+ public double zombieVillagerMovementSpeed = 0.23000000417232513D; // Leaf - Configurable zombieVillager movement speed
|
|
private void zombieVillagerSettings() {
|
|
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
|
|
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
|
|
@@ -3211,6 +3218,7 @@ public class PurpurWorldConfig {
|
|
zombieVillagerCuringTimeMax = getInt("mobs.zombie_villager.curing_time.max", zombieVillagerCuringTimeMax);
|
|
zombieVillagerCureEnabled = getBoolean("mobs.zombie_villager.cure.enabled", zombieVillagerCureEnabled);
|
|
zombieVillagerAlwaysDropExp = getBoolean("mobs.zombie_villager.always-drop-exp", zombieVillagerAlwaysDropExp);
|
|
+ zombieVillagerMovementSpeed = getDouble("mobs.zombie_villager.movement-speed", zombieVillagerMovementSpeed); // Leaf - Configurable zombieVillager movement speed
|
|
}
|
|
|
|
public boolean zombifiedPiglinRidable = false;
|
|
@@ -3224,6 +3232,7 @@ public class PurpurWorldConfig {
|
|
public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true;
|
|
public boolean zombifiedPiglinTakeDamageFromWater = false;
|
|
public boolean zombifiedPiglinAlwaysDropExp = false;
|
|
+ public double zombifiedPiglinMovementSpeed = 0.23000000417232513D; // Leaf - Configurable zombifiedPiglin movement speed
|
|
private void zombifiedPiglinSettings() {
|
|
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
|
|
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
|
|
@@ -3241,6 +3250,7 @@ public class PurpurWorldConfig {
|
|
zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry);
|
|
zombifiedPiglinTakeDamageFromWater = getBoolean("mobs.zombified_piglin.takes-damage-from-water", zombifiedPiglinTakeDamageFromWater);
|
|
zombifiedPiglinAlwaysDropExp = getBoolean("mobs.zombified_piglin.always-drop-exp", zombifiedPiglinAlwaysDropExp);
|
|
+ zombifiedPiglinMovementSpeed = getDouble("mobs.zombified_piglin.movement-speed", zombifiedPiglinMovementSpeed); // Leaf - Configurable zombifiedPiglin movement speed
|
|
}
|
|
|
|
public float hungerStarvationDamage = 1.0F;
|