configurable mob size attribute (#1538)

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

View File

@@ -72,7 +72,7 @@ index 2d344df35d47b4b1ecddf32ccaa4dae41e5f58cb..2f7ed5b38e8930b3a615f160cdf4c5b0
boolean flag1 = this.source.acceptsSuccess() && !this.silent; boolean flag1 = this.source.acceptsSuccess() && !this.silent;
boolean flag2 = broadcastToOps && this.source.shouldInformAdmins() && !this.silent; boolean flag2 = broadcastToOps && this.source.shouldInformAdmins() && !this.silent;
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 1bfab581e59c607c7a30eeda17c88bb2938536f2..4582215c4952c8557df0c50cc70302940eff40d7 100644 index 7d82cc6b847124cf4225428ba310309544928148..04fd1172b47a74b16955cf93fc20f64fd056b16e 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -236,6 +236,15 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -236,6 +236,15 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -92,7 +92,7 @@ index 1bfab581e59c607c7a30eeda17c88bb2938536f2..4582215c4952c8557df0c50cc7030294
this.setPvpAllowed(dedicatedserverproperties.pvp); this.setPvpAllowed(dedicatedserverproperties.pvp);
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index f1e085c712e4f128c813c3cf5340e6d2e4e55ccc..0e595bf509be9ea558ab94e5cfe0de10c58bfb1c 100644 index fee155c81df385faa474e3aec777a30375ecb07d..db8ae59dc8f1eb52c344210c03634fc0b0012e82 100644
--- a/src/main/java/net/minecraft/world/level/Level.java --- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -172,6 +172,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @@ -172,6 +172,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -159,7 +159,7 @@ index caf6ff33b42472d30f28629470e12889f50490cc..2047354b757cb239b5bbf8dfd8cce284
public void restart() { public void restart() {
org.spigotmc.RestartCommand.restart(); org.spigotmc.RestartCommand.restart();
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 6e1f92b45504cef0c4dcbbebf3df339ef4cad0a1..48e8b7405270632130721e87579ee2438a0f0b75 100644 index b63e965d726a5c96ec4f3aa16016f3610bb3f95a..6f8fa47897bcbde6db6c3297f6d929dd038e45ee 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java --- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -176,6 +176,14 @@ public class Main { @@ -176,6 +176,14 @@ public class Main {

View File

@@ -43,7 +43,7 @@ index b43f87ff4b9853b5d4bbea5ff9686d64d9d0d26b..b66d4047b5e529f5f737efb0ff1edda8
try { try {
String channels = payload.toString(com.google.common.base.Charsets.UTF_8); String channels = payload.toString(com.google.common.base.Charsets.UTF_8);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index c868abef790aa80863721490f69087343aba13e7..e099eb16dbe2bdf73874199ad57c7027498dd4ba 100644 index 7eea190ce8a62960ecc42ff56a4ef71b754184fb..3e912a8cf20c7a97efcbcb4fafa41827a71fa45b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -3553,4 +3553,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -3553,4 +3553,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {

View File

@@ -36,7 +36,7 @@ index 92e9a5e38cc60e3ef6d7e2216bf4a85cb2464cdd..47afcbc699a992358871fe90929f71b4
public void displayClientMessage(Component message, boolean overlay) { public void displayClientMessage(Component message, boolean overlay) {
this.sendSystemMessage(message, overlay); this.sendSystemMessage(message, overlay);
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 3d30427e75bdfb9cf453fb5cd2a344227da1641a..18c19b6029a167658623c3cf9814bb0857338117 100644 index ef177f21d654d69c128f3f39ea58f2d8ee598628..2642b0519e05da47694d68c19fc37e30cc2bb6ba 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java --- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1015,6 +1015,20 @@ public abstract class PlayerList { @@ -1015,6 +1015,20 @@ public abstract class PlayerList {

View File

@@ -22,7 +22,7 @@ index 2767d6f97e8b314d23a8e62f22dfd396f5660d31..a64e5997b94cc8173f0512d1e282355f
super(x, y, z); super(x, y, z);
} }
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index eb0a740f884fde081cabaec5a61c9b642a85a1b4..bbbd335ccefc197048350b580b407210918bbf21 100644 index 85ed9fd1f49163a77695524a1bb338097e4c35c3..827d994be0c486e56748f7066e0f27128f4aba5d 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1712,6 +1712,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1712,6 +1712,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -34,7 +34,7 @@ index eb0a740f884fde081cabaec5a61c9b642a85a1b4..bbbd335ccefc197048350b580b407210
this.profiler.push(() -> { this.profiler.push(() -> {
String s = String.valueOf(worldserver); String s = String.valueOf(worldserver);
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index b81ac6db8ba1ee0722e9e85f8de8ef91169a3198..bb61ccf3246ea69cf1eb097a95c3324d0802dae1 100644 index 798016774df02c3f7ebf909c9cc125f8427a39be..df01eaebfcb759eefb512b3c7eeb861e96f88688 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -229,6 +229,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. @@ -229,6 +229,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.

File diff suppressed because it is too large Load Diff

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Barrels and enderchests 6 rows
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index b708323c6ad3ff40e6f2af5bd24988a63918f37c..3db05bb52fef8e465e6d3575c8126521141c18c9 100644 index 2642b0519e05da47694d68c19fc37e30cc2bb6ba..8bf5db384a283086334e739942f12e97108d8c2f 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java --- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1140,6 +1140,27 @@ public abstract class PlayerList { @@ -1140,6 +1140,27 @@ public abstract class PlayerList {
@@ -215,7 +215,7 @@ index 6186e55014bbb9d5bedaa0e9d196879c55339d42..f4f11292d6d00f4a7c65e3e2a157bba5
@Override @Override
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
index 027d6d9c04dc4da5d978cc0c03a08a6efe93b4d9..243bb804925c64090ba807a4008eccb7067c6228 100644 index 10a5b1853d3984427209c87bdec1d471dddb1244..5e693a93b9d968f1628f86e46a86161f82a5f4c3 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
@@ -183,8 +183,19 @@ public class CraftContainer extends AbstractContainerMenu { @@ -183,8 +183,19 @@ public class CraftContainer extends AbstractContainerMenu {

View File

@@ -78,7 +78,7 @@ index ae41c955ec6cfe284fec5f8e79cb827ea20facc0..d39ade65011030b9079bf6001196dd41
return this.stats; return this.stats;
} }
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 224a4d09bca571e6b440ea3011fbd13f785c78db..dce0df639765a1c49b23f592c08cce14278f67b7 100644 index 82f60de72bc0f9b01eb97dbc0e296e80579b0968..07d8b2536c2c95b91467edd2ece8674eeaa6ad2f 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -332,6 +332,20 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -332,6 +332,20 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -223,7 +223,7 @@ index 70c2017400168d4fef3c14462798edcfed58d4bf..3c84722c1075290b5301aa5122936d5e
if (range < 0.0 || d < range * range) { if (range < 0.0 || d < range * range) {
return true; return true;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index e099eb16dbe2bdf73874199ad57c7027498dd4ba..2fba6458aa097d9375df7d2f38efd10049a35b7d 100644 index 3e912a8cf20c7a97efcbcb4fafa41827a71fa45b..745e57d58966dbe60b2301818c23d25eecdb6dc2 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -576,10 +576,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -576,10 +576,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -288,10 +288,10 @@ index 5f51a9d16912ecbd9d015f5158d50563904a461f..d80e5f2280aa156bbe455f9638d84f82
public static int barrelRows = 3; 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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 767d977cf47b0c7d94c248091f3ce98d6383ae04..2f2986f9f7a241c4d7a1e065126dbbae601f7fe5 100644 index 00c74f8b834b20e71299329833395736a3073437..05b8c7da71454399a9e7d0732885326ddb6c9a15 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -90,6 +90,24 @@ public class PurpurWorldConfig { @@ -91,6 +91,24 @@ public class PurpurWorldConfig {
return value.isEmpty() ? fallback : value; return value.isEmpty() ? fallback : value;
} }

View File

@@ -17,7 +17,7 @@ index d6431376184e5650b370cbab204e28bc31f4dac6..9ebe1f1797b5be562bc4f6d92b9a4d60
public final boolean spawnNpcs = this.get("spawn-npcs", true); public final boolean spawnNpcs = this.get("spawn-npcs", true);
public final boolean pvp = this.get("pvp", true); public final boolean pvp = this.get("pvp", true);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 0d40596884f3b9ecfe3e7267e204f4003c50cab2..32d3dee93bb5abab7100638ef528217bfffa284f 100644 index 2047354b757cb239b5bbf8dfd8cce284645ad5ce..90e12b1eb1180d066e7162bef0adeb9d3dec8721 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -3220,4 +3220,11 @@ public final class CraftServer implements Server { @@ -3220,4 +3220,11 @@ public final class CraftServer implements Server {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Lagging threshold
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 4c71a0eedb99cf7de16335f6f260689abf4c92c7..d86bb821814e439fa79e17aec7d70e464f8e1912 100644 index db8507f11ca46c642700a8d9db70e0296921ffa8..6676970d434b8c1200d8ec3c0304084b640a7eb8 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -319,6 +319,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -319,6 +319,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] PlayerSetSpawnerTypeWithEggEvent
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
index 842b0cec0397d7ae5166617627340ffac0e35db1..02257d9c7ceb81b8fccca0013ef5090feac1e19e 100644 index cb61462d4691a055a4b25f7b953609d8a154fdfe..9d6ca8c6f009cb34fab07cc4d17a6dd5aa45bd12 100644
--- a/src/main/java/net/minecraft/world/entity/EntityType.java --- a/src/main/java/net/minecraft/world/entity/EntityType.java
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java +++ b/src/main/java/net/minecraft/world/entity/EntityType.java
@@ -330,6 +330,16 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT @@ -330,6 +330,16 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT

View File

@@ -100,10 +100,10 @@ index 4f190a40b8474aa06a92c8afcc06d0044120ff7b..66c17bdfecdfbcfb2d853e561432dd51
int i = 15 + worldserver.random.nextInt(15) + worldserver.random.nextInt(15); 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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2f2986f9f7a241c4d7a1e065126dbbae601f7fe5..b51c96bdc9871d7ef7d7eff2b24b0f516bb97236 100644 index 05b8c7da71454399a9e7d0732885326ddb6c9a15..29a167bf006f420162773ff3b3affe7691b9ba93 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -108,6 +108,38 @@ public class PurpurWorldConfig { @@ -109,6 +109,38 @@ public class PurpurWorldConfig {
idleTimeoutTargetPlayer = getBoolean("gameplay-mechanics.player.idle-timeout.mobs-target", idleTimeoutTargetPlayer); idleTimeoutTargetPlayer = getBoolean("gameplay-mechanics.player.idle-timeout.mobs-target", idleTimeoutTargetPlayer);
} }

View File

@@ -36,10 +36,10 @@ index a6f408e56fa6c9de82fd93555fe21e1b11ce1022..c7377d04ceac3ea624117439783a443c
} }
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b51c96bdc9871d7ef7d7eff2b24b0f516bb97236..9c0362396ae2646ee9caf6756ecdef3a605328a7 100644 index 29a167bf006f420162773ff3b3affe7691b9ba93..cc1f5ca8b68ef4a0ad84be49aa2859a20db9cda0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -140,6 +140,15 @@ public class PurpurWorldConfig { @@ -141,6 +141,15 @@ public class PurpurWorldConfig {
}); });
} }

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Disable outdated build check
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 48e8b7405270632130721e87579ee2438a0f0b75..930614ebfd3d6b6e011a58bbd5310620c02582db 100644 index 6f8fa47897bcbde6db6c3297f6d929dd038e45ee..d7df5bd6c7342e6b21d53c1b3ae9e9f3b52fc43c 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java --- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -273,7 +273,7 @@ public class Main { @@ -273,7 +273,7 @@ public class Main {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Giants AI settings
diff --git a/src/main/java/net/minecraft/world/entity/monster/Giant.java b/src/main/java/net/minecraft/world/entity/monster/Giant.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Giant.java b/src/main/java/net/minecraft/world/entity/monster/Giant.java
index 9602e59cbebeedc85ea75d2a41d3e74f0ff45b46..0d211d4c120186667682dbb5f320ec45ef6c235d 100644 index 48035556b0743f7641d77ec3a42c860f1e1ee6c3..39367523621c330eda59905d1f2c129288a1026c 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Giant.java --- a/src/main/java/net/minecraft/world/entity/monster/Giant.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Giant.java +++ b/src/main/java/net/minecraft/world/entity/monster/Giant.java
@@ -30,8 +30,23 @@ public class Giant extends Monster { @@ -30,8 +30,23 @@ public class Giant extends Monster {
@@ -34,7 +34,7 @@ index 9602e59cbebeedc85ea75d2a41d3e74f0ff45b46..0d211d4c120186667682dbb5f320ec45
} }
@Override @Override
@@ -47,8 +62,34 @@ public class Giant extends Monster { @@ -48,8 +63,34 @@ public class Giant extends Monster {
return Monster.createMonsterAttributes().add(Attributes.MAX_HEALTH, 100.0).add(Attributes.MOVEMENT_SPEED, 0.5).add(Attributes.ATTACK_DAMAGE, 50.0); return Monster.createMonsterAttributes().add(Attributes.MAX_HEALTH, 100.0).add(Attributes.MOVEMENT_SPEED, 0.5).add(Attributes.ATTACK_DAMAGE, 50.0);
} }
@@ -71,13 +71,13 @@ index 9602e59cbebeedc85ea75d2a41d3e74f0ff45b46..0d211d4c120186667682dbb5f320ec45
} }
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9c0362396ae2646ee9caf6756ecdef3a605328a7..d60746b2a05a93683be845bdf36131c71091ed9b 100644 index cdef3af8a48d640a8180b5a5658b0ef46087095f..22248cd0752812739df8e7ab911ef04b3d2ed458 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -576,6 +576,10 @@ public class PurpurWorldConfig { @@ -622,6 +622,10 @@ public class PurpurWorldConfig {
public double giantMovementSpeed = 0.5D;
public double giantAttackDamage = 50.0D; public double giantAttackDamage = 50.0D;
public double giantMaxHealth = 100.0D; public double giantMaxHealth = 100.0D;
public double giantScale = 1.0D;
+ public float giantStepHeight = 2.0F; + public float giantStepHeight = 2.0F;
+ public float giantJumpHeight = 1.0F; + public float giantJumpHeight = 1.0F;
+ public boolean giantHaveAI = false; + public boolean giantHaveAI = false;
@@ -85,10 +85,10 @@ index 9c0362396ae2646ee9caf6756ecdef3a605328a7..d60746b2a05a93683be845bdf36131c7
private void giantSettings() { private void giantSettings() {
giantRidable = getBoolean("mobs.giant.ridable", giantRidable); giantRidable = getBoolean("mobs.giant.ridable", giantRidable);
giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater); giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater);
@@ -592,6 +596,10 @@ public class PurpurWorldConfig { @@ -639,6 +643,10 @@ public class PurpurWorldConfig {
set("mobs.giant.attributes.max_health", oldValue);
} }
giantMaxHealth = getDouble("mobs.giant.attributes.max_health", giantMaxHealth); giantMaxHealth = getDouble("mobs.giant.attributes.max_health", giantMaxHealth);
giantScale = Mth.clamp(getDouble("mobs.giant.attributes.scale", giantScale), 0.0625D, 16.0D);
+ giantStepHeight = (float) getDouble("mobs.giant.step-height", giantStepHeight); + giantStepHeight = (float) getDouble("mobs.giant.step-height", giantStepHeight);
+ giantJumpHeight = (float) getDouble("mobs.giant.jump-height", giantJumpHeight); + giantJumpHeight = (float) getDouble("mobs.giant.jump-height", giantJumpHeight);
+ giantHaveAI = getBoolean("mobs.giant.have-ai", giantHaveAI); + giantHaveAI = getBoolean("mobs.giant.have-ai", giantHaveAI);

View File

@@ -30,10 +30,10 @@ index df01eaebfcb759eefb512b3c7eeb861e96f88688..f1cedc22891cf2c91115188545d75256
entityhorseskeleton.setPos((double) blockposition.getX(), (double) blockposition.getY(), (double) blockposition.getZ()); entityhorseskeleton.setPos((double) blockposition.getX(), (double) blockposition.getY(), (double) blockposition.getZ());
this.addFreshEntity(entityhorseskeleton, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.LIGHTNING); // CraftBukkit 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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b5ca3f24e147b360f634da0331547e866d7ae175..670b1a2e817d665ba4705febf01d551a24fc4543 100644 index 22248cd0752812739df8e7ab911ef04b3d2ed458..3b6089eaf8a9af932c7bcc9a37fc7c077eb79870 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1513,6 +1513,7 @@ public class PurpurWorldConfig { @@ -1644,6 +1644,7 @@ public class PurpurWorldConfig {
public double zombieHorseJumpStrengthMax = 1.0D; public double zombieHorseJumpStrengthMax = 1.0D;
public double zombieHorseMovementSpeedMin = 0.2D; public double zombieHorseMovementSpeedMin = 0.2D;
public double zombieHorseMovementSpeedMax = 0.2D; public double zombieHorseMovementSpeedMax = 0.2D;
@@ -41,7 +41,7 @@ index b5ca3f24e147b360f634da0331547e866d7ae175..670b1a2e817d665ba4705febf01d551a
private void zombieHorseSettings() { private void zombieHorseSettings() {
zombieHorseRidable = getBoolean("mobs.zombie_horse.ridable", zombieHorseRidable); zombieHorseRidable = getBoolean("mobs.zombie_horse.ridable", zombieHorseRidable);
zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater); zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater);
@@ -1529,6 +1530,7 @@ public class PurpurWorldConfig { @@ -1660,6 +1661,7 @@ public class PurpurWorldConfig {
zombieHorseJumpStrengthMax = getDouble("mobs.zombie_horse.attributes.jump_strength.max", zombieHorseJumpStrengthMax); zombieHorseJumpStrengthMax = getDouble("mobs.zombie_horse.attributes.jump_strength.max", zombieHorseJumpStrengthMax);
zombieHorseMovementSpeedMin = getDouble("mobs.zombie_horse.attributes.movement_speed.min", zombieHorseMovementSpeedMin); zombieHorseMovementSpeedMin = getDouble("mobs.zombie_horse.attributes.movement_speed.min", zombieHorseMovementSpeedMin);
zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax); zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax);

View File

@@ -5,11 +5,11 @@ Subject: [PATCH] Charged creeper naturally spawn
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
index 4cb68050f93027225b63176724b2c882902d8b71..a3b8b874dba75b0b2dfb89d8a31f875c396c9a9a 100644 index 2e14fb23e36a335bbff0b54cf63c5c096869ad25..83748963485a92dd771eca976a12476f71b968c2 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java --- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java +++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -257,6 +257,14 @@ public class Creeper extends Monster implements PowerableMob { @@ -258,6 +258,14 @@ public class Creeper extends Monster implements PowerableMob {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.creeperMaxHealth); this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.creeperScale);
} }
+ public net.minecraft.world.entity.SpawnGroupData finalizeSpawn(net.minecraft.world.level.ServerLevelAccessor world, net.minecraft.world.DifficultyInstance difficulty, net.minecraft.world.entity.MobSpawnType spawnReason, @Nullable net.minecraft.world.entity.SpawnGroupData entityData) { + public net.minecraft.world.entity.SpawnGroupData finalizeSpawn(net.minecraft.world.level.ServerLevelAccessor world, net.minecraft.world.DifficultyInstance difficulty, net.minecraft.world.entity.MobSpawnType spawnReason, @Nullable net.minecraft.world.entity.SpawnGroupData entityData) {
@@ -24,21 +24,21 @@ index 4cb68050f93027225b63176724b2c882902d8b71..a3b8b874dba75b0b2dfb89d8a31f875c
protected SoundEvent getHurtSound(DamageSource source) { protected SoundEvent getHurtSound(DamageSource source) {
return SoundEvents.CREEPER_HURT; return SoundEvents.CREEPER_HURT;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f0ea2bcb88630395d6f2bf2e7a658abcad124be4..7d3380eb407c463327f82d06b24b94af8d4754ae 100644 index 3b6089eaf8a9af932c7bcc9a37fc7c077eb79870..6722c1bd54c28844c853d477180692a85732e631 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -367,6 +367,7 @@ public class PurpurWorldConfig { @@ -395,6 +395,7 @@ public class PurpurWorldConfig {
public boolean creeperRidableInWater = true;
public boolean creeperControllable = true; public boolean creeperControllable = true;
public double creeperMaxHealth = 20.0D; public double creeperMaxHealth = 20.0D;
public double creeperScale = 1.0D;
+ public double creeperChargedChance = 0.0D; + public double creeperChargedChance = 0.0D;
private void creeperSettings() { private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -377,6 +378,7 @@ public class PurpurWorldConfig { @@ -406,6 +407,7 @@ public class PurpurWorldConfig {
set("mobs.creeper.attributes.max_health", oldValue);
} }
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth); creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth);
creeperScale = Mth.clamp(getDouble("mobs.creeper.attributes.scale", creeperScale), 0.0625D, 16.0D);
+ creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance); + creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Rabbit naturally spawn toast and killer
diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
index 826484123d864172a73e3d0d6e16923533748ea1..6cb70392a86b166c8f8a8f3944f7abe8521e620f 100644 index 6f8c6ebf96f1232e127e957f8f392a0656805555..e06445c84aa632429c1647cabab73751f73d2e6c 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java --- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java +++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
@@ -470,10 +470,23 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> { @@ -471,10 +471,23 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
} }
this.setVariant(entityrabbit_variant); this.setVariant(entityrabbit_variant);
@@ -33,22 +33,22 @@ index 826484123d864172a73e3d0d6e16923533748ea1..6cb70392a86b166c8f8a8f3944f7abe8
int i = world.getRandom().nextInt(100); 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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7d3380eb407c463327f82d06b24b94af8d4754ae..567d2760551326764a3d62f7a933a767f0579227 100644 index 6722c1bd54c28844c853d477180692a85732e631..141c96566773d4cce0423e186d346043c8f65fad 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1010,6 +1010,8 @@ public class PurpurWorldConfig { @@ -1092,6 +1092,8 @@ public class PurpurWorldConfig {
public boolean rabbitRidableInWater = true;
public boolean rabbitControllable = true; public boolean rabbitControllable = true;
public double rabbitMaxHealth = 3.0D; public double rabbitMaxHealth = 3.0D;
public double rabbitScale = 1.0D;
+ public double rabbitNaturalToast = 0.0D; + public double rabbitNaturalToast = 0.0D;
+ public double rabbitNaturalKiller = 0.0D; + public double rabbitNaturalKiller = 0.0D;
private void rabbitSettings() { private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -1020,6 +1022,8 @@ public class PurpurWorldConfig { @@ -1103,6 +1105,8 @@ public class PurpurWorldConfig {
set("mobs.rabbit.attributes.max_health", oldValue);
} }
rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth); rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth);
rabbitScale = Mth.clamp(getDouble("mobs.rabbit.attributes.scale", rabbitScale), 0.0625D, 16.0D);
+ rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast); + rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast);
+ rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller); + rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Tulips change fox type
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
index 473c857b83b87d824800eb91b2019bcf106189ae..52c11b3621a9b834de8305ff98ad7671b7905055 100644 index 1133863e0a5f65ec68bf0b11d55a3040b4fde4ff..98e9ad371381350dc3bff7e2a88224a2812d6419 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java --- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java +++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -389,6 +389,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> { @@ -390,6 +390,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
} }
private void setTargetGoals() { private void setTargetGoals() {
@@ -20,7 +20,7 @@ index 473c857b83b87d824800eb91b2019bcf106189ae..52c11b3621a9b834de8305ff98ad7671
if (this.getVariant() == Fox.Type.RED) { if (this.getVariant() == Fox.Type.RED) {
this.targetSelector.addGoal(4, this.landTargetGoal); this.targetSelector.addGoal(4, this.landTargetGoal);
this.targetSelector.addGoal(4, this.turtleEggTargetGoal); this.targetSelector.addGoal(4, this.turtleEggTargetGoal);
@@ -422,6 +427,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> { @@ -423,6 +428,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
public void setVariant(Fox.Type variant) { public void setVariant(Fox.Type variant) {
this.entityData.set(Fox.DATA_TYPE_ID, variant.getId()); this.entityData.set(Fox.DATA_TYPE_ID, variant.getId());
@@ -28,7 +28,7 @@ index 473c857b83b87d824800eb91b2019bcf106189ae..52c11b3621a9b834de8305ff98ad7671
} }
List<UUID> getTrustedUUIDs() { List<UUID> getTrustedUUIDs() {
@@ -762,6 +768,29 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> { @@ -763,6 +769,29 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
} }
// Paper end // Paper end
@@ -59,21 +59,21 @@ index 473c857b83b87d824800eb91b2019bcf106189ae..52c11b3621a9b834de8305ff98ad7671
// Paper start - Cancellable death event // Paper start - Cancellable death event
protected org.bukkit.event.entity.EntityDeathEvent dropAllDeathLoot(ServerLevel world, DamageSource damageSource) { protected org.bukkit.event.entity.EntityDeathEvent dropAllDeathLoot(ServerLevel world, DamageSource damageSource) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 567d2760551326764a3d62f7a933a767f0579227..e1da2a710808ecfc30c8b5594b3673518a475b0b 100644 index 141c96566773d4cce0423e186d346043c8f65fad..d6e3ab58756bd8e0c3d2a7aa651a22545db6749e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -531,6 +531,7 @@ public class PurpurWorldConfig { @@ -573,6 +573,7 @@ public class PurpurWorldConfig {
public boolean foxRidableInWater = true;
public boolean foxControllable = true; public boolean foxControllable = true;
public double foxMaxHealth = 10.0D; public double foxMaxHealth = 10.0D;
public double foxScale = 1.0D;
+ public boolean foxTypeChangesWithTulips = false; + public boolean foxTypeChangesWithTulips = false;
private void foxSettings() { private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -541,6 +542,7 @@ public class PurpurWorldConfig { @@ -584,6 +585,7 @@ public class PurpurWorldConfig {
set("mobs.fox.attributes.max_health", oldValue);
} }
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth); foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);
foxScale = Mth.clamp(getDouble("mobs.fox.attributes.scale", foxScale), 0.0625D, 16.0D);
+ foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips); + foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
} }

View File

@@ -5,11 +5,11 @@ Subject: [PATCH] Breedable Polar Bears
diff --git a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java diff --git a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
index 9bb4fd13e3c60ed889f4acd941b48922c9a4e8df..590b015102bd1ea22da34448de2f1b7581836325 100644 index 232f392cf1a1c278acdbbe537c76097ae9610027..cd5856d3c5fdefb22f1ae146e5b64d9d4a64e07c 100644
--- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java --- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
+++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java +++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
@@ -98,6 +98,27 @@ public class PolarBear extends Animal implements NeutralMob { @@ -99,6 +99,27 @@ public class PolarBear extends Animal implements NeutralMob {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.polarBearMaxHealth); this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.polarBearScale);
} }
+ public boolean canMate(Animal other) { + public boolean canMate(Animal other) {
@@ -36,7 +36,7 @@ index 9bb4fd13e3c60ed889f4acd941b48922c9a4e8df..590b015102bd1ea22da34448de2f1b75
@Nullable @Nullable
@Override @Override
public AgeableMob getBreedOffspring(ServerLevel world, AgeableMob entity) { public AgeableMob getBreedOffspring(ServerLevel world, AgeableMob entity) {
@@ -106,7 +127,7 @@ public class PolarBear extends Animal implements NeutralMob { @@ -107,7 +128,7 @@ public class PolarBear extends Animal implements NeutralMob {
@Override @Override
public boolean isFood(ItemStack stack) { public boolean isFood(ItemStack stack) {
@@ -45,7 +45,7 @@ index 9bb4fd13e3c60ed889f4acd941b48922c9a4e8df..590b015102bd1ea22da34448de2f1b75
} }
@Override @Override
@@ -117,6 +138,12 @@ public class PolarBear extends Animal implements NeutralMob { @@ -118,6 +139,12 @@ public class PolarBear extends Animal implements NeutralMob {
this.goalSelector.addGoal(1, new PolarBear.PolarBearMeleeAttackGoal()); this.goalSelector.addGoal(1, new PolarBear.PolarBearMeleeAttackGoal());
this.goalSelector this.goalSelector
.addGoal(1, new PanicGoal(this, 2.0, polarBear -> polarBear.isBaby() ? DamageTypeTags.PANIC_CAUSES : DamageTypeTags.PANIC_ENVIRONMENTAL_CAUSES)); .addGoal(1, new PanicGoal(this, 2.0, polarBear -> polarBear.isBaby() ? DamageTypeTags.PANIC_CAUSES : DamageTypeTags.PANIC_ENVIRONMENTAL_CAUSES));
@@ -59,22 +59,22 @@ index 9bb4fd13e3c60ed889f4acd941b48922c9a4e8df..590b015102bd1ea22da34448de2f1b75
this.goalSelector.addGoal(5, new RandomStrollGoal(this, 1.0)); this.goalSelector.addGoal(5, new RandomStrollGoal(this, 1.0));
this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F)); this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e1da2a710808ecfc30c8b5594b3673518a475b0b..56198935e7df874abcd6801e351a5e56e89daf13 100644 index d6e3ab58756bd8e0c3d2a7aa651a22545db6749e..fe9b0ff2a73dc0f49b46738f07a7c58b622399d6 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -982,6 +982,8 @@ public class PurpurWorldConfig { @@ -1060,6 +1060,8 @@ public class PurpurWorldConfig {
public boolean polarBearRidableInWater = true;
public boolean polarBearControllable = true; public boolean polarBearControllable = true;
public double polarBearMaxHealth = 30.0D; public double polarBearMaxHealth = 30.0D;
public double polarBearScale = 1.0D;
+ public String polarBearBreedableItemString = ""; + public String polarBearBreedableItemString = "";
+ public Item polarBearBreedableItem = null; + public Item polarBearBreedableItem = null;
private void polarBearSettings() { private void polarBearSettings() {
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable); polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater); polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
@@ -992,6 +994,9 @@ public class PurpurWorldConfig { @@ -1071,6 +1073,9 @@ public class PurpurWorldConfig {
set("mobs.polar_bear.attributes.max_health", oldValue);
} }
polarBearMaxHealth = getDouble("mobs.polar_bear.attributes.max_health", polarBearMaxHealth); polarBearMaxHealth = getDouble("mobs.polar_bear.attributes.max_health", polarBearMaxHealth);
polarBearScale = Mth.clamp(getDouble("mobs.polar_bear.attributes.scale", polarBearScale), 0.0625D, 16.0D);
+ polarBearBreedableItemString = getString("mobs.polar_bear.breedable-item", polarBearBreedableItemString); + polarBearBreedableItemString = getString("mobs.polar_bear.breedable-item", polarBearBreedableItemString);
+ Item item = BuiltInRegistries.ITEM.get(ResourceLocation.parse(polarBearBreedableItemString)); + Item item = BuiltInRegistries.ITEM.get(ResourceLocation.parse(polarBearBreedableItemString));
+ if (item != Items.AIR) polarBearBreedableItem = item; + if (item != Items.AIR) polarBearBreedableItem = item;

View File

@@ -5,19 +5,20 @@ Subject: [PATCH] Chickens can retaliate
diff --git a/src/main/java/net/minecraft/world/entity/animal/Chicken.java b/src/main/java/net/minecraft/world/entity/animal/Chicken.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Chicken.java b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
index ca213cb0b8618b85c67066236eaba87c0439376f..1ff256f2a40403f0fbefc714e3609890be3d60b6 100644 index 08fd9551baa462c2d3ac2bc20622c7867b5c6444..10101c733154f9e9c725e60e565f735bda14bf5f 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java --- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java +++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
@@ -74,13 +74,16 @@ public class Chicken extends Animal { @@ -74,6 +74,9 @@ public class Chicken extends Animal {
@Override
public void initAttributes() { public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.chickenMaxHealth); this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.chickenMaxHealth);
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.chickenScale);
+ if (level().purpurConfig.chickenRetaliate) { + if (level().purpurConfig.chickenRetaliate) {
+ this.getAttribute(Attributes.ATTACK_DAMAGE).setBaseValue(2.0D); + this.getAttribute(Attributes.ATTACK_DAMAGE).setBaseValue(2.0D);
+ } + }
} }
// Purpur end
@Override @@ -81,7 +84,7 @@ public class Chicken extends Animal {
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this)); this.goalSelector.addGoal(0, new FloatGoal(this));
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
@@ -26,7 +27,7 @@ index ca213cb0b8618b85c67066236eaba87c0439376f..1ff256f2a40403f0fbefc714e3609890
this.goalSelector.addGoal(2, new BreedGoal(this, 1.0D)); this.goalSelector.addGoal(2, new BreedGoal(this, 1.0D));
this.goalSelector.addGoal(3, new TemptGoal(this, 1.0D, (itemstack) -> { this.goalSelector.addGoal(3, new TemptGoal(this, 1.0D, (itemstack) -> {
return itemstack.is(ItemTags.CHICKEN_FOOD); return itemstack.is(ItemTags.CHICKEN_FOOD);
@@ -89,6 +92,14 @@ public class Chicken extends Animal { @@ -90,6 +93,14 @@ public class Chicken extends Animal {
this.goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 1.0D)); this.goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 1.0D));
this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F)); this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F));
this.goalSelector.addGoal(7, new RandomLookAroundGoal(this)); this.goalSelector.addGoal(7, new RandomLookAroundGoal(this));
@@ -41,7 +42,7 @@ index ca213cb0b8618b85c67066236eaba87c0439376f..1ff256f2a40403f0fbefc714e3609890
} }
@Override @Override
@@ -97,7 +108,7 @@ public class Chicken extends Animal { @@ -98,7 +109,7 @@ public class Chicken extends Animal {
} }
public static AttributeSupplier.Builder createAttributes() { public static AttributeSupplier.Builder createAttributes() {
@@ -51,21 +52,21 @@ index ca213cb0b8618b85c67066236eaba87c0439376f..1ff256f2a40403f0fbefc714e3609890
@Override @Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 56198935e7df874abcd6801e351a5e56e89daf13..b343a05b3d8b09e761bafcfa960d9b769c168c77 100644 index fe9b0ff2a73dc0f49b46738f07a7c58b622399d6..6d3b41da6210699869839826e037a038a637c4c3 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -321,6 +321,7 @@ public class PurpurWorldConfig { @@ -343,6 +343,7 @@ public class PurpurWorldConfig {
public boolean chickenRidableInWater = false;
public boolean chickenControllable = true; public boolean chickenControllable = true;
public double chickenMaxHealth = 4.0D; public double chickenMaxHealth = 4.0D;
public double chickenScale = 1.0D;
+ public boolean chickenRetaliate = false; + public boolean chickenRetaliate = false;
private void chickenSettings() { private void chickenSettings() {
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable); chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater); chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
@@ -331,6 +332,7 @@ public class PurpurWorldConfig { @@ -354,6 +355,7 @@ public class PurpurWorldConfig {
set("mobs.chicken.attributes.max_health", oldValue);
} }
chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth); chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth);
chickenScale = Mth.clamp(getDouble("mobs.chicken.attributes.scale", chickenScale), 0.0625D, 16.0D);
+ chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate); + chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate);
} }

View File

@@ -38,10 +38,10 @@ index 2f398750bfee5758ad8b1367b6fc14364e4de776..9e6e29b9eddc94b50a32713e8ba1a53d
if (!this.canTick) { if (!this.canTick) {
if (this.noTickPoseDirty) { if (this.noTickPoseDirty) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b343a05b3d8b09e761bafcfa960d9b769c168c77..b6e8c4d1814ab07c961e736e2d1b9155c5339a52 100644 index 3767c19bf0000658acba4632d141525304e5f10e..e9bbf88edaf3f1f3bce0503a3ba34e5b0d84acca 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -90,6 +90,11 @@ public class PurpurWorldConfig { @@ -91,6 +91,11 @@ public class PurpurWorldConfig {
return value.isEmpty() ? fallback : value; return value.isEmpty() ? fallback : value;
} }

View File

@@ -46,23 +46,23 @@ index e0e5046c84941a8d17e18c177f3daea9cb631940..d503d7a5837dbeb98e58dbe8f7e5de45
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b6e8c4d1814ab07c961e736e2d1b9155c5339a52..17f54a4de62555e2c6d86275ee9dd7ca51dea147 100644 index e5c4ca83392f398e24be193a0ed77daa85db9913..7da688e575a1c4ca35c0d23401bf52f3bbbed6ae 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -294,6 +294,9 @@ public class PurpurWorldConfig { @@ -312,6 +312,9 @@ public class PurpurWorldConfig {
public boolean catRidableInWater = true;
public boolean catControllable = true; public boolean catControllable = true;
public double catMaxHealth = 10.0D; public double catMaxHealth = 10.0D;
public double catScale = 1.0D;
+ public int catSpawnDelay = 1200; + public int catSpawnDelay = 1200;
+ public int catSpawnSwampHutScanRange = 16; + public int catSpawnSwampHutScanRange = 16;
+ public int catSpawnVillageScanRange = 48; + public int catSpawnVillageScanRange = 48;
private void catSettings() { private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable); catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater); catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
@@ -304,6 +307,9 @@ public class PurpurWorldConfig { @@ -323,6 +326,9 @@ public class PurpurWorldConfig {
set("mobs.cat.attributes.max_health", oldValue);
} }
catMaxHealth = getDouble("mobs.cat.attributes.max_health", catMaxHealth); catMaxHealth = getDouble("mobs.cat.attributes.max_health", catMaxHealth);
catScale = Mth.clamp(getDouble("mobs.cat.attributes.scale", catScale), 0.0625D, 16.0D);
+ catSpawnDelay = getInt("mobs.cat.spawn-delay", catSpawnDelay); + catSpawnDelay = getInt("mobs.cat.spawn-delay", catSpawnDelay);
+ catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange); + catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange);
+ catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange); + catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Cows eat mushrooms
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
index 478663c16a5763dda9a6c3edbafc843b8dfe06f2..a1036e44116ef0848fbb438526f9a117ee2bfaa9 100644 index 854348e18db134be2ed86272e269679a14c0e725..c9f63f3716b37dbf5f4bb4c66b78ba0b97edd686 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java --- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java +++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
@@ -73,7 +73,7 @@ public class Cow extends Animal { @@ -74,7 +74,7 @@ public class Cow extends Animal {
this.goalSelector.addGoal(1, new PanicGoal(this, 2.0D)); this.goalSelector.addGoal(1, new PanicGoal(this, 2.0D));
this.goalSelector.addGoal(2, new BreedGoal(this, 1.0D)); this.goalSelector.addGoal(2, new BreedGoal(this, 1.0D));
this.goalSelector.addGoal(3, new TemptGoal(this, 1.25D, (itemstack) -> { this.goalSelector.addGoal(3, new TemptGoal(this, 1.25D, (itemstack) -> {
@@ -17,7 +17,7 @@ index 478663c16a5763dda9a6c3edbafc843b8dfe06f2..a1036e44116ef0848fbb438526f9a117
}, false)); }, false));
this.goalSelector.addGoal(4, new FollowParentGoal(this, 1.25D)); this.goalSelector.addGoal(4, new FollowParentGoal(this, 1.25D));
this.goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 1.0D)); this.goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 1.0D));
@@ -135,6 +135,10 @@ public class Cow extends Animal { @@ -136,6 +136,10 @@ public class Cow extends Animal {
player.setItemInHand(hand, itemstack1); player.setItemInHand(hand, itemstack1);
return InteractionResult.sidedSuccess(this.level().isClientSide); return InteractionResult.sidedSuccess(this.level().isClientSide);
@@ -28,7 +28,7 @@ index 478663c16a5763dda9a6c3edbafc843b8dfe06f2..a1036e44116ef0848fbb438526f9a117
} else { } else {
return super.mobInteract(player, hand); return super.mobInteract(player, hand);
} }
@@ -150,4 +154,66 @@ public class Cow extends Animal { @@ -151,4 +155,66 @@ public class Cow extends Animal {
public EntityDimensions getDefaultDimensions(Pose pose) { public EntityDimensions getDefaultDimensions(Pose pose) {
return this.isBaby() ? Cow.BABY_DIMENSIONS : super.getDefaultDimensions(pose); return this.isBaby() ? Cow.BABY_DIMENSIONS : super.getDefaultDimensions(pose);
} }
@@ -96,21 +96,21 @@ index 478663c16a5763dda9a6c3edbafc843b8dfe06f2..a1036e44116ef0848fbb438526f9a117
+ // Purpur end + // Purpur end
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 17f54a4de62555e2c6d86275ee9dd7ca51dea147..7177f38088d262e4be8718d234f895990bbd7887 100644 index 7da688e575a1c4ca35c0d23401bf52f3bbbed6ae..4d85d928c05d488b5fc6efa96e65a5e31455d261 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -364,6 +364,7 @@ public class PurpurWorldConfig { @@ -390,6 +390,7 @@ public class PurpurWorldConfig {
public boolean cowRidableInWater = true;
public boolean cowControllable = true; public boolean cowControllable = true;
public double cowMaxHealth = 10.0D; public double cowMaxHealth = 10.0D;
public double cowScale = 1.0D;
+ public int cowFeedMushrooms = 0; + public int cowFeedMushrooms = 0;
private void cowSettings() { private void cowSettings() {
cowRidable = getBoolean("mobs.cow.ridable", cowRidable); cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater); cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
@@ -374,6 +375,7 @@ public class PurpurWorldConfig { @@ -401,6 +402,7 @@ public class PurpurWorldConfig {
set("mobs.cow.attributes.max_health", oldValue);
} }
cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth); cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth);
cowScale = Mth.clamp(getDouble("mobs.cow.attributes.scale", cowScale), 0.0625D, 16.0D);
+ cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms); + cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms);
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Pigs give saddle back
diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java
index 0f7e77e4f72be611a34ebe00d9979179519c54d9..7b5080993904a41083aa534a87a6eed29afe520c 100644 index d45346a32298879c386246b804763353fe005fb8..51ffdfa038cb1be279da71d691d54728731c186e 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java --- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java +++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
@@ -178,6 +178,17 @@ public class Pig extends Animal implements ItemSteerable, Saddleable { @@ -179,6 +179,17 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
public InteractionResult mobInteract(Player player, InteractionHand hand) { public InteractionResult mobInteract(Player player, InteractionHand hand) {
boolean flag = this.isFood(player.getItemInHand(hand)); boolean flag = this.isFood(player.getItemInHand(hand));
@@ -27,21 +27,21 @@ index 0f7e77e4f72be611a34ebe00d9979179519c54d9..7b5080993904a41083aa534a87a6eed2
if (!this.level().isClientSide) { if (!this.level().isClientSide) {
player.startRiding(this); player.startRiding(this);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7177f38088d262e4be8718d234f895990bbd7887..2cc17c7991c645e5cd2d13cecc552baf91b7bc8a 100644 index 4d85d928c05d488b5fc6efa96e65a5e31455d261..b5f30231f2b163271e677eaba38154b0e5cfa7ed 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -933,6 +933,7 @@ public class PurpurWorldConfig { @@ -1003,6 +1003,7 @@ public class PurpurWorldConfig {
public boolean pigRidableInWater = false;
public boolean pigControllable = true; public boolean pigControllable = true;
public double pigMaxHealth = 10.0D; public double pigMaxHealth = 10.0D;
public double pigScale = 1.0D;
+ public boolean pigGiveSaddleBack = false; + public boolean pigGiveSaddleBack = false;
private void pigSettings() { private void pigSettings() {
pigRidable = getBoolean("mobs.pig.ridable", pigRidable); pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater); pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
@@ -943,6 +944,7 @@ public class PurpurWorldConfig { @@ -1014,6 +1015,7 @@ public class PurpurWorldConfig {
set("mobs.pig.attributes.max_health", oldValue);
} }
pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth); pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth);
pigScale = Mth.clamp(getDouble("mobs.pig.attributes.scale", pigScale), 0.0625D, 16.0D);
+ pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack); + pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack);
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Snowman drop and put back pumpkin
diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
index a54893d51cc1ce204e59a6ffe8b84228775af4da..0060414b1d5afde56372ce121e9d37a1668cd03b 100644 index 9be197302153ea384ab5459d586d497fb9d69500..dc5af0b71ec82a8f22e64b03950e35845110a331 100644
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java --- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java +++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
@@ -189,6 +189,14 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM @@ -190,6 +190,14 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
} }
return InteractionResult.sidedSuccess(this.level().isClientSide); return InteractionResult.sidedSuccess(this.level().isClientSide);
@@ -24,21 +24,21 @@ index a54893d51cc1ce204e59a6ffe8b84228775af4da..0060414b1d5afde56372ce121e9d37a1
return tryRide(player, hand); // Purpur return tryRide(player, hand); // Purpur
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index bf5ba934de365e7139a59db527aa54e54261eb77..8b380efe1e3e382c10493afba292e1c06251e557 100644 index b5f30231f2b163271e677eaba38154b0e5cfa7ed..7c5b7e7df07117d7e6c3a1fdba8d0576d17f338f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1202,6 +1202,7 @@ public class PurpurWorldConfig { @@ -1298,6 +1298,7 @@ public class PurpurWorldConfig {
public boolean snowGolemControllable = true;
public boolean snowGolemLeaveTrailWhenRidden = false; public boolean snowGolemLeaveTrailWhenRidden = false;
public double snowGolemMaxHealth = 4.0D; public double snowGolemMaxHealth = 4.0D;
public double snowGolemScale = 1.0D;
+ public boolean snowGolemPutPumpkinBack = false; + public boolean snowGolemPutPumpkinBack = false;
private void snowGolemSettings() { private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1213,6 +1214,7 @@ public class PurpurWorldConfig { @@ -1310,6 +1311,7 @@ public class PurpurWorldConfig {
set("mobs.snow_golem.attributes.max_health", oldValue);
} }
snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth); snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth);
snowGolemScale = Mth.clamp(getDouble("mobs.snow_golem.attributes.scale", snowGolemScale), 0.0625D, 16.0D);
+ snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack); + snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack);
} }

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Ender dragon always drop full exp
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
index 4218c84f3bef499bd6ebd4df224d4dcc95f5ce6c..bf2591f163b8482d35a6e532004677199685a593 100644 index 541b79974e77c1cdb3a66fd1c52b9fdd86e35086..0554ee8f76f58b72b7cc42a6165660854095045a 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -764,7 +764,7 @@ public class EnderDragon extends Mob implements Enemy { @@ -764,7 +764,7 @@ public class EnderDragon extends Mob implements Enemy {
@@ -18,10 +18,10 @@ index 4218c84f3bef499bd6ebd4df224d4dcc95f5ce6c..bf2591f163b8482d35a6e53200467719
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8b5a4141e414bf1e58237532bbc47729af07c4e8..382214ecf9a3d58b2df9cc46a45c0e24c56fe74f 100644 index 7c5b7e7df07117d7e6c3a1fdba8d0576d17f338f..89cfedcbb45cd9a3ff9e795828bbc5ae8efa7d6d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -477,6 +477,7 @@ public class PurpurWorldConfig { @@ -512,6 +512,7 @@ public class PurpurWorldConfig {
public boolean enderDragonControllable = true; public boolean enderDragonControllable = true;
public double enderDragonMaxY = 320D; public double enderDragonMaxY = 320D;
public double enderDragonMaxHealth = 200.0D; public double enderDragonMaxHealth = 200.0D;
@@ -29,7 +29,7 @@ index 8b5a4141e414bf1e58237532bbc47729af07c4e8..382214ecf9a3d58b2df9cc46a45c0e24
private void enderDragonSettings() { private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable); enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater); enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
@@ -492,6 +493,7 @@ public class PurpurWorldConfig { @@ -527,6 +528,7 @@ public class PurpurWorldConfig {
set("mobs.ender_dragon.attributes.max_health", oldValue); set("mobs.ender_dragon.attributes.max_health", oldValue);
} }
enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth); enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth);

View File

@@ -18,10 +18,10 @@ index d59e33e7326489c6d55d316d0130f22235f4c63c..da85fabd75e9bd5ebece7127ef5b512d
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 382214ecf9a3d58b2df9cc46a45c0e24c56fe74f..9a463e1e47033509cc1fb874f6046f46c66ae172 100644 index 3f413660380bc31ce6b47798720433929ddcf32c..8db29e6a4abe42ccea3294aaad5258a88518a69b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -145,6 +145,11 @@ public class PurpurWorldConfig { @@ -146,6 +146,11 @@ public class PurpurWorldConfig {
}); });
} }

View File

@@ -149,10 +149,10 @@ index a768b07dae4bf75b68e3bc1d3de4b68fc7d23842..1b825b9012e24b12f83883f2056839c1
protected ResourceKey<LootTable> drops; protected ResourceKey<LootTable> drops;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9a463e1e47033509cc1fb874f6046f46c66ae172..ef94bc1dc4e4145d5691c6a6d78e67a580a744e1 100644 index 8db29e6a4abe42ccea3294aaad5258a88518a69b..437aebf391819fac0d17b1f21d179282a5ff3a4d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -95,6 +95,68 @@ public class PurpurWorldConfig { @@ -96,6 +96,68 @@ public class PurpurWorldConfig {
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight); armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
} }

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Disable loot drops on death by cramming
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 8bad6672c689c7bc65e5941887b3826ad99e36bb..a3f400336e0013dab8845492b0e124f4414cf59f 100644 index 305fb567e5407bbdc9fbc30bf8ce2839e8fb15c9..d6c550b11c99dcc5beced14f03317e5973de6550 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1831,7 +1831,8 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -1831,7 +1831,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -27,10 +27,10 @@ index 8bad6672c689c7bc65e5941887b3826ad99e36bb..a3f400336e0013dab8845492b0e124f4
// CraftBukkit start - Call death event // Paper start - call advancement triggers with correct entity equipment // CraftBukkit start - Call death event // Paper start - call advancement triggers with correct entity equipment
org.bukkit.event.entity.EntityDeathEvent deathEvent = CraftEventFactory.callEntityDeathEvent(this, damageSource, this.drops, () -> { org.bukkit.event.entity.EntityDeathEvent deathEvent = CraftEventFactory.callEntityDeathEvent(this, damageSource, this.drops, () -> {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ef94bc1dc4e4145d5691c6a6d78e67a580a744e1..9faca17345d8ea25e19ebb89fda97f5552e3f8d6 100644 index 437aebf391819fac0d17b1f21d179282a5ff3a4d..8e31ffae5263a2394f9ae04d8ae7f168274da6ff 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -95,6 +95,11 @@ public class PurpurWorldConfig { @@ -96,6 +96,11 @@ public class PurpurWorldConfig {
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight); armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
} }

View File

@@ -19,10 +19,10 @@ index 43c9dea6b0db7f8d6070dedcb472883ab46d9eaf..15a1f9ffbf640bffadca97e28f72b6a5
if (user instanceof Player entityhuman) { if (user instanceof Player entityhuman) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9faca17345d8ea25e19ebb89fda97f5552e3f8d6..c297a379867f56f6b9d3c5487a9d666daf7cc78d 100644 index 8e31ffae5263a2394f9ae04d8ae7f168274da6ff..a85591019e39b4c179b7abe9b3bda864bdbe54bc 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -96,8 +96,10 @@ public class PurpurWorldConfig { @@ -97,8 +97,10 @@ public class PurpurWorldConfig {
} }
public boolean disableDropsOnCrammingDeath = false; public boolean disableDropsOnCrammingDeath = false;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add permission for F3+N debug
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 3db05bb52fef8e465e6d3575c8126521141c18c9..fe0f7f6a1b9a4c2b298a0e0d9172fc8f04d16459 100644 index 8bf5db384a283086334e739942f12e97108d8c2f..7aec825af7d07b1701519e413432739612527747 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java --- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1132,6 +1132,7 @@ public abstract class PlayerList { @@ -1132,6 +1132,7 @@ public abstract class PlayerList {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable TPS Catchup
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index d86bb821814e439fa79e17aec7d70e464f8e1912..753148b495d6623112fa860c9f6cbca9c6c0e986 100644 index 6676970d434b8c1200d8ec3c0304084b640a7eb8..9835183dc91230f86200eb18cf9ce9a26e5808ab 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1258,6 +1258,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1258,6 +1258,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa

View File

@@ -18,10 +18,10 @@ index cb71f468e90f076caf2c0dcc5f2ba2745c737c22..c8dbca9573060f7d9c2a0a96a532f06d
if (!this.level().isClientSide && this.pickup == AbstractArrow.Pickup.ALLOWED) { if (!this.level().isClientSide && this.pickup == AbstractArrow.Pickup.ALLOWED) {
this.spawnAtLocation(this.getPickupItem(), 0.1F); 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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c297a379867f56f6b9d3c5487a9d666daf7cc78d..d1058d129a7b1167092a35f6f1ab489e699d1510 100644 index a85591019e39b4c179b7abe9b3bda864bdbe54bc..26598c983cef2e08d1836c77129ccf02990790d4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -97,9 +97,11 @@ public class PurpurWorldConfig { @@ -98,9 +98,11 @@ public class PurpurWorldConfig {
public boolean disableDropsOnCrammingDeath = false; public boolean disableDropsOnCrammingDeath = false;
public boolean milkCuresBadOmen = true; public boolean milkCuresBadOmen = true;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add enderman and creeper griefing controls
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
index a3b8b874dba75b0b2dfb89d8a31f875c396c9a9a..5ff5959bfd8e3fb90c4b4f9edffef1b631400574 100644 index 83748963485a92dd771eca976a12476f71b968c2..d498b12998f04cf1a4332a358b374d48f8b3b7eb 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java --- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java +++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -361,7 +361,7 @@ public class Creeper extends Monster implements PowerableMob { @@ -362,7 +362,7 @@ public class Creeper extends Monster implements PowerableMob {
if (!event.isCancelled()) { if (!event.isCancelled()) {
// CraftBukkit end // CraftBukkit end
this.dead = true; this.dead = true;
@@ -18,10 +18,10 @@ index a3b8b874dba75b0b2dfb89d8a31f875c396c9a9a..5ff5959bfd8e3fb90c4b4f9edffef1b6
this.triggerOnDeathMobEffects(Entity.RemovalReason.KILLED); this.triggerOnDeathMobEffects(Entity.RemovalReason.KILLED);
this.discard(EntityRemoveEvent.Cause.EXPLODE); // CraftBukkit - add Bukkit remove cause this.discard(EntityRemoveEvent.Cause.EXPLODE); // CraftBukkit - add Bukkit remove cause
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java 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 37b1d81f6a77affe345a78fefbd86a156e9db193..12422c069c64bae0e16b3edd39e8dbe574704584 100644 index 819acd711b3446231ea0c74f8c170098315dbf6c..6306d0452f0bfcb20a90e0f46b34fd7fc0426e10 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java --- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java +++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -526,6 +526,7 @@ public class EnderMan extends Monster implements NeutralMob { @@ -527,6 +527,7 @@ public class EnderMan extends Monster implements NeutralMob {
@Override @Override
public boolean canUse() { public boolean canUse() {
@@ -29,7 +29,7 @@ index 37b1d81f6a77affe345a78fefbd86a156e9db193..12422c069c64bae0e16b3edd39e8dbe5
return this.enderman.getCarriedBlock() == null ? false : (!this.enderman.level().getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) ? false : this.enderman.getRandom().nextInt(reducedTickDelay(2000)) == 0); return this.enderman.getCarriedBlock() == null ? false : (!this.enderman.level().getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) ? false : this.enderman.getRandom().nextInt(reducedTickDelay(2000)) == 0);
} }
@@ -571,6 +572,7 @@ public class EnderMan extends Monster implements NeutralMob { @@ -572,6 +573,7 @@ public class EnderMan extends Monster implements NeutralMob {
@Override @Override
public boolean canUse() { public boolean canUse() {
@@ -38,37 +38,37 @@ index 37b1d81f6a77affe345a78fefbd86a156e9db193..12422c069c64bae0e16b3edd39e8dbe5
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d1058d129a7b1167092a35f6f1ab489e699d1510..a35d9ed67ce320b996981696dc9f515712f52204 100644 index 9e97ab198ad30002f0513d766a1286dadb738e23..016b4f2074efa57a597b765b1b4a2474ab873c00 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -459,6 +459,7 @@ public class PurpurWorldConfig { @@ -487,6 +487,7 @@ public class PurpurWorldConfig {
public boolean creeperControllable = true;
public double creeperMaxHealth = 20.0D; public double creeperMaxHealth = 20.0D;
public double creeperScale = 1.0D;
public double creeperChargedChance = 0.0D; public double creeperChargedChance = 0.0D;
+ public boolean creeperAllowGriefing = true; + public boolean creeperAllowGriefing = true;
private void creeperSettings() { private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -470,6 +471,7 @@ public class PurpurWorldConfig { @@ -499,6 +500,7 @@ public class PurpurWorldConfig {
}
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth); creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth);
creeperScale = Mth.clamp(getDouble("mobs.creeper.attributes.scale", creeperScale), 0.0625D, 16.0D);
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance); creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
+ creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing); + creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing);
} }
public boolean dolphinRidable = false; public boolean dolphinRidable = false;
@@ -576,6 +578,7 @@ public class PurpurWorldConfig { @@ -612,6 +614,7 @@ public class PurpurWorldConfig {
public boolean endermanRidableInWater = true;
public boolean endermanControllable = true; public boolean endermanControllable = true;
public double endermanMaxHealth = 40.0D; public double endermanMaxHealth = 40.0D;
public double endermanScale = 1.0D;
+ public boolean endermanAllowGriefing = true; + public boolean endermanAllowGriefing = true;
private void endermanSettings() { private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -586,6 +589,7 @@ public class PurpurWorldConfig { @@ -623,6 +626,7 @@ public class PurpurWorldConfig {
set("mobs.enderman.attributes.max_health", oldValue);
} }
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth); endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);
endermanScale = Mth.clamp(getDouble("mobs.enderman.attributes.scale", endermanScale), 0.0625D, 16.0D);
+ endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing); + endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing);
} }

View File

@@ -30,7 +30,7 @@ index 49b35fab8ee98a384ee12d36bbe2ac813342f1d6..142bcf71448e2c54991fd144269f74c7
// CraftBukkit start // CraftBukkit start
private CraftMerchant craftMerchant; private CraftMerchant craftMerchant;
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 97071390c66aaeb37c41778d6b7f8a5af4522274..4ae45a7dae279cb1b8048ce4eff2aa1ae4e19f68 100644 index 93f6097c0dd749e7bd8b129bae09641a36c85b74..87f1fbf405e5b71a25600030a98d8f1f187e0044 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -154,6 +154,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -154,6 +154,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -54,37 +54,37 @@ index a4ca761f6e8e6e8f86fc20ce5e3dcf92a66b3f2a..6990d6dc306b1d25544793b365fd6f7b
this.goalSelector.addGoal(8, new WaterAvoidingRandomStrollGoal(this, 0.35D)); this.goalSelector.addGoal(8, new WaterAvoidingRandomStrollGoal(this, 0.35D));
this.goalSelector.addGoal(9, new InteractGoal(this, Player.class, 3.0F, 1.0F)); 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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index fcc651f3175257280c52a543260bdac7940982cd..5490a51a959eb635e5bbb0f6720c979658817f1f 100644 index 016b4f2074efa57a597b765b1b4a2474ab873c00..d40b9bdb60ec1de2052beedb3abd1b0efdbaa390 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1461,6 +1461,7 @@ public class PurpurWorldConfig { @@ -1575,6 +1575,7 @@ public class PurpurWorldConfig {
public boolean villagerRidableInWater = true;
public boolean villagerControllable = true; public boolean villagerControllable = true;
public double villagerMaxHealth = 20.0D; public double villagerMaxHealth = 20.0D;
public double villagerScale = 1.0D;
+ public boolean villagerFollowEmeraldBlock = false; + public boolean villagerFollowEmeraldBlock = false;
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1471,6 +1472,7 @@ public class PurpurWorldConfig { @@ -1586,6 +1587,7 @@ public class PurpurWorldConfig {
set("mobs.villager.attributes.max_health", oldValue);
} }
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth); villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);
villagerScale = Mth.clamp(getDouble("mobs.villager.attributes.scale", villagerScale), 0.0625D, 16.0D);
+ villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock); + villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
} }
public boolean vindicatorRidable = false; public boolean vindicatorRidable = false;
@@ -1493,6 +1495,7 @@ public class PurpurWorldConfig { @@ -1611,6 +1613,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderRidableInWater = true;
public boolean wanderingTraderControllable = true; public boolean wanderingTraderControllable = true;
public double wanderingTraderMaxHealth = 20.0D; public double wanderingTraderMaxHealth = 20.0D;
public double wanderingTraderScale = 1.0D;
+ public boolean wanderingTraderFollowEmeraldBlock = false; + public boolean wanderingTraderFollowEmeraldBlock = false;
private void wanderingTraderSettings() { private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -1503,6 +1506,7 @@ public class PurpurWorldConfig { @@ -1622,6 +1625,7 @@ public class PurpurWorldConfig {
set("mobs.wandering_trader.attributes.max_health", oldValue);
} }
wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth); wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth);
wanderingTraderScale = Mth.clamp(getDouble("mobs.wandering_trader.attributes.scale", wanderingTraderScale), 0.0625D, 16.0D);
+ wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock); + wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock);
} }

View File

@@ -17,7 +17,7 @@ index 66f971c14efe9ecac26e84d031334f9bdeb87095..5d910738b610041487fc63f1657b827c
// Paper start - Expand EntityUnleashEvent // Paper start - Expand EntityUnleashEvent
org.bukkit.event.player.PlayerUnleashEntityEvent event = CraftEventFactory.callPlayerUnleashEntityEvent(this, player, hand, !player.hasInfiniteMaterials()); org.bukkit.event.player.PlayerUnleashEntityEvent event = CraftEventFactory.callPlayerUnleashEntityEvent(this, player, hand, !player.hasInfiniteMaterials());
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 4ae45a7dae279cb1b8048ce4eff2aa1ae4e19f68..33c0ac18fa4c5b47d60cc774fe72d2d68c14e025 100644 index 87f1fbf405e5b71a25600030a98d8f1f187e0044..aa17159f54402dc2bb0f8336ef79614186f1ddd1 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -177,6 +177,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -177,6 +177,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -49,36 +49,36 @@ index 6990d6dc306b1d25544793b365fd6f7be8a37201..0d5e828a7fb6fd6facc04a27175541ac
@Override @Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5490a51a959eb635e5bbb0f6720c979658817f1f..f4df942895484e9fdc415ffce782d0a5312518c4 100644 index d40b9bdb60ec1de2052beedb3abd1b0efdbaa390..4bce5d936876bf17d81d008e73877c6d5637fb87 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1462,6 +1462,7 @@ public class PurpurWorldConfig { @@ -1576,6 +1576,7 @@ public class PurpurWorldConfig {
public boolean villagerControllable = true;
public double villagerMaxHealth = 20.0D; public double villagerMaxHealth = 20.0D;
public double villagerScale = 1.0D;
public boolean villagerFollowEmeraldBlock = false; public boolean villagerFollowEmeraldBlock = false;
+ public boolean villagerCanBeLeashed = false; + public boolean villagerCanBeLeashed = false;
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1473,6 +1474,7 @@ public class PurpurWorldConfig { @@ -1588,6 +1589,7 @@ public class PurpurWorldConfig {
}
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth); villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);
villagerScale = Mth.clamp(getDouble("mobs.villager.attributes.scale", villagerScale), 0.0625D, 16.0D);
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock); villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
+ villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed); + villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
} }
public boolean vindicatorRidable = false; public boolean vindicatorRidable = false;
@@ -1496,6 +1498,7 @@ public class PurpurWorldConfig { @@ -1614,6 +1616,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderControllable = true;
public double wanderingTraderMaxHealth = 20.0D; public double wanderingTraderMaxHealth = 20.0D;
public double wanderingTraderScale = 1.0D;
public boolean wanderingTraderFollowEmeraldBlock = false; public boolean wanderingTraderFollowEmeraldBlock = false;
+ public boolean wanderingTraderCanBeLeashed = false; + public boolean wanderingTraderCanBeLeashed = false;
private void wanderingTraderSettings() { private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -1507,6 +1510,7 @@ public class PurpurWorldConfig { @@ -1626,6 +1629,7 @@ public class PurpurWorldConfig {
}
wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth); wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth);
wanderingTraderScale = Mth.clamp(getDouble("mobs.wandering_trader.attributes.scale", wanderingTraderScale), 0.0625D, 16.0D);
wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock); wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock);
+ wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed); + wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed);
} }

View File

@@ -67,10 +67,10 @@ index 109f71401c65f476ccf6813137386fc9fef10254..9dcdb2f4001115db0c26fdbf86531dbe
@Override @Override
protected void beforeDestroyingBlock(LevelAccessor world, BlockPos pos, BlockState state, BlockPos source) { 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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a15dd3994240a4b48558f8d92a546a24153419e8..40402d33fe13a779cd84977ea1c8eb13484c76d2 100644 index d94587de6b67046fc2d38044e96b0599906427c3..812ba116157875735fc95bf8d59e3ad7959cb567 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -221,6 +221,11 @@ public class PurpurWorldConfig { @@ -222,6 +222,11 @@ public class PurpurWorldConfig {
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow); farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
} }
@@ -82,7 +82,7 @@ index a15dd3994240a4b48558f8d92a546a24153419e8..40402d33fe13a779cd84977ea1c8eb13
public boolean turtleEggsBreakFromExpOrbs = false; public boolean turtleEggsBreakFromExpOrbs = false;
public boolean turtleEggsBreakFromItems = false; public boolean turtleEggsBreakFromItems = false;
public boolean turtleEggsBreakFromMinecarts = false; public boolean turtleEggsBreakFromMinecarts = false;
@@ -230,6 +235,11 @@ public class PurpurWorldConfig { @@ -231,6 +236,11 @@ public class PurpurWorldConfig {
turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts); turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts);
} }

View File

@@ -18,10 +18,10 @@ index 4c230136d832d50ae16ffa037b0b30ff1101b50a..2d492d849ff73a738dfbcb16507feb89
@Override @Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 40402d33fe13a779cd84977ea1c8eb13484c76d2..9206ea37f1122a878952516ac23bc68811276735 100644 index 812ba116157875735fc95bf8d59e3ad7959cb567..b8bc547996c02cbd767515543ed11ce90680e300 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -222,8 +222,12 @@ public class PurpurWorldConfig { @@ -223,8 +223,12 @@ public class PurpurWorldConfig {
} }
public int lavaInfiniteRequiredSources = 2; public int lavaInfiniteRequiredSources = 2;

View File

@@ -32,10 +32,10 @@ index 9ef4ab973508eb139f7a44feb4bd484d8e0e03cd..025309a47e9683ec29cd94f997663b7f
return 0; return 0;
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9206ea37f1122a878952516ac23bc68811276735..990aa0a71076789af0eba7ed22c2f52536a0fbae 100644 index b8bc547996c02cbd767515543ed11ce90680e300..13da48e261251fec8ef180acceb08b230905bc84 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -171,6 +171,8 @@ public class PurpurWorldConfig { @@ -172,6 +172,8 @@ public class PurpurWorldConfig {
public boolean idleTimeoutCountAsSleeping = false; public boolean idleTimeoutCountAsSleeping = false;
public boolean idleTimeoutUpdateTabList = false; public boolean idleTimeoutUpdateTabList = false;
public boolean idleTimeoutTargetPlayer = true; public boolean idleTimeoutTargetPlayer = true;
@@ -44,7 +44,7 @@ index 9206ea37f1122a878952516ac23bc68811276735..990aa0a71076789af0eba7ed22c2f525
private void playerSettings() { private void playerSettings() {
if (PurpurConfig.version < 19) { if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -182,6 +184,8 @@ public class PurpurWorldConfig { @@ -183,6 +185,8 @@ public class PurpurWorldConfig {
idleTimeoutCountAsSleeping = getBoolean("gameplay-mechanics.player.idle-timeout.count-as-sleeping", idleTimeoutCountAsSleeping); idleTimeoutCountAsSleeping = getBoolean("gameplay-mechanics.player.idle-timeout.count-as-sleeping", idleTimeoutCountAsSleeping);
idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList); idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList);
idleTimeoutTargetPlayer = getBoolean("gameplay-mechanics.player.idle-timeout.mobs-target", idleTimeoutTargetPlayer); idleTimeoutTargetPlayer = getBoolean("gameplay-mechanics.player.idle-timeout.mobs-target", idleTimeoutTargetPlayer);

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 diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index b65ae7b4ddc7a1f3d2f66d63a62b766f5803b5ad..0989543cd39e337b2a4abb3184a623fc0ae39202 100644 index 5d910738b610041487fc63f1657b827c4ca03107..44149646438b03b85c300e9fbb5982c998fa32de 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -912,7 +912,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -912,7 +912,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -31,10 +31,10 @@ index d6c550b11c99dcc5beced14f03317e5973de6550..f51d4d93ce91eff11889f814256fdef3
protected void updateSwingTime() { protected void updateSwingTime() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 990aa0a71076789af0eba7ed22c2f52536a0fbae..ee683604d94476bdeaac73d6b34091b44b47128f 100644 index 13da48e261251fec8ef180acceb08b230905bc84..aa42e20e1e960bc0ab28b1215f314c5cc7a31bd0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -98,10 +98,14 @@ public class PurpurWorldConfig { @@ -99,10 +99,14 @@ public class PurpurWorldConfig {
public boolean disableDropsOnCrammingDeath = false; public boolean disableDropsOnCrammingDeath = false;
public boolean milkCuresBadOmen = true; public boolean milkCuresBadOmen = true;
public double tridentLoyaltyVoidReturnHeight = 0.0D; public double tridentLoyaltyVoidReturnHeight = 0.0D;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add canSaveToDisk to Entity
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 0989543cd39e337b2a4abb3184a623fc0ae39202..93d69b90b22a167eb8e64c0882e42258c2d6c101 100644 index 44149646438b03b85c300e9fbb5982c998fa32de..a90bee7735b4b12371a28e57c6cc4ab88e0c9f9c 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -530,6 +530,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -530,6 +530,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess

View File

@@ -35,10 +35,10 @@ index 647a4601deace52f8d855f512a73671f82b4762a..d05b1e129eee07434d162e1b949fd563
// CraftBukkit start // CraftBukkit start
Level world = pointer.level(); Level world = pointer.level();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ee683604d94476bdeaac73d6b34091b44b47128f..7096fd85e1c46097aa6d1c2e1bd511d36a9c486e 100644 index aa42e20e1e960bc0ab28b1215f314c5cc7a31bd0..d5872f83a4345023c75af3cded5c54e0aa0bc550 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -224,6 +224,11 @@ public class PurpurWorldConfig { @@ -225,6 +225,11 @@ public class PurpurWorldConfig {
}); });
} }

View File

@@ -17,10 +17,10 @@ index 907f751c859855484151fb5d607acee2f2a35076..4e1b2d65182f7d562a8470449b9f7c2e
} else { } else {
return Boat.Status.IN_AIR; 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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7096fd85e1c46097aa6d1c2e1bd511d36a9c486e..94df007142fc6dc1c9dbbd9af5219b87ace4d65d 100644 index d5872f83a4345023c75af3cded5c54e0aa0bc550..c75378dd279b3282d30c2f06b7b35910d58048f9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -95,12 +95,14 @@ public class PurpurWorldConfig { @@ -96,12 +96,14 @@ public class PurpurWorldConfig {
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight); armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
} }

View File

@@ -110,10 +110,10 @@ index 9635c076703beee96af9f5d0bdee4cf97ccd98ad..1abf54eeaad1b062f1465ee1a847bbfc
+ // Purpur end - Add option to mend the most damaged equipment first + // Purpur end - Add option to mend the most damaged equipment first
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 94df007142fc6dc1c9dbbd9af5219b87ace4d65d..f980e39b09f38e1c8265a8fe65de91178579326f 100644 index c75378dd279b3282d30c2f06b7b35910d58048f9..230aede0b10e0999a6043e2bd0e2fe381a232f9d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -95,6 +95,7 @@ public class PurpurWorldConfig { @@ -96,6 +96,7 @@ public class PurpurWorldConfig {
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight); armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
} }
@@ -121,7 +121,7 @@ index 94df007142fc6dc1c9dbbd9af5219b87ace4d65d..f980e39b09f38e1c8265a8fe65de9117
public boolean boatEjectPlayersOnLand = false; public boolean boatEjectPlayersOnLand = false;
public boolean disableDropsOnCrammingDeath = false; public boolean disableDropsOnCrammingDeath = false;
public boolean milkCuresBadOmen = true; public boolean milkCuresBadOmen = true;
@@ -102,6 +103,7 @@ public class PurpurWorldConfig { @@ -103,6 +104,7 @@ public class PurpurWorldConfig {
public double voidDamageHeight = -64.0D; public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D; public double voidDamageDealt = 4.0D;
private void miscGameplayMechanicsSettings() { private void miscGameplayMechanicsSettings() {

View File

@@ -18,7 +18,7 @@ index 039a86034928a5eb7aaa2d7ca76a7bddcca346bd..308f67d0616e2d6bb135258f1fda53cc
} }
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 753148b495d6623112fa860c9f6cbca9c6c0e986..186a7d3c0e79e114279046716e37c685f797f65f 100644 index 9835183dc91230f86200eb18cf9ce9a26e5808ab..7f1bfc5550c00aa3bd0871638c6f3f4e15c08508 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -314,7 +314,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -314,7 +314,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa

View File

@@ -65,10 +65,10 @@ index f1b2d388a1a40a1d909a2e726f32d6c15e1eb0eb..4934bae61114b49a9f8d0ed044fbb881
entityhuman.startAutoSpinAttack(20, 8.0F, stack); entityhuman.startAutoSpinAttack(20, 8.0F, stack);
if (entityhuman.onGround()) { if (entityhuman.onGround()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f980e39b09f38e1c8265a8fe65de91178579326f..f5eb2e02099ca46b44512163fd378a49c9b4b0ba 100644 index 230aede0b10e0999a6043e2bd0e2fe381a232f9d..79dd69c0e17c07e92b1bf8caf7e8d25ba351cb09 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -112,6 +112,17 @@ public class PurpurWorldConfig { @@ -113,6 +113,17 @@ public class PurpurWorldConfig {
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt); voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
} }

View File

@@ -117,10 +117,10 @@ index 30d62ee4d5cd2ddacb8783b5bbbf475d592b3e02..01e4395f1669d21c30465aa1366bd2f1
+ // Purpur end + // Purpur end
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f5eb2e02099ca46b44512163fd378a49c9b4b0ba..80b2c27eb66749fa74620f12899cf728043d252f 100644 index 79dd69c0e17c07e92b1bf8caf7e8d25ba351cb09..dd08eb9b8a74e6f9c0aa69d909f946c8185d272f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -123,6 +123,49 @@ public class PurpurWorldConfig { @@ -124,6 +124,49 @@ public class PurpurWorldConfig {
elytraDamagePerTridentBoost = getInt("gameplay-mechanics.elytra.damage-per-boost.trident", elytraDamagePerTridentBoost); elytraDamagePerTridentBoost = getInt("gameplay-mechanics.elytra.damage-per-boost.trident", elytraDamagePerTridentBoost);
} }

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add ping command
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
index f5989a4e4a9f6d983d664a9f74ccdfebf91ed4d9..3bb11eeff4e855ae9a57f8179491c1756d14e04e 100644 index 4b8dbdc43e85c08846a4e2ae50e59a6ca59758f3..20619fca432af199f3d3ed8c3d0f2bf88a6577ad 100644
--- a/src/main/java/net/minecraft/commands/Commands.java --- a/src/main/java/net/minecraft/commands/Commands.java
+++ b/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java
@@ -250,6 +250,7 @@ public class Commands { @@ -250,6 +250,7 @@ public class Commands {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add demo command
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
index 3bb11eeff4e855ae9a57f8179491c1756d14e04e..1da5184311b51494ca0cf426ba466404599b8d2c 100644 index 20619fca432af199f3d3ed8c3d0f2bf88a6577ad..4c090b70f30ef9eaa79b7de7f19a1d58b4d75cb5 100644
--- a/src/main/java/net/minecraft/commands/Commands.java --- a/src/main/java/net/minecraft/commands/Commands.java
+++ b/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java
@@ -250,6 +250,7 @@ public class Commands { @@ -250,6 +250,7 @@ public class Commands {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add credits command
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
index 1da5184311b51494ca0cf426ba466404599b8d2c..c44832599a95039f9ca0f772e7b405e40d7a97b5 100644 index 4c090b70f30ef9eaa79b7de7f19a1d58b4d75cb5..911a12e8af22b5f7a645384fee37c9ad435a9be1 100644
--- a/src/main/java/net/minecraft/commands/Commands.java --- a/src/main/java/net/minecraft/commands/Commands.java
+++ b/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java
@@ -250,6 +250,7 @@ public class Commands { @@ -250,6 +250,7 @@ public class Commands {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable jockey options
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
index 02bceb31c517b94653573380ed29d9401a6b9ce8..1d283484be270497859e23e3bb4ab38c09af23e6 100644 index c3e0e95da8a57fc7bfba44a6748c5d96a9640374..b5a46c844e0f366828f8c287a598abb9aaeacf21 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java --- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java +++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
@@ -98,6 +98,21 @@ public class Drowned extends Zombie implements RangedAttackMob { @@ -99,6 +99,21 @@ public class Drowned extends Zombie implements RangedAttackMob {
this.getAttribute(Attributes.SPAWN_REINFORCEMENTS_CHANCE).setBaseValue(this.random.nextDouble() * this.level().purpurConfig.drownedSpawnReinforcements); this.getAttribute(Attributes.SPAWN_REINFORCEMENTS_CHANCE).setBaseValue(this.random.nextDouble() * this.level().purpurConfig.drownedSpawnReinforcements);
} }
@@ -57,11 +57,11 @@ index 805bfee8b061445de5b5d8aeb13c792178e25f7b..6673c0bff3a4e3d11a09e9dc8aeb0c24
return checkMonsterSpawnRules(type, world, spawnReason, pos, random) && (MobSpawnType.isSpawner(spawnReason) || world.canSeeSky(pos)); return checkMonsterSpawnRules(type, world, spawnReason, pos, random) && (MobSpawnType.isSpawner(spawnReason) || world.canSeeSky(pos));
} }
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
index 28587e17b15748880576f7a71e71a05c9c1bcf78..43c48bb14957b93ee3b0191360c09f710bc008e0 100644 index ea6ec8eae2306542a4d6b0b463b8d10abc0d0b37..ada1f9f9bf8770c48ff25d562cf84cb04be17ca2 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java --- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java +++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
@@ -130,6 +130,18 @@ public class Zombie extends Monster { @@ -131,6 +131,18 @@ public class Zombie extends Monster {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.zombieMaxHealth); this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.zombieScale);
} }
+ public boolean jockeyOnlyBaby() { + public boolean jockeyOnlyBaby() {
@@ -79,7 +79,7 @@ index 28587e17b15748880576f7a71e71a05c9c1bcf78..43c48bb14957b93ee3b0191360c09f71
@Override @Override
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
@@ -544,19 +556,20 @@ public class Zombie extends Monster { @@ -545,19 +557,20 @@ public class Zombie extends Monster {
} }
if (object instanceof Zombie.ZombieGroupData entityzombie_groupdatazombie) { if (object instanceof Zombie.ZombieGroupData entityzombie_groupdatazombie) {
@@ -106,7 +106,7 @@ index 28587e17b15748880576f7a71e71a05c9c1bcf78..43c48bb14957b93ee3b0191360c09f71
Chicken entitychicken1 = (Chicken) EntityType.CHICKEN.create(this.level()); Chicken entitychicken1 = (Chicken) EntityType.CHICKEN.create(this.level());
if (entitychicken1 != null) { if (entitychicken1 != null) {
@@ -566,6 +579,7 @@ public class Zombie extends Monster { @@ -567,6 +580,7 @@ public class Zombie extends Monster {
this.startRiding(entitychicken1); this.startRiding(entitychicken1);
world.addFreshEntity(entitychicken1, CreatureSpawnEvent.SpawnReason.MOUNT); // CraftBukkit world.addFreshEntity(entitychicken1, CreatureSpawnEvent.SpawnReason.MOUNT); // CraftBukkit
} }
@@ -141,11 +141,11 @@ index 199770256cf7f838228b5263ec9af8c6b18f30fb..cdf6753b6bb2bbb4f3ab21792bd31539
protected void defineSynchedData(SynchedEntityData.Builder builder) { protected void defineSynchedData(SynchedEntityData.Builder builder) {
super.defineSynchedData(builder); super.defineSynchedData(builder);
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
index 883cd9a96a1d4276ca10c5558b553c36a1bb0d79..0dcf5638e12c7670e6a5e577210e2542de1fd38b 100644 index 42e3e992cc725627e8b03fa2c057c59bd52556b4..53b8f46bda60289ec310cb45513a2b729fcbea76 100644
--- a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java --- a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java +++ b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
@@ -85,6 +85,21 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob { @@ -86,6 +86,21 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.zombifiedPiglinMaxHealth); this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.zombifiedPiglinScale);
} }
+ @Override + @Override
@@ -167,12 +167,12 @@ index 883cd9a96a1d4276ca10c5558b553c36a1bb0d79..0dcf5638e12c7670e6a5e577210e2542
public void setPersistentAngerTarget(@Nullable UUID angryAt) { public void setPersistentAngerTarget(@Nullable UUID angryAt) {
this.persistentAngerTarget = angryAt; this.persistentAngerTarget = angryAt;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a5fec4cc1390581d98b5d64aa12e0a29ae149efc..58bab65407d4e1cff37d81d6bca00bf53ee80e24 100644 index b2bc8d014b9cfd7af72b0a04077f93741338083a..a4eef27653adda8486130c5affea09396a8901a7 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -608,6 +608,9 @@ public class PurpurWorldConfig { @@ -640,6 +640,9 @@ public class PurpurWorldConfig {
public boolean drownedControllable = true;
public double drownedMaxHealth = 20.0D; public double drownedMaxHealth = 20.0D;
public double drownedScale = 1.0D;
public double drownedSpawnReinforcements = 0.1D; public double drownedSpawnReinforcements = 0.1D;
+ public boolean drownedJockeyOnlyBaby = true; + public boolean drownedJockeyOnlyBaby = true;
+ public double drownedJockeyChance = 0.05D; + public double drownedJockeyChance = 0.05D;
@@ -180,9 +180,9 @@ index a5fec4cc1390581d98b5d64aa12e0a29ae149efc..58bab65407d4e1cff37d81d6bca00bf5
private void drownedSettings() { private void drownedSettings() {
drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable); drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable);
drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater); drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater);
@@ -619,6 +622,9 @@ public class PurpurWorldConfig { @@ -652,6 +655,9 @@ public class PurpurWorldConfig {
}
drownedMaxHealth = getDouble("mobs.drowned.attributes.max_health", drownedMaxHealth); drownedMaxHealth = getDouble("mobs.drowned.attributes.max_health", drownedMaxHealth);
drownedScale = Mth.clamp(getDouble("mobs.drowned.attributes.scale", drownedScale), 0.0625D, 16.0D);
drownedSpawnReinforcements = getDouble("mobs.drowned.attributes.spawn_reinforcements", drownedSpawnReinforcements); drownedSpawnReinforcements = getDouble("mobs.drowned.attributes.spawn_reinforcements", drownedSpawnReinforcements);
+ drownedJockeyOnlyBaby = getBoolean("mobs.drowned.jockey.only-babies", drownedJockeyOnlyBaby); + drownedJockeyOnlyBaby = getBoolean("mobs.drowned.jockey.only-babies", drownedJockeyOnlyBaby);
+ drownedJockeyChance = getDouble("mobs.drowned.jockey.chance", drownedJockeyChance); + drownedJockeyChance = getDouble("mobs.drowned.jockey.chance", drownedJockeyChance);
@@ -190,9 +190,9 @@ index a5fec4cc1390581d98b5d64aa12e0a29ae149efc..58bab65407d4e1cff37d81d6bca00bf5
} }
public boolean elderGuardianRidable = false; public boolean elderGuardianRidable = false;
@@ -867,6 +873,9 @@ public class PurpurWorldConfig { @@ -923,6 +929,9 @@ public class PurpurWorldConfig {
public boolean huskControllable = true;
public double huskMaxHealth = 20.0D; public double huskMaxHealth = 20.0D;
public double huskScale = 1.0D;
public double huskSpawnReinforcements = 0.1D; public double huskSpawnReinforcements = 0.1D;
+ public boolean huskJockeyOnlyBaby = true; + public boolean huskJockeyOnlyBaby = true;
+ public double huskJockeyChance = 0.05D; + public double huskJockeyChance = 0.05D;
@@ -200,9 +200,9 @@ index a5fec4cc1390581d98b5d64aa12e0a29ae149efc..58bab65407d4e1cff37d81d6bca00bf5
private void huskSettings() { private void huskSettings() {
huskRidable = getBoolean("mobs.husk.ridable", huskRidable); huskRidable = getBoolean("mobs.husk.ridable", huskRidable);
huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater); huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater);
@@ -878,6 +887,9 @@ public class PurpurWorldConfig { @@ -935,6 +944,9 @@ public class PurpurWorldConfig {
}
huskMaxHealth = getDouble("mobs.husk.attributes.max_health", huskMaxHealth); huskMaxHealth = getDouble("mobs.husk.attributes.max_health", huskMaxHealth);
huskScale = Mth.clamp(getDouble("mobs.husk.attributes.scale", huskScale), 0.0625D, 16.0D);
huskSpawnReinforcements = getDouble("mobs.husk.attributes.spawn_reinforcements", huskSpawnReinforcements); huskSpawnReinforcements = getDouble("mobs.husk.attributes.spawn_reinforcements", huskSpawnReinforcements);
+ huskJockeyOnlyBaby = getBoolean("mobs.husk.jockey.only-babies", huskJockeyOnlyBaby); + huskJockeyOnlyBaby = getBoolean("mobs.husk.jockey.only-babies", huskJockeyOnlyBaby);
+ huskJockeyChance = getDouble("mobs.husk.jockey.chance", huskJockeyChance); + huskJockeyChance = getDouble("mobs.husk.jockey.chance", huskJockeyChance);
@@ -210,9 +210,9 @@ index a5fec4cc1390581d98b5d64aa12e0a29ae149efc..58bab65407d4e1cff37d81d6bca00bf5
} }
public boolean illusionerRidable = false; public boolean illusionerRidable = false;
@@ -1698,6 +1710,9 @@ public class PurpurWorldConfig { @@ -1828,6 +1840,9 @@ public class PurpurWorldConfig {
public boolean zombieControllable = true;
public double zombieMaxHealth = 20.0D; public double zombieMaxHealth = 20.0D;
public double zombieScale = 1.0D;
public double zombieSpawnReinforcements = 0.1D; public double zombieSpawnReinforcements = 0.1D;
+ public boolean zombieJockeyOnlyBaby = true; + public boolean zombieJockeyOnlyBaby = true;
+ public double zombieJockeyChance = 0.05D; + public double zombieJockeyChance = 0.05D;
@@ -220,9 +220,9 @@ index a5fec4cc1390581d98b5d64aa12e0a29ae149efc..58bab65407d4e1cff37d81d6bca00bf5
private void zombieSettings() { private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1709,6 +1724,9 @@ public class PurpurWorldConfig { @@ -1840,6 +1855,9 @@ public class PurpurWorldConfig {
}
zombieMaxHealth = getDouble("mobs.zombie.attributes.max_health", zombieMaxHealth); zombieMaxHealth = getDouble("mobs.zombie.attributes.max_health", zombieMaxHealth);
zombieScale = Mth.clamp(getDouble("mobs.zombie.attributes.scale", zombieScale), 0.0625D, 16.0D);
zombieSpawnReinforcements = getDouble("mobs.zombie.attributes.spawn_reinforcements", zombieSpawnReinforcements); zombieSpawnReinforcements = getDouble("mobs.zombie.attributes.spawn_reinforcements", zombieSpawnReinforcements);
+ zombieJockeyOnlyBaby = getBoolean("mobs.zombie.jockey.only-babies", zombieJockeyOnlyBaby); + zombieJockeyOnlyBaby = getBoolean("mobs.zombie.jockey.only-babies", zombieJockeyOnlyBaby);
+ zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance); + zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance);
@@ -230,9 +230,9 @@ index a5fec4cc1390581d98b5d64aa12e0a29ae149efc..58bab65407d4e1cff37d81d6bca00bf5
} }
public boolean zombieHorseRidable = false; public boolean zombieHorseRidable = false;
@@ -1745,6 +1763,9 @@ public class PurpurWorldConfig { @@ -1877,6 +1895,9 @@ public class PurpurWorldConfig {
public boolean zombieVillagerControllable = true;
public double zombieVillagerMaxHealth = 20.0D; public double zombieVillagerMaxHealth = 20.0D;
public double zombieVillagerScale = 1.0D;
public double zombieVillagerSpawnReinforcements = 0.1D; public double zombieVillagerSpawnReinforcements = 0.1D;
+ public boolean zombieVillagerJockeyOnlyBaby = true; + public boolean zombieVillagerJockeyOnlyBaby = true;
+ public double zombieVillagerJockeyChance = 0.05D; + public double zombieVillagerJockeyChance = 0.05D;
@@ -240,9 +240,9 @@ index a5fec4cc1390581d98b5d64aa12e0a29ae149efc..58bab65407d4e1cff37d81d6bca00bf5
private void zombieVillagerSettings() { private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -1756,6 +1777,9 @@ public class PurpurWorldConfig { @@ -1889,6 +1910,9 @@ public class PurpurWorldConfig {
}
zombieVillagerMaxHealth = getDouble("mobs.zombie_villager.attributes.max_health", zombieVillagerMaxHealth); zombieVillagerMaxHealth = getDouble("mobs.zombie_villager.attributes.max_health", zombieVillagerMaxHealth);
zombieVillagerScale = Mth.clamp(getDouble("mobs.zombie_villager.attributes.scale", zombieVillagerScale), 0.0625D, 16.0D);
zombieVillagerSpawnReinforcements = getDouble("mobs.zombie_villager.attributes.spawn_reinforcements", zombieVillagerSpawnReinforcements); zombieVillagerSpawnReinforcements = getDouble("mobs.zombie_villager.attributes.spawn_reinforcements", zombieVillagerSpawnReinforcements);
+ zombieVillagerJockeyOnlyBaby = getBoolean("mobs.zombie_villager.jockey.only-babies", zombieVillagerJockeyOnlyBaby); + zombieVillagerJockeyOnlyBaby = getBoolean("mobs.zombie_villager.jockey.only-babies", zombieVillagerJockeyOnlyBaby);
+ zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance); + zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance);
@@ -250,9 +250,9 @@ index a5fec4cc1390581d98b5d64aa12e0a29ae149efc..58bab65407d4e1cff37d81d6bca00bf5
} }
public boolean zombifiedPiglinRidable = false; public boolean zombifiedPiglinRidable = false;
@@ -1763,6 +1787,9 @@ public class PurpurWorldConfig { @@ -1897,6 +1921,9 @@ public class PurpurWorldConfig {
public boolean zombifiedPiglinControllable = true;
public double zombifiedPiglinMaxHealth = 20.0D; public double zombifiedPiglinMaxHealth = 20.0D;
public double zombifiedPiglinScale = 1.0D;
public double zombifiedPiglinSpawnReinforcements = 0.0D; public double zombifiedPiglinSpawnReinforcements = 0.0D;
+ public boolean zombifiedPiglinJockeyOnlyBaby = true; + public boolean zombifiedPiglinJockeyOnlyBaby = true;
+ public double zombifiedPiglinJockeyChance = 0.05D; + public double zombifiedPiglinJockeyChance = 0.05D;
@@ -260,9 +260,9 @@ index a5fec4cc1390581d98b5d64aa12e0a29ae149efc..58bab65407d4e1cff37d81d6bca00bf5
private void zombifiedPiglinSettings() { private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -1774,5 +1801,8 @@ public class PurpurWorldConfig { @@ -1909,5 +1936,8 @@ public class PurpurWorldConfig {
}
zombifiedPiglinMaxHealth = getDouble("mobs.zombified_piglin.attributes.max_health", zombifiedPiglinMaxHealth); zombifiedPiglinMaxHealth = getDouble("mobs.zombified_piglin.attributes.max_health", zombifiedPiglinMaxHealth);
zombifiedPiglinScale = Mth.clamp(getDouble("mobs.zombified_piglin.attributes.scale", zombifiedPiglinScale), 0.0625D, 16.0D);
zombifiedPiglinSpawnReinforcements = getDouble("mobs.zombified_piglin.attributes.spawn_reinforcements", zombifiedPiglinSpawnReinforcements); zombifiedPiglinSpawnReinforcements = getDouble("mobs.zombified_piglin.attributes.spawn_reinforcements", zombifiedPiglinSpawnReinforcements);
+ zombifiedPiglinJockeyOnlyBaby = getBoolean("mobs.zombified_piglin.jockey.only-babies", zombifiedPiglinJockeyOnlyBaby); + zombifiedPiglinJockeyOnlyBaby = getBoolean("mobs.zombified_piglin.jockey.only-babies", zombifiedPiglinJockeyOnlyBaby);
+ zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance); + zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance);

View File

@@ -256,10 +256,10 @@ index 4dea7aed072caf383986e09ead8ee790b35d9706..7a80cb45ff5d96380755d37ff43ddeac
private float speed = 0.1F; 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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index af58101a8c364740b5f0fb1d859d0c57f7e91eac..313b22d3cba602f35a799af0656cf514f1ff1c83 100644 index a4eef27653adda8486130c5affea09396a8901a7..97c6c063729b8bbff87761b90d4314dd0612e3a1 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1085,6 +1085,9 @@ public class PurpurWorldConfig { @@ -1154,6 +1154,9 @@ public class PurpurWorldConfig {
public String phantomAttackDamage = "6 + size"; public String phantomAttackDamage = "6 + size";
public Map<Integer, Double> phantomMaxHealthCache = new HashMap<>(); public Map<Integer, Double> phantomMaxHealthCache = new HashMap<>();
public Map<Integer, Double> phantomAttackDamageCache = new HashMap<>(); public Map<Integer, Double> phantomAttackDamageCache = new HashMap<>();
@@ -269,7 +269,7 @@ index af58101a8c364740b5f0fb1d859d0c57f7e91eac..313b22d3cba602f35a799af0656cf514
private void phantomSettings() { private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -1106,6 +1109,9 @@ public class PurpurWorldConfig { @@ -1175,6 +1178,9 @@ public class PurpurWorldConfig {
phantomAttackDamage = getString("mobs.phantom.attributes.attack_damage", phantomAttackDamage); phantomAttackDamage = getString("mobs.phantom.attributes.attack_damage", phantomAttackDamage);
phantomMaxHealthCache.clear(); phantomMaxHealthCache.clear();
phantomAttackDamageCache.clear(); phantomAttackDamageCache.clear();

View File

@@ -40,10 +40,10 @@ index 1b1b475ca27e799e251d6f8a8c9fe1a4fd8bae83..04f67f7b43d2f461c776c76614dc3e5f
for (int l = 0; l < k; ++l) { for (int l = 0; l < k; ++l) {
// Paper start - PhantomPreSpawnEvent // Paper start - PhantomPreSpawnEvent
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 313b22d3cba602f35a799af0656cf514f1ff1c83..56c7d54c076182e1f43fcafc533b04b74aabe62f 100644 index 97c6c063729b8bbff87761b90d4314dd0612e3a1..1369a14df3736cce6b6806fba7de7ffdefac1ab2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1088,6 +1088,12 @@ public class PurpurWorldConfig { @@ -1157,6 +1157,12 @@ public class PurpurWorldConfig {
public double phantomAttackedByCrystalRadius = 0.0D; public double phantomAttackedByCrystalRadius = 0.0D;
public float phantomAttackedByCrystalDamage = 1.0F; public float phantomAttackedByCrystalDamage = 1.0F;
public double phantomOrbitCrystalRadius = 0.0D; public double phantomOrbitCrystalRadius = 0.0D;
@@ -56,7 +56,7 @@ index 313b22d3cba602f35a799af0656cf514f1ff1c83..56c7d54c076182e1f43fcafc533b04b7
private void phantomSettings() { private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -1112,6 +1118,12 @@ public class PurpurWorldConfig { @@ -1181,6 +1187,12 @@ public class PurpurWorldConfig {
phantomAttackedByCrystalRadius = getDouble("mobs.phantom.attacked-by-crystal-range", phantomAttackedByCrystalRadius); phantomAttackedByCrystalRadius = getDouble("mobs.phantom.attacked-by-crystal-range", phantomAttackedByCrystalRadius);
phantomAttackedByCrystalDamage = (float) getDouble("mobs.phantom.attacked-by-crystal-damage", phantomAttackedByCrystalDamage); phantomAttackedByCrystalDamage = (float) getDouble("mobs.phantom.attacked-by-crystal-damage", phantomAttackedByCrystalDamage);
phantomOrbitCrystalRadius = getDouble("mobs.phantom.orbit-crystal-radius", phantomOrbitCrystalRadius); phantomOrbitCrystalRadius = getDouble("mobs.phantom.orbit-crystal-radius", phantomOrbitCrystalRadius);

View File

@@ -27,10 +27,10 @@ index 85d598c3354ee62f0fd1b26e485e0084967c0380..b59dd6b512021c335f3c21999958e2ea
} }
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 56c7d54c076182e1f43fcafc533b04b74aabe62f..91ec52442ef175781ebd661521ed8b1ec889c582 100644 index 85d435c633eaefe2c6af337c7f12e57ff2eede2f..f1b1145495d7093cfab0355d5fc2600707c0a2d8 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -282,6 +282,27 @@ public class PurpurWorldConfig { @@ -283,6 +283,27 @@ public class PurpurWorldConfig {
}); });
} }

View File

@@ -18,10 +18,10 @@ index 94d067e9eeee73183de25165d8c97043fe256103..00b6941951e1af9993f8f6da5425d31b
public static boolean canSetSpawn(Level world) { 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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 91ec52442ef175781ebd661521ed8b1ec889c582..2894be6907fdb07b23598b1c5ba2becf08e5edf3 100644 index f1b1145495d7093cfab0355d5fc2600707c0a2d8..e0f1f5d59fd3cd9ebf23365db56cfb43f1d5f427 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -322,6 +322,27 @@ public class PurpurWorldConfig { @@ -323,6 +323,27 @@ public class PurpurWorldConfig {
lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether); lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether);
} }

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Allow color codes in books
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index dce0df639765a1c49b23f592c08cce14278f67b7..a2381960e213ade5ade22ad180666e4b74185beb 100644 index 07d8b2536c2c95b91467edd2ece8674eeaa6ad2f..68c4e3d9a3f928a52357e25820ac73adbfb3332c 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1203,10 +1203,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -1203,10 +1203,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl

View File

@@ -94,10 +94,10 @@ index 091d2b1646068657120ee4244d79cbf7867a9cf7..149d272775783aab243f0707ee11f702
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2894be6907fdb07b23598b1c5ba2becf08e5edf3..beb1f965ac90b29f6eb8ed19da1d38163e8c15dd 100644 index e0f1f5d59fd3cd9ebf23365db56cfb43f1d5f427..fd3a0e995deb66afeb2675460e12012b4b5649a6 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -123,6 +123,11 @@ public class PurpurWorldConfig { @@ -124,6 +124,11 @@ public class PurpurWorldConfig {
elytraDamagePerTridentBoost = getInt("gameplay-mechanics.elytra.damage-per-boost.trident", elytraDamagePerTridentBoost); elytraDamagePerTridentBoost = getInt("gameplay-mechanics.elytra.damage-per-boost.trident", elytraDamagePerTridentBoost);
} }

View File

@@ -48,10 +48,10 @@ index 0c607578b493496e79ea08cdf752828252a66c47..d207f9107b2d78bbe5f4eb400f825829
} }
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index beb1f965ac90b29f6eb8ed19da1d38163e8c15dd..f2f965d6ffb56418f7ed1d511e94170d4eb2313f 100644 index fd3a0e995deb66afeb2675460e12012b4b5649a6..3f9a61add98784758272cc0e81d807550a57bae1 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -240,6 +240,7 @@ public class PurpurWorldConfig { @@ -241,6 +241,7 @@ public class PurpurWorldConfig {
public boolean idleTimeoutTargetPlayer = true; public boolean idleTimeoutTargetPlayer = true;
public String playerDeathExpDropEquation = "expLevel * 7"; public String playerDeathExpDropEquation = "expLevel * 7";
public int playerDeathExpDropMax = 100; public int playerDeathExpDropMax = 100;
@@ -59,7 +59,7 @@ index beb1f965ac90b29f6eb8ed19da1d38163e8c15dd..f2f965d6ffb56418f7ed1d511e94170d
private void playerSettings() { private void playerSettings() {
if (PurpurConfig.version < 19) { if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -253,6 +254,7 @@ public class PurpurWorldConfig { @@ -254,6 +255,7 @@ public class PurpurWorldConfig {
idleTimeoutTargetPlayer = getBoolean("gameplay-mechanics.player.idle-timeout.mobs-target", idleTimeoutTargetPlayer); idleTimeoutTargetPlayer = getBoolean("gameplay-mechanics.player.idle-timeout.mobs-target", idleTimeoutTargetPlayer);
playerDeathExpDropEquation = getString("gameplay-mechanics.player.exp-dropped-on-death.equation", playerDeathExpDropEquation); playerDeathExpDropEquation = getString("gameplay-mechanics.player.exp-dropped-on-death.equation", playerDeathExpDropEquation);
playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax); playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax);

View File

@@ -5,21 +5,21 @@ 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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a187e93571e359b416f9ff6f7152ca574f64c443..5d3ef207dba95fdfa2dcc7f8c95ca94dd3d18845 100644 index 7e416c24a336b53a71b53c020171a32adca6c95c..4ed5b8babbbace9b26659b54c7de395aaa9ab8ac 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1477,6 +1477,7 @@ public class PurpurWorldConfig { @@ -1577,6 +1577,7 @@ public class PurpurWorldConfig {
public boolean squidRidable = false;
public boolean squidControllable = true; public boolean squidControllable = true;
public double squidMaxHealth = 10.0D; public double squidMaxHealth = 10.0D;
public double squidScale = 1.0D;
+ public boolean squidImmuneToEAR = true; + public boolean squidImmuneToEAR = true;
private void squidSettings() { private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable); squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -1486,6 +1487,7 @@ public class PurpurWorldConfig { @@ -1587,6 +1588,7 @@ public class PurpurWorldConfig {
set("mobs.squid.attributes.max_health", oldValue);
} }
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth); squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);
squidScale = Mth.clamp(getDouble("mobs.squid.attributes.scale", squidScale), 0.0625D, 16.0D);
+ squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR); + squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);
} }

View File

@@ -51,10 +51,10 @@ index 7a80cb45ff5d96380755d37ff43ddeac2cd451e1..8f221fe016ea7221eb3a2116a2213139
list.sort(Comparator.comparing((Entity e) -> { return e.getY(); }).reversed()); // CraftBukkit - decompile error list.sort(Comparator.comparing((Entity e) -> { return e.getY(); }).reversed()); // CraftBukkit - decompile error
Iterator iterator = list.iterator(); Iterator iterator = list.iterator();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 41a164c0009e6c7112541b49f26ba9849a16f6b1..33ea997e6517fb39a3f676c131824cffccdaf5af 100644 index 4ed5b8babbbace9b26659b54c7de395aaa9ab8ac..bc04f87a0603b3b27cd542156a0173c09e28d5ab 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1143,6 +1143,9 @@ public class PurpurWorldConfig { @@ -1212,6 +1212,9 @@ public class PurpurWorldConfig {
public double phantomSpawnLocalDifficultyChance = 3.0D; public double phantomSpawnLocalDifficultyChance = 3.0D;
public int phantomSpawnMinPerAttempt = 1; public int phantomSpawnMinPerAttempt = 1;
public int phantomSpawnMaxPerAttempt = -1; public int phantomSpawnMaxPerAttempt = -1;
@@ -64,7 +64,7 @@ index 41a164c0009e6c7112541b49f26ba9849a16f6b1..33ea997e6517fb39a3f676c131824cff
private void phantomSettings() { private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -1173,6 +1176,9 @@ public class PurpurWorldConfig { @@ -1242,6 +1245,9 @@ public class PurpurWorldConfig {
phantomSpawnLocalDifficultyChance = getDouble("mobs.phantom.spawn.local-difficulty-chance", phantomSpawnLocalDifficultyChance); phantomSpawnLocalDifficultyChance = getDouble("mobs.phantom.spawn.local-difficulty-chance", phantomSpawnLocalDifficultyChance);
phantomSpawnMinPerAttempt = getInt("mobs.phantom.spawn.per-attempt.min", phantomSpawnMinPerAttempt); phantomSpawnMinPerAttempt = getInt("mobs.phantom.spawn.per-attempt.min", phantomSpawnMinPerAttempt);
phantomSpawnMaxPerAttempt = getInt("mobs.phantom.spawn.per-attempt.max", phantomSpawnMaxPerAttempt); phantomSpawnMaxPerAttempt = getInt("mobs.phantom.spawn.per-attempt.max", phantomSpawnMaxPerAttempt);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable villager breeding
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 33c0ac18fa4c5b47d60cc774fe72d2d68c14e025..ad3e340c2487aa1dc2ed3ab08fa8747b7516022e 100644 index aa17159f54402dc2bb0f8336ef79614186f1ddd1..96a140098b467afa9122093a08ebf190ed566a30 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -779,7 +779,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -780,7 +780,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@Override @Override
public boolean canBreed() { public boolean canBreed() {
@@ -18,19 +18,19 @@ index 33c0ac18fa4c5b47d60cc774fe72d2d68c14e025..ad3e340c2487aa1dc2ed3ab08fa8747b
private boolean hungry() { private boolean hungry() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0e5a27b2f5a9b59ff3d6ca07147aad5918e80a25..71cd3256d2378b0bcfa599b0502aabcfdf951d8a 100644 index bc04f87a0603b3b27cd542156a0173c09e28d5ab..4172de8958c5216eeca7535de3be97515d32337e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1635,6 +1635,7 @@ public class PurpurWorldConfig { @@ -1749,6 +1749,7 @@ public class PurpurWorldConfig {
public double villagerMaxHealth = 20.0D; public double villagerScale = 1.0D;
public boolean villagerFollowEmeraldBlock = false; public boolean villagerFollowEmeraldBlock = false;
public boolean villagerCanBeLeashed = false; public boolean villagerCanBeLeashed = false;
+ public boolean villagerCanBreed = true; + public boolean villagerCanBreed = true;
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1647,6 +1648,7 @@ public class PurpurWorldConfig { @@ -1762,6 +1763,7 @@ public class PurpurWorldConfig {
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth); villagerScale = Mth.clamp(getDouble("mobs.villager.attributes.scale", villagerScale), 0.0625D, 16.0D);
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock); villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed); villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
+ villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed); + villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);

View File

@@ -17,10 +17,10 @@ index f57e1b78204dff661ad5d3ee93a88a00330af2dc..967af8771ff8564c715d89f4b4b69b16
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 73c4d1f29199af355cc467c7322637044805ea52..1b4b248d79d0e80750c957e1d76d1572c2528d6e 100644 index a1e0ffd2ed576b9f988d64467a210cb869b5bdc7..5053c57bfc39bcc5b383795fe6e85dc9e5d1e421 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -350,6 +350,11 @@ public class PurpurWorldConfig { @@ -351,6 +351,11 @@ public class PurpurWorldConfig {
} }
} }

View File

@@ -28,10 +28,10 @@ index d207f9107b2d78bbe5f4eb400f825829ea4f4688..62bf75a8adbe267663b88c2709d042c4
EntityResurrectEvent event = new EntityResurrectEvent((org.bukkit.entity.LivingEntity) this.getBukkitEntity(), handSlot); EntityResurrectEvent event = new EntityResurrectEvent((org.bukkit.entity.LivingEntity) this.getBukkitEntity(), handSlot);
event.setCancelled(itemstack == null); event.setCancelled(itemstack == null);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1b4b248d79d0e80750c957e1d76d1572c2528d6e..8dc68f00b488da2881c35061bc729edfe295a1c0 100644 index 5053c57bfc39bcc5b383795fe6e85dc9e5d1e421..b16b141e0f44211579adae187e48b8c2224537f5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -241,6 +241,7 @@ public class PurpurWorldConfig { @@ -242,6 +242,7 @@ public class PurpurWorldConfig {
public String playerDeathExpDropEquation = "expLevel * 7"; public String playerDeathExpDropEquation = "expLevel * 7";
public int playerDeathExpDropMax = 100; public int playerDeathExpDropMax = 100;
public boolean teleportIfOutsideBorder = false; public boolean teleportIfOutsideBorder = false;
@@ -39,7 +39,7 @@ index 1b4b248d79d0e80750c957e1d76d1572c2528d6e..8dc68f00b488da2881c35061bc729edf
private void playerSettings() { private void playerSettings() {
if (PurpurConfig.version < 19) { if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -255,6 +256,7 @@ public class PurpurWorldConfig { @@ -256,6 +257,7 @@ public class PurpurWorldConfig {
playerDeathExpDropEquation = getString("gameplay-mechanics.player.exp-dropped-on-death.equation", playerDeathExpDropEquation); playerDeathExpDropEquation = getString("gameplay-mechanics.player.exp-dropped-on-death.equation", playerDeathExpDropEquation);
playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax); playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax);
teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder); teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add vindicator johnny spawn chance
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
index eb6dce8b2dcc7f4e63c69cfa6acbd9b36a923706..feb7eb93bd20e141ff86ed2e91b9cd0fa3f1d154 100644 index e5c6baf199235812f7b4fcec20145d7146737224..f8c2911496aa18e8e2b589309e9cdd78d679f004 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java --- a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java +++ b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
@@ -151,6 +151,11 @@ public class Vindicator extends AbstractIllager { @@ -152,6 +152,11 @@ public class Vindicator extends AbstractIllager {
RandomSource randomSource = world.getRandom(); RandomSource randomSource = world.getRandom();
this.populateDefaultEquipmentSlots(randomSource, difficulty); this.populateDefaultEquipmentSlots(randomSource, difficulty);
this.populateDefaultEquipmentEnchantments(world, randomSource, difficulty); this.populateDefaultEquipmentEnchantments(world, randomSource, difficulty);
@@ -21,21 +21,21 @@ index eb6dce8b2dcc7f4e63c69cfa6acbd9b36a923706..feb7eb93bd20e141ff86ed2e91b9cd0f
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index fa4fdf0dd635dfc409dbd096c490c1cdca8a3189..baf573e75d4575a886830e2c11c162f07a04886a 100644 index d320a16646d0e15278c7d459f49627293b96a0f9..cf75f01c719ad6d3bfef73314c31c51c200fc4aa 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1662,6 +1662,7 @@ public class PurpurWorldConfig { @@ -1778,6 +1778,7 @@ public class PurpurWorldConfig {
public boolean vindicatorRidableInWater = true;
public boolean vindicatorControllable = true; public boolean vindicatorControllable = true;
public double vindicatorMaxHealth = 24.0D; public double vindicatorMaxHealth = 24.0D;
public double vindicatorScale = 1.0D;
+ public double vindicatorJohnnySpawnChance = 0D; + public double vindicatorJohnnySpawnChance = 0D;
private void vindicatorSettings() { private void vindicatorSettings() {
vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable); vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable);
vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater); vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater);
@@ -1672,6 +1673,7 @@ public class PurpurWorldConfig { @@ -1789,6 +1790,7 @@ public class PurpurWorldConfig {
set("mobs.vindicator.attributes.max_health", oldValue);
} }
vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth); vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth);
vindicatorScale = Mth.clamp(getDouble("mobs.vindicator.attributes.scale", vindicatorScale), 0.0625D, 16.0D);
+ vindicatorJohnnySpawnChance = getDouble("mobs.vindicator.johnny.spawn-chance", vindicatorJohnnySpawnChance); + vindicatorJohnnySpawnChance = getDouble("mobs.vindicator.johnny.spawn-chance", vindicatorJohnnySpawnChance);
} }

View File

@@ -32,10 +32,10 @@ index 7bf250bba4179a506c0a39b7866a9389552d2905..6548e595ab5c06044be438bc7eac181f
} }
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index afe3b998b4ef5b086969e58a656adedf8b9600ea..3dc99b3cbba5482d52052ded3217059ec6da3324 100644 index a283b0afaccaebb27216c241abff97fcf8998ded..00d34e58bcc03d6d342261a637bc5ef23a4be769 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -313,8 +313,10 @@ public class PurpurWorldConfig { @@ -314,8 +314,10 @@ public class PurpurWorldConfig {
} }
public boolean dispenserApplyCursedArmor = true; public boolean dispenserApplyCursedArmor = true;

View File

@@ -64,10 +64,10 @@ index 99bfa7cdc58c690d6f0c742dafedd40cace3223f..2d300905c05c7c23a4da30b3651b3313
} }
} else if (itemstack.has(DataComponents.CUSTOM_NAME)) { } else if (itemstack.has(DataComponents.CUSTOM_NAME)) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3dc99b3cbba5482d52052ded3217059ec6da3324..2c31025c2554858936118438d45c873290484f4b 100644 index 00d34e58bcc03d6d342261a637bc5ef23a4be769..bf02442138f8b7773d52ece4369cb888b4d8f073 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -291,6 +291,13 @@ public class PurpurWorldConfig { @@ -292,6 +292,13 @@ public class PurpurWorldConfig {
}); });
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add option to disable dolphin treasure searching
diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
index e60464efd9986e1cf857d8595b13535df7ffc7b1..30da8d977d5b591d6bce619eba71181cb588e3c4 100644 index 98885a788af662736435fa8465c9b6ffeb16811b..6278d1020aeac52622ecf98c34453044850a453e 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java --- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java +++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
@@ -464,6 +464,7 @@ public class Dolphin extends WaterAnimal { @@ -465,6 +465,7 @@ public class Dolphin extends WaterAnimal {
@Override @Override
public boolean canUse() { public boolean canUse() {
@@ -17,21 +17,21 @@ index e60464efd9986e1cf857d8595b13535df7ffc7b1..30da8d977d5b591d6bce619eba71181c
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2c31025c2554858936118438d45c873290484f4b..28ab98c61bf9e1371b6fdf254f2fcc2cd65acdd8 100644 index 91536c5280330a9a2beccf1bee59ad071736b57e..271bb47c47312c1d09d4cd4024f19935a3ec469b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -630,6 +630,7 @@ public class PurpurWorldConfig { @@ -660,6 +660,7 @@ public class PurpurWorldConfig {
public float dolphinSpitSpeed = 1.0F;
public float dolphinSpitDamage = 2.0F; public float dolphinSpitDamage = 2.0F;
public double dolphinMaxHealth = 10.0D; public double dolphinMaxHealth = 10.0D;
public double dolphinScale = 1.0D;
+ public boolean dolphinDisableTreasureSearching = false; + public boolean dolphinDisableTreasureSearching = false;
private void dolphinSettings() { private void dolphinSettings() {
dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable); dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable);
dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable); dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable);
@@ -642,6 +643,7 @@ public class PurpurWorldConfig { @@ -673,6 +674,7 @@ public class PurpurWorldConfig {
set("mobs.dolphin.attributes.max_health", oldValue);
} }
dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth); dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth);
dolphinScale = Mth.clamp(getDouble("mobs.dolphin.attributes.scale", dolphinScale), 0.0625D, 16.0D);
+ dolphinDisableTreasureSearching = getBoolean("mobs.dolphin.disable-treasure-searching", dolphinDisableTreasureSearching); + dolphinDisableTreasureSearching = getBoolean("mobs.dolphin.disable-treasure-searching", dolphinDisableTreasureSearching);
} }

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Short enderman height
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
index 02257d9c7ceb81b8fccca0013ef5090feac1e19e..43e7670ab6f22afbf112e430394a95bdc951371a 100644 index 9d6ca8c6f009cb34fab07cc4d17a6dd5aa45bd12..9cac9f5989cd8f73f247e4a3f901a54c03bc00ef 100644
--- a/src/main/java/net/minecraft/world/entity/EntityType.java --- a/src/main/java/net/minecraft/world/entity/EntityType.java
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java +++ b/src/main/java/net/minecraft/world/entity/EntityType.java
@@ -322,7 +322,8 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT @@ -322,7 +322,8 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
@@ -19,10 +19,10 @@ index 02257d9c7ceb81b8fccca0013ef5090feac1e19e..43e7670ab6f22afbf112e430394a95bd
private final FeatureFlagSet requiredFeatures; private final FeatureFlagSet requiredFeatures;
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java 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 12422c069c64bae0e16b3edd39e8dbe574704584..8604db61d2c8042d0399262cb60b98457e4f894c 100644 index 6306d0452f0bfcb20a90e0f46b34fd7fc0426e10..28b2303ce9459b6038f35e3e470324392753b67f 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java --- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java +++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -421,6 +421,7 @@ public class EnderMan extends Monster implements NeutralMob { @@ -422,6 +422,7 @@ public class EnderMan extends Monster implements NeutralMob {
if (this.isInvulnerableTo(source)) { if (this.isInvulnerableTo(source)) {
return false; return false;
} else if (getRider() != null && this.isControllable()) { return super.hurt(source, amount); // Purpur - no teleporting on damage } else if (getRider() != null && this.isControllable()) { return super.hurt(source, amount); // Purpur - no teleporting on damage

View File

@@ -22,11 +22,11 @@ index a90bee7735b4b12371a28e57c6cc4ab88e0c9f9c..f23e932e86a92a796e56d1e994d3d631
if (this.touchingUnloadedChunk()) { if (this.touchingUnloadedChunk()) {
return false; return false;
diff --git a/src/main/java/net/minecraft/world/entity/animal/Squid.java b/src/main/java/net/minecraft/world/entity/animal/Squid.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Squid.java b/src/main/java/net/minecraft/world/entity/animal/Squid.java
index f66b283612671a3c6d4b33b32284259bcfd9331e..2b84322a622454c58c6481abbb13031a2e5c488f 100644 index ef4513f577779ddcfd357420aa65e1b52cf0f388..522dabcf6ec8b19902890718717fc890d430c750 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Squid.java --- a/src/main/java/net/minecraft/world/entity/animal/Squid.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java +++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java
@@ -72,6 +72,12 @@ public class Squid extends WaterAnimal { @@ -73,6 +73,12 @@ public class Squid extends WaterAnimal {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.squidMaxHealth); this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.squidScale);
} }
+ @Override + @Override
@@ -54,20 +54,20 @@ index c8f7c43134e7c51ce8af5b3c1a28c11db67715a2..5b98889715bf62eb4f15c0b45ada2c70
+ // Purpur + // Purpur
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e6097c61c563eb6f77e3f99e1785429c452272f4..1f56afb08d0f1460b3eaca33cc7dedb2707a5aea 100644 index 271bb47c47312c1d09d4cd4024f19935a3ec469b..b3a9e307d1bed0c53a42119fa74c3a0f1be12d36 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1502,6 +1502,7 @@ public class PurpurWorldConfig { @@ -1602,6 +1602,7 @@ public class PurpurWorldConfig {
public boolean squidControllable = true;
public double squidMaxHealth = 10.0D; public double squidMaxHealth = 10.0D;
public double squidScale = 1.0D;
public boolean squidImmuneToEAR = true; public boolean squidImmuneToEAR = true;
+ public double squidOffsetWaterCheck = 0.0D; + public double squidOffsetWaterCheck = 0.0D;
private void squidSettings() { private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable); squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -1512,6 +1513,7 @@ public class PurpurWorldConfig { @@ -1613,6 +1614,7 @@ public class PurpurWorldConfig {
}
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth); squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);
squidScale = Mth.clamp(getDouble("mobs.squid.attributes.scale", squidScale), 0.0625D, 16.0D);
squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR); squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);
+ squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck); + squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck);
} }

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Customizable wither health and healing
Adds the ability to customize the health of the wither, as well as the amount that it heals, and how often. Adds the ability to customize the health of the wither, as well as the amount that it heals, and how often.
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
index 4b1821ad50103cb996bb3ff9b9668f22ffff518f..402f67ca333e09c684ae083071715734e0767bf5 100644 index 0e2e7f935deb674bfcbdf4f1ba7de7834ed1c61a..e3ee5d5eb80d689eb77731b3f26d0c314fcc4436 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -521,8 +521,10 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -522,8 +522,10 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
} }
} }
@@ -23,22 +23,22 @@ index 4b1821ad50103cb996bb3ff9b9668f22ffff518f..402f67ca333e09c684ae083071715734
this.bossEvent.setProgress(this.getHealth() / this.getMaxHealth()); 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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1f56afb08d0f1460b3eaca33cc7dedb2707a5aea..5ddeb816c1bc7ee07a131be2e4e99b58e4d06db1 100644 index b3a9e307d1bed0c53a42119fa74c3a0f1be12d36..36b2b377f3253e5013c307b82c6ed893d5b58ffd 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1739,6 +1739,8 @@ public class PurpurWorldConfig { @@ -1861,6 +1861,8 @@ public class PurpurWorldConfig {
public boolean witherControllable = true;
public double witherMaxY = 320D; public double witherMaxY = 320D;
public double witherMaxHealth = 300.0D; public double witherMaxHealth = 300.0D;
public double witherScale = 1.0D;
+ public float witherHealthRegenAmount = 1.0f; + public float witherHealthRegenAmount = 1.0f;
+ public int witherHealthRegenDelay = 20; + public int witherHealthRegenDelay = 20;
private void witherSettings() { private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1754,6 +1756,8 @@ public class PurpurWorldConfig { @@ -1877,6 +1879,8 @@ public class PurpurWorldConfig {
set("mobs.wither.attributes.max_health", oldValue);
} }
witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth); witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth);
witherScale = Mth.clamp(getDouble("mobs.wither.attributes.scale", witherScale), 0.0625D, 16.0D);
+ witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount); + witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount);
+ witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay); + witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
} }

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Allow toggling special MobSpawners per world
In vanilla, these are all hardcoded on for world type 0 (overworld) and hardcoded off for every other world type. Default config behaviour matches this. In vanilla, these are all hardcoded on for world type 0 (overworld) and hardcoded off for every other world type. Default config behaviour matches this.
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index cad36bdd7463e23f23ed77f1b430031a19145de4..6a010ebf844a37d3dc767e4a828e0a525d66aa9f 100644 index f1cedc22891cf2c91115188545d752567d3761b1..44f7de001538435d526fac3bc6b7575e15d2bb89 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -519,7 +519,24 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. @@ -519,7 +519,24 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -59,10 +59,10 @@ index c72b6ea5530e54fc373c701028e1c147cea34b59..96e9fce5f9084737d2fcf4deb8330573
if (spawnplacementtype.isSpawnPositionOk(world, blockposition2, EntityType.WANDERING_TRADER)) { if (spawnplacementtype.isSpawnPositionOk(world, blockposition2, EntityType.WANDERING_TRADER)) {
blockposition1 = blockposition2; blockposition1 = blockposition2;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8c7f9a391935e1527856163dd6860abc3514c738..5c880a028a9c62c109500a46e2cf369886f094b2 100644 index b9236abf201401ea4bf4cf1f92b534669447cd1d..e2ff691f4d237af59710151754601eed24f49598 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -69,6 +69,12 @@ public class PurpurWorldConfig { @@ -70,6 +70,12 @@ public class PurpurWorldConfig {
return PurpurConfig.config.getBoolean("world-settings." + worldName + "." + path, PurpurConfig.config.getBoolean("world-settings.default." + path)); return PurpurConfig.config.getBoolean("world-settings." + worldName + "." + path, PurpurConfig.config.getBoolean("world-settings.default." + path));
} }
@@ -75,7 +75,7 @@ index 8c7f9a391935e1527856163dd6860abc3514c738..5c880a028a9c62c109500a46e2cf3698
private double getDouble(String path, double def) { private double getDouble(String path, double def) {
PurpurConfig.config.addDefault("world-settings.default." + path, def); PurpurConfig.config.addDefault("world-settings.default." + path, def);
return PurpurConfig.config.getDouble("world-settings." + worldName + "." + path, PurpurConfig.config.getDouble("world-settings.default." + path)); return PurpurConfig.config.getDouble("world-settings." + worldName + "." + path, PurpurConfig.config.getDouble("world-settings.default." + path));
@@ -233,6 +239,21 @@ public class PurpurWorldConfig { @@ -234,6 +240,21 @@ public class PurpurWorldConfig {
} }
} }

View File

@@ -49,10 +49,10 @@ index 8c60f71270d909c10e6617eb64b8fdb42deb73e9..eedce2a3d67d875d5174ee125e267948
if (!raid.isStarted() && !this.raidMap.containsKey(raid.getId())) { if (!raid.isStarted() && !this.raidMap.containsKey(raid.getId())) {
this.raidMap.put(raid.getId(), raid); 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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5cb22affc431441619af3d4e48ea546e694e9d30..6572269ca6907c384d5798b91ca1851ece5e8070 100644 index e2ff691f4d237af59710151754601eed24f49598..7ba5886008c55d651aa11c379e1b77e1fc34125c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -108,6 +108,7 @@ public class PurpurWorldConfig { @@ -109,6 +109,7 @@ public class PurpurWorldConfig {
public double tridentLoyaltyVoidReturnHeight = 0.0D; public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D; public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D; public double voidDamageDealt = 4.0D;
@@ -60,7 +60,7 @@ index 5cb22affc431441619af3d4e48ea546e694e9d30..6572269ca6907c384d5798b91ca1851e
private void miscGameplayMechanicsSettings() { private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand); boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
@@ -116,6 +117,7 @@ public class PurpurWorldConfig { @@ -117,6 +118,7 @@ public class PurpurWorldConfig {
tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight); tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight);
voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight); voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight);
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt); 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. 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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a321648355e0a85739329b6f82461c812c823d37..f9a5248da33fe7f224411cc3b9b35fb65b5d4572 100644 index 7ba5886008c55d651aa11c379e1b77e1fc34125c..bec89f977d8c40973b4aa1313c4f7f6b5880ac9f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -314,6 +314,40 @@ public class PurpurWorldConfig { @@ -315,6 +315,40 @@ public class PurpurWorldConfig {
}); });
} }

View File

@@ -20,10 +20,10 @@ index 06455d65c4605ce092bf5300d432087f24186741..750fd2809f6d5d5896904cad0f65029b
ignored.add("goal_selector_1"); ignored.add("goal_selector_1");
ignored.add("goal_selector_2"); ignored.add("goal_selector_2");
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
index 1d283484be270497859e23e3bb4ab38c09af23e6..b02cdbaa0455319b1e8a7e777e64ff4a56590388 100644 index b5a46c844e0f366828f8c287a598abb9aaeacf21..4f9daaeb1bd4d115a84b0c20649e4dd44af37924 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java --- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java +++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
@@ -123,7 +123,19 @@ public class Drowned extends Zombie implements RangedAttackMob { @@ -124,7 +124,19 @@ public class Drowned extends Zombie implements RangedAttackMob {
this.goalSelector.addGoal(7, new RandomStrollGoal(this, 1.0D)); this.goalSelector.addGoal(7, new RandomStrollGoal(this, 1.0D));
this.targetSelector.addGoal(1, (new HurtByTargetGoal(this, new Class[]{Drowned.class})).setAlertOthers(ZombifiedPiglin.class)); this.targetSelector.addGoal(1, (new HurtByTargetGoal(this, new Class[]{Drowned.class})).setAlertOthers(ZombifiedPiglin.class));
this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, 10, true, false, this::okTarget)); this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, 10, true, false, this::okTarget));
@@ -45,10 +45,10 @@ index 1d283484be270497859e23e3bb4ab38c09af23e6..b02cdbaa0455319b1e8a7e777e64ff4a
this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, Axolotl.class, true, false)); this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, Axolotl.class, true, false));
this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR)); this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR));
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
index 43c48bb14957b93ee3b0191360c09f710bc008e0..b39d8ee4c6e9483a15991be3b1440384708aee65 100644 index ada1f9f9bf8770c48ff25d562cf84cb04be17ca2..21e0028ad33f8de0211dd733d98a00af8461684b 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java --- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java +++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
@@ -158,7 +158,19 @@ public class Zombie extends Monster { @@ -159,7 +159,19 @@ public class Zombie extends Monster {
this.goalSelector.addGoal(7, new WaterAvoidingRandomStrollGoal(this, 1.0D)); this.goalSelector.addGoal(7, new WaterAvoidingRandomStrollGoal(this, 1.0D));
this.targetSelector.addGoal(1, (new HurtByTargetGoal(this, new Class[0])).setAlertOthers(ZombifiedPiglin.class)); this.targetSelector.addGoal(1, (new HurtByTargetGoal(this, new Class[0])).setAlertOthers(ZombifiedPiglin.class));
this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, true)); this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, true));
@@ -70,10 +70,10 @@ index 43c48bb14957b93ee3b0191360c09f710bc008e0..b39d8ee4c6e9483a15991be3b1440384
this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR)); this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR));
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0cf94608f8b12f1b813c4d786090a03116233f89..3e4a32fa6a029b851029eccb0a25680bbb467c3b 100644 index 6cda920dca61ce781ecfb4b49da31e7c297d3b39..e7b7ec38bd2be51a03dace23d0af90d72404d9e8 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1873,6 +1873,7 @@ public class PurpurWorldConfig { @@ -2003,6 +2003,7 @@ public class PurpurWorldConfig {
public boolean zombieJockeyOnlyBaby = true; public boolean zombieJockeyOnlyBaby = true;
public double zombieJockeyChance = 0.05D; public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true; public boolean zombieJockeyTryExistingChickens = true;
@@ -81,7 +81,7 @@ index 0cf94608f8b12f1b813c4d786090a03116233f89..3e4a32fa6a029b851029eccb0a25680b
private void zombieSettings() { private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1887,6 +1888,7 @@ public class PurpurWorldConfig { @@ -2018,6 +2019,7 @@ public class PurpurWorldConfig {
zombieJockeyOnlyBaby = getBoolean("mobs.zombie.jockey.only-babies", zombieJockeyOnlyBaby); zombieJockeyOnlyBaby = getBoolean("mobs.zombie.jockey.only-babies", zombieJockeyOnlyBaby);
zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance); zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance);
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens); zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);

View File

@@ -21,10 +21,10 @@ index 8211c152e6f4232e82e452b08047e4579465d770..4cd57672c548950cb4e0aa97af75ecca
protected ParticleOptions getInkParticle() { protected ParticleOptions getInkParticle() {
return ParticleTypes.GLOW_SQUID_INK; return ParticleTypes.GLOW_SQUID_INK;
diff --git a/src/main/java/net/minecraft/world/entity/animal/Squid.java b/src/main/java/net/minecraft/world/entity/animal/Squid.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Squid.java b/src/main/java/net/minecraft/world/entity/animal/Squid.java
index 2b84322a622454c58c6481abbb13031a2e5c488f..8ed02b9737c47a19aa6a38789c19947e7aae36a3 100644 index 522dabcf6ec8b19902890718717fc890d430c750..ea80eca266500f93fa9c00962d078ec276814f0a 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Squid.java --- a/src/main/java/net/minecraft/world/entity/animal/Squid.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java +++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java
@@ -78,6 +78,15 @@ public class Squid extends WaterAnimal { @@ -79,6 +79,15 @@ public class Squid extends WaterAnimal {
return super.getAxisForFluidCheck().offsetY(level().purpurConfig.squidOffsetWaterCheck); return super.getAxisForFluidCheck().offsetY(level().purpurConfig.squidOffsetWaterCheck);
} }
@@ -40,7 +40,7 @@ index 2b84322a622454c58c6481abbb13031a2e5c488f..8ed02b9737c47a19aa6a38789c19947e
@Override @Override
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(0, new Squid.SquidRandomMovementGoal(this)); this.goalSelector.addGoal(0, new Squid.SquidRandomMovementGoal(this));
@@ -150,6 +159,7 @@ public class Squid extends WaterAnimal { @@ -151,6 +160,7 @@ public class Squid extends WaterAnimal {
} }
if (this.isInWaterOrBubble()) { if (this.isInWaterOrBubble()) {
@@ -48,7 +48,7 @@ index 2b84322a622454c58c6481abbb13031a2e5c488f..8ed02b9737c47a19aa6a38789c19947e
if (this.tentacleMovement < (float) Math.PI) { if (this.tentacleMovement < (float) Math.PI) {
float f = this.tentacleMovement / (float) Math.PI; float f = this.tentacleMovement / (float) Math.PI;
this.tentacleAngle = Mth.sin(f * f * (float) Math.PI) * (float) Math.PI * 0.25F; this.tentacleAngle = Mth.sin(f * f * (float) Math.PI) * (float) Math.PI * 0.25F;
@@ -357,7 +367,7 @@ public class Squid extends WaterAnimal { @@ -358,7 +368,7 @@ public class Squid extends WaterAnimal {
int i = this.squid.getNoActionTime(); int i = this.squid.getNoActionTime();
if (i > 100) { if (i > 100) {
this.squid.setMovementVector(0.0F, 0.0F, 0.0F); this.squid.setMovementVector(0.0F, 0.0F, 0.0F);
@@ -58,32 +58,33 @@ index 2b84322a622454c58c6481abbb13031a2e5c488f..8ed02b9737c47a19aa6a38789c19947e
float g = Mth.cos(f) * 0.2F; float g = Mth.cos(f) * 0.2F;
float h = -0.1F + this.squid.getRandom().nextFloat() * 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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3e4a32fa6a029b851029eccb0a25680bbb467c3b..96531ad5f79ef90df7141ecb831a04b98db00da8 100644 index e7b7ec38bd2be51a03dace23d0af90d72404d9e8..a0e89374b94852352400d5089052433b6de0fd92 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -921,10 +921,12 @@ public class PurpurWorldConfig { @@ -969,11 +969,13 @@ public class PurpurWorldConfig {
public boolean glowSquidRidable = false;
public boolean glowSquidControllable = true; public boolean glowSquidControllable = true;
public double glowSquidMaxHealth = 10.0D; public double glowSquidMaxHealth = 10.0D;
public double glowSquidScale = 1.0D;
+ public boolean glowSquidsCanFly = false; + public boolean glowSquidsCanFly = false;
private void glowSquidSettings() { private void glowSquidSettings() {
glowSquidRidable = getBoolean("mobs.glow_squid.ridable", glowSquidRidable); glowSquidRidable = getBoolean("mobs.glow_squid.ridable", glowSquidRidable);
glowSquidControllable = getBoolean("mobs.glow_squid.controllable", glowSquidControllable); glowSquidControllable = getBoolean("mobs.glow_squid.controllable", glowSquidControllable);
glowSquidMaxHealth = getDouble("mobs.glow_squid.attributes.max_health", glowSquidMaxHealth); glowSquidMaxHealth = getDouble("mobs.glow_squid.attributes.max_health", glowSquidMaxHealth);
glowSquidScale = Mth.clamp(getDouble("mobs.glow_squid.attributes.scale", glowSquidScale), 0.0625D, 16.0D);
+ glowSquidsCanFly = getBoolean("mobs.glow_squid.can-fly", glowSquidsCanFly); + glowSquidsCanFly = getBoolean("mobs.glow_squid.can-fly", glowSquidsCanFly);
} }
public boolean goatRidable = false; public boolean goatRidable = false;
@@ -1560,6 +1562,7 @@ public class PurpurWorldConfig { @@ -1660,6 +1662,7 @@ public class PurpurWorldConfig {
public double squidMaxHealth = 10.0D; public double squidScale = 1.0D;
public boolean squidImmuneToEAR = true; public boolean squidImmuneToEAR = true;
public double squidOffsetWaterCheck = 0.0D; public double squidOffsetWaterCheck = 0.0D;
+ public boolean squidsCanFly = false; + public boolean squidsCanFly = false;
private void squidSettings() { private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable); squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -1571,6 +1574,7 @@ public class PurpurWorldConfig { @@ -1672,6 +1675,7 @@ public class PurpurWorldConfig {
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth); squidScale = Mth.clamp(getDouble("mobs.squid.attributes.scale", squidScale), 0.0625D, 16.0D);
squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR); squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);
squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck); squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck);
+ squidsCanFly = getBoolean("mobs.squid.can-fly", squidsCanFly); + squidsCanFly = getBoolean("mobs.squid.can-fly", squidsCanFly);

View File

@@ -18,10 +18,10 @@ index 32dd0b13a0819f597d8a93c6bc3a155781067544..7ae7626c82969ea5a6fc5aa4a0c7ec43
if (world instanceof ServerLevel) { if (world instanceof ServerLevel) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 658978a0087c15a54259143704ee608d88807250..6a391de29ec045b34cfe456b5fbf03612b22d21b 100644 index cf991755dfd990ae433fbdafaad6103f5f52d702..b70e4afa153ce3532649a55a48d58ec1ad6ee6b4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -136,6 +136,11 @@ public class PurpurWorldConfig { @@ -137,6 +137,11 @@ public class PurpurWorldConfig {
entityLifeSpan = getInt("gameplay-mechanics.entity-lifespan", entityLifeSpan); entityLifeSpan = getInt("gameplay-mechanics.entity-lifespan", entityLifeSpan);
} }

View File

@@ -18,7 +18,7 @@ index 76ef195a5074006b009acd9cc1744667c6aecbb9..659577549e132754281df76a7a1bfd88
public ClientboundSetTimePacket(long time, long timeOfDay, boolean doDaylightCycle) { public ClientboundSetTimePacket(long time, long timeOfDay, boolean doDaylightCycle) {
this.gameTime = time; this.gameTime = time;
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 186a7d3c0e79e114279046716e37c685f797f65f..f1686cca24ff1339ca0062d288ddfe1049e9090a 100644 index 7f1bfc5550c00aa3bd0871638c6f3f4e15c08508..3ac4bfc46bfc7a47e8dfb2a3458c449b5d79d3e7 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1705,7 +1705,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1705,7 +1705,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -31,7 +31,7 @@ index 186a7d3c0e79e114279046716e37c685f797f65f..f1686cca24ff1339ca0062d288ddfe10
} }
ServerPlayer entityplayer = (ServerPlayer) entityhuman; ServerPlayer entityplayer = (ServerPlayer) entityhuman;
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 6a010ebf844a37d3dc767e4a828e0a525d66aa9f..613cf0562d2a82e2a7b9bf1d3143e9c4e4a75bea 100644 index 44f7de001538435d526fac3bc6b7575e15d2bb89..a416766ababa6ec85d6d53e54042c87f82062a1f 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -221,6 +221,8 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. @@ -221,6 +221,8 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -88,10 +88,10 @@ index 6a010ebf844a37d3dc767e4a828e0a525d66aa9f..613cf0562d2a82e2a7b9bf1d3143e9c4
public void tickCustomSpawners(boolean spawnMonsters, boolean spawnAnimals) { public void tickCustomSpawners(boolean spawnMonsters, boolean spawnAnimals) {
Iterator iterator = this.customSpawners.iterator(); 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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6a391de29ec045b34cfe456b5fbf03612b22d21b..8792f2ed140c32d77ea13cc17d6e80b04ddd95eb 100644 index b70e4afa153ce3532649a55a48d58ec1ad6ee6b4..8c644fb65c9ca56a5c9a24945f4d43b117cd02f2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -120,6 +120,13 @@ public class PurpurWorldConfig { @@ -121,6 +121,13 @@ public class PurpurWorldConfig {
raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds); raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds);
} }

View File

@@ -39,10 +39,10 @@ index 730aca233f6e7564d4cb85b5b628d23c4f01d2f4..699bdc1f01a95ecdfe899493c8d81ec3
private static boolean canBurn(RegistryAccess registryManager, @Nullable RecipeHolder<?> recipe, NonNullList<ItemStack> slots, int count) { private static boolean canBurn(RegistryAccess registryManager, @Nullable RecipeHolder<?> 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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8792f2ed140c32d77ea13cc17d6e80b04ddd95eb..f9d8ae294558fbfb2b9b4b1e04221937ab45365b 100644 index 8c644fb65c9ca56a5c9a24945f4d43b117cd02f2..b97edda4c703889a90b6a58ecd3d3034854f76ec 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -400,6 +400,17 @@ public class PurpurWorldConfig { @@ -401,6 +401,17 @@ public class PurpurWorldConfig {
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow); farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
} }

View File

@@ -20,10 +20,10 @@ index ddf47dab1ab92c45e3eea09239d418a9798ed59e..8d8944a0455b3401d84cab636d61447e
@Override @Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f9d8ae294558fbfb2b9b4b1e04221937ab45365b..e3e019d5891c5bb95e70b78792e9f052ec40c877 100644 index b97edda4c703889a90b6a58ecd3d3034854f76ec..40a67af5af896e4427f5092998cd07b4b36e6159 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -101,6 +101,11 @@ public class PurpurWorldConfig { @@ -102,6 +102,11 @@ public class PurpurWorldConfig {
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight); armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
} }

View File

@@ -24,10 +24,10 @@ index da85fabd75e9bd5ebece7127ef5b512df16fe3ac..dc356bd0931af9bdab9ec71e3de66e88
return; return;
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e3e019d5891c5bb95e70b78792e9f052ec40c877..f82da70b833c4565af07e7f4565ebdcf0042c918 100644 index 40a67af5af896e4427f5092998cd07b4b36e6159..56ebfaf5e523fe0ef70c2950f2efac12829e0cf2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -401,8 +401,10 @@ public class PurpurWorldConfig { @@ -402,8 +402,10 @@ public class PurpurWorldConfig {
} }
public boolean farmlandGetsMoistFromBelow = false; public boolean farmlandGetsMoistFromBelow = false;

View File

@@ -42,7 +42,7 @@ index e96fca314bebea5fcdb684d3478af1b6dc5f13cf..5ab29081ab9f5dcf355d1dac2f2a8541
EntityBreedEvent entityBreedEvent = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityBreedEvent(entityageable, this, other, breeder, this.breedItem, experience); EntityBreedEvent entityBreedEvent = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityBreedEvent(entityageable, this, other, breeder, this.breedItem, experience);
if (entityBreedEvent.isCancelled()) { 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 diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 1da37b076fbbbd4b756fc30c5995995528653ddf..6b1dc40787e53723ff48b1ed4d408bb935f2cca8 100644 index d0c200a3eea7d891c07b6d16664b77e404880977..54b57081264c367fba10433f25a6ef93f18fc4ab 100644
--- a/src/main/java/net/minecraft/world/level/Level.java --- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -181,6 +181,49 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @@ -181,6 +181,49 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -104,10 +104,10 @@ index 1da37b076fbbbd4b756fc30c5995995528653ddf..6b1dc40787e53723ff48b1ed4d408bb9
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env); 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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f82da70b833c4565af07e7f4565ebdcf0042c918..b63d7a198cea09970aae77d3e7ab44695a9f2e2d 100644 index 56ebfaf5e523fe0ef70c2950f2efac12829e0cf2..3a636f4cee643c51b30b3e86c1d85be07438c631 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -114,6 +114,7 @@ public class PurpurWorldConfig { @@ -115,6 +115,7 @@ public class PurpurWorldConfig {
public double voidDamageHeight = -64.0D; public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D; public double voidDamageDealt = 4.0D;
public int raidCooldownSeconds = 0; public int raidCooldownSeconds = 0;
@@ -115,7 +115,7 @@ index f82da70b833c4565af07e7f4565ebdcf0042c918..b63d7a198cea09970aae77d3e7ab4469
private void miscGameplayMechanicsSettings() { private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand); boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
@@ -123,6 +124,7 @@ public class PurpurWorldConfig { @@ -124,6 +125,7 @@ public class PurpurWorldConfig {
voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight); voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight);
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt); voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds); raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds);

View File

@@ -47,11 +47,11 @@ index 5ab29081ab9f5dcf355d1dac2f2a854149ab4699..27250278968233b3de05c365ae304a41
entityanimal.resetLove(); entityanimal.resetLove();
worldserver.broadcastEntityEvent(this, (byte) 18); worldserver.broadcastEntityEvent(this, (byte) 18);
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
index 3a7e413ba17901ed8e4ef0299555305c62f0d303..a758f360741de84a004ecc55f1415e74bd0a0fd5 100644 index 536407b0cb28bd202f5235d1c3ba46e12899e11c..4b57756e938db00f5c6eba915c096110d68751eb 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java --- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java +++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
@@ -483,6 +483,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { @@ -484,6 +484,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.beeMaxHealth); this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.beeScale);
} }
+ @Override + @Override
@@ -63,12 +63,12 @@ index 3a7e413ba17901ed8e4ef0299555305c62f0d303..a758f360741de84a004ecc55f1415e74
public int getRemainingPersistentAngerTime() { public int getRemainingPersistentAngerTime() {
return (Integer) this.entityData.get(Bee.DATA_REMAINING_ANGER_TIME); return (Integer) this.entityData.get(Bee.DATA_REMAINING_ANGER_TIME);
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java
index 5d89b2c9bd6ee2d0d5176c93988b97ff2e913e83..e1f8fff9b67ad3c74afc69f2fba8919ffa1800e6 100644 index 89ad4ac9d20d1e07e4243b0e01a33eab0ec726a8..c8266b1a6b609ef92bd83dcb0e86e3cf47ccce6d 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java --- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java +++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
@@ -133,6 +133,11 @@ public class Cat extends TamableAnimal implements VariantHolder<Holder<CatVarian @@ -134,6 +134,11 @@ public class Cat extends TamableAnimal implements VariantHolder<Holder<CatVarian
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.catMaxHealth); this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.catMaxHealth);
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.catScale);
} }
+ +
+ @Override + @Override
@@ -79,12 +79,12 @@ index 5d89b2c9bd6ee2d0d5176c93988b97ff2e913e83..e1f8fff9b67ad3c74afc69f2fba8919f
public ResourceLocation getTextureId() { public ResourceLocation getTextureId() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Chicken.java b/src/main/java/net/minecraft/world/entity/animal/Chicken.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Chicken.java b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
index 1ff256f2a40403f0fbefc714e3609890be3d60b6..bfc29d6fafb1956bca64ea89be22674912e9278c 100644 index 10101c733154f9e9c725e60e565f735bda14bf5f..38f0fd9c126571d03ca6789a9b8273245168b8db 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java --- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java +++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
@@ -79,6 +79,11 @@ public class Chicken extends Animal { @@ -80,6 +80,11 @@ public class Chicken extends Animal {
}
} }
// Purpur end
+ @Override + @Override
+ public int getPurpurBreedTime() { + public int getPurpurBreedTime() {
@@ -95,12 +95,12 @@ index 1ff256f2a40403f0fbefc714e3609890be3d60b6..bfc29d6fafb1956bca64ea89be226749
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this)); this.goalSelector.addGoal(0, new FloatGoal(this));
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
index a1036e44116ef0848fbb438526f9a117ee2bfaa9..bf7ea4da6bd047b54e86b1853b9dad714a6e5e16 100644 index c9f63f3716b37dbf5f4bb4c66b78ba0b97edd686..a52b94a4b9d3e65586fbfc2e3d977d40daf59ee5 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java --- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java +++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
@@ -66,6 +66,11 @@ public class Cow extends Animal { @@ -67,6 +67,11 @@ public class Cow extends Animal {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.cowMaxHealth);
} }
// Purpur end
+ @Override + @Override
+ public int getPurpurBreedTime() { + public int getPurpurBreedTime() {
@@ -111,11 +111,11 @@ index a1036e44116ef0848fbb438526f9a117ee2bfaa9..bf7ea4da6bd047b54e86b1853b9dad71
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this)); this.goalSelector.addGoal(0, new FloatGoal(this));
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
index 52c11b3621a9b834de8305ff98ad7671b7905055..2aac6472453aa2ec58a6d5b7040df6d457353ff5 100644 index 98e9ad371381350dc3bff7e2a88224a2812d6419..252df18c369d5e556632ed5a287dab04e4e9b58d 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java --- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java +++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -188,6 +188,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> { @@ -189,6 +189,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.foxMaxHealth); this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.foxScale);
} }
+ @Override + @Override
@@ -126,7 +126,7 @@ index 52c11b3621a9b834de8305ff98ad7671b7905055..2aac6472453aa2ec58a6d5b7040df6d4
@Override @Override
protected void defineSynchedData(SynchedEntityData.Builder builder) { protected void defineSynchedData(SynchedEntityData.Builder builder) {
super.defineSynchedData(builder); super.defineSynchedData(builder);
@@ -990,8 +995,10 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> { @@ -991,8 +996,10 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
CriteriaTriggers.BRED_ANIMALS.trigger(entityplayer2, this.animal, this.partner, entityfox); CriteriaTriggers.BRED_ANIMALS.trigger(entityplayer2, this.animal, this.partner, entityfox);
} }
@@ -156,11 +156,11 @@ index 41b52f128fbc174939a7f2d1cd937ab19432de25..22a2328fe5159c8fed635a62334a3f10
public float getWalkTargetValue(BlockPos pos, LevelReader world) { public float getWalkTargetValue(BlockPos pos, LevelReader world) {
return world.getBlockState(pos.below()).is(Blocks.MYCELIUM) ? 10.0F : world.getPathfindingCostFromLightLevels(pos); return world.getBlockState(pos.below()).is(Blocks.MYCELIUM) ? 10.0F : world.getPathfindingCostFromLightLevels(pos);
diff --git a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
index 0ef3fee057d7dd0b5d9d4a38953617bac3f49c7b..14d94992bc02c0eedab0c83fcffb975ac33d48cb 100644 index 2ba70099352ff7ad0d561195565227938d68cef7..59ac7021389559cf95ef4746e6860bef29e3c0dc 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java --- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java +++ b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
@@ -88,6 +88,11 @@ public class Ocelot extends Animal { @@ -89,6 +89,11 @@ public class Ocelot extends Animal {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.ocelotMaxHealth); this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.ocelotScale);
} }
+ @Override + @Override
@@ -172,10 +172,10 @@ index 0ef3fee057d7dd0b5d9d4a38953617bac3f49c7b..14d94992bc02c0eedab0c83fcffb975a
return (Boolean) this.entityData.get(Ocelot.DATA_TRUSTING); return (Boolean) this.entityData.get(Ocelot.DATA_TRUSTING);
} }
diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java
index 0fd0358d287604d0ff1f52f0c71633586d100e3e..925bed4503a4023c01d8b9ffd07047831e5e96e5 100644 index 27674bc17c1696d1e10c032d69fd29ee4295fd4e..a0075e23da3bbfe74105f420c347d3f67fda3970 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java --- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java +++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
@@ -153,6 +153,11 @@ public class Panda extends Animal { @@ -154,6 +154,11 @@ public class Panda extends Animal {
setAttributes(); setAttributes();
} }
@@ -188,11 +188,11 @@ index 0fd0358d287604d0ff1f52f0c71633586d100e3e..925bed4503a4023c01d8b9ffd0704783
public boolean canTakeItem(ItemStack stack) { public boolean canTakeItem(ItemStack stack) {
EquipmentSlot enumitemslot = this.getEquipmentSlotForItem(stack); EquipmentSlot enumitemslot = this.getEquipmentSlotForItem(stack);
diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
index d9e1ff687bb478af4d9c669379477737d053e83d..13259f5f00aa0fc12254b954c3e21f19198bed8e 100644 index f9d2d35a6e65580df74c6f27f605068980d3c12d..36eee2367689710a68be22209c550298b3e06879 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java --- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java +++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
@@ -191,6 +191,11 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot @@ -192,6 +192,11 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.parrotMaxHealth); this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.parrotScale);
} }
+ @Override + @Override
@@ -204,11 +204,11 @@ index d9e1ff687bb478af4d9c669379477737d053e83d..13259f5f00aa0fc12254b954c3e21f19
@Override @Override
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData) { public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java
index 7b5080993904a41083aa534a87a6eed29afe520c..513fa2a8fc5b0b39432eef799763a5e3e27a8cfd 100644 index 51ffdfa038cb1be279da71d691d54728731c186e..c9c31e2e523b6829776d6bcc3d0e183c1315a7a3 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java --- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java +++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
@@ -86,6 +86,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable { @@ -87,6 +87,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.pigMaxHealth); this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.pigScale);
} }
+ @Override + @Override
@@ -220,10 +220,10 @@ index 7b5080993904a41083aa534a87a6eed29afe520c..513fa2a8fc5b0b39432eef799763a5e3
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this)); this.goalSelector.addGoal(0, new FloatGoal(this));
diff --git a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java diff --git a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
index 590b015102bd1ea22da34448de2f1b7581836325..b412157c10894d4877e13ade94fa56a876606519 100644 index cd5856d3c5fdefb22f1ae146e5b64d9d4a64e07c..064d2066b2b987bfc2eb3e71c7fec39248492135 100644
--- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java --- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
+++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java +++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
@@ -119,6 +119,11 @@ public class PolarBear extends Animal implements NeutralMob { @@ -120,6 +120,11 @@ public class PolarBear extends Animal implements NeutralMob {
} }
} }
@@ -236,12 +236,12 @@ index 590b015102bd1ea22da34448de2f1b7581836325..b412157c10894d4877e13ade94fa56a8
@Override @Override
public AgeableMob getBreedOffspring(ServerLevel world, AgeableMob entity) { 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 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 6cb70392a86b166c8f8a8f3944f7abe8521e620f..4ef310dda00d049b109fc379de2b90696eb24d27 100644 index e06445c84aa632429c1647cabab73751f73d2e6c..7e509458134340bd05d15f5f51b6d1fce3206d6a 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java --- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java +++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
@@ -145,6 +145,11 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> { @@ -146,6 +146,11 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.rabbitMaxHealth); this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.rabbitMaxHealth);
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.rabbitScale);
} }
+ +
+ @Override + @Override
@@ -252,11 +252,11 @@ index 6cb70392a86b166c8f8a8f3944f7abe8521e620f..4ef310dda00d049b109fc379de2b9069
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/Sheep.java b/src/main/java/net/minecraft/world/entity/animal/Sheep.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Sheep.java b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
index 90dff2e658e8b77d37952080d389e1f2db47264f..7d716efe614902c35ae63b49e159e8d2d8e7d8ea 100644 index a14db0ec9ebcde24d5b7340a08002eddc8ebd421..fb429dce94bfad6aba3c63a4694e7c8da772ee14 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Sheep.java --- a/src/main/java/net/minecraft/world/entity/animal/Sheep.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Sheep.java +++ b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
@@ -137,6 +137,11 @@ public class Sheep extends Animal implements Shearable { @@ -138,6 +138,11 @@ public class Sheep extends Animal implements Shearable {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.sheepMaxHealth); this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.sheepScale);
} }
+ @Override + @Override
@@ -268,11 +268,11 @@ index 90dff2e658e8b77d37952080d389e1f2db47264f..7d716efe614902c35ae63b49e159e8d2
protected void registerGoals() { protected void registerGoals() {
this.eatBlockGoal = new EatBlockGoal(this); this.eatBlockGoal = new EatBlockGoal(this);
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
index d24697dc1e3cdc5eb61632935e81e25b1e341287..58a390b462ec387f5376559c3d615ed4bcf055ea 100644 index 41d47141bfd77b17cbf163bffdfeb002135035ca..8f02a1b39db0581efb8ccd2c889f048bfd7b3e04 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java --- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java +++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
@@ -109,6 +109,11 @@ public class Turtle extends Animal { @@ -110,6 +110,11 @@ public class Turtle extends Animal {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.turtleMaxHealth); this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.turtleScale);
} }
+ @Override + @Override
@@ -284,11 +284,11 @@ index d24697dc1e3cdc5eb61632935e81e25b1e341287..58a390b462ec387f5376559c3d615ed4
this.entityData.set(Turtle.HOME_POS, pos); this.entityData.set(Turtle.HOME_POS, pos);
} }
diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
index 81ca20878d552d9b674c638dbd8cdebe9e666ec5..e3c0163a4b00dca01b97c41aa57aa998063ec491 100644 index 3268f07668eaa0322aeb77a158dfb2996d16dfcb..da375fb6907e0c46ed176bc76a84f2666227547c 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java --- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java +++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
@@ -153,6 +153,11 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol @@ -154,6 +154,11 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.wolfMaxHealth); this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.wolfScale);
} }
+ @Override + @Override
@@ -300,12 +300,12 @@ index 81ca20878d552d9b674c638dbd8cdebe9e666ec5..e3c0163a4b00dca01b97c41aa57aa998
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(1, new FloatGoal(this)); this.goalSelector.addGoal(1, new FloatGoal(this));
diff --git a/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java b/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java diff --git a/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java b/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java
index b7ea18861b4516a4895afee2551e5848598d8e8b..6e01e5847396e14ce1d9af53f1ed29ef360d1b31 100644 index 196de6ac2ba44478f6a2239eb2657957806d7ccc..711253a3e004c8ec850579f17d8497ffe2cf3ba0 100644
--- a/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java --- a/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java
+++ b/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java +++ b/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java
@@ -98,6 +98,11 @@ public class Armadillo extends Animal { @@ -99,6 +99,11 @@ public class Armadillo extends Animal {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.armadilloMaxHealth); this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.armadilloMaxHealth);
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.armadilloScale);
} }
+ +
+ @Override + @Override
@@ -316,11 +316,11 @@ index b7ea18861b4516a4895afee2551e5848598d8e8b..6e01e5847396e14ce1d9af53f1ed29ef
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
index d7cf42cee8ce84b62a2ab12519d3d66234d8dedd..ab7d75f9f0fdda50e804838bd91a35b5c5188297 100644 index 0cf2dbc7d4ce89bddc8f23095272532cf62b3f51..05ffcccf19ca07285d821de41909cade42244a08 100644
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java --- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
+++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java +++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
@@ -119,6 +119,11 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo @@ -120,6 +120,11 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.axolotlMaxHealth); this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.axolotlScale);
} }
+ @Override + @Override
@@ -490,12 +490,12 @@ index d2b3859f9c69e6d73fa859db858d38dd41fa35cd..fbad3b11223ee5dac4af15584e5dfd80
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0).add(Attributes.MOVEMENT_SPEED, 0.2F); return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0).add(Attributes.MOVEMENT_SPEED, 0.2F);
} }
diff --git a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java b/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java diff --git a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java b/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
index 9caafde133bed014fde0e0b5339e859966c39134..14264a491061ef17c9fd3fea36c0505d06e88277 100644 index 818439c7163606af5a62fee4e18251456db4f6a1..d82b036b5a759574fe83027ec1000d7eb0455a28 100644
--- a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java --- a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
+++ b/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java +++ b/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
@@ -114,6 +114,11 @@ public class Sniffer extends Animal { @@ -115,6 +115,11 @@ public class Sniffer extends Animal {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.snifferMaxHealth); this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.snifferMaxHealth);
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.snifferScale);
} }
+ +
+ @Override + @Override
@@ -506,11 +506,11 @@ index 9caafde133bed014fde0e0b5339e859966c39134..14264a491061ef17c9fd3fea36c0505d
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Strider.java b/src/main/java/net/minecraft/world/entity/monster/Strider.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Strider.java b/src/main/java/net/minecraft/world/entity/monster/Strider.java
index b52f17211805d2abac6997476ae5c7ef53725802..0a297368678cafb92eb0374d1d410271c0d10033 100644 index 964d60cd69e33bf77a415a702ef93fbe964eb8b3..8c233a90d07db7959b778a84c4ed0589a6a10dd4 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Strider.java --- a/src/main/java/net/minecraft/world/entity/monster/Strider.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java +++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java
@@ -119,6 +119,11 @@ public class Strider extends Animal implements ItemSteerable, Saddleable { @@ -120,6 +120,11 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.striderMaxHealth); this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.striderScale);
} }
+ @Override + @Override
@@ -522,10 +522,10 @@ index b52f17211805d2abac6997476ae5c7ef53725802..0a297368678cafb92eb0374d1d410271
BlockPos.MutableBlockPos blockposition_mutableblockposition = pos.mutable(); BlockPos.MutableBlockPos blockposition_mutableblockposition = pos.mutable();
diff --git a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java diff --git a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
index 373bf138f8b77413e6c29724e01572f64e0bc005..d43e26af79be5078124d8013167f452bb46a9a4d 100644 index 66ebc75ddfd944277e7f7be43ed0d215eb2030f1..1bd16c9243df4500b9d965ba260f7dd1382261ea 100644
--- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java --- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java +++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
@@ -112,6 +112,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase { @@ -113,6 +113,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
} }
// Purpur end // Purpur end
@@ -538,51 +538,54 @@ index 373bf138f8b77413e6c29724e01572f64e0bc005..d43e26af79be5078124d8013167f452b
public boolean canBeLeashed() { public boolean canBeLeashed() {
return true; return true;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d77c914afb 100644 index a32fa43357885730ae4b5d641ab3bc2e7333d78a..62164c41e09912834bd8bf25cb7a829966d9059a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -493,20 +493,24 @@ public class PurpurWorldConfig { @@ -499,23 +499,27 @@ public class PurpurWorldConfig {
public boolean armadilloRidableInWater = true;
public boolean armadilloControllable = true; public boolean armadilloControllable = true;
public double armadilloMaxHealth = 12.0D; public double armadilloMaxHealth = 12.0D;
public double armadilloScale = 1.0D;
+ public int armadilloBreedingTicks = 6000; + public int armadilloBreedingTicks = 6000;
private void armadilloSettings() { private void armadilloSettings() {
armadilloRidable = getBoolean("mobs.armadillo.ridable", armadilloRidable); armadilloRidable = getBoolean("mobs.armadillo.ridable", armadilloRidable);
armadilloRidableInWater = getBoolean("mobs.armadillo.ridable-in-water", armadilloRidableInWater); armadilloRidableInWater = getBoolean("mobs.armadillo.ridable-in-water", armadilloRidableInWater);
armadilloControllable = getBoolean("mobs.armadillo.controllable", armadilloControllable); armadilloControllable = getBoolean("mobs.armadillo.controllable", armadilloControllable);
armadilloMaxHealth = getDouble("mobs.armadillo.attributes.max_health", armadilloMaxHealth); armadilloMaxHealth = getDouble("mobs.armadillo.attributes.max_health", armadilloMaxHealth);
armadilloScale = Mth.clamp(getDouble("mobs.armadillo.attributes.scale", armadilloScale), 0.0625D, 16.0D);
+ armadilloBreedingTicks = getInt("mobs.armadillo.breeding-delay-ticks", armadilloBreedingTicks); + armadilloBreedingTicks = getInt("mobs.armadillo.breeding-delay-ticks", armadilloBreedingTicks);
} }
public boolean axolotlRidable = false; public boolean axolotlRidable = false;
public boolean axolotlControllable = true; public boolean axolotlControllable = true;
public double axolotlMaxHealth = 14.0D; public double axolotlMaxHealth = 14.0D;
public double axolotlScale = 1.0D;
+ public int axolotlBreedingTicks = 6000; + public int axolotlBreedingTicks = 6000;
private void axolotlSettings() { private void axolotlSettings() {
axolotlRidable = getBoolean("mobs.axolotl.ridable", axolotlRidable); axolotlRidable = getBoolean("mobs.axolotl.ridable", axolotlRidable);
axolotlControllable = getBoolean("mobs.axolotl.controllable", axolotlControllable); axolotlControllable = getBoolean("mobs.axolotl.controllable", axolotlControllable);
axolotlMaxHealth = getDouble("mobs.axolotl.attributes.max_health", axolotlMaxHealth); axolotlMaxHealth = getDouble("mobs.axolotl.attributes.max_health", axolotlMaxHealth);
axolotlScale = Mth.clamp(getDouble("mobs.axolotl.attributes.scale", axolotlScale), 0.0625D, 16.0D);
+ axolotlBreedingTicks = getInt("mobs.axolotl.breeding-delay-ticks", axolotlBreedingTicks); + axolotlBreedingTicks = getInt("mobs.axolotl.breeding-delay-ticks", axolotlBreedingTicks);
} }
public boolean batRidable = false; public boolean batRidable = false;
@@ -546,6 +550,7 @@ public class PurpurWorldConfig { @@ -558,6 +562,7 @@ public class PurpurWorldConfig {
public boolean beeControllable = true;
public double beeMaxY = 320D; public double beeMaxY = 320D;
public double beeMaxHealth = 10.0D; public double beeMaxHealth = 10.0D;
public double beeScale = 1.0D;
+ public int beeBreedingTicks = 6000; + public int beeBreedingTicks = 6000;
private void beeSettings() { private void beeSettings() {
beeRidable = getBoolean("mobs.bee.ridable", beeRidable); beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater); beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
@@ -557,6 +562,7 @@ public class PurpurWorldConfig { @@ -570,6 +575,7 @@ public class PurpurWorldConfig {
set("mobs.bee.attributes.max_health", oldValue);
} }
beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth); beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth);
beeScale = Mth.clamp(getDouble("mobs.bee.attributes.scale", beeScale), 0.0625D, 16.0D);
+ beeBreedingTicks = getInt("mobs.bee.breeding-delay-ticks", beeBreedingTicks); + beeBreedingTicks = getInt("mobs.bee.breeding-delay-ticks", beeBreedingTicks);
} }
public boolean blazeRidable = false; public boolean blazeRidable = false;
@@ -595,6 +601,7 @@ public class PurpurWorldConfig { @@ -612,6 +618,7 @@ public class PurpurWorldConfig {
public double camelJumpStrengthMax = 0.42D; public double camelJumpStrengthMax = 0.42D;
public double camelMovementSpeedMin = 0.09D; public double camelMovementSpeedMin = 0.09D;
public double camelMovementSpeedMax = 0.09D; public double camelMovementSpeedMax = 0.09D;
@@ -590,7 +593,7 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
private void camelSettings() { private void camelSettings() {
camelRidableInWater = getBoolean("mobs.camel.ridable-in-water", camelRidableInWater); camelRidableInWater = getBoolean("mobs.camel.ridable-in-water", camelRidableInWater);
camelMaxHealthMin = getDouble("mobs.camel.attributes.max_health.min", camelMaxHealthMin); camelMaxHealthMin = getDouble("mobs.camel.attributes.max_health.min", camelMaxHealthMin);
@@ -603,6 +610,7 @@ public class PurpurWorldConfig { @@ -620,6 +627,7 @@ public class PurpurWorldConfig {
camelJumpStrengthMax = getDouble("mobs.camel.attributes.jump_strength.max", camelJumpStrengthMax); camelJumpStrengthMax = getDouble("mobs.camel.attributes.jump_strength.max", camelJumpStrengthMax);
camelMovementSpeedMin = getDouble("mobs.camel.attributes.movement_speed.min", camelMovementSpeedMin); camelMovementSpeedMin = getDouble("mobs.camel.attributes.movement_speed.min", camelMovementSpeedMin);
camelMovementSpeedMax = getDouble("mobs.camel.attributes.movement_speed.max", camelMovementSpeedMax); camelMovementSpeedMax = getDouble("mobs.camel.attributes.movement_speed.max", camelMovementSpeedMax);
@@ -598,7 +601,7 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
} }
public boolean catRidable = false; public boolean catRidable = false;
@@ -612,6 +620,7 @@ public class PurpurWorldConfig { @@ -630,6 +638,7 @@ public class PurpurWorldConfig {
public int catSpawnDelay = 1200; public int catSpawnDelay = 1200;
public int catSpawnSwampHutScanRange = 16; public int catSpawnSwampHutScanRange = 16;
public int catSpawnVillageScanRange = 48; public int catSpawnVillageScanRange = 48;
@@ -606,7 +609,7 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
private void catSettings() { private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable); catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater); catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
@@ -625,6 +634,7 @@ public class PurpurWorldConfig { @@ -644,6 +653,7 @@ public class PurpurWorldConfig {
catSpawnDelay = getInt("mobs.cat.spawn-delay", catSpawnDelay); catSpawnDelay = getInt("mobs.cat.spawn-delay", catSpawnDelay);
catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange); catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange);
catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange); catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange);
@@ -614,39 +617,39 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
} }
public boolean caveSpiderRidable = false; public boolean caveSpiderRidable = false;
@@ -648,6 +658,7 @@ public class PurpurWorldConfig { @@ -670,6 +680,7 @@ public class PurpurWorldConfig {
public boolean chickenControllable = true;
public double chickenMaxHealth = 4.0D; public double chickenMaxHealth = 4.0D;
public double chickenScale = 1.0D;
public boolean chickenRetaliate = false; public boolean chickenRetaliate = false;
+ public int chickenBreedingTicks = 6000; + public int chickenBreedingTicks = 6000;
private void chickenSettings() { private void chickenSettings() {
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable); chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater); chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
@@ -659,6 +670,7 @@ public class PurpurWorldConfig { @@ -682,6 +693,7 @@ public class PurpurWorldConfig {
}
chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth); chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth);
chickenScale = Mth.clamp(getDouble("mobs.chicken.attributes.scale", chickenScale), 0.0625D, 16.0D);
chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate); chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate);
+ chickenBreedingTicks = getInt("mobs.chicken.breeding-delay-ticks", chickenBreedingTicks); + chickenBreedingTicks = getInt("mobs.chicken.breeding-delay-ticks", chickenBreedingTicks);
} }
public boolean codRidable = false; public boolean codRidable = false;
@@ -680,6 +692,7 @@ public class PurpurWorldConfig { @@ -706,6 +718,7 @@ public class PurpurWorldConfig {
public boolean cowControllable = true;
public double cowMaxHealth = 10.0D; public double cowMaxHealth = 10.0D;
public double cowScale = 1.0D;
public int cowFeedMushrooms = 0; public int cowFeedMushrooms = 0;
+ public int cowBreedingTicks = 6000; + public int cowBreedingTicks = 6000;
private void cowSettings() { private void cowSettings() {
cowRidable = getBoolean("mobs.cow.ridable", cowRidable); cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater); cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
@@ -691,6 +704,7 @@ public class PurpurWorldConfig { @@ -718,6 +731,7 @@ public class PurpurWorldConfig {
}
cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth); cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth);
cowScale = Mth.clamp(getDouble("mobs.cow.attributes.scale", cowScale), 0.0625D, 16.0D);
cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms); cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms);
+ cowBreedingTicks = getInt("mobs.cow.breeding-delay-ticks", cowBreedingTicks); + cowBreedingTicks = getInt("mobs.cow.breeding-delay-ticks", cowBreedingTicks);
} }
public boolean creeperRidable = false; public boolean creeperRidable = false;
@@ -742,6 +756,7 @@ public class PurpurWorldConfig { @@ -773,6 +787,7 @@ public class PurpurWorldConfig {
public double donkeyJumpStrengthMax = 0.5D; public double donkeyJumpStrengthMax = 0.5D;
public double donkeyMovementSpeedMin = 0.175D; public double donkeyMovementSpeedMin = 0.175D;
public double donkeyMovementSpeedMax = 0.175D; public double donkeyMovementSpeedMax = 0.175D;
@@ -654,7 +657,7 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
private void donkeySettings() { private void donkeySettings() {
donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater); donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater);
if (PurpurConfig.version < 10) { if (PurpurConfig.version < 10) {
@@ -757,6 +772,7 @@ public class PurpurWorldConfig { @@ -788,6 +803,7 @@ public class PurpurWorldConfig {
donkeyJumpStrengthMax = getDouble("mobs.donkey.attributes.jump_strength.max", donkeyJumpStrengthMax); donkeyJumpStrengthMax = getDouble("mobs.donkey.attributes.jump_strength.max", donkeyJumpStrengthMax);
donkeyMovementSpeedMin = getDouble("mobs.donkey.attributes.movement_speed.min", donkeyMovementSpeedMin); donkeyMovementSpeedMin = getDouble("mobs.donkey.attributes.movement_speed.min", donkeyMovementSpeedMin);
donkeyMovementSpeedMax = getDouble("mobs.donkey.attributes.movement_speed.max", donkeyMovementSpeedMax); donkeyMovementSpeedMax = getDouble("mobs.donkey.attributes.movement_speed.max", donkeyMovementSpeedMax);
@@ -662,17 +665,17 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
} }
public boolean drownedRidable = false; public boolean drownedRidable = false;
@@ -876,6 +892,7 @@ public class PurpurWorldConfig { @@ -918,6 +934,7 @@ public class PurpurWorldConfig {
public boolean foxControllable = true;
public double foxMaxHealth = 10.0D; public double foxMaxHealth = 10.0D;
public double foxScale = 1.0D;
public boolean foxTypeChangesWithTulips = false; public boolean foxTypeChangesWithTulips = false;
+ public int foxBreedingTicks = 6000; + public int foxBreedingTicks = 6000;
private void foxSettings() { private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -887,17 +904,20 @@ public class PurpurWorldConfig { @@ -930,17 +947,20 @@ public class PurpurWorldConfig {
}
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth); foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);
foxScale = Mth.clamp(getDouble("mobs.fox.attributes.scale", foxScale), 0.0625D, 16.0D);
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips); foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
+ foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks); + foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks);
} }
@@ -691,37 +694,38 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
} }
public boolean ghastRidable = false; public boolean ghastRidable = false;
@@ -965,11 +985,13 @@ public class PurpurWorldConfig { @@ -1015,12 +1035,14 @@ public class PurpurWorldConfig {
public boolean goatRidableInWater = true;
public boolean goatControllable = true; public boolean goatControllable = true;
public double goatMaxHealth = 10.0D; public double goatMaxHealth = 10.0D;
public double goatScale = 1.0D;
+ public int goatBreedingTicks = 6000; + public int goatBreedingTicks = 6000;
private void goatSettings() { private void goatSettings() {
goatRidable = getBoolean("mobs.goat.ridable", goatRidable); goatRidable = getBoolean("mobs.goat.ridable", goatRidable);
goatRidableInWater = getBoolean("mobs.goat.ridable-in-water", goatRidableInWater); goatRidableInWater = getBoolean("mobs.goat.ridable-in-water", goatRidableInWater);
goatControllable = getBoolean("mobs.goat.controllable", goatControllable); goatControllable = getBoolean("mobs.goat.controllable", goatControllable);
goatMaxHealth = getDouble("mobs.goat.attributes.max_health", goatMaxHealth); goatMaxHealth = getDouble("mobs.goat.attributes.max_health", goatMaxHealth);
goatScale = Mth.clamp(getDouble("mobs.goat.attributes.scale", goatScale), 0.0625D, 16.0D);
+ goatBreedingTicks = getInt("mobs.goat.breeding-delay-ticks", goatBreedingTicks); + goatBreedingTicks = getInt("mobs.goat.breeding-delay-ticks", goatBreedingTicks);
} }
public boolean guardianRidable = false; public boolean guardianRidable = false;
@@ -990,6 +1012,7 @@ public class PurpurWorldConfig { @@ -1044,6 +1066,7 @@ public class PurpurWorldConfig {
public boolean hoglinRidableInWater = true;
public boolean hoglinControllable = true; public boolean hoglinControllable = true;
public double hoglinMaxHealth = 40.0D; public double hoglinMaxHealth = 40.0D;
public double hoglinScale = 1.0D;
+ public int hoglinBreedingTicks = 6000; + public int hoglinBreedingTicks = 6000;
private void hoglinSettings() { private void hoglinSettings() {
hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable); hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable);
hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater); hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater);
@@ -1000,6 +1023,7 @@ public class PurpurWorldConfig { @@ -1055,6 +1078,7 @@ public class PurpurWorldConfig {
set("mobs.hoglin.attributes.max_health", oldValue);
} }
hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth); hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth);
hoglinScale = Mth.clamp(getDouble("mobs.hoglin.attributes.scale", hoglinScale), 0.0625D, 16.0D);
+ hoglinBreedingTicks = getInt("mobs.hoglin.breeding-delay-ticks", hoglinBreedingTicks); + hoglinBreedingTicks = getInt("mobs.hoglin.breeding-delay-ticks", hoglinBreedingTicks);
} }
public boolean horseRidableInWater = false; public boolean horseRidableInWater = false;
@@ -1009,6 +1033,7 @@ public class PurpurWorldConfig { @@ -1064,6 +1088,7 @@ public class PurpurWorldConfig {
public double horseJumpStrengthMax = 1.0D; public double horseJumpStrengthMax = 1.0D;
public double horseMovementSpeedMin = 0.1125D; public double horseMovementSpeedMin = 0.1125D;
public double horseMovementSpeedMax = 0.3375D; public double horseMovementSpeedMax = 0.3375D;
@@ -729,7 +733,7 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
private void horseSettings() { private void horseSettings() {
horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater);
if (PurpurConfig.version < 10) { if (PurpurConfig.version < 10) {
@@ -1024,6 +1049,7 @@ public class PurpurWorldConfig { @@ -1079,6 +1104,7 @@ public class PurpurWorldConfig {
horseJumpStrengthMax = getDouble("mobs.horse.attributes.jump_strength.max", horseJumpStrengthMax); horseJumpStrengthMax = getDouble("mobs.horse.attributes.jump_strength.max", horseJumpStrengthMax);
horseMovementSpeedMin = getDouble("mobs.horse.attributes.movement_speed.min", horseMovementSpeedMin); horseMovementSpeedMin = getDouble("mobs.horse.attributes.movement_speed.min", horseMovementSpeedMin);
horseMovementSpeedMax = getDouble("mobs.horse.attributes.movement_speed.max", horseMovementSpeedMax); horseMovementSpeedMax = getDouble("mobs.horse.attributes.movement_speed.max", horseMovementSpeedMax);
@@ -737,7 +741,7 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
} }
public boolean huskRidable = false; public boolean huskRidable = false;
@@ -1101,6 +1127,7 @@ public class PurpurWorldConfig { @@ -1162,6 +1188,7 @@ public class PurpurWorldConfig {
public double llamaJumpStrengthMax = 0.5D; public double llamaJumpStrengthMax = 0.5D;
public double llamaMovementSpeedMin = 0.175D; public double llamaMovementSpeedMin = 0.175D;
public double llamaMovementSpeedMax = 0.175D; public double llamaMovementSpeedMax = 0.175D;
@@ -745,7 +749,7 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
private void llamaSettings() { private void llamaSettings() {
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);
@@ -1118,6 +1145,7 @@ public class PurpurWorldConfig { @@ -1179,6 +1206,7 @@ public class PurpurWorldConfig {
llamaJumpStrengthMax = getDouble("mobs.llama.attributes.jump_strength.max", llamaJumpStrengthMax); llamaJumpStrengthMax = getDouble("mobs.llama.attributes.jump_strength.max", llamaJumpStrengthMax);
llamaMovementSpeedMin = getDouble("mobs.llama.attributes.movement_speed.min", llamaMovementSpeedMin); llamaMovementSpeedMin = getDouble("mobs.llama.attributes.movement_speed.min", llamaMovementSpeedMin);
llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax); llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax);
@@ -753,23 +757,23 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
} }
public boolean magmaCubeRidable = false; public boolean magmaCubeRidable = false;
@@ -1146,6 +1174,7 @@ public class PurpurWorldConfig { @@ -1208,6 +1236,7 @@ public class PurpurWorldConfig {
public boolean mooshroomRidableInWater = true;
public boolean mooshroomControllable = true; public boolean mooshroomControllable = true;
public double mooshroomMaxHealth = 10.0D; public double mooshroomMaxHealth = 10.0D;
public double mooshroomScale = 1.0D;
+ public int mooshroomBreedingTicks = 6000; + public int mooshroomBreedingTicks = 6000;
private void mooshroomSettings() { private void mooshroomSettings() {
mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable); mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable);
mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater); mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater);
@@ -1156,6 +1185,7 @@ public class PurpurWorldConfig { @@ -1219,6 +1248,7 @@ public class PurpurWorldConfig {
set("mobs.mooshroom.attributes.max_health", oldValue);
} }
mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth); mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth);
mooshroomScale = Mth.clamp(getDouble("mobs.mooshroom.attributes.scale", mooshroomScale), 0.0625D, 16.0D);
+ mooshroomBreedingTicks = getInt("mobs.mooshroom.breeding-delay-ticks", mooshroomBreedingTicks); + mooshroomBreedingTicks = getInt("mobs.mooshroom.breeding-delay-ticks", mooshroomBreedingTicks);
} }
public boolean muleRidableInWater = false; public boolean muleRidableInWater = false;
@@ -1165,6 +1195,7 @@ public class PurpurWorldConfig { @@ -1228,6 +1258,7 @@ public class PurpurWorldConfig {
public double muleJumpStrengthMax = 0.5D; public double muleJumpStrengthMax = 0.5D;
public double muleMovementSpeedMin = 0.175D; public double muleMovementSpeedMin = 0.175D;
public double muleMovementSpeedMax = 0.175D; public double muleMovementSpeedMax = 0.175D;
@@ -777,7 +781,7 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
private void muleSettings() { private void muleSettings() {
muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater); muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater);
if (PurpurConfig.version < 10) { if (PurpurConfig.version < 10) {
@@ -1180,12 +1211,14 @@ public class PurpurWorldConfig { @@ -1243,6 +1274,7 @@ public class PurpurWorldConfig {
muleJumpStrengthMax = getDouble("mobs.mule.attributes.jump_strength.max", muleJumpStrengthMax); muleJumpStrengthMax = getDouble("mobs.mule.attributes.jump_strength.max", muleJumpStrengthMax);
muleMovementSpeedMin = getDouble("mobs.mule.attributes.movement_speed.min", muleMovementSpeedMin); muleMovementSpeedMin = getDouble("mobs.mule.attributes.movement_speed.min", muleMovementSpeedMin);
muleMovementSpeedMax = getDouble("mobs.mule.attributes.movement_speed.max", muleMovementSpeedMax); muleMovementSpeedMax = getDouble("mobs.mule.attributes.movement_speed.max", muleMovementSpeedMax);
@@ -785,61 +789,63 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
} }
public boolean ocelotRidable = false; public boolean ocelotRidable = false;
public boolean ocelotRidableInWater = true; @@ -1250,6 +1282,7 @@ public class PurpurWorldConfig {
public boolean ocelotControllable = true; public boolean ocelotControllable = true;
public double ocelotMaxHealth = 10.0D; public double ocelotMaxHealth = 10.0D;
public double ocelotScale = 1.0D;
+ public int ocelotBreedingTicks = 6000; + public int ocelotBreedingTicks = 6000;
private void ocelotSettings() { private void ocelotSettings() {
ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable); ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable);
ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater); ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater);
@@ -1196,12 +1229,14 @@ public class PurpurWorldConfig { @@ -1261,6 +1294,7 @@ public class PurpurWorldConfig {
set("mobs.ocelot.attributes.max_health", oldValue);
} }
ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth); ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth);
ocelotScale = Mth.clamp(getDouble("mobs.ocelot.attributes.scale", ocelotScale), 0.0625D, 16.0D);
+ ocelotBreedingTicks = getInt("mobs.ocelot.breeding-delay-ticks", ocelotBreedingTicks); + ocelotBreedingTicks = getInt("mobs.ocelot.breeding-delay-ticks", ocelotBreedingTicks);
} }
public boolean pandaRidable = false; public boolean pandaRidable = false;
public boolean pandaRidableInWater = true; @@ -1268,6 +1302,7 @@ public class PurpurWorldConfig {
public boolean pandaControllable = true; public boolean pandaControllable = true;
public double pandaMaxHealth = 20.0D; public double pandaMaxHealth = 20.0D;
public double pandaScale = 1.0D;
+ public int pandaBreedingTicks = 6000; + public int pandaBreedingTicks = 6000;
private void pandaSettings() { private void pandaSettings() {
pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable); pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable);
pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater); pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater);
@@ -1212,6 +1247,7 @@ public class PurpurWorldConfig { @@ -1279,6 +1314,7 @@ public class PurpurWorldConfig {
set("mobs.panda.attributes.max_health", oldValue);
} }
pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth); pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth);
pandaScale = Mth.clamp(getDouble("mobs.panda.attributes.scale", pandaScale), 0.0625D, 16.0D);
+ pandaBreedingTicks = getInt("mobs.panda.breeding-delay-ticks", pandaBreedingTicks); + pandaBreedingTicks = getInt("mobs.panda.breeding-delay-ticks", pandaBreedingTicks);
} }
public boolean parrotRidable = false; public boolean parrotRidable = false;
@@ -1295,6 +1331,7 @@ public class PurpurWorldConfig { @@ -1365,6 +1401,7 @@ public class PurpurWorldConfig {
public boolean pigControllable = true;
public double pigMaxHealth = 10.0D; public double pigMaxHealth = 10.0D;
public double pigScale = 1.0D;
public boolean pigGiveSaddleBack = false; public boolean pigGiveSaddleBack = false;
+ public int pigBreedingTicks = 6000; + public int pigBreedingTicks = 6000;
private void pigSettings() { private void pigSettings() {
pigRidable = getBoolean("mobs.pig.ridable", pigRidable); pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater); pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
@@ -1306,6 +1343,7 @@ public class PurpurWorldConfig { @@ -1377,6 +1414,7 @@ public class PurpurWorldConfig {
}
pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth); pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth);
pigScale = Mth.clamp(getDouble("mobs.pig.attributes.scale", pigScale), 0.0625D, 16.0D);
pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack); pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack);
+ pigBreedingTicks = getInt("mobs.pig.breeding-delay-ticks", pigBreedingTicks); + pigBreedingTicks = getInt("mobs.pig.breeding-delay-ticks", pigBreedingTicks);
} }
public boolean piglinRidable = false; public boolean piglinRidable = false;
@@ -1362,6 +1400,7 @@ public class PurpurWorldConfig { @@ -1440,6 +1478,7 @@ public class PurpurWorldConfig {
public double polarBearMaxHealth = 30.0D; public double polarBearScale = 1.0D;
public String polarBearBreedableItemString = ""; public String polarBearBreedableItemString = "";
public Item polarBearBreedableItem = null; public Item polarBearBreedableItem = null;
+ public int polarBearBreedingTicks = 6000; + public int polarBearBreedingTicks = 6000;
private void polarBearSettings() { private void polarBearSettings() {
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable); polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater); polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
@@ -1375,6 +1414,7 @@ public class PurpurWorldConfig { @@ -1454,6 +1493,7 @@ public class PurpurWorldConfig {
polarBearBreedableItemString = getString("mobs.polar_bear.breedable-item", polarBearBreedableItemString); polarBearBreedableItemString = getString("mobs.polar_bear.breedable-item", polarBearBreedableItemString);
Item item = BuiltInRegistries.ITEM.get(ResourceLocation.parse(polarBearBreedableItemString)); Item item = BuiltInRegistries.ITEM.get(ResourceLocation.parse(polarBearBreedableItemString));
if (item != Items.AIR) polarBearBreedableItem = item; if (item != Items.AIR) polarBearBreedableItem = item;
@@ -847,69 +853,70 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
} }
public boolean pufferfishRidable = false; public boolean pufferfishRidable = false;
@@ -1397,6 +1437,7 @@ public class PurpurWorldConfig { @@ -1479,6 +1519,7 @@ public class PurpurWorldConfig {
public double rabbitMaxHealth = 3.0D; public double rabbitScale = 1.0D;
public double rabbitNaturalToast = 0.0D; public double rabbitNaturalToast = 0.0D;
public double rabbitNaturalKiller = 0.0D; public double rabbitNaturalKiller = 0.0D;
+ public int rabbitBreedingTicks = 6000; + public int rabbitBreedingTicks = 6000;
private void rabbitSettings() { private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -1409,6 +1450,7 @@ public class PurpurWorldConfig { @@ -1492,6 +1533,7 @@ public class PurpurWorldConfig {
rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth); rabbitScale = Mth.clamp(getDouble("mobs.rabbit.attributes.scale", rabbitScale), 0.0625D, 16.0D);
rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast); rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast);
rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller); rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
+ rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks); + rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks);
} }
public boolean ravagerRidable = false; public boolean ravagerRidable = false;
@@ -1445,6 +1487,7 @@ public class PurpurWorldConfig { @@ -1533,6 +1575,7 @@ public class PurpurWorldConfig {
public boolean sheepRidableInWater = true;
public boolean sheepControllable = true; public boolean sheepControllable = true;
public double sheepMaxHealth = 8.0D; public double sheepMaxHealth = 8.0D;
public double sheepScale = 1.0D;
+ public int sheepBreedingTicks = 6000; + public int sheepBreedingTicks = 6000;
private void sheepSettings() { private void sheepSettings() {
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
@@ -1455,6 +1498,7 @@ public class PurpurWorldConfig { @@ -1544,6 +1587,7 @@ public class PurpurWorldConfig {
set("mobs.sheep.attributes.max_health", oldValue);
} }
sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth); sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth);
sheepScale = Mth.clamp(getDouble("mobs.sheep.attributes.scale", sheepScale), 0.0625D, 16.0D);
+ sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks); + sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks);
} }
public boolean shulkerRidable = false; public boolean shulkerRidable = false;
@@ -1582,11 +1626,13 @@ public class PurpurWorldConfig { @@ -1680,12 +1724,14 @@ public class PurpurWorldConfig {
public boolean snifferRidableInWater = true;
public boolean snifferControllable = true; public boolean snifferControllable = true;
public double snifferMaxHealth = 14.0D; public double snifferMaxHealth = 14.0D;
public double snifferScale = 1.0D;
+ public int snifferBreedingTicks = 6000; + public int snifferBreedingTicks = 6000;
private void snifferSettings() { private void snifferSettings() {
snifferRidable = getBoolean("mobs.sniffer.ridable", snifferRidable); snifferRidable = getBoolean("mobs.sniffer.ridable", snifferRidable);
snifferRidableInWater = getBoolean("mobs.sniffer.ridable-in-water", snifferRidableInWater); snifferRidableInWater = getBoolean("mobs.sniffer.ridable-in-water", snifferRidableInWater);
snifferControllable = getBoolean("mobs.sniffer.controllable", snifferControllable); snifferControllable = getBoolean("mobs.sniffer.controllable", snifferControllable);
snifferMaxHealth = getDouble("mobs.sniffer.attributes.max_health", snifferMaxHealth); snifferMaxHealth = getDouble("mobs.sniffer.attributes.max_health", snifferMaxHealth);
snifferScale = Mth.clamp(getDouble("mobs.sniffer.attributes.scale", snifferScale), 0.0625D, 16.0D);
+ snifferBreedingTicks = getInt("mobs.sniffer.breeding-delay-ticks", snifferBreedingTicks); + snifferBreedingTicks = getInt("mobs.sniffer.breeding-delay-ticks", snifferBreedingTicks);
} }
public boolean squidRidable = false; public boolean squidRidable = false;
@@ -1645,6 +1691,7 @@ public class PurpurWorldConfig { @@ -1751,6 +1797,7 @@ public class PurpurWorldConfig {
public boolean striderRidableInWater = false;
public boolean striderControllable = true; public boolean striderControllable = true;
public double striderMaxHealth = 20.0D; public double striderMaxHealth = 20.0D;
public double striderScale = 1.0D;
+ public int striderBreedingTicks = 6000; + public int striderBreedingTicks = 6000;
private void striderSettings() { private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1655,6 +1702,7 @@ public class PurpurWorldConfig { @@ -1762,6 +1809,7 @@ public class PurpurWorldConfig {
set("mobs.strider.attributes.max_health", oldValue);
} }
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth); striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
striderScale = Mth.clamp(getDouble("mobs.strider.attributes.scale", striderScale), 0.0625D, 16.0D);
+ striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks); + striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks);
} }
public boolean tadpoleRidable = false; public boolean tadpoleRidable = false;
@@ -1675,6 +1723,7 @@ public class PurpurWorldConfig { @@ -1782,6 +1830,7 @@ public class PurpurWorldConfig {
public double traderLlamaJumpStrengthMax = 0.5D; public double traderLlamaJumpStrengthMax = 0.5D;
public double traderLlamaMovementSpeedMin = 0.175D; public double traderLlamaMovementSpeedMin = 0.175D;
public double traderLlamaMovementSpeedMax = 0.175D; public double traderLlamaMovementSpeedMax = 0.175D;
@@ -917,7 +924,7 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
private void traderLlamaSettings() { private void traderLlamaSettings() {
traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable); traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable);
traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater); traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater);
@@ -1692,6 +1741,7 @@ public class PurpurWorldConfig { @@ -1799,6 +1848,7 @@ public class PurpurWorldConfig {
traderLlamaJumpStrengthMax = getDouble("mobs.trader_llama.attributes.jump_strength.max", traderLlamaJumpStrengthMax); traderLlamaJumpStrengthMax = getDouble("mobs.trader_llama.attributes.jump_strength.max", traderLlamaJumpStrengthMax);
traderLlamaMovementSpeedMin = getDouble("mobs.trader_llama.attributes.movement_speed.min", traderLlamaMovementSpeedMin); traderLlamaMovementSpeedMin = getDouble("mobs.trader_llama.attributes.movement_speed.min", traderLlamaMovementSpeedMin);
traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax); traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax);
@@ -925,23 +932,23 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
} }
public boolean tropicalFishRidable = false; public boolean tropicalFishRidable = false;
@@ -1712,6 +1762,7 @@ public class PurpurWorldConfig { @@ -1822,6 +1872,7 @@ public class PurpurWorldConfig {
public boolean turtleRidableInWater = true;
public boolean turtleControllable = true; public boolean turtleControllable = true;
public double turtleMaxHealth = 30.0D; public double turtleMaxHealth = 30.0D;
public double turtleScale = 1.0D;
+ public int turtleBreedingTicks = 6000; + public int turtleBreedingTicks = 6000;
private void turtleSettings() { private void turtleSettings() {
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable); turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater); turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
@@ -1722,6 +1773,7 @@ public class PurpurWorldConfig { @@ -1833,6 +1884,7 @@ public class PurpurWorldConfig {
set("mobs.turtle.attributes.max_health", oldValue);
} }
turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth); turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth);
turtleScale = Mth.clamp(getDouble("mobs.turtle.attributes.scale", turtleScale), 0.0625D, 16.0D);
+ turtleBreedingTicks = getInt("mobs.turtle.breeding-delay-ticks", turtleBreedingTicks); + turtleBreedingTicks = getInt("mobs.turtle.breeding-delay-ticks", turtleBreedingTicks);
} }
public boolean vexRidable = false; public boolean vexRidable = false;
@@ -1749,6 +1801,7 @@ public class PurpurWorldConfig { @@ -1863,6 +1915,7 @@ public class PurpurWorldConfig {
public boolean villagerFollowEmeraldBlock = false; public boolean villagerFollowEmeraldBlock = false;
public boolean villagerCanBeLeashed = false; public boolean villagerCanBeLeashed = false;
public boolean villagerCanBreed = true; public boolean villagerCanBreed = true;
@@ -949,7 +956,7 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1762,6 +1815,7 @@ public class PurpurWorldConfig { @@ -1877,6 +1930,7 @@ public class PurpurWorldConfig {
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock); villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed); villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed); villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
@@ -957,18 +964,18 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
} }
public boolean vindicatorRidable = false; public boolean vindicatorRidable = false;
@@ -1873,6 +1927,7 @@ public class PurpurWorldConfig { @@ -1999,6 +2053,7 @@ public class PurpurWorldConfig {
public boolean wolfRidableInWater = true;
public boolean wolfControllable = true; public boolean wolfControllable = true;
public double wolfMaxHealth = 8.0D; public double wolfMaxHealth = 8.0D;
public double wolfScale = 1.0D;
+ public int wolfBreedingTicks = 6000; + public int wolfBreedingTicks = 6000;
private void wolfSettings() { private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater); wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
@@ -1883,6 +1938,7 @@ public class PurpurWorldConfig { @@ -2010,6 +2065,7 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
} }
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth); wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);
wolfScale = Mth.clamp(getDouble("mobs.wolf.attributes.scale", wolfScale), 0.0625D, 16.0D);
+ wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks); + wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks);
} }

View File

@@ -126,10 +126,10 @@ index d8a63ac5444eff8e3decb2f4addc2decb8a5d648..41cc9229108aa8e4f5655dfe590ff414
if (((HangingEntity) object).survives()) { if (((HangingEntity) object).survives()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a7f60a530528cfbbefb618c5d787261f00239a52..b78cddab8a9b66f92bca5f215228481e2b9fca69 100644 index 90d8b66b86c36df1e92c5ab0312d791cc2887847..074d872372961e823f94c63756c33136cd7e8bbe 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/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 float armorstandStepHeight = 0.0F; public float armorstandStepHeight = 0.0F;
@@ -140,7 +140,7 @@ index a7f60a530528cfbbefb618c5d787261f00239a52..b78cddab8a9b66f92bca5f215228481e
} }
public boolean arrowMovementResetsDespawnCounter = true; public boolean arrowMovementResetsDespawnCounter = true;
@@ -110,6 +112,7 @@ public class PurpurWorldConfig { @@ -111,6 +113,7 @@ public class PurpurWorldConfig {
public boolean boatEjectPlayersOnLand = false; public boolean boatEjectPlayersOnLand = false;
public boolean disableDropsOnCrammingDeath = false; public boolean disableDropsOnCrammingDeath = false;
public boolean milkCuresBadOmen = true; public boolean milkCuresBadOmen = true;
@@ -148,7 +148,7 @@ index a7f60a530528cfbbefb618c5d787261f00239a52..b78cddab8a9b66f92bca5f215228481e
public double tridentLoyaltyVoidReturnHeight = 0.0D; public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D; public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D; public double voidDamageDealt = 4.0D;
@@ -120,6 +123,7 @@ public class PurpurWorldConfig { @@ -121,6 +124,7 @@ public class PurpurWorldConfig {
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand); boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath); disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen); milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);

View File

@@ -17,10 +17,10 @@ index 774c982f28b4f127fc3f036c19dfb47fb9ae3264..d49b60e7e643498b49c03593dc0da2f8
// Paper end - Add PlayerNameEntityEvent // Paper end - Add PlayerNameEntityEvent
mob.setPersistenceRequired(); mob.setPersistenceRequired();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b78cddab8a9b66f92bca5f215228481e2b9fca69..25845de5d604de1c19302b3b0bf8792bf323564d 100644 index 074d872372961e823f94c63756c33136cd7e8bbe..581bdd3640ed0f149fa192380eec119154d4797e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/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 float armorstandStepHeight = 0.0F; public float armorstandStepHeight = 0.0F;
public boolean armorstandSetNameVisible = false; public boolean armorstandSetNameVisible = false;

View File

@@ -8,10 +8,10 @@ This should help to reduce the amount of dirt, gravel, grass, and etc.
that Endermen like to randomly place all over the world. 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 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 8604db61d2c8042d0399262cb60b98457e4f894c..ada2403856aeb7cb50c0b00fb1dad18b93ecd52c 100644 index 28b2303ce9459b6038f35e3e470324392753b67f..f969164a67f98f5a9925f98a9595f0b555ad47fc 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java --- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java +++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -480,7 +480,7 @@ public class EnderMan extends Monster implements NeutralMob { @@ -481,7 +481,7 @@ public class EnderMan extends Monster implements NeutralMob {
@Override @Override
public boolean requiresCustomPersistence() { public boolean requiresCustomPersistence() {
@@ -21,20 +21,20 @@ index 8604db61d2c8042d0399262cb60b98457e4f894c..ada2403856aeb7cb50c0b00fb1dad18b
private static class EndermanFreezeWhenLookedAt extends Goal { 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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 25845de5d604de1c19302b3b0bf8792bf323564d..9e492e98a14dffd74099bdf289ab70d2ccf9e9cd 100644 index 75de05805f08748c17c95f9a62a3f8351f62f783..df43ccdf64377f0e66058d0c55068c9c237330c4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -848,6 +848,7 @@ public class PurpurWorldConfig { @@ -884,6 +884,7 @@ public class PurpurWorldConfig {
public boolean endermanControllable = true;
public double endermanMaxHealth = 40.0D; public double endermanMaxHealth = 40.0D;
public double endermanScale = 1.0D;
public boolean endermanAllowGriefing = true; public boolean endermanAllowGriefing = true;
+ public boolean endermanDespawnEvenWithBlock = false; + public boolean endermanDespawnEvenWithBlock = false;
private void endermanSettings() { private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -859,6 +860,7 @@ public class PurpurWorldConfig { @@ -896,6 +897,7 @@ public class PurpurWorldConfig {
}
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth); endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);
endermanScale = Mth.clamp(getDouble("mobs.enderman.attributes.scale", endermanScale), 0.0625D, 16.0D);
endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing); endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing);
+ endermanDespawnEvenWithBlock = getBoolean("mobs.enderman.can-despawn-with-held-block", endermanDespawnEvenWithBlock); + endermanDespawnEvenWithBlock = getBoolean("mobs.enderman.can-despawn-with-held-block", endermanDespawnEvenWithBlock);
} }

View File

@@ -18,10 +18,10 @@ index 2b4d206c0d31ba38d7b2af654bd420e85145d441..f59a2903bfb8ae591a638ea5bb387caa
entity.hurt(this.damageSources().thrown(this, this.getOwner()), (float) i); entity.hurt(this.damageSources().thrown(this, this.getOwner()), (float) i);
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9e492e98a14dffd74099bdf289ab70d2ccf9e9cd..a2fc0a19927d9999fa1530c83164a545e58e88c8 100644 index c48ff1b139ef8009f6be30d8926cb4d4fa0145bc..5e1b946b4e5b2fda7175fc265d91361c11bbb8b3 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -373,6 +373,11 @@ public class PurpurWorldConfig { @@ -374,6 +374,11 @@ public class PurpurWorldConfig {
//} //}
} }

View File

@@ -18,10 +18,10 @@ index 149d272775783aab243f0707ee11f702b35fa075..8103f13155ad66bbd077a38ae4697ad1
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a2fc0a19927d9999fa1530c83164a545e58e88c8..3520ce3fba42f02c5c46f1cce1263c23a1087bc3 100644 index 5e1b946b4e5b2fda7175fc265d91361c11bbb8b3..fd83a86d245b775a884d33528c80ae53257f3a95 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -152,8 +152,10 @@ public class PurpurWorldConfig { @@ -153,8 +153,10 @@ public class PurpurWorldConfig {
} }
public int entityLifeSpan = 0; public int entityLifeSpan = 0;

View File

@@ -27,10 +27,10 @@ index 128c0daae941cda386417dfa452e97a9b056441d..7737c2b5aaa8ad8367915991b75aff00
if (!flag && this.spawnInvulnerableTime > 0 && !source.is(DamageTypeTags.BYPASSES_INVULNERABILITY)) { if (!flag && this.spawnInvulnerableTime > 0 && !source.is(DamageTypeTags.BYPASSES_INVULNERABILITY)) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3520ce3fba42f02c5c46f1cce1263c23a1087bc3..b1dbb9c7b5c04725ad3529e5af1cc9f75f6ef1d5 100644 index fd83a86d245b775a884d33528c80ae53257f3a95..9c4511d478a0ad5f5757470454063bae52b1127b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -112,6 +112,7 @@ public class PurpurWorldConfig { @@ -113,6 +113,7 @@ public class PurpurWorldConfig {
public boolean useBetterMending = false; public boolean useBetterMending = false;
public boolean boatEjectPlayersOnLand = false; public boolean boatEjectPlayersOnLand = false;
@@ -38,7 +38,7 @@ index 3520ce3fba42f02c5c46f1cce1263c23a1087bc3..b1dbb9c7b5c04725ad3529e5af1cc9f7
public boolean disableDropsOnCrammingDeath = false; public boolean disableDropsOnCrammingDeath = false;
public boolean milkCuresBadOmen = true; public boolean milkCuresBadOmen = true;
public boolean persistentDroppableEntityDisplayNames = true; public boolean persistentDroppableEntityDisplayNames = true;
@@ -123,6 +124,7 @@ public class PurpurWorldConfig { @@ -124,6 +125,7 @@ public class PurpurWorldConfig {
private void miscGameplayMechanicsSettings() { private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand); boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);

View File

@@ -10,10 +10,10 @@ If min-shoot-interval-ticks and max-shoot-interval-ticks are both set to
0, snow golems won't shoot any snowballs. 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 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 0060414b1d5afde56372ce121e9d37a1668cd03b..ee4d4a4fe314ee9bce69c96dd65d84ed1ace0543 100644 index dc5af0b71ec82a8f22e64b03950e35845110a331..5b910b4168b7f7825916c14e402f7f00b651cd60 100644
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java --- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java +++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
@@ -77,7 +77,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM @@ -78,7 +78,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
@Override @Override
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
@@ -23,12 +23,12 @@ index 0060414b1d5afde56372ce121e9d37a1668cd03b..ee4d4a4fe314ee9bce69c96dd65d84ed
this.goalSelector.addGoal(3, new LookAtPlayerGoal(this, Player.class, 6.0F)); this.goalSelector.addGoal(3, new LookAtPlayerGoal(this, Player.class, 6.0F));
this.goalSelector.addGoal(4, new RandomLookAroundGoal(this)); 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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 53fb0bd1fb6c63f0580769243e645f38786aef28..dac1d00e6c79bd2fcf57d950f9e528b7d4ff8542 100644 index fa91c4afeaf1a01d27fea3741e85cc5721d80d14..ef7ef1c1d02b6ab51b7ac1c944c18e303a39e27b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1625,6 +1625,10 @@ public class PurpurWorldConfig { @@ -1721,6 +1721,10 @@ public class PurpurWorldConfig {
public boolean snowGolemLeaveTrailWhenRidden = false;
public double snowGolemMaxHealth = 4.0D; public double snowGolemMaxHealth = 4.0D;
public double snowGolemScale = 1.0D;
public boolean snowGolemPutPumpkinBack = false; public boolean snowGolemPutPumpkinBack = false;
+ public int snowGolemSnowBallMin = 20; + public int snowGolemSnowBallMin = 20;
+ public int snowGolemSnowBallMax = 20; + public int snowGolemSnowBallMax = 20;
@@ -37,9 +37,9 @@ index 53fb0bd1fb6c63f0580769243e645f38786aef28..dac1d00e6c79bd2fcf57d950f9e528b7
private void snowGolemSettings() { private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1637,6 +1641,10 @@ public class PurpurWorldConfig { @@ -1734,6 +1738,10 @@ public class PurpurWorldConfig {
}
snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth); snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth);
snowGolemScale = Mth.clamp(getDouble("mobs.snow_golem.attributes.scale", snowGolemScale), 0.0625D, 16.0D);
snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack); snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack);
+ snowGolemSnowBallMin = getInt("mobs.snow_golem.min-shoot-interval-ticks", snowGolemSnowBallMin); + snowGolemSnowBallMin = getInt("mobs.snow_golem.min-shoot-interval-ticks", snowGolemSnowBallMin);
+ snowGolemSnowBallMax = getInt("mobs.snow_golem.max-shoot-interval-ticks", snowGolemSnowBallMax); + snowGolemSnowBallMax = getInt("mobs.snow_golem.max-shoot-interval-ticks", snowGolemSnowBallMax);

View File

@@ -136,10 +136,10 @@ index a0e0692d17760f440fe81d52887284c787e562db..ab9bebc07b5228dbc0d3ba4b0f7d1bbe
brain.setMemory(MemoryModuleType.SECONDARY_JOB_SITE, list); brain.setMemory(MemoryModuleType.SECONDARY_JOB_SITE, list);
} else { } else {
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index ad3e340c2487aa1dc2ed3ab08fa8747b7516022e..2368d4d347cc0a1d670b9b1ee568560ed8e1a98c 100644 index 96a140098b467afa9122093a08ebf190ed566a30..3d34f4ab1e81645d45441589c253544900fc8ec7 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -223,7 +223,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -224,7 +224,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
brain.addActivity(Activity.PLAY, VillagerGoalPackages.getPlayPackage(0.5F)); brain.addActivity(Activity.PLAY, VillagerGoalPackages.getPlayPackage(0.5F));
} else { } else {
brain.setSchedule(Schedule.VILLAGER_DEFAULT); brain.setSchedule(Schedule.VILLAGER_DEFAULT);
@@ -148,7 +148,7 @@ index ad3e340c2487aa1dc2ed3ab08fa8747b7516022e..2368d4d347cc0a1d670b9b1ee568560e
} }
brain.addActivity(Activity.CORE, VillagerGoalPackages.getCorePackage(villagerprofession, 0.5F)); brain.addActivity(Activity.CORE, VillagerGoalPackages.getCorePackage(villagerprofession, 0.5F));
@@ -972,6 +972,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -973,6 +973,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
public boolean hasFarmSeeds() { public boolean hasFarmSeeds() {
return this.getInventory().hasAnyMatching((itemstack) -> { return this.getInventory().hasAnyMatching((itemstack) -> {
@@ -174,10 +174,10 @@ index 8734ab1bd8299bbf43906d81a349c2a13e0981a7..3ca83269311cbc18c9ef3ce62cff6a2d
"farmer", "farmer",
PoiTypes.FARMER, PoiTypes.FARMER,
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index dac1d00e6c79bd2fcf57d950f9e528b7d4ff8542..9b17ce3ca2d7345a7c455f75d38e0eae1d0a7c78 100644 index ef7ef1c1d02b6ab51b7ac1c944c18e303a39e27b..e25ba23071d89b1a9866adbd427b7bdaa73efb2a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1827,6 +1827,8 @@ public class PurpurWorldConfig { @@ -1941,6 +1941,8 @@ public class PurpurWorldConfig {
public boolean villagerCanBeLeashed = false; public boolean villagerCanBeLeashed = false;
public boolean villagerCanBreed = true; public boolean villagerCanBreed = true;
public int villagerBreedingTicks = 6000; public int villagerBreedingTicks = 6000;
@@ -186,7 +186,7 @@ index dac1d00e6c79bd2fcf57d950f9e528b7d4ff8542..9b17ce3ca2d7345a7c455f75d38e0eae
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1841,6 +1843,8 @@ public class PurpurWorldConfig { @@ -1956,6 +1958,8 @@ public class PurpurWorldConfig {
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed); villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed); villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks); villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks);

View File

@@ -13,10 +13,10 @@ to the Piglin being angry, even though the player never hit them.
This patch adds a toggle to disable this behavior. This patch adds a toggle to disable this behavior.
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
index 0dcf5638e12c7670e6a5e577210e2542de1fd38b..47419219d4f435a17344361f4a60d5aab925d574 100644 index 53b8f46bda60289ec310cb45513a2b729fcbea76..2756319fd1e53eca6a3dfa094d7c669014c383e9 100644
--- a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java --- a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java +++ b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
@@ -147,7 +147,7 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob { @@ -148,7 +148,7 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
this.maybeAlertOthers(); this.maybeAlertOthers();
} }
@@ -25,7 +25,7 @@ index 0dcf5638e12c7670e6a5e577210e2542de1fd38b..47419219d4f435a17344361f4a60d5aa
this.lastHurtByPlayerTime = this.tickCount; this.lastHurtByPlayerTime = this.tickCount;
} }
@@ -202,7 +202,7 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob { @@ -203,7 +203,7 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
this.ticksUntilNextAlert = ZombifiedPiglin.ALERT_INTERVAL.sample(this.random); this.ticksUntilNextAlert = ZombifiedPiglin.ALERT_INTERVAL.sample(this.random);
} }
@@ -35,10 +35,10 @@ index 0dcf5638e12c7670e6a5e577210e2542de1fd38b..47419219d4f435a17344361f4a60d5aa
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9b17ce3ca2d7345a7c455f75d38e0eae1d0a7c78..c9d6c2cdc603c2b24c5afb9fbf741c35cf72a175 100644 index e25ba23071d89b1a9866adbd427b7bdaa73efb2a..c2a42bd6b2347c559048cb0f718920c9ff0ea142 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2073,6 +2073,7 @@ public class PurpurWorldConfig { @@ -2207,6 +2207,7 @@ public class PurpurWorldConfig {
public boolean zombifiedPiglinJockeyOnlyBaby = true; public boolean zombifiedPiglinJockeyOnlyBaby = true;
public double zombifiedPiglinJockeyChance = 0.05D; public double zombifiedPiglinJockeyChance = 0.05D;
public boolean zombifiedPiglinJockeyTryExistingChickens = true; public boolean zombifiedPiglinJockeyTryExistingChickens = true;
@@ -46,7 +46,7 @@ index 9b17ce3ca2d7345a7c455f75d38e0eae1d0a7c78..c9d6c2cdc603c2b24c5afb9fbf741c35
private void zombifiedPiglinSettings() { private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -2087,5 +2088,6 @@ public class PurpurWorldConfig { @@ -2222,5 +2223,6 @@ public class PurpurWorldConfig {
zombifiedPiglinJockeyOnlyBaby = getBoolean("mobs.zombified_piglin.jockey.only-babies", zombifiedPiglinJockeyOnlyBaby); zombifiedPiglinJockeyOnlyBaby = getBoolean("mobs.zombified_piglin.jockey.only-babies", zombifiedPiglinJockeyOnlyBaby);
zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance); zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance);
zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens); zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens);

View File

@@ -7,7 +7,7 @@ Configurable chance to spawn a wolf that is rabid.
Rabid wolves attack all players, mobs, and animals. Rabid wolves attack all players, mobs, and animals.
diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
index e3c0163a4b00dca01b97c41aa57aa998063ec491..04d7e4bc6cc1deda5f53f6ae5f46d2402e0d0c10 100644 index da375fb6907e0c46ed176bc76a84f2666227547c..0a3b883ffe3627c5ab7c763f4ecaef4f70e1e144 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java --- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java +++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
@@ -106,6 +106,37 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol @@ -106,6 +106,37 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol
@@ -48,7 +48,7 @@ index e3c0163a4b00dca01b97c41aa57aa998063ec491..04d7e4bc6cc1deda5f53f6ae5f46d240
private static final float START_HEALTH = 8.0F; private static final float START_HEALTH = 8.0F;
private static final float TAME_HEALTH = 40.0F; private static final float TAME_HEALTH = 40.0F;
private static final float ARMOR_REPAIR_UNIT = 0.125F; private static final float ARMOR_REPAIR_UNIT = 0.125F;
@@ -158,6 +189,30 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol @@ -159,6 +190,30 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol
return this.level().purpurConfig.wolfBreedingTicks; return this.level().purpurConfig.wolfBreedingTicks;
} }
@@ -79,7 +79,7 @@ index e3c0163a4b00dca01b97c41aa57aa998063ec491..04d7e4bc6cc1deda5f53f6ae5f46d240
@Override @Override
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(1, new FloatGoal(this)); this.goalSelector.addGoal(1, new FloatGoal(this));
@@ -165,6 +220,7 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol @@ -166,6 +221,7 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol
this.goalSelector.addGoal(1, new TamableAnimal.TamableAnimalPanicGoal(1.5D, DamageTypeTags.PANIC_ENVIRONMENTAL_CAUSES)); this.goalSelector.addGoal(1, new TamableAnimal.TamableAnimalPanicGoal(1.5D, DamageTypeTags.PANIC_ENVIRONMENTAL_CAUSES));
this.goalSelector.addGoal(2, new SitWhenOrderedToGoal(this)); this.goalSelector.addGoal(2, new SitWhenOrderedToGoal(this));
this.goalSelector.addGoal(3, new Wolf.WolfAvoidEntityGoal<>(this, Llama.class, 24.0F, 1.5D, 1.5D)); this.goalSelector.addGoal(3, new Wolf.WolfAvoidEntityGoal<>(this, Llama.class, 24.0F, 1.5D, 1.5D));
@@ -87,7 +87,7 @@ index e3c0163a4b00dca01b97c41aa57aa998063ec491..04d7e4bc6cc1deda5f53f6ae5f46d240
this.goalSelector.addGoal(4, new LeapAtTargetGoal(this, 0.4F)); this.goalSelector.addGoal(4, new LeapAtTargetGoal(this, 0.4F));
this.goalSelector.addGoal(5, new MeleeAttackGoal(this, 1.0D, true)); this.goalSelector.addGoal(5, new MeleeAttackGoal(this, 1.0D, true));
this.goalSelector.addGoal(6, new FollowOwnerGoal(this, 1.0D, 10.0F, 2.0F)); this.goalSelector.addGoal(6, new FollowOwnerGoal(this, 1.0D, 10.0F, 2.0F));
@@ -178,7 +234,7 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol @@ -179,7 +235,7 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol
this.targetSelector.addGoal(2, new OwnerHurtTargetGoal(this)); this.targetSelector.addGoal(2, new OwnerHurtTargetGoal(this));
this.targetSelector.addGoal(3, (new HurtByTargetGoal(this, new Class[0])).setAlertOthers()); this.targetSelector.addGoal(3, (new HurtByTargetGoal(this, new Class[0])).setAlertOthers());
this.targetSelector.addGoal(4, new NearestAttackableTargetGoal<>(this, Player.class, 10, true, false, this::isAngryAt)); this.targetSelector.addGoal(4, new NearestAttackableTargetGoal<>(this, Player.class, 10, true, false, this::isAngryAt));
@@ -96,7 +96,7 @@ index e3c0163a4b00dca01b97c41aa57aa998063ec491..04d7e4bc6cc1deda5f53f6ae5f46d240
this.targetSelector.addGoal(6, new NonTameRandomTargetGoal<>(this, Turtle.class, false, Turtle.BABY_ON_LAND_SELECTOR)); this.targetSelector.addGoal(6, new NonTameRandomTargetGoal<>(this, Turtle.class, false, Turtle.BABY_ON_LAND_SELECTOR));
this.targetSelector.addGoal(7, new NearestAttackableTargetGoal<>(this, AbstractSkeleton.class, false)); this.targetSelector.addGoal(7, new NearestAttackableTargetGoal<>(this, AbstractSkeleton.class, false));
this.targetSelector.addGoal(8, new ResetUniversalAngerTargetGoal<>(this, true)); this.targetSelector.addGoal(8, new ResetUniversalAngerTargetGoal<>(this, true));
@@ -227,6 +283,7 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol @@ -228,6 +284,7 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol
public void addAdditionalSaveData(CompoundTag nbt) { public void addAdditionalSaveData(CompoundTag nbt) {
super.addAdditionalSaveData(nbt); super.addAdditionalSaveData(nbt);
nbt.putByte("CollarColor", (byte) this.getCollarColor().getId()); nbt.putByte("CollarColor", (byte) this.getCollarColor().getId());
@@ -104,7 +104,7 @@ index e3c0163a4b00dca01b97c41aa57aa998063ec491..04d7e4bc6cc1deda5f53f6ae5f46d240
this.getVariant().unwrapKey().ifPresent((resourcekey) -> { this.getVariant().unwrapKey().ifPresent((resourcekey) -> {
nbt.putString("variant", resourcekey.location().toString()); nbt.putString("variant", resourcekey.location().toString());
}); });
@@ -244,6 +301,10 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol @@ -245,6 +302,10 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol
if (nbt.contains("CollarColor", 99)) { if (nbt.contains("CollarColor", 99)) {
this.setCollarColor(DyeColor.byId(nbt.getInt("CollarColor"))); this.setCollarColor(DyeColor.byId(nbt.getInt("CollarColor")));
} }
@@ -115,7 +115,7 @@ index e3c0163a4b00dca01b97c41aa57aa998063ec491..04d7e4bc6cc1deda5f53f6ae5f46d240
this.readPersistentAngerSaveData(this.level(), nbt); this.readPersistentAngerSaveData(this.level(), nbt);
} }
@@ -262,6 +323,12 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol @@ -263,6 +324,12 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol
} }
this.setVariant(holder1); this.setVariant(holder1);
@@ -128,7 +128,7 @@ index e3c0163a4b00dca01b97c41aa57aa998063ec491..04d7e4bc6cc1deda5f53f6ae5f46d240
return super.finalizeSpawn(world, difficulty, spawnReason, (SpawnGroupData) entityData); return super.finalizeSpawn(world, difficulty, spawnReason, (SpawnGroupData) entityData);
} }
@@ -305,6 +372,11 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol @@ -306,6 +373,11 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol
public void tick() { public void tick() {
super.tick(); super.tick();
if (this.isAlive()) { if (this.isAlive()) {
@@ -140,7 +140,7 @@ index e3c0163a4b00dca01b97c41aa57aa998063ec491..04d7e4bc6cc1deda5f53f6ae5f46d240
this.interestedAngleO = this.interestedAngle; this.interestedAngleO = this.interestedAngle;
if (this.isInterested()) { if (this.isInterested()) {
this.interestedAngle += (1.0F - this.interestedAngle) * 0.4F; this.interestedAngle += (1.0F - this.interestedAngle) * 0.4F;
@@ -545,6 +617,19 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol @@ -546,6 +618,19 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol
itemstack.consume(1, player); itemstack.consume(1, player);
this.tryToTame(player); this.tryToTame(player);
return InteractionResult.SUCCESS; return InteractionResult.SUCCESS;
@@ -182,22 +182,22 @@ index 86574da257731de7646a712ed73384955fe35aa3..e223234dd64b0e41441c3b9f649f0b64
+ // Purpur end + // Purpur end
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c9d6c2cdc603c2b24c5afb9fbf741c35cf72a175..209201b2789af1326616b52ffb14d64b253ebac9 100644 index c2a42bd6b2347c559048cb0f718920c9ff0ea142..1d64122cda959967d60294cb69be2854f7f9d5bd 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1956,6 +1956,8 @@ public class PurpurWorldConfig { @@ -2082,6 +2082,8 @@ public class PurpurWorldConfig {
public boolean wolfRidableInWater = true;
public boolean wolfControllable = true; public boolean wolfControllable = true;
public double wolfMaxHealth = 8.0D; public double wolfMaxHealth = 8.0D;
public double wolfScale = 1.0D;
+ public boolean wolfMilkCuresRabies = true; + public boolean wolfMilkCuresRabies = true;
+ public double wolfNaturalRabid = 0.0D; + public double wolfNaturalRabid = 0.0D;
public int wolfBreedingTicks = 6000; public int wolfBreedingTicks = 6000;
private void wolfSettings() { private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
@@ -1967,6 +1969,8 @@ public class PurpurWorldConfig { @@ -2094,6 +2096,8 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
} }
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth); wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);
wolfScale = Mth.clamp(getDouble("mobs.wolf.attributes.scale", wolfScale), 0.0625D, 16.0D);
+ wolfMilkCuresRabies = getBoolean("mobs.wolf.milk-cures-rabid-wolves", wolfMilkCuresRabies); + wolfMilkCuresRabies = getBoolean("mobs.wolf.milk-cures-rabid-wolves", wolfMilkCuresRabies);
+ wolfNaturalRabid = getDouble("mobs.wolf.spawn-rabid-chance", wolfNaturalRabid); + wolfNaturalRabid = getDouble("mobs.wolf.spawn-rabid-chance", wolfNaturalRabid);
wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks); wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks);

View File

@@ -7,10 +7,10 @@ This allows for the server to set a default collar color when a wolf or cat is t
Resets to RED when the value is invalid. Resets to RED when the value is invalid.
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java
index e1f8fff9b67ad3c74afc69f2fba8919ffa1800e6..8d12b8dad60b44e3315584746d27772fec093323 100644 index c8266b1a6b609ef92bd83dcb0e86e3cf47ccce6d..356f3728fdadf8190cd6c806789f4fd70820ec94 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java --- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java +++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
@@ -347,6 +347,14 @@ public class Cat extends TamableAnimal implements VariantHolder<Holder<CatVarian @@ -348,6 +348,14 @@ public class Cat extends TamableAnimal implements VariantHolder<Holder<CatVarian
return Mth.lerp(tickDelta, this.relaxStateOneAmountO, this.relaxStateOneAmount); return Mth.lerp(tickDelta, this.relaxStateOneAmountO, this.relaxStateOneAmount);
} }
@@ -26,10 +26,10 @@ index e1f8fff9b67ad3c74afc69f2fba8919ffa1800e6..8d12b8dad60b44e3315584746d27772f
@Override @Override
public Cat getBreedOffspring(ServerLevel world, AgeableMob entity) { public Cat getBreedOffspring(ServerLevel world, AgeableMob entity) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
index 04d7e4bc6cc1deda5f53f6ae5f46d2402e0d0c10..5dd146d318851ce581a0d7841bd87ae9767dab6a 100644 index 0a3b883ffe3627c5ab7c763f4ecaef4f70e1e144..edf12c4f81f8a113a87b70bf4ab91888fc648cd5 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java --- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java +++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
@@ -213,6 +213,12 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol @@ -214,6 +214,12 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol
} }
} }
@@ -43,10 +43,10 @@ index 04d7e4bc6cc1deda5f53f6ae5f46d2402e0d0c10..5dd146d318851ce581a0d7841bd87ae9
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(1, new FloatGoal(this)); 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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 209201b2789af1326616b52ffb14d64b253ebac9..6a92afa085bd2929f41de21da6e4e6d693a4f602 100644 index 1d64122cda959967d60294cb69be2854f7f9d5bd..aa2038f6038987a218bd779de37d797b7a3291ee 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -636,6 +636,7 @@ public class PurpurWorldConfig { @@ -654,6 +654,7 @@ public class PurpurWorldConfig {
public int catSpawnSwampHutScanRange = 16; public int catSpawnSwampHutScanRange = 16;
public int catSpawnVillageScanRange = 48; public int catSpawnVillageScanRange = 48;
public int catBreedingTicks = 6000; public int catBreedingTicks = 6000;
@@ -54,7 +54,7 @@ index 209201b2789af1326616b52ffb14d64b253ebac9..6a92afa085bd2929f41de21da6e4e6d6
private void catSettings() { private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable); catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater); catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
@@ -650,6 +651,11 @@ public class PurpurWorldConfig { @@ -669,6 +670,11 @@ public class PurpurWorldConfig {
catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange); catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange);
catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange); catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange);
catBreedingTicks = getInt("mobs.cat.breeding-delay-ticks", catBreedingTicks); catBreedingTicks = getInt("mobs.cat.breeding-delay-ticks", catBreedingTicks);
@@ -66,18 +66,18 @@ index 209201b2789af1326616b52ffb14d64b253ebac9..6a92afa085bd2929f41de21da6e4e6d6
} }
public boolean caveSpiderRidable = false; public boolean caveSpiderRidable = false;
@@ -1956,6 +1962,7 @@ public class PurpurWorldConfig { @@ -2082,6 +2088,7 @@ public class PurpurWorldConfig {
public boolean wolfRidableInWater = true;
public boolean wolfControllable = true; public boolean wolfControllable = true;
public double wolfMaxHealth = 8.0D; public double wolfMaxHealth = 8.0D;
public double wolfScale = 1.0D;
+ public DyeColor wolfDefaultCollarColor = DyeColor.RED; + public DyeColor wolfDefaultCollarColor = DyeColor.RED;
public boolean wolfMilkCuresRabies = true; public boolean wolfMilkCuresRabies = true;
public double wolfNaturalRabid = 0.0D; public double wolfNaturalRabid = 0.0D;
public int wolfBreedingTicks = 6000; public int wolfBreedingTicks = 6000;
@@ -1969,6 +1976,11 @@ public class PurpurWorldConfig { @@ -2096,6 +2103,11 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
} }
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth); wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);
wolfScale = Mth.clamp(getDouble("mobs.wolf.attributes.scale", wolfScale), 0.0625D, 16.0D);
+ try { + try {
+ wolfDefaultCollarColor = DyeColor.valueOf(getString("mobs.wolf.default-collar-color", wolfDefaultCollarColor.name())); + wolfDefaultCollarColor = DyeColor.valueOf(getString("mobs.wolf.default-collar-color", wolfDefaultCollarColor.name()));
+ } catch (IllegalArgumentException ignore) { + } catch (IllegalArgumentException ignore) {

View File

@@ -17,10 +17,10 @@ index 8f221fe016ea7221eb3a2116a2213139cf961797..88725e6f8c6490253e110485f5a62e9d
@Override @Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7dabd7a3e68aa56f4557b45143a72d7c667dd023..1266122b9113338c6b07616ea40eb0d3fbf1ca6e 100644 index aa2038f6038987a218bd779de37d797b7a3291ee..0e5c2c9edab519044bdfb4cc70022cd5bb10e8e2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1314,6 +1314,7 @@ public class PurpurWorldConfig { @@ -1383,6 +1383,7 @@ public class PurpurWorldConfig {
public int phantomBurnInLight = 0; public int phantomBurnInLight = 0;
public boolean phantomIgnorePlayersWithTorch = false; public boolean phantomIgnorePlayersWithTorch = false;
public boolean phantomBurnInDaylight = true; public boolean phantomBurnInDaylight = true;
@@ -28,7 +28,7 @@ index 7dabd7a3e68aa56f4557b45143a72d7c667dd023..1266122b9113338c6b07616ea40eb0d3
private void phantomSettings() { private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -1347,6 +1348,7 @@ public class PurpurWorldConfig { @@ -1416,6 +1417,7 @@ public class PurpurWorldConfig {
phantomBurnInLight = getInt("mobs.phantom.burn-in-light", phantomBurnInLight); phantomBurnInLight = getInt("mobs.phantom.burn-in-light", phantomBurnInLight);
phantomBurnInDaylight = getBoolean("mobs.phantom.burn-in-daylight", phantomBurnInDaylight); phantomBurnInDaylight = getBoolean("mobs.phantom.burn-in-daylight", phantomBurnInDaylight);
phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch); phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch);

View File

@@ -17,10 +17,10 @@ index 8fbfd18b3caeed769396b3ffb1b1778b2f38edc0..dbfe8f5d4df244cb694b73ea8763628c
return world.getBlockState(blockposition1).isRedstoneConductor(world, blockposition1); 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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1266122b9113338c6b07616ea40eb0d3fbf1ca6e..9b6c63beb9bf3e170a8d16f357d0985aa2c56fad 100644 index 3589f85cfb09537ffb5fa08fbfdd03a6e5687561..51971c112d0d327af70dccc0cb9485275135ab98 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -410,6 +410,11 @@ public class PurpurWorldConfig { @@ -411,6 +411,11 @@ public class PurpurWorldConfig {
} }
} }

View File

@@ -17,7 +17,7 @@ index 911a12e8af22b5f7a645384fee37c9ad435a9be1..73774049d9d4165036ddf90979d2de83
if (environment.includeIntegrated) { if (environment.includeIntegrated) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index f1686cca24ff1339ca0062d288ddfe1049e9090a..71cc454cda7ad6253cadaface31de8293df4843a 100644 index 3ac4bfc46bfc7a47e8dfb2a3458c449b5d79d3e7..ada01633d26745900f15a512293a93aa3b1ee42f 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1079,6 +1079,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1079,6 +1079,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -29,7 +29,7 @@ index f1686cca24ff1339ca0062d288ddfe1049e9090a..71cc454cda7ad6253cadaface31de829
this.hasLoggedStop = true; // Paper - Debugging this.hasLoggedStop = true; // Paper - Debugging
if (isDebugging()) io.papermc.paper.util.TraceUtil.dumpTraceForThread("Server stopped"); // Paper - Debugging if (isDebugging()) io.papermc.paper.util.TraceUtil.dumpTraceForThread("Server stopped"); // Paper - Debugging
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 4582215c4952c8557df0c50cc70302940eff40d7..01fbe7f7d898be5cfc423255e2abb97e75f32718 100644 index 04fd1172b47a74b16955cf93fc20f64fd056b16e..34dfcdb3de191c08dffe22f624f4e968fbbc0f45 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -366,6 +366,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -366,6 +366,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Striders give saddle back
diff --git a/src/main/java/net/minecraft/world/entity/monster/Strider.java b/src/main/java/net/minecraft/world/entity/monster/Strider.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Strider.java b/src/main/java/net/minecraft/world/entity/monster/Strider.java
index 0a297368678cafb92eb0374d1d410271c0d10033..13d40773ff8272ca081e852d4ae3dc09f6fa0ffc 100644 index 8c233a90d07db7959b778a84c4ed0589a6a10dd4..d534eaa9231602f8fa73d0230223f08348aae95b 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Strider.java --- a/src/main/java/net/minecraft/world/entity/monster/Strider.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java +++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java
@@ -484,6 +484,19 @@ public class Strider extends Animal implements ItemSteerable, Saddleable { @@ -485,6 +485,19 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
public InteractionResult mobInteract(Player player, InteractionHand hand) { public InteractionResult mobInteract(Player player, InteractionHand hand) {
boolean flag = this.isFood(player.getItemInHand(hand)); boolean flag = this.isFood(player.getItemInHand(hand));
@@ -29,20 +29,20 @@ index 0a297368678cafb92eb0374d1d410271c0d10033..13d40773ff8272ca081e852d4ae3dc09
if (!this.level().isClientSide) { if (!this.level().isClientSide) {
player.startRiding(this); player.startRiding(this);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2967f4028654908cdb6f80c2bef982028d3a81be..5604e457aad8782642d1c793c23a5ac54431304e 100644 index 080446acffc6150b8c578946bfcfa99e2ba13d79..cb948241a14bf7348a37ac6f885ecfe49ef858e2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1730,6 +1730,7 @@ public class PurpurWorldConfig { @@ -1836,6 +1836,7 @@ public class PurpurWorldConfig {
public boolean striderControllable = true;
public double striderMaxHealth = 20.0D; public double striderMaxHealth = 20.0D;
public double striderScale = 1.0D;
public int striderBreedingTicks = 6000; public int striderBreedingTicks = 6000;
+ public boolean striderGiveSaddleBack = false; + public boolean striderGiveSaddleBack = false;
private void striderSettings() { private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1741,6 +1742,7 @@ public class PurpurWorldConfig { @@ -1848,6 +1849,7 @@ public class PurpurWorldConfig {
}
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth); striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
striderScale = Mth.clamp(getDouble("mobs.strider.attributes.scale", striderScale), 0.0625D, 16.0D);
striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks); striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks);
+ striderGiveSaddleBack = getBoolean("mobs.strider.give-saddle-back", striderGiveSaddleBack); + striderGiveSaddleBack = getBoolean("mobs.strider.give-saddle-back", striderGiveSaddleBack);
} }

View File

@@ -26,10 +26,10 @@ index 025309a47e9683ec29cd94f997663b7faec1acb4..2dafba96353c208b89da7b65c0d56a51
protected ItemCooldowns createItemCooldowns() { protected ItemCooldowns createItemCooldowns() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a9579bd890f95485665592a64470c6ff5b6d0ab5..70b1c8041d4fabb73b41bed97f150b6444688c30 100644 index ccb801c8fc1b8b9d79b76f639f94d6d7d82a30cc..8f255830efe9daaf7101954703c30f060f8abfd2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -285,6 +285,19 @@ public class PurpurWorldConfig { @@ -286,6 +286,19 @@ public class PurpurWorldConfig {
villageSiegeSpawning = getBoolean("gameplay-mechanics.mob-spawning.village-sieges", predicate); villageSiegeSpawning = getBoolean("gameplay-mechanics.mob-spawning.village-sieges", predicate);
} }

View File

@@ -92,10 +92,10 @@ index 6634228ef002cbef67980272a26be4a75c954116..a61abba840a55fb4fbc9716a5e05eb27
} else if (this.nextStartTick > 0) { } else if (this.nextStartTick > 0) {
--this.nextStartTick; --this.nextStartTick;
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
index 2aac6472453aa2ec58a6d5b7040df6d457353ff5..857f59f47e47e183b6e4191978d225ee040fb979 100644 index 252df18c369d5e556632ed5a287dab04e4e9b58d..6c56c51a89928ba52b1fb5f66f6169fa94fffed0 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java --- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java +++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -1384,7 +1384,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> { @@ -1385,7 +1385,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
} }
protected void onReachedTarget() { protected void onReachedTarget() {
@@ -105,10 +105,10 @@ index 2aac6472453aa2ec58a6d5b7040df6d457353ff5..857f59f47e47e183b6e4191978d225ee
if (iblockdata.is(Blocks.SWEET_BERRY_BUSH)) { if (iblockdata.is(Blocks.SWEET_BERRY_BUSH)) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
index 4ef310dda00d049b109fc379de2b90696eb24d27..b7ab06f46cfa1fdc4c33595484df781db1967da5 100644 index 7e509458134340bd05d15f5f51b6d1fce3206d6a..db9ed247a2a2c2316a9dcc06a8961345c40752a9 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java --- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java +++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
@@ -635,7 +635,7 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> { @@ -636,7 +636,7 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
@Override @Override
public boolean canUse() { public boolean canUse() {
if (this.nextStartTick <= 0) { if (this.nextStartTick <= 0) {
@@ -118,10 +118,10 @@ index 4ef310dda00d049b109fc379de2b90696eb24d27..b7ab06f46cfa1fdc4c33595484df781d
} }
diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
index ee4d4a4fe314ee9bce69c96dd65d84ed1ace0543..cdb6657d30d224709aec3921c5fb8380f8acd93e 100644 index 5b910b4168b7f7825916c14e402f7f00b651cd60..09be2e9651a736bf44f3f06f1d4e6a5b4dcf230b 100644
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java --- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java +++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
@@ -125,7 +125,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM @@ -126,7 +126,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
this.hurt(this.damageSources().melting(), 1.0F); // CraftBukkit - DamageSources.ON_FIRE -> CraftEventFactory.MELTING this.hurt(this.damageSources().melting(), 1.0F); // CraftBukkit - DamageSources.ON_FIRE -> CraftEventFactory.MELTING
} }
@@ -131,7 +131,7 @@ index ee4d4a4fe314ee9bce69c96dd65d84ed1ace0543..cdb6657d30d224709aec3921c5fb8380
} }
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
index bf2591f163b8482d35a6e532004677199685a593..b078d1922db9f0db561d6e824794bc4518a44947 100644 index 0554ee8f76f58b72b7cc42a6165660854095045a..10a81e7e096751fd17db8aa7d6b4b74c6e7e3874 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -620,7 +620,7 @@ public class EnderDragon extends Mob implements Enemy { @@ -620,7 +620,7 @@ public class EnderDragon extends Mob implements Enemy {
@@ -144,10 +144,10 @@ index bf2591f163b8482d35a6e532004677199685a593..b078d1922db9f0db561d6e824794bc45
// flag1 = this.level().removeBlock(blockposition, false) || flag1; // flag1 = this.level().removeBlock(blockposition, false) || flag1;
flag1 = true; flag1 = true;
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
index 402f67ca333e09c684ae083071715734e0767bf5..9bd615ef8f7de16f823954af3ecf76897dec90df 100644 index e3ee5d5eb80d689eb77731b3f26d0c314fcc4436..d75d331355129edb975fe5adc585e35852d484da 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -494,7 +494,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -495,7 +495,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
if (this.destroyBlocksTick > 0) { if (this.destroyBlocksTick > 0) {
--this.destroyBlocksTick; --this.destroyBlocksTick;
@@ -157,10 +157,10 @@ index 402f67ca333e09c684ae083071715734e0767bf5..9bd615ef8f7de16f823954af3ecf7689
j = Mth.floor(this.getBbWidth() / 2.0F + 1.0F); j = Mth.floor(this.getBbWidth() / 2.0F + 1.0F);
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java 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 ada2403856aeb7cb50c0b00fb1dad18b93ecd52c..c2bddf3e67929b1d9da5739c4f0f15475b537cf0 100644 index f969164a67f98f5a9925f98a9595f0b555ad47fc..2ef35e21c20ec19e1af0f7380d8c36fbf6948e47 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java --- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java +++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -528,7 +528,15 @@ public class EnderMan extends Monster implements NeutralMob { @@ -529,7 +529,15 @@ public class EnderMan extends Monster implements NeutralMob {
@Override @Override
public boolean canUse() { public boolean canUse() {
if (!enderman.level().purpurConfig.endermanAllowGriefing) return false; // Purpur if (!enderman.level().purpurConfig.endermanAllowGriefing) return false; // Purpur
@@ -177,7 +177,7 @@ index ada2403856aeb7cb50c0b00fb1dad18b93ecd52c..c2bddf3e67929b1d9da5739c4f0f1547
} }
@Override @Override
@@ -574,7 +582,15 @@ public class EnderMan extends Monster implements NeutralMob { @@ -575,7 +583,15 @@ public class EnderMan extends Monster implements NeutralMob {
@Override @Override
public boolean canUse() { public boolean canUse() {
if (!enderman.level().purpurConfig.endermanAllowGriefing) return false; // Purpur if (!enderman.level().purpurConfig.endermanAllowGriefing) return false; // Purpur
@@ -195,10 +195,10 @@ index ada2403856aeb7cb50c0b00fb1dad18b93ecd52c..c2bddf3e67929b1d9da5739c4f0f1547
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Evoker.java b/src/main/java/net/minecraft/world/entity/monster/Evoker.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Evoker.java b/src/main/java/net/minecraft/world/entity/monster/Evoker.java
index 3ac01d7e55934d145365790b6cb0c5a04ac2a74d..5ade0be7989ccea459e3c08a0280b6be31f684ce 100644 index 8aa91f45d3a863308ce1fce1fde40a6c9a2042db..a7976b5d8548277061aa6a4e1147922e283d5a7d 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Evoker.java --- a/src/main/java/net/minecraft/world/entity/monster/Evoker.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Evoker.java +++ b/src/main/java/net/minecraft/world/entity/monster/Evoker.java
@@ -364,7 +364,7 @@ public class Evoker extends SpellcasterIllager { @@ -365,7 +365,7 @@ public class Evoker extends SpellcasterIllager {
return false; return false;
} else if (Evoker.this.tickCount < this.nextAttackTickCount) { } else if (Evoker.this.tickCount < this.nextAttackTickCount) {
return false; return false;
@@ -208,10 +208,10 @@ index 3ac01d7e55934d145365790b6cb0c5a04ac2a74d..5ade0be7989ccea459e3c08a0280b6be
} else { } else {
List<Sheep> list = Evoker.this.level().getNearbyEntities(Sheep.class, this.wololoTargeting, Evoker.this, Evoker.this.getBoundingBox().inflate(16.0D, 4.0D, 16.0D)); List<Sheep> list = Evoker.this.level().getNearbyEntities(Sheep.class, this.wololoTargeting, Evoker.this, Evoker.this.getBoundingBox().inflate(16.0D, 4.0D, 16.0D));
diff --git a/src/main/java/net/minecraft/world/entity/monster/Ravager.java b/src/main/java/net/minecraft/world/entity/monster/Ravager.java 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 ebbfd1fec85f1d4e099f02c91f3d7346b6bb3c7b..86704fcba15cec26eef3f77167aee9116ba27980 100644 index f3b57f58738d7cb84bd25f0ce7752ce859f03c96..5d9e85b22c0fe8d0b9d9fc06fc1f3cd170931e17 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java --- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java +++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
@@ -169,7 +169,7 @@ public class Ravager extends Raider { @@ -170,7 +170,7 @@ public class Ravager extends Raider {
this.getAttribute(Attributes.MOVEMENT_SPEED).setBaseValue(Mth.lerp(0.1D, d1, d0)); this.getAttribute(Attributes.MOVEMENT_SPEED).setBaseValue(Mth.lerp(0.1D, d1, d0));
} }
@@ -221,10 +221,10 @@ index ebbfd1fec85f1d4e099f02c91f3d7346b6bb3c7b..86704fcba15cec26eef3f77167aee911
AABB axisalignedbb = this.getBoundingBox().inflate(0.2D); AABB axisalignedbb = this.getBoundingBox().inflate(0.2D);
Iterator iterator = BlockPos.betweenClosed(Mth.floor(axisalignedbb.minX), Mth.floor(axisalignedbb.minY), Mth.floor(axisalignedbb.minZ), Mth.floor(axisalignedbb.maxX), Mth.floor(axisalignedbb.maxY), Mth.floor(axisalignedbb.maxZ)).iterator(); Iterator iterator = BlockPos.betweenClosed(Mth.floor(axisalignedbb.minX), Mth.floor(axisalignedbb.minY), Mth.floor(axisalignedbb.minZ), Mth.floor(axisalignedbb.maxX), Mth.floor(axisalignedbb.maxY), Mth.floor(axisalignedbb.maxZ)).iterator();
diff --git a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java 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 9d5d71135b00eb0ab1b1dfaf7925e13b8a44d22c..dee89c6e5b4750ebefb3888485a2bc099a81ce58 100644 index e59ee35faa8b4ec35021074ce67666569c27da63..4325dc4889fb4c514798b85ef4d06725b0c5faa7 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java --- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java +++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
@@ -193,7 +193,7 @@ public class Silverfish extends Monster { @@ -194,7 +194,7 @@ public class Silverfish extends Monster {
continue; continue;
} }
// CraftBukkit end // CraftBukkit end
@@ -233,7 +233,7 @@ index 9d5d71135b00eb0ab1b1dfaf7925e13b8a44d22c..dee89c6e5b4750ebefb3888485a2bc09
world.destroyBlock(blockposition1, true, this.silverfish); world.destroyBlock(blockposition1, true, this.silverfish);
} else { } else {
world.setBlock(blockposition1, ((InfestedBlock) block).hostStateByInfested(world.getBlockState(blockposition1)), 3); world.setBlock(blockposition1, ((InfestedBlock) block).hostStateByInfested(world.getBlockState(blockposition1)), 3);
@@ -231,7 +231,7 @@ public class Silverfish extends Monster { @@ -232,7 +232,7 @@ public class Silverfish extends Monster {
} else { } else {
RandomSource randomsource = this.mob.getRandom(); RandomSource randomsource = this.mob.getRandom();
@@ -243,10 +243,10 @@ index 9d5d71135b00eb0ab1b1dfaf7925e13b8a44d22c..dee89c6e5b4750ebefb3888485a2bc09
BlockPos blockposition = BlockPos.containing(this.mob.getX(), this.mob.getY() + 0.5D, this.mob.getZ()).relative(this.selectedDirection); BlockPos blockposition = BlockPos.containing(this.mob.getX(), this.mob.getY() + 0.5D, this.mob.getZ()).relative(this.selectedDirection);
BlockState iblockdata = this.mob.level().getBlockState(blockposition); BlockState iblockdata = this.mob.level().getBlockState(blockposition);
diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
index faf5889c040a6c8fbac61a1d02036d32601f3d24..d54f8041b55f8b8d72dc4fda78ae456671f779d4 100644 index 1d66809216703a9ef9129f8e31887658726ad9ce..1084252852676a747cc05849fe2567dbcbc6a359 100644
--- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java --- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java +++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
@@ -411,7 +411,7 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento @@ -412,7 +412,7 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
@Override @Override
public boolean wantsToPickUp(ItemStack stack) { public boolean wantsToPickUp(ItemStack stack) {
@@ -375,10 +375,10 @@ index c7377d04ceac3ea624117439783a443c6d6f6d08..0c732cfbd9ce50198a3f85ae8ef2263d
} }
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 555ba78408b10368a997dad12cdf578d3e4306fc..abcbf373c1c1061203c5b482d60dadb0146419aa 100644 index a3cdaaa530d43ddfb5dcf312f39425372e18a0a6..3d6b6f262aaf354b57973db247c73fdcca3488cf 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -114,8 +114,11 @@ public class PurpurWorldConfig { @@ -115,8 +115,11 @@ public class PurpurWorldConfig {
public boolean boatEjectPlayersOnLand = false; public boolean boatEjectPlayersOnLand = false;
public boolean boatsDoFallDamage = false; public boolean boatsDoFallDamage = false;
public boolean disableDropsOnCrammingDeath = false; public boolean disableDropsOnCrammingDeath = false;
@@ -390,7 +390,7 @@ index 555ba78408b10368a997dad12cdf578d3e4306fc..abcbf373c1c1061203c5b482d60dadb0
public double tridentLoyaltyVoidReturnHeight = 0.0D; public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D; public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D; public double voidDamageDealt = 4.0D;
@@ -126,8 +129,11 @@ public class PurpurWorldConfig { @@ -127,8 +130,11 @@ public class PurpurWorldConfig {
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand); boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
boatsDoFallDamage = getBoolean("gameplay-mechanics.boat.do-fall-damage", boatsDoFallDamage); boatsDoFallDamage = getBoolean("gameplay-mechanics.boat.do-fall-damage", boatsDoFallDamage);
disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath); disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
@@ -402,7 +402,7 @@ index 555ba78408b10368a997dad12cdf578d3e4306fc..abcbf373c1c1061203c5b482d60dadb0
tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight); tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight);
voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight); voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight);
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt); voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
@@ -435,9 +441,11 @@ public class PurpurWorldConfig { @@ -436,9 +442,11 @@ public class PurpurWorldConfig {
dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils); dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils);
} }
@@ -414,7 +414,7 @@ index 555ba78408b10368a997dad12cdf578d3e4306fc..abcbf373c1c1061203c5b482d60dadb0
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow); farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
farmlandAlpha = getBoolean("blocks.farmland.use-alpha-farmland", farmlandAlpha); farmlandAlpha = getBoolean("blocks.farmland.use-alpha-farmland", farmlandAlpha);
} }
@@ -462,6 +470,11 @@ public class PurpurWorldConfig { @@ -463,6 +471,11 @@ public class PurpurWorldConfig {
lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether); lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether);
} }
@@ -426,7 +426,7 @@ index 555ba78408b10368a997dad12cdf578d3e4306fc..abcbf373c1c1061203c5b482d60dadb0
public boolean respawnAnchorExplode = true; public boolean respawnAnchorExplode = true;
public double respawnAnchorExplosionPower = 5.0D; public double respawnAnchorExplosionPower = 5.0D;
public boolean respawnAnchorExplosionFire = true; public boolean respawnAnchorExplosionFire = true;
@@ -491,10 +504,12 @@ public class PurpurWorldConfig { @@ -492,10 +505,12 @@ public class PurpurWorldConfig {
public boolean turtleEggsBreakFromExpOrbs = false; public boolean turtleEggsBreakFromExpOrbs = false;
public boolean turtleEggsBreakFromItems = false; public boolean turtleEggsBreakFromItems = false;
public boolean turtleEggsBreakFromMinecarts = false; public boolean turtleEggsBreakFromMinecarts = false;
@@ -439,23 +439,23 @@ index 555ba78408b10368a997dad12cdf578d3e4306fc..abcbf373c1c1061203c5b482d60dadb0
} }
public int waterInfiniteRequiredSources = 2; public int waterInfiniteRequiredSources = 2;
@@ -752,6 +767,7 @@ public class PurpurWorldConfig { @@ -780,6 +795,7 @@ public class PurpurWorldConfig {
public double creeperMaxHealth = 20.0D; public double creeperScale = 1.0D;
public double creeperChargedChance = 0.0D; public double creeperChargedChance = 0.0D;
public boolean creeperAllowGriefing = true; public boolean creeperAllowGriefing = true;
+ public boolean creeperBypassMobGriefing = false; + public boolean creeperBypassMobGriefing = false;
private void creeperSettings() { private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -764,6 +780,7 @@ public class PurpurWorldConfig { @@ -793,6 +809,7 @@ public class PurpurWorldConfig {
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth); creeperScale = Mth.clamp(getDouble("mobs.creeper.attributes.scale", creeperScale), 0.0625D, 16.0D);
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance); creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing); creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing);
+ creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing); + creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing);
} }
public boolean dolphinRidable = false; public boolean dolphinRidable = false;
@@ -858,6 +875,7 @@ public class PurpurWorldConfig { @@ -893,6 +910,7 @@ public class PurpurWorldConfig {
public double enderDragonMaxY = 320D; public double enderDragonMaxY = 320D;
public double enderDragonMaxHealth = 200.0D; public double enderDragonMaxHealth = 200.0D;
public boolean enderDragonAlwaysDropsFullExp = false; public boolean enderDragonAlwaysDropsFullExp = false;
@@ -463,7 +463,7 @@ index 555ba78408b10368a997dad12cdf578d3e4306fc..abcbf373c1c1061203c5b482d60dadb0
private void enderDragonSettings() { private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable); enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater); enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
@@ -874,6 +892,7 @@ public class PurpurWorldConfig { @@ -909,6 +927,7 @@ public class PurpurWorldConfig {
} }
enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth); enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth);
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp); enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
@@ -471,87 +471,87 @@ index 555ba78408b10368a997dad12cdf578d3e4306fc..abcbf373c1c1061203c5b482d60dadb0
} }
public boolean endermanRidable = false; public boolean endermanRidable = false;
@@ -882,6 +901,7 @@ public class PurpurWorldConfig { @@ -918,6 +937,7 @@ public class PurpurWorldConfig {
public double endermanMaxHealth = 40.0D; public double endermanScale = 1.0D;
public boolean endermanAllowGriefing = true; public boolean endermanAllowGriefing = true;
public boolean endermanDespawnEvenWithBlock = false; public boolean endermanDespawnEvenWithBlock = false;
+ public boolean endermanBypassMobGriefing = false; + public boolean endermanBypassMobGriefing = false;
private void endermanSettings() { private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -894,6 +914,7 @@ public class PurpurWorldConfig { @@ -931,6 +951,7 @@ public class PurpurWorldConfig {
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth); endermanScale = Mth.clamp(getDouble("mobs.enderman.attributes.scale", endermanScale), 0.0625D, 16.0D);
endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing); endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing);
endermanDespawnEvenWithBlock = getBoolean("mobs.enderman.can-despawn-with-held-block", endermanDespawnEvenWithBlock); endermanDespawnEvenWithBlock = getBoolean("mobs.enderman.can-despawn-with-held-block", endermanDespawnEvenWithBlock);
+ endermanBypassMobGriefing = getBoolean("mobs.enderman.bypass-mob-griefing", endermanBypassMobGriefing); + endermanBypassMobGriefing = getBoolean("mobs.enderman.bypass-mob-griefing", endermanBypassMobGriefing);
} }
public boolean endermiteRidable = false; public boolean endermiteRidable = false;
@@ -916,6 +937,7 @@ public class PurpurWorldConfig { @@ -956,6 +977,7 @@ public class PurpurWorldConfig {
public boolean evokerRidableInWater = true;
public boolean evokerControllable = true; public boolean evokerControllable = true;
public double evokerMaxHealth = 24.0D; public double evokerMaxHealth = 24.0D;
public double evokerScale = 1.0D;
+ public boolean evokerBypassMobGriefing = false; + public boolean evokerBypassMobGriefing = false;
private void evokerSettings() { private void evokerSettings() {
evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable); evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable);
evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater); evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater);
@@ -926,6 +948,7 @@ public class PurpurWorldConfig { @@ -967,6 +989,7 @@ public class PurpurWorldConfig {
set("mobs.evoker.attributes.max_health", oldValue);
} }
evokerMaxHealth = getDouble("mobs.evoker.attributes.max_health", evokerMaxHealth); evokerMaxHealth = getDouble("mobs.evoker.attributes.max_health", evokerMaxHealth);
evokerScale = Mth.clamp(getDouble("mobs.evoker.attributes.scale", evokerScale), 0.0625D, 16.0D);
+ evokerBypassMobGriefing = getBoolean("mobs.evoker.bypass-mob-griefing", evokerBypassMobGriefing); + evokerBypassMobGriefing = getBoolean("mobs.evoker.bypass-mob-griefing", evokerBypassMobGriefing);
} }
public boolean foxRidable = false; public boolean foxRidable = false;
@@ -934,6 +957,7 @@ public class PurpurWorldConfig { @@ -976,6 +999,7 @@ public class PurpurWorldConfig {
public double foxMaxHealth = 10.0D; public double foxScale = 1.0D;
public boolean foxTypeChangesWithTulips = false; public boolean foxTypeChangesWithTulips = false;
public int foxBreedingTicks = 6000; public int foxBreedingTicks = 6000;
+ public boolean foxBypassMobGriefing = false; + public boolean foxBypassMobGriefing = false;
private void foxSettings() { private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -946,6 +970,7 @@ public class PurpurWorldConfig { @@ -989,6 +1013,7 @@ public class PurpurWorldConfig {
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth); foxScale = Mth.clamp(getDouble("mobs.fox.attributes.scale", foxScale), 0.0625D, 16.0D);
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips); foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks); foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks);
+ foxBypassMobGriefing = getBoolean("mobs.fox.bypass-mob-griefing", foxBypassMobGriefing); + foxBypassMobGriefing = getBoolean("mobs.fox.bypass-mob-griefing", foxBypassMobGriefing);
} }
public boolean frogRidable = false; public boolean frogRidable = false;
@@ -1393,6 +1418,7 @@ public class PurpurWorldConfig { @@ -1465,6 +1490,7 @@ public class PurpurWorldConfig {
public boolean piglinRidableInWater = true;
public boolean piglinControllable = true; public boolean piglinControllable = true;
public double piglinMaxHealth = 16.0D; public double piglinMaxHealth = 16.0D;
public double piglinScale = 1.0D;
+ public boolean piglinBypassMobGriefing = false; + public boolean piglinBypassMobGriefing = false;
private void piglinSettings() { private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -1403,6 +1429,7 @@ public class PurpurWorldConfig { @@ -1476,6 +1502,7 @@ public class PurpurWorldConfig {
set("mobs.piglin.attributes.max_health", oldValue);
} }
piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth); piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth);
piglinScale = Mth.clamp(getDouble("mobs.piglin.attributes.scale", piglinScale), 0.0625D, 16.0D);
+ piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing); + piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing);
} }
public boolean piglinBruteRidable = false; public boolean piglinBruteRidable = false;
@@ -1425,6 +1452,7 @@ public class PurpurWorldConfig { @@ -1501,6 +1528,7 @@ public class PurpurWorldConfig {
public boolean pillagerRidableInWater = true;
public boolean pillagerControllable = true; public boolean pillagerControllable = true;
public double pillagerMaxHealth = 24.0D; public double pillagerMaxHealth = 24.0D;
public double pillagerScale = 1.0D;
+ public boolean pillagerBypassMobGriefing = false; + public boolean pillagerBypassMobGriefing = false;
private void pillagerSettings() { private void pillagerSettings() {
pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable); pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable);
pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater); pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater);
@@ -1435,6 +1463,7 @@ public class PurpurWorldConfig { @@ -1512,6 +1540,7 @@ public class PurpurWorldConfig {
set("mobs.pillager.attributes.max_health", oldValue);
} }
pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth); pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth);
pillagerScale = Mth.clamp(getDouble("mobs.pillager.attributes.scale", pillagerScale), 0.0625D, 16.0D);
+ pillagerBypassMobGriefing = getBoolean("mobs.pillager.bypass-mob-griefing", pillagerBypassMobGriefing); + pillagerBypassMobGriefing = getBoolean("mobs.pillager.bypass-mob-griefing", pillagerBypassMobGriefing);
} }
public boolean polarBearRidable = false; public boolean polarBearRidable = false;
@@ -1481,6 +1510,7 @@ public class PurpurWorldConfig { @@ -1563,6 +1592,7 @@ public class PurpurWorldConfig {
public double rabbitNaturalToast = 0.0D; public double rabbitNaturalToast = 0.0D;
public double rabbitNaturalKiller = 0.0D; public double rabbitNaturalKiller = 0.0D;
public int rabbitBreedingTicks = 6000; public int rabbitBreedingTicks = 6000;
@@ -559,7 +559,7 @@ index 555ba78408b10368a997dad12cdf578d3e4306fc..abcbf373c1c1061203c5b482d60dadb0
private void rabbitSettings() { private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -1494,12 +1524,14 @@ public class PurpurWorldConfig { @@ -1577,6 +1607,7 @@ public class PurpurWorldConfig {
rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast); rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast);
rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller); rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks); rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks);
@@ -567,54 +567,55 @@ index 555ba78408b10368a997dad12cdf578d3e4306fc..abcbf373c1c1061203c5b482d60dadb0
} }
public boolean ravagerRidable = false; public boolean ravagerRidable = false;
public boolean ravagerRidableInWater = false; @@ -1584,6 +1615,7 @@ public class PurpurWorldConfig {
public boolean ravagerControllable = true; public boolean ravagerControllable = true;
public double ravagerMaxHealth = 100.0D; public double ravagerMaxHealth = 100.0D;
public double ravagerScale = 1.0D;
+ public boolean ravagerBypassMobGriefing = false; + public boolean ravagerBypassMobGriefing = false;
private void ravagerSettings() { private void ravagerSettings() {
ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable);
ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater);
@@ -1510,6 +1542,7 @@ public class PurpurWorldConfig { @@ -1595,6 +1627,7 @@ public class PurpurWorldConfig {
set("mobs.ravager.attributes.max_health", oldValue);
} }
ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth); ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth);
ravagerScale = Mth.clamp(getDouble("mobs.ravager.attributes.scale", ravagerScale), 0.0625D, 16.0D);
+ ravagerBypassMobGriefing = getBoolean("mobs.ravager.bypass-mob-griefing", ravagerBypassMobGriefing); + ravagerBypassMobGriefing = getBoolean("mobs.ravager.bypass-mob-griefing", ravagerBypassMobGriefing);
} }
public boolean salmonRidable = false; public boolean salmonRidable = false;
@@ -1531,6 +1564,7 @@ public class PurpurWorldConfig { @@ -1619,6 +1652,7 @@ public class PurpurWorldConfig {
public boolean sheepControllable = true;
public double sheepMaxHealth = 8.0D; public double sheepMaxHealth = 8.0D;
public double sheepScale = 1.0D;
public int sheepBreedingTicks = 6000; public int sheepBreedingTicks = 6000;
+ public boolean sheepBypassMobGriefing = false; + public boolean sheepBypassMobGriefing = false;
private void sheepSettings() { private void sheepSettings() {
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
@@ -1542,6 +1576,7 @@ public class PurpurWorldConfig { @@ -1631,6 +1665,7 @@ public class PurpurWorldConfig {
}
sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth); sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth);
sheepScale = Mth.clamp(getDouble("mobs.sheep.attributes.scale", sheepScale), 0.0625D, 16.0D);
sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks); sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks);
+ sheepBypassMobGriefing = getBoolean("mobs.sheep.bypass-mob-griefing", sheepBypassMobGriefing); + sheepBypassMobGriefing = getBoolean("mobs.sheep.bypass-mob-griefing", sheepBypassMobGriefing);
} }
public boolean shulkerRidable = false; public boolean shulkerRidable = false;
@@ -1566,6 +1601,7 @@ public class PurpurWorldConfig { @@ -1658,6 +1693,7 @@ public class PurpurWorldConfig {
public double silverfishMaxHealth = 8.0D; public double silverfishScale = 1.0D;
public double silverfishMovementSpeed = 0.25D; public double silverfishMovementSpeed = 0.25D;
public double silverfishAttackDamage = 1.0D; public double silverfishAttackDamage = 1.0D;
+ public boolean silverfishBypassMobGriefing = false; + public boolean silverfishBypassMobGriefing = false;
private void silverfishSettings() { private void silverfishSettings() {
silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable); silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable);
silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater); silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater);
@@ -1578,6 +1614,7 @@ public class PurpurWorldConfig { @@ -1671,6 +1707,7 @@ public class PurpurWorldConfig {
silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth); silverfishScale = Mth.clamp(getDouble("mobs.silverfish.attributes.scale", silverfishScale), 0.0625D, 16.0D);
silverfishMovementSpeed = getDouble("mobs.silverfish.attributes.movement_speed", silverfishMovementSpeed); silverfishMovementSpeed = getDouble("mobs.silverfish.attributes.movement_speed", silverfishMovementSpeed);
silverfishAttackDamage = getDouble("mobs.silverfish.attributes.attack_damage", silverfishAttackDamage); silverfishAttackDamage = getDouble("mobs.silverfish.attributes.attack_damage", silverfishAttackDamage);
+ silverfishBypassMobGriefing = getBoolean("mobs.silverfish.bypass-mob-griefing", silverfishBypassMobGriefing); + silverfishBypassMobGriefing = getBoolean("mobs.silverfish.bypass-mob-griefing", silverfishBypassMobGriefing);
} }
public boolean skeletonRidable = false; public boolean skeletonRidable = false;
@@ -1655,6 +1692,7 @@ public class PurpurWorldConfig { @@ -1751,6 +1788,7 @@ public class PurpurWorldConfig {
public int snowGolemSnowBallMax = 20; public int snowGolemSnowBallMax = 20;
public float snowGolemSnowBallModifier = 10.0F; public float snowGolemSnowBallModifier = 10.0F;
public double snowGolemAttackDistance = 1.25D; public double snowGolemAttackDistance = 1.25D;
@@ -622,7 +623,7 @@ index 555ba78408b10368a997dad12cdf578d3e4306fc..abcbf373c1c1061203c5b482d60dadb0
private void snowGolemSettings() { private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1671,6 +1709,7 @@ public class PurpurWorldConfig { @@ -1768,6 +1806,7 @@ public class PurpurWorldConfig {
snowGolemSnowBallMax = getInt("mobs.snow_golem.max-shoot-interval-ticks", snowGolemSnowBallMax); snowGolemSnowBallMax = getInt("mobs.snow_golem.max-shoot-interval-ticks", snowGolemSnowBallMax);
snowGolemSnowBallModifier = (float) getDouble("mobs.snow_golem.snow-ball-modifier", snowGolemSnowBallModifier); snowGolemSnowBallModifier = (float) getDouble("mobs.snow_golem.snow-ball-modifier", snowGolemSnowBallModifier);
snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance); snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance);
@@ -630,7 +631,7 @@ index 555ba78408b10368a997dad12cdf578d3e4306fc..abcbf373c1c1061203c5b482d60dadb0
} }
public boolean snifferRidable = false; public boolean snifferRidable = false;
@@ -1857,6 +1896,7 @@ public class PurpurWorldConfig { @@ -1971,6 +2010,7 @@ public class PurpurWorldConfig {
public int villagerBreedingTicks = 6000; public int villagerBreedingTicks = 6000;
public boolean villagerClericsFarmWarts = false; public boolean villagerClericsFarmWarts = false;
public boolean villagerClericFarmersThrowWarts = true; public boolean villagerClericFarmersThrowWarts = true;
@@ -638,7 +639,7 @@ index 555ba78408b10368a997dad12cdf578d3e4306fc..abcbf373c1c1061203c5b482d60dadb0
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1873,6 +1913,7 @@ public class PurpurWorldConfig { @@ -1988,6 +2028,7 @@ public class PurpurWorldConfig {
villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks); villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks);
villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts); villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts);
villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts); villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts);
@@ -646,23 +647,23 @@ index 555ba78408b10368a997dad12cdf578d3e4306fc..abcbf373c1c1061203c5b482d60dadb0
} }
public boolean vindicatorRidable = false; public boolean vindicatorRidable = false;
@@ -1945,6 +1986,7 @@ public class PurpurWorldConfig { @@ -2067,6 +2108,7 @@ public class PurpurWorldConfig {
public double witherMaxHealth = 300.0D; public double witherScale = 1.0D;
public float witherHealthRegenAmount = 1.0f; public float witherHealthRegenAmount = 1.0f;
public int witherHealthRegenDelay = 20; public int witherHealthRegenDelay = 20;
+ public boolean witherBypassMobGriefing = false; + public boolean witherBypassMobGriefing = false;
private void witherSettings() { private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1962,6 +2004,7 @@ public class PurpurWorldConfig { @@ -2085,6 +2127,7 @@ public class PurpurWorldConfig {
witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth); witherScale = Mth.clamp(getDouble("mobs.wither.attributes.scale", witherScale), 0.0625D, 16.0D);
witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount); witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount);
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay); witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
+ witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing); + witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing);
} }
public boolean witherSkeletonRidable = false; public boolean witherSkeletonRidable = false;
@@ -2033,6 +2076,7 @@ public class PurpurWorldConfig { @@ -2163,6 +2206,7 @@ public class PurpurWorldConfig {
public double zombieJockeyChance = 0.05D; public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true; public boolean zombieJockeyTryExistingChickens = true;
public boolean zombieAggressiveTowardsVillagerWhenLagging = true; public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
@@ -670,7 +671,7 @@ index 555ba78408b10368a997dad12cdf578d3e4306fc..abcbf373c1c1061203c5b482d60dadb0
private void zombieSettings() { private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -2048,6 +2092,7 @@ public class PurpurWorldConfig { @@ -2179,6 +2223,7 @@ public class PurpurWorldConfig {
zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance); zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance);
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens); zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);
zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging); zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging);

View File

@@ -22,10 +22,10 @@ index 1d82cfe7af0dc42f88901fb0c44896771fdf8a93..43dd972b374daa1072608f3a68e812e7
// org.bukkit.event.block.NotePlayEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callNotePlayEvent(world, pos, state.getValue(NoteBlock.INSTRUMENT), state.getValue(NoteBlock.NOTE)); // 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()) { // if (event.isCancelled()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e183f7f2e513c5b79997db783df6d3f9ad411f2d..159a7a7d907fdef1254f64268c7fe1bcee5878df 100644 index aae7ee1641e4b1aa08bf2e018e4b7f6558bff513..6b691fef240a3eefa59f82dacbd0bc80cf0e350d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -117,6 +117,7 @@ public class PurpurWorldConfig { @@ -118,6 +118,7 @@ public class PurpurWorldConfig {
public boolean entitiesPickUpLootBypassMobGriefing = false; public boolean entitiesPickUpLootBypassMobGriefing = false;
public boolean fireballsBypassMobGriefing = false; public boolean fireballsBypassMobGriefing = false;
public boolean milkCuresBadOmen = true; public boolean milkCuresBadOmen = true;
@@ -33,7 +33,7 @@ index e183f7f2e513c5b79997db783df6d3f9ad411f2d..159a7a7d907fdef1254f64268c7fe1bc
public boolean persistentDroppableEntityDisplayNames = true; public boolean persistentDroppableEntityDisplayNames = true;
public boolean projectilesBypassMobGriefing = false; public boolean projectilesBypassMobGriefing = false;
public double tridentLoyaltyVoidReturnHeight = 0.0D; public double tridentLoyaltyVoidReturnHeight = 0.0D;
@@ -132,6 +133,7 @@ public class PurpurWorldConfig { @@ -133,6 +134,7 @@ public class PurpurWorldConfig {
entitiesPickUpLootBypassMobGriefing = getBoolean("gameplay-mechanics.entities-pick-up-loot-bypass-mob-griefing", entitiesPickUpLootBypassMobGriefing); entitiesPickUpLootBypassMobGriefing = getBoolean("gameplay-mechanics.entities-pick-up-loot-bypass-mob-griefing", entitiesPickUpLootBypassMobGriefing);
fireballsBypassMobGriefing = getBoolean("gameplay-mechanics.fireballs-bypass-mob-griefing", fireballsBypassMobGriefing); fireballsBypassMobGriefing = getBoolean("gameplay-mechanics.fireballs-bypass-mob-griefing", fireballsBypassMobGriefing);
milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen); milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);

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