port Chickens can retaliate patch

This commit is contained in:
granny
2025-01-05 14:13:09 -08:00
committed by granny
parent ad2831aaba
commit 4945212daf
2 changed files with 15 additions and 33 deletions

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Chickens can retaliate
diff --git a/net/minecraft/world/entity/animal/Chicken.java b/net/minecraft/world/entity/animal/Chicken.java diff --git a/net/minecraft/world/entity/animal/Chicken.java b/net/minecraft/world/entity/animal/Chicken.java
index 2f1518536e63dfd94db5c8a2076004319408409c..f6f7afc6a421022738f77e5eece193ad15de78ba 100644 index 509163f409a5b8988a484aedb2f3ddf042d5eb13..d718f0ed362c49803260dceed64bd93e2b6744fc 100644
--- a/net/minecraft/world/entity/animal/Chicken.java --- a/net/minecraft/world/entity/animal/Chicken.java
+++ b/net/minecraft/world/entity/animal/Chicken.java +++ b/net/minecraft/world/entity/animal/Chicken.java
@@ -75,13 +75,18 @@ public class Chicken extends Animal { @@ -73,6 +73,11 @@ public class Chicken extends Animal {
public void initAttributes() { public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.chickenMaxHealth); this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.chickenMaxHealth);
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.chickenScale); this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.chickenScale);
@@ -19,17 +19,17 @@ index 2f1518536e63dfd94db5c8a2076004319408409c..f6f7afc6a421022738f77e5eece193ad
+ // Purpur end - Chickens can retaliate + // Purpur end - Chickens can retaliate
} }
// Purpur end - Configurable entity base attributes // Purpur end - Configurable entity base attributes
@Override
@@ -80,13 +85,21 @@ public class Chicken extends Animal {
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this)); this.goalSelector.addGoal(0, new FloatGoal(this));
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - Ridables this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - Ridables
- this.goalSelector.addGoal(1, new PanicGoal(this, 1.4D)); - this.goalSelector.addGoal(1, new PanicGoal(this, 1.4));
+ //this.goalSelector.addGoal(1, new PanicGoal(this, 1.4D)); // Purpur - moved down + //this.goalSelector.addGoal(1, new PanicGoal(this, 1.4)); // Purpur - Chickens can retaliate - moved down
this.goalSelector.addGoal(2, new BreedGoal(this, 1.0D)); this.goalSelector.addGoal(2, new BreedGoal(this, 1.0));
this.goalSelector.addGoal(3, new TemptGoal(this, 1.0D, (itemstack) -> { this.goalSelector.addGoal(3, new TemptGoal(this, 1.0, itemStack -> itemStack.is(ItemTags.CHICKEN_FOOD), false));
return itemstack.is(ItemTags.CHICKEN_FOOD); this.goalSelector.addGoal(4, new FollowParentGoal(this, 1.1));
@@ -90,6 +95,14 @@ public class Chicken extends Animal { this.goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 1.0));
this.goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 1.0D));
this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F)); this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F));
this.goalSelector.addGoal(7, new RandomLookAroundGoal(this)); this.goalSelector.addGoal(7, new RandomLookAroundGoal(this));
+ // Purpur start - Chickens can retaliate + // Purpur start - Chickens can retaliate
@@ -43,32 +43,12 @@ index 2f1518536e63dfd94db5c8a2076004319408409c..f6f7afc6a421022738f77e5eece193ad
} }
@Override @Override
@@ -98,7 +111,7 @@ public class Chicken extends Animal { @@ -95,7 +108,7 @@ public class Chicken extends Animal {
} }
public static AttributeSupplier.Builder createAttributes() { public static AttributeSupplier.Builder createAttributes() {
- return Animal.createAnimalAttributes().add(Attributes.MAX_HEALTH, 4.0D).add(Attributes.MOVEMENT_SPEED, 0.25D); - return Animal.createAnimalAttributes().add(Attributes.MAX_HEALTH, 4.0).add(Attributes.MOVEMENT_SPEED, 0.25);
+ return Animal.createAnimalAttributes().add(Attributes.MAX_HEALTH, 4.0D).add(Attributes.MOVEMENT_SPEED, 0.25D).add(Attributes.ATTACK_DAMAGE, 0.0D); // Purpur - Chickens can retaliate + return Animal.createAnimalAttributes().add(Attributes.MAX_HEALTH, 4.0).add(Attributes.MOVEMENT_SPEED, 0.25).add(Attributes.ATTACK_DAMAGE, 0.0D); // Purpur - Chickens can retaliate
} }
@Override @Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index efa453fdde735158b4c6324546ca83bdd2935746..dcc8e4880c1bfff1abdc1b542000d61e3378d4f1 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -343,6 +343,7 @@ public class PurpurWorldConfig {
public boolean chickenControllable = true;
public double chickenMaxHealth = 4.0D;
public double chickenScale = 1.0D;
+ public boolean chickenRetaliate = false;
private void chickenSettings() {
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
@@ -354,6 +355,7 @@ public class PurpurWorldConfig {
}
chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth);
chickenScale = Mth.clamp(getDouble("mobs.chicken.attributes.scale", chickenScale), 0.0625D, 16.0D);
+ chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate);
}
public boolean codRidable = false;

View File

@@ -329,6 +329,7 @@ public class PurpurWorldConfig {
public boolean chickenControllable = true; public boolean chickenControllable = true;
public double chickenMaxHealth = 4.0D; public double chickenMaxHealth = 4.0D;
public double chickenScale = 1.0D; public double chickenScale = 1.0D;
public boolean chickenRetaliate = false;
private void chickenSettings() { private void chickenSettings() {
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable); chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater); chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
@@ -340,6 +341,7 @@ public class PurpurWorldConfig {
} }
chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth); chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth);
chickenScale = Mth.clamp(getDouble("mobs.chicken.attributes.scale", chickenScale), 0.0625D, 16.0D); chickenScale = Mth.clamp(getDouble("mobs.chicken.attributes.scale", chickenScale), 0.0625D, 16.0D);
chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate);
} }
public boolean codRidable = false; public boolean codRidable = false;