add configurable shovel flattenables

This commit is contained in:
granny
2023-08-13 03:30:27 -07:00
parent 76146eca49
commit 5f858fbe97
261 changed files with 1104 additions and 1097 deletions

View File

@@ -112,7 +112,7 @@ index f5a3203c60e555c496626c842d72e4cdc6cd9f6e..dc71cf3c66a0a4390177428688e6f4ee
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 61ce2ce797abe1c66ad428f52654cc09321ab52c..f0eaab7c4a4ee995324f07ef4fb6c039847c8243 100644
index a2e1a7f5afbdc9c9c7fea251bf7b50ccf9c32dfc..e38a36e9af6630280958692286de94dd3df55e1c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1057,6 +1057,7 @@ public final class CraftServer implements Server {
@@ -179,7 +179,7 @@ index 776b7fc26fe96b69be260bbd36efae147d988640..b1ac20e88ba0db9b6591df745ca8bc4b
.withRequiredArg()
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
new file mode 100644
index 0000000000000000000000000000000000000000..9fe1cdafdafc3f718ef4eb4fd4150971e2832738
index 0000000000000000000000000000000000000000..61d193d8ddd87817bf2c560037d42366cff1eca9
--- /dev/null
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -0,0 +1,175 @@
@@ -260,8 +260,8 @@ index 0000000000000000000000000000000000000000..9fe1cdafdafc3f718ef4eb4fd4150971
+ commands = new HashMap<>();
+ commands.put("purpur", new PurpurCommand("purpur"));
+
+ version = getInt("config-version", 32);
+ set("config-version", 32);
+ version = getInt("config-version", 33);
+ set("config-version", 33);
+
+ readConfig(PurpurConfig.class, null);
+
@@ -360,10 +360,10 @@ index 0000000000000000000000000000000000000000..9fe1cdafdafc3f718ef4eb4fd4150971
+}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
new file mode 100644
index 0000000000000000000000000000000000000000..670d5e9adf4719f4e8932b37e5deb1170e8066f0
index 0000000000000000000000000000000000000000..c47b04687a273b0fb13c50409f558ffb4dfedcaa
--- /dev/null
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -0,0 +1,93 @@
@@ -0,0 +1,94 @@
+package org.purpurmc.purpur;
+
+import net.minecraft.core.registries.BuiltInRegistries;
@@ -378,6 +378,7 @@ index 0000000000000000000000000000000000000000..670d5e9adf4719f4e8932b37e5deb117
+import net.minecraft.world.level.block.Block;
+import net.minecraft.world.level.block.Blocks;
+import net.minecraft.world.level.block.state.properties.Tilt;
+import org.purpurmc.purpur.tool.Flattenable;
+import org.purpurmc.purpur.tool.Strippable;
+import org.purpurmc.purpur.tool.Tillable;
+import org.purpurmc.purpur.tool.Waxable;

View File

@@ -5265,7 +5265,7 @@ index 26e1a9002d675245d4cf91e6682605314b078fb2..6db204dead67aac300410a6d2627cde8
event = new EntityDamageEvent(damagee.getBukkitEntity(), cause, modifiers, modifierFunctions);
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 9fe1cdafdafc3f718ef4eb4fd4150971e2832738..0cab29584c4d5205950571660b6c271d34e403eb 100644
index 61d193d8ddd87817bf2c560037d42366cff1eca9..8ad548fc059568d37675e017548b171d4dd1d555 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -172,4 +172,9 @@ public class PurpurConfig {
@@ -5279,10 +5279,10 @@ index 9fe1cdafdafc3f718ef4eb4fd4150971e2832738..0cab29584c4d5205950571660b6c271d
+ }
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 670d5e9adf4719f4e8932b37e5deb1170e8066f0..b59e8dcb65edc3dc6ac4d42dba2a7615286aef57 100644
index c47b04687a273b0fb13c50409f558ffb4dfedcaa..8d6e6f25e4f451af111d79bcb08074d613095c51 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -90,4 +90,722 @@ public class PurpurWorldConfig {
@@ -91,4 +91,722 @@ public class PurpurWorldConfig {
final Map<String, Object> value = PurpurConfig.getMap("world-settings." + worldName + "." + path, null);
return value.isEmpty() ? fallback : value;
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable entity base attributes
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index bb3edddf4c9b2a04f6b9219be741a523e4192c0c..fb8e1f84bb57840149a95eb72f323aa729d83849 100644
index 5d781a20c3a954458f12751c74c54874ff99bc22..1ecca8fdab2fb12390446fd8e134032f1d003f4a 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -156,7 +156,7 @@ import org.bukkit.plugin.PluginManager;
@@ -158,7 +158,7 @@ index 11082cf272b72123d8917baa9a0d0e5367dca66b..621fe1c08dda65934437eeab679b6e5c
protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this));
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 c268b50d43a45a5f80fd776e56484d872d494013..0ae0f8cc64578d0c51fb050b8e726e483a17e50f 100644
index 3dab78e2f39855f71bb7294521be71b3faa59b81..89e3dbfddc739f97fdb6ec9a5714530f03cc7092 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
@@ -158,6 +158,11 @@ public class Dolphin extends WaterAnimal {
@@ -331,7 +331,7 @@ index 95383e246a8e1b311e4f26a66372966b6bc51de5..8b5bf8ef4481ccc829d1a39c09219415
protected void defineSynchedData() {
super.defineSynchedData();
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 df01b1c5a0f0ad34f0a49c2ac1d10d526b73da9b..8fb529fd818b2f2d28c6900d16f20e292a707293 100644
index 8e747771fe023dfa4cf61e5166d017368ed746b0..9be247def3ab8c74c569f653ec971aaf1b5ed5c9 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
@@ -137,6 +137,11 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
@@ -775,7 +775,7 @@ index 5a2eb6775ecb3b01fd136c796258395b4270f7a8..f160933af318becaf99befc0ecc0204b
return Mob.createMobAttributes().add(Attributes.MAX_HEALTH, 200.0D);
}
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 e1cf87e13f077860e38714a962c549dcb4644e3f..83574e3a395041341a1ba3eb59d8b360c5128b4d 100644
index 6c86411658ef0bf64cb8cf4f213112b65f2d1d90..6f7ef64612d6229179545d56093efdf58a2d7978 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -112,6 +112,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@@ -832,7 +832,7 @@ index 34abd8093015d7cdaf2faca2396d3950ca0a361b..2f7328286399a556f5a3862d71f2c693
public boolean doHurtTarget(Entity target) {
if (super.doHurtTarget(target)) {
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 5017a82ced2ea5b7a58fa54c5898b83c5746a2b9..85bf510413f88bec95e41c77b6ecdd60b14c7fb8 100644
index 66b2fdcda53fdfd278994dc16be3e12041be6e99..e31094f270117dec3053620c06e409953fb6d710 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -250,6 +250,11 @@ public class Creeper extends Monster implements PowerableMob {
@@ -885,7 +885,7 @@ index 16486ece9fc415d875ff94d9b806b0b5884ebc11..48c28b5177c26c8ab07bb4960a71cddb
return Guardian.createAttributes().add(Attributes.MOVEMENT_SPEED, 0.30000001192092896D).add(Attributes.ATTACK_DAMAGE, 8.0D).add(Attributes.MAX_HEALTH, 80.0D);
}
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
index d88ad3f0513f9ab2ffc738b6389cf268f085ca6d..abf975d7f28832aba1fbb9d326f464d4ba3c63d2 100644
index dc359bb3a45a0b648933894e18d4ee6b51e3c7bc..948d352e01d0f167c25401a0c0ce8c1ef8553a24 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -113,6 +113,11 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -1107,7 +1107,7 @@ index 31d204d8d81ccc30371070af3678d82dc721618d..6a6349c7002439965422aa4979682b4c
protected void registerGoals() {
super.registerGoals();
diff --git a/src/main/java/net/minecraft/world/entity/monster/Ravager.java b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
index 3919ed8b4d91b9d58acbdd72740565352e7c52ec..1a919c29d0c601296e5c6c0bf0ebd95de55eda0a 100644
index 8a99c74f1cb6b558421b11e8562ba6082492b2d2..92b14a6056dfbf07852fc0ee0e3eaf7b4c1657a4 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
@@ -91,6 +91,11 @@ public class Ravager extends Raider {
@@ -1139,7 +1139,7 @@ index 3e5548d0489b13b4a1d5c22c9d3bf19ead87928e..7d96ba5adeddf52ed712e320d5f56a37
protected void registerGoals() {
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
diff --git a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
index ebfe46a6063edf1dafef19ba570a1c0942dc87ee..5539cc692ea3ca89d7c1661a139ddf02c9076818 100644
index 3b782334e9654acb6748c65970bb62626481da69..43b330e263ebe20b76629c350bf7773220f6583e 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
@@ -62,6 +62,11 @@ public class Silverfish extends Monster {
@@ -1488,7 +1488,7 @@ index 7b58329067d8debeb34abe801d150038a362ffed..773e9ea9036ecfe48cae481484e9f5e6
public Brain<Villager> getBrain() {
return (Brain<Villager>) super.getBrain(); // CraftBukkit - decompile error
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
index d434b96b878652190fac4e2882b7b7373febbbd5..62deb4a443bf65655d2a4310c0dd9f40a02cb401 100644
index 7e5650a56d87a48df7ee0a862b22bf015bb48b2a..33702273c7fabdb8e5bfb3d0e15530f109e318be 100644
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
@@ -83,6 +83,11 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
@@ -1504,10 +1504,10 @@ index d434b96b878652190fac4e2882b7b7373febbbd5..62deb4a443bf65655d2a4310c0dd9f40
protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b59e8dcb65edc3dc6ac4d42dba2a7615286aef57..5fd42d8604491268074d5ff516657f5d07761092 100644
index 8d6e6f25e4f451af111d79bcb08074d613095c51..c4d7a087a63dbc596a7a6b10e0d5ad3b5dcebc0f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -113,99 +113,190 @@ public class PurpurWorldConfig {
@@ -114,99 +114,190 @@ public class PurpurWorldConfig {
public boolean axolotlRidable = false;
public boolean axolotlControllable = true;
@@ -1698,7 +1698,7 @@ index b59e8dcb65edc3dc6ac4d42dba2a7615286aef57..5fd42d8604491268074d5ff516657f5d
}
public boolean dolphinRidable = false;
@@ -213,80 +304,161 @@ public class PurpurWorldConfig {
@@ -214,80 +305,161 @@ public class PurpurWorldConfig {
public int dolphinSpitCooldown = 20;
public float dolphinSpitSpeed = 1.0F;
public float dolphinSpitDamage = 2.0F;
@@ -1860,7 +1860,7 @@ index b59e8dcb65edc3dc6ac4d42dba2a7615286aef57..5fd42d8604491268074d5ff516657f5d
}
public boolean frogRidable = false;
@@ -304,147 +476,316 @@ public class PurpurWorldConfig {
@@ -305,147 +477,316 @@ public class PurpurWorldConfig {
public boolean ghastRidableInWater = true;
public boolean ghastControllable = true;
public double ghastMaxY = 320D;
@@ -2177,7 +2177,7 @@ index b59e8dcb65edc3dc6ac4d42dba2a7615286aef57..5fd42d8604491268074d5ff516657f5d
}
public boolean phantomRidable = false;
@@ -454,6 +795,10 @@ public class PurpurWorldConfig {
@@ -455,6 +796,10 @@ public class PurpurWorldConfig {
public float phantomFlameDamage = 1.0F;
public int phantomFlameFireTime = 8;
public boolean phantomAllowGriefing = false;
@@ -2188,7 +2188,7 @@ index b59e8dcb65edc3dc6ac4d42dba2a7615286aef57..5fd42d8604491268074d5ff516657f5d
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -462,189 +807,361 @@ public class PurpurWorldConfig {
@@ -463,189 +808,361 @@ public class PurpurWorldConfig {
phantomFlameDamage = (float) getDouble("mobs.phantom.flames.damage", phantomFlameDamage);
phantomFlameFireTime = getInt("mobs.phantom.flames.fire-time", phantomFlameFireTime);
phantomAllowGriefing = getBoolean("mobs.phantom.allow-griefing", phantomAllowGriefing);
@@ -2550,7 +2550,7 @@ index b59e8dcb65edc3dc6ac4d42dba2a7615286aef57..5fd42d8604491268074d5ff516657f5d
}
public boolean tadpoleRidable = false;
@@ -659,64 +1176,125 @@ public class PurpurWorldConfig {
@@ -660,64 +1177,125 @@ public class PurpurWorldConfig {
public boolean traderLlamaRidable = false;
public boolean traderLlamaRidableInWater = false;
public boolean traderLlamaControllable = true;
@@ -2676,7 +2676,7 @@ index b59e8dcb65edc3dc6ac4d42dba2a7615286aef57..5fd42d8604491268074d5ff516657f5d
}
public boolean wardenRidable = false;
@@ -731,81 +1309,165 @@ public class PurpurWorldConfig {
@@ -732,81 +1310,165 @@ public class PurpurWorldConfig {
public boolean witchRidable = false;
public boolean witchRidableInWater = true;
public boolean witchControllable = true;

View File

@@ -266,7 +266,7 @@ index 519bd3e027c9a78c81d129f44affa0aabaeea220..0281285ef491ef0abc1266601420345b
// Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index e6a720f25266d793bec5f644dadacbf45aef23f5..6b768cff1318b4bcebeed95345f3cfdce05a2c16 100644
index 7937023274acf3a1efdd21bbdd2f933f4399baeb..3fba9f640ef03219c89a2a405e4d5a5870e366bf 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -174,8 +174,18 @@ public class PurpurConfig {
@@ -289,10 +289,10 @@ index e6a720f25266d793bec5f644dadacbf45aef23f5..6b768cff1318b4bcebeed95345f3cfdc
public static int barrelRows = 3;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5fd42d8604491268074d5ff516657f5d07761092..4eb4e0b7748334c5a9d693164600854b81b1ad9e 100644
index c4d7a087a63dbc596a7a6b10e0d5ad3b5dcebc0f..310bb25b735e50d45612b213db7d8a0a203f00fc 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -91,6 +91,24 @@ public class PurpurWorldConfig {
@@ -92,6 +92,24 @@ public class PurpurWorldConfig {
return value.isEmpty() ? fallback : value;
}

View File

@@ -146,10 +146,10 @@ index 0281285ef491ef0abc1266601420345ba679a3be..4a775ffe8880c90def23e421fd3de17f
// Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4eb4e0b7748334c5a9d693164600854b81b1ad9e..3bd21513a0a8e984dfc8c0471c794a8e68344009 100644
index 310bb25b735e50d45612b213db7d8a0a203f00fc..0275c6523e957c67387f8c4d13d608aa415706d6 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -96,6 +96,8 @@ public class PurpurWorldConfig {
@@ -97,6 +97,8 @@ public class PurpurWorldConfig {
public boolean idleTimeoutCountAsSleeping = false;
public boolean idleTimeoutUpdateTabList = false;
public boolean idleTimeoutTargetPlayer = true;
@@ -158,7 +158,7 @@ index 4eb4e0b7748334c5a9d693164600854b81b1ad9e..3bd21513a0a8e984dfc8c0471c794a8e
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -107,6 +109,8 @@ public class PurpurWorldConfig {
@@ -108,6 +110,8 @@ public class PurpurWorldConfig {
idleTimeoutCountAsSleeping = getBoolean("gameplay-mechanics.player.idle-timeout.count-as-sleeping", idleTimeoutCountAsSleeping);
idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList);
idleTimeoutTargetPlayer = getBoolean("gameplay-mechanics.player.idle-timeout.mobs-target", idleTimeoutTargetPlayer);

View File

@@ -89,10 +89,10 @@ index 936d844a5a246138c9f9ae4ae6e318242b8f1420..d58dc4aa02fe371deaf879df8692dbe9
int i = 15 + worldserver.random.nextInt(15) + worldserver.random.nextInt(15);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3bd21513a0a8e984dfc8c0471c794a8e68344009..2e19608b5e8f310c55e48ea919ef4898d6d3fdf7 100644
index 0275c6523e957c67387f8c4d13d608aa415706d6..a507c67a7e1be307693c046492eed52cc37fe320 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -113,6 +113,38 @@ public class PurpurWorldConfig {
@@ -114,6 +114,38 @@ public class PurpurWorldConfig {
playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack);
}

View File

@@ -36,10 +36,10 @@ index 6c1a0e6f961e46a1a89850746a71e97b32514adf..1942649e868fc985a488034c411a6721
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2e19608b5e8f310c55e48ea919ef4898d6d3fdf7..e3de7a70c8ff604926d4822c647fe158a3868ab4 100644
index a507c67a7e1be307693c046492eed52cc37fe320..c156da7f0e9fa108eb4cb08342006e25a8099f50 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -145,6 +145,15 @@ public class PurpurWorldConfig {
@@ -146,6 +146,15 @@ public class PurpurWorldConfig {
});
}

View File

@@ -113,10 +113,10 @@ index db95323da1aef267aa4fbe56aaff63cb8684e15b..12e27b36b3f9949eb644175dd346c487
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e3de7a70c8ff604926d4822c647fe158a3868ab4..232f3df733b13e6dcacca867b4d0b042ae0d1935 100644
index c156da7f0e9fa108eb4cb08342006e25a8099f50..fcd860b0ee89519f329229b591f9abeaae87eaf3 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -559,6 +559,10 @@ public class PurpurWorldConfig {
@@ -560,6 +560,10 @@ public class PurpurWorldConfig {
public double giantMovementSpeed = 0.5D;
public double giantAttackDamage = 50.0D;
public double giantMaxHealth = 100.0D;
@@ -127,7 +127,7 @@ index e3de7a70c8ff604926d4822c647fe158a3868ab4..232f3df733b13e6dcacca867b4d0b042
private void giantSettings() {
giantRidable = getBoolean("mobs.giant.ridable", giantRidable);
giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater);
@@ -575,6 +579,10 @@ public class PurpurWorldConfig {
@@ -576,6 +580,10 @@ public class PurpurWorldConfig {
set("mobs.giant.attributes.max_health", oldValue);
}
giantMaxHealth = getDouble("mobs.giant.attributes.max_health", giantMaxHealth);

View File

@@ -30,10 +30,10 @@ index 4c3b5a26a6b04afff3a707929ced3c62b5256a67..11f92c1011a1accaf485e5785d2e9ebc
entityhorseskeleton.setPos((double) blockposition.getX(), (double) blockposition.getY(), (double) blockposition.getZ());
this.addFreshEntity(entityhorseskeleton, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.LIGHTNING); // CraftBukkit
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 232f3df733b13e6dcacca867b4d0b042ae0d1935..35dc3c23cf0c73a24b91e86fe13c3b82642f9c8e 100644
index fcd860b0ee89519f329229b591f9abeaae87eaf3..e4c11c7d296254e797ade0460e5482cd58c1c281 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1489,6 +1489,7 @@ public class PurpurWorldConfig {
@@ -1490,6 +1490,7 @@ public class PurpurWorldConfig {
public double zombieHorseJumpStrengthMax = 1.0D;
public double zombieHorseMovementSpeedMin = 0.2D;
public double zombieHorseMovementSpeedMax = 0.2D;
@@ -41,7 +41,7 @@ index 232f3df733b13e6dcacca867b4d0b042ae0d1935..35dc3c23cf0c73a24b91e86fe13c3b82
private void zombieHorseSettings() {
zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater);
zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim);
@@ -1504,6 +1505,7 @@ public class PurpurWorldConfig {
@@ -1505,6 +1506,7 @@ public class PurpurWorldConfig {
zombieHorseJumpStrengthMax = getDouble("mobs.zombie_horse.attributes.jump_strength.max", zombieHorseJumpStrengthMax);
zombieHorseMovementSpeedMin = getDouble("mobs.zombie_horse.attributes.movement_speed.min", zombieHorseMovementSpeedMin);
zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax);

View File

@@ -5,7 +5,7 @@ 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
index 539f44793f11db1971e72e2bbeae8d2d9d9b6798..4f374a2b1aab20fe2523df716a9d622c28749b7a 100644
index e31094f270117dec3053620c06e409953fb6d710..a1e3f29ce49dc41ad70f74ee224250fe9ebea175 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -255,6 +255,14 @@ public class Creeper extends Monster implements PowerableMob {
@@ -24,10 +24,10 @@ index 539f44793f11db1971e72e2bbeae8d2d9d9b6798..4f374a2b1aab20fe2523df716a9d622c
protected SoundEvent getHurtSound(DamageSource source) {
return SoundEvents.CREEPER_HURT;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 35dc3c23cf0c73a24b91e86fe13c3b82642f9c8e..0e234ab2309cd75631c75626a3984d7912acc007 100644
index e4c11c7d296254e797ade0460e5482cd58c1c281..2c56d70ce42816741162abe097e0b05ece3eb980 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -350,6 +350,7 @@ public class PurpurWorldConfig {
@@ -351,6 +351,7 @@ public class PurpurWorldConfig {
public boolean creeperRidableInWater = true;
public boolean creeperControllable = true;
public double creeperMaxHealth = 20.0D;
@@ -35,7 +35,7 @@ index 35dc3c23cf0c73a24b91e86fe13c3b82642f9c8e..0e234ab2309cd75631c75626a3984d79
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -360,6 +361,7 @@ public class PurpurWorldConfig {
@@ -361,6 +362,7 @@ public class PurpurWorldConfig {
set("mobs.creeper.attributes.max_health", oldValue);
}
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth);

View File

@@ -5,7 +5,7 @@ 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
index 8fb529fd818b2f2d28c6900d16f20e292a707293..c64673adcf168b413ab3b9b796f5179081058e6d 100644
index 9be247def3ab8c74c569f653ec971aaf1b5ed5c9..6d5213d26dbd9d36c5cbe6056091d9e5c85e23c4 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
@@ -468,10 +468,23 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
@@ -33,10 +33,10 @@ index 8fb529fd818b2f2d28c6900d16f20e292a707293..c64673adcf168b413ab3b9b796f51790
int i = world.getRandom().nextInt(100);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0e234ab2309cd75631c75626a3984d7912acc007..4067b0f73828c39d467b8e15464c6a56ac83050d 100644
index 2c56d70ce42816741162abe097e0b05ece3eb980..15d5545e2056fef3f7d924a2e4c1e32aae0b41d2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -993,6 +993,8 @@ public class PurpurWorldConfig {
@@ -994,6 +994,8 @@ public class PurpurWorldConfig {
public boolean rabbitRidableInWater = true;
public boolean rabbitControllable = true;
public double rabbitMaxHealth = 3.0D;
@@ -45,7 +45,7 @@ index 0e234ab2309cd75631c75626a3984d7912acc007..4067b0f73828c39d467b8e15464c6a56
private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -1003,6 +1005,8 @@ public class PurpurWorldConfig {
@@ -1004,6 +1006,8 @@ public class PurpurWorldConfig {
set("mobs.rabbit.attributes.max_health", oldValue);
}
rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth);

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
index 451abd7a6d7fb0926dcebdc4504b1c9c298766e3..7e191d8bb56d0b6591b3a60dfe07004d025eedfa 100644
index d6370eb9af9842710052e0e497af52122f265488..cedc4dac776dde310dbf1a22272ce54b14ca2c9e 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -35,6 +35,7 @@ import net.minecraft.util.RandomSource;
@@ -75,10 +75,10 @@ index 451abd7a6d7fb0926dcebdc4504b1c9c298766e3..7e191d8bb56d0b6591b3a60dfe07004d
// Paper start - Cancellable death event
protected org.bukkit.event.entity.EntityDeathEvent dropAllDeathLoot(DamageSource source) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4067b0f73828c39d467b8e15464c6a56ac83050d..09e04c513c853a0b720ece509c817fceafdc5408 100644
index 15d5545e2056fef3f7d924a2e4c1e32aae0b41d2..3a6833c07ca30690a010dcd57883f1345a18ea13 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -514,6 +514,7 @@ public class PurpurWorldConfig {
@@ -515,6 +515,7 @@ public class PurpurWorldConfig {
public boolean foxRidableInWater = true;
public boolean foxControllable = true;
public double foxMaxHealth = 10.0D;
@@ -86,7 +86,7 @@ index 4067b0f73828c39d467b8e15464c6a56ac83050d..09e04c513c853a0b720ece509c817fce
private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -524,6 +525,7 @@ public class PurpurWorldConfig {
@@ -525,6 +526,7 @@ public class PurpurWorldConfig {
set("mobs.fox.attributes.max_health", oldValue);
}
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);

View File

@@ -59,10 +59,10 @@ index 48ec595e76c09cf719477a543364f1206664afa5..b2cf680e377f849a7cc17136ebca3cf3
this.goalSelector.addGoal(5, new RandomStrollGoal(this, 1.0D));
this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 09e04c513c853a0b720ece509c817fceafdc5408..3251a21e67c02a56644e45b7efb3cd2f45add958 100644
index 3a6833c07ca30690a010dcd57883f1345a18ea13..2d215c3a6a810a6798c0804aae41e138f0b008bb 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -965,6 +965,8 @@ public class PurpurWorldConfig {
@@ -966,6 +966,8 @@ public class PurpurWorldConfig {
public boolean polarBearRidableInWater = true;
public boolean polarBearControllable = true;
public double polarBearMaxHealth = 30.0D;
@@ -71,7 +71,7 @@ index 09e04c513c853a0b720ece509c817fceafdc5408..3251a21e67c02a56644e45b7efb3cd2f
private void polarBearSettings() {
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
@@ -975,6 +977,9 @@ public class PurpurWorldConfig {
@@ -976,6 +978,9 @@ public class PurpurWorldConfig {
set("mobs.polar_bear.attributes.max_health", oldValue);
}
polarBearMaxHealth = getDouble("mobs.polar_bear.attributes.max_health", polarBearMaxHealth);

View File

@@ -50,10 +50,10 @@ index ea404a84a43a02a5614d5142bb78a586edfc69f6..0f49705e3c7adf033cee9d0746319885
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3251a21e67c02a56644e45b7efb3cd2f45add958..250d562a63dcf48f110513e4028616d0ce918fb1 100644
index 2d215c3a6a810a6798c0804aae41e138f0b008bb..13d7639474901ba3aaf41d68f7108089e8b9a595 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -304,6 +304,7 @@ public class PurpurWorldConfig {
@@ -305,6 +305,7 @@ public class PurpurWorldConfig {
public boolean chickenRidableInWater = false;
public boolean chickenControllable = true;
public double chickenMaxHealth = 4.0D;
@@ -61,7 +61,7 @@ index 3251a21e67c02a56644e45b7efb3cd2f45add958..250d562a63dcf48f110513e4028616d0
private void chickenSettings() {
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
@@ -314,6 +315,7 @@ public class PurpurWorldConfig {
@@ -315,6 +316,7 @@ public class PurpurWorldConfig {
set("mobs.chicken.attributes.max_health", oldValue);
}
chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add option to set armorstand step height
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index edada4644b22c00b62402558712f84ec7503548d..1024334860d70ab10b4774daed003a4c0a9db1eb 100644
index 1ecca8fdab2fb12390446fd8e134032f1d003f4a..391d0782245f490152776e3c377a8040ad254322 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -334,7 +334,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -30,10 +30,10 @@ index 5c6e060a54ffb13c37ff5711992e964bdd59643d..5524a69952130ec38e151509ba773345
if (!this.canTick) {
if (this.noTickPoseDirty) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 250d562a63dcf48f110513e4028616d0ce918fb1..f97cc4e1afbf0ddd471cc8836be8e9bcaf45295c 100644
index 13d7639474901ba3aaf41d68f7108089e8b9a595..40018538f244090fe4f57682c08b583959df987a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -91,6 +91,11 @@ public class PurpurWorldConfig {
@@ -92,6 +92,11 @@ public class PurpurWorldConfig {
return value.isEmpty() ? fallback : value;
}

View File

@@ -51,10 +51,10 @@ index 5f407535298a31a34cfe114dd863fd6a9b977707..29c7e33fe961020e5a0007287fe9b663
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f97cc4e1afbf0ddd471cc8836be8e9bcaf45295c..371d69ab5b9b1c0265f06a65fac18725d684c15b 100644
index 40018538f244090fe4f57682c08b583959df987a..03d9b8907e491ee95c2ac599541b2d0b06989521 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -277,6 +277,9 @@ public class PurpurWorldConfig {
@@ -278,6 +278,9 @@ public class PurpurWorldConfig {
public boolean catRidableInWater = true;
public boolean catControllable = true;
public double catMaxHealth = 10.0D;
@@ -64,7 +64,7 @@ index f97cc4e1afbf0ddd471cc8836be8e9bcaf45295c..371d69ab5b9b1c0265f06a65fac18725
private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
@@ -287,6 +290,9 @@ public class PurpurWorldConfig {
@@ -288,6 +291,9 @@ public class PurpurWorldConfig {
set("mobs.cat.attributes.max_health", oldValue);
}
catMaxHealth = getDouble("mobs.cat.attributes.max_health", catMaxHealth);

View File

@@ -114,10 +114,10 @@ index 621fe1c08dda65934437eeab679b6e5cd2d11d3d..28c7e240b7dd1957ccb6a45608b1d052
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 371d69ab5b9b1c0265f06a65fac18725d684c15b..a6133edfcffb94a6bbc1f4133fbadd404d64acd9 100644
index 03d9b8907e491ee95c2ac599541b2d0b06989521..d669e392cb2d2dab552c5ed5b35df1e90cc91f33 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -347,6 +347,7 @@ public class PurpurWorldConfig {
@@ -348,6 +348,7 @@ public class PurpurWorldConfig {
public boolean cowRidableInWater = true;
public boolean cowControllable = true;
public double cowMaxHealth = 10.0D;
@@ -125,7 +125,7 @@ index 371d69ab5b9b1c0265f06a65fac18725d684c15b..a6133edfcffb94a6bbc1f4133fbadd40
private void cowSettings() {
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
@@ -357,6 +358,7 @@ public class PurpurWorldConfig {
@@ -358,6 +359,7 @@ public class PurpurWorldConfig {
set("mobs.cow.attributes.max_health", oldValue);
}
cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth);

View File

@@ -27,10 +27,10 @@ index a22e5b6c13b48b46d16a859531d4231376bc1bfc..ff98a81f7104bbaf67ed85b8ad0946ed
if (!this.level().isClientSide) {
player.startRiding(this);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a6133edfcffb94a6bbc1f4133fbadd404d64acd9..aaf0e4df3757dca3ec8ed5df2d972e842e4c2124 100644
index d669e392cb2d2dab552c5ed5b35df1e90cc91f33..9060e81e082c402d0792430ce84b5010d2326d45 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -916,6 +916,7 @@ public class PurpurWorldConfig {
@@ -917,6 +917,7 @@ public class PurpurWorldConfig {
public boolean pigRidableInWater = false;
public boolean pigControllable = true;
public double pigMaxHealth = 10.0D;
@@ -38,7 +38,7 @@ index a6133edfcffb94a6bbc1f4133fbadd404d64acd9..aaf0e4df3757dca3ec8ed5df2d972e84
private void pigSettings() {
pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
@@ -926,6 +927,7 @@ public class PurpurWorldConfig {
@@ -927,6 +928,7 @@ public class PurpurWorldConfig {
set("mobs.pig.attributes.max_health", oldValue);
}
pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth);

View File

@@ -5,7 +5,7 @@ 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
index a8b411cc3dd1f61b4f949862a077e87e26e424de..2a5ffaf5614e19305f4e08e15752364919e68a49 100644
index 3ffd9dd16c80399842ba138ed60abd66cd312dcb..bd9dd01e9140c2ad0ab9859b9a455f73ab04a253 100644
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
@@ -191,6 +191,14 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
@@ -32,10 +32,10 @@ index a8b411cc3dd1f61b4f949862a077e87e26e424de..2a5ffaf5614e19305f4e08e157523649
this.forceDrops = false; // CraftBukkit
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index aaf0e4df3757dca3ec8ed5df2d972e842e4c2124..ba2100ea68c3dd784c39ceb6d9700baaaf08980e 100644
index 9060e81e082c402d0792430ce84b5010d2326d45..a25beed0e8bcabf33855bb374091bc64ef6c6a4f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1179,6 +1179,8 @@ public class PurpurWorldConfig {
@@ -1180,6 +1180,8 @@ public class PurpurWorldConfig {
public boolean snowGolemControllable = true;
public boolean snowGolemLeaveTrailWhenRidden = false;
public double snowGolemMaxHealth = 4.0D;
@@ -44,7 +44,7 @@ index aaf0e4df3757dca3ec8ed5df2d972e842e4c2124..ba2100ea68c3dd784c39ceb6d9700baa
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1190,6 +1192,8 @@ public class PurpurWorldConfig {
@@ -1191,6 +1193,8 @@ public class PurpurWorldConfig {
set("mobs.snow_golem.attributes.max_health", oldValue);
}
snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth);

View File

@@ -18,10 +18,10 @@ index f160933af318becaf99befc0ecc0204bc48ed4a9..81cf89bc57af0f43d05ba93256255155
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ba2100ea68c3dd784c39ceb6d9700baaaf08980e..155a0c8c438692d76cf91663638fb59000959d54 100644
index a25beed0e8bcabf33855bb374091bc64ef6c6a4f..c3398ebad8acd6c9146e04591bc00c89b5e4e4b0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -460,6 +460,7 @@ public class PurpurWorldConfig {
@@ -461,6 +461,7 @@ public class PurpurWorldConfig {
public boolean enderDragonControllable = true;
public double enderDragonMaxY = 320D;
public double enderDragonMaxHealth = 200.0D;
@@ -29,7 +29,7 @@ index ba2100ea68c3dd784c39ceb6d9700baaaf08980e..155a0c8c438692d76cf91663638fb590
private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
@@ -475,6 +476,7 @@ public class PurpurWorldConfig {
@@ -476,6 +477,7 @@ public class PurpurWorldConfig {
set("mobs.ender_dragon.attributes.max_health", oldValue);
}
enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Allow soil to moisten from water directly under it
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 552d8c8f3f56bfccd25d11488ed7ec1644a92f47..d446b440e2bc5b73362fc3d30a10d2e52fde68e1 100644
index 5946f06f63b5694034bd027984a4925b0831d439..1776906e886edd511bfbe96b8a345438a3cd66f8 100644
--- a/src/main/java/net/minecraft/world/level/block/FarmBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/FarmBlock.java
@@ -162,7 +162,7 @@ public class FarmBlock extends Block {
@@ -18,10 +18,10 @@ index 552d8c8f3f56bfccd25d11488ed7ec1644a92f47..d446b440e2bc5b73362fc3d30a10d2e5
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 155a0c8c438692d76cf91663638fb59000959d54..706b4256c81adb06284d25433ac39d54625bb14c 100644
index c3398ebad8acd6c9146e04591bc00c89b5e4e4b0..9d16de67399614069a297b8b08281d41d7da5983 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -150,6 +150,11 @@ public class PurpurWorldConfig {
@@ -151,6 +151,11 @@ public class PurpurWorldConfig {
});
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Minecart settings and WASD controls
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 6838e85030667776c6b0534d0e92c9fbd68840da..fa7c220057be4d233752d9022a934d03e5f3df59 100644
index 3274977a1d7442626329cfd31c720af13ec00866..569219437396a37cdbdae5a4a6d4b1fc551986d7 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1112,6 +1112,7 @@ public class ServerPlayer extends Player {
@@ -148,10 +148,10 @@ index de4c1e4701236e7d5ec77339c51ad6a9d8288bb6..5ac102afde62c08f36886b466010ccfe
protected ResourceLocation drops;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 706b4256c81adb06284d25433ac39d54625bb14c..1011506a3008b4d01c5141d434235e2e0643bdb9 100644
index 9d16de67399614069a297b8b08281d41d7da5983..0765b0ab980e3786ec38bc6da369510e444dfb30 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -96,6 +96,68 @@ public class PurpurWorldConfig {
@@ -97,6 +97,68 @@ public class PurpurWorldConfig {
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
}

View File

@@ -25,10 +25,10 @@ index 92745269118d8a0cb91cbbebdd7700f7737d2b9a..b3699225e2dc77c6d201e361c8d44739
// CraftBukkit start - Call death event // Paper start - call advancement triggers with correct entity equipment
org.bukkit.event.entity.EntityDeathEvent deathEvent = CraftEventFactory.callEntityDeathEvent(this, this.drops, () -> {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1011506a3008b4d01c5141d434235e2e0643bdb9..490ea3f3d8d3edc7b3ece8b3de47176294a42eb9 100644
index 0765b0ab980e3786ec38bc6da369510e444dfb30..0c4d689a98f7dbc38314a36f83258dc6e00c068b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -96,6 +96,11 @@ public class PurpurWorldConfig {
@@ -97,6 +97,11 @@ public class PurpurWorldConfig {
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
}

View File

@@ -28,10 +28,10 @@ index f33977d95b6db473be4f95075ba99caf90ad0220..56dc04d8875971ee9a5d077a695509af
return stack.isEmpty() ? new ItemStack(Items.BUCKET) : stack;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 490ea3f3d8d3edc7b3ece8b3de47176294a42eb9..eb6e78e66c954e30c44083f9d2528e0627e6a269 100644
index 0c4d689a98f7dbc38314a36f83258dc6e00c068b..c246536e81660666588b02d9f90bdfab73048c1e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -97,8 +97,10 @@ public class PurpurWorldConfig {
@@ -98,8 +98,10 @@ public class PurpurWorldConfig {
}
public boolean disableDropsOnCrammingDeath = false;

View File

@@ -18,10 +18,10 @@ index 454dd67920826b8b62c2654abfd43fc08c2648e4..0ea182962d6647629fc98c9e7406f7b7
if (!this.level().isClientSide && this.pickup == AbstractArrow.Pickup.ALLOWED) {
this.spawnAtLocation(this.getPickupItem(), 0.1F);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index eb6e78e66c954e30c44083f9d2528e0627e6a269..0dfccdd6482721fb71aec0e5d86590478b67183a 100644
index c246536e81660666588b02d9f90bdfab73048c1e..7bf88a3f83e7796fe2875f9f11880549056c4650 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -98,9 +98,11 @@ public class PurpurWorldConfig {
@@ -99,9 +99,11 @@ public class PurpurWorldConfig {
public boolean disableDropsOnCrammingDeath = false;
public boolean milkCuresBadOmen = true;

View File

@@ -5,7 +5,7 @@ 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
index 9042337dcd8279ccaa416d3cd440c0f0d5a85d40..0ef939a6bc9c0c491c0b71799ea583cb76c6d2fb 100644
index a1e3f29ce49dc41ad70f74ee224250fe9ebea175..5bfeb39a23a72f57523a3c2db1d79c7aef70eb02 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -362,7 +362,7 @@ public class Creeper extends Monster implements PowerableMob {
@@ -18,7 +18,7 @@ index 9042337dcd8279ccaa416d3cd440c0f0d5a85d40..0ef939a6bc9c0c491c0b71799ea583cb
this.spawnLingeringCloud();
// CraftBukkit start
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
index abf975d7f28832aba1fbb9d326f464d4ba3c63d2..41eafe7e8e2b73d97152376ce482c39d747c97f3 100644
index 948d352e01d0f167c25401a0c0ce8c1ef8553a24..74d1a0e8de36aaf11e844cc4f40e4c469d6269b4 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -540,6 +540,7 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -38,10 +38,10 @@ index abf975d7f28832aba1fbb9d326f464d4ba3c63d2..41eafe7e8e2b73d97152376ce482c39d
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0dfccdd6482721fb71aec0e5d86590478b67183a..b7974530b1ffe0b1a471bb3b79caa31f645aa5ba 100644
index 7bf88a3f83e7796fe2875f9f11880549056c4650..b4c3fa2fe0a237901a6841dda0bf8b09a982f402 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -442,6 +442,7 @@ public class PurpurWorldConfig {
@@ -443,6 +443,7 @@ public class PurpurWorldConfig {
public boolean creeperControllable = true;
public double creeperMaxHealth = 20.0D;
public double creeperChargedChance = 0.0D;
@@ -49,7 +49,7 @@ index 0dfccdd6482721fb71aec0e5d86590478b67183a..b7974530b1ffe0b1a471bb3b79caa31f
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -453,6 +454,7 @@ public class PurpurWorldConfig {
@@ -454,6 +455,7 @@ public class PurpurWorldConfig {
}
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth);
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
@@ -57,7 +57,7 @@ index 0dfccdd6482721fb71aec0e5d86590478b67183a..b7974530b1ffe0b1a471bb3b79caa31f
}
public boolean dolphinRidable = false;
@@ -559,6 +561,7 @@ public class PurpurWorldConfig {
@@ -560,6 +562,7 @@ public class PurpurWorldConfig {
public boolean endermanRidableInWater = true;
public boolean endermanControllable = true;
public double endermanMaxHealth = 40.0D;
@@ -65,7 +65,7 @@ index 0dfccdd6482721fb71aec0e5d86590478b67183a..b7974530b1ffe0b1a471bb3b79caa31f
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -569,6 +572,7 @@ public class PurpurWorldConfig {
@@ -570,6 +573,7 @@ public class PurpurWorldConfig {
set("mobs.enderman.attributes.max_health", oldValue);
}
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);

View File

@@ -42,7 +42,7 @@ index 773e9ea9036ecfe48cae481484e9f5e64b6cc29b..91a44381a822ce4dc543401a930d32c8
// Purpur start
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
index 62deb4a443bf65655d2a4310c0dd9f40a02cb401..1c7359431533716b2681176b3b59b5028aa043c2 100644
index 33702273c7fabdb8e5bfb3d0e15530f109e318be..509bde6c02d9e74158da7a134fbdda1603cb3ec0 100644
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
@@ -108,6 +108,7 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
@@ -54,10 +54,10 @@ index 62deb4a443bf65655d2a4310c0dd9f40a02cb401..1c7359431533716b2681176b3b59b502
this.goalSelector.addGoal(8, new WaterAvoidingRandomStrollGoal(this, 0.35D));
this.goalSelector.addGoal(9, new InteractGoal(this, Player.class, 3.0F, 1.0F));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b7974530b1ffe0b1a471bb3b79caa31f645aa5ba..0d0001363c80ba962acf5927a831debcd77e9b1e 100644
index b4c3fa2fe0a237901a6841dda0bf8b09a982f402..9b87d63020eed6d9bafbde2c090155df974c52e7 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1440,6 +1440,7 @@ public class PurpurWorldConfig {
@@ -1441,6 +1441,7 @@ public class PurpurWorldConfig {
public boolean villagerRidableInWater = true;
public boolean villagerControllable = true;
public double villagerMaxHealth = 20.0D;
@@ -65,7 +65,7 @@ index b7974530b1ffe0b1a471bb3b79caa31f645aa5ba..0d0001363c80ba962acf5927a831debc
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1450,6 +1451,7 @@ public class PurpurWorldConfig {
@@ -1451,6 +1452,7 @@ public class PurpurWorldConfig {
set("mobs.villager.attributes.max_health", oldValue);
}
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);
@@ -73,7 +73,7 @@ index b7974530b1ffe0b1a471bb3b79caa31f645aa5ba..0d0001363c80ba962acf5927a831debc
}
public boolean vindicatorRidable = false;
@@ -1472,6 +1474,7 @@ public class PurpurWorldConfig {
@@ -1473,6 +1475,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderRidableInWater = true;
public boolean wanderingTraderControllable = true;
public double wanderingTraderMaxHealth = 20.0D;
@@ -81,7 +81,7 @@ index b7974530b1ffe0b1a471bb3b79caa31f645aa5ba..0d0001363c80ba962acf5927a831debc
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -1482,6 +1485,7 @@ public class PurpurWorldConfig {
@@ -1483,6 +1486,7 @@ public class PurpurWorldConfig {
set("mobs.wandering_trader.attributes.max_health", oldValue);
}
wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth);

View File

@@ -33,7 +33,7 @@ index 91a44381a822ce4dc543401a930d32c8d4a5a7eb..50925ab7d719ae3323d7456df03a3d2a
public Brain<Villager> getBrain() {
return (Brain<Villager>) super.getBrain(); // CraftBukkit - decompile error
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
index 1c7359431533716b2681176b3b59b5028aa043c2..41ddf073ecb8ea97cca8021390500d65866488a5 100644
index 509bde6c02d9e74158da7a134fbdda1603cb3ec0..7413f90dfcb68476f7d514607f38a8965dfa6fd0 100644
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
@@ -88,6 +88,11 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
@@ -49,10 +49,10 @@ index 1c7359431533716b2681176b3b59b5028aa043c2..41ddf073ecb8ea97cca8021390500d65
protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0d0001363c80ba962acf5927a831debcd77e9b1e..c17b26f747d573d3de1a984faafbab5d41c72342 100644
index 9b87d63020eed6d9bafbde2c090155df974c52e7..8e66a2111523f7bf65b5b7df4035191a76371482 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1441,6 +1441,7 @@ public class PurpurWorldConfig {
@@ -1442,6 +1442,7 @@ public class PurpurWorldConfig {
public boolean villagerControllable = true;
public double villagerMaxHealth = 20.0D;
public boolean villagerFollowEmeraldBlock = false;
@@ -60,7 +60,7 @@ index 0d0001363c80ba962acf5927a831debcd77e9b1e..c17b26f747d573d3de1a984faafbab5d
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1452,6 +1453,7 @@ public class PurpurWorldConfig {
@@ -1453,6 +1454,7 @@ public class PurpurWorldConfig {
}
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
@@ -68,7 +68,7 @@ index 0d0001363c80ba962acf5927a831debcd77e9b1e..c17b26f747d573d3de1a984faafbab5d
}
public boolean vindicatorRidable = false;
@@ -1475,6 +1477,7 @@ public class PurpurWorldConfig {
@@ -1476,6 +1478,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderControllable = true;
public double wanderingTraderMaxHealth = 20.0D;
public boolean wanderingTraderFollowEmeraldBlock = false;
@@ -76,7 +76,7 @@ index 0d0001363c80ba962acf5927a831debcd77e9b1e..c17b26f747d573d3de1a984faafbab5d
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -1486,6 +1489,7 @@ public class PurpurWorldConfig {
@@ -1487,6 +1490,7 @@ public class PurpurWorldConfig {
}
wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth);
wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock);

View File

@@ -67,10 +67,10 @@ index 82e85fbbd45244d02df90fa00c9046e7f51275a2..ec6c63075306f9e5389e83641d2c8a82
@Override
protected void beforeDestroyingBlock(LevelAccessor world, BlockPos pos, BlockState state, BlockPos source) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c17b26f747d573d3de1a984faafbab5d41c72342..01c494bdbc408d4335c6f3d60c8000448f12fd22 100644
index 8e66a2111523f7bf65b5b7df4035191a76371482..97e969de5559ed5c770512dc41218526cd5e8942 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -226,6 +226,11 @@ public class PurpurWorldConfig {
@@ -227,6 +227,11 @@ public class PurpurWorldConfig {
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
}
@@ -82,7 +82,7 @@ index c17b26f747d573d3de1a984faafbab5d41c72342..01c494bdbc408d4335c6f3d60c800044
public boolean turtleEggsBreakFromExpOrbs = true;
public boolean turtleEggsBreakFromItems = true;
public boolean turtleEggsBreakFromMinecarts = true;
@@ -235,6 +240,11 @@ public class PurpurWorldConfig {
@@ -236,6 +241,11 @@ public class PurpurWorldConfig {
turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts);
}

View File

@@ -18,10 +18,10 @@ index 3706ebc551413401b0e6a9a0b1c2e3257d1337c1..b77cdbd8a7395e8442081c6a2b14695d
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 01c494bdbc408d4335c6f3d60c8000448f12fd22..80795ffe26722995b232f91df7876ffe2d2b870c 100644
index 97e969de5559ed5c770512dc41218526cd5e8942..98d193437e3122682b80b80d3ead65100fc11a63 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -227,8 +227,12 @@ public class PurpurWorldConfig {
@@ -228,8 +228,12 @@ public class PurpurWorldConfig {
}
public int lavaInfiniteRequiredSources = 2;

View File

@@ -32,10 +32,10 @@ index 7b39cb5346925c14f3f144d622ca7e5855420aa6..fa2a0cc24bbe31abd49ce0f3f41bab2a
return 0;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 80795ffe26722995b232f91df7876ffe2d2b870c..b4eb7a279b8e70b7601c0101d3f7c47185fa2deb 100644
index 98d193437e3122682b80b80d3ead65100fc11a63..7f2889cc40c13af4a52ab92a53edb92087e0f274 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -174,6 +174,8 @@ public class PurpurWorldConfig {
@@ -175,6 +175,8 @@ public class PurpurWorldConfig {
public boolean idleTimeoutTargetPlayer = true;
public int playerSpawnInvulnerableTicks = 60;
public boolean playerInvulnerableWhileAcceptingResourcePack = false;
@@ -44,7 +44,7 @@ index 80795ffe26722995b232f91df7876ffe2d2b870c..b4eb7a279b8e70b7601c0101d3f7c471
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -187,6 +189,8 @@ public class PurpurWorldConfig {
@@ -188,6 +190,8 @@ public class PurpurWorldConfig {
idleTimeoutTargetPlayer = getBoolean("gameplay-mechanics.player.idle-timeout.mobs-target", idleTimeoutTargetPlayer);
playerSpawnInvulnerableTicks = getInt("gameplay-mechanics.player.spawn-invulnerable-ticks", playerSpawnInvulnerableTicks);
playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable void damage height and damage
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index a916cc58909f3962ce2f17fc6655309a427ee064..cbbe526889745b90f6a156d3c653300cc716cd9e 100644
index 391d0782245f490152776e3c377a8040ad254322..8c90215438c74011c824d0d368c2517576e59451 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -913,7 +913,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -31,10 +31,10 @@ index b3699225e2dc77c6d201e361c8d447395c3f3e62..b8e6d0bd2ba18d7e0bf7cd78db8f98d4
protected void updateSwingTime() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b4eb7a279b8e70b7601c0101d3f7c47185fa2deb..f1e1f46d2e2847641bbb812376ad3167366f4ba3 100644
index 7f2889cc40c13af4a52ab92a53edb92087e0f274..bd29ce4d46cedb525b280b1e41cb9ffc2f8f4ccf 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -99,10 +99,14 @@ public class PurpurWorldConfig {
@@ -100,10 +100,14 @@ public class PurpurWorldConfig {
public boolean disableDropsOnCrammingDeath = false;
public boolean milkCuresBadOmen = true;
public double tridentLoyaltyVoidReturnHeight = 0.0D;

View File

@@ -43,10 +43,10 @@ index d7a0cbde8f8c99276307502674c71463fbe7e89c..3500c56cb85d8c76b2acd77976d374ea
// CraftBukkit start
Level world = pointer.getLevel();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f1e1f46d2e2847641bbb812376ad3167366f4ba3..8fe849d1b8f8bcad0c2f714f8f5552bf772225ab 100644
index bd29ce4d46cedb525b280b1e41cb9ffc2f8f4ccf..abc0152ce16c6a085013908cca2b13250fe29316 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -229,6 +229,11 @@ public class PurpurWorldConfig {
@@ -230,6 +230,11 @@ public class PurpurWorldConfig {
});
}

View File

@@ -17,10 +17,10 @@ index 35aeba4e8430e6419caa9db4a0b931a994228618..cb8443c9bc902741dfe6746baca91292
} else {
return Boat.Status.IN_AIR;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8fe849d1b8f8bcad0c2f714f8f5552bf772225ab..b60c9270b18b11d159a6432ed10617ddbf5d4c6b 100644
index abc0152ce16c6a085013908cca2b13250fe29316..2cef9e22347024dba59f7ca580d2234fb570879f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -96,12 +96,14 @@ public class PurpurWorldConfig {
@@ -97,12 +97,14 @@ public class PurpurWorldConfig {
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
}

View File

@@ -73,10 +73,10 @@ index ecf640b00007a386290f8dfe9935a8aa610079fd..2048899f8e4c8211e8dde0d11148d647
public static Map.Entry<EquipmentSlot, ItemStack> getRandomItemWith(Enchantment enchantment, LivingEntity entity) {
return getRandomItemWith(enchantment, entity, (stack) -> {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b60c9270b18b11d159a6432ed10617ddbf5d4c6b..cc673b3daa8a5edd24cdf05d21c4dc2c6fbb7a42 100644
index 2cef9e22347024dba59f7ca580d2234fb570879f..4de9adf44e9f509f5056fbd96a4cbd69816442e3 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -96,6 +96,7 @@ public class PurpurWorldConfig {
@@ -97,6 +97,7 @@ public class PurpurWorldConfig {
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
}
@@ -84,7 +84,7 @@ index b60c9270b18b11d159a6432ed10617ddbf5d4c6b..cc673b3daa8a5edd24cdf05d21c4dc2c
public boolean boatEjectPlayersOnLand = false;
public boolean disableDropsOnCrammingDeath = false;
public boolean milkCuresBadOmen = true;
@@ -103,6 +104,7 @@ public class PurpurWorldConfig {
@@ -104,6 +105,7 @@ public class PurpurWorldConfig {
public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D;
private void miscGameplayMechanicsSettings() {

View File

@@ -99,10 +99,10 @@ index 8078f127ff4b6e0aafb5804b9c02e237f79445b5..06c2f30b77a2c8aecc65e0c305f643d5
entityhuman.startAutoSpinAttack(20);
if (entityhuman.onGround()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index cc673b3daa8a5edd24cdf05d21c4dc2c6fbb7a42..11cb390065f9165d6a786cd9004f194e077a5e3b 100644
index 4de9adf44e9f509f5056fbd96a4cbd69816442e3..d564777adf856267d161e0536ba9791f59eeb4ae 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -113,6 +113,19 @@ public class PurpurWorldConfig {
@@ -114,6 +114,19 @@ public class PurpurWorldConfig {
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Item entity immunities
diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java
index 37c10d6a392d0400a7024bdd5214eb5e83aa3e82..a0fcbb72947ddb5526da4a4c354cd4c6ee65184c 100644
index 8ab959dd588b5154b63e133b2e937fa2d0ab8e52..fb11b020d52988360562db23d8568e5ef37e21c8 100644
--- a/src/main/java/net/minecraft/server/level/ServerEntity.java
+++ b/src/main/java/net/minecraft/server/level/ServerEntity.java
@@ -70,7 +70,7 @@ public class ServerEntity {
@@ -115,10 +115,10 @@ index a925b5c490e7129b27370aa57b5fad1cf05530c6..09001578b88658c44d0661d340a0ee0f
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 11cb390065f9165d6a786cd9004f194e077a5e3b..cba6f63fa7f5e08a82e05f29092d015f5ad68366 100644
index d564777adf856267d161e0536ba9791f59eeb4ae..6ee0cca5763a9edecc9c5f8463c7eae2a199d23a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -126,6 +126,49 @@ public class PurpurWorldConfig {
@@ -127,6 +127,49 @@ public class PurpurWorldConfig {
elytraDamagePerTridentBoost = getInt("gameplay-mechanics.elytra.damage-per-boost.trident", elytraDamagePerTridentBoost);
}

View File

@@ -167,10 +167,10 @@ index 8f22bfcde4bb8ad73794f2b98b156113e5a2a6c9..3d61b27c23d90e87fdfc8c170eafc116
public void setPersistentAngerTarget(@Nullable UUID angryAt) {
this.persistentAngerTarget = angryAt;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index cba6f63fa7f5e08a82e05f29092d015f5ad68366..985bfa879e37d2543491aebc445eb61055821eac 100644
index 6ee0cca5763a9edecc9c5f8463c7eae2a199d23a..d0821b84e9a25ea2e238be5f6624b2cabce0914a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -593,6 +593,9 @@ public class PurpurWorldConfig {
@@ -594,6 +594,9 @@ public class PurpurWorldConfig {
public boolean drownedControllable = true;
public double drownedMaxHealth = 20.0D;
public double drownedSpawnReinforcements = 0.1D;
@@ -180,7 +180,7 @@ index cba6f63fa7f5e08a82e05f29092d015f5ad68366..985bfa879e37d2543491aebc445eb610
private void drownedSettings() {
drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable);
drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater);
@@ -604,6 +607,9 @@ public class PurpurWorldConfig {
@@ -605,6 +608,9 @@ public class PurpurWorldConfig {
}
drownedMaxHealth = getDouble("mobs.drowned.attributes.max_health", drownedMaxHealth);
drownedSpawnReinforcements = getDouble("mobs.drowned.attributes.spawn_reinforcements", drownedSpawnReinforcements);
@@ -190,7 +190,7 @@ index cba6f63fa7f5e08a82e05f29092d015f5ad68366..985bfa879e37d2543491aebc445eb610
}
public boolean elderGuardianRidable = false;
@@ -852,6 +858,9 @@ public class PurpurWorldConfig {
@@ -853,6 +859,9 @@ public class PurpurWorldConfig {
public boolean huskControllable = true;
public double huskMaxHealth = 20.0D;
public double huskSpawnReinforcements = 0.1D;
@@ -200,7 +200,7 @@ index cba6f63fa7f5e08a82e05f29092d015f5ad68366..985bfa879e37d2543491aebc445eb610
private void huskSettings() {
huskRidable = getBoolean("mobs.husk.ridable", huskRidable);
huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater);
@@ -863,6 +872,9 @@ public class PurpurWorldConfig {
@@ -864,6 +873,9 @@ public class PurpurWorldConfig {
}
huskMaxHealth = getDouble("mobs.husk.attributes.max_health", huskMaxHealth);
huskSpawnReinforcements = getDouble("mobs.husk.attributes.spawn_reinforcements", huskSpawnReinforcements);
@@ -210,7 +210,7 @@ index cba6f63fa7f5e08a82e05f29092d015f5ad68366..985bfa879e37d2543491aebc445eb610
}
public boolean illusionerRidable = false;
@@ -1679,6 +1691,9 @@ public class PurpurWorldConfig {
@@ -1680,6 +1692,9 @@ public class PurpurWorldConfig {
public boolean zombieControllable = true;
public double zombieMaxHealth = 20.0D;
public double zombieSpawnReinforcements = 0.1D;
@@ -220,7 +220,7 @@ index cba6f63fa7f5e08a82e05f29092d015f5ad68366..985bfa879e37d2543491aebc445eb610
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1690,6 +1705,9 @@ public class PurpurWorldConfig {
@@ -1691,6 +1706,9 @@ public class PurpurWorldConfig {
}
zombieMaxHealth = getDouble("mobs.zombie.attributes.max_health", zombieMaxHealth);
zombieSpawnReinforcements = getDouble("mobs.zombie.attributes.spawn_reinforcements", zombieSpawnReinforcements);
@@ -230,7 +230,7 @@ index cba6f63fa7f5e08a82e05f29092d015f5ad68366..985bfa879e37d2543491aebc445eb610
}
public boolean zombieHorseRidableInWater = false;
@@ -1724,6 +1742,9 @@ public class PurpurWorldConfig {
@@ -1725,6 +1743,9 @@ public class PurpurWorldConfig {
public boolean zombieVillagerControllable = true;
public double zombieVillagerMaxHealth = 20.0D;
public double zombieVillagerSpawnReinforcements = 0.1D;
@@ -240,7 +240,7 @@ index cba6f63fa7f5e08a82e05f29092d015f5ad68366..985bfa879e37d2543491aebc445eb610
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -1735,6 +1756,9 @@ public class PurpurWorldConfig {
@@ -1736,6 +1757,9 @@ public class PurpurWorldConfig {
}
zombieVillagerMaxHealth = getDouble("mobs.zombie_villager.attributes.max_health", zombieVillagerMaxHealth);
zombieVillagerSpawnReinforcements = getDouble("mobs.zombie_villager.attributes.spawn_reinforcements", zombieVillagerSpawnReinforcements);
@@ -250,7 +250,7 @@ index cba6f63fa7f5e08a82e05f29092d015f5ad68366..985bfa879e37d2543491aebc445eb610
}
public boolean zombifiedPiglinRidable = false;
@@ -1742,6 +1766,9 @@ public class PurpurWorldConfig {
@@ -1743,6 +1767,9 @@ public class PurpurWorldConfig {
public boolean zombifiedPiglinControllable = true;
public double zombifiedPiglinMaxHealth = 20.0D;
public double zombifiedPiglinSpawnReinforcements = 0.0D;
@@ -260,7 +260,7 @@ index cba6f63fa7f5e08a82e05f29092d015f5ad68366..985bfa879e37d2543491aebc445eb610
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -1753,5 +1780,8 @@ public class PurpurWorldConfig {
@@ -1754,5 +1781,8 @@ public class PurpurWorldConfig {
}
zombifiedPiglinMaxHealth = getDouble("mobs.zombified_piglin.attributes.max_health", zombifiedPiglinMaxHealth);
zombifiedPiglinSpawnReinforcements = getDouble("mobs.zombified_piglin.attributes.spawn_reinforcements", zombifiedPiglinSpawnReinforcements);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Phantoms attracted to crystals and crystals shoot phantoms
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
index 5465711d486e5f265a26042031e895fb09e30608..e73446de9a58643609fedcbd0a503d95e5ce8271 100644
index ffc5b68c4246a7111845230a75552bb15875a209..ef0098e46bda8abc456f2bb5929d874c6aeb8698 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
@@ -30,6 +30,12 @@ public class EndCrystal extends Entity {
@@ -257,10 +257,10 @@ index 961300cb8bcc7b0aff476a435aa33e713bd520a6..86df67578334a4743909c748213c2e1e
private float speed = 0.1F;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 985bfa879e37d2543491aebc445eb61055821eac..8cf85d9ca97dd8db6440f839b7f5ca91b4eb86da 100644
index d0821b84e9a25ea2e238be5f6624b2cabce0914a..fe5948d50fd7a4ccdf1b9b07e854f2f24a2a8506 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1070,6 +1070,9 @@ public class PurpurWorldConfig {
@@ -1071,6 +1071,9 @@ public class PurpurWorldConfig {
public String phantomAttackDamage = "6 + size";
public Map<Integer, Double> phantomMaxHealthCache = new HashMap<>();
public Map<Integer, Double> phantomAttackDamageCache = new HashMap<>();
@@ -270,7 +270,7 @@ index 985bfa879e37d2543491aebc445eb61055821eac..8cf85d9ca97dd8db6440f839b7f5ca91
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -1091,6 +1094,9 @@ public class PurpurWorldConfig {
@@ -1092,6 +1095,9 @@ public class PurpurWorldConfig {
phantomAttackDamage = getString("mobs.phantom.attributes.attack_damage", phantomAttackDamage);
phantomMaxHealthCache.clear();
phantomAttackDamageCache.clear();

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add phantom spawning options
diff --git a/src/main/java/net/minecraft/world/level/levelgen/PhantomSpawner.java b/src/main/java/net/minecraft/world/level/levelgen/PhantomSpawner.java
index bc7648dbc132551dc6591ab49a1919a623c30f60..5b880677c895d0e747a1ed6a380ae35613334e35 100644
index dfeb3e336e06ef01f5401a362755030db942bb07..f74c5eda91a3d521763ec7bc33f23e0c62458cc2 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/PhantomSpawner.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/PhantomSpawner.java
@@ -49,7 +49,7 @@ public class PhantomSpawner implements CustomSpawner {
@@ -40,10 +40,10 @@ index bc7648dbc132551dc6591ab49a1919a623c30f60..5b880677c895d0e747a1ed6a380ae356
for (int l = 0; l < k; ++l) {
// Paper start
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8cf85d9ca97dd8db6440f839b7f5ca91b4eb86da..31686627dc0aa6396e6f4c93ebfe11268eecb473 100644
index fe5948d50fd7a4ccdf1b9b07e854f2f24a2a8506..68401d01aae5a3d1e438f7c1b6de615412c4b8d9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1073,6 +1073,12 @@ public class PurpurWorldConfig {
@@ -1074,6 +1074,12 @@ public class PurpurWorldConfig {
public double phantomAttackedByCrystalRadius = 0.0D;
public float phantomAttackedByCrystalDamage = 1.0F;
public double phantomOrbitCrystalRadius = 0.0D;
@@ -56,7 +56,7 @@ index 8cf85d9ca97dd8db6440f839b7f5ca91b4eb86da..31686627dc0aa6396e6f4c93ebfe1126
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -1097,6 +1103,12 @@ public class PurpurWorldConfig {
@@ -1098,6 +1104,12 @@ public class PurpurWorldConfig {
phantomAttackedByCrystalRadius = getDouble("mobs.phantom.attacked-by-crystal-range", phantomAttackedByCrystalRadius);
phantomAttackedByCrystalDamage = (float) getDouble("mobs.phantom.attacked-by-crystal-damage", phantomAttackedByCrystalDamage);
phantomOrbitCrystalRadius = getDouble("mobs.phantom.orbit-crystal-radius", phantomOrbitCrystalRadius);

View File

@@ -27,10 +27,10 @@ index d40500f9a807cab0b2fb6fa9032f33f4fb74c895..e8405a57fb88e63b63baaf00645c4176
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 31686627dc0aa6396e6f4c93ebfe11268eecb473..54f9ff00e08d746eeb5b05b116f98c61010ec4e2 100644
index 68401d01aae5a3d1e438f7c1b6de615412c4b8d9..8f1c591105da31adb96891a82e9835d00d42ada8 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -289,6 +289,27 @@ public class PurpurWorldConfig {
@@ -290,6 +290,27 @@ public class PurpurWorldConfig {
});
}

View File

@@ -18,10 +18,10 @@ index 2ed78cf83c0ae66a6ddba1ff307da89a24b0d0a8..ae17d6a54fad0bd2d71d306f418b5ced
public static boolean canSetSpawn(Level world) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 54f9ff00e08d746eeb5b05b116f98c61010ec4e2..f94238520f38c4c9d7c3d2685ed8bf2ea1975452 100644
index 8f1c591105da31adb96891a82e9835d00d42ada8..e76f705fe0d90734b22bf07222c245f8d3f2e9e9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -329,6 +329,27 @@ public class PurpurWorldConfig {
@@ -330,6 +330,27 @@ public class PurpurWorldConfig {
lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether);
}

View File

@@ -94,10 +94,10 @@ index ef8d0f594c727f355a8209f36da924ae45017ce5..64a682ea339809adfb8304a7f14d4a59
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f94238520f38c4c9d7c3d2685ed8bf2ea1975452..6ecd7f9a3dfb2ddb630b88d072a8bbb5874bcb0a 100644
index e76f705fe0d90734b22bf07222c245f8d3f2e9e9..8f60f57c2473614f96950af652d1a738b648f3b1 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -126,6 +126,11 @@ public class PurpurWorldConfig {
@@ -127,6 +127,11 @@ public class PurpurWorldConfig {
elytraDamagePerTridentBoost = getInt("gameplay-mechanics.elytra.damage-per-boost.trident", elytraDamagePerTridentBoost);
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add option to teleport to spawn if outside world border
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 373f3f7643bd3ee49f3b10f9e963b39b28c39894..91df087b49d39b318af85dcbcf2db600e5c12222 100644
index 569219437396a37cdbdae5a4a6d4b1fc551986d7..beaabee17209cc3a94dcd3b4272a2f772a83752f 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -2762,4 +2762,26 @@ public class ServerPlayer extends Player {
@@ -48,10 +48,10 @@ index 35e3cac34a6a508fbf3971cff9ac07db48ddeaae..8c0ef795691aa17e9522b2deda794bcd
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6ecd7f9a3dfb2ddb630b88d072a8bbb5874bcb0a..f7edb363baab75979c7546bda8051cd8f81252cb 100644
index 8f60f57c2473614f96950af652d1a738b648f3b1..7aff81806612443128628326176faf2c302b2a36 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -245,6 +245,7 @@ public class PurpurWorldConfig {
@@ -246,6 +246,7 @@ public class PurpurWorldConfig {
public boolean playerInvulnerableWhileAcceptingResourcePack = false;
public String playerDeathExpDropEquation = "expLevel * 7";
public int playerDeathExpDropMax = 100;
@@ -59,7 +59,7 @@ index 6ecd7f9a3dfb2ddb630b88d072a8bbb5874bcb0a..f7edb363baab75979c7546bda8051cd8
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -260,6 +261,7 @@ public class PurpurWorldConfig {
@@ -261,6 +262,7 @@ public class PurpurWorldConfig {
playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack);
playerDeathExpDropEquation = getString("gameplay-mechanics.player.exp-dropped-on-death.equation", playerDeathExpDropEquation);
playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Squid EAR immunity
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f7edb363baab75979c7546bda8051cd8f81252cb..c7b6ed5e741f227a6da0f3e7c6977e822038f8e8 100644
index 7aff81806612443128628326176faf2c302b2a36..3ad0e1d7a2f48c1b2b127f57a2102a93e532a615 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1458,6 +1458,7 @@ public class PurpurWorldConfig {
@@ -1459,6 +1459,7 @@ public class PurpurWorldConfig {
public boolean squidRidable = false;
public boolean squidControllable = true;
public double squidMaxHealth = 10.0D;
@@ -16,7 +16,7 @@ index f7edb363baab75979c7546bda8051cd8f81252cb..c7b6ed5e741f227a6da0f3e7c6977e82
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -1467,6 +1468,7 @@ public class PurpurWorldConfig {
@@ -1468,6 +1469,7 @@ public class PurpurWorldConfig {
set("mobs.squid.attributes.max_health", oldValue);
}
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);

View File

@@ -52,10 +52,10 @@ index 86df67578334a4743909c748213c2e1ed5d19bd9..899a7d3989b51456600787ae09b1736f
list.sort(Comparator.comparing((Entity e) -> { return e.getY(); }).reversed()); // CraftBukkit - decompile error
Iterator iterator = list.iterator();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c7b6ed5e741f227a6da0f3e7c6977e822038f8e8..2c38ec1d536db890c25331e7d2e13eef8542e2b8 100644
index 3ad0e1d7a2f48c1b2b127f57a2102a93e532a615..3d3dfe8a0cd3d02e1d2ce8f7d5cf529a4cb3e6c4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1128,6 +1128,9 @@ public class PurpurWorldConfig {
@@ -1129,6 +1129,9 @@ public class PurpurWorldConfig {
public double phantomSpawnLocalDifficultyChance = 3.0D;
public int phantomSpawnMinPerAttempt = 1;
public int phantomSpawnMaxPerAttempt = -1;
@@ -65,7 +65,7 @@ index c7b6ed5e741f227a6da0f3e7c6977e822038f8e8..2c38ec1d536db890c25331e7d2e13eef
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -1158,6 +1161,9 @@ public class PurpurWorldConfig {
@@ -1159,6 +1162,9 @@ public class PurpurWorldConfig {
phantomSpawnLocalDifficultyChance = getDouble("mobs.phantom.spawn.local-difficulty-chance", phantomSpawnLocalDifficultyChance);
phantomSpawnMinPerAttempt = getInt("mobs.phantom.spawn.per-attempt.min", phantomSpawnMinPerAttempt);
phantomSpawnMaxPerAttempt = getInt("mobs.phantom.spawn.per-attempt.max", phantomSpawnMaxPerAttempt);

View File

@@ -18,10 +18,10 @@ index 50925ab7d719ae3323d7456df03a3d2ab3481bfd..7d13a5308161d4093023b732bed7d061
private boolean hungry() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2c38ec1d536db890c25331e7d2e13eef8542e2b8..e004bba6963a5d5ff8471ead58994ae69a91bd81 100644
index 3d3dfe8a0cd3d02e1d2ce8f7d5cf529a4cb3e6c4..4cc21f12f4ad10e3c0d8fd49575330154d4f258b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1616,6 +1616,7 @@ public class PurpurWorldConfig {
@@ -1617,6 +1617,7 @@ public class PurpurWorldConfig {
public double villagerMaxHealth = 20.0D;
public boolean villagerFollowEmeraldBlock = false;
public boolean villagerCanBeLeashed = false;
@@ -29,7 +29,7 @@ index 2c38ec1d536db890c25331e7d2e13eef8542e2b8..e004bba6963a5d5ff8471ead58994ae6
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1628,6 +1629,7 @@ public class PurpurWorldConfig {
@@ -1629,6 +1630,7 @@ public class PurpurWorldConfig {
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);

View File

@@ -17,10 +17,10 @@ index 633500aefd515df5dadda3802b94079f75a03fa0..64d911bee1607880514061c75116d867
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e004bba6963a5d5ff8471ead58994ae69a91bd81..285eb0600e094d5957c05c0d348f472400284371 100644
index 4cc21f12f4ad10e3c0d8fd49575330154d4f258b..73e134b765713878d55f3bb9cbb36efc6c7942af 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -357,6 +357,11 @@ public class PurpurWorldConfig {
@@ -358,6 +358,11 @@ public class PurpurWorldConfig {
}
}

View File

@@ -28,10 +28,10 @@ index 8c0ef795691aa17e9522b2deda794bcdf38c64b6..6edb9c371d77fa52b08f0eaf738d0cb4
EntityResurrectEvent event = new EntityResurrectEvent((org.bukkit.entity.LivingEntity) this.getBukkitEntity(), handSlot);
event.setCancelled(itemstack == null);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 285eb0600e094d5957c05c0d348f472400284371..5d20c09d34bcf4f0975e6946ba103f7644f3d297 100644
index 73e134b765713878d55f3bb9cbb36efc6c7942af..f68818ea005b5370fd63d65a1fb7396d8d4e68a0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -246,6 +246,7 @@ public class PurpurWorldConfig {
@@ -247,6 +247,7 @@ public class PurpurWorldConfig {
public String playerDeathExpDropEquation = "expLevel * 7";
public int playerDeathExpDropMax = 100;
public boolean teleportIfOutsideBorder = false;
@@ -39,7 +39,7 @@ index 285eb0600e094d5957c05c0d348f472400284371..5d20c09d34bcf4f0975e6946ba103f76
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -262,6 +263,7 @@ public class PurpurWorldConfig {
@@ -263,6 +264,7 @@ public class PurpurWorldConfig {
playerDeathExpDropEquation = getString("gameplay-mechanics.player.exp-dropped-on-death.equation", playerDeathExpDropEquation);
playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax);
teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder);

View File

@@ -22,10 +22,10 @@ index 40858ac2a9b58108472748d0ef2c2fd5ef5cfd98..2a5b6b94b15bf066b5722e7a4f782bc8
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5d20c09d34bcf4f0975e6946ba103f7644f3d297..dd398eb6d50c43604c18068370db689d2897625a 100644
index f68818ea005b5370fd63d65a1fb7396d8d4e68a0..3401fc1caac684270792154bf645fbc11264cf63 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1643,6 +1643,7 @@ public class PurpurWorldConfig {
@@ -1644,6 +1644,7 @@ public class PurpurWorldConfig {
public boolean vindicatorRidableInWater = true;
public boolean vindicatorControllable = true;
public double vindicatorMaxHealth = 24.0D;
@@ -33,7 +33,7 @@ index 5d20c09d34bcf4f0975e6946ba103f7644f3d297..dd398eb6d50c43604c18068370db689d
private void vindicatorSettings() {
vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable);
vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater);
@@ -1653,6 +1654,7 @@ public class PurpurWorldConfig {
@@ -1654,6 +1655,7 @@ public class PurpurWorldConfig {
set("mobs.vindicator.attributes.max_health", oldValue);
}
vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth);

View File

@@ -33,10 +33,10 @@ index 70aade6a8d36f8376cc567800258ea6fabb0607f..d44fde7e44cc862253fe577eb0753524
static void setEntityPokingOutOfBlock(BlockSource pointer, Entity entity, Direction direction) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index dd398eb6d50c43604c18068370db689d2897625a..28235ec24f5eacb35a09d8a7ab71d0ce60b5db59 100644
index 3401fc1caac684270792154bf645fbc11264cf63..ecc3b8bbed7933097fbbb74253ce2e2646e74593 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -320,8 +320,10 @@ public class PurpurWorldConfig {
@@ -321,8 +321,10 @@ public class PurpurWorldConfig {
}
public boolean dispenserApplyCursedArmor = true;

View File

@@ -64,10 +64,10 @@ index b500a04b8135604f0159a741b3d228c9e87b2a46..8a7c30e316db4960b0b62ca0e366c19f
}
} else if (itemstack.hasCustomHoverName()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 28235ec24f5eacb35a09d8a7ab71d0ce60b5db59..d4f6d96e13aa4f5e5e56bac6232b30ad7a4a417d 100644
index ecc3b8bbed7933097fbbb74253ce2e2646e74593..714514386a2d7d955e4aa58cdb16af4c05e19412 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -298,6 +298,13 @@ public class PurpurWorldConfig {
@@ -299,6 +299,13 @@ public class PurpurWorldConfig {
});
}

View File

@@ -17,10 +17,10 @@ index 89e3dbfddc739f97fdb6ec9a5714530f03cc7092..079fd78528377ee4236fb2e7189a5f0f
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d4f6d96e13aa4f5e5e56bac6232b30ad7a4a417d..b0df6a0aa6370364eb19555f3053de66935c3a0c 100644
index 714514386a2d7d955e4aa58cdb16af4c05e19412..a3ea4eb81b6a2d8a897bc885706e0bbf110601e2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -615,6 +615,7 @@ public class PurpurWorldConfig {
@@ -616,6 +616,7 @@ public class PurpurWorldConfig {
public float dolphinSpitSpeed = 1.0F;
public float dolphinSpitDamage = 2.0F;
public double dolphinMaxHealth = 10.0D;
@@ -28,7 +28,7 @@ index d4f6d96e13aa4f5e5e56bac6232b30ad7a4a417d..b0df6a0aa6370364eb19555f3053de66
private void dolphinSettings() {
dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable);
dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable);
@@ -627,6 +628,7 @@ public class PurpurWorldConfig {
@@ -628,6 +629,7 @@ public class PurpurWorldConfig {
set("mobs.dolphin.attributes.max_health", oldValue);
}
dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth);

View File

@@ -54,10 +54,10 @@ index ffc76354ead6937daf366c3d87bcb51d3e4c47f5..5b98d42b5d6bc07265fbb017e51a6281
+ // Purpur
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b0df6a0aa6370364eb19555f3053de66935c3a0c..79b80587e5d0c8f844659b9dbe2d8610d94f888d 100644
index a3ea4eb81b6a2d8a897bc885706e0bbf110601e2..83a6d5017da1e890bbce6fba2b14c61d4e66a93e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1483,6 +1483,7 @@ public class PurpurWorldConfig {
@@ -1484,6 +1484,7 @@ public class PurpurWorldConfig {
public boolean squidControllable = true;
public double squidMaxHealth = 10.0D;
public boolean squidImmuneToEAR = true;
@@ -65,7 +65,7 @@ index b0df6a0aa6370364eb19555f3053de66935c3a0c..79b80587e5d0c8f844659b9dbe2d8610
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -1493,6 +1494,7 @@ public class PurpurWorldConfig {
@@ -1494,6 +1495,7 @@ public class PurpurWorldConfig {
}
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);
squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);

View File

@@ -27,10 +27,10 @@ index 5420075f774e2327d17ecbf6fd1afba0b96ff1f4..9be349874c40722f05ad5b81e62dcd00
public float getBlockExplosionResistance(Explosion explosion, BlockGetter world, BlockPos pos, BlockState blockState, FluidState fluidState, float max) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 79b80587e5d0c8f844659b9dbe2d8610d94f888d..30c44f52f8a864d156f225a682f1cc18df0a362c 100644
index 83a6d5017da1e890bbce6fba2b14c61d4e66a93e..1e878c0d64f5a2c604f910b21ae91403ae084c54 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -99,6 +99,7 @@ public class PurpurWorldConfig {
@@ -100,6 +100,7 @@ public class PurpurWorldConfig {
public boolean useBetterMending = false;
public boolean boatEjectPlayersOnLand = false;
public boolean disableDropsOnCrammingDeath = false;
@@ -38,7 +38,7 @@ index 79b80587e5d0c8f844659b9dbe2d8610d94f888d..30c44f52f8a864d156f225a682f1cc18
public boolean milkCuresBadOmen = true;
public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D;
@@ -107,6 +108,7 @@ public class PurpurWorldConfig {
@@ -108,6 +109,7 @@ public class PurpurWorldConfig {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);

View File

@@ -6,7 +6,7 @@ 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.
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 6cdfde983798bdac3b10e5d17f1259bf2976b739..a78755905acdf1d942ad7e6f5df3ab3fc34ad551 100644
index 6f7ef64612d6229179545d56093efdf58a2d7978..b395d5c85f26ca4252d3f8f886b2ee5a7892af5f 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -518,8 +518,10 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@@ -23,10 +23,10 @@ index 6cdfde983798bdac3b10e5d17f1259bf2976b739..a78755905acdf1d942ad7e6f5df3ab3f
this.bossEvent.setProgress(this.getHealth() / this.getMaxHealth());
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 30c44f52f8a864d156f225a682f1cc18df0a362c..b8c97253388447fb6091436bdd98356e8465d5e9 100644
index 1e878c0d64f5a2c604f910b21ae91403ae084c54..3db0b517baaa4394810c04bfafd92a80a1337c95 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1722,6 +1722,8 @@ public class PurpurWorldConfig {
@@ -1723,6 +1723,8 @@ public class PurpurWorldConfig {
public boolean witherControllable = true;
public double witherMaxY = 320D;
public double witherMaxHealth = 300.0D;
@@ -35,7 +35,7 @@ index 30c44f52f8a864d156f225a682f1cc18df0a362c..b8c97253388447fb6091436bdd98356e
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1737,6 +1739,8 @@ public class PurpurWorldConfig {
@@ -1738,6 +1740,8 @@ public class PurpurWorldConfig {
set("mobs.wither.attributes.max_health", oldValue);
}
witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth);

View File

@@ -36,7 +36,7 @@ index 11f92c1011a1accaf485e5785d2e9ebc8440406c..af57326c8d461d3c5d84f582d5bc6345
ChunkGenerator chunkgenerator = worlddimension.generator();
// CraftBukkit start
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTraderSpawner.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTraderSpawner.java
index 5d199fe497bd852827d3d18fb7566a09e70331a3..6cd8a50289a6404441e9e5e08d82d2ebe14a09cc 100644
index 8385eb1d60f377da94e3178ab506feefb43563fd..a5443f92786427c42092aec8350e7ab37704db7a 100644
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTraderSpawner.java
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTraderSpawner.java
@@ -159,7 +159,17 @@ public class WanderingTraderSpawner implements CustomSpawner {
@@ -59,10 +59,10 @@ index 5d199fe497bd852827d3d18fb7566a09e70331a3..6cd8a50289a6404441e9e5e08d82d2eb
if (NaturalSpawner.isSpawnPositionOk(SpawnPlacements.Type.ON_GROUND, world, blockposition2, EntityType.WANDERING_TRADER)) {
blockposition1 = blockposition2;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b8c97253388447fb6091436bdd98356e8465d5e9..3b2c3d0f4559008aec4150f992eba768f72a9ac2 100644
index 3db0b517baaa4394810c04bfafd92a80a1337c95..ee557eb5ef78c90b83cfc6f4d0727e034de41d6a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -70,6 +70,12 @@ public class PurpurWorldConfig {
@@ -71,6 +71,12 @@ public class PurpurWorldConfig {
return PurpurConfig.config.getBoolean("world-settings." + worldName + "." + path, PurpurConfig.config.getBoolean("world-settings.default." + path));
}
@@ -75,7 +75,7 @@ index b8c97253388447fb6091436bdd98356e8465d5e9..3b2c3d0f4559008aec4150f992eba768
private double getDouble(String path, double def) {
PurpurConfig.config.addDefault("world-settings.default." + path, def);
return PurpurConfig.config.getDouble("world-settings." + worldName + "." + path, PurpurConfig.config.getDouble("world-settings.default." + path));
@@ -238,6 +244,21 @@ public class PurpurWorldConfig {
@@ -239,6 +245,21 @@ public class PurpurWorldConfig {
}
}

View File

@@ -49,10 +49,10 @@ index 41457c9f27b18fa2734a6cca297ec5186470e82f..94356e0541f8f4da68211fa533347cc9
if (!this.raidMap.containsKey(raid.getId())) {
this.raidMap.put(raid.getId(), raid);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3b2c3d0f4559008aec4150f992eba768f72a9ac2..dea0534040154186ecdcad70d4bed53ed067a6b9 100644
index ee557eb5ef78c90b83cfc6f4d0727e034de41d6a..78a5879ff845fc7fb50dc2e962f9f465fc8168b4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -110,6 +110,7 @@ public class PurpurWorldConfig {
@@ -111,6 +111,7 @@ public class PurpurWorldConfig {
public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D;
@@ -60,7 +60,7 @@ index 3b2c3d0f4559008aec4150f992eba768f72a9ac2..dea0534040154186ecdcad70d4bed53e
private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
@@ -119,6 +120,7 @@ public class PurpurWorldConfig {
@@ -120,6 +121,7 @@ public class PurpurWorldConfig {
tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight);
voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight);
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);

View File

@@ -7,10 +7,10 @@ This patch's implementation has been removed in favor of Pufferfish's entity-tim
The config remains for migration purposes.
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index dea0534040154186ecdcad70d4bed53ed067a6b9..8efe8d4a37745a280d1cacf3c10757e88ccf3c5a 100644
index 78a5879ff845fc7fb50dc2e962f9f465fc8168b4..a449d5e23c20389556c37cb76fc53ef778e54ddd 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -291,6 +291,39 @@ public class PurpurWorldConfig {
@@ -292,6 +292,39 @@ public class PurpurWorldConfig {
totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory);
}

View File

@@ -70,10 +70,10 @@ index b2b04d7b7bbc400fb66cac385fa754d4fb47c7d9..bd75aa78a7dd437d6fce79a6cb182981
this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR));
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8efe8d4a37745a280d1cacf3c10757e88ccf3c5a..3dad224fe58084b7b37863d44f25aa206bc632c6 100644
index a449d5e23c20389556c37cb76fc53ef778e54ddd..4de6235de3f4d679dc599a13cdbdd5517456c907 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1855,6 +1855,7 @@ public class PurpurWorldConfig {
@@ -1856,6 +1856,7 @@ public class PurpurWorldConfig {
public boolean zombieJockeyOnlyBaby = true;
public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true;
@@ -81,7 +81,7 @@ index 8efe8d4a37745a280d1cacf3c10757e88ccf3c5a..3dad224fe58084b7b37863d44f25aa20
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1869,6 +1870,7 @@ public class PurpurWorldConfig {
@@ -1870,6 +1871,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

@@ -58,10 +58,10 @@ index f68c18b6645981126329b58379946308bbb8ccf8..80bdc93cba675d6c1286618f14fc33e0
float g = Mth.cos(f) * 0.2F;
float h = -0.1F + this.squid.getRandom().nextFloat() * 0.2F;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3dad224fe58084b7b37863d44f25aa206bc632c6..1e218cf6b6675cb606c7832e90bcd952ce97db3a 100644
index 4de6235de3f4d679dc599a13cdbdd5517456c907..20d95d0f59ffcb9196461e07f13b190b8162c752 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -907,10 +907,12 @@ public class PurpurWorldConfig {
@@ -908,10 +908,12 @@ public class PurpurWorldConfig {
public boolean glowSquidRidable = false;
public boolean glowSquidControllable = true;
public double glowSquidMaxHealth = 10.0D;
@@ -74,7 +74,7 @@ index 3dad224fe58084b7b37863d44f25aa206bc632c6..1e218cf6b6675cb606c7832e90bcd952
}
public boolean goatRidable = false;
@@ -1542,6 +1544,7 @@ public class PurpurWorldConfig {
@@ -1543,6 +1545,7 @@ public class PurpurWorldConfig {
public double squidMaxHealth = 10.0D;
public boolean squidImmuneToEAR = true;
public double squidOffsetWaterCheck = 0.0D;
@@ -82,7 +82,7 @@ index 3dad224fe58084b7b37863d44f25aa206bc632c6..1e218cf6b6675cb606c7832e90bcd952
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -1553,6 +1556,7 @@ public class PurpurWorldConfig {
@@ -1554,6 +1557,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

@@ -27,10 +27,10 @@ index 08d597db1a5345a343777a01427655e6bf2c926b..33df0ca406dc8321b76b393f317bbd1c
} else {
user.startUsingItem(hand);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1e218cf6b6675cb606c7832e90bcd952ce97db3a..f1fce08e086dffe074fe824fac5782e9e9d843b2 100644
index 20d95d0f59ffcb9196461e07f13b190b8162c752..07ce7fa039923922156f2250f2906d80807c634b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -141,6 +141,17 @@ public class PurpurWorldConfig {
@@ -142,6 +142,17 @@ public class PurpurWorldConfig {
entityLifeSpan = getInt("gameplay-mechanics.entity-lifespan", entityLifeSpan);
}

View File

@@ -88,10 +88,10 @@ index af57326c8d461d3c5d84f582d5bc6345c3c9367b..0e8452f6a8300992f397fb15db763304
public void tickCustomSpawners(boolean spawnMonsters, boolean spawnAnimals) {
Iterator iterator = this.customSpawners.iterator();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f1fce08e086dffe074fe824fac5782e9e9d843b2..26454971e2bb97edf86d79cb094f7ede2874fe87 100644
index 07ce7fa039923922156f2250f2906d80807c634b..58374f3b95d7ecd6d3ca2ebdf71660dd9416af7a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -123,6 +123,13 @@ public class PurpurWorldConfig {
@@ -124,6 +124,13 @@ public class PurpurWorldConfig {
raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds);
}

View File

@@ -47,10 +47,10 @@ index 448fa4f4f200430d6ce3051763c7ceb697696146..ca2052804ad829a1528a9c5a0a792275
private static boolean canBurn(RegistryAccess registryManager, @Nullable Recipe<?> recipe, NonNullList<ItemStack> slots, int count) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 26454971e2bb97edf86d79cb094f7ede2874fe87..2ff758ab5e0a9cafad809d252446cbd7f258fc1c 100644
index 58374f3b95d7ecd6d3ca2ebdf71660dd9416af7a..c37f942397c901937a5252906961c03a45c1b3ed 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -414,6 +414,17 @@ public class PurpurWorldConfig {
@@ -415,6 +415,17 @@ public class PurpurWorldConfig {
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
}

View File

@@ -20,10 +20,10 @@ index 7226be19248a1ffb8ff2c89b55882529d33a6c0c..4f98d7f755ad692dd9589134524a604e
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2ff758ab5e0a9cafad809d252446cbd7f258fc1c..6693677e8b7091778e7e273357e4cc2165ebe1d0 100644
index c37f942397c901937a5252906961c03a45c1b3ed..76cf97277a840735f4c981811e6c0205fe0f5a88 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -102,6 +102,11 @@ public class PurpurWorldConfig {
@@ -103,6 +103,11 @@ public class PurpurWorldConfig {
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
}

View File

@@ -24,10 +24,10 @@ index 1776906e886edd511bfbe96b8a345438a3cd66f8..7efae60a9a9269703a1fa7cd280b5b96
return;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6693677e8b7091778e7e273357e4cc2165ebe1d0..893953e376ebd39b12cbb88f458abd8918932d70 100644
index 76cf97277a840735f4c981811e6c0205fe0f5a88..3b4fa811a1fa83fd5824afb9c520b08970894c46 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -415,8 +415,10 @@ public class PurpurWorldConfig {
@@ -416,8 +416,10 @@ public class PurpurWorldConfig {
}
public boolean farmlandGetsMoistFromBelow = false;

View File

@@ -42,7 +42,7 @@ index c2f61ed153260692c96af4f20bc5b7d55cbbc380..43f01ce3064fdc0bb46beab6ea001942
EntityBreedEvent entityBreedEvent = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityBreedEvent(entityageable, this, other, breeder, this.breedItem, experience);
if (entityBreedEvent.isCancelled()) {
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 6b661982b217ae120d72ede3e19e82fbd3ebb69e..290d9fbeb71675d897b78d5c2b98ab477ce9f5fd 100644
index a4c45ee8a5c6e55a6f9abde401cc06f13bd0b018..84ac5db63a51d1490fcf625d10ed0952d671017e 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -194,6 +194,49 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -104,10 +104,10 @@ index 6b661982b217ae120d72ede3e19e82fbd3ebb69e..290d9fbeb71675d897b78d5c2b98ab47
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 893953e376ebd39b12cbb88f458abd8918932d70..736bfa6403b54c2822606f54f5aa9795f47a7477 100644
index 3b4fa811a1fa83fd5824afb9c520b08970894c46..afc71260b156fc9d43e75b2c45c90994268e17e7 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -116,6 +116,7 @@ public class PurpurWorldConfig {
@@ -117,6 +117,7 @@ public class PurpurWorldConfig {
public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D;
public int raidCooldownSeconds = 0;
@@ -115,7 +115,7 @@ index 893953e376ebd39b12cbb88f458abd8918932d70..736bfa6403b54c2822606f54f5aa9795
private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
@@ -126,6 +127,7 @@ public class PurpurWorldConfig {
@@ -127,6 +128,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);

View File

@@ -236,7 +236,7 @@ index b2cf680e377f849a7cc17136ebca3cf33e34048c..0df9900ecf211f3a0bcfab6daa931fdd
@Override
public AgeableMob getBreedOffspring(ServerLevel world, AgeableMob entity) {
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 c64673adcf168b413ab3b9b796f5179081058e6d..6b07750c2bd2aa828f3a0a1ccf30520723f5d62b 100644
index 6d5213d26dbd9d36c5cbe6056091d9e5c85e23c4..787391763cac2ae6ed9c178c44616b992849e819 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
@@ -142,6 +142,11 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
@@ -522,10 +522,10 @@ index 66f2695403a04c2e9540bf2ec290bf1cc5a377ca..bd72dc99752faca3180ecb165b11406a
public boolean canBeLeashed(Player player) {
return !this.isLeashed();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cff31963b1 100644
index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa798beaf0f8 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -506,10 +506,12 @@ public class PurpurWorldConfig {
@@ -507,10 +507,12 @@ public class PurpurWorldConfig {
public boolean axolotlRidable = false;
public boolean axolotlControllable = true;
public double axolotlMaxHealth = 14.0D;
@@ -538,7 +538,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
}
public boolean batRidable = false;
@@ -549,6 +551,7 @@ public class PurpurWorldConfig {
@@ -550,6 +552,7 @@ public class PurpurWorldConfig {
public boolean beeControllable = true;
public double beeMaxY = 320D;
public double beeMaxHealth = 10.0D;
@@ -546,7 +546,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
private void beeSettings() {
beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
@@ -560,6 +563,7 @@ public class PurpurWorldConfig {
@@ -561,6 +564,7 @@ public class PurpurWorldConfig {
set("mobs.bee.attributes.max_health", oldValue);
}
beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth);
@@ -554,7 +554,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
}
public boolean blazeRidable = false;
@@ -587,6 +591,7 @@ public class PurpurWorldConfig {
@@ -588,6 +592,7 @@ public class PurpurWorldConfig {
public double camelJumpStrengthMax = 0.42D;
public double camelMovementSpeedMin = 0.09D;
public double camelMovementSpeedMax = 0.09D;
@@ -562,7 +562,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
private void camelSettings() {
camelRidableInWater = getBoolean("mobs.camel.ridable-in-water", camelRidableInWater);
camelMaxHealthMin = getDouble("mobs.camel.attributes.max_health.min", camelMaxHealthMin);
@@ -595,6 +600,7 @@ public class PurpurWorldConfig {
@@ -596,6 +601,7 @@ public class PurpurWorldConfig {
camelJumpStrengthMax = getDouble("mobs.camel.attributes.jump_strength.max", camelJumpStrengthMax);
camelMovementSpeedMin = getDouble("mobs.camel.attributes.movement_speed.min", camelMovementSpeedMin);
camelMovementSpeedMax = getDouble("mobs.camel.attributes.movement_speed.max", camelMovementSpeedMax);
@@ -570,7 +570,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
}
public boolean catRidable = false;
@@ -604,6 +610,7 @@ public class PurpurWorldConfig {
@@ -605,6 +611,7 @@ public class PurpurWorldConfig {
public int catSpawnDelay = 1200;
public int catSpawnSwampHutScanRange = 16;
public int catSpawnVillageScanRange = 48;
@@ -578,7 +578,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
@@ -617,6 +624,7 @@ public class PurpurWorldConfig {
@@ -618,6 +625,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);
@@ -586,7 +586,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
}
public boolean caveSpiderRidable = false;
@@ -640,6 +648,7 @@ public class PurpurWorldConfig {
@@ -641,6 +649,7 @@ public class PurpurWorldConfig {
public boolean chickenControllable = true;
public double chickenMaxHealth = 4.0D;
public boolean chickenRetaliate = false;
@@ -594,7 +594,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
private void chickenSettings() {
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
@@ -651,6 +660,7 @@ public class PurpurWorldConfig {
@@ -652,6 +661,7 @@ public class PurpurWorldConfig {
}
chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth);
chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate);
@@ -602,7 +602,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
}
public boolean codRidable = false;
@@ -672,6 +682,7 @@ public class PurpurWorldConfig {
@@ -673,6 +683,7 @@ public class PurpurWorldConfig {
public boolean cowControllable = true;
public double cowMaxHealth = 10.0D;
public int cowFeedMushrooms = 0;
@@ -610,7 +610,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
private void cowSettings() {
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
@@ -683,6 +694,7 @@ public class PurpurWorldConfig {
@@ -684,6 +695,7 @@ public class PurpurWorldConfig {
}
cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth);
cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms);
@@ -618,7 +618,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
}
public boolean creeperRidable = false;
@@ -734,6 +746,7 @@ public class PurpurWorldConfig {
@@ -735,6 +747,7 @@ public class PurpurWorldConfig {
public double donkeyJumpStrengthMax = 0.5D;
public double donkeyMovementSpeedMin = 0.175D;
public double donkeyMovementSpeedMax = 0.175D;
@@ -626,7 +626,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
private void donkeySettings() {
donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater);
if (PurpurConfig.version < 10) {
@@ -749,6 +762,7 @@ public class PurpurWorldConfig {
@@ -750,6 +763,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);
@@ -634,7 +634,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
}
public boolean drownedRidable = false;
@@ -868,6 +882,7 @@ public class PurpurWorldConfig {
@@ -869,6 +883,7 @@ public class PurpurWorldConfig {
public boolean foxControllable = true;
public double foxMaxHealth = 10.0D;
public boolean foxTypeChangesWithTulips = false;
@@ -642,7 +642,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -879,17 +894,20 @@ public class PurpurWorldConfig {
@@ -880,17 +895,20 @@ public class PurpurWorldConfig {
}
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
@@ -663,7 +663,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
}
public boolean ghastRidable = false;
@@ -957,11 +975,13 @@ public class PurpurWorldConfig {
@@ -958,11 +976,13 @@ public class PurpurWorldConfig {
public boolean goatRidableInWater = true;
public boolean goatControllable = true;
public double goatMaxHealth = 10.0D;
@@ -677,7 +677,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
}
public boolean guardianRidable = false;
@@ -982,6 +1002,7 @@ public class PurpurWorldConfig {
@@ -983,6 +1003,7 @@ public class PurpurWorldConfig {
public boolean hoglinRidableInWater = true;
public boolean hoglinControllable = true;
public double hoglinMaxHealth = 40.0D;
@@ -685,7 +685,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
private void hoglinSettings() {
hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable);
hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater);
@@ -992,6 +1013,7 @@ public class PurpurWorldConfig {
@@ -993,6 +1014,7 @@ public class PurpurWorldConfig {
set("mobs.hoglin.attributes.max_health", oldValue);
}
hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth);
@@ -693,7 +693,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
}
public boolean horseRidableInWater = false;
@@ -1001,6 +1023,7 @@ public class PurpurWorldConfig {
@@ -1002,6 +1024,7 @@ public class PurpurWorldConfig {
public double horseJumpStrengthMax = 1.0D;
public double horseMovementSpeedMin = 0.1125D;
public double horseMovementSpeedMax = 0.3375D;
@@ -701,7 +701,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
private void horseSettings() {
horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater);
if (PurpurConfig.version < 10) {
@@ -1016,6 +1039,7 @@ public class PurpurWorldConfig {
@@ -1017,6 +1040,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);
@@ -709,7 +709,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
}
public boolean huskRidable = false;
@@ -1093,6 +1117,7 @@ public class PurpurWorldConfig {
@@ -1094,6 +1118,7 @@ public class PurpurWorldConfig {
public double llamaJumpStrengthMax = 0.5D;
public double llamaMovementSpeedMin = 0.175D;
public double llamaMovementSpeedMax = 0.175D;
@@ -717,7 +717,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
private void llamaSettings() {
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);
@@ -1110,6 +1135,7 @@ public class PurpurWorldConfig {
@@ -1111,6 +1136,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);
@@ -725,7 +725,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
}
public boolean magmaCubeRidable = false;
@@ -1138,6 +1164,7 @@ public class PurpurWorldConfig {
@@ -1139,6 +1165,7 @@ public class PurpurWorldConfig {
public boolean mooshroomRidableInWater = true;
public boolean mooshroomControllable = true;
public double mooshroomMaxHealth = 10.0D;
@@ -733,7 +733,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
private void mooshroomSettings() {
mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable);
mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater);
@@ -1148,6 +1175,7 @@ public class PurpurWorldConfig {
@@ -1149,6 +1176,7 @@ public class PurpurWorldConfig {
set("mobs.mooshroom.attributes.max_health", oldValue);
}
mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth);
@@ -741,7 +741,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
}
public boolean muleRidableInWater = false;
@@ -1157,6 +1185,7 @@ public class PurpurWorldConfig {
@@ -1158,6 +1186,7 @@ public class PurpurWorldConfig {
public double muleJumpStrengthMax = 0.5D;
public double muleMovementSpeedMin = 0.175D;
public double muleMovementSpeedMax = 0.175D;
@@ -749,7 +749,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
private void muleSettings() {
muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater);
if (PurpurConfig.version < 10) {
@@ -1172,12 +1201,14 @@ public class PurpurWorldConfig {
@@ -1173,12 +1202,14 @@ 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);
@@ -764,7 +764,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
private void ocelotSettings() {
ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable);
ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater);
@@ -1188,12 +1219,14 @@ public class PurpurWorldConfig {
@@ -1189,12 +1220,14 @@ public class PurpurWorldConfig {
set("mobs.ocelot.attributes.max_health", oldValue);
}
ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth);
@@ -779,7 +779,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
private void pandaSettings() {
pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable);
pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater);
@@ -1204,6 +1237,7 @@ public class PurpurWorldConfig {
@@ -1205,6 +1238,7 @@ public class PurpurWorldConfig {
set("mobs.panda.attributes.max_health", oldValue);
}
pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth);
@@ -787,7 +787,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
}
public boolean parrotRidable = false;
@@ -1287,6 +1321,7 @@ public class PurpurWorldConfig {
@@ -1288,6 +1322,7 @@ public class PurpurWorldConfig {
public boolean pigControllable = true;
public double pigMaxHealth = 10.0D;
public boolean pigGiveSaddleBack = false;
@@ -795,7 +795,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
private void pigSettings() {
pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
@@ -1298,6 +1333,7 @@ public class PurpurWorldConfig {
@@ -1299,6 +1334,7 @@ public class PurpurWorldConfig {
}
pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth);
pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack);
@@ -803,7 +803,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
}
public boolean piglinRidable = false;
@@ -1354,6 +1390,7 @@ public class PurpurWorldConfig {
@@ -1355,6 +1391,7 @@ public class PurpurWorldConfig {
public double polarBearMaxHealth = 30.0D;
public String polarBearBreedableItemString = "";
public Item polarBearBreedableItem = null;
@@ -811,7 +811,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
private void polarBearSettings() {
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
@@ -1367,6 +1404,7 @@ public class PurpurWorldConfig {
@@ -1368,6 +1405,7 @@ public class PurpurWorldConfig {
polarBearBreedableItemString = getString("mobs.polar_bear.breedable-item", polarBearBreedableItemString);
Item item = BuiltInRegistries.ITEM.get(new ResourceLocation(polarBearBreedableItemString));
if (item != Items.AIR) polarBearBreedableItem = item;
@@ -819,7 +819,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
}
public boolean pufferfishRidable = false;
@@ -1389,6 +1427,7 @@ public class PurpurWorldConfig {
@@ -1390,6 +1428,7 @@ public class PurpurWorldConfig {
public double rabbitMaxHealth = 3.0D;
public double rabbitNaturalToast = 0.0D;
public double rabbitNaturalKiller = 0.0D;
@@ -827,7 +827,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -1401,6 +1440,7 @@ public class PurpurWorldConfig {
@@ -1402,6 +1441,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);
@@ -835,7 +835,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
}
public boolean ravagerRidable = false;
@@ -1437,6 +1477,7 @@ public class PurpurWorldConfig {
@@ -1438,6 +1478,7 @@ public class PurpurWorldConfig {
public boolean sheepRidableInWater = true;
public boolean sheepControllable = true;
public double sheepMaxHealth = 8.0D;
@@ -843,7 +843,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
private void sheepSettings() {
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
@@ -1447,6 +1488,7 @@ public class PurpurWorldConfig {
@@ -1448,6 +1489,7 @@ public class PurpurWorldConfig {
set("mobs.sheep.attributes.max_health", oldValue);
}
sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth);
@@ -851,7 +851,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
}
public boolean shulkerRidable = false;
@@ -1570,11 +1612,13 @@ public class PurpurWorldConfig {
@@ -1571,11 +1613,13 @@ public class PurpurWorldConfig {
public boolean snifferRidableInWater = true;
public boolean snifferControllable = true;
public double snifferMaxHealth = 14.0D;
@@ -865,7 +865,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
}
public boolean squidRidable = false;
@@ -1633,6 +1677,7 @@ public class PurpurWorldConfig {
@@ -1634,6 +1678,7 @@ public class PurpurWorldConfig {
public boolean striderRidableInWater = false;
public boolean striderControllable = true;
public double striderMaxHealth = 20.0D;
@@ -873,7 +873,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1643,6 +1688,7 @@ public class PurpurWorldConfig {
@@ -1644,6 +1689,7 @@ public class PurpurWorldConfig {
set("mobs.strider.attributes.max_health", oldValue);
}
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
@@ -881,7 +881,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
}
public boolean tadpoleRidable = false;
@@ -1663,6 +1709,7 @@ public class PurpurWorldConfig {
@@ -1664,6 +1710,7 @@ public class PurpurWorldConfig {
public double traderLlamaJumpStrengthMax = 0.5D;
public double traderLlamaMovementSpeedMin = 0.175D;
public double traderLlamaMovementSpeedMax = 0.175D;
@@ -889,7 +889,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
private void traderLlamaSettings() {
traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable);
traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater);
@@ -1680,6 +1727,7 @@ public class PurpurWorldConfig {
@@ -1681,6 +1728,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);
@@ -897,7 +897,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
}
public boolean tropicalFishRidable = false;
@@ -1700,6 +1748,7 @@ public class PurpurWorldConfig {
@@ -1701,6 +1749,7 @@ public class PurpurWorldConfig {
public boolean turtleRidableInWater = true;
public boolean turtleControllable = true;
public double turtleMaxHealth = 30.0D;
@@ -905,7 +905,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
private void turtleSettings() {
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
@@ -1710,6 +1759,7 @@ public class PurpurWorldConfig {
@@ -1711,6 +1760,7 @@ public class PurpurWorldConfig {
set("mobs.turtle.attributes.max_health", oldValue);
}
turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth);
@@ -913,7 +913,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
}
public boolean vexRidable = false;
@@ -1737,6 +1787,7 @@ public class PurpurWorldConfig {
@@ -1738,6 +1788,7 @@ public class PurpurWorldConfig {
public boolean villagerFollowEmeraldBlock = false;
public boolean villagerCanBeLeashed = false;
public boolean villagerCanBreed = true;
@@ -921,7 +921,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1750,6 +1801,7 @@ public class PurpurWorldConfig {
@@ -1751,6 +1802,7 @@ public class PurpurWorldConfig {
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
@@ -929,7 +929,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
}
public boolean vindicatorRidable = false;
@@ -1861,6 +1913,7 @@ public class PurpurWorldConfig {
@@ -1862,6 +1914,7 @@ public class PurpurWorldConfig {
public boolean wolfRidableInWater = true;
public boolean wolfControllable = true;
public double wolfMaxHealth = 8.0D;
@@ -937,7 +937,7 @@ index 736bfa6403b54c2822606f54f5aa9795f47a7477..ec00f1a76f5d9c26766348d445df64cf
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
@@ -1871,6 +1924,7 @@ public class PurpurWorldConfig {
@@ -1872,6 +1925,7 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
}
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -136,10 +136,10 @@ index b2ad6d230de2c29f371178bccde1111c7532ee70..6667926519a0f1c151e53f59cce36e74
if (((HangingEntity) object).survives()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ec00f1a76f5d9c26766348d445df64cff31963b1..5f7c0cda2e0ec0064f0fec80cfffd2ae6bad154c 100644
index a34579026b7eae1e314410b8d96aaa798beaf0f8..62f19e2173c5d4e81a2b36a40f551c25577e2d99 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -98,8 +98,10 @@ public class PurpurWorldConfig {
@@ -99,8 +99,10 @@ public class PurpurWorldConfig {
}
public float armorstandStepHeight = 0.0F;
@@ -150,7 +150,7 @@ index ec00f1a76f5d9c26766348d445df64cff31963b1..5f7c0cda2e0ec0064f0fec80cfffd2ae
}
public boolean arrowMovementResetsDespawnCounter = true;
@@ -112,6 +114,7 @@ public class PurpurWorldConfig {
@@ -113,6 +115,7 @@ public class PurpurWorldConfig {
public boolean disableDropsOnCrammingDeath = false;
public boolean entitiesCanUsePortals = true;
public boolean milkCuresBadOmen = true;
@@ -158,7 +158,7 @@ index ec00f1a76f5d9c26766348d445df64cff31963b1..5f7c0cda2e0ec0064f0fec80cfffd2ae
public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D;
@@ -123,6 +126,7 @@ public class PurpurWorldConfig {
@@ -124,6 +127,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);

View File

@@ -17,10 +17,10 @@ index 2941c16ef486345b57ab2dfcd26f0272285d3b5a..7cc6812bf6f2ba015f65fd1fc1eaac02
((Mob) newEntityLiving).setPersistenceRequired();
// Paper end
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5f7c0cda2e0ec0064f0fec80cfffd2ae6bad154c..703383e717b6d0873c74d482c72f2f2b8408d810 100644
index 62f19e2173c5d4e81a2b36a40f551c25577e2d99..3cc3a8043529c9f7e64ec1aaa4c108269df0a0f7 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -99,9 +99,11 @@ public class PurpurWorldConfig {
@@ -100,9 +100,11 @@ public class PurpurWorldConfig {
public float armorstandStepHeight = 0.0F;
public boolean armorstandSetNameVisible = true;

View File

@@ -8,7 +8,7 @@ This should help to reduce the amount of dirt, gravel, grass, and etc.
that Endermen like to randomly place all over the world.
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
index fef88df5d11943b5e8b1234678ede7a9e36205ff..306ea8ef2c51f6815691865739696b3e78f7a987 100644
index 3861f367ac01028139cc6db35fb9a1e20cb39457..f49cbb9fcd13afc10aa76ac80128162a902ae345 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -494,7 +494,7 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -21,10 +21,10 @@ index fef88df5d11943b5e8b1234678ede7a9e36205ff..306ea8ef2c51f6815691865739696b3e
private static class EndermanFreezeWhenLookedAt extends Goal {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 703383e717b6d0873c74d482c72f2f2b8408d810..c9d0105e06fc155b6c0a4641d649d8b916524fe3 100644
index 3cc3a8043529c9f7e64ec1aaa4c108269df0a0f7..c61274844ce91980685b214871bb33a1ee3fec03 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -838,6 +838,7 @@ public class PurpurWorldConfig {
@@ -839,6 +839,7 @@ public class PurpurWorldConfig {
public boolean endermanControllable = true;
public double endermanMaxHealth = 40.0D;
public boolean endermanAllowGriefing = true;
@@ -32,7 +32,7 @@ index 703383e717b6d0873c74d482c72f2f2b8408d810..c9d0105e06fc155b6c0a4641d649d8b9
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -849,6 +850,7 @@ public class PurpurWorldConfig {
@@ -850,6 +851,7 @@ public class PurpurWorldConfig {
}
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);
endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing);

View File

@@ -18,10 +18,10 @@ index 718e120c9768cf716b32d3d652f53f1dda925168..b90cedad282e95a067aca176fafa9f72
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c9d0105e06fc155b6c0a4641d649d8b916524fe3..85514215e4abaf73f389aef0ac0de980abb9be86 100644
index c61274844ce91980685b214871bb33a1ee3fec03..43e54201903ff144e1951d98c4be19fea95b542c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -355,6 +355,11 @@ public class PurpurWorldConfig {
@@ -356,6 +356,11 @@ public class PurpurWorldConfig {
//}
}

View File

@@ -18,10 +18,10 @@ index 64a682ea339809adfb8304a7f14d4a596e5332be..4e5a261ccb7fb63b82ac7194598729fd
} else {
this.setLeftHanded(false);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 85514215e4abaf73f389aef0ac0de980abb9be86..c3681d3afbffbc145bbbda7d341ad70f2b3a5df2 100644
index 43e54201903ff144e1951d98c4be19fea95b542c..002304cc00c5e870f968bcdd569f4b32802166fa 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -157,8 +157,10 @@ public class PurpurWorldConfig {
@@ -158,8 +158,10 @@ public class PurpurWorldConfig {
}
public int entityLifeSpan = 0;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add boat fall damage config
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 421aaf1fd85da9807bfe1b193bc13c5f3de2f474..3997d78770c503802bd354819d0258c16329858d 100644
index beaabee17209cc3a94dcd3b4272a2f772a83752f..e0d3407c4e2bc94dc656f3a238d2667bb77e2019 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1112,7 +1112,16 @@ public class ServerPlayer extends Player {
@@ -27,10 +27,10 @@ index 421aaf1fd85da9807bfe1b193bc13c5f3de2f474..3997d78770c503802bd354819d0258c1
if (!flag && isSpawnInvulnerable() && !source.is(DamageTypeTags.BYPASSES_INVULNERABILITY)) { // Purpur
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c3681d3afbffbc145bbbda7d341ad70f2b3a5df2..1ad31a516e0c072a62b7422c1fc7efc5a776f5d9 100644
index 002304cc00c5e870f968bcdd569f4b32802166fa..5156bdc06e30bb1ddd5f1d60fdc42cce032d65fc 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -113,6 +113,7 @@ public class PurpurWorldConfig {
@@ -114,6 +114,7 @@ public class PurpurWorldConfig {
public boolean useBetterMending = false;
public boolean boatEjectPlayersOnLand = false;
@@ -38,7 +38,7 @@ index c3681d3afbffbc145bbbda7d341ad70f2b3a5df2..1ad31a516e0c072a62b7422c1fc7efc5
public boolean disableDropsOnCrammingDeath = false;
public boolean entitiesCanUsePortals = true;
public boolean milkCuresBadOmen = true;
@@ -125,6 +126,7 @@ public class PurpurWorldConfig {
@@ -126,6 +127,7 @@ public class PurpurWorldConfig {
private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);

View File

@@ -10,7 +10,7 @@ If min-shoot-interval-ticks and max-shoot-interval-ticks are both set to
0, snow golems won't shoot any snowballs.
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 2a5ffaf5614e19305f4e08e15752364919e68a49..ecc0f221fca332b6f4d8feb72dbafc52e1002a23 100644
index bd9dd01e9140c2ad0ab9859b9a455f73ab04a253..d3da7487f911ff791dca5f7b546dccda751fe44c 100644
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
@@ -79,7 +79,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
@@ -23,10 +23,10 @@ index 2a5ffaf5614e19305f4e08e15752364919e68a49..ecc0f221fca332b6f4d8feb72dbafc52
this.goalSelector.addGoal(3, new LookAtPlayerGoal(this, Player.class, 6.0F));
this.goalSelector.addGoal(4, new RandomLookAroundGoal(this));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1ad31a516e0c072a62b7422c1fc7efc5a776f5d9..a721894795f32f3b7fa88bee19a7c4ac436c76e2 100644
index 5156bdc06e30bb1ddd5f1d60fdc42cce032d65fc..b72542b4f2f5a4d0440daae4569217afcfae16a6 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1610,6 +1610,10 @@ public class PurpurWorldConfig {
@@ -1611,6 +1611,10 @@ public class PurpurWorldConfig {
public double snowGolemMaxHealth = 4.0D;
public boolean snowGolemDropsPumpkin = true;
public boolean snowGolemPutPumpkinBack = false;
@@ -37,7 +37,7 @@ index 1ad31a516e0c072a62b7422c1fc7efc5a776f5d9..a721894795f32f3b7fa88bee19a7c4ac
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1623,6 +1627,10 @@ public class PurpurWorldConfig {
@@ -1624,6 +1628,10 @@ public class PurpurWorldConfig {
snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth);
snowGolemDropsPumpkin = getBoolean("mobs.snow_golem.drop-pumpkin-when-sheared", snowGolemDropsPumpkin);
snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack);

View File

@@ -174,10 +174,10 @@ index ac70c2c03241e73943bd517a8c69dd05e0873634..0318663a824d2a9515f867a075d148c3
public static final VillagerProfession FISHERMAN = register("fisherman", PoiTypes.FISHERMAN, SoundEvents.VILLAGER_WORK_FISHERMAN);
public static final VillagerProfession FLETCHER = register("fletcher", PoiTypes.FLETCHER, SoundEvents.VILLAGER_WORK_FLETCHER);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a721894795f32f3b7fa88bee19a7c4ac436c76e2..0de1b1cf77eef8e0d40f53ad9e4ff550e4299875 100644
index b72542b4f2f5a4d0440daae4569217afcfae16a6..fccd76f1107c5f95698ac4814ae2dac5e4d13440 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1813,6 +1813,8 @@ public class PurpurWorldConfig {
@@ -1814,6 +1814,8 @@ public class PurpurWorldConfig {
public boolean villagerCanBeLeashed = false;
public boolean villagerCanBreed = true;
public int villagerBreedingTicks = 6000;
@@ -186,7 +186,7 @@ index a721894795f32f3b7fa88bee19a7c4ac436c76e2..0de1b1cf77eef8e0d40f53ad9e4ff550
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1827,6 +1829,8 @@ public class PurpurWorldConfig {
@@ -1828,6 +1830,8 @@ public class PurpurWorldConfig {
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks);

View File

@@ -35,10 +35,10 @@ index 3d61b27c23d90e87fdfc8c170eafc116716ac047..67fd554cfd6b848ca1f2cf804ad4543a
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0de1b1cf77eef8e0d40f53ad9e4ff550e4299875..9fd1415a9f9e3340115ce9e9b990370ab3b8cad4 100644
index fccd76f1107c5f95698ac4814ae2dac5e4d13440..dd3c9dd7bb6de648785a74fab7e011b6c472a0ed 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2057,6 +2057,7 @@ public class PurpurWorldConfig {
@@ -2058,6 +2058,7 @@ public class PurpurWorldConfig {
public boolean zombifiedPiglinJockeyOnlyBaby = true;
public double zombifiedPiglinJockeyChance = 0.05D;
public boolean zombifiedPiglinJockeyTryExistingChickens = true;
@@ -46,7 +46,7 @@ index 0de1b1cf77eef8e0d40f53ad9e4ff550e4299875..9fd1415a9f9e3340115ce9e9b990370a
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -2071,5 +2072,6 @@ public class PurpurWorldConfig {
@@ -2072,5 +2073,6 @@ public class PurpurWorldConfig {
zombifiedPiglinJockeyOnlyBaby = getBoolean("mobs.zombified_piglin.jockey.only-babies", zombifiedPiglinJockeyOnlyBaby);
zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance);
zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens);

View File

@@ -221,10 +221,10 @@ index e43fd3e59fd8c74828ae65965fade27f56beef65..b2f133c8baabba1cffa6e92ea0f85453
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9fd1415a9f9e3340115ce9e9b990370ab3b8cad4..825fb3e6fecf8ac3b9d05d7f794e9facc036507a 100644
index dd3c9dd7bb6de648785a74fab7e011b6c472a0ed..0ccb2b3304482b6e8d92e3b9b4889e7b3823ed5b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1942,6 +1942,8 @@ public class PurpurWorldConfig {
@@ -1943,6 +1943,8 @@ public class PurpurWorldConfig {
public boolean wolfRidableInWater = true;
public boolean wolfControllable = true;
public double wolfMaxHealth = 8.0D;
@@ -233,7 +233,7 @@ index 9fd1415a9f9e3340115ce9e9b990370ab3b8cad4..825fb3e6fecf8ac3b9d05d7f794e9fac
public int wolfBreedingTicks = 6000;
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
@@ -1953,6 +1955,8 @@ public class PurpurWorldConfig {
@@ -1954,6 +1956,8 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
}
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -43,10 +43,10 @@ index f39b278bc520a4785e9fa472bccd836ad1daac85..8d71d0ad4bf8e0df8ded9ebce6f39e66
protected void registerGoals() {
this.goalSelector.addGoal(1, new FloatGoal(this));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 825fb3e6fecf8ac3b9d05d7f794e9facc036507a..1260e700ebfcf9e74200a36675794c1c9d14d298 100644
index 0ccb2b3304482b6e8d92e3b9b4889e7b3823ed5b..181cdc70c31e59205f5a1cbf66b8584bcb3dccf8 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -626,6 +626,7 @@ public class PurpurWorldConfig {
@@ -627,6 +627,7 @@ public class PurpurWorldConfig {
public int catSpawnSwampHutScanRange = 16;
public int catSpawnVillageScanRange = 48;
public int catBreedingTicks = 6000;
@@ -54,7 +54,7 @@ index 825fb3e6fecf8ac3b9d05d7f794e9facc036507a..1260e700ebfcf9e74200a36675794c1c
private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
@@ -640,6 +641,11 @@ public class PurpurWorldConfig {
@@ -641,6 +642,11 @@ public class PurpurWorldConfig {
catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange);
catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange);
catBreedingTicks = getInt("mobs.cat.breeding-delay-ticks", catBreedingTicks);
@@ -66,7 +66,7 @@ index 825fb3e6fecf8ac3b9d05d7f794e9facc036507a..1260e700ebfcf9e74200a36675794c1c
}
public boolean caveSpiderRidable = false;
@@ -1942,6 +1948,7 @@ public class PurpurWorldConfig {
@@ -1943,6 +1949,7 @@ public class PurpurWorldConfig {
public boolean wolfRidableInWater = true;
public boolean wolfControllable = true;
public double wolfMaxHealth = 8.0D;
@@ -74,7 +74,7 @@ index 825fb3e6fecf8ac3b9d05d7f794e9facc036507a..1260e700ebfcf9e74200a36675794c1c
public boolean wolfMilkCuresRabies = true;
public double wolfNaturalRabid = 0.0D;
public int wolfBreedingTicks = 6000;
@@ -1955,6 +1962,11 @@ public class PurpurWorldConfig {
@@ -1956,6 +1963,11 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
}
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -17,10 +17,10 @@ index 899a7d3989b51456600787ae09b1736f83bf9a65..076a881412d40ce6a8f5e5f83f7598bf
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1260e700ebfcf9e74200a36675794c1c9d14d298..4fe6a35d1d37001ef367dee00a0e447916b878b5 100644
index 181cdc70c31e59205f5a1cbf66b8584bcb3dccf8..d9228513f08ba3369b34697115e572a2c5618e88 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1304,6 +1304,7 @@ public class PurpurWorldConfig {
@@ -1305,6 +1305,7 @@ public class PurpurWorldConfig {
public int phantomBurnInLight = 0;
public boolean phantomIgnorePlayersWithTorch = false;
public boolean phantomBurnInDaylight = true;
@@ -28,7 +28,7 @@ index 1260e700ebfcf9e74200a36675794c1c9d14d298..4fe6a35d1d37001ef367dee00a0e4479
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -1337,6 +1338,7 @@ public class PurpurWorldConfig {
@@ -1338,6 +1339,7 @@ public class PurpurWorldConfig {
phantomBurnInLight = getInt("mobs.phantom.burn-in-light", phantomBurnInLight);
phantomBurnInDaylight = getBoolean("mobs.phantom.burn-in-daylight", phantomBurnInDaylight);
phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch);

View File

@@ -17,10 +17,10 @@ index 5e22d175b1048a58802cdf64ac70a8b56329e915..d81946b400f208c39941128ce823ff77
return world.getBlockState(blockposition1).isRedstoneConductor(world, blockposition1);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4fe6a35d1d37001ef367dee00a0e447916b878b5..fc94719827a3d8dde4aa18de3a72a35ab5dff52f 100644
index d9228513f08ba3369b34697115e572a2c5618e88..565e6af708ff604d8d15b3537ed668e2f6b579e8 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -424,6 +424,11 @@ public class PurpurWorldConfig {
@@ -425,6 +425,11 @@ public class PurpurWorldConfig {
}
}

View File

@@ -29,10 +29,10 @@ index 93dca4758ed995373fe1585930f225604a4153fa..4c077c94b654f54465ece2aa45c5ead0
if (!this.level().isClientSide) {
player.startRiding(this);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index fc94719827a3d8dde4aa18de3a72a35ab5dff52f..3cf6841b12864797972ab3be9faf3d59b4cdf3ae 100644
index 565e6af708ff604d8d15b3537ed668e2f6b579e8..ffc67f25e6a73349f827917178d5941e26d44ca9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1716,6 +1716,7 @@ public class PurpurWorldConfig {
@@ -1717,6 +1717,7 @@ public class PurpurWorldConfig {
public boolean striderControllable = true;
public double striderMaxHealth = 20.0D;
public int striderBreedingTicks = 6000;
@@ -40,7 +40,7 @@ index fc94719827a3d8dde4aa18de3a72a35ab5dff52f..3cf6841b12864797972ab3be9faf3d59
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1727,6 +1728,7 @@ public class PurpurWorldConfig {
@@ -1728,6 +1729,7 @@ public class PurpurWorldConfig {
}
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks);

View File

@@ -26,10 +26,10 @@ index fa2a0cc24bbe31abd49ce0f3f41bab2aa5d9c81f..04e816f01db7d2de7ffa9bbaaa72daad
protected ItemCooldowns createItemCooldowns() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3cf6841b12864797972ab3be9faf3d59b4cdf3ae..3252fe3a76879939256a41a816b95f5c3ec3d65e 100644
index ffc67f25e6a73349f827917178d5941e26d44ca9..4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -296,6 +296,19 @@ public class PurpurWorldConfig {
@@ -297,6 +297,19 @@ public class PurpurWorldConfig {
villageSiegeSpawning = getBoolean("gameplay-mechanics.mob-spawning.village-sieges", predicate);
}

View File

@@ -374,10 +374,10 @@ index 1942649e868fc985a488034c411a6721595ecc67..7495e0e8beedad59fff24ebf189b58b3
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3252fe3a76879939256a41a816b95f5c3ec3d65e..63c24ce12c9b564404aaaff7e185885b69695aa7 100644
index 4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4..d5838c1181f1fac4f094690d70b2309c97121c58 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -116,8 +116,11 @@ public class PurpurWorldConfig {
@@ -117,8 +117,11 @@ public class PurpurWorldConfig {
public boolean boatsDoFallDamage = false;
public boolean disableDropsOnCrammingDeath = false;
public boolean entitiesCanUsePortals = true;
@@ -389,7 +389,7 @@ index 3252fe3a76879939256a41a816b95f5c3ec3d65e..63c24ce12c9b564404aaaff7e185885b
public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D;
@@ -129,8 +132,11 @@ public class PurpurWorldConfig {
@@ -130,8 +133,11 @@ public class PurpurWorldConfig {
boatsDoFallDamage = getBoolean("gameplay-mechanics.boat.do-fall-damage", boatsDoFallDamage);
disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals);
@@ -401,7 +401,7 @@ index 3252fe3a76879939256a41a816b95f5c3ec3d65e..63c24ce12c9b564404aaaff7e185885b
tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight);
voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight);
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
@@ -449,9 +455,11 @@ public class PurpurWorldConfig {
@@ -450,9 +456,11 @@ public class PurpurWorldConfig {
dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils);
}
@@ -413,7 +413,7 @@ index 3252fe3a76879939256a41a816b95f5c3ec3d65e..63c24ce12c9b564404aaaff7e185885b
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
farmlandAlpha = getBoolean("blocks.farmland.use-alpha-farmland", farmlandAlpha);
}
@@ -476,6 +484,11 @@ public class PurpurWorldConfig {
@@ -477,6 +485,11 @@ public class PurpurWorldConfig {
lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether);
}
@@ -425,7 +425,7 @@ index 3252fe3a76879939256a41a816b95f5c3ec3d65e..63c24ce12c9b564404aaaff7e185885b
public boolean respawnAnchorExplode = true;
public double respawnAnchorExplosionPower = 5.0D;
public boolean respawnAnchorExplosionFire = true;
@@ -505,10 +518,12 @@ public class PurpurWorldConfig {
@@ -506,10 +519,12 @@ public class PurpurWorldConfig {
public boolean turtleEggsBreakFromExpOrbs = true;
public boolean turtleEggsBreakFromItems = true;
public boolean turtleEggsBreakFromMinecarts = true;
@@ -438,7 +438,7 @@ index 3252fe3a76879939256a41a816b95f5c3ec3d65e..63c24ce12c9b564404aaaff7e185885b
}
public int waterInfiniteRequiredSources = 2;
@@ -742,6 +757,7 @@ public class PurpurWorldConfig {
@@ -743,6 +758,7 @@ public class PurpurWorldConfig {
public double creeperMaxHealth = 20.0D;
public double creeperChargedChance = 0.0D;
public boolean creeperAllowGriefing = true;
@@ -446,7 +446,7 @@ index 3252fe3a76879939256a41a816b95f5c3ec3d65e..63c24ce12c9b564404aaaff7e185885b
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -754,6 +770,7 @@ public class PurpurWorldConfig {
@@ -755,6 +771,7 @@ public class PurpurWorldConfig {
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth);
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing);
@@ -454,7 +454,7 @@ index 3252fe3a76879939256a41a816b95f5c3ec3d65e..63c24ce12c9b564404aaaff7e185885b
}
public boolean dolphinRidable = false;
@@ -848,6 +865,7 @@ public class PurpurWorldConfig {
@@ -849,6 +866,7 @@ public class PurpurWorldConfig {
public double enderDragonMaxY = 320D;
public double enderDragonMaxHealth = 200.0D;
public boolean enderDragonAlwaysDropsFullExp = false;
@@ -462,7 +462,7 @@ index 3252fe3a76879939256a41a816b95f5c3ec3d65e..63c24ce12c9b564404aaaff7e185885b
private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
@@ -864,6 +882,7 @@ public class PurpurWorldConfig {
@@ -865,6 +883,7 @@ public class PurpurWorldConfig {
}
enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth);
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
@@ -470,7 +470,7 @@ index 3252fe3a76879939256a41a816b95f5c3ec3d65e..63c24ce12c9b564404aaaff7e185885b
}
public boolean endermanRidable = false;
@@ -872,6 +891,7 @@ public class PurpurWorldConfig {
@@ -873,6 +892,7 @@ public class PurpurWorldConfig {
public double endermanMaxHealth = 40.0D;
public boolean endermanAllowGriefing = true;
public boolean endermanDespawnEvenWithBlock = false;
@@ -478,7 +478,7 @@ index 3252fe3a76879939256a41a816b95f5c3ec3d65e..63c24ce12c9b564404aaaff7e185885b
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -884,6 +904,7 @@ public class PurpurWorldConfig {
@@ -885,6 +905,7 @@ public class PurpurWorldConfig {
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);
endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing);
endermanDespawnEvenWithBlock = getBoolean("mobs.enderman.can-despawn-with-held-block", endermanDespawnEvenWithBlock);
@@ -486,7 +486,7 @@ index 3252fe3a76879939256a41a816b95f5c3ec3d65e..63c24ce12c9b564404aaaff7e185885b
}
public boolean endermiteRidable = false;
@@ -906,6 +927,7 @@ public class PurpurWorldConfig {
@@ -907,6 +928,7 @@ public class PurpurWorldConfig {
public boolean evokerRidableInWater = true;
public boolean evokerControllable = true;
public double evokerMaxHealth = 24.0D;
@@ -494,7 +494,7 @@ index 3252fe3a76879939256a41a816b95f5c3ec3d65e..63c24ce12c9b564404aaaff7e185885b
private void evokerSettings() {
evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable);
evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater);
@@ -916,6 +938,7 @@ public class PurpurWorldConfig {
@@ -917,6 +939,7 @@ public class PurpurWorldConfig {
set("mobs.evoker.attributes.max_health", oldValue);
}
evokerMaxHealth = getDouble("mobs.evoker.attributes.max_health", evokerMaxHealth);
@@ -502,7 +502,7 @@ index 3252fe3a76879939256a41a816b95f5c3ec3d65e..63c24ce12c9b564404aaaff7e185885b
}
public boolean foxRidable = false;
@@ -924,6 +947,7 @@ public class PurpurWorldConfig {
@@ -925,6 +948,7 @@ public class PurpurWorldConfig {
public double foxMaxHealth = 10.0D;
public boolean foxTypeChangesWithTulips = false;
public int foxBreedingTicks = 6000;
@@ -510,7 +510,7 @@ index 3252fe3a76879939256a41a816b95f5c3ec3d65e..63c24ce12c9b564404aaaff7e185885b
private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -936,6 +960,7 @@ public class PurpurWorldConfig {
@@ -937,6 +961,7 @@ public class PurpurWorldConfig {
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks);
@@ -518,7 +518,7 @@ index 3252fe3a76879939256a41a816b95f5c3ec3d65e..63c24ce12c9b564404aaaff7e185885b
}
public boolean frogRidable = false;
@@ -1383,6 +1408,7 @@ public class PurpurWorldConfig {
@@ -1384,6 +1409,7 @@ public class PurpurWorldConfig {
public boolean piglinRidableInWater = true;
public boolean piglinControllable = true;
public double piglinMaxHealth = 16.0D;
@@ -526,7 +526,7 @@ index 3252fe3a76879939256a41a816b95f5c3ec3d65e..63c24ce12c9b564404aaaff7e185885b
private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -1393,6 +1419,7 @@ public class PurpurWorldConfig {
@@ -1394,6 +1420,7 @@ public class PurpurWorldConfig {
set("mobs.piglin.attributes.max_health", oldValue);
}
piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth);
@@ -534,7 +534,7 @@ index 3252fe3a76879939256a41a816b95f5c3ec3d65e..63c24ce12c9b564404aaaff7e185885b
}
public boolean piglinBruteRidable = false;
@@ -1415,6 +1442,7 @@ public class PurpurWorldConfig {
@@ -1416,6 +1443,7 @@ public class PurpurWorldConfig {
public boolean pillagerRidableInWater = true;
public boolean pillagerControllable = true;
public double pillagerMaxHealth = 24.0D;
@@ -542,7 +542,7 @@ index 3252fe3a76879939256a41a816b95f5c3ec3d65e..63c24ce12c9b564404aaaff7e185885b
private void pillagerSettings() {
pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable);
pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater);
@@ -1425,6 +1453,7 @@ public class PurpurWorldConfig {
@@ -1426,6 +1454,7 @@ public class PurpurWorldConfig {
set("mobs.pillager.attributes.max_health", oldValue);
}
pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth);
@@ -550,7 +550,7 @@ index 3252fe3a76879939256a41a816b95f5c3ec3d65e..63c24ce12c9b564404aaaff7e185885b
}
public boolean polarBearRidable = false;
@@ -1471,6 +1500,7 @@ public class PurpurWorldConfig {
@@ -1472,6 +1501,7 @@ public class PurpurWorldConfig {
public double rabbitNaturalToast = 0.0D;
public double rabbitNaturalKiller = 0.0D;
public int rabbitBreedingTicks = 6000;
@@ -558,7 +558,7 @@ index 3252fe3a76879939256a41a816b95f5c3ec3d65e..63c24ce12c9b564404aaaff7e185885b
private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -1484,12 +1514,14 @@ public class PurpurWorldConfig {
@@ -1485,12 +1515,14 @@ public class PurpurWorldConfig {
rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast);
rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks);
@@ -573,7 +573,7 @@ index 3252fe3a76879939256a41a816b95f5c3ec3d65e..63c24ce12c9b564404aaaff7e185885b
private void ravagerSettings() {
ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable);
ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater);
@@ -1500,6 +1532,7 @@ public class PurpurWorldConfig {
@@ -1501,6 +1533,7 @@ public class PurpurWorldConfig {
set("mobs.ravager.attributes.max_health", oldValue);
}
ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth);
@@ -581,7 +581,7 @@ index 3252fe3a76879939256a41a816b95f5c3ec3d65e..63c24ce12c9b564404aaaff7e185885b
}
public boolean salmonRidable = false;
@@ -1521,6 +1554,7 @@ public class PurpurWorldConfig {
@@ -1522,6 +1555,7 @@ public class PurpurWorldConfig {
public boolean sheepControllable = true;
public double sheepMaxHealth = 8.0D;
public int sheepBreedingTicks = 6000;
@@ -589,7 +589,7 @@ index 3252fe3a76879939256a41a816b95f5c3ec3d65e..63c24ce12c9b564404aaaff7e185885b
private void sheepSettings() {
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
@@ -1532,6 +1566,7 @@ public class PurpurWorldConfig {
@@ -1533,6 +1567,7 @@ public class PurpurWorldConfig {
}
sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth);
sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks);
@@ -597,7 +597,7 @@ index 3252fe3a76879939256a41a816b95f5c3ec3d65e..63c24ce12c9b564404aaaff7e185885b
}
public boolean shulkerRidable = false;
@@ -1554,6 +1589,7 @@ public class PurpurWorldConfig {
@@ -1555,6 +1590,7 @@ public class PurpurWorldConfig {
public boolean silverfishRidableInWater = true;
public boolean silverfishControllable = true;
public double silverfishMaxHealth = 8.0D;
@@ -605,7 +605,7 @@ index 3252fe3a76879939256a41a816b95f5c3ec3d65e..63c24ce12c9b564404aaaff7e185885b
private void silverfishSettings() {
silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable);
silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater);
@@ -1564,6 +1600,7 @@ public class PurpurWorldConfig {
@@ -1565,6 +1601,7 @@ public class PurpurWorldConfig {
set("mobs.silverfish.attributes.max_health", oldValue);
}
silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth);
@@ -613,7 +613,7 @@ index 3252fe3a76879939256a41a816b95f5c3ec3d65e..63c24ce12c9b564404aaaff7e185885b
}
public boolean skeletonRidable = false;
@@ -1640,6 +1677,7 @@ public class PurpurWorldConfig {
@@ -1641,6 +1678,7 @@ public class PurpurWorldConfig {
public int snowGolemSnowBallMax = 20;
public float snowGolemSnowBallModifier = 10.0F;
public double snowGolemAttackDistance = 1.25D;
@@ -621,7 +621,7 @@ index 3252fe3a76879939256a41a816b95f5c3ec3d65e..63c24ce12c9b564404aaaff7e185885b
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1657,6 +1695,7 @@ public class PurpurWorldConfig {
@@ -1658,6 +1696,7 @@ public class PurpurWorldConfig {
snowGolemSnowBallMax = getInt("mobs.snow_golem.max-shoot-interval-ticks", snowGolemSnowBallMax);
snowGolemSnowBallModifier = (float) getDouble("mobs.snow_golem.snow-ball-modifier", snowGolemSnowBallModifier);
snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance);
@@ -629,7 +629,7 @@ index 3252fe3a76879939256a41a816b95f5c3ec3d65e..63c24ce12c9b564404aaaff7e185885b
}
public boolean snifferRidable = false;
@@ -1843,6 +1882,7 @@ public class PurpurWorldConfig {
@@ -1844,6 +1883,7 @@ public class PurpurWorldConfig {
public int villagerBreedingTicks = 6000;
public boolean villagerClericsFarmWarts = false;
public boolean villagerClericFarmersThrowWarts = true;
@@ -637,7 +637,7 @@ index 3252fe3a76879939256a41a816b95f5c3ec3d65e..63c24ce12c9b564404aaaff7e185885b
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1859,6 +1899,7 @@ public class PurpurWorldConfig {
@@ -1860,6 +1900,7 @@ public class PurpurWorldConfig {
villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks);
villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts);
villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts);
@@ -645,7 +645,7 @@ index 3252fe3a76879939256a41a816b95f5c3ec3d65e..63c24ce12c9b564404aaaff7e185885b
}
public boolean vindicatorRidable = false;
@@ -1931,6 +1972,7 @@ public class PurpurWorldConfig {
@@ -1932,6 +1973,7 @@ public class PurpurWorldConfig {
public double witherMaxHealth = 300.0D;
public float witherHealthRegenAmount = 1.0f;
public int witherHealthRegenDelay = 20;
@@ -653,7 +653,7 @@ index 3252fe3a76879939256a41a816b95f5c3ec3d65e..63c24ce12c9b564404aaaff7e185885b
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1948,6 +1990,7 @@ public class PurpurWorldConfig {
@@ -1949,6 +1991,7 @@ public class PurpurWorldConfig {
witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth);
witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount);
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
@@ -661,7 +661,7 @@ index 3252fe3a76879939256a41a816b95f5c3ec3d65e..63c24ce12c9b564404aaaff7e185885b
}
public boolean witherSkeletonRidable = false;
@@ -2019,6 +2062,7 @@ public class PurpurWorldConfig {
@@ -2020,6 +2063,7 @@ public class PurpurWorldConfig {
public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true;
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
@@ -669,7 +669,7 @@ index 3252fe3a76879939256a41a816b95f5c3ec3d65e..63c24ce12c9b564404aaaff7e185885b
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -2034,6 +2078,7 @@ public class PurpurWorldConfig {
@@ -2035,6 +2079,7 @@ public class PurpurWorldConfig {
zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance);
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);
zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging);

View File

@@ -9,7 +9,7 @@ Normally, the sounds will only play when the block directly above is air.
With this patch enabled, players can place any block above the Note Block and it will still work.
diff --git a/src/main/java/net/minecraft/world/level/block/NoteBlock.java b/src/main/java/net/minecraft/world/level/block/NoteBlock.java
index 6bc29eeb5771a3dc9aa23c7d184c895717797b36..244857755f269eedd57d1c8d4657b4b4b75de2e5 100644
index e46d84750bdd7c940f400efda226e12a3fdc3848..6343cd0c33cafb30225cfae17ea1cf15859073b1 100644
--- a/src/main/java/net/minecraft/world/level/block/NoteBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/NoteBlock.java
@@ -87,7 +87,7 @@ public class NoteBlock extends Block {
@@ -22,10 +22,10 @@ index 6bc29eeb5771a3dc9aa23c7d184c895717797b36..244857755f269eedd57d1c8d4657b4b4
// org.bukkit.event.block.NotePlayEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callNotePlayEvent(world, pos, state.getValue(NoteBlock.INSTRUMENT), state.getValue(NoteBlock.NOTE));
// if (event.isCancelled()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 63c24ce12c9b564404aaaff7e185885b69695aa7..db63b9f52f98bc893d187335e4b53368709fb495 100644
index d5838c1181f1fac4f094690d70b2309c97121c58..ec636cb8030645d27af981e03d5a5dd1079ebd1b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -119,6 +119,7 @@ public class PurpurWorldConfig {
@@ -120,6 +120,7 @@ public class PurpurWorldConfig {
public boolean entitiesPickUpLootBypassMobGriefing = false;
public boolean fireballsBypassMobGriefing = false;
public boolean milkCuresBadOmen = true;
@@ -33,7 +33,7 @@ index 63c24ce12c9b564404aaaff7e185885b69695aa7..db63b9f52f98bc893d187335e4b53368
public boolean persistentDroppableEntityDisplayNames = true;
public boolean projectilesBypassMobGriefing = false;
public double tridentLoyaltyVoidReturnHeight = 0.0D;
@@ -135,6 +136,7 @@ public class PurpurWorldConfig {
@@ -136,6 +137,7 @@ public class PurpurWorldConfig {
entitiesPickUpLootBypassMobGriefing = getBoolean("gameplay-mechanics.entities-pick-up-loot-bypass-mob-griefing", entitiesPickUpLootBypassMobGriefing);
fireballsBypassMobGriefing = getBoolean("gameplay-mechanics.fireballs-bypass-mob-griefing", fireballsBypassMobGriefing);
milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);

View File

@@ -104,10 +104,10 @@ index 4a775ffe8880c90def23e421fd3de17f9440f728..ee2ce224defb5174f112ab25d7f470e2
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index db63b9f52f98bc893d187335e4b53368709fb495..b32d2e03de557521af596cc8e7ea05c3d00c1ee6 100644
index ec636cb8030645d27af981e03d5a5dd1079ebd1b..5590d2a68e395686d9208c833d642df7ed17a546 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -118,6 +118,7 @@ public class PurpurWorldConfig {
@@ -119,6 +119,7 @@ public class PurpurWorldConfig {
public boolean entitiesCanUsePortals = true;
public boolean entitiesPickUpLootBypassMobGriefing = false;
public boolean fireballsBypassMobGriefing = false;
@@ -115,7 +115,7 @@ index db63b9f52f98bc893d187335e4b53368709fb495..b32d2e03de557521af596cc8e7ea05c3
public boolean milkCuresBadOmen = true;
public boolean noteBlockIgnoreAbove = false;
public boolean persistentDroppableEntityDisplayNames = true;
@@ -135,6 +136,7 @@ public class PurpurWorldConfig {
@@ -136,6 +137,7 @@ public class PurpurWorldConfig {
entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals);
entitiesPickUpLootBypassMobGriefing = getBoolean("gameplay-mechanics.entities-pick-up-loot-bypass-mob-griefing", entitiesPickUpLootBypassMobGriefing);
fireballsBypassMobGriefing = getBoolean("gameplay-mechanics.fireballs-bypass-mob-griefing", fireballsBypassMobGriefing);

View File

@@ -37,10 +37,10 @@ index e7b5f54d2fc53878e9466ccca972df21f10a7d67..56e66fcd840d0d3681ba671d1ffc51b2
if (!CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.DIRT.defaultBlockState())) {
return;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b32d2e03de557521af596cc8e7ea05c3d00c1ee6..71d7ce7154d10f4fba78114583f560492492f2ae 100644
index 5590d2a68e395686d9208c833d642df7ed17a546..6544afaea0c4aaf8c7d07d5e751b73f03c9bad5c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -462,10 +462,16 @@ public class PurpurWorldConfig {
@@ -463,10 +463,16 @@ public class PurpurWorldConfig {
public boolean farmlandBypassMobGriefing = false;
public boolean farmlandGetsMoistFromBelow = false;
public boolean farmlandAlpha = false;

View File

@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index c565d863808a9facd561fb9704c2a9ce4ba2d5e2..168a906927ecb054c7dede2ceafa52bf80ebcace 100644
index 9be349874c40722f05ad5b81e62dcd0098acc7c4..d9a206106cc25be50d7d34cbe7031139a0d5ab83 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1874,7 +1874,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -66,10 +66,10 @@ index 76222084727c269d376d0df5702204c0bdf59d81..b48a3d318a14889c68a1de5c1997b109
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 71d7ce7154d10f4fba78114583f560492492f2ae..ab65b591d900e5e0681c37647f2c1c8fb56b6429 100644
index 6544afaea0c4aaf8c7d07d5e751b73f03c9bad5c..a99f9abfeaa6bf13fcd03beaf6a8a49c4f3d7ee4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -100,10 +100,16 @@ public class PurpurWorldConfig {
@@ -101,10 +101,16 @@ public class PurpurWorldConfig {
public float armorstandStepHeight = 0.0F;
public boolean armorstandSetNameVisible = true;
public boolean armorstandFixNametags = false;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Fix stuck in portals
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 6408bc1749c08fe5255c054bf4342e0870db2a20..7c1b92611f175156116554b5d33636ecc888701d 100644
index acee9e7e636d2e65a3bf32bbf5aae5170687f4a4..c8c51b8365e5b0129c7cd925f759e4cefc11d021 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1271,6 +1271,7 @@ public class ServerPlayer extends Player {
@@ -17,7 +17,7 @@ index 6408bc1749c08fe5255c054bf4342e0870db2a20..7c1b92611f175156116554b5d33636ec
// CraftBukkit end
this.setServerLevel(worldserver);
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 168a906927ecb054c7dede2ceafa52bf80ebcace..a9bccae1837004444469965ebd25910407aa886a 100644
index d9a206106cc25be50d7d34cbe7031139a0d5ab83..1dbbfd63d25597830146e40570051dfabe956901 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3058,12 +3058,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -37,10 +37,10 @@ index 168a906927ecb054c7dede2ceafa52bf80ebcace..a9bccae1837004444469965ebd259104
this.isInsidePortal = true;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ab65b591d900e5e0681c37647f2c1c8fb56b6429..e3d32488340fe82a5f005ce7818bb610fa7ad66e 100644
index a99f9abfeaa6bf13fcd03beaf6a8a49c4f3d7ee4..0b355dfaecafead7f11a7d55aaaf1e8e208a56fc 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -336,6 +336,7 @@ public class PurpurWorldConfig {
@@ -337,6 +337,7 @@ public class PurpurWorldConfig {
public int playerDeathExpDropMax = 100;
public boolean teleportIfOutsideBorder = false;
public boolean totemOfUndyingWorksInInventory = false;
@@ -48,7 +48,7 @@ index ab65b591d900e5e0681c37647f2c1c8fb56b6429..e3d32488340fe82a5f005ce7818bb610
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -353,6 +354,7 @@ public class PurpurWorldConfig {
@@ -354,6 +355,7 @@ public class PurpurWorldConfig {
playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax);
teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder);
totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory);

View File

@@ -59,10 +59,10 @@ index f3c3db958c359b3b032bd54c7732f16fce108ec3..c967302542eeac0bad33c3b53b7d5b2a
this.navigation.stop();
this.setTarget((LivingEntity) null);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index cc2a4e764e49106c1d7d9bfe9536140422f75df3..7922c9f96c327dec2394d2432362c26600531a52 100644
index ac2d30baa7b8111e0f629b1160b6d252ab09b1c4..2dbe2676806eb1d779ad78c0bfc33d836878a690 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -118,6 +118,7 @@ public class PurpurWorldConfig {
@@ -119,6 +119,7 @@ public class PurpurWorldConfig {
}
public boolean useBetterMending = false;
@@ -70,7 +70,7 @@ index cc2a4e764e49106c1d7d9bfe9536140422f75df3..7922c9f96c327dec2394d2432362c266
public boolean boatEjectPlayersOnLand = false;
public boolean boatsDoFallDamage = false;
public boolean disableDropsOnCrammingDeath = false;
@@ -136,6 +137,7 @@ public class PurpurWorldConfig {
@@ -137,6 +138,7 @@ public class PurpurWorldConfig {
public int animalBreedingCooldownSeconds = 0;
private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);

View File

@@ -53,10 +53,10 @@ index ef0098e46bda8abc456f2bb5929d874c6aeb8698..564d17bc460e2a04947ff9676fbf4c8b
this.onDestroyedBy(source);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7922c9f96c327dec2394d2432362c26600531a52..d8db1521d72ef75eec527a3948a2c0c47bb054fb 100644
index 2dbe2676806eb1d779ad78c0bfc33d836878a690..2bcd681d93e83eaefe23f017e5451c74823fd7e8 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -469,6 +469,43 @@ public class PurpurWorldConfig {
@@ -470,6 +470,43 @@ public class PurpurWorldConfig {
dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils);
}

View File

@@ -17,7 +17,7 @@ index f90b0ae4678da2ffa7d0a693003e05191d07f4bf..8a8895abe609b3be02aa896c40e4a2a2
}
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 953238d5e90cda8b0326ef38dd858a5f90251520..20a322a362fd36310e85e6efb110fff92df4d344 100644
index 6056180cf792534b450cb00977b5f7bc011d0ae4..257cd3ea1830b46d1c51242cd639c4f0e21c8774 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -731,6 +731,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@@ -29,10 +29,10 @@ index 953238d5e90cda8b0326ef38dd858a5f90251520..20a322a362fd36310e85e6efb110fff9
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d8db1521d72ef75eec527a3948a2c0c47bb054fb..16597dab08d121cabd68e4b5cca94d1cbde5d438 100644
index 2bcd681d93e83eaefe23f017e5451c74823fd7e8..096b81f19f22a6724b349e7078aa802321413557 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -952,6 +952,7 @@ public class PurpurWorldConfig {
@@ -953,6 +953,7 @@ public class PurpurWorldConfig {
public boolean enderDragonAlwaysDropsFullExp = false;
public boolean enderDragonBypassMobGriefing = false;
public boolean enderDragonTakeDamageFromWater = false;
@@ -40,7 +40,7 @@ index d8db1521d72ef75eec527a3948a2c0c47bb054fb..16597dab08d121cabd68e4b5cca94d1c
private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
@@ -970,6 +971,7 @@ public class PurpurWorldConfig {
@@ -971,6 +972,7 @@ public class PurpurWorldConfig {
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
enderDragonBypassMobGriefing = getBoolean("mobs.ender_dragon.bypass-mob-griefing", enderDragonBypassMobGriefing);
enderDragonTakeDamageFromWater = getBoolean("mobs.ender_dragon.takes-damage-from-water", enderDragonTakeDamageFromWater);
@@ -48,7 +48,7 @@ index d8db1521d72ef75eec527a3948a2c0c47bb054fb..16597dab08d121cabd68e4b5cca94d1c
}
public boolean endermanRidable = false;
@@ -2161,6 +2163,7 @@ public class PurpurWorldConfig {
@@ -2162,6 +2164,7 @@ public class PurpurWorldConfig {
public int witherHealthRegenDelay = 20;
public boolean witherBypassMobGriefing = false;
public boolean witherTakeDamageFromWater = false;
@@ -56,7 +56,7 @@ index d8db1521d72ef75eec527a3948a2c0c47bb054fb..16597dab08d121cabd68e4b5cca94d1c
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2180,6 +2183,7 @@ public class PurpurWorldConfig {
@@ -2181,6 +2184,7 @@ public class PurpurWorldConfig {
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing);
witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater);

View File

@@ -82,7 +82,7 @@ index 4604f8b38460e9113e966889a679d4547f24aff6..813916852774d6482791989252ecb67b
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index c696684d3ed2d5a6266d8add213e80bbc41b8afc..9753aa00f70365ea4e3402cee89fe96b9f2aa6f5 100644
index 04c8fb96bf347469ab9a0934cc50b7e06767a0ae..d5fb09b5f0f6a72addaa6a3053fa29b47535ca27 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -183,6 +183,7 @@ public class PurpurConfig {
@@ -107,10 +107,10 @@ index c696684d3ed2d5a6266d8add213e80bbc41b8afc..9753aa00f70365ea4e3402cee89fe96b
public static String serverModName = "Purpur";
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 16597dab08d121cabd68e4b5cca94d1cbde5d438..8ec0a1f82d2dff4860e79b5ff9ecd082e3115677 100644
index 096b81f19f22a6724b349e7078aa802321413557..e904831cbfbfe15b7b8d3fb60a95f643e73e9beb 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -198,6 +198,10 @@ public class PurpurWorldConfig {
@@ -199,6 +199,10 @@ public class PurpurWorldConfig {
public List<Item> itemImmuneToExplosion = new ArrayList<>();
public List<Item> itemImmuneToFire = new ArrayList<>();
public List<Item> itemImmuneToLightning = new ArrayList<>();
@@ -121,7 +121,7 @@ index 16597dab08d121cabd68e4b5cca94d1cbde5d438..8ec0a1f82d2dff4860e79b5ff9ecd082
private void itemSettings() {
itemImmuneToCactus.clear();
getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> {
@@ -235,6 +239,10 @@ public class PurpurWorldConfig {
@@ -236,6 +240,10 @@ public class PurpurWorldConfig {
Item item = BuiltInRegistries.ITEM.get(new ResourceLocation(key.toString()));
if (item != Items.AIR) itemImmuneToLightning.add(item);
});

View File

@@ -30,10 +30,10 @@ index 04b98c7c738682f5c1da27a6873a814eaca5d14b..9a4ac87ae3cc766ba4080cf5b4f3743d
if (human) {
// PAIL: Be sure to drag all this code from the EntityHuman subclass each update.
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8ec0a1f82d2dff4860e79b5ff9ecd082e3115677..10c903c09221348be3682fb6472a7b6365d3753c 100644
index e904831cbfbfe15b7b8d3fb60a95f643e73e9beb..5811fa10f499c213d97fa76249d12197c9585bc3 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -347,6 +347,7 @@ public class PurpurWorldConfig {
@@ -348,6 +348,7 @@ public class PurpurWorldConfig {
public boolean teleportIfOutsideBorder = false;
public boolean totemOfUndyingWorksInInventory = false;
public boolean playerFixStuckPortal = false;
@@ -41,7 +41,7 @@ index 8ec0a1f82d2dff4860e79b5ff9ecd082e3115677..10c903c09221348be3682fb6472a7b63
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -365,6 +366,7 @@ public class PurpurWorldConfig {
@@ -366,6 +367,7 @@ public class PurpurWorldConfig {
teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder);
totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory);
playerFixStuckPortal = getBoolean("gameplay-mechanics.player.fix-stuck-in-portal", playerFixStuckPortal);

View File

@@ -43,10 +43,10 @@ index 749ab72edc0d2e9c6f1161415ab8d59d3d6ca976..897c202c0905040072a06fdfa2032a7f
// Paper end
if (user instanceof net.minecraft.server.level.ServerPlayer) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 10c903c09221348be3682fb6472a7b6365d3753c..6a3343d5592b6bfabcff07de8f39f03a6ee3c651 100644
index 5811fa10f499c213d97fa76249d12197c9585bc3..75c66fe3feb853ffe2c852f6826199e0590dfd9a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -202,6 +202,10 @@ public class PurpurWorldConfig {
@@ -203,6 +203,10 @@ public class PurpurWorldConfig {
public boolean ignoreScissorsInWater = false;
public boolean ignoreScissorsInLava = false;
public double scissorsRunningDamage = 1D;
@@ -57,7 +57,7 @@ index 10c903c09221348be3682fb6472a7b6365d3753c..6a3343d5592b6bfabcff07de8f39f03a
private void itemSettings() {
itemImmuneToCactus.clear();
getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> {
@@ -243,6 +247,10 @@ public class PurpurWorldConfig {
@@ -244,6 +248,10 @@ public class PurpurWorldConfig {
ignoreScissorsInWater = getBoolean("gameplay-mechanics.item.shears.ignore-in-water", ignoreScissorsInWater);
ignoreScissorsInLava = getBoolean("gameplay-mechanics.item.shears.ignore-in-lava", ignoreScissorsInLava);
scissorsRunningDamage = getDouble("gameplay-mechanics.item.shears.sprinting-damage", scissorsRunningDamage);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Config to ignore nearby mobs when sleeping
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 7c1b92611f175156116554b5d33636ecc888701d..14835575d7c8d8cd66ed072feec3c27fb1183de4 100644
index c8c51b8365e5b0129c7cd925f759e4cefc11d021..6604c6d7da7867da29054d5dd003eb2b19efa051 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1430,7 +1430,7 @@ public class ServerPlayer extends Player {
@@ -18,10 +18,10 @@ index 7c1b92611f175156116554b5d33636ecc888701d..14835575d7c8d8cd66ed072feec3c27f
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6a3343d5592b6bfabcff07de8f39f03a6ee3c651..18ded931a18138ae8429adc81d897dc01b4c20a5 100644
index 75c66fe3feb853ffe2c852f6826199e0590dfd9a..d9b2cda4e20c85d5378562dadd0b4a2287477a17 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -356,6 +356,7 @@ public class PurpurWorldConfig {
@@ -357,6 +357,7 @@ public class PurpurWorldConfig {
public boolean totemOfUndyingWorksInInventory = false;
public boolean playerFixStuckPortal = false;
public boolean creativeOnePunch = false;
@@ -29,7 +29,7 @@ index 6a3343d5592b6bfabcff07de8f39f03a6ee3c651..18ded931a18138ae8429adc81d897dc0
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -375,6 +376,7 @@ public class PurpurWorldConfig {
@@ -376,6 +377,7 @@ public class PurpurWorldConfig {
totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory);
playerFixStuckPortal = getBoolean("gameplay-mechanics.player.fix-stuck-in-portal", playerFixStuckPortal);
creativeOnePunch = getBoolean("gameplay-mechanics.player.one-punch-in-creative", creativeOnePunch);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Config Enderman aggressiveness towards Endermites
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
index 69e78ed096fbd23151d9073ddb79079235c36a26..eb87bddf3dfd2d3daa861de8e86d726bbc42eef3 100644
index d4d4ad5dfa776a39eabb840ed5b49acb8d37f587..ea596b7344f1849a8c6a8d536881c9a8b9cadb86 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -132,7 +132,7 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -18,10 +18,10 @@ index 69e78ed096fbd23151d9073ddb79079235c36a26..eb87bddf3dfd2d3daa861de8e86d726b
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 18ded931a18138ae8429adc81d897dc01b4c20a5..17ef574eaa670dd5d1729d6535e4a74b8d3c7fdd 100644
index d9b2cda4e20c85d5378562dadd0b4a2287477a17..11be23755d469d62a744cc5f68f3cf8422f52c87 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1002,6 +1002,8 @@ public class PurpurWorldConfig {
@@ -1003,6 +1003,8 @@ public class PurpurWorldConfig {
public boolean endermanDespawnEvenWithBlock = false;
public boolean endermanBypassMobGriefing = false;
public boolean endermanTakeDamageFromWater = true;
@@ -30,7 +30,7 @@ index 18ded931a18138ae8429adc81d897dc01b4c20a5..17ef574eaa670dd5d1729d6535e4a74b
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -1011,11 +1013,17 @@ public class PurpurWorldConfig {
@@ -1012,11 +1014,17 @@ public class PurpurWorldConfig {
set("mobs.enderman.attributes.max-health", null);
set("mobs.enderman.attributes.max_health", oldValue);
}

View File

@@ -7,7 +7,7 @@ Prevents Enderman from becoming aggresive towards players that are wearing a Dra
Adds functionality to a useless item!
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
index eb87bddf3dfd2d3daa861de8e86d726bbc42eef3..b78c18c2c6a791539b87b9c0a5947ca0f731755c 100644
index ea596b7344f1849a8c6a8d536881c9a8b9cadb86..f4bf81ebcc792c8e04fa700e84b13b3b688dbdac 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -269,7 +269,7 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -20,10 +20,10 @@ index eb87bddf3dfd2d3daa861de8e86d726bbc42eef3..b78c18c2c6a791539b87b9c0a5947ca0
} else {
Vec3 vec3d = player.getViewVector(1.0F).normalize();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 17ef574eaa670dd5d1729d6535e4a74b8d3c7fdd..6c285c261456e5a7dffa54be905ae13401945b9f 100644
index 11be23755d469d62a744cc5f68f3cf8422f52c87..75b2e968086200a42e06d638eab171c0e7331f3d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1004,6 +1004,8 @@ public class PurpurWorldConfig {
@@ -1005,6 +1005,8 @@ public class PurpurWorldConfig {
public boolean endermanTakeDamageFromWater = true;
public boolean endermanAggroEndermites = true;
public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false;
@@ -32,7 +32,7 @@ index 17ef574eaa670dd5d1729d6535e4a74b8d3c7fdd..6c285c261456e5a7dffa54be905ae134
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -1024,6 +1026,8 @@ public class PurpurWorldConfig {
@@ -1025,6 +1027,8 @@ public class PurpurWorldConfig {
endermanTakeDamageFromWater = getBoolean("mobs.enderman.takes-damage-from-water", endermanTakeDamageFromWater);
endermanAggroEndermites = getBoolean("mobs.enderman.aggressive-towards-endermites", endermanAggroEndermites);
endermanAggroEndermitesOnlyIfPlayerSpawned = getBoolean("mobs.enderman.aggressive-towards-endermites-only-spawned-by-player-thrown-ender-pearls", endermanAggroEndermitesOnlyIfPlayerSpawned);

View File

@@ -36,10 +36,10 @@ index bbabe4ad8afcc3a2069f6e9d4a9adcb643266894..55419bd653f7f5391fa13cd15a0b00fb
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6c285c261456e5a7dffa54be905ae13401945b9f..e1e9eb17525c02ed0171cb03477248b613e4ec68 100644
index 75b2e968086200a42e06d638eab171c0e7331f3d..6d3196d6d069ee85342c6e14b1ca2f58b2e87edf 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -130,6 +130,7 @@ public class PurpurWorldConfig {
@@ -131,6 +131,7 @@ public class PurpurWorldConfig {
public boolean noteBlockIgnoreAbove = false;
public boolean persistentDroppableEntityDisplayNames = true;
public boolean projectilesBypassMobGriefing = false;
@@ -47,7 +47,7 @@ index 6c285c261456e5a7dffa54be905ae13401945b9f..e1e9eb17525c02ed0171cb03477248b6
public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D;
@@ -149,6 +150,7 @@ public class PurpurWorldConfig {
@@ -150,6 +151,7 @@ public class PurpurWorldConfig {
noteBlockIgnoreAbove = getBoolean("gameplay-mechanics.note-block-ignore-above", noteBlockIgnoreAbove);
persistentDroppableEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-droppable-entity-display-names", persistentDroppableEntityDisplayNames);
projectilesBypassMobGriefing = getBoolean("gameplay-mechanics.projectiles-bypass-mob-griefing", projectilesBypassMobGriefing);

Some files were not shown because too many files have changed in this diff Show More