configurable mob size attribute (#1538)

This commit is contained in:
granny
2024-06-21 04:11:09 -07:00
committed by GitHub
parent c0f5e78dc2
commit b82f6939fe
234 changed files with 2140 additions and 1855 deletions

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Cows naturally aggressive to players chance
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
index dfb8bc50ceb8eab6752fab62cb81efda569d2fbb..dd66868e9b9f807a5e20420987336b4ddea22b9c 100644
index 2b1b1243fa1e60985ab6fcd0dda9f71db7e3352c..a9820dda0ddf1863080f4169d70eff9c81546bcd 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
@@ -37,6 +37,7 @@ import org.bukkit.event.player.PlayerBucketFillEvent;
@@ -17,14 +17,14 @@ index dfb8bc50ceb8eab6752fab62cb81efda569d2fbb..dd66868e9b9f807a5e20420987336b4d
private static final EntityDimensions BABY_DIMENSIONS = EntityType.COW.getDimensions().scale(0.5F).withEyeHeight(0.665F);
@@ -64,6 +65,7 @@ public class Cow extends Animal {
@Override
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.cowMaxHealth);
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.cowScale);
+ this.getAttribute(Attributes.ATTACK_DAMAGE).setBaseValue(this.level().purpurConfig.cowNaturallyAggressiveToPlayersDamage); // Purpur
}
// Purpur end
@Override
@@ -76,11 +78,18 @@ public class Cow extends Animal {
@@ -77,11 +79,18 @@ public class Cow extends Animal {
return this.level().purpurConfig.cowTakeDamageFromWater;
}
@@ -43,7 +43,7 @@ index dfb8bc50ceb8eab6752fab62cb81efda569d2fbb..dd66868e9b9f807a5e20420987336b4d
this.goalSelector.addGoal(2, new BreedGoal(this, 1.0D));
this.goalSelector.addGoal(3, new TemptGoal(this, 1.25D, (itemstack) -> {
return level().purpurConfig.cowFeedMushrooms > 0 && (itemstack.is(net.minecraft.world.level.block.Blocks.RED_MUSHROOM.asItem()) || itemstack.is(net.minecraft.world.level.block.Blocks.BROWN_MUSHROOM.asItem())) || itemstack.is(ItemTags.COW_FOOD); // Purpur
@@ -89,6 +98,7 @@ public class Cow extends Animal {
@@ -90,6 +99,7 @@ public class Cow extends Animal {
this.goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 1.0D));
this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F));
this.goalSelector.addGoal(7, new RandomLookAroundGoal(this));
@@ -51,7 +51,7 @@ index dfb8bc50ceb8eab6752fab62cb81efda569d2fbb..dd66868e9b9f807a5e20420987336b4d
}
@Override
@@ -97,7 +107,7 @@ public class Cow extends Animal {
@@ -98,7 +108,7 @@ public class Cow extends Animal {
}
public static AttributeSupplier.Builder createAttributes() {
@@ -61,10 +61,10 @@ index dfb8bc50ceb8eab6752fab62cb81efda569d2fbb..dd66868e9b9f807a5e20420987336b4d
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0300ecea68d82365a1faf2a9246bf7746cd94b83..cc3b450ca00ff645cf19d61e7b28e3fc7f579304 100644
index c526c13da1ac0e12fbf92cc95ed2b43f723ee489..7ec338c83afa7af447e6aba5a06a9d8061d51f73 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1296,7 +1296,14 @@ public class PurpurWorldConfig {
@@ -1322,7 +1322,14 @@ public class PurpurWorldConfig {
public int cowFeedMushrooms = 0;
public int cowBreedingTicks = 6000;
public boolean cowTakeDamageFromWater = false;
@@ -79,7 +79,7 @@ index 0300ecea68d82365a1faf2a9246bf7746cd94b83..cc3b450ca00ff645cf19d61e7b28e3fc
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
cowControllable = getBoolean("mobs.cow.controllable", cowControllable);
@@ -1309,6 +1316,8 @@ public class PurpurWorldConfig {
@@ -1336,6 +1343,8 @@ public class PurpurWorldConfig {
cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms);
cowBreedingTicks = getInt("mobs.cow.breeding-delay-ticks", cowBreedingTicks);
cowTakeDamageFromWater = getBoolean("mobs.cow.takes-damage-from-water", cowTakeDamageFromWater);