mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
port Chickens can retaliate patch
This commit is contained in:
@@ -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;
|
|
||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user