From 4945212dafc48c85bbfd6dcb32a7a2afc0b76720 Mon Sep 17 00:00:00 2001 From: granny Date: Sun, 5 Jan 2025 14:13:09 -0800 Subject: [PATCH] port Chickens can retaliate patch --- .../0005-Chickens-can-retaliate.patch | 46 ++++++------------- .../purpurmc/purpur/PurpurWorldConfig.java | 2 + 2 files changed, 15 insertions(+), 33 deletions(-) rename patches/server/0030-Chickens-can-retaliate.patch => purpur-server/minecraft-patches/features/0005-Chickens-can-retaliate.patch (51%) diff --git a/patches/server/0030-Chickens-can-retaliate.patch b/purpur-server/minecraft-patches/features/0005-Chickens-can-retaliate.patch similarity index 51% rename from patches/server/0030-Chickens-can-retaliate.patch rename to purpur-server/minecraft-patches/features/0005-Chickens-can-retaliate.patch index d2b5dcc54..9156be5d5 100644 --- a/patches/server/0030-Chickens-can-retaliate.patch +++ b/purpur-server/minecraft-patches/features/0005-Chickens-can-retaliate.patch @@ -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 -index 2f1518536e63dfd94db5c8a2076004319408409c..f6f7afc6a421022738f77e5eece193ad15de78ba 100644 +index 509163f409a5b8988a484aedb2f3ddf042d5eb13..d718f0ed362c49803260dceed64bd93e2b6744fc 100644 --- a/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() { this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.chickenMaxHealth); this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.chickenScale); @@ -19,17 +19,17 @@ index 2f1518536e63dfd94db5c8a2076004319408409c..f6f7afc6a421022738f77e5eece193ad + // Purpur end - Chickens can retaliate } // Purpur end - Configurable entity base attributes - @Override + +@@ -80,13 +85,21 @@ public class Chicken extends Animal { protected void registerGoals() { this.goalSelector.addGoal(0, new FloatGoal(this)); 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.4D)); // Purpur - moved down - this.goalSelector.addGoal(2, new BreedGoal(this, 1.0D)); - this.goalSelector.addGoal(3, new TemptGoal(this, 1.0D, (itemstack) -> { - return itemstack.is(ItemTags.CHICKEN_FOOD); -@@ -90,6 +95,14 @@ public class Chicken extends Animal { - this.goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 1.0D)); +- this.goalSelector.addGoal(1, new PanicGoal(this, 1.4)); ++ //this.goalSelector.addGoal(1, new PanicGoal(this, 1.4)); // Purpur - Chickens can retaliate - moved down + this.goalSelector.addGoal(2, new BreedGoal(this, 1.0)); + this.goalSelector.addGoal(3, new TemptGoal(this, 1.0, itemStack -> itemStack.is(ItemTags.CHICKEN_FOOD), false)); + this.goalSelector.addGoal(4, new FollowParentGoal(this, 1.1)); + this.goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 1.0)); this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F)); this.goalSelector.addGoal(7, new RandomLookAroundGoal(this)); + // Purpur start - Chickens can retaliate @@ -43,32 +43,12 @@ index 2f1518536e63dfd94db5c8a2076004319408409c..f6f7afc6a421022738f77e5eece193ad } @Override -@@ -98,7 +111,7 @@ public class Chicken extends Animal { +@@ -95,7 +108,7 @@ public class Chicken extends Animal { } 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.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); ++ 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 -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; diff --git a/purpur-server/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/purpur-server/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java index a8a5b3161..90e4ba05f 100644 --- a/purpur-server/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/purpur-server/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -329,6 +329,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); @@ -340,6 +341,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;