just some patches

This commit is contained in:
Ben Kerllenevich
2021-11-25 08:03:35 -05:00
parent 8e59077b65
commit 6463d0deb5
16 changed files with 190 additions and 184 deletions

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Despawn rate config options per projectile type
Default values of -1 respect vanilla behaviour.
diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
index 52e4948fd1657fa1776ac6b0142e8c21e7567976..da76e07b3caced3172ecade96a67aca81958a4dc 100644
index 3d3dcb47720055f550d17d1f106a2c0e59de2919..0766645bf1e749fadd43077d6cff392ad02ace68 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
@@ -62,7 +62,7 @@ public abstract class AbstractArrow extends Projectile {
@@ -63,7 +63,7 @@ index 6afe37e42d88701af38df5793a9ea9d7d2cda5c5..1de27407c92d496715899fcafb3794df
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java b/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java
index 3ac0d0419cbdacabf647a530a82ddf67ddaa13b7..78111e7c26f5237e9954791cf17037eb6fd111b2 100644
index fe502e148e218ae404e0049c0251d3e3ca08c825..11befaed9c2845262607cd9e1e38a178d94883ee 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java
@@ -355,4 +355,11 @@ public class FireworkRocketEntity extends Projectile implements ItemSupplier {
@@ -79,10 +79,10 @@ index 3ac0d0419cbdacabf647a530a82ddf67ddaa13b7..78111e7c26f5237e9954791cf17037eb
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
index 5c16566f59535ce61fb3f747a745255cfaa439e8..dc7968c3bcf72af22fffbc85b058ac5820f06453 100644
index 1037d0a0cdd4fd7aa99a958ee969759c5883fdc0..c1267592dd5fcc2b528eac22aaa245189df5a436 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
@@ -664,4 +664,11 @@ public class FishingHook extends Projectile {
@@ -663,4 +663,11 @@ public class FishingHook extends Projectile {
private OpenWaterType() {}
}
@@ -111,7 +111,7 @@ index 5237b699e000b4fed99be39b0a7e2daab9c8bf42..e69213b43c8aa5a7c04add7a87482d53
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/world/entity/projectile/LlamaSpit.java b/src/main/java/net/minecraft/world/entity/projectile/LlamaSpit.java
index f1a12b147d55e34d4f8374593640a311598cf1a6..c4bdebd4310035a5cce5a5790f538eb0b8021b30 100644
index 1a945a32c3d3705a318ebca72a365931a8c001b7..c7fdcfae1ba823046fdfe78aa97b4a7ab20c086d 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/LlamaSpit.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/LlamaSpit.java
@@ -100,4 +100,11 @@ public class LlamaSpit extends Projectile {
@@ -127,7 +127,7 @@ index f1a12b147d55e34d4f8374593640a311598cf1a6..c4bdebd4310035a5cce5a5790f538eb0
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
index a5d31549375c0bf233d2f692679d3cb6a64c9c81..343f186136abba95cb36876969f9492b5994f802 100644
index 36417466ae30e9f7f3e953fd4ff98ed3f3b71725..edc4fc597d60e6125d44023085e993db2e96c4ef 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
@@ -33,6 +33,7 @@ public abstract class Projectile extends Entity {
@@ -159,7 +159,7 @@ index a5d31549375c0bf233d2f692679d3cb6a64c9c81..343f186136abba95cb36876969f9492b
if (entity != null) {
this.ownerUUID = entity.getUUID();
diff --git a/src/main/java/net/minecraft/world/entity/projectile/ShulkerBullet.java b/src/main/java/net/minecraft/world/entity/projectile/ShulkerBullet.java
index 123f9a93b014107c8f609d38a2b8d37261bb5d18..aa91cc06f6411fe83467e43c0df1145cb85aead0 100644
index a6ad012531713a651e5b36d348be435c4055190a..dd05e2130c0d8334a4d59c6e8e8fd665cd92c043 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/ShulkerBullet.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/ShulkerBullet.java
@@ -63,6 +63,13 @@ public class ShulkerBullet extends Projectile {
@@ -177,10 +177,10 @@ index 123f9a93b014107c8f609d38a2b8d37261bb5d18..aa91cc06f6411fe83467e43c0df1145c
public Entity getTarget() {
return this.finalTarget;
diff --git a/src/main/java/net/minecraft/world/entity/projectile/SmallFireball.java b/src/main/java/net/minecraft/world/entity/projectile/SmallFireball.java
index b77d04ef22711a4f90e274e81faa261f3f6c25af..a6d75f20d6b7679d53c3c081c6632e9c303e2d74 100644
index 58354671480ce3e677790eb5bebc64a20b36e43d..226b33921c90ca3904a7397a68dc8169948f8faa 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/SmallFireball.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/SmallFireball.java
@@ -99,4 +99,11 @@ public class SmallFireball extends Fireball {
@@ -98,4 +98,11 @@ public class SmallFireball extends Fireball {
public boolean hurt(DamageSource source, float amount) {
return false;
}
@@ -225,7 +225,7 @@ index 77941e3981e49cf5662b3e3c86a9c419080b17c8..8c6243aab556c993b43ab52e216bcb0a
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
index 1b2ada3663cc0739782ac591f2ee1f6d0fb94841..6599f267e30d15ad179e98d3683273cd9bbc3bd0 100644
index 834ba402decb556a5f77809b37fa00578b67432e..0686af29d4835b35dd6f9e6780437a7fd48bbd3f 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
@@ -131,4 +131,11 @@ public class ThrownEnderpearl extends ThrowableItemProjectile {
@@ -241,7 +241,7 @@ index 1b2ada3663cc0739782ac591f2ee1f6d0fb94841..6599f267e30d15ad179e98d3683273cd
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownExperienceBottle.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownExperienceBottle.java
index 11d1db5ef709dfb6fa596ebc4f5fff1415ad4f6d..ef771a190c6a437d4cf741a6d5a3be88070e011d 100644
index dcbbff3a8dfcac869f07025e0e8e3d9c47956093..d6b522aa7c7ce87caf55f91ee9d661e055506c01 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/ThrownExperienceBottle.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownExperienceBottle.java
@@ -56,4 +56,11 @@ public class ThrownExperienceBottle extends ThrowableItemProjectile {
@@ -257,10 +257,10 @@ index 11d1db5ef709dfb6fa596ebc4f5fff1415ad4f6d..ef771a190c6a437d4cf741a6d5a3be88
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java
index 8676796ff65cd0bd3f215dc7edcf3a5b2291ca27..15e7c19093e74a3354a115074449c1f6a830afc9 100644
index 1adcc0321b5528a4a173027be67139a9e9be5770..c846f62611d99867e3d39aa07e292e1e0903659c 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java
@@ -303,4 +303,11 @@ public class ThrownPotion extends ThrowableItemProjectile implements ItemSupplie
@@ -302,4 +302,11 @@ public class ThrownPotion extends ThrowableItemProjectile implements ItemSupplie
}
}
@@ -273,7 +273,7 @@ index 8676796ff65cd0bd3f215dc7edcf3a5b2291ca27..15e7c19093e74a3354a115074449c1f6
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
index 4a11f7417b438ee5711a720aca3321c88e970b2a..46b74271ce5f614f07754db14d2a552c36f73226 100644
index 2867e841e73a3edfdeb83af9d96e0d0cd4116a68..8613008090a9d7cf5cd7c2a598f2c725b5b0cdc6 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
@@ -136,4 +136,11 @@ public class WitherSkull extends AbstractHurtingProjectile {
@@ -289,7 +289,7 @@ index 4a11f7417b438ee5711a720aca3321c88e970b2a..46b74271ce5f614f07754db14d2a552c
+ // Purpur end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 62d404aed69465556a7e03938a23d9b3040be265..33896adae8835dbeb53683c8d689c87024284e4d 100644
index 7ee1e9b23b17288bef4f9dda8b2865142d4b466b..099aa282f51e6f7fbe00b83bb8aa3c5a2e6e2a8a 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -273,6 +273,35 @@ public class PurpurWorldConfig {

View File

@@ -21,7 +21,7 @@ index 181abe014baba9ac51064c003381281a8fa43fe4..cfd1dcec3efcd4caf2431cbda99bc9f1
ignored.add("goal_selector_1");
ignored.add("goal_selector_2");
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
index b2e3ad40cdc594b13eaf43e71e2e18edd1fbb1b7..838feecb8fb58ab951c16d67cce49ff12eccd1ba 100644
index b321ca2b09d9aab8b1b6387774bcfda3b20bc65b..c4eeeec1ff1963263459d29b7a7babd2ea8293e4 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
@@ -116,7 +116,19 @@ public class Drowned extends Zombie implements RangedAttackMob {
@@ -46,10 +46,10 @@ index b2e3ad40cdc594b13eaf43e71e2e18edd1fbb1b7..838feecb8fb58ab951c16d67cce49ff1
this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, Axolotl.class, true, false));
this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR));
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
index 1341377c6fd5ada85831d46d71a6066e8cc2e5cd..40c1fe6853d0fbda603113cb508ad2ea313d7ddb 100644
index f5551d121d4bd633ce8d667433e1def6e2fcbb8e..6f636ddea90e89fa17fa76d25b93ab5079cda88b 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
@@ -152,7 +152,19 @@ public class Zombie extends Monster {
@@ -149,7 +149,19 @@ public class Zombie extends Monster {
this.goalSelector.addGoal(7, new WaterAvoidingRandomStrollGoal(this, 1.0D));
this.targetSelector.addGoal(1, (new HurtByTargetGoal(this, new Class[0])).setAlertOthers(ZombifiedPiglin.class));
this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, true));
@@ -71,10 +71,10 @@ index 1341377c6fd5ada85831d46d71a6066e8cc2e5cd..40c1fe6853d0fbda603113cb508ad2ea
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
index 33896adae8835dbeb53683c8d689c87024284e4d..8b330029db238a7c3f9b67b89cb4e9c7efa4ab46 100644
index 099aa282f51e6f7fbe00b83bb8aa3c5a2e6e2a8a..8de25f8dcd88e9a3bbcd4c35f4985c982683d92c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1666,6 +1666,7 @@ public class PurpurWorldConfig {
@@ -1644,6 +1644,7 @@ public class PurpurWorldConfig {
public boolean zombieJockeyOnlyBaby = true;
public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true;
@@ -82,7 +82,7 @@ index 33896adae8835dbeb53683c8d689c87024284e4d..8b330029db238a7c3f9b67b89cb4e9c7
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1679,6 +1680,7 @@ public class PurpurWorldConfig {
@@ -1657,6 +1658,7 @@ public class PurpurWorldConfig {
zombieJockeyOnlyBaby = getBoolean("mobs.zombie.jockey.only-babies", zombieJockeyOnlyBaby);
zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance);
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);

View File

@@ -5,18 +5,18 @@ Subject: [PATCH] Add predicate to recipe's ExactChoice ingredient
diff --git a/src/main/java/net/minecraft/world/item/crafting/Ingredient.java b/src/main/java/net/minecraft/world/item/crafting/Ingredient.java
index e10a7268274488c50c0e4b5a10f8fa5de7d500e5..52063c1b14618cf132dcc45b0503e1aec838ec96 100644
index 8f35445477507bbec3c0cb1dccfd888316951595..2db1b0ec1b4595b80adafd19f398fbcc037c4f72 100644
--- a/src/main/java/net/minecraft/world/item/crafting/Ingredient.java
+++ b/src/main/java/net/minecraft/world/item/crafting/Ingredient.java
@@ -36,6 +36,7 @@ public final class Ingredient implements Predicate<ItemStack> {
public ItemStack[] itemStacks;
@@ -38,6 +38,7 @@ public final class Ingredient implements Predicate<ItemStack> {
@Nullable
private IntList stackingIds;
public boolean exact; // CraftBukkit
+ public Predicate<org.bukkit.inventory.ItemStack> predicate;
public Ingredient(Stream<? extends Ingredient.Value> entries) {
this.values = (Ingredient.Value[]) entries.toArray((i) -> {
@@ -67,6 +68,12 @@ public final class Ingredient implements Predicate<ItemStack> {
@@ -69,6 +70,12 @@ public final class Ingredient implements Predicate<ItemStack> {
if (this.itemStacks.length == 0) {
return itemstack.isEmpty();
} else {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Flying squids! Oh my!
diff --git a/src/main/java/net/minecraft/world/entity/GlowSquid.java b/src/main/java/net/minecraft/world/entity/GlowSquid.java
index 8c76074289954aae933dd41184f1f0d346bc6c8b..a2343002ec47df867537d42dcf374df448b591aa 100644
index ec261673ac444fd5de9c8556cde5d7887098aee0..ca2bf36120ba09ed27ad7b1064431f9feffa3420 100644
--- a/src/main/java/net/minecraft/world/entity/GlowSquid.java
+++ b/src/main/java/net/minecraft/world/entity/GlowSquid.java
@@ -34,6 +34,11 @@ public class GlowSquid extends Squid {
@@ -38,6 +38,11 @@ public class GlowSquid extends Squid {
public void initAttributes() {
this.getAttribute(net.minecraft.world.entity.ai.attributes.Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.glowSquidMaxHealth);
}
@@ -21,10 +21,10 @@ index 8c76074289954aae933dd41184f1f0d346bc6c8b..a2343002ec47df867537d42dcf374df4
@Override
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 af13adb96a083c83b7b847770a85e32bd0eafa4b..bde5ee9f4a307608db5f58f24a0c8da736e96d20 100644
index 82d657e431a5a2317e5be80f3b2898a5c7371a42..9a99904bd761df5861f68533279ebde39644b4f8 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Squid.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java
@@ -85,6 +85,15 @@ public class Squid extends WaterAnimal {
@@ -82,6 +82,15 @@ public class Squid extends WaterAnimal {
// Stops squids from floating just over the water
return super.getAxisForFluidCheck().offsetY(level.purpurConfig.squidOffsetWaterCheck);
}
@@ -40,7 +40,7 @@ index af13adb96a083c83b7b847770a85e32bd0eafa4b..bde5ee9f4a307608db5f58f24a0c8da7
// Purpur end
@Override
@@ -159,6 +168,7 @@ public class Squid extends WaterAnimal {
@@ -156,6 +165,7 @@ public class Squid extends WaterAnimal {
}
if (this.isInWaterOrBubble()) {
@@ -48,20 +48,20 @@ index af13adb96a083c83b7b847770a85e32bd0eafa4b..bde5ee9f4a307608db5f58f24a0c8da7
if (this.tentacleMovement < 3.1415927F) {
float f = this.tentacleMovement / 3.1415927F;
@@ -320,7 +330,7 @@ public class Squid extends WaterAnimal {
@@ -312,7 +322,7 @@ public class Squid extends WaterAnimal {
if (i > 100) {
this.squid.setMovementVector(0.0F, 0.0F, 0.0F);
- } else if (this.squid.getRandom().nextInt(50) == 0 || !this.squid.wasTouchingWater || !this.squid.hasMovementVector()) {
+ } else if (this.squid.getRandom().nextInt(50) == 0 || !this.squid.isInWater() || !this.squid.hasMovementVector()) { // Purpur
- } else if (this.squid.getRandom().nextInt(reducedTickDelay(50)) == 0 || !this.squid.wasTouchingWater || !this.squid.hasMovementVector()) {
+ } else if (this.squid.getRandom().nextInt(reducedTickDelay(50)) == 0 || !this.squid.isInWater() || !this.squid.hasMovementVector()) { // Purpur
float f = this.squid.getRandom().nextFloat() * 6.2831855F;
float f1 = Mth.cos(f) * 0.2F;
float f2 = -0.1F + this.squid.getRandom().nextFloat() * 0.2F;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 2109f3d8c532f21da732d2d9b375c7f7c03e1ae6..f4bae9da725ac4cbafe81d45035b5fcd176f1702 100644
index 8de25f8dcd88e9a3bbcd4c35f4985c982683d92c..6e6cae5834cfe74021f14a98778c0f40a7e88c4e 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -833,9 +833,11 @@ public class PurpurWorldConfig {
@@ -809,9 +809,11 @@ public class PurpurWorldConfig {
public boolean glowSquidRidable = false;
public double glowSquidMaxHealth = 10.0D;
@@ -73,7 +73,7 @@ index 2109f3d8c532f21da732d2d9b375c7f7c03e1ae6..f4bae9da725ac4cbafe81d45035b5fcd
}
public boolean goatRidable = false;
@@ -1391,6 +1393,7 @@ public class PurpurWorldConfig {
@@ -1367,6 +1369,7 @@ public class PurpurWorldConfig {
public double squidMaxHealth = 10.0D;
public boolean squidImmuneToEAR = true;
public double squidOffsetWaterCheck = 0.0D;
@@ -81,7 +81,7 @@ index 2109f3d8c532f21da732d2d9b375c7f7c03e1ae6..f4bae9da725ac4cbafe81d45035b5fcd
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
if (PurpurConfig.version < 10) {
@@ -1401,6 +1404,7 @@ public class PurpurWorldConfig {
@@ -1377,6 +1380,7 @@ public class PurpurWorldConfig {
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);
squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);
squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Infinity bow settings
diff --git a/src/main/java/net/minecraft/world/item/BowItem.java b/src/main/java/net/minecraft/world/item/BowItem.java
index afe33f20578177cb517e1c116e6319481642e66c..fe4695adbb506733b4029ecfabcfda3d23dde52a 100644
index 08d597db1a5345a343777a01427655e6bf2c926b..33df0ca406dc8321b76b393f317bbd1c8ebe6366 100644
--- a/src/main/java/net/minecraft/world/item/BowItem.java
+++ b/src/main/java/net/minecraft/world/item/BowItem.java
@@ -38,7 +38,7 @@ public class BowItem extends ProjectileWeaponItem implements Vanishable {
@@ -27,7 +27,7 @@ index afe33f20578177cb517e1c116e6319481642e66c..fe4695adbb506733b4029ecfabcfda3d
} else {
user.startUsingItem(hand);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index f4bae9da725ac4cbafe81d45035b5fcd176f1702..69b6b3f5646caa55e07fb9b581853f066c85a455 100644
index 6e6cae5834cfe74021f14a98778c0f40a7e88c4e..aa39acbebb7068b50f8484e549c39092867a0c09 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -123,6 +123,17 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Stonecutter damage
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 1630e3bcbcd799060b80cdd19ef37ae648425029..cd4717041d74832b7517c303f58c8692d54f9588 100644
index 42e7d6d431591cf0edf8f3aa05a4ccf3b788c7b5..8766be89f7bc2f3ce427d4ec428d1fa65a10d995 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1008,7 +1008,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
@@ -1019,7 +1019,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
}
// CraftBukkit end
@@ -18,7 +18,7 @@ index 1630e3bcbcd799060b80cdd19ef37ae648425029..cd4717041d74832b7517c303f58c8692
}
diff --git a/src/main/java/net/minecraft/world/level/block/StonecutterBlock.java b/src/main/java/net/minecraft/world/level/block/StonecutterBlock.java
index e5c11ca529b524b444695f50e2648f0206ff34e1..75084a9943a3b481d20ce170565484071b96c8dc 100644
index ec1c04f354236af24e137865b3b311ab8eb29ac4..46ef683e027f95bf39a42e0abba3a8e4dcd66740 100644
--- a/src/main/java/net/minecraft/world/level/block/StonecutterBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/StonecutterBlock.java
@@ -93,4 +93,16 @@ public class StonecutterBlock extends Block {
@@ -39,7 +39,7 @@ index e5c11ca529b524b444695f50e2648f0206ff34e1..75084a9943a3b481d20ce17056548407
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java b/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java
index 2ad5ff9a1d7de54e75436e99da8a73db9dc91bde..60605a8a021cc56f9c3ba22bc43c43c302fb1a70 100644
index 5e28c09d782166be6d0fbc6778ef9f6c4d7af409..ce891b7d8e5cbc956c28b8bb8c5c9976b7377039 100644
--- a/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java
+++ b/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java
@@ -463,7 +463,7 @@ public class WalkNodeEvaluator extends NodeEvaluator {
@@ -61,10 +61,10 @@ index 2ad5ff9a1d7de54e75436e99da8a73db9dc91bde..60605a8a021cc56f9c3ba22bc43c43c3
} else if (blockState.is(Blocks.HONEY_BLOCK)) {
return BlockPathTypes.STICKY_HONEY;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 69b6b3f5646caa55e07fb9b581853f066c85a455..b2abdc1589a466835d74672f54cfd2be4cb3ebd7 100644
index aa39acbebb7068b50f8484e549c39092867a0c09..276d1e7f212d08214c5b8f0fda0d15d8898bbff3 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -469,6 +469,11 @@ public class PurpurWorldConfig {
@@ -445,6 +445,11 @@ public class PurpurWorldConfig {
spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone);
}

View File

@@ -18,18 +18,18 @@ index 689ad22925b2561f7c8db961743eb1f821dbb25f..fa3c960992cc240161817e54659d83fe
public ClientboundSetTimePacket(long time, long timeOfDay, boolean doDaylightCycle) {
this.gameTime = time % 192000; // Paper - fix guardian beam
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 3417921d0409e410b0e26742832e3083c58e4409..f26901a119d3be41b0e6fa873afe79c1d2a56297 100644
index 7c84f20ce15525c4b8af4f03e3d67af08f8e1a03..da197e74b1a7b5831b98628198879dd7fdeff074 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -195,6 +195,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
final Int2ObjectMap<EnderDragonPart> dragonParts;
@@ -203,6 +203,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
private final StructureFeatureManager structureFeatureManager;
private final StructureCheck structureCheck;
private final boolean tickTime;
+ private double fakeTime; // Purpur
// Paper start - execute chunk tasks mid tick
public long lastMidTickExecuteFailure;
// Paper end - execute chunk tasks mid tick
@@ -572,6 +573,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -564,6 +565,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.getCraftServer().addWorld(this.getWorld()); // CraftBukkit
this.asyncChunkTaskManager = new com.destroystokyo.paper.io.chunk.ChunkTaskManager(this); // Paper
@@ -37,8 +37,8 @@ index 3417921d0409e410b0e26742832e3083c58e4409..f26901a119d3be41b0e6fa873afe79c1
}
public void setWeatherParameters(int clearDuration, int rainDuration, boolean raining, boolean thundering) {
@@ -820,6 +822,18 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.liquidTicks.nextTick(); // Paper
@@ -716,6 +718,18 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.serverLevelData.setGameTime(i);
this.serverLevelData.getScheduledEvents().tick(this.server, i);
if (this.levelData.getGameRules().getBoolean(GameRules.RULE_DAYLIGHT)) {
+ // Purpur start
@@ -56,7 +56,7 @@ index 3417921d0409e410b0e26742832e3083c58e4409..f26901a119d3be41b0e6fa873afe79c1
this.setDayTime(this.levelData.getDayTime() + 1L);
}
@@ -828,6 +842,12 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -724,6 +738,12 @@ public class ServerLevel extends Level implements WorldGenLevel {
public void setDayTime(long timeOfDay) {
this.serverLevelData.setDayTime(timeOfDay);
@@ -70,7 +70,7 @@ index 3417921d0409e410b0e26742832e3083c58e4409..f26901a119d3be41b0e6fa873afe79c1
public void tickCustomSpawners(boolean spawnMonsters, boolean spawnAnimals) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index b2abdc1589a466835d74672f54cfd2be4cb3ebd7..51fde7f245c5fb3378b8417cfbb3ee45132705ec 100644
index 276d1e7f212d08214c5b8f0fda0d15d8898bbff3..bc0477eaca798cf10e8928dfa8ea6ea414f18245 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -105,6 +105,13 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Furnace uses lava from underneath
diff --git a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
index 1bb79768fe3be8a44a00e1f8686f95eed0dc2cf2..400b4643df9c0e44614d5420809f64ddc1fd5a7f 100644
index fb15ece736dde16066818216749fb2efba0b3b21..600a71b8da335ddfc70f782cbbb08647ae98a89c 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
@@ -40,6 +40,7 @@ import net.minecraft.world.level.Level;
@@ -16,7 +16,7 @@ index 1bb79768fe3be8a44a00e1f8686f95eed0dc2cf2..400b4643df9c0e44614d5420809f64dd
import net.minecraft.world.phys.Vec3;
// CraftBukkit start
import org.bukkit.craftbukkit.block.CraftBlock;
@@ -319,6 +320,22 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit
@@ -318,6 +319,22 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit
ItemStack itemstack = (ItemStack) blockEntity.items.get(1);
@@ -38,8 +38,8 @@ index 1bb79768fe3be8a44a00e1f8686f95eed0dc2cf2..400b4643df9c0e44614d5420809f64dd
+
if (!blockEntity.isLit() && (itemstack.isEmpty() || ((ItemStack) blockEntity.items.get(0)).isEmpty())) {
if (!blockEntity.isLit() && blockEntity.cookingProgress > 0) {
blockEntity.cookingProgress = Mth.clamp(blockEntity.cookingProgress - 2, 0, blockEntity.cookingTotalTime);
@@ -394,6 +411,7 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit
blockEntity.cookingProgress = Mth.clamp(blockEntity.cookingProgress - 2, (int) 0, blockEntity.cookingTotalTime);
@@ -393,6 +410,7 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit
setChanged(world, pos, state);
}
@@ -48,10 +48,10 @@ index 1bb79768fe3be8a44a00e1f8686f95eed0dc2cf2..400b4643df9c0e44614d5420809f64dd
private static boolean canBurn(@Nullable Recipe<?> recipe, NonNullList<ItemStack> slots, int count) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 51fde7f245c5fb3378b8417cfbb3ee45132705ec..18ef612556f4a26a4eb58436d7d573631b1c0329 100644
index bc0477eaca798cf10e8928dfa8ea6ea414f18245..3f3e8fab1b4c9496ca03c101025be49f098b9a79 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -430,6 +430,17 @@ public class PurpurWorldConfig {
@@ -406,6 +406,17 @@ public class PurpurWorldConfig {
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
}

View File

@@ -7,7 +7,7 @@ This prevents keeping arrows alive indefinitely (such as when the block
the arrow is stuck in gets removed, like a piston head going up/down)
diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
index da76e07b3caced3172ecade96a67aca81958a4dc..0d87f56b0c2c452547bae7415c3ad4d34fed1bba 100644
index 0766645bf1e749fadd43077d6cff392ad02ace68..5f19571e59251a9072b29c600e075c232fb1f048 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
@@ -308,7 +308,7 @@ public abstract class AbstractArrow extends Projectile {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Ability to re-add farmland mechanics from Alpha
diff --git a/src/main/java/net/minecraft/world/level/block/FarmBlock.java b/src/main/java/net/minecraft/world/level/block/FarmBlock.java
index f638c7b27a846bf9db73e98ce9eb5d579bc25cac..e0ef42c2613374bedc8eb114aef7dd2aaeebb7b7 100644
index 603e621b16deb63b0d6d7e59e05a8de1831e067f..56233465693943e0fdb998e44a34f8029e3928cb 100644
--- a/src/main/java/net/minecraft/world/level/block/FarmBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/FarmBlock.java
@@ -113,6 +113,14 @@ public class FarmBlock extends Block {
@@ -24,10 +24,10 @@ index f638c7b27a846bf9db73e98ce9eb5d579bc25cac..e0ef42c2613374bedc8eb114aef7dd2a
return;
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 18ef612556f4a26a4eb58436d7d573631b1c0329..837197a340063bc8e3fb793e211828938e07b533 100644
index 3f3e8fab1b4c9496ca03c101025be49f098b9a79..7abb25b97ed4b0cf10cc01479f75cb5ac82621ea 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -426,8 +426,10 @@ public class PurpurWorldConfig {
@@ -402,8 +402,10 @@ public class PurpurWorldConfig {
}
public boolean farmlandGetsMoistFromBelow = false;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add adjustable breeding cooldown to config
diff --git a/src/main/java/net/minecraft/world/entity/animal/Animal.java b/src/main/java/net/minecraft/world/entity/animal/Animal.java
index 43841b5c77beb73169e2ff1645afe1234d8f74c7..d5d9f8e9c7119ae159a085aa414fc7f303be72a5 100644
index 2bc77858b4a78e24227b4b096fd44177202d5292..b26d5482d89e28897bcc9dc8a15042a557727037 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Animal.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Animal.java
@@ -145,7 +145,7 @@ public abstract class Animal extends AgeableMob {
@@ -153,7 +153,7 @@ public abstract class Animal extends AgeableMob {
if (this.isFood(itemstack)) {
int i = this.getAge();
@@ -17,7 +17,7 @@ index 43841b5c77beb73169e2ff1645afe1234d8f74c7..d5d9f8e9c7119ae159a085aa414fc7f3
this.usePlayerItem(player, hand, itemstack);
this.setInLove(player);
this.gameEvent(GameEvent.MOB_INTERACT, this.eyeBlockPosition());
@@ -239,6 +239,14 @@ public abstract class Animal extends AgeableMob {
@@ -247,6 +247,14 @@ public abstract class Animal extends AgeableMob {
if (entityplayer == null && other.getLoveCause() != null) {
entityplayer = other.getLoveCause();
}
@@ -33,7 +33,7 @@ index 43841b5c77beb73169e2ff1645afe1234d8f74c7..d5d9f8e9c7119ae159a085aa414fc7f3
entityageable.setBaby(true);
entityageable.moveTo(this.getX(), this.getY(), this.getZ(), 0.0F, 0.0F);
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index a1d9e9caed9e922cc65512a36019a0993bf549c6..952df801b448a22270d8f002b08abbdca249fc6e 100644
index 112078739e234ee7b676a499fe33e5b2f505526b..f23ca62cc05f2e636462653ae78ddf5a387cc1c0 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -187,6 +187,49 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -86,7 +86,7 @@ index a1d9e9caed9e922cc65512a36019a0993bf549c6..952df801b448a22270d8f002b08abbdc
public CraftWorld getWorld() {
return this.world;
}
@@ -317,6 +360,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -313,6 +356,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
this.paperConfig = new com.destroystokyo.paper.PaperWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), this.spigotConfig); // Paper
this.purpurConfig = new net.pl3x.purpur.PurpurWorldConfig((ServerLevel) this, ((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), env); // Purpur
@@ -95,10 +95,10 @@ index a1d9e9caed9e922cc65512a36019a0993bf549c6..952df801b448a22270d8f002b08abbdc
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
this.ticksPerAnimalSpawns = this.getCraftServer().getTicksPerAnimalSpawns(); // CraftBukkit
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 837197a340063bc8e3fb793e211828938e07b533..ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3 100644
index 7abb25b97ed4b0cf10cc01479f75cb5ac82621ea..1508618aadf4be1b90b72eeb8afb13344a8bf899 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -362,6 +362,7 @@ public class PurpurWorldConfig {
@@ -361,6 +361,7 @@ public class PurpurWorldConfig {
public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D;
public int raidCooldownSeconds = 0;
@@ -106,14 +106,14 @@ index 837197a340063bc8e3fb793e211828938e07b533..ac2c890ca61b5193a585eafb4e3f612e
private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
@@ -373,6 +374,7 @@ public class PurpurWorldConfig {
@@ -371,6 +372,7 @@ public class PurpurWorldConfig {
voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight);
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds);
+ animalBreedingCooldownSeconds = getInt("gameplay-mechanics.animal-breeding-cooldown-seconds", animalBreedingCooldownSeconds);
}
public Set<Block> noRandomTickBlocks = new HashSet<>();
public boolean anvilAllowColors = false;
diff --git a/src/main/java/net/pl3x/purpur/command/PurpurCommand.java b/src/main/java/net/pl3x/purpur/command/PurpurCommand.java
index 6e7f56fe2b78d7a09d5d130f2c88338fb8ae628e..cd63e9e556fa4931ab33c63931cf916757c51a62 100644
--- a/src/main/java/net/pl3x/purpur/command/PurpurCommand.java

View File

@@ -5,33 +5,35 @@ Subject: [PATCH] Make entity breeding times configurable
diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerMakeLove.java b/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerMakeLove.java
index 57232dfe281b42c36c5e71c5db4669c843d292b2..24a1d524cd6c3032ffc54bea1639ca608c0e2116 100644
index d51ab5e4dc93b805bf51f752542f53b2a97fdb20..dcc5d55a3274de1b2b22eab2ab7bf2c0ca013249 100644
--- a/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerMakeLove.java
+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerMakeLove.java
@@ -121,6 +121,10 @@ public class VillagerMakeLove extends Behavior<Villager> {
@@ -119,8 +119,10 @@ public class VillagerMakeLove extends Behavior<Villager> {
return Optional.empty();
}
// CraftBukkit end
parent.setAge(6000);
partner.setAge(6000);
- parent.setAge(6000);
- partner.setAge(6000);
+ // Purpur start
+ parent.setAge(world.purpurConfig.villagerBreedingTicks);
+ partner.setAge(world.purpurConfig.villagerBreedingTicks);
+ // Purpur end
world.addAllEntities(entityvillager2, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BREEDING); // CraftBukkit - added SpawnReason
world.addFreshEntityWithPassengers(entityvillager2, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BREEDING); // CraftBukkit - added SpawnReason
world.broadcastEntityEvent(entityvillager2, (byte) 12);
return Optional.of(entityvillager2);
diff --git a/src/main/java/net/minecraft/world/entity/animal/Animal.java b/src/main/java/net/minecraft/world/entity/animal/Animal.java
index d5d9f8e9c7119ae159a085aa414fc7f303be72a5..ff67d13f646551d7d4d2a169be656c9856f11324 100644
index b26d5482d89e28897bcc9dc8a15042a557727037..400db4ff64701e229ec208666a7acb1b28789b5f 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Animal.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Animal.java
@@ -38,6 +38,7 @@ public abstract class Animal extends AgeableMob {
public int inLove;
@@ -42,6 +42,7 @@ public abstract class Animal extends AgeableMob {
@Nullable
public UUID loveCause;
public ItemStack breedItem; // CraftBukkit - Add breedItem variable
+ public abstract int getPurpurBreedTime(); // Purpur
protected Animal(EntityType<? extends Animal> type, Level world) {
super(type, world);
@@ -263,8 +264,10 @@ public abstract class Animal extends AgeableMob {
@@ -271,8 +272,10 @@ public abstract class Animal extends AgeableMob {
CriteriaTriggers.BRED_ANIMALS.trigger(entityplayer, this, other, entityageable);
}
@@ -43,12 +45,12 @@ index d5d9f8e9c7119ae159a085aa414fc7f303be72a5..ff67d13f646551d7d4d2a169be656c98
+ // Purpur end
this.resetLove();
other.resetLove();
world.addAllEntities(entityageable, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BREEDING); // CraftBukkit - added SpawnReason
world.addFreshEntityWithPassengers(entityageable, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BREEDING); // CraftBukkit - added SpawnReason
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
index a52c34dd52198d1d1af991596f84b0b9aa5f1e64..c21f67dac92bb6143d301f3a2cb250b2144cb27c 100644
index b29c1c66d4bed98514aa5ae0ba52d83f579fac4a..5fafd26e77f100cf94bf16f05fa09276bdd56136 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
@@ -214,6 +214,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
@@ -215,6 +215,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.beeMaxHealth);
}
@@ -61,10 +63,10 @@ index a52c34dd52198d1d1af991596f84b0b9aa5f1e64..c21f67dac92bb6143d301f3a2cb250b2
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java
index fa2099c98ae60102ad4e555af78ab26aca587dbf..bad5b47f3df186c77e578d5953cf1798179639d3 100644
index 5cb689e8a22e8ba58a69acbf717baa51aeb4732c..8f6c3e9eaefc0a15aefde7119f2e123894d434b7 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
@@ -144,6 +144,11 @@ public class Cat extends TamableAnimal {
@@ -145,6 +145,11 @@ public class Cat extends TamableAnimal {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.catMaxHealth);
}
@@ -77,7 +79,7 @@ index fa2099c98ae60102ad4e555af78ab26aca587dbf..bad5b47f3df186c77e578d5953cf1798
public ResourceLocation getResourceLocation() {
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 b3a6da8b1a221281d9f4d31cfb00ff525a8fdc65..c1a5650bd2df0fd89d0799346bddb8f15a587d10 100644
index 7fd330c77159dc21d5170b386d27128fe03eea1e..249e01f0be9aeeed764bd102b7a9fa4ca9e7b473 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
@@ -70,6 +70,11 @@ public class Chicken extends Animal {
@@ -93,7 +95,7 @@ index b3a6da8b1a221281d9f4d31cfb00ff525a8fdc65..c1a5650bd2df0fd89d0799346bddb8f1
@Override
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 35c1de1cb74a38b414b4bf0516fa89c1c1a22a9f..c98ac7f1a3476b159299eb1e26505f1dcaec51b4 100644
index d2d971f3a135c9bebbda618eb5a0d4a4f81ca221..95ef459c804e9aff02c80cd31612185096413cd0 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
@@ -57,6 +57,11 @@ public class Cow extends Animal {
@@ -109,10 +111,10 @@ index 35c1de1cb74a38b414b4bf0516fa89c1c1a22a9f..c98ac7f1a3476b159299eb1e26505f1d
@Override
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 04fddf897c52f041324bcef19c84bff3aa675d8a..03e75add762b19170e95d1b280f92e79f2f8f9bf 100644
index d334321f3947288861066038eb70b98cad63582b..856e348b45fcaf8fc1710cd7382eb6ac10424fb8 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -176,6 +176,11 @@ public class Fox extends Animal {
@@ -177,6 +177,11 @@ public class Fox extends Animal {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.foxMaxHealth);
}
@@ -124,8 +126,8 @@ index 04fddf897c52f041324bcef19c84bff3aa675d8a..03e75add762b19170e95d1b280f92e79
// Purpur end
@Override
@@ -955,8 +960,10 @@ public class Fox extends Animal {
CriteriaTriggers.BRED_ANIMALS.trigger(entityplayer2, this.animal, this.partner, (AgeableMob) entityfox);
@@ -960,8 +965,10 @@ public class Fox extends Animal {
CriteriaTriggers.BRED_ANIMALS.trigger(entityplayer2, this.animal, this.partner, entityfox);
}
- this.animal.setAge(6000);
@@ -136,12 +138,12 @@ index 04fddf897c52f041324bcef19c84bff3aa675d8a..03e75add762b19170e95d1b280f92e79
+ // Purpur end
this.animal.resetLove();
this.partner.resetLove();
worldserver.addAllEntities(entityfox, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BREEDING); // CraftBukkit - added SpawnReason
worldserver.addFreshEntityWithPassengers(entityfox, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BREEDING); // CraftBukkit - added SpawnReason
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 9dde33111658b2b80dfe9609114067332ec7df27..417640879f17081591b1ed23c6704a8b68069942 100644
index ffe2f135c6e9396ff106ca7f889ca31290c4d30d..8fb2f77571370c80dbafdf5c9a3c57c83a9fbd42 100644
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
@@ -76,6 +76,11 @@ public class MushroomCow extends Cow implements Shearable {
@@ -80,6 +80,11 @@ public class MushroomCow extends Cow implements Shearable {
public void initAttributes() {
this.getAttribute(net.minecraft.world.entity.ai.attributes.Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.mooshroomMaxHealth);
}
@@ -154,10 +156,10 @@ index 9dde33111658b2b80dfe9609114067332ec7df27..417640879f17081591b1ed23c6704a8b
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
index 708b6fb7982dc39ee090ae9a652d48046b833323..8b8dbc97ff069356ff471a6edc05cd3ddb21dca5 100644
index b1fb4f64ea567a96e69aa483fec5f39eecfd9a8d..e5ad9c33f21920f434647e4f632adbaa29182efa 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
@@ -83,6 +83,11 @@ public class Ocelot extends Animal {
@@ -84,6 +84,11 @@ public class Ocelot extends Animal {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.ocelotMaxHealth);
}
@@ -170,10 +172,10 @@ index 708b6fb7982dc39ee090ae9a652d48046b833323..8b8dbc97ff069356ff471a6edc05cd3d
public boolean isTrusting() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java
index 68039d84c62005c7b2decde410c0578c6327b043..785f2b3deb32f0f7eb5c5a78313ba92710659868 100644
index c98a143e525f55606d37e3fa14751c97e37218c0..a02562550d9392eb9105ad8b63d7adfc7a6234ea 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
@@ -133,6 +133,11 @@ public class Panda extends Animal {
@@ -132,6 +132,11 @@ public class Panda extends Animal {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.pandaMaxHealth);
setAttributes();
}
@@ -186,10 +188,10 @@ index 68039d84c62005c7b2decde410c0578c6327b043..785f2b3deb32f0f7eb5c5a78313ba927
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
index 19caa59e11879b1269196fb0997b899e9e67b586..749f8bf4719923fe0cb4b09e1673c42709660da3 100644
index d5dfa6b9480c4314eaa53bbd95efd02e0f89a75b..7441dbdc630a4ea80aed18a622bc061eb91579a5 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
@@ -181,6 +181,11 @@ public class Parrot extends ShoulderRidingEntity implements FlyingAnimal {
@@ -186,6 +186,11 @@ public class Parrot extends ShoulderRidingEntity implements FlyingAnimal {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.parrotMaxHealth);
}
@@ -202,10 +204,10 @@ index 19caa59e11879b1269196fb0997b899e9e67b586..749f8bf4719923fe0cb4b09e1673c427
@Nullable
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 88dba06737af2157e1efc0fe355c4cbb3515edf1..ff768992544bc9c7661c698ba8fad6b49a08e437 100644
index 0973fb94748170fbf51d78b3ead657b61fb637b5..454f683bc339f65605b212ba9a64fcc123c0ca67 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
@@ -80,6 +80,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
@@ -79,6 +79,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.pigMaxHealth);
}
@@ -218,10 +220,10 @@ index 88dba06737af2157e1efc0fe355c4cbb3515edf1..ff768992544bc9c7661c698ba8fad6b4
@Override
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 6b09e8adcd38acb92072838bb2869458dae1cb50..d9d8d1085c4ab1d000110b227807631b6849a4ce 100644
index 5dc981130464027f9af02f1d10ec80441c4cc050..00ea9461c1ce55d3219b3829990b0a77434c83e1 100644
--- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
+++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
@@ -114,6 +114,11 @@ public class PolarBear extends Animal implements NeutralMob {
@@ -115,6 +115,11 @@ public class PolarBear extends Animal implements NeutralMob {
return this.isInLove() && bear.isInLove();
}
}
@@ -234,10 +236,10 @@ index 6b09e8adcd38acb92072838bb2869458dae1cb50..d9d8d1085c4ab1d000110b227807631b
@Override
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 a046bcf35717b156141dfa041a44d32b1512d708..e7adecb2324efaedd6aad3aa1213d53765b09b7e 100644
index 9ddb39fb7028e91c97039887afeaf711e13a9182..b4314eb2b69dd56176bb33972181fe75c03b90bd 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
@@ -133,6 +133,11 @@ public class Rabbit extends Animal {
@@ -135,6 +135,11 @@ public class Rabbit extends Animal {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.rabbitMaxHealth);
}
@@ -250,7 +252,7 @@ index a046bcf35717b156141dfa041a44d32b1512d708..e7adecb2324efaedd6aad3aa1213d537
// CraftBukkit start - code from constructor
diff --git a/src/main/java/net/minecraft/world/entity/animal/Sheep.java b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
index e142d90d62c80c5e8b888521e4654e2b64b80990..af800fb4b789e28c112a6f351d128719a8a767e9 100644
index cfad0b694c50b3dd2b91570717992b670d18479f..7d3a8324eabe65c7ca89be0ad954a6fad5983b84 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Sheep.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
@@ -131,6 +131,11 @@ public class Sheep extends Animal implements Shearable {
@@ -266,10 +268,10 @@ index e142d90d62c80c5e8b888521e4654e2b64b80990..af800fb4b789e28c112a6f351d128719
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
index f2b55ebd460fbb95d3d7774cb5ea5bf2d38443b5..1d1157c9a9af89df653bc4f85fa4e6f80ca3a638 100644
index 730f0fdf968554e9e306ad984d6bd01861402705..76657c68577030f65ce87036c12149c4eccf4908 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
@@ -105,6 +105,11 @@ public class Turtle extends Animal {
@@ -101,6 +101,11 @@ public class Turtle extends Animal {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.turtleMaxHealth);
}
@@ -282,10 +284,10 @@ index f2b55ebd460fbb95d3d7774cb5ea5bf2d38443b5..1d1157c9a9af89df653bc4f85fa4e6f8
public void setHomePos(BlockPos pos) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
index 2c5fe1e2f4eab38e26ca8ef198f2e6bb2ab20e3c..9ad96fec6110e26c0074c07fd8e2453e1d4271bb 100644
index da7b3b5d683a3d48bb1726981a63999724032f44..2e20a37663f48bd606157e22d466267699c8ed21 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
@@ -113,6 +113,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
@@ -119,6 +119,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.wolfMaxHealth);
}
@@ -298,10 +300,10 @@ index 2c5fe1e2f4eab38e26ca8ef198f2e6bb2ab20e3c..9ad96fec6110e26c0074c07fd8e2453e
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
index 0d32ac4e664a20583ba35e88d647c833694df9b4..51e36a24d6f7dce1ae488e7f9c288b1ce21a82e9 100644
index f88f979cc66bf85ad3f1458581a82b0ed91c3f16..7afe0e3a91b3b88da2b5ab034a45163880ff12bf 100644
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
+++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
@@ -110,6 +110,11 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {
@@ -111,6 +111,11 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.axolotlMaxHealth);
}
@@ -314,10 +316,10 @@ index 0d32ac4e664a20583ba35e88d647c833694df9b4..51e36a24d6f7dce1ae488e7f9c288b1c
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
index 38df988c5630c8c35f2468b1829591e2f27a5871..2fe3ce8f24f46aa4f3c6363a37e4a045e109018a 100644
index 21aca411c458a1e80cdd6e97961f9a5c572854a9..b72756afc34afa3f4f8ad838eba3a24faf7e46d0 100644
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
@@ -87,6 +87,11 @@ public class Goat extends Animal {
@@ -89,6 +89,11 @@ public class Goat extends Animal {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.goatMaxHealth);
}
@@ -362,10 +364,10 @@ index 9f7203608e15fdce1bfbaf419838768763d61378..2c5cb1b759a0b6e0233345da5a968288
@Override
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 98da60e297f08dc77bf1cd754458cb138ca9d219..8c615c5955ff3bd9e08cb629dc3732e04fc76394 100644
index e2271a52448583cdbda844bc55b42dd3665a2a26..4108202537f9f150e2a65427f3d71765783f835c 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
@@ -123,6 +123,11 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
@@ -124,6 +124,11 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
public double generateRandomSpeed() {
return generateRandomSpeed(this.level.purpurConfig.llamaMovementSpeedMin, this.level.purpurConfig.llamaMovementSpeedMax);
}
@@ -410,7 +412,7 @@ index 8bc2c6a3ee0eec08900b96eea3d0d545616bc513..9c6c7d3bdf6dad329bca4a64dc6ea1cf
public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
index c4eb99466c00c6cf1d60c7fa387f8b65efdac912..dbeed04103ee42bd16e7b785d7024214b6335679 100644
index f651cb7a89388f23cef33d8f817cffd3c6ecea2b..a58153ad203a91c6ebb014febdaab167b8e694c4 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
@@ -57,6 +57,11 @@ public class TraderLlama extends Llama {
@@ -442,7 +444,7 @@ index 48b72eb4051d612648a1978b38299c0c37a3a289..b6d9ba8dd5694952ca2eba54726ac5e5
public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Strider.java b/src/main/java/net/minecraft/world/entity/monster/Strider.java
index 0f7383849399db1218acda986fe29ac14a36d768..22ce93fd265d3fa9967e6467301e8128635f2391 100644
index ff76fbb1618edc1aa6a58e9649e99291c90beffb..672801ab77a10917147f12b2117a3390885b39b0 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Strider.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java
@@ -112,6 +112,11 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
@@ -474,10 +476,10 @@ index 3ec9b8343cf80ceea8503ad78863a4b539c6ef6b..c536b0f0d0ebe5b6b6409972eb711f84
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a68695032 100644
index 1508618aadf4be1b90b72eeb8afb13344a8bf899..935a379c07fb81f62b1e820f2976d100db3d24d2 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -507,9 +507,11 @@ public class PurpurWorldConfig {
@@ -483,9 +483,11 @@ public class PurpurWorldConfig {
public boolean axolotlRidable = false;
public double axolotlMaxHealth = 14.0D;
@@ -489,7 +491,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
}
public boolean batRidable = false;
@@ -539,6 +541,7 @@ public class PurpurWorldConfig {
@@ -515,6 +517,7 @@ public class PurpurWorldConfig {
public boolean beeRidableInWater = false;
public double beeMaxY = 256D;
public double beeMaxHealth = 10.0D;
@@ -497,7 +499,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
private void beeSettings() {
beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
@@ -549,6 +552,7 @@ public class PurpurWorldConfig {
@@ -525,6 +528,7 @@ public class PurpurWorldConfig {
set("mobs.bee.attributes.max_health", oldValue);
}
beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth);
@@ -505,7 +507,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
}
public boolean blazeRidable = false;
@@ -573,6 +577,7 @@ public class PurpurWorldConfig {
@@ -549,6 +553,7 @@ public class PurpurWorldConfig {
public int catSpawnDelay = 1200;
public int catSpawnSwampHutScanRange = 16;
public int catSpawnVillageScanRange = 48;
@@ -513,7 +515,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
@@ -585,6 +590,7 @@ public class PurpurWorldConfig {
@@ -561,6 +566,7 @@ public class PurpurWorldConfig {
catSpawnDelay = getInt("mobs.cat.spawn-delay", catSpawnDelay);
catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange);
catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange);
@@ -521,7 +523,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
}
public boolean caveSpiderRidable = false;
@@ -605,6 +611,7 @@ public class PurpurWorldConfig {
@@ -581,6 +587,7 @@ public class PurpurWorldConfig {
public boolean chickenRidableInWater = false;
public double chickenMaxHealth = 4.0D;
public boolean chickenRetaliate = false;
@@ -529,7 +531,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
private void chickenSettings() {
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
@@ -615,6 +622,7 @@ public class PurpurWorldConfig {
@@ -591,6 +598,7 @@ public class PurpurWorldConfig {
}
chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth);
chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate);
@@ -537,7 +539,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
}
public boolean codRidable = false;
@@ -633,6 +641,7 @@ public class PurpurWorldConfig {
@@ -609,6 +617,7 @@ public class PurpurWorldConfig {
public boolean cowRidableInWater = false;
public double cowMaxHealth = 10.0D;
public int cowFeedMushrooms = 0;
@@ -545,7 +547,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
private void cowSettings() {
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
@@ -643,6 +652,7 @@ public class PurpurWorldConfig {
@@ -619,6 +628,7 @@ public class PurpurWorldConfig {
}
cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth);
cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms);
@@ -553,7 +555,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
}
public boolean creeperRidable = false;
@@ -690,6 +700,7 @@ public class PurpurWorldConfig {
@@ -666,6 +676,7 @@ public class PurpurWorldConfig {
public double donkeyJumpStrengthMax = 0.5D;
public double donkeyMovementSpeedMin = 0.175D;
public double donkeyMovementSpeedMax = 0.175D;
@@ -561,7 +563,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
private void donkeySettings() {
donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater);
if (PurpurConfig.version < 10) {
@@ -705,6 +716,7 @@ public class PurpurWorldConfig {
@@ -681,6 +692,7 @@ public class PurpurWorldConfig {
donkeyJumpStrengthMax = getDouble("mobs.donkey.attributes.jump_strength.max", donkeyJumpStrengthMax);
donkeyMovementSpeedMin = getDouble("mobs.donkey.attributes.movement_speed.min", donkeyMovementSpeedMin);
donkeyMovementSpeedMax = getDouble("mobs.donkey.attributes.movement_speed.max", donkeyMovementSpeedMax);
@@ -569,7 +571,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
}
public boolean drownedRidable = false;
@@ -811,6 +823,7 @@ public class PurpurWorldConfig {
@@ -787,6 +799,7 @@ public class PurpurWorldConfig {
public boolean foxRidableInWater = false;
public double foxMaxHealth = 10.0D;
public boolean foxTypeChangesWithTulips = false;
@@ -577,7 +579,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -821,6 +834,7 @@ public class PurpurWorldConfig {
@@ -797,6 +810,7 @@ public class PurpurWorldConfig {
}
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
@@ -585,7 +587,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
}
public boolean ghastRidable = false;
@@ -881,10 +895,12 @@ public class PurpurWorldConfig {
@@ -857,10 +871,12 @@ public class PurpurWorldConfig {
public boolean goatRidable = false;
public boolean goatRidableInWater = false;
public double goatMaxHealth = 10.0D;
@@ -598,7 +600,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
}
public boolean guardianRidable = false;
@@ -902,6 +918,7 @@ public class PurpurWorldConfig {
@@ -878,6 +894,7 @@ public class PurpurWorldConfig {
public boolean hoglinRidable = false;
public boolean hoglinRidableInWater = false;
public double hoglinMaxHealth = 40.0D;
@@ -606,7 +608,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
private void hoglinSettings() {
hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable);
hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater);
@@ -911,6 +928,7 @@ public class PurpurWorldConfig {
@@ -887,6 +904,7 @@ public class PurpurWorldConfig {
set("mobs.hoglin.attributes.max_health", oldValue);
}
hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth);
@@ -614,7 +616,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
}
public boolean horseRidableInWater = false;
@@ -920,6 +938,7 @@ public class PurpurWorldConfig {
@@ -896,6 +914,7 @@ public class PurpurWorldConfig {
public double horseJumpStrengthMax = 1.0D;
public double horseMovementSpeedMin = 0.1125D;
public double horseMovementSpeedMax = 0.3375D;
@@ -622,7 +624,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
private void horseSettings() {
horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater);
if (PurpurConfig.version < 10) {
@@ -935,6 +954,7 @@ public class PurpurWorldConfig {
@@ -911,6 +930,7 @@ public class PurpurWorldConfig {
horseJumpStrengthMax = getDouble("mobs.horse.attributes.jump_strength.max", horseJumpStrengthMax);
horseMovementSpeedMin = getDouble("mobs.horse.attributes.movement_speed.min", horseMovementSpeedMin);
horseMovementSpeedMax = getDouble("mobs.horse.attributes.movement_speed.max", horseMovementSpeedMax);
@@ -630,7 +632,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
}
public boolean huskRidable = false;
@@ -1005,6 +1025,7 @@ public class PurpurWorldConfig {
@@ -981,6 +1001,7 @@ public class PurpurWorldConfig {
public double llamaJumpStrengthMax = 0.5D;
public double llamaMovementSpeedMin = 0.175D;
public double llamaMovementSpeedMax = 0.175D;
@@ -638,7 +640,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
private void llamaSettings() {
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);
@@ -1021,6 +1042,7 @@ public class PurpurWorldConfig {
@@ -997,6 +1018,7 @@ public class PurpurWorldConfig {
llamaJumpStrengthMax = getDouble("mobs.llama.attributes.jump_strength.max", llamaJumpStrengthMax);
llamaMovementSpeedMin = getDouble("mobs.llama.attributes.movement_speed.min", llamaMovementSpeedMin);
llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax);
@@ -646,7 +648,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
}
public boolean magmaCubeRidable = false;
@@ -1040,6 +1062,7 @@ public class PurpurWorldConfig {
@@ -1016,6 +1038,7 @@ public class PurpurWorldConfig {
public boolean mooshroomRidable = false;
public boolean mooshroomRidableInWater = false;
public double mooshroomMaxHealth = 10.0D;
@@ -654,7 +656,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
private void mooshroomSettings() {
mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable);
mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater);
@@ -1049,6 +1072,7 @@ public class PurpurWorldConfig {
@@ -1025,6 +1048,7 @@ public class PurpurWorldConfig {
set("mobs.mooshroom.attributes.max_health", oldValue);
}
mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth);
@@ -662,7 +664,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
}
public boolean muleRidableInWater = false;
@@ -1058,6 +1082,7 @@ public class PurpurWorldConfig {
@@ -1034,6 +1058,7 @@ public class PurpurWorldConfig {
public double muleJumpStrengthMax = 0.5D;
public double muleMovementSpeedMin = 0.175D;
public double muleMovementSpeedMax = 0.175D;
@@ -670,7 +672,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
private void muleSettings() {
muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater);
if (PurpurConfig.version < 10) {
@@ -1073,11 +1098,13 @@ public class PurpurWorldConfig {
@@ -1049,11 +1074,13 @@ public class PurpurWorldConfig {
muleJumpStrengthMax = getDouble("mobs.mule.attributes.jump_strength.max", muleJumpStrengthMax);
muleMovementSpeedMin = getDouble("mobs.mule.attributes.movement_speed.min", muleMovementSpeedMin);
muleMovementSpeedMax = getDouble("mobs.mule.attributes.movement_speed.max", muleMovementSpeedMax);
@@ -684,7 +686,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
private void ocelotSettings() {
ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable);
ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater);
@@ -1087,11 +1114,13 @@ public class PurpurWorldConfig {
@@ -1063,11 +1090,13 @@ public class PurpurWorldConfig {
set("mobs.ocelot.attributes.max_health", oldValue);
}
ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth);
@@ -698,7 +700,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
private void pandaSettings() {
pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable);
pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater);
@@ -1101,6 +1130,7 @@ public class PurpurWorldConfig {
@@ -1077,6 +1106,7 @@ public class PurpurWorldConfig {
set("mobs.panda.attributes.max_health", oldValue);
}
pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth);
@@ -706,7 +708,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
}
public boolean parrotRidable = false;
@@ -1181,6 +1211,7 @@ public class PurpurWorldConfig {
@@ -1157,6 +1187,7 @@ public class PurpurWorldConfig {
public boolean pigRidableInWater = false;
public double pigMaxHealth = 10.0D;
public boolean pigGiveSaddleBack = false;
@@ -714,7 +716,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
private void pigSettings() {
pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
@@ -1191,6 +1222,7 @@ public class PurpurWorldConfig {
@@ -1167,6 +1198,7 @@ public class PurpurWorldConfig {
}
pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth);
pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack);
@@ -722,7 +724,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
}
public boolean piglinRidable = false;
@@ -1240,6 +1272,7 @@ public class PurpurWorldConfig {
@@ -1216,6 +1248,7 @@ public class PurpurWorldConfig {
public double polarBearMaxHealth = 30.0D;
public String polarBearBreedableItemString = "";
public Item polarBearBreedableItem = null;
@@ -730,7 +732,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
private void polarBearSettings() {
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
@@ -1252,6 +1285,7 @@ public class PurpurWorldConfig {
@@ -1228,6 +1261,7 @@ public class PurpurWorldConfig {
polarBearBreedableItemString = getString("mobs.polar_bear.breedable-item", polarBearBreedableItemString);
Item item = Registry.ITEM.get(new ResourceLocation(polarBearBreedableItemString));
if (item != Items.AIR) polarBearBreedableItem = item;
@@ -738,7 +740,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
}
public boolean pufferfishRidable = false;
@@ -1271,6 +1305,7 @@ public class PurpurWorldConfig {
@@ -1247,6 +1281,7 @@ public class PurpurWorldConfig {
public double rabbitMaxHealth = 3.0D;
public double rabbitNaturalToast = 0.0D;
public double rabbitNaturalKiller = 0.0D;
@@ -746,7 +748,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -1282,6 +1317,7 @@ public class PurpurWorldConfig {
@@ -1258,6 +1293,7 @@ public class PurpurWorldConfig {
rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth);
rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast);
rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
@@ -754,7 +756,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
}
public boolean ravagerRidable = false;
@@ -1313,6 +1349,7 @@ public class PurpurWorldConfig {
@@ -1289,6 +1325,7 @@ public class PurpurWorldConfig {
public boolean sheepRidable = false;
public boolean sheepRidableInWater = false;
public double sheepMaxHealth = 8.0D;
@@ -762,7 +764,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
private void sheepSettings() {
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
@@ -1322,6 +1359,7 @@ public class PurpurWorldConfig {
@@ -1298,6 +1335,7 @@ public class PurpurWorldConfig {
set("mobs.sheep.attributes.max_health", oldValue);
}
sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth);
@@ -770,7 +772,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
}
public boolean shulkerRidable = false;
@@ -1476,6 +1514,7 @@ public class PurpurWorldConfig {
@@ -1452,6 +1490,7 @@ public class PurpurWorldConfig {
public boolean striderRidable = false;
public boolean striderRidableInWater = false;
public double striderMaxHealth = 20.0D;
@@ -778,7 +780,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1485,6 +1524,7 @@ public class PurpurWorldConfig {
@@ -1461,6 +1500,7 @@ public class PurpurWorldConfig {
set("mobs.strider.attributes.max_health", oldValue);
}
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
@@ -786,7 +788,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
}
public boolean traderLlamaRidable = false;
@@ -1495,6 +1535,7 @@ public class PurpurWorldConfig {
@@ -1471,6 +1511,7 @@ public class PurpurWorldConfig {
public double traderLlamaJumpStrengthMax = 0.5D;
public double traderLlamaMovementSpeedMin = 0.175D;
public double traderLlamaMovementSpeedMax = 0.175D;
@@ -794,7 +796,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
private void traderLlamaSettings() {
traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable);
traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater);
@@ -1511,6 +1552,7 @@ public class PurpurWorldConfig {
@@ -1487,6 +1528,7 @@ public class PurpurWorldConfig {
traderLlamaJumpStrengthMax = getDouble("mobs.trader_llama.attributes.jump_strength.max", traderLlamaJumpStrengthMax);
traderLlamaMovementSpeedMin = getDouble("mobs.trader_llama.attributes.movement_speed.min", traderLlamaMovementSpeedMin);
traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax);
@@ -802,7 +804,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
}
public boolean tropicalFishRidable = false;
@@ -1531,6 +1573,7 @@ public class PurpurWorldConfig {
@@ -1507,6 +1549,7 @@ public class PurpurWorldConfig {
public boolean turtleEggsBreakFromExpOrbs = true;
public boolean turtleEggsBreakFromItems = true;
public boolean turtleEggsBreakFromMinecarts = true;
@@ -810,7 +812,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
private void turtleEggSettings() {
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
@@ -1543,6 +1586,7 @@ public class PurpurWorldConfig {
@@ -1519,6 +1562,7 @@ public class PurpurWorldConfig {
turtleEggsBreakFromExpOrbs = getBoolean("blocks.turtle_egg.break-from-exp-orbs", turtleEggsBreakFromExpOrbs);
turtleEggsBreakFromItems = getBoolean("blocks.turtle_egg.break-from-items", turtleEggsBreakFromItems);
turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts);
@@ -818,7 +820,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
}
public boolean vexRidable = false;
@@ -1571,6 +1615,7 @@ public class PurpurWorldConfig {
@@ -1547,6 +1591,7 @@ public class PurpurWorldConfig {
public int villagerSpawnIronGolemRadius = 0;
public int villagerSpawnIronGolemLimit = 0;
public boolean villagerCanBreed = true;
@@ -826,7 +828,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1587,6 +1632,7 @@ public class PurpurWorldConfig {
@@ -1563,6 +1608,7 @@ public class PurpurWorldConfig {
villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius);
villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit);
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
@@ -834,7 +836,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
}
public boolean vindicatorRidable = false;
@@ -1678,6 +1724,7 @@ public class PurpurWorldConfig {
@@ -1654,6 +1700,7 @@ public class PurpurWorldConfig {
public boolean wolfRidable = false;
public boolean wolfRidableInWater = false;
public double wolfMaxHealth = 8.0D;
@@ -842,7 +844,7 @@ index ac2c890ca61b5193a585eafb4e3f612ee8a2b8e3..ad100c889c43bfb702819028862ca49a
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
@@ -1687,6 +1734,7 @@ public class PurpurWorldConfig {
@@ -1663,6 +1710,7 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
}
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Apply display names from item forms of entities to entities
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
index fee2bd03d007e6d69706f8cb953a2f6ae59cac35..bb710e62477df3048d5219f1edfa9ffdefacb41d 100644
index dc1630a1a769f848059f576c3d1220a216b5465c..50370dc8697569a4e5cf8ec3714d227a59357d64 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
@@ -597,7 +597,13 @@ public class ArmorStand extends LivingEntity {
@@ -596,7 +596,13 @@ public class ArmorStand extends LivingEntity {
}
private void brokenByPlayer(DamageSource damageSource) {
@@ -25,7 +25,7 @@ index fee2bd03d007e6d69706f8cb953a2f6ae59cac35..bb710e62477df3048d5219f1edfa9ffd
}
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
index b829efdb40051a41b3bf1cabb8bf7d7c952797b5..90f1ecd97eef93316f61bf5d761d33c313e1a077 100644
index 30159f4f387b61b50589fad61f91c9e5a4adaf12..c8eaed6acd6b8bd47b7943ce0d61b20991899099 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
@@ -257,7 +257,13 @@ public class ItemFrame extends HangingEntity {
@@ -44,14 +44,14 @@ index b829efdb40051a41b3bf1cabb8bf7d7c952797b5..90f1ecd97eef93316f61bf5d761d33c3
if (!itemstack.isEmpty()) {
diff --git a/src/main/java/net/minecraft/world/entity/decoration/Painting.java b/src/main/java/net/minecraft/world/entity/decoration/Painting.java
index a853e2cc2e3f06a0ca0bb1799b3fd02890ae6521..a8265cd631d335d4eaec1918bd48570ee1fc9429 100644
index 359f6cf63319ad9f125cdea848852def8a1ec1c8..b5ff43e866c3c43085e91b38c31c4845682e7555 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/Painting.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/Painting.java
@@ -114,7 +114,13 @@ public class Painting extends HangingEntity {
@@ -102,7 +102,13 @@ public class Painting extends HangingEntity {
}
}
- this.spawnAtLocation((ItemLike) Items.PAINTING);
- this.spawnAtLocation(Items.PAINTING);
+ // Purpur start
+ final ItemStack painting = new ItemStack(Items.PAINTING);
+ if (this.level.purpurConfig.persistentDroppableEntityDisplayNames && this.hasCustomName()) {
@@ -63,10 +63,10 @@ index a853e2cc2e3f06a0ca0bb1799b3fd02890ae6521..a8265cd631d335d4eaec1918bd48570e
}
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
index 6acd2dc6ec9c3761fa330c74df8c7e7b19266f8e..f46ebe98c173d9a6cb6d6e375b55fd9b3f75e13c 100644
index 4b38f8186dcd9a98a5413a51c5563c496ff04d2c..fe5bf9557b58bdc7aac319491bf2e0e58c5bd7fd 100644
--- a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
+++ b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
@@ -209,7 +209,13 @@ public class Boat extends Entity {
@@ -208,7 +208,13 @@ public class Boat extends Entity {
}
// CraftBukkit end
if (!flag && this.level.getGameRules().getBoolean(GameRules.RULE_DOENTITYDROPS)) {
@@ -82,10 +82,10 @@ index 6acd2dc6ec9c3761fa330c74df8c7e7b19266f8e..f46ebe98c173d9a6cb6d6e375b55fd9b
this.discard();
diff --git a/src/main/java/net/minecraft/world/item/ArmorStandItem.java b/src/main/java/net/minecraft/world/item/ArmorStandItem.java
index 44d63145480d38a4ec3a38be108200af070bcffa..7de67b75010f0da52004c911f6ee98eb133fdaed 100644
index 3344e3f8ed0fe56217aae7ad9ed32ed4cc19bd07..623627e411ec4ca8168748bfa42e432133612309 100644
--- a/src/main/java/net/minecraft/world/item/ArmorStandItem.java
+++ b/src/main/java/net/minecraft/world/item/ArmorStandItem.java
@@ -63,6 +63,14 @@ public class ArmorStandItem extends Item {
@@ -60,6 +60,14 @@ public class ArmorStandItem extends Item {
return InteractionResult.FAIL;
}
// CraftBukkit end
@@ -99,9 +99,9 @@ index 44d63145480d38a4ec3a38be108200af070bcffa..7de67b75010f0da52004c911f6ee98eb
+ // Purpur end
worldserver.addFreshEntityWithPassengers(entityarmorstand);
world.playSound((Player) null, entityarmorstand.getX(), entityarmorstand.getY(), entityarmorstand.getZ(), SoundEvents.ARMOR_STAND_PLACE, SoundSource.BLOCKS, 0.75F, 0.8F);
world.gameEvent((Entity) context.getPlayer(), GameEvent.ENTITY_PLACE, (Entity) entityarmorstand);
world.gameEvent(context.getPlayer(), GameEvent.ENTITY_PLACE, (Entity) entityarmorstand);
diff --git a/src/main/java/net/minecraft/world/item/BoatItem.java b/src/main/java/net/minecraft/world/item/BoatItem.java
index 8998f6233a3135fda928469ae8bb7119e16eee1a..62a8600e0d684a147f4bfe027b3dd4f71bf665ad 100644
index 8c590da15b2dbca867efaaadcc3db3bb8309d444..49fe3a66dd3660b94d450dfd408de13a31f5e94d 100644
--- a/src/main/java/net/minecraft/world/item/BoatItem.java
+++ b/src/main/java/net/minecraft/world/item/BoatItem.java
@@ -67,6 +67,11 @@ public class BoatItem extends Item {
@@ -113,11 +113,11 @@ index 8998f6233a3135fda928469ae8bb7119e16eee1a..62a8600e0d684a147f4bfe027b3dd4f7
+ entityboat.setCustomName(itemstack.getHoverName());
+ }
+ // Purpur end
if (!world.noCollision(entityboat, entityboat.getBoundingBox())) { // Paper
if (!world.noCollision(entityboat, entityboat.getBoundingBox())) {
return InteractionResultHolder.fail(itemstack);
} else {
diff --git a/src/main/java/net/minecraft/world/item/HangingEntityItem.java b/src/main/java/net/minecraft/world/item/HangingEntityItem.java
index e5b042f2445eb06fb8075ba539c836595814fa14..8cdede6a9698d6c99b4f08edc2a3403fec854f66 100644
index 0284201b0bb0f5c9a4a2393cf0d83e8e21262df3..1f46a2be362ed5f60a7ca75916fe7bd491e90db7 100644
--- a/src/main/java/net/minecraft/world/item/HangingEntityItem.java
+++ b/src/main/java/net/minecraft/world/item/HangingEntityItem.java
@@ -40,7 +40,7 @@ public class HangingEntityItem extends Item {
@@ -142,7 +142,7 @@ index e5b042f2445eb06fb8075ba539c836595814fa14..8cdede6a9698d6c99b4f08edc2a3403f
if (((HangingEntity) object).survives()) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index ad100c889c43bfb702819028862ca49a68695032..4a567fcc95561bbd40cbbb9533cfe81149fb1874 100644
index 935a379c07fb81f62b1e820f2976d100db3d24d2..a4ec9fd7070fbc71a08a99e2d191464aff2fff20 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -101,8 +101,10 @@ public class PurpurWorldConfig {
@@ -156,18 +156,18 @@ index ad100c889c43bfb702819028862ca49a68695032..4a567fcc95561bbd40cbbb9533cfe811
}
public int daytimeTicks = 12000;
@@ -358,6 +360,7 @@ public class PurpurWorldConfig {
@@ -357,6 +359,7 @@ public class PurpurWorldConfig {
public boolean disableDropsOnCrammingDeath = false;
public boolean entitiesCanUsePortals = true;
public boolean milkCuresBadOmen = true;
public boolean persistentTileEntityDisplayNames = false;
+ public boolean persistentDroppableEntityDisplayNames = false;
public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D;
@@ -370,6 +373,7 @@ public class PurpurWorldConfig {
@@ -368,6 +371,7 @@ public class PurpurWorldConfig {
disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals);
milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);
persistentTileEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-tileentity-display-names-and-lore", persistentTileEntityDisplayNames);
+ persistentDroppableEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-droppable-entity-display-names", persistentDroppableEntityDisplayNames);
tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight);
voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight);

View File

@@ -6,6 +6,8 @@ Subject: [PATCH] Persistent TileEntity Lore and DisplayName
Makes it so that when a TileEntity is placed in the world and then broken,
the dropped ItemStack retains any original custom display name/lore.
removed save function usg
diff --git a/src/main/java/net/minecraft/world/item/BlockItem.java b/src/main/java/net/minecraft/world/item/BlockItem.java
index d36e73cfab79960bf4d778ea01a684b9b6af39d7..8cb5e91bdf5e0a9cdcef1c3b7a683ab125751f9f 100644
--- a/src/main/java/net/minecraft/world/item/BlockItem.java