This commit is contained in:
BillyGalbreath
2021-06-17 15:30:00 -05:00
parent 02377a8ecd
commit 321c252f05
20 changed files with 2166 additions and 193 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -25,7 +25,7 @@ index e037d618955de9a213a9cd90752b29d189faace4..34dec0a94840a8865f1d80857ec54a10
double d = this.llama.distanceToSqr(this.llama.getCaravanHead()); double d = this.llama.distanceToSqr(this.llama.getCaravanHead());
if (d > 676.0D) { if (d > 676.0D) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
index 5c31519193126b715105e1e83bb54f6a1681d19e..41b94ea6f3cc71b3521df8be15bf009404ce66d2 100644 index 0671185c358398fe0c4c1dbf4ede2f3e8c4794fb..31d965119b0d6481a50fbc237600c529aac0702d 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
@@ -65,6 +65,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob { @@ -65,6 +65,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
@@ -36,7 +36,7 @@ index 5c31519193126b715105e1e83bb54f6a1681d19e..41b94ea6f3cc71b3521df8be15bf0094
public Llama(EntityType<? extends Llama> type, Level world) { public Llama(EntityType<? extends Llama> type, Level world) {
super(type, world); super(type, world);
@@ -95,7 +96,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob { @@ -134,7 +135,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
if (!this.inventory.getItem(1).isEmpty()) { if (!this.inventory.getItem(1).isEmpty()) {
nbt.put("DecorItem", this.inventory.getItem(1).save(new CompoundTag())); nbt.put("DecorItem", this.inventory.getItem(1).save(new CompoundTag()));
} }
@@ -45,7 +45,7 @@ index 5c31519193126b715105e1e83bb54f6a1681d19e..41b94ea6f3cc71b3521df8be15bf0094
} }
@Override @Override
@@ -107,6 +108,12 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob { @@ -146,6 +147,12 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
this.inventory.setItem(1, ItemStack.of(nbt.getCompound("DecorItem"))); this.inventory.setItem(1, ItemStack.of(nbt.getCompound("DecorItem")));
} }
@@ -58,7 +58,7 @@ index 5c31519193126b715105e1e83bb54f6a1681d19e..41b94ea6f3cc71b3521df8be15bf0094
this.updateContainerEquipment(); this.updateContainerEquipment();
} }
@@ -426,6 +433,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob { @@ -467,6 +474,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
public void leaveCaravan() { public void leaveCaravan() {
if (this.caravanHead != null) { if (this.caravanHead != null) {
@@ -66,7 +66,7 @@ index 5c31519193126b715105e1e83bb54f6a1681d19e..41b94ea6f3cc71b3521df8be15bf0094
this.caravanHead.caravanTail = null; this.caravanHead.caravanTail = null;
} }
@@ -433,6 +441,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob { @@ -474,6 +482,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
} }
public void joinCaravan(Llama llama) { public void joinCaravan(Llama llama) {
@@ -74,7 +74,7 @@ index 5c31519193126b715105e1e83bb54f6a1681d19e..41b94ea6f3cc71b3521df8be15bf0094
this.caravanHead = llama; this.caravanHead = llama;
this.caravanHead.caravanTail = this; this.caravanHead.caravanTail = this;
} }
@@ -450,6 +459,13 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob { @@ -491,6 +500,13 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
return this.caravanHead; return this.caravanHead;
} }

View File

@@ -37,10 +37,10 @@ index e733c1e8f0b180bf1508e4f004124d44407f6c07..0fc358d5491900affb61545d89a788bb
protected void playBlockFallSound() { protected void playBlockFallSound() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
index ba58e066cca533dfed7610a730c4dd7423fe124d..ff032dd031360cd4022dd19e772176d72e3e1340 100644 index 919410ce27e7e42e297c2caba7d3d7c1b623aede..4dcacd1d156309abd29f48b9ac2d402395232e85 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
@@ -285,7 +285,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener, @@ -296,7 +296,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
@Override @Override
protected int calculateFallDamage(float fallDistance, float damageMultiplier) { protected int calculateFallDamage(float fallDistance, float damageMultiplier) {

View File

@@ -42,10 +42,10 @@ index 900b30c9ba0d7b9e0b19c23c1eb5b75dbf2d7141..e09f031f08efa7ed5145566de459b044
LightningBolt entitylightning = (LightningBolt) EntityType.LIGHTNING_BOLT.create((net.minecraft.world.level.Level) this); LightningBolt entitylightning = (LightningBolt) EntityType.LIGHTNING_BOLT.create((net.minecraft.world.level.Level) this);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 6790836b719bbab7c5ab8ead6efd9723b4f58cd1..d8011e5fe28458ae62f764cc355838bd08491f94 100644 index 983ad996bef9f05772f176357ab3f78fd330f8f4..e66fd35e16e152d18b511d727558b50d5071633f 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -651,9 +651,11 @@ public class PurpurWorldConfig { @@ -653,9 +653,11 @@ public class PurpurWorldConfig {
public boolean zombieHorseRidableInWater = false; public boolean zombieHorseRidableInWater = false;
public boolean zombieHorseCanSwim = false; public boolean zombieHorseCanSwim = false;

View File

@@ -5,59 +5,27 @@ Subject: [PATCH] Charged creeper naturally spawn
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
index e8c36e8541f041a0d72a86f49ced2a3ce1549be0..27d8279b71f55ae711b0455bb4c5f1527a0e1ccb 100644 index 1bf65519883585569a1acc780554505dc5d6c30b..f8fba694d53356036e302f66cfe92b15726242dc 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java --- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java +++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -11,6 +11,7 @@ import net.minecraft.server.level.ServerLevel; @@ -129,6 +129,15 @@ public class Creeper extends Monster implements PowerableMob {
import net.minecraft.sounds.SoundEvent; }
import net.minecraft.sounds.SoundEvents; return getForwardMot() == 0 && getStrafeMot() == 0; // do not jump if standing still
import net.minecraft.util.Mth;
+import net.minecraft.world.DifficultyInstance;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.damagesource.DamageSource;
@@ -20,7 +21,9 @@ import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.LightningBolt;
import net.minecraft.world.entity.LivingEntity;
+import net.minecraft.world.entity.MobSpawnType;
import net.minecraft.world.entity.PowerableMob;
+import net.minecraft.world.entity.SpawnGroupData;
import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.entity.ai.goal.AvoidEntityGoal;
@@ -38,10 +41,7 @@ import net.minecraft.world.entity.animal.goat.Goat;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Items;
-import net.minecraft.world.level.Explosion;
-import net.minecraft.world.level.GameRules;
-import net.minecraft.world.level.ItemLike;
-import net.minecraft.world.level.Level;
+import net.minecraft.world.level.*;
import net.minecraft.world.level.gameevent.GameEvent;
// CraftBukkit start
@@ -65,6 +65,17 @@ public class Creeper extends Monster implements PowerableMob {
super(type, world);
} }
+
+ // Purpur start
+ @Override + @Override
+ public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) { + public net.minecraft.world.entity.SpawnGroupData finalizeSpawn(net.minecraft.world.level.ServerLevelAccessor world, net.minecraft.world.DifficultyInstance difficulty, net.minecraft.world.entity.MobSpawnType spawnReason, @Nullable net.minecraft.world.entity.SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
+ double chance = world.getMinecraftWorld().purpurConfig.creeperChargedChance; + double chance = world.getMinecraftWorld().purpurConfig.creeperChargedChance;
+ if (chance > 0D && random.nextDouble() <= chance) { + if (chance > 0D && random.nextDouble() <= chance) {
+ setPowered(true); + setPowered(true);
+ } + }
+ return super.finalizeSpawn(world, difficulty, spawnReason, entityData, entityNbt); + return super.finalizeSpawn(world, difficulty, spawnReason, entityData, entityNbt);
+ } + }
+ // Purpur end // Purpur end
+
@Override @Override
protected void registerGoals() {
this.goalSelector.addGoal(1, new FloatGoal(this));
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d8011e5fe28458ae62f764cc355838bd08491f94..375eb6499a91e73310e93d6d42eaa799751f22a2 100644 index e66fd35e16e152d18b511d727558b50d5071633f..d2772e9d8cc9027994e98633594f20dc58a652cf 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -180,9 +180,11 @@ public class PurpurWorldConfig { @@ -180,9 +180,11 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Rabbit naturally spawn toast and killer
diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
index 4a60afbb79ffb86d3c41b48d923ca8b3beca1c54..384f8abd0fd12906956d1459115f48738cc6e16d 100644 index 29551a3b87f06c5876de5fda80615acf6c1f4764..8f99b4c28539c7c5a4951d7a3b82b01b77082794 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java --- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java +++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
@@ -365,7 +365,11 @@ public class Rabbit extends Animal { @@ -421,7 +421,11 @@ public class Rabbit extends Animal {
if (!this.hasCustomName()) { if (!this.hasCustomName()) {
this.setCustomName(new TranslatableComponent(Util.makeDescriptionId("entity", Rabbit.KILLER_BUNNY))); this.setCustomName(new TranslatableComponent(Util.makeDescriptionId("entity", Rabbit.KILLER_BUNNY)));
} }
@@ -20,7 +20,7 @@ index 4a60afbb79ffb86d3c41b48d923ca8b3beca1c54..384f8abd0fd12906956d1459115f4873
this.entityData.set(Rabbit.DATA_TYPE_ID, rabbitType); this.entityData.set(Rabbit.DATA_TYPE_ID, rabbitType);
} }
@@ -386,6 +390,16 @@ public class Rabbit extends Animal { @@ -442,6 +446,16 @@ public class Rabbit extends Animal {
} }
private int getRandomRabbitType(LevelAccessor world) { private int getRandomRabbitType(LevelAccessor world) {
@@ -38,7 +38,7 @@ index 4a60afbb79ffb86d3c41b48d923ca8b3beca1c54..384f8abd0fd12906956d1459115f4873
int i = this.random.nextInt(100); int i = this.random.nextInt(100);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 375eb6499a91e73310e93d6d42eaa799751f22a2..100982bbf3f47a7c5d2da3e3f6957118c807b2f3 100644 index d2772e9d8cc9027994e98633594f20dc58a652cf..c2a43e6f48da724ff737fec8d3bce0a3611b2465 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -456,9 +456,13 @@ public class PurpurWorldConfig { @@ -456,9 +456,13 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Tulips change fox type
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
index 31f4e4a93ea5fd3ffe7e60dff2e2a9642b51daa2..26470e4e07387fcf0c02c1f8845950eca4140a56 100644 index 6cc8f6ef75e4b8b4282e4f664a83ce6491042df1..97101e7e0442417b57e15d6ec76d2a4c88862c81 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java --- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java +++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -34,6 +34,7 @@ import net.minecraft.tags.Tag; @@ -34,6 +34,7 @@ import net.minecraft.tags.Tag;
@@ -24,7 +24,7 @@ index 31f4e4a93ea5fd3ffe7e60dff2e2a9642b51daa2..26470e4e07387fcf0c02c1f8845950ec
import net.minecraft.world.level.pathfinder.BlockPathTypes; import net.minecraft.world.level.pathfinder.BlockPathTypes;
import net.minecraft.world.phys.Vec3; import net.minecraft.world.phys.Vec3;
@@ -328,6 +330,11 @@ public class Fox extends Animal { @@ -363,6 +365,11 @@ public class Fox extends Animal {
} }
private void setTargetGoals() { private void setTargetGoals() {
@@ -36,7 +36,7 @@ index 31f4e4a93ea5fd3ffe7e60dff2e2a9642b51daa2..26470e4e07387fcf0c02c1f8845950ec
if (this.getFoxType() == Fox.Type.RED) { if (this.getFoxType() == Fox.Type.RED) {
this.targetSelector.addGoal(4, this.landTargetGoal); this.targetSelector.addGoal(4, this.landTargetGoal);
this.targetSelector.addGoal(4, this.turtleEggTargetGoal); this.targetSelector.addGoal(4, this.turtleEggTargetGoal);
@@ -360,6 +367,7 @@ public class Fox extends Animal { @@ -395,6 +402,7 @@ public class Fox extends Animal {
public void setFoxType(Fox.Type type) { public void setFoxType(Fox.Type type) {
this.entityData.set(Fox.DATA_TYPE_ID, type.getId()); this.entityData.set(Fox.DATA_TYPE_ID, type.getId());
@@ -44,7 +44,7 @@ index 31f4e4a93ea5fd3ffe7e60dff2e2a9642b51daa2..26470e4e07387fcf0c02c1f8845950ec
} }
List<UUID> getTrustedUUIDs() { List<UUID> getTrustedUUIDs() {
@@ -690,6 +698,29 @@ public class Fox extends Animal { @@ -725,6 +733,29 @@ public class Fox extends Animal {
return this.getTrustedUUIDs().contains(uuid); return this.getTrustedUUIDs().contains(uuid);
} }
@@ -75,7 +75,7 @@ index 31f4e4a93ea5fd3ffe7e60dff2e2a9642b51daa2..26470e4e07387fcf0c02c1f8845950ec
// Paper start - Cancellable death event // Paper start - Cancellable death event
protected org.bukkit.event.entity.EntityDeathEvent dropAllDeathLoot(DamageSource source) { protected org.bukkit.event.entity.EntityDeathEvent dropAllDeathLoot(DamageSource source) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 100982bbf3f47a7c5d2da3e3f6957118c807b2f3..ce147273c7debd993af91df176cfe639ae95dfdc 100644 index c2a43e6f48da724ff737fec8d3bce0a3611b2465..b949480d139ce6eb923c3efe788ac7a547f90c96 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -247,9 +247,11 @@ public class PurpurWorldConfig { @@ -247,9 +247,11 @@ public class PurpurWorldConfig {

View File

@@ -5,36 +5,14 @@ Subject: [PATCH] Breedable Polar Bears
diff --git a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java diff --git a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
index 0694cd0b994ee595adca43c988485e6dc13c7244..583bb80059b9351d27d15859b1687dd817ba165e 100644 index dc6bc8f10d147cb1d0e5c69b6f6df63b0e8d4531..652e8a43af5830a9bc5a6bdd00ebec5a6e07dc3c 100644
--- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java --- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
+++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java +++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
@@ -32,6 +32,7 @@ import net.minecraft.world.entity.Pose; @@ -88,6 +88,28 @@ public class PolarBear extends Animal implements NeutralMob {
import net.minecraft.world.entity.SpawnGroupData; }
import net.minecraft.world.entity.ai.attributes.AttributeSupplier; return false;
import net.minecraft.world.entity.ai.attributes.Attributes;
+import net.minecraft.world.entity.ai.goal.BreedGoal;
import net.minecraft.world.entity.ai.goal.FloatGoal;
import net.minecraft.world.entity.ai.goal.FollowParentGoal;
import net.minecraft.world.entity.ai.goal.LookAtPlayerGoal;
@@ -39,11 +40,13 @@ import net.minecraft.world.entity.ai.goal.MeleeAttackGoal;
import net.minecraft.world.entity.ai.goal.PanicGoal;
import net.minecraft.world.entity.ai.goal.RandomLookAroundGoal;
import net.minecraft.world.entity.ai.goal.RandomStrollGoal;
+import net.minecraft.world.entity.ai.goal.TemptGoal;
import net.minecraft.world.entity.ai.goal.target.HurtByTargetGoal;
import net.minecraft.world.entity.ai.goal.target.NearestAttackableTargetGoal;
import net.minecraft.world.entity.ai.goal.target.ResetUniversalAngerTargetGoal;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;
+import net.minecraft.world.item.crafting.Ingredient;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.LevelAccessor;
import net.minecraft.world.level.ServerLevelAccessor;
@@ -66,6 +69,30 @@ public class PolarBear extends Animal implements NeutralMob {
super(type, world);
} }
+
+ // Purpur start
+ @Override + @Override
+ public boolean canMate(Animal other) { + public boolean canMate(Animal other) {
+ if (other == this) { + if (other == this) {
@@ -56,35 +34,33 @@ index 0694cd0b994ee595adca43c988485e6dc13c7244..583bb80059b9351d27d15859b1687dd8
+ return this.isInLove() && bear.isInLove(); + return this.isInLove() && bear.isInLove();
+ } + }
+ } + }
+ // Purpur end // Purpur end
+
@Override @Override
public AgeableMob getBreedOffspring(ServerLevel world, AgeableMob entity) { @@ -97,7 +119,7 @@ public class PolarBear extends Animal implements NeutralMob {
return EntityType.POLAR_BEAR.create(world);
@@ -73,7 +100,7 @@ public class PolarBear extends Animal implements NeutralMob {
@Override @Override
public boolean isFood(ItemStack stack) { public boolean isFood(ItemStack stack) {
- return false; - return false;
+ return level.purpurConfig.polarBearBreedableItem != null && stack.getItem() == level.purpurConfig.polarBearBreedableItem; // Purpur; + return level.purpurConfig.polarBearBreedableItem != null && stack.getItem() == level.purpurConfig.polarBearBreedableItem; // Purpur
} }
@Override @Override
@@ -82,6 +109,12 @@ public class PolarBear extends Animal implements NeutralMob { @@ -107,6 +129,12 @@ public class PolarBear extends Animal implements NeutralMob {
this.goalSelector.addGoal(0, new FloatGoal(this)); this.goalSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this)); // Purpur
this.goalSelector.addGoal(1, new PolarBear.PolarBearMeleeAttackGoal()); this.goalSelector.addGoal(1, new PolarBear.PolarBearMeleeAttackGoal());
this.goalSelector.addGoal(1, new PolarBear.PolarBearPanicGoal()); this.goalSelector.addGoal(1, new PolarBear.PolarBearPanicGoal());
+ // Purpur start + // Purpur start
+ if (level.purpurConfig.polarBearBreedableItem != null) { + if (level.purpurConfig.polarBearBreedableItem != null) {
+ this.goalSelector.addGoal(2, new BreedGoal(this, 1.0D)); + this.goalSelector.addGoal(2, new net.minecraft.world.entity.ai.goal.BreedGoal(this, 1.0D));
+ this.goalSelector.addGoal(3, new TemptGoal(this, 1.0D, Ingredient.of(level.purpurConfig.polarBearBreedableItem), false)); + this.goalSelector.addGoal(3, new net.minecraft.world.entity.ai.goal.TemptGoal(this, 1.0D, net.minecraft.world.item.crafting.Ingredient.of(level.purpurConfig.polarBearBreedableItem), false));
+ } + }
+ // Purpur end + // Purpur end
this.goalSelector.addGoal(4, new FollowParentGoal(this, 1.25D)); this.goalSelector.addGoal(4, new FollowParentGoal(this, 1.25D));
this.goalSelector.addGoal(5, new RandomStrollGoal(this, 1.0D)); this.goalSelector.addGoal(5, new RandomStrollGoal(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));
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index ce147273c7debd993af91df176cfe639ae95dfdc..32b37da32b6cb2bb0a76a1759eacd28b8e32ece1 100644 index b949480d139ce6eb923c3efe788ac7a547f90c96..3981e492b61d552735433fae05e13d1fe87637db 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -446,9 +446,14 @@ public class PurpurWorldConfig { @@ -446,9 +446,14 @@ public class PurpurWorldConfig {

View File

@@ -5,38 +5,26 @@ Subject: [PATCH] Chickens can retaliate
diff --git a/src/main/java/net/minecraft/world/entity/animal/Chicken.java b/src/main/java/net/minecraft/world/entity/animal/Chicken.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Chicken.java b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
index 8460bed561c09a647f6e0209f7c5448e5a42b281..56aee819372d4baacf73c345603ce889b3a60b52 100644 index 771e55cceaf17167c00554b1be7043a4cb3efb7e..11bdc951087d8630a26f398f36a56a9e7c043d70 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java --- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java +++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
@@ -20,10 +20,12 @@ import net.minecraft.world.entity.ai.goal.BreedGoal; @@ -62,19 +62,34 @@ public class Chicken extends Animal {
import net.minecraft.world.entity.ai.goal.FloatGoal; public boolean rideableUnderWater() {
import net.minecraft.world.entity.ai.goal.FollowParentGoal; return level.purpurConfig.chickenRidableInWater;
import net.minecraft.world.entity.ai.goal.LookAtPlayerGoal;
+import net.minecraft.world.entity.ai.goal.MeleeAttackGoal;
import net.minecraft.world.entity.ai.goal.PanicGoal;
import net.minecraft.world.entity.ai.goal.RandomLookAroundGoal;
import net.minecraft.world.entity.ai.goal.TemptGoal;
import net.minecraft.world.entity.ai.goal.WaterAvoidingRandomStrollGoal;
+import net.minecraft.world.entity.ai.goal.target.HurtByTargetGoal;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Items;
@@ -52,16 +54,33 @@ public class Chicken extends Animal {
this.setPathfindingMalus(BlockPathTypes.WATER, 0.0F);
} }
+
+ // Purpur start
+ @Override + @Override
+ protected void initAttributes() { + protected void initAttributes() {
+ if (level.purpurConfig.chickenRetaliate) { + if (level.purpurConfig.chickenRetaliate) {
+ this.getAttribute(Attributes.ATTACK_DAMAGE).setBaseValue(2.0D); + this.getAttribute(Attributes.ATTACK_DAMAGE).setBaseValue(2.0D);
+ } + }
+ } + }
+ // Purpur end // Purpur end
+
@Override @Override
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 net.pl3x.purpur.entity.ai.HasRider(this)); // Purpur
- this.goalSelector.addGoal(1, new PanicGoal(this, 1.4D)); - this.goalSelector.addGoal(1, new PanicGoal(this, 1.4D));
+ // this.goalSelector.addGoal(1, new PanicGoal(this, 1.4D)); // Purpur - moved down + // this.goalSelector.addGoal(1, new PanicGoal(this, 1.4D)); // Purpur - moved down
this.goalSelector.addGoal(2, new BreedGoal(this, 1.0D)); this.goalSelector.addGoal(2, new BreedGoal(this, 1.0D));
@@ -47,8 +35,8 @@ index 8460bed561c09a647f6e0209f7c5448e5a42b281..56aee819372d4baacf73c345603ce889
this.goalSelector.addGoal(7, new RandomLookAroundGoal(this)); this.goalSelector.addGoal(7, new RandomLookAroundGoal(this));
+ // Purpur start + // Purpur start
+ if (level.purpurConfig.chickenRetaliate) { + if (level.purpurConfig.chickenRetaliate) {
+ this.goalSelector.addGoal(1, new MeleeAttackGoal(this, 1.0D, false)); + this.goalSelector.addGoal(1, new net.minecraft.world.entity.ai.goal.MeleeAttackGoal(this, 1.0D, false));
+ this.targetSelector.addGoal(1, new HurtByTargetGoal(this)); + this.targetSelector.addGoal(1, new net.minecraft.world.entity.ai.goal.target.HurtByTargetGoal(this));
+ } else { + } else {
+ this.goalSelector.addGoal(1, new PanicGoal(this, 1.4D)); + this.goalSelector.addGoal(1, new PanicGoal(this, 1.4D));
+ } + }
@@ -56,7 +44,7 @@ index 8460bed561c09a647f6e0209f7c5448e5a42b281..56aee819372d4baacf73c345603ce889
} }
@Override @Override
@@ -70,7 +89,7 @@ public class Chicken extends Animal { @@ -83,7 +98,7 @@ public class Chicken extends Animal {
} }
public static AttributeSupplier.Builder createAttributes() { public static AttributeSupplier.Builder createAttributes() {
@@ -66,7 +54,7 @@ index 8460bed561c09a647f6e0209f7c5448e5a42b281..56aee819372d4baacf73c345603ce889
@Override @Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 32b37da32b6cb2bb0a76a1759eacd28b8e32ece1..f6f3910c5a9f011e1513174cb9d70080ddb5b024 100644 index 3981e492b61d552735433fae05e13d1fe87637db..5154e14c88cf79c8da3290ff945fac0361e9e7c5 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -161,9 +161,11 @@ public class PurpurWorldConfig { @@ -161,9 +161,11 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Fix cow rotation when shearing mooshroom
diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
index d9fb3df35de94ae5abbb86ace0328bbe6f5403b3..96f7ab847d05f461d4771a3fefbd32cab6366afa 100644 index 0e066782ee09bb5626715bcc500bc04f2252bc2e..00f9553c5c653517b3e0c1c7d6b2ec4b7bd34b59 100644
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java --- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java +++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
@@ -175,7 +175,13 @@ public class MushroomCow extends Cow implements Shearable { @@ -187,7 +187,13 @@ public class MushroomCow extends Cow implements Shearable {
entitycow.moveTo(this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot()); entitycow.moveTo(this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot());
entitycow.setHealth(this.getHealth()); entitycow.setHealth(this.getHealth());

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Pigs give saddle back
diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java
index 2c95b6eddfe46e5d2ad495bfc86ccc24ae75e704..8a99b04e8179a640a289c4853777aa88c725216a 100644 index 80c8ceda47bf8b3ff370f89a61aa01869d606ee6..ff3f8ba62eb086fbb007853535aafd085578ea21 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java --- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java +++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
@@ -155,6 +155,18 @@ public class Pig extends Animal implements ItemSteerable, Saddleable { @@ -168,6 +168,18 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
if (!flag && this.isSaddled() && !this.isVehicle() && !player.isSecondaryUseActive()) { if (!flag && this.isSaddled() && !this.isVehicle() && !player.isSecondaryUseActive()) {
if (!this.level.isClientSide) { if (!this.level.isClientSide) {
@@ -28,7 +28,7 @@ index 2c95b6eddfe46e5d2ad495bfc86ccc24ae75e704..8a99b04e8179a640a289c4853777aa88
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index e9a00422f9952c98d04c0cbb2ea32ea6231f50ed..e1da56c301be94c56c8377034ab948a1e4ecd071 100644 index 0c7463c1d5c894c2d2bc9b6e422432e086a01446..84521916de0ce95333e95f458aac2a98e2ca1db0 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -433,9 +433,11 @@ public class PurpurWorldConfig { @@ -433,9 +433,11 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Snowman drop and put back pumpkin
diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
index 2631f08496c8e45874b22760b559a91b7b2bf415..226cadfc5f109b8f5060b5147034ac273f14133d 100644 index a76f3c1c409dc96f7033be8a7eeb06617053735b..06b6afe0724b2738b350cc671bb3cb2570b1dbad 100644
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java --- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java +++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
@@ -164,6 +164,14 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM @@ -179,6 +179,14 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
} }
return InteractionResult.sidedSuccess(this.level.isClientSide); return InteractionResult.sidedSuccess(this.level.isClientSide);
@@ -19,11 +19,11 @@ index 2631f08496c8e45874b22760b559a91b7b2bf415..226cadfc5f109b8f5060b5147034ac27
+ itemstack.shrink(1); + itemstack.shrink(1);
+ } + }
+ return InteractionResult.SUCCESS; + return InteractionResult.SUCCESS;
+ // Purpur end + // Purpur end
} else { } else {
return InteractionResult.PASS; return tryRide(player, hand); // Purpur
} }
@@ -174,6 +182,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM @@ -189,6 +197,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
this.level.playSound((Player) null, (Entity) this, SoundEvents.SNOW_GOLEM_SHEAR, shearedSoundCategory, 1.0F, 1.0F); this.level.playSound((Player) null, (Entity) this, SoundEvents.SNOW_GOLEM_SHEAR, shearedSoundCategory, 1.0F, 1.0F);
if (!this.level.isClientSide()) { if (!this.level.isClientSide()) {
this.setPumpkin(false); this.setPumpkin(false);
@@ -32,7 +32,7 @@ index 2631f08496c8e45874b22760b559a91b7b2bf415..226cadfc5f109b8f5060b5147034ac27
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index e1da56c301be94c56c8377034ab948a1e4ecd071..4b039c4cd94c2ea1a61452530ca200d10829c166 100644 index 84521916de0ce95333e95f458aac2a98e2ca1db0..6759bc46553d6fedb90597d73935d6255dbe5240 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -546,10 +546,14 @@ public class PurpurWorldConfig { @@ -546,10 +546,14 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Ender dragon always drop full exp
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
index c98202092752a9015aaf95bd1471135b88e84425..682b532967a501e21df93c28c4ee4b59eed073a7 100644 index a1a64591e6a6fb8a4550b91f89e3cdbd35c6d249..3fd2d29e756d35a25e0cdd2ef10a5f1f48c230c0 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -633,7 +633,7 @@ public class EnderDragon extends Mob implements Enemy { @@ -704,7 +704,7 @@ public class EnderDragon extends Mob implements Enemy {
boolean flag = this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT); boolean flag = this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT);
short short0 = 500; short short0 = 500;
@@ -18,7 +18,7 @@ index c98202092752a9015aaf95bd1471135b88e84425..682b532967a501e21df93c28c4ee4b59
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 4b039c4cd94c2ea1a61452530ca200d10829c166..190c1d8878eb4d533d31c6b803b951cdf9747450 100644 index 6759bc46553d6fedb90597d73935d6255dbe5240..6d88e8011add9c54470ab122aee325764e22bb2f 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -233,10 +233,12 @@ public class PurpurWorldConfig { @@ -233,10 +233,12 @@ public class PurpurWorldConfig {

View File

@@ -17,10 +17,10 @@ index 033d6389e4b7d986fc63abd67e325b68a6132824..f290c7b50c48b798697c49c738700457
} }
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 4d9c39e78f26ffb43d36a8c729bfd4ed136ff619..23b2895a3dd3e4d242ce11f89d4dad1c05e606fc 100644 index b811b3db05e1bcc0fe5d641c6fa81cb4b1db9186..aa6e3b192fe80339df00c909d101449023d8f71f 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -745,9 +745,11 @@ public class PurpurWorldConfig { @@ -747,9 +747,11 @@ public class PurpurWorldConfig {
public boolean witherSkeletonRidable = false; public boolean witherSkeletonRidable = false;
public boolean witherSkeletonRidableInWater = false; public boolean witherSkeletonRidableInWater = false;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add enderman and creeper griefing controls
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
index 27d8279b71f55ae711b0455bb4c5f1527a0e1ccb..689efb1a80a93d573cb109905105434281eba7d3 100644 index f8fba694d53356036e302f66cfe92b15726242dc..72edd66a7e0b46b9575982210d8c9af03310c8d2 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java --- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java +++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -270,7 +270,7 @@ public class Creeper extends Monster implements PowerableMob { @@ -336,7 +336,7 @@ public class Creeper extends Monster implements PowerableMob {
public void explodeCreeper() { public void explodeCreeper() {
if (!this.level.isClientSide) { if (!this.level.isClientSide) {
@@ -38,7 +38,7 @@ index a39f4a1585ba888d27588a86130f6dae24f5a71b..b9cc542db0b5b9f7710c2f747cb9a4ed
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index c828459bc986aace14516985bc82f170bf34884c..60ea12540d41e6df52f2cf1f076c442501619148 100644 index 7be145b284b0e618e9f52645a1e81c30e91ed186..f9756ee33ccfb011bda5c8b923d237d43e3a4093 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -284,10 +284,12 @@ public class PurpurWorldConfig { @@ -284,10 +284,12 @@ public class PurpurWorldConfig {

View File

@@ -184,7 +184,7 @@ index 233b390541acddcf815db4a8f299496eaea4f758..a50191aac887dffd3a7930455cb222fa
public void setPersistentAngerTarget(@Nullable UUID uuid) { public void setPersistentAngerTarget(@Nullable UUID uuid) {
this.persistentAngerTarget = uuid; this.persistentAngerTarget = uuid;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index aa984c2eebf2529e0be42b01ec7678d1f5157e0d..e39e1ff19f49b093ae27a98cba280ad2643df7a2 100644 index 0453764a9b47e3997aa32cda489e7f71d94b7e04..87f9ad516e8dd0c92b08c9054e086d8315c87c41 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -399,9 +399,15 @@ public class PurpurWorldConfig { @@ -399,9 +399,15 @@ public class PurpurWorldConfig {
@@ -219,7 +219,7 @@ index aa984c2eebf2529e0be42b01ec7678d1f5157e0d..e39e1ff19f49b093ae27a98cba280ad2
} }
public boolean illusionerRidable = false; public boolean illusionerRidable = false;
@@ -877,9 +889,15 @@ public class PurpurWorldConfig { @@ -879,9 +891,15 @@ public class PurpurWorldConfig {
public boolean zombieRidable = false; public boolean zombieRidable = false;
public boolean zombieRidableInWater = false; public boolean zombieRidableInWater = false;
@@ -235,7 +235,7 @@ index aa984c2eebf2529e0be42b01ec7678d1f5157e0d..e39e1ff19f49b093ae27a98cba280ad2
} }
public boolean zombieHorseRidableInWater = false; public boolean zombieHorseRidableInWater = false;
@@ -893,15 +911,27 @@ public class PurpurWorldConfig { @@ -895,15 +913,27 @@ public class PurpurWorldConfig {
public boolean zombieVillagerRidable = false; public boolean zombieVillagerRidable = false;
public boolean zombieVillagerRidableInWater = false; public boolean zombieVillagerRidableInWater = false;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add option to disable dolphin treasure searching
diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
index f3093815066e6881a2bb638ae4643f69374450b3..868a44fa2c54c43ed3dc3e3c346810588081ec1d 100644 index 2300abc4e80449e6b92992f6fb8cfe8e99dea351..12a602a4a3b3e883ed04621fe627feb146f8afb9 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java --- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java +++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
@@ -417,6 +417,7 @@ public class Dolphin extends WaterAnimal { @@ -492,6 +492,7 @@ public class Dolphin extends WaterAnimal {
@Override @Override
public boolean canUse() { public boolean canUse() {
@@ -17,7 +17,7 @@ index f3093815066e6881a2bb638ae4643f69374450b3..868a44fa2c54c43ed3dc3e3c34681058
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 8797f781b97cece949dfb1014470f164503e61c4..5bead011214ca37dc59efafce845285ab07c409e 100644 index fff9679bfc715e8df5f88c2850c9623e1eef270f..1ca413f7a6cc2d445a2b026e7266919880692575 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -465,11 +465,13 @@ public class PurpurWorldConfig { @@ -465,11 +465,13 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Stop squids floating on top of water
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 3eebc432befec2223e487a6bd48f30d2160feb0a..1950cd258f69f9c9430cda9ddd479277cc0fb6c9 100644 index 73d1efb6eb6a96368db57f316867cfc027159056..f9d8d5ef1ca960324351fa1151f79906950845b3 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3632,11 +3632,17 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n @@ -3632,11 +3632,17 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
@@ -28,32 +28,22 @@ index 3eebc432befec2223e487a6bd48f30d2160feb0a..1950cd258f69f9c9430cda9ddd479277
int j = Mth.ceil(axisalignedbb.maxX); int j = Mth.ceil(axisalignedbb.maxX);
int k = Mth.floor(axisalignedbb.minY); int k = Mth.floor(axisalignedbb.minY);
diff --git a/src/main/java/net/minecraft/world/entity/animal/Squid.java b/src/main/java/net/minecraft/world/entity/animal/Squid.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Squid.java b/src/main/java/net/minecraft/world/entity/animal/Squid.java
index 56838c9f214c0f75041e75c45ad1a0c72fcacc66..8c9454612e71f1d1a82c6a13c7788dd9b892fedc 100644 index 0a744855f24ac54b22bc474a1c903da7af656364..d6e35d1fec3eee80a7eafaa1997fee16f6ef5d04 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Squid.java --- a/src/main/java/net/minecraft/world/entity/animal/Squid.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java +++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java
@@ -29,6 +29,7 @@ import net.minecraft.world.level.Level; @@ -74,6 +74,12 @@ public class Squid extends WaterAnimal {
import net.minecraft.world.level.LevelAccessor; vector.setX(cos * x - sine * z);
import net.minecraft.world.level.block.state.BlockState; vector.setZ(sine * x + cos * z);
import net.minecraft.world.level.material.FluidState;
+import net.minecraft.world.phys.AABB;
import net.minecraft.world.phys.Vec3;
public class Squid extends WaterAnimal {
@@ -54,6 +55,14 @@ public class Squid extends WaterAnimal {
this.tentacleSpeed = 1.0F / (this.random.nextFloat() + 1.0F) * 0.2F;
} }
+
+ // Purpur start
+ @Override + @Override
+ public AABB getAxisForFluidCheck() { + public net.minecraft.world.phys.AABB getAxisForFluidCheck() {
+ // Stops squids from floating just over the water + // Stops squids from floating just over the water
+ return this.getBoundingBox().deflate(0.001D).offsetY(level.purpurConfig.squidOffsetWaterCheck); + return this.getBoundingBox().deflate(0.001D).offsetY(level.purpurConfig.squidOffsetWaterCheck);
+ } + }
+ // Purpur end // Purpur end
+
@Override @Override
protected void registerGoals() {
this.goalSelector.addGoal(0, new Squid.SquidRandomMovementGoal(this));
diff --git a/src/main/java/net/minecraft/world/phys/AABB.java b/src/main/java/net/minecraft/world/phys/AABB.java diff --git a/src/main/java/net/minecraft/world/phys/AABB.java b/src/main/java/net/minecraft/world/phys/AABB.java
index 4eeb186231551a9df453ec9d6a8a9dc9f8835464..1e184724e112b28ff4abb6ecf5d564c260e795ba 100644 index 4eeb186231551a9df453ec9d6a8a9dc9f8835464..1e184724e112b28ff4abb6ecf5d564c260e795ba 100644
--- a/src/main/java/net/minecraft/world/phys/AABB.java --- a/src/main/java/net/minecraft/world/phys/AABB.java
@@ -70,7 +60,7 @@ index 4eeb186231551a9df453ec9d6a8a9dc9f8835464..1e184724e112b28ff4abb6ecf5d564c2
+ // Purpur + // Purpur
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 5bead011214ca37dc59efafce845285ab07c409e..a339f842ec00253adc668fbb2b65c0513f23163a 100644 index 1ca413f7a6cc2d445a2b026e7266919880692575..6e33bee4f01138bc0b553a318e87e3b6c6e0966d 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -871,9 +871,11 @@ public class PurpurWorldConfig { @@ -871,9 +871,11 @@ public class PurpurWorldConfig {

View File

@@ -6,24 +6,22 @@ Subject: [PATCH] Customizable wither health and healing
Adds the ability to customize the health of the wither, as well as the amount that it heals, and how often. Adds the ability to customize the health of the wither, as well as the amount that it heals, and how often.
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
index 1c8f6863b976cfcb559de9b3e3cf9292831166ee..7858e97db83085721310f7c9e35abe0b944b3b1f 100644 index 0b1f6fad51a985ebe4ccebde12a1db9e12a57bc0..a91480bfecd17ef45e3380c726a42cd7534f07ae 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -97,6 +97,13 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -196,6 +196,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
this.xpReward = 50; skull.setPosRaw(headX, headY, headZ);
level.addFreshEntity(skull);
} }
+
+ // Purpur start
+ @Override + @Override
+ public void initAttributes() { + public void initAttributes() {
+ this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(level.purpurConfig.witherMaxHealth); + this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(level.purpurConfig.witherMaxHealth);
+ } + }
+ // Purpur end // Purpur end
+
@Override @Override
protected void registerGoals() { @@ -401,7 +406,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
this.goalSelector.addGoal(0, new WitherBoss.WitherDoNothingGoal());
@@ -288,7 +295,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
this.setInvulnerableTicks(i); this.setInvulnerableTicks(i);
if (this.tickCount % 10 == 0) { if (this.tickCount % 10 == 0) {
@@ -32,7 +30,7 @@ index 1c8f6863b976cfcb559de9b3e3cf9292831166ee..7858e97db83085721310f7c9e35abe0b
} }
} else { } else {
@@ -381,8 +388,10 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -494,8 +499,10 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
} }
} }
@@ -46,19 +44,20 @@ index 1c8f6863b976cfcb559de9b3e3cf9292831166ee..7858e97db83085721310f7c9e35abe0b
this.bossEvent.setProgress(this.getHealth() / this.getMaxHealth()); this.bossEvent.setProgress(this.getHealth() / this.getMaxHealth());
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a6a6b766b5dc5b3743aecd0a2c8021d04df1d8d2..2681463ae89ea4e0746425114feb24aed0f34cb3 100644 index ae46aafd1a19e183e9a77fec8c0556a35c70c521..be3b2cc6fb2f8f01e38fb4a47324c825fee2aee7 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -992,9 +992,20 @@ public class PurpurWorldConfig { @@ -993,10 +993,21 @@ public class PurpurWorldConfig {
public boolean witherRidable = false; public boolean witherRidable = false;
public boolean witherRidableInWater = false; public boolean witherRidableInWater = false;
public double witherMaxY = 256D;
+ public float witherHealthRegenAmount = 1.0f; + public float witherHealthRegenAmount = 1.0f;
+ public int witherHealthRegenDelay = 20; + public int witherHealthRegenDelay = 20;
+ public double witherMaxHealth = 300.0D; + public double witherMaxHealth = 300.0D;
private void witherSettings() { private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
witherMaxY = getDouble("mobs.wither.ridable-max-y", witherMaxY);
+ witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount); + witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount);
+ witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay); + witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
+ if (PurpurConfig.version < 8) { + if (PurpurConfig.version < 8) {

View File

@@ -71,10 +71,10 @@ index 747f872e0c9eef620f7713e674304e8f47738b1c..0f0df28c0d382cca5dc0556e03d7d465
this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR)); this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR));
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 53bda6f49386eb606ca259519f1494e3c5f144a5..cd1373f113f434aa0d3d3ea07096095dc99dbc18 100644 index 1d55be36c8d075b48db1862e63bc28bbabad3a18..2c963f72caff78488ceb2a43abbad18013e1433f 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1093,12 +1093,14 @@ public class PurpurWorldConfig { @@ -1095,12 +1095,14 @@ public class PurpurWorldConfig {
public boolean zombieJockeyOnlyBaby = true; public boolean zombieJockeyOnlyBaby = true;
public double zombieJockeyChance = 0.05D; public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true; public boolean zombieJockeyTryExistingChickens = true;