mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
configurable mob size attribute (#1538)
This commit is contained in:
@@ -72,7 +72,7 @@ index 2d344df35d47b4b1ecddf32ccaa4dae41e5f58cb..2f7ed5b38e8930b3a615f160cdf4c5b0
|
||||
boolean flag1 = this.source.acceptsSuccess() && !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
|
||||
index 1bfab581e59c607c7a30eeda17c88bb2938536f2..4582215c4952c8557df0c50cc70302940eff40d7 100644
|
||||
index 7d82cc6b847124cf4225428ba310309544928148..04fd1172b47a74b16955cf93fc20f64fd056b16e 100644
|
||||
--- a/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
|
||||
@@ -92,7 +92,7 @@ index 1bfab581e59c607c7a30eeda17c88bb2938536f2..4582215c4952c8557df0c50cc7030294
|
||||
|
||||
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
|
||||
index f1e085c712e4f128c813c3cf5340e6d2e4e55ccc..0e595bf509be9ea558ab94e5cfe0de10c58bfb1c 100644
|
||||
index fee155c81df385faa474e3aec777a30375ecb07d..db8ae59dc8f1eb52c344210c03634fc0b0012e82 100644
|
||||
--- a/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
|
||||
@@ -159,7 +159,7 @@ index caf6ff33b42472d30f28629470e12889f50490cc..2047354b757cb239b5bbf8dfd8cce284
|
||||
public void 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
|
||||
index 6e1f92b45504cef0c4dcbbebf3df339ef4cad0a1..48e8b7405270632130721e87579ee2438a0f0b75 100644
|
||||
index b63e965d726a5c96ec4f3aa16016f3610bb3f95a..6f8fa47897bcbde6db6c3297f6d929dd038e45ee 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
@@ -176,6 +176,14 @@ public class Main {
|
||||
|
||||
@@ -43,7 +43,7 @@ index b43f87ff4b9853b5d4bbea5ff9686d64d9d0d26b..b66d4047b5e529f5f737efb0ff1edda8
|
||||
try {
|
||||
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
|
||||
index c868abef790aa80863721490f69087343aba13e7..e099eb16dbe2bdf73874199ad57c7027498dd4ba 100644
|
||||
index 7eea190ce8a62960ecc42ff56a4ef71b754184fb..3e912a8cf20c7a97efcbcb4fafa41827a71fa45b 100644
|
||||
--- a/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 {
|
||||
|
||||
@@ -36,7 +36,7 @@ index 92e9a5e38cc60e3ef6d7e2216bf4a85cb2464cdd..47afcbc699a992358871fe90929f71b4
|
||||
public void displayClientMessage(Component message, boolean 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
|
||||
index 3d30427e75bdfb9cf453fb5cd2a344227da1641a..18c19b6029a167658623c3cf9814bb0857338117 100644
|
||||
index ef177f21d654d69c128f3f39ea58f2d8ee598628..2642b0519e05da47694d68c19fc37e30cc2bb6ba 100644
|
||||
--- a/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 {
|
||||
|
||||
@@ -22,7 +22,7 @@ index 2767d6f97e8b314d23a8e62f22dfd396f5660d31..a64e5997b94cc8173f0512d1e282355f
|
||||
super(x, y, z);
|
||||
}
|
||||
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
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1712,6 +1712,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -34,7 +34,7 @@ index eb0a740f884fde081cabaec5a61c9b642a85a1b4..bbbd335ccefc197048350b580b407210
|
||||
this.profiler.push(() -> {
|
||||
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
|
||||
index b81ac6db8ba1ee0722e9e85f8de8ef91169a3198..bb61ccf3246ea69cf1eb097a95c3324d0802dae1 100644
|
||||
index 798016774df02c3f7ebf909c9cc125f8427a39be..df01eaebfcb759eefb512b3c7eeb861e96f88688 100644
|
||||
--- a/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.
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
index b708323c6ad3ff40e6f2af5bd24988a63918f37c..3db05bb52fef8e465e6d3575c8126521141c18c9 100644
|
||||
index 2642b0519e05da47694d68c19fc37e30cc2bb6ba..8bf5db384a283086334e739942f12e97108d8c2f 100644
|
||||
--- a/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 {
|
||||
@@ -215,7 +215,7 @@ index 6186e55014bbb9d5bedaa0e9d196879c55339d42..f4f11292d6d00f4a7c65e3e2a157bba5
|
||||
|
||||
@Override
|
||||
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
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
|
||||
@@ -183,8 +183,19 @@ public class CraftContainer extends AbstractContainerMenu {
|
||||
|
||||
@@ -78,7 +78,7 @@ index ae41c955ec6cfe284fec5f8e79cb827ea20facc0..d39ade65011030b9079bf6001196dd41
|
||||
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
|
||||
index 224a4d09bca571e6b440ea3011fbd13f785c78db..dce0df639765a1c49b23f592c08cce14278f67b7 100644
|
||||
index 82f60de72bc0f9b01eb97dbc0e296e80579b0968..07d8b2536c2c95b91467edd2ece8674eeaa6ad2f 100644
|
||||
--- a/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
|
||||
@@ -223,7 +223,7 @@ index 70c2017400168d4fef3c14462798edcfed58d4bf..3c84722c1075290b5301aa5122936d5e
|
||||
if (range < 0.0 || d < range * range) {
|
||||
return true;
|
||||
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
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -576,10 +576,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -288,10 +288,10 @@ index 5f51a9d16912ecbd9d015f5158d50563904a461f..d80e5f2280aa156bbe455f9638d84f82
|
||||
|
||||
public static int barrelRows = 3;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 767d977cf47b0c7d94c248091f3ce98d6383ae04..2f2986f9f7a241c4d7a1e065126dbbae601f7fe5 100644
|
||||
index 00c74f8b834b20e71299329833395736a3073437..05b8c7da71454399a9e7d0732885326ddb6c9a15 100644
|
||||
--- a/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;
|
||||
}
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ index d6431376184e5650b370cbab204e28bc31f4dac6..9ebe1f1797b5be562bc4f6d92b9a4d60
|
||||
public final boolean spawnNpcs = this.get("spawn-npcs", 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
|
||||
index 0d40596884f3b9ecfe3e7267e204f4003c50cab2..32d3dee93bb5abab7100638ef528217bfffa284f 100644
|
||||
index 2047354b757cb239b5bbf8dfd8cce284645ad5ce..90e12b1eb1180d066e7162bef0adeb9d3dec8721 100644
|
||||
--- a/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 {
|
||||
|
||||
@@ -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
|
||||
index 4c71a0eedb99cf7de16335f6f260689abf4c92c7..d86bb821814e439fa79e17aec7d70e464f8e1912 100644
|
||||
index db8507f11ca46c642700a8d9db70e0296921ffa8..6676970d434b8c1200d8ec3c0304084b640a7eb8 100644
|
||||
--- a/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
|
||||
|
||||
@@ -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
|
||||
index 842b0cec0397d7ae5166617627340ffac0e35db1..02257d9c7ceb81b8fccca0013ef5090feac1e19e 100644
|
||||
index cb61462d4691a055a4b25f7b953609d8a154fdfe..9d6ca8c6f009cb34fab07cc4d17a6dd5aa45bd12 100644
|
||||
--- a/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
|
||||
|
||||
@@ -100,10 +100,10 @@ index 4f190a40b8474aa06a92c8afcc06d0044120ff7b..66c17bdfecdfbcfb2d853e561432dd51
|
||||
int i = 15 + worldserver.random.nextInt(15) + worldserver.random.nextInt(15);
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 2f2986f9f7a241c4d7a1e065126dbbae601f7fe5..b51c96bdc9871d7ef7d7eff2b24b0f516bb97236 100644
|
||||
index 05b8c7da71454399a9e7d0732885326ddb6c9a15..29a167bf006f420162773ff3b3affe7691b9ba93 100644
|
||||
--- a/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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
index b51c96bdc9871d7ef7d7eff2b24b0f516bb97236..9c0362396ae2646ee9caf6756ecdef3a605328a7 100644
|
||||
index 29a167bf006f420162773ff3b3affe7691b9ba93..cc1f5ca8b68ef4a0ad84be49aa2859a20db9cda0 100644
|
||||
--- a/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 {
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
index 48e8b7405270632130721e87579ee2438a0f0b75..930614ebfd3d6b6e011a58bbd5310620c02582db 100644
|
||||
index 6f8fa47897bcbde6db6c3297f6d929dd038e45ee..d7df5bd6c7342e6b21d53c1b3ae9e9f3b52fc43c 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
@@ -273,7 +273,7 @@ public class Main {
|
||||
|
||||
@@ -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
|
||||
index 9602e59cbebeedc85ea75d2a41d3e74f0ff45b46..0d211d4c120186667682dbb5f320ec45ef6c235d 100644
|
||||
index 48035556b0743f7641d77ec3a42c860f1e1ee6c3..39367523621c330eda59905d1f2c129288a1026c 100644
|
||||
--- a/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 {
|
||||
@@ -34,7 +34,7 @@ index 9602e59cbebeedc85ea75d2a41d3e74f0ff45b46..0d211d4c120186667682dbb5f320ec45
|
||||
}
|
||||
|
||||
@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);
|
||||
}
|
||||
|
||||
@@ -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
|
||||
index 9c0362396ae2646ee9caf6756ecdef3a605328a7..d60746b2a05a93683be845bdf36131c71091ed9b 100644
|
||||
index cdef3af8a48d640a8180b5a5658b0ef46087095f..22248cd0752812739df8e7ab911ef04b3d2ed458 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -576,6 +576,10 @@ public class PurpurWorldConfig {
|
||||
public double giantMovementSpeed = 0.5D;
|
||||
@@ -622,6 +622,10 @@ public class PurpurWorldConfig {
|
||||
public double giantAttackDamage = 50.0D;
|
||||
public double giantMaxHealth = 100.0D;
|
||||
public double giantScale = 1.0D;
|
||||
+ public float giantStepHeight = 2.0F;
|
||||
+ public float giantJumpHeight = 1.0F;
|
||||
+ public boolean giantHaveAI = false;
|
||||
@@ -85,10 +85,10 @@ index 9c0362396ae2646ee9caf6756ecdef3a605328a7..d60746b2a05a93683be845bdf36131c7
|
||||
private void giantSettings() {
|
||||
giantRidable = getBoolean("mobs.giant.ridable", giantRidable);
|
||||
giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater);
|
||||
@@ -592,6 +596,10 @@ public class PurpurWorldConfig {
|
||||
set("mobs.giant.attributes.max_health", oldValue);
|
||||
@@ -639,6 +643,10 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
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);
|
||||
+ giantJumpHeight = (float) getDouble("mobs.giant.jump-height", giantJumpHeight);
|
||||
+ giantHaveAI = getBoolean("mobs.giant.have-ai", giantHaveAI);
|
||||
|
||||
@@ -30,10 +30,10 @@ index df01eaebfcb759eefb512b3c7eeb861e96f88688..f1cedc22891cf2c91115188545d75256
|
||||
entityhorseskeleton.setPos((double) blockposition.getX(), (double) blockposition.getY(), (double) blockposition.getZ());
|
||||
this.addFreshEntity(entityhorseskeleton, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.LIGHTNING); // CraftBukkit
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index b5ca3f24e147b360f634da0331547e866d7ae175..670b1a2e817d665ba4705febf01d551a24fc4543 100644
|
||||
index 22248cd0752812739df8e7ab911ef04b3d2ed458..3b6089eaf8a9af932c7bcc9a37fc7c077eb79870 100644
|
||||
--- a/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 zombieHorseMovementSpeedMin = 0.2D;
|
||||
public double zombieHorseMovementSpeedMax = 0.2D;
|
||||
@@ -41,7 +41,7 @@ index b5ca3f24e147b360f634da0331547e866d7ae175..670b1a2e817d665ba4705febf01d551a
|
||||
private void zombieHorseSettings() {
|
||||
zombieHorseRidable = getBoolean("mobs.zombie_horse.ridable", zombieHorseRidable);
|
||||
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);
|
||||
zombieHorseMovementSpeedMin = getDouble("mobs.zombie_horse.attributes.movement_speed.min", zombieHorseMovementSpeedMin);
|
||||
zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax);
|
||||
|
||||
@@ -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
|
||||
index 4cb68050f93027225b63176724b2c882902d8b71..a3b8b874dba75b0b2dfb89d8a31f875c396c9a9a 100644
|
||||
index 2e14fb23e36a335bbff0b54cf63c5c096869ad25..83748963485a92dd771eca976a12476f71b968c2 100644
|
||||
--- a/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 {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.creeperMaxHealth);
|
||||
@@ -258,6 +258,14 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
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) {
|
||||
@@ -24,21 +24,21 @@ index 4cb68050f93027225b63176724b2c882902d8b71..a3b8b874dba75b0b2dfb89d8a31f875c
|
||||
protected SoundEvent getHurtSound(DamageSource source) {
|
||||
return SoundEvents.CREEPER_HURT;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index f0ea2bcb88630395d6f2bf2e7a658abcad124be4..7d3380eb407c463327f82d06b24b94af8d4754ae 100644
|
||||
index 3b6089eaf8a9af932c7bcc9a37fc7c077eb79870..6722c1bd54c28844c853d477180692a85732e631 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -367,6 +367,7 @@ public class PurpurWorldConfig {
|
||||
public boolean creeperRidableInWater = true;
|
||||
@@ -395,6 +395,7 @@ public class PurpurWorldConfig {
|
||||
public boolean creeperControllable = true;
|
||||
public double creeperMaxHealth = 20.0D;
|
||||
public double creeperScale = 1.0D;
|
||||
+ public double creeperChargedChance = 0.0D;
|
||||
private void creeperSettings() {
|
||||
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
|
||||
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
|
||||
@@ -377,6 +378,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.creeper.attributes.max_health", oldValue);
|
||||
@@ -406,6 +407,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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
index 826484123d864172a73e3d0d6e16923533748ea1..6cb70392a86b166c8f8a8f3944f7abe8521e620f 100644
|
||||
index 6f8c6ebf96f1232e127e957f8f392a0656805555..e06445c84aa632429c1647cabab73751f73d2e6c 100644
|
||||
--- a/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);
|
||||
@@ -33,22 +33,22 @@ index 826484123d864172a73e3d0d6e16923533748ea1..6cb70392a86b166c8f8a8f3944f7abe8
|
||||
int i = world.getRandom().nextInt(100);
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 7d3380eb407c463327f82d06b24b94af8d4754ae..567d2760551326764a3d62f7a933a767f0579227 100644
|
||||
index 6722c1bd54c28844c853d477180692a85732e631..141c96566773d4cce0423e186d346043c8f65fad 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1010,6 +1010,8 @@ public class PurpurWorldConfig {
|
||||
public boolean rabbitRidableInWater = true;
|
||||
@@ -1092,6 +1092,8 @@ public class PurpurWorldConfig {
|
||||
public boolean rabbitControllable = true;
|
||||
public double rabbitMaxHealth = 3.0D;
|
||||
public double rabbitScale = 1.0D;
|
||||
+ public double rabbitNaturalToast = 0.0D;
|
||||
+ public double rabbitNaturalKiller = 0.0D;
|
||||
private void rabbitSettings() {
|
||||
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
|
||||
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
|
||||
@@ -1020,6 +1022,8 @@ public class PurpurWorldConfig {
|
||||
set("mobs.rabbit.attributes.max_health", oldValue);
|
||||
@@ -1103,6 +1105,8 @@ 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);
|
||||
+ rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
|
||||
}
|
||||
|
||||
@@ -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
|
||||
index 473c857b83b87d824800eb91b2019bcf106189ae..52c11b3621a9b834de8305ff98ad7671b7905055 100644
|
||||
index 1133863e0a5f65ec68bf0b11d55a3040b4fde4ff..98e9ad371381350dc3bff7e2a88224a2812d6419 100644
|
||||
--- a/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() {
|
||||
@@ -20,7 +20,7 @@ index 473c857b83b87d824800eb91b2019bcf106189ae..52c11b3621a9b834de8305ff98ad7671
|
||||
if (this.getVariant() == Fox.Type.RED) {
|
||||
this.targetSelector.addGoal(4, this.landTargetGoal);
|
||||
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) {
|
||||
this.entityData.set(Fox.DATA_TYPE_ID, variant.getId());
|
||||
@@ -28,7 +28,7 @@ index 473c857b83b87d824800eb91b2019bcf106189ae..52c11b3621a9b834de8305ff98ad7671
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
@@ -59,21 +59,21 @@ index 473c857b83b87d824800eb91b2019bcf106189ae..52c11b3621a9b834de8305ff98ad7671
|
||||
// Paper start - Cancellable death event
|
||||
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
|
||||
index 567d2760551326764a3d62f7a933a767f0579227..e1da2a710808ecfc30c8b5594b3673518a475b0b 100644
|
||||
index 141c96566773d4cce0423e186d346043c8f65fad..d6e3ab58756bd8e0c3d2a7aa651a22545db6749e 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -531,6 +531,7 @@ public class PurpurWorldConfig {
|
||||
public boolean foxRidableInWater = true;
|
||||
@@ -573,6 +573,7 @@ public class PurpurWorldConfig {
|
||||
public boolean foxControllable = true;
|
||||
public double foxMaxHealth = 10.0D;
|
||||
public double foxScale = 1.0D;
|
||||
+ public boolean foxTypeChangesWithTulips = false;
|
||||
private void foxSettings() {
|
||||
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
|
||||
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
|
||||
@@ -541,6 +542,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.fox.attributes.max_health", oldValue);
|
||||
@@ -584,6 +585,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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
index 9bb4fd13e3c60ed889f4acd941b48922c9a4e8df..590b015102bd1ea22da34448de2f1b7581836325 100644
|
||||
index 232f392cf1a1c278acdbbe537c76097ae9610027..cd5856d3c5fdefb22f1ae146e5b64d9d4a64e07c 100644
|
||||
--- a/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 {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.polarBearMaxHealth);
|
||||
@@ -99,6 +99,27 @@ public class PolarBear extends Animal implements NeutralMob {
|
||||
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.polarBearScale);
|
||||
}
|
||||
|
||||
+ public boolean canMate(Animal other) {
|
||||
@@ -36,7 +36,7 @@ index 9bb4fd13e3c60ed889f4acd941b48922c9a4e8df..590b015102bd1ea22da34448de2f1b75
|
||||
@Nullable
|
||||
@Override
|
||||
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
|
||||
public boolean isFood(ItemStack stack) {
|
||||
@@ -45,7 +45,7 @@ index 9bb4fd13e3c60ed889f4acd941b48922c9a4e8df..590b015102bd1ea22da34448de2f1b75
|
||||
}
|
||||
|
||||
@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 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(6, new LookAtPlayerGoal(this, Player.class, 6.0F));
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index e1da2a710808ecfc30c8b5594b3673518a475b0b..56198935e7df874abcd6801e351a5e56e89daf13 100644
|
||||
index d6e3ab58756bd8e0c3d2a7aa651a22545db6749e..fe9b0ff2a73dc0f49b46738f07a7c58b622399d6 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -982,6 +982,8 @@ public class PurpurWorldConfig {
|
||||
public boolean polarBearRidableInWater = true;
|
||||
@@ -1060,6 +1060,8 @@ public class PurpurWorldConfig {
|
||||
public boolean polarBearControllable = true;
|
||||
public double polarBearMaxHealth = 30.0D;
|
||||
public double polarBearScale = 1.0D;
|
||||
+ public String polarBearBreedableItemString = "";
|
||||
+ public Item polarBearBreedableItem = null;
|
||||
private void polarBearSettings() {
|
||||
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
|
||||
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
|
||||
@@ -992,6 +994,9 @@ public class PurpurWorldConfig {
|
||||
set("mobs.polar_bear.attributes.max_health", oldValue);
|
||||
@@ -1071,6 +1073,9 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
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);
|
||||
+ Item item = BuiltInRegistries.ITEM.get(ResourceLocation.parse(polarBearBreedableItemString));
|
||||
+ if (item != Items.AIR) polarBearBreedableItem = item;
|
||||
|
||||
@@ -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
|
||||
index ca213cb0b8618b85c67066236eaba87c0439376f..1ff256f2a40403f0fbefc714e3609890be3d60b6 100644
|
||||
index 08fd9551baa462c2d3ac2bc20622c7867b5c6444..10101c733154f9e9c725e60e565f735bda14bf5f 100644
|
||||
--- a/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 {
|
||||
@Override
|
||||
@@ -74,6 +74,9 @@ public class Chicken extends Animal {
|
||||
public void initAttributes() {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.chickenMaxHealth);
|
||||
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.chickenScale);
|
||||
+ if (level().purpurConfig.chickenRetaliate) {
|
||||
+ this.getAttribute(Attributes.ATTACK_DAMAGE).setBaseValue(2.0D);
|
||||
+ }
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
@@ -81,7 +84,7 @@ public class Chicken extends Animal {
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
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(3, new TemptGoal(this, 1.0D, (itemstack) -> {
|
||||
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(6, new LookAtPlayerGoal(this, Player.class, 6.0F));
|
||||
this.goalSelector.addGoal(7, new RandomLookAroundGoal(this));
|
||||
@@ -41,7 +42,7 @@ index ca213cb0b8618b85c67066236eaba87c0439376f..1ff256f2a40403f0fbefc714e3609890
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -97,7 +108,7 @@ public class Chicken extends Animal {
|
||||
@@ -98,7 +109,7 @@ public class Chicken extends Animal {
|
||||
}
|
||||
|
||||
public static AttributeSupplier.Builder createAttributes() {
|
||||
@@ -51,21 +52,21 @@ index ca213cb0b8618b85c67066236eaba87c0439376f..1ff256f2a40403f0fbefc714e3609890
|
||||
|
||||
@Override
|
||||
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
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -321,6 +321,7 @@ public class PurpurWorldConfig {
|
||||
public boolean chickenRidableInWater = false;
|
||||
@@ -343,6 +343,7 @@ public class PurpurWorldConfig {
|
||||
public boolean chickenControllable = true;
|
||||
public double chickenMaxHealth = 4.0D;
|
||||
public double chickenScale = 1.0D;
|
||||
+ public boolean chickenRetaliate = false;
|
||||
private void chickenSettings() {
|
||||
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
|
||||
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
|
||||
@@ -331,6 +332,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.chicken.attributes.max_health", oldValue);
|
||||
@@ -354,6 +355,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
@@ -38,10 +38,10 @@ index 2f398750bfee5758ad8b1367b6fc14364e4de776..9e6e29b9eddc94b50a32713e8ba1a53d
|
||||
if (!this.canTick) {
|
||||
if (this.noTickPoseDirty) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index b343a05b3d8b09e761bafcfa960d9b769c168c77..b6e8c4d1814ab07c961e736e2d1b9155c5339a52 100644
|
||||
index 3767c19bf0000658acba4632d141525304e5f10e..e9bbf88edaf3f1f3bce0503a3ba34e5b0d84acca 100644
|
||||
--- a/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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
index b6e8c4d1814ab07c961e736e2d1b9155c5339a52..17f54a4de62555e2c6d86275ee9dd7ca51dea147 100644
|
||||
index e5c4ca83392f398e24be193a0ed77daa85db9913..7da688e575a1c4ca35c0d23401bf52f3bbbed6ae 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -294,6 +294,9 @@ public class PurpurWorldConfig {
|
||||
public boolean catRidableInWater = true;
|
||||
@@ -312,6 +312,9 @@ public class PurpurWorldConfig {
|
||||
public boolean catControllable = true;
|
||||
public double catMaxHealth = 10.0D;
|
||||
public double catScale = 1.0D;
|
||||
+ public int catSpawnDelay = 1200;
|
||||
+ public int catSpawnSwampHutScanRange = 16;
|
||||
+ public int catSpawnVillageScanRange = 48;
|
||||
private void catSettings() {
|
||||
catRidable = getBoolean("mobs.cat.ridable", catRidable);
|
||||
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
|
||||
@@ -304,6 +307,9 @@ public class PurpurWorldConfig {
|
||||
set("mobs.cat.attributes.max_health", oldValue);
|
||||
@@ -323,6 +326,9 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
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);
|
||||
+ catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange);
|
||||
+ catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange);
|
||||
|
||||
@@ -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
|
||||
index 478663c16a5763dda9a6c3edbafc843b8dfe06f2..a1036e44116ef0848fbb438526f9a117ee2bfaa9 100644
|
||||
index 854348e18db134be2ed86272e269679a14c0e725..c9f63f3716b37dbf5f4bb4c66b78ba0b97edd686 100644
|
||||
--- a/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(2, new BreedGoal(this, 1.0D));
|
||||
this.goalSelector.addGoal(3, new TemptGoal(this, 1.25D, (itemstack) -> {
|
||||
@@ -17,7 +17,7 @@ index 478663c16a5763dda9a6c3edbafc843b8dfe06f2..a1036e44116ef0848fbb438526f9a117
|
||||
}, false));
|
||||
this.goalSelector.addGoal(4, new FollowParentGoal(this, 1.25D));
|
||||
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);
|
||||
return InteractionResult.sidedSuccess(this.level().isClientSide);
|
||||
@@ -28,7 +28,7 @@ index 478663c16a5763dda9a6c3edbafc843b8dfe06f2..a1036e44116ef0848fbb438526f9a117
|
||||
} else {
|
||||
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) {
|
||||
return this.isBaby() ? Cow.BABY_DIMENSIONS : super.getDefaultDimensions(pose);
|
||||
}
|
||||
@@ -96,21 +96,21 @@ index 478663c16a5763dda9a6c3edbafc843b8dfe06f2..a1036e44116ef0848fbb438526f9a117
|
||||
+ // Purpur end
|
||||
}
|
||||
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
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -364,6 +364,7 @@ public class PurpurWorldConfig {
|
||||
public boolean cowRidableInWater = true;
|
||||
@@ -390,6 +390,7 @@ public class PurpurWorldConfig {
|
||||
public boolean cowControllable = true;
|
||||
public double cowMaxHealth = 10.0D;
|
||||
public double cowScale = 1.0D;
|
||||
+ public int cowFeedMushrooms = 0;
|
||||
private void cowSettings() {
|
||||
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
|
||||
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
|
||||
@@ -374,6 +375,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.cow.attributes.max_health", oldValue);
|
||||
@@ -401,6 +402,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
index 0f7e77e4f72be611a34ebe00d9979179519c54d9..7b5080993904a41083aa534a87a6eed29afe520c 100644
|
||||
index d45346a32298879c386246b804763353fe005fb8..51ffdfa038cb1be279da71d691d54728731c186e 100644
|
||||
--- a/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) {
|
||||
boolean flag = this.isFood(player.getItemInHand(hand));
|
||||
|
||||
@@ -27,21 +27,21 @@ index 0f7e77e4f72be611a34ebe00d9979179519c54d9..7b5080993904a41083aa534a87a6eed2
|
||||
if (!this.level().isClientSide) {
|
||||
player.startRiding(this);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 7177f38088d262e4be8718d234f895990bbd7887..2cc17c7991c645e5cd2d13cecc552baf91b7bc8a 100644
|
||||
index 4d85d928c05d488b5fc6efa96e65a5e31455d261..b5f30231f2b163271e677eaba38154b0e5cfa7ed 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -933,6 +933,7 @@ public class PurpurWorldConfig {
|
||||
public boolean pigRidableInWater = false;
|
||||
@@ -1003,6 +1003,7 @@ public class PurpurWorldConfig {
|
||||
public boolean pigControllable = true;
|
||||
public double pigMaxHealth = 10.0D;
|
||||
public double pigScale = 1.0D;
|
||||
+ public boolean pigGiveSaddleBack = false;
|
||||
private void pigSettings() {
|
||||
pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
|
||||
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
|
||||
@@ -943,6 +944,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.pig.attributes.max_health", oldValue);
|
||||
@@ -1014,6 +1015,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
index a54893d51cc1ce204e59a6ffe8b84228775af4da..0060414b1d5afde56372ce121e9d37a1668cd03b 100644
|
||||
index 9be197302153ea384ab5459d586d497fb9d69500..dc5af0b71ec82a8f22e64b03950e35845110a331 100644
|
||||
--- a/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);
|
||||
@@ -24,21 +24,21 @@ index a54893d51cc1ce204e59a6ffe8b84228775af4da..0060414b1d5afde56372ce121e9d37a1
|
||||
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
|
||||
index bf5ba934de365e7139a59db527aa54e54261eb77..8b380efe1e3e382c10493afba292e1c06251e557 100644
|
||||
index b5f30231f2b163271e677eaba38154b0e5cfa7ed..7c5b7e7df07117d7e6c3a1fdba8d0576d17f338f 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1202,6 +1202,7 @@ public class PurpurWorldConfig {
|
||||
public boolean snowGolemControllable = true;
|
||||
@@ -1298,6 +1298,7 @@ public class PurpurWorldConfig {
|
||||
public boolean snowGolemLeaveTrailWhenRidden = false;
|
||||
public double snowGolemMaxHealth = 4.0D;
|
||||
public double snowGolemScale = 1.0D;
|
||||
+ public boolean snowGolemPutPumpkinBack = false;
|
||||
private void snowGolemSettings() {
|
||||
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
|
||||
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
|
||||
@@ -1213,6 +1214,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.snow_golem.attributes.max_health", oldValue);
|
||||
@@ -1310,6 +1311,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
index 4218c84f3bef499bd6ebd4df224d4dcc95f5ce6c..bf2591f163b8482d35a6e532004677199685a593 100644
|
||||
index 541b79974e77c1cdb3a66fd1c52b9fdd86e35086..0554ee8f76f58b72b7cc42a6165660854095045a 100644
|
||||
--- a/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 {
|
||||
@@ -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
|
||||
index 8b5a4141e414bf1e58237532bbc47729af07c4e8..382214ecf9a3d58b2df9cc46a45c0e24c56fe74f 100644
|
||||
index 7c5b7e7df07117d7e6c3a1fdba8d0576d17f338f..89cfedcbb45cd9a3ff9e795828bbc5ae8efa7d6d 100644
|
||||
--- a/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 double enderDragonMaxY = 320D;
|
||||
public double enderDragonMaxHealth = 200.0D;
|
||||
@@ -29,7 +29,7 @@ index 8b5a4141e414bf1e58237532bbc47729af07c4e8..382214ecf9a3d58b2df9cc46a45c0e24
|
||||
private void enderDragonSettings() {
|
||||
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
|
||||
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);
|
||||
}
|
||||
enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth);
|
||||
|
||||
@@ -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
|
||||
index 382214ecf9a3d58b2df9cc46a45c0e24c56fe74f..9a463e1e47033509cc1fb874f6046f46c66ae172 100644
|
||||
index 3f413660380bc31ce6b47798720433929ddcf32c..8db29e6a4abe42ccea3294aaad5258a88518a69b 100644
|
||||
--- a/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 {
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -149,10 +149,10 @@ index a768b07dae4bf75b68e3bc1d3de4b68fc7d23842..1b825b9012e24b12f83883f2056839c1
|
||||
protected ResourceKey<LootTable> drops;
|
||||
|
||||
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
|
||||
+++ 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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
index 8bad6672c689c7bc65e5941887b3826ad99e36bb..a3f400336e0013dab8845492b0e124f4414cf59f 100644
|
||||
index 305fb567e5407bbdc9fbc30bf8ce2839e8fb15c9..d6c550b11c99dcc5beced14f03317e5973de6550 100644
|
||||
--- a/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 {
|
||||
@@ -27,10 +27,10 @@ index 8bad6672c689c7bc65e5941887b3826ad99e36bb..a3f400336e0013dab8845492b0e124f4
|
||||
// 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, () -> {
|
||||
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
|
||||
+++ 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);
|
||||
}
|
||||
|
||||
|
||||
@@ -19,10 +19,10 @@ index 43c9dea6b0db7f8d6070dedcb472883ab46d9eaf..15a1f9ffbf640bffadca97e28f72b6a5
|
||||
|
||||
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
|
||||
index 9faca17345d8ea25e19ebb89fda97f5552e3f8d6..c297a379867f56f6b9d3c5487a9d666daf7cc78d 100644
|
||||
index 8e31ffae5263a2394f9ae04d8ae7f168274da6ff..a85591019e39b4c179b7abe9b3bda864bdbe54bc 100644
|
||||
--- a/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;
|
||||
|
||||
@@ -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
|
||||
index 3db05bb52fef8e465e6d3575c8126521141c18c9..fe0f7f6a1b9a4c2b298a0e0d9172fc8f04d16459 100644
|
||||
index 8bf5db384a283086334e739942f12e97108d8c2f..7aec825af7d07b1701519e413432739612527747 100644
|
||||
--- a/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 {
|
||||
|
||||
@@ -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
|
||||
index d86bb821814e439fa79e17aec7d70e464f8e1912..753148b495d6623112fa860c9f6cbca9c6c0e986 100644
|
||||
index 6676970d434b8c1200d8ec3c0304084b640a7eb8..9835183dc91230f86200eb18cf9ce9a26e5808ab 100644
|
||||
--- a/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
|
||||
|
||||
@@ -18,10 +18,10 @@ index cb71f468e90f076caf2c0dcc5f2ba2745c737c22..c8dbca9573060f7d9c2a0a96a532f06d
|
||||
if (!this.level().isClientSide && this.pickup == AbstractArrow.Pickup.ALLOWED) {
|
||||
this.spawnAtLocation(this.getPickupItem(), 0.1F);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index c297a379867f56f6b9d3c5487a9d666daf7cc78d..d1058d129a7b1167092a35f6f1ab489e699d1510 100644
|
||||
index a85591019e39b4c179b7abe9b3bda864bdbe54bc..26598c983cef2e08d1836c77129ccf02990790d4 100644
|
||||
--- a/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 milkCuresBadOmen = true;
|
||||
|
||||
@@ -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
|
||||
index a3b8b874dba75b0b2dfb89d8a31f875c396c9a9a..5ff5959bfd8e3fb90c4b4f9edffef1b631400574 100644
|
||||
index 83748963485a92dd771eca976a12476f71b968c2..d498b12998f04cf1a4332a358b374d48f8b3b7eb 100644
|
||||
--- a/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()) {
|
||||
// CraftBukkit end
|
||||
this.dead = true;
|
||||
@@ -18,10 +18,10 @@ index a3b8b874dba75b0b2dfb89d8a31f875c396c9a9a..5ff5959bfd8e3fb90c4b4f9edffef1b6
|
||||
this.triggerOnDeathMobEffects(Entity.RemovalReason.KILLED);
|
||||
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
|
||||
index 37b1d81f6a77affe345a78fefbd86a156e9db193..12422c069c64bae0e16b3edd39e8dbe574704584 100644
|
||||
index 819acd711b3446231ea0c74f8c170098315dbf6c..6306d0452f0bfcb20a90e0f46b34fd7fc0426e10 100644
|
||||
--- a/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
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -571,6 +572,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -572,6 +573,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
|
||||
@Override
|
||||
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
|
||||
index d1058d129a7b1167092a35f6f1ab489e699d1510..a35d9ed67ce320b996981696dc9f515712f52204 100644
|
||||
index 9e97ab198ad30002f0513d766a1286dadb738e23..016b4f2074efa57a597b765b1b4a2474ab873c00 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -459,6 +459,7 @@ public class PurpurWorldConfig {
|
||||
public boolean creeperControllable = true;
|
||||
@@ -487,6 +487,7 @@ public class PurpurWorldConfig {
|
||||
public double creeperMaxHealth = 20.0D;
|
||||
public double creeperScale = 1.0D;
|
||||
public double creeperChargedChance = 0.0D;
|
||||
+ public boolean creeperAllowGriefing = true;
|
||||
private void creeperSettings() {
|
||||
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
|
||||
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);
|
||||
creeperScale = Mth.clamp(getDouble("mobs.creeper.attributes.scale", creeperScale), 0.0625D, 16.0D);
|
||||
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
|
||||
+ creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing);
|
||||
}
|
||||
|
||||
public boolean dolphinRidable = false;
|
||||
@@ -576,6 +578,7 @@ public class PurpurWorldConfig {
|
||||
public boolean endermanRidableInWater = true;
|
||||
@@ -612,6 +614,7 @@ public class PurpurWorldConfig {
|
||||
public boolean endermanControllable = true;
|
||||
public double endermanMaxHealth = 40.0D;
|
||||
public double endermanScale = 1.0D;
|
||||
+ public boolean endermanAllowGriefing = true;
|
||||
private void endermanSettings() {
|
||||
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
|
||||
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
|
||||
@@ -586,6 +589,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.enderman.attributes.max_health", oldValue);
|
||||
@@ -623,6 +626,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);
|
||||
}
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ index 49b35fab8ee98a384ee12d36bbe2ac813342f1d6..142bcf71448e2c54991fd144269f74c7
|
||||
// CraftBukkit start
|
||||
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
|
||||
index 97071390c66aaeb37c41778d6b7f8a5af4522274..4ae45a7dae279cb1b8048ce4eff2aa1ae4e19f68 100644
|
||||
index 93f6097c0dd749e7bd8b129bae09641a36c85b74..87f1fbf405e5b71a25600030a98d8f1f187e0044 100644
|
||||
--- a/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
|
||||
@@ -54,37 +54,37 @@ index a4ca761f6e8e6e8f86fc20ce5e3dcf92a66b3f2a..6990d6dc306b1d25544793b365fd6f7b
|
||||
this.goalSelector.addGoal(8, new WaterAvoidingRandomStrollGoal(this, 0.35D));
|
||||
this.goalSelector.addGoal(9, new InteractGoal(this, Player.class, 3.0F, 1.0F));
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index fcc651f3175257280c52a543260bdac7940982cd..5490a51a959eb635e5bbb0f6720c979658817f1f 100644
|
||||
index 016b4f2074efa57a597b765b1b4a2474ab873c00..d40b9bdb60ec1de2052beedb3abd1b0efdbaa390 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1461,6 +1461,7 @@ public class PurpurWorldConfig {
|
||||
public boolean villagerRidableInWater = true;
|
||||
@@ -1575,6 +1575,7 @@ public class PurpurWorldConfig {
|
||||
public boolean villagerControllable = true;
|
||||
public double villagerMaxHealth = 20.0D;
|
||||
public double villagerScale = 1.0D;
|
||||
+ public boolean villagerFollowEmeraldBlock = false;
|
||||
private void villagerSettings() {
|
||||
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
|
||||
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
|
||||
@@ -1471,6 +1472,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.villager.attributes.max_health", oldValue);
|
||||
@@ -1586,6 +1587,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);
|
||||
}
|
||||
|
||||
public boolean vindicatorRidable = false;
|
||||
@@ -1493,6 +1495,7 @@ public class PurpurWorldConfig {
|
||||
public boolean wanderingTraderRidableInWater = true;
|
||||
@@ -1611,6 +1613,7 @@ public class PurpurWorldConfig {
|
||||
public boolean wanderingTraderControllable = true;
|
||||
public double wanderingTraderMaxHealth = 20.0D;
|
||||
public double wanderingTraderScale = 1.0D;
|
||||
+ public boolean wanderingTraderFollowEmeraldBlock = false;
|
||||
private void wanderingTraderSettings() {
|
||||
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
|
||||
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
|
||||
@@ -1503,6 +1506,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.wandering_trader.attributes.max_health", oldValue);
|
||||
@@ -1622,6 +1625,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ index 66f971c14efe9ecac26e84d031334f9bdeb87095..5d910738b610041487fc63f1657b827c
|
||||
// Paper start - Expand EntityUnleashEvent
|
||||
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
|
||||
index 4ae45a7dae279cb1b8048ce4eff2aa1ae4e19f68..33c0ac18fa4c5b47d60cc774fe72d2d68c14e025 100644
|
||||
index 87f1fbf405e5b71a25600030a98d8f1f187e0044..aa17159f54402dc2bb0f8336ef79614186f1ddd1 100644
|
||||
--- a/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
|
||||
@@ -49,36 +49,36 @@ index 6990d6dc306b1d25544793b365fd6f7be8a37201..0d5e828a7fb6fd6facc04a27175541ac
|
||||
|
||||
@Override
|
||||
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
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1462,6 +1462,7 @@ public class PurpurWorldConfig {
|
||||
public boolean villagerControllable = true;
|
||||
@@ -1576,6 +1576,7 @@ public class PurpurWorldConfig {
|
||||
public double villagerMaxHealth = 20.0D;
|
||||
public double villagerScale = 1.0D;
|
||||
public boolean villagerFollowEmeraldBlock = false;
|
||||
+ public boolean villagerCanBeLeashed = false;
|
||||
private void villagerSettings() {
|
||||
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
|
||||
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);
|
||||
villagerScale = Mth.clamp(getDouble("mobs.villager.attributes.scale", villagerScale), 0.0625D, 16.0D);
|
||||
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
|
||||
+ villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
|
||||
}
|
||||
|
||||
public boolean vindicatorRidable = false;
|
||||
@@ -1496,6 +1498,7 @@ public class PurpurWorldConfig {
|
||||
public boolean wanderingTraderControllable = true;
|
||||
@@ -1614,6 +1616,7 @@ public class PurpurWorldConfig {
|
||||
public double wanderingTraderMaxHealth = 20.0D;
|
||||
public double wanderingTraderScale = 1.0D;
|
||||
public boolean wanderingTraderFollowEmeraldBlock = false;
|
||||
+ public boolean wanderingTraderCanBeLeashed = false;
|
||||
private void wanderingTraderSettings() {
|
||||
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
|
||||
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);
|
||||
wanderingTraderScale = Mth.clamp(getDouble("mobs.wandering_trader.attributes.scale", wanderingTraderScale), 0.0625D, 16.0D);
|
||||
wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock);
|
||||
+ wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed);
|
||||
}
|
||||
|
||||
@@ -67,10 +67,10 @@ index 109f71401c65f476ccf6813137386fc9fef10254..9dcdb2f4001115db0c26fdbf86531dbe
|
||||
@Override
|
||||
protected void beforeDestroyingBlock(LevelAccessor world, BlockPos pos, BlockState state, BlockPos source) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index a15dd3994240a4b48558f8d92a546a24153419e8..40402d33fe13a779cd84977ea1c8eb13484c76d2 100644
|
||||
index d94587de6b67046fc2d38044e96b0599906427c3..812ba116157875735fc95bf8d59e3ad7959cb567 100644
|
||||
--- a/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);
|
||||
}
|
||||
|
||||
@@ -82,7 +82,7 @@ index a15dd3994240a4b48558f8d92a546a24153419e8..40402d33fe13a779cd84977ea1c8eb13
|
||||
public boolean turtleEggsBreakFromExpOrbs = false;
|
||||
public boolean turtleEggsBreakFromItems = 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);
|
||||
}
|
||||
|
||||
|
||||
@@ -18,10 +18,10 @@ index 4c230136d832d50ae16ffa037b0b30ff1101b50a..2d492d849ff73a738dfbcb16507feb89
|
||||
|
||||
@Override
|
||||
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
|
||||
+++ 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;
|
||||
|
||||
@@ -32,10 +32,10 @@ index 9ef4ab973508eb139f7a44feb4bd484d8e0e03cd..025309a47e9683ec29cd94f997663b7f
|
||||
return 0;
|
||||
}
|
||||
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
|
||||
+++ 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 idleTimeoutUpdateTabList = false;
|
||||
public boolean idleTimeoutTargetPlayer = true;
|
||||
@@ -44,7 +44,7 @@ index 9206ea37f1122a878952516ac23bc68811276735..990aa0a71076789af0eba7ed22c2f525
|
||||
private void playerSettings() {
|
||||
if (PurpurConfig.version < 19) {
|
||||
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);
|
||||
idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList);
|
||||
idleTimeoutTargetPlayer = getBoolean("gameplay-mechanics.player.idle-timeout.mobs-target", idleTimeoutTargetPlayer);
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable void damage height and damage
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index b65ae7b4ddc7a1f3d2f66d63a62b766f5803b5ad..0989543cd39e337b2a4abb3184a623fc0ae39202 100644
|
||||
index 5d910738b610041487fc63f1657b827c4ca03107..44149646438b03b85c300e9fbb5982c998fa32de 100644
|
||||
--- a/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
|
||||
@@ -31,10 +31,10 @@ index d6c550b11c99dcc5beced14f03317e5973de6550..f51d4d93ce91eff11889f814256fdef3
|
||||
|
||||
protected void updateSwingTime() {
|
||||
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
|
||||
+++ 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 milkCuresBadOmen = true;
|
||||
public double tridentLoyaltyVoidReturnHeight = 0.0D;
|
||||
|
||||
@@ -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
|
||||
index 0989543cd39e337b2a4abb3184a623fc0ae39202..93d69b90b22a167eb8e64c0882e42258c2d6c101 100644
|
||||
index 44149646438b03b85c300e9fbb5982c998fa32de..a90bee7735b4b12371a28e57c6cc4ab88e0c9f9c 100644
|
||||
--- a/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
|
||||
|
||||
@@ -35,10 +35,10 @@ index 647a4601deace52f8d855f512a73671f82b4762a..d05b1e129eee07434d162e1b949fd563
|
||||
// CraftBukkit start
|
||||
Level world = pointer.level();
|
||||
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
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -224,6 +224,11 @@ public class PurpurWorldConfig {
|
||||
@@ -225,6 +225,11 @@ public class PurpurWorldConfig {
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -17,10 +17,10 @@ index 907f751c859855484151fb5d607acee2f2a35076..4e1b2d65182f7d562a8470449b9f7c2e
|
||||
} else {
|
||||
return Boat.Status.IN_AIR;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 7096fd85e1c46097aa6d1c2e1bd511d36a9c486e..94df007142fc6dc1c9dbbd9af5219b87ace4d65d 100644
|
||||
index d5872f83a4345023c75af3cded5c54e0aa0bc550..c75378dd279b3282d30c2f06b7b35910d58048f9 100644
|
||||
--- a/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);
|
||||
}
|
||||
|
||||
|
||||
@@ -110,10 +110,10 @@ index 9635c076703beee96af9f5d0bdee4cf97ccd98ad..1abf54eeaad1b062f1465ee1a847bbfc
|
||||
+ // 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
|
||||
index 94df007142fc6dc1c9dbbd9af5219b87ace4d65d..f980e39b09f38e1c8265a8fe65de91178579326f 100644
|
||||
index c75378dd279b3282d30c2f06b7b35910d58048f9..230aede0b10e0999a6043e2bd0e2fe381a232f9d 100644
|
||||
--- a/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);
|
||||
}
|
||||
|
||||
@@ -121,7 +121,7 @@ index 94df007142fc6dc1c9dbbd9af5219b87ace4d65d..f980e39b09f38e1c8265a8fe65de9117
|
||||
public boolean boatEjectPlayersOnLand = false;
|
||||
public boolean disableDropsOnCrammingDeath = false;
|
||||
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 voidDamageDealt = 4.0D;
|
||||
private void miscGameplayMechanicsSettings() {
|
||||
|
||||
@@ -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
|
||||
index 753148b495d6623112fa860c9f6cbca9c6c0e986..186a7d3c0e79e114279046716e37c685f797f65f 100644
|
||||
index 9835183dc91230f86200eb18cf9ce9a26e5808ab..7f1bfc5550c00aa3bd0871638c6f3f4e15c08508 100644
|
||||
--- a/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
|
||||
|
||||
@@ -65,10 +65,10 @@ index f1b2d388a1a40a1d909a2e726f32d6c15e1eb0eb..4934bae61114b49a9f8d0ed044fbb881
|
||||
entityhuman.startAutoSpinAttack(20, 8.0F, stack);
|
||||
if (entityhuman.onGround()) {
|
||||
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
|
||||
+++ 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);
|
||||
}
|
||||
|
||||
|
||||
@@ -117,10 +117,10 @@ index 30d62ee4d5cd2ddacb8783b5bbbf475d592b3e02..01e4395f1669d21c30465aa1366bd2f1
|
||||
+ // Purpur end
|
||||
}
|
||||
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
|
||||
+++ 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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
index f5989a4e4a9f6d983d664a9f74ccdfebf91ed4d9..3bb11eeff4e855ae9a57f8179491c1756d14e04e 100644
|
||||
index 4b8dbdc43e85c08846a4e2ae50e59a6ca59758f3..20619fca432af199f3d3ed8c3d0f2bf88a6577ad 100644
|
||||
--- a/src/main/java/net/minecraft/commands/Commands.java
|
||||
+++ b/src/main/java/net/minecraft/commands/Commands.java
|
||||
@@ -250,6 +250,7 @@ public class Commands {
|
||||
|
||||
@@ -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
|
||||
index 3bb11eeff4e855ae9a57f8179491c1756d14e04e..1da5184311b51494ca0cf426ba466404599b8d2c 100644
|
||||
index 20619fca432af199f3d3ed8c3d0f2bf88a6577ad..4c090b70f30ef9eaa79b7de7f19a1d58b4d75cb5 100644
|
||||
--- a/src/main/java/net/minecraft/commands/Commands.java
|
||||
+++ b/src/main/java/net/minecraft/commands/Commands.java
|
||||
@@ -250,6 +250,7 @@ public class Commands {
|
||||
|
||||
@@ -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
|
||||
index 1da5184311b51494ca0cf426ba466404599b8d2c..c44832599a95039f9ca0f772e7b405e40d7a97b5 100644
|
||||
index 4c090b70f30ef9eaa79b7de7f19a1d58b4d75cb5..911a12e8af22b5f7a645384fee37c9ad435a9be1 100644
|
||||
--- a/src/main/java/net/minecraft/commands/Commands.java
|
||||
+++ b/src/main/java/net/minecraft/commands/Commands.java
|
||||
@@ -250,6 +250,7 @@ public class Commands {
|
||||
|
||||
@@ -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
|
||||
index 02bceb31c517b94653573380ed29d9401a6b9ce8..1d283484be270497859e23e3bb4ab38c09af23e6 100644
|
||||
index c3e0e95da8a57fc7bfba44a6748c5d96a9640374..b5a46c844e0f366828f8c287a598abb9aaeacf21 100644
|
||||
--- a/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);
|
||||
}
|
||||
|
||||
@@ -57,11 +57,11 @@ index 805bfee8b061445de5b5d8aeb13c792178e25f7b..6673c0bff3a4e3d11a09e9dc8aeb0c24
|
||||
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
|
||||
index 28587e17b15748880576f7a71e71a05c9c1bcf78..43c48bb14957b93ee3b0191360c09f710bc008e0 100644
|
||||
index ea6ec8eae2306542a4d6b0b463b8d10abc0d0b37..ada1f9f9bf8770c48ff25d562cf84cb04be17ca2 100644
|
||||
--- a/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 {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.zombieMaxHealth);
|
||||
@@ -131,6 +131,18 @@ public class Zombie extends Monster {
|
||||
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.zombieScale);
|
||||
}
|
||||
|
||||
+ public boolean jockeyOnlyBaby() {
|
||||
@@ -79,7 +79,7 @@ index 28587e17b15748880576f7a71e71a05c9c1bcf78..43c48bb14957b93ee3b0191360c09f71
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
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) {
|
||||
@@ -106,7 +106,7 @@ index 28587e17b15748880576f7a71e71a05c9c1bcf78..43c48bb14957b93ee3b0191360c09f71
|
||||
Chicken entitychicken1 = (Chicken) EntityType.CHICKEN.create(this.level());
|
||||
|
||||
if (entitychicken1 != null) {
|
||||
@@ -566,6 +579,7 @@ public class Zombie extends Monster {
|
||||
@@ -567,6 +580,7 @@ public class Zombie extends Monster {
|
||||
this.startRiding(entitychicken1);
|
||||
world.addFreshEntity(entitychicken1, CreatureSpawnEvent.SpawnReason.MOUNT); // CraftBukkit
|
||||
}
|
||||
@@ -141,11 +141,11 @@ index 199770256cf7f838228b5263ec9af8c6b18f30fb..cdf6753b6bb2bbb4f3ab21792bd31539
|
||||
protected void defineSynchedData(SynchedEntityData.Builder 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
|
||||
index 883cd9a96a1d4276ca10c5558b553c36a1bb0d79..0dcf5638e12c7670e6a5e577210e2542de1fd38b 100644
|
||||
index 42e3e992cc725627e8b03fa2c057c59bd52556b4..53b8f46bda60289ec310cb45513a2b729fcbea76 100644
|
||||
--- a/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 {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.zombifiedPiglinMaxHealth);
|
||||
@@ -86,6 +86,21 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
|
||||
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.zombifiedPiglinScale);
|
||||
}
|
||||
|
||||
+ @Override
|
||||
@@ -167,12 +167,12 @@ index 883cd9a96a1d4276ca10c5558b553c36a1bb0d79..0dcf5638e12c7670e6a5e577210e2542
|
||||
public void setPersistentAngerTarget(@Nullable UUID angryAt) {
|
||||
this.persistentAngerTarget = angryAt;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index a5fec4cc1390581d98b5d64aa12e0a29ae149efc..58bab65407d4e1cff37d81d6bca00bf53ee80e24 100644
|
||||
index b2bc8d014b9cfd7af72b0a04077f93741338083a..a4eef27653adda8486130c5affea09396a8901a7 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -608,6 +608,9 @@ public class PurpurWorldConfig {
|
||||
public boolean drownedControllable = true;
|
||||
@@ -640,6 +640,9 @@ public class PurpurWorldConfig {
|
||||
public double drownedMaxHealth = 20.0D;
|
||||
public double drownedScale = 1.0D;
|
||||
public double drownedSpawnReinforcements = 0.1D;
|
||||
+ public boolean drownedJockeyOnlyBaby = true;
|
||||
+ public double drownedJockeyChance = 0.05D;
|
||||
@@ -180,9 +180,9 @@ index a5fec4cc1390581d98b5d64aa12e0a29ae149efc..58bab65407d4e1cff37d81d6bca00bf5
|
||||
private void drownedSettings() {
|
||||
drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable);
|
||||
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);
|
||||
drownedScale = Mth.clamp(getDouble("mobs.drowned.attributes.scale", drownedScale), 0.0625D, 16.0D);
|
||||
drownedSpawnReinforcements = getDouble("mobs.drowned.attributes.spawn_reinforcements", drownedSpawnReinforcements);
|
||||
+ drownedJockeyOnlyBaby = getBoolean("mobs.drowned.jockey.only-babies", drownedJockeyOnlyBaby);
|
||||
+ drownedJockeyChance = getDouble("mobs.drowned.jockey.chance", drownedJockeyChance);
|
||||
@@ -190,9 +190,9 @@ index a5fec4cc1390581d98b5d64aa12e0a29ae149efc..58bab65407d4e1cff37d81d6bca00bf5
|
||||
}
|
||||
|
||||
public boolean elderGuardianRidable = false;
|
||||
@@ -867,6 +873,9 @@ public class PurpurWorldConfig {
|
||||
public boolean huskControllable = true;
|
||||
@@ -923,6 +929,9 @@ public class PurpurWorldConfig {
|
||||
public double huskMaxHealth = 20.0D;
|
||||
public double huskScale = 1.0D;
|
||||
public double huskSpawnReinforcements = 0.1D;
|
||||
+ public boolean huskJockeyOnlyBaby = true;
|
||||
+ public double huskJockeyChance = 0.05D;
|
||||
@@ -200,9 +200,9 @@ index a5fec4cc1390581d98b5d64aa12e0a29ae149efc..58bab65407d4e1cff37d81d6bca00bf5
|
||||
private void huskSettings() {
|
||||
huskRidable = getBoolean("mobs.husk.ridable", huskRidable);
|
||||
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);
|
||||
huskScale = Mth.clamp(getDouble("mobs.husk.attributes.scale", huskScale), 0.0625D, 16.0D);
|
||||
huskSpawnReinforcements = getDouble("mobs.husk.attributes.spawn_reinforcements", huskSpawnReinforcements);
|
||||
+ huskJockeyOnlyBaby = getBoolean("mobs.husk.jockey.only-babies", huskJockeyOnlyBaby);
|
||||
+ huskJockeyChance = getDouble("mobs.husk.jockey.chance", huskJockeyChance);
|
||||
@@ -210,9 +210,9 @@ index a5fec4cc1390581d98b5d64aa12e0a29ae149efc..58bab65407d4e1cff37d81d6bca00bf5
|
||||
}
|
||||
|
||||
public boolean illusionerRidable = false;
|
||||
@@ -1698,6 +1710,9 @@ public class PurpurWorldConfig {
|
||||
public boolean zombieControllable = true;
|
||||
@@ -1828,6 +1840,9 @@ public class PurpurWorldConfig {
|
||||
public double zombieMaxHealth = 20.0D;
|
||||
public double zombieScale = 1.0D;
|
||||
public double zombieSpawnReinforcements = 0.1D;
|
||||
+ public boolean zombieJockeyOnlyBaby = true;
|
||||
+ public double zombieJockeyChance = 0.05D;
|
||||
@@ -220,9 +220,9 @@ index a5fec4cc1390581d98b5d64aa12e0a29ae149efc..58bab65407d4e1cff37d81d6bca00bf5
|
||||
private void zombieSettings() {
|
||||
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
|
||||
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);
|
||||
zombieScale = Mth.clamp(getDouble("mobs.zombie.attributes.scale", zombieScale), 0.0625D, 16.0D);
|
||||
zombieSpawnReinforcements = getDouble("mobs.zombie.attributes.spawn_reinforcements", zombieSpawnReinforcements);
|
||||
+ zombieJockeyOnlyBaby = getBoolean("mobs.zombie.jockey.only-babies", zombieJockeyOnlyBaby);
|
||||
+ zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance);
|
||||
@@ -230,9 +230,9 @@ index a5fec4cc1390581d98b5d64aa12e0a29ae149efc..58bab65407d4e1cff37d81d6bca00bf5
|
||||
}
|
||||
|
||||
public boolean zombieHorseRidable = false;
|
||||
@@ -1745,6 +1763,9 @@ public class PurpurWorldConfig {
|
||||
public boolean zombieVillagerControllable = true;
|
||||
@@ -1877,6 +1895,9 @@ public class PurpurWorldConfig {
|
||||
public double zombieVillagerMaxHealth = 20.0D;
|
||||
public double zombieVillagerScale = 1.0D;
|
||||
public double zombieVillagerSpawnReinforcements = 0.1D;
|
||||
+ public boolean zombieVillagerJockeyOnlyBaby = true;
|
||||
+ public double zombieVillagerJockeyChance = 0.05D;
|
||||
@@ -240,9 +240,9 @@ index a5fec4cc1390581d98b5d64aa12e0a29ae149efc..58bab65407d4e1cff37d81d6bca00bf5
|
||||
private void zombieVillagerSettings() {
|
||||
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
|
||||
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);
|
||||
zombieVillagerScale = Mth.clamp(getDouble("mobs.zombie_villager.attributes.scale", zombieVillagerScale), 0.0625D, 16.0D);
|
||||
zombieVillagerSpawnReinforcements = getDouble("mobs.zombie_villager.attributes.spawn_reinforcements", zombieVillagerSpawnReinforcements);
|
||||
+ zombieVillagerJockeyOnlyBaby = getBoolean("mobs.zombie_villager.jockey.only-babies", zombieVillagerJockeyOnlyBaby);
|
||||
+ zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance);
|
||||
@@ -250,9 +250,9 @@ index a5fec4cc1390581d98b5d64aa12e0a29ae149efc..58bab65407d4e1cff37d81d6bca00bf5
|
||||
}
|
||||
|
||||
public boolean zombifiedPiglinRidable = false;
|
||||
@@ -1763,6 +1787,9 @@ public class PurpurWorldConfig {
|
||||
public boolean zombifiedPiglinControllable = true;
|
||||
@@ -1897,6 +1921,9 @@ public class PurpurWorldConfig {
|
||||
public double zombifiedPiglinMaxHealth = 20.0D;
|
||||
public double zombifiedPiglinScale = 1.0D;
|
||||
public double zombifiedPiglinSpawnReinforcements = 0.0D;
|
||||
+ public boolean zombifiedPiglinJockeyOnlyBaby = true;
|
||||
+ public double zombifiedPiglinJockeyChance = 0.05D;
|
||||
@@ -260,9 +260,9 @@ index a5fec4cc1390581d98b5d64aa12e0a29ae149efc..58bab65407d4e1cff37d81d6bca00bf5
|
||||
private void zombifiedPiglinSettings() {
|
||||
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
|
||||
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);
|
||||
zombifiedPiglinScale = Mth.clamp(getDouble("mobs.zombified_piglin.attributes.scale", zombifiedPiglinScale), 0.0625D, 16.0D);
|
||||
zombifiedPiglinSpawnReinforcements = getDouble("mobs.zombified_piglin.attributes.spawn_reinforcements", zombifiedPiglinSpawnReinforcements);
|
||||
+ zombifiedPiglinJockeyOnlyBaby = getBoolean("mobs.zombified_piglin.jockey.only-babies", zombifiedPiglinJockeyOnlyBaby);
|
||||
+ zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance);
|
||||
|
||||
@@ -256,10 +256,10 @@ index 4dea7aed072caf383986e09ead8ee790b35d9706..7a80cb45ff5d96380755d37ff43ddeac
|
||||
|
||||
private float speed = 0.1F;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index af58101a8c364740b5f0fb1d859d0c57f7e91eac..313b22d3cba602f35a799af0656cf514f1ff1c83 100644
|
||||
index a4eef27653adda8486130c5affea09396a8901a7..97c6c063729b8bbff87761b90d4314dd0612e3a1 100644
|
||||
--- a/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 Map<Integer, Double> phantomMaxHealthCache = new HashMap<>();
|
||||
public Map<Integer, Double> phantomAttackDamageCache = new HashMap<>();
|
||||
@@ -269,7 +269,7 @@ index af58101a8c364740b5f0fb1d859d0c57f7e91eac..313b22d3cba602f35a799af0656cf514
|
||||
private void phantomSettings() {
|
||||
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
|
||||
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);
|
||||
phantomMaxHealthCache.clear();
|
||||
phantomAttackDamageCache.clear();
|
||||
|
||||
@@ -40,10 +40,10 @@ index 1b1b475ca27e799e251d6f8a8c9fe1a4fd8bae83..04f67f7b43d2f461c776c76614dc3e5f
|
||||
for (int l = 0; l < k; ++l) {
|
||||
// Paper start - PhantomPreSpawnEvent
|
||||
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
|
||||
+++ 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 float phantomAttackedByCrystalDamage = 1.0F;
|
||||
public double phantomOrbitCrystalRadius = 0.0D;
|
||||
@@ -56,7 +56,7 @@ index 313b22d3cba602f35a799af0656cf514f1ff1c83..56c7d54c076182e1f43fcafc533b04b7
|
||||
private void phantomSettings() {
|
||||
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
|
||||
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);
|
||||
phantomAttackedByCrystalDamage = (float) getDouble("mobs.phantom.attacked-by-crystal-damage", phantomAttackedByCrystalDamage);
|
||||
phantomOrbitCrystalRadius = getDouble("mobs.phantom.orbit-crystal-radius", phantomOrbitCrystalRadius);
|
||||
|
||||
@@ -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
|
||||
index 56c7d54c076182e1f43fcafc533b04b74aabe62f..91ec52442ef175781ebd661521ed8b1ec889c582 100644
|
||||
index 85d435c633eaefe2c6af337c7f12e57ff2eede2f..f1b1145495d7093cfab0355d5fc2600707c0a2d8 100644
|
||||
--- a/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 {
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -18,10 +18,10 @@ index 94d067e9eeee73183de25165d8c97043fe256103..00b6941951e1af9993f8f6da5425d31b
|
||||
|
||||
public static boolean canSetSpawn(Level world) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 91ec52442ef175781ebd661521ed8b1ec889c582..2894be6907fdb07b23598b1c5ba2becf08e5edf3 100644
|
||||
index f1b1145495d7093cfab0355d5fc2600707c0a2d8..e0f1f5d59fd3cd9ebf23365db56cfb43f1d5f427 100644
|
||||
--- a/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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
index dce0df639765a1c49b23f592c08cce14278f67b7..a2381960e213ade5ade22ad180666e4b74185beb 100644
|
||||
index 07d8b2536c2c95b91467edd2ece8674eeaa6ad2f..68c4e3d9a3f928a52357e25820ac73adbfb3332c 100644
|
||||
--- a/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
|
||||
|
||||
@@ -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
|
||||
index 2894be6907fdb07b23598b1c5ba2becf08e5edf3..beb1f965ac90b29f6eb8ed19da1d38163e8c15dd 100644
|
||||
index e0f1f5d59fd3cd9ebf23365db56cfb43f1d5f427..fd3a0e995deb66afeb2675460e12012b4b5649a6 100644
|
||||
--- a/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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
index beb1f965ac90b29f6eb8ed19da1d38163e8c15dd..f2f965d6ffb56418f7ed1d511e94170d4eb2313f 100644
|
||||
index fd3a0e995deb66afeb2675460e12012b4b5649a6..3f9a61add98784758272cc0e81d807550a57bae1 100644
|
||||
--- a/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 String playerDeathExpDropEquation = "expLevel * 7";
|
||||
public int playerDeathExpDropMax = 100;
|
||||
@@ -59,7 +59,7 @@ index beb1f965ac90b29f6eb8ed19da1d38163e8c15dd..f2f965d6ffb56418f7ed1d511e94170d
|
||||
private void playerSettings() {
|
||||
if (PurpurConfig.version < 19) {
|
||||
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);
|
||||
playerDeathExpDropEquation = getString("gameplay-mechanics.player.exp-dropped-on-death.equation", playerDeathExpDropEquation);
|
||||
playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax);
|
||||
|
||||
@@ -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
|
||||
index a187e93571e359b416f9ff6f7152ca574f64c443..5d3ef207dba95fdfa2dcc7f8c95ca94dd3d18845 100644
|
||||
index 7e416c24a336b53a71b53c020171a32adca6c95c..4ed5b8babbbace9b26659b54c7de395aaa9ab8ac 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1477,6 +1477,7 @@ public class PurpurWorldConfig {
|
||||
public boolean squidRidable = false;
|
||||
@@ -1577,6 +1577,7 @@ public class PurpurWorldConfig {
|
||||
public boolean squidControllable = true;
|
||||
public double squidMaxHealth = 10.0D;
|
||||
public double squidScale = 1.0D;
|
||||
+ public boolean squidImmuneToEAR = true;
|
||||
private void squidSettings() {
|
||||
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
|
||||
squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
|
||||
@@ -1486,6 +1487,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.squid.attributes.max_health", oldValue);
|
||||
@@ -1587,6 +1588,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);
|
||||
}
|
||||
|
||||
|
||||
@@ -51,10 +51,10 @@ index 7a80cb45ff5d96380755d37ff43ddeac2cd451e1..8f221fe016ea7221eb3a2116a2213139
|
||||
list.sort(Comparator.comparing((Entity e) -> { return e.getY(); }).reversed()); // CraftBukkit - decompile error
|
||||
Iterator iterator = list.iterator();
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 41a164c0009e6c7112541b49f26ba9849a16f6b1..33ea997e6517fb39a3f676c131824cffccdaf5af 100644
|
||||
index 4ed5b8babbbace9b26659b54c7de395aaa9ab8ac..bc04f87a0603b3b27cd542156a0173c09e28d5ab 100644
|
||||
--- a/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 int phantomSpawnMinPerAttempt = 1;
|
||||
public int phantomSpawnMaxPerAttempt = -1;
|
||||
@@ -64,7 +64,7 @@ index 41a164c0009e6c7112541b49f26ba9849a16f6b1..33ea997e6517fb39a3f676c131824cff
|
||||
private void phantomSettings() {
|
||||
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
|
||||
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);
|
||||
phantomSpawnMinPerAttempt = getInt("mobs.phantom.spawn.per-attempt.min", phantomSpawnMinPerAttempt);
|
||||
phantomSpawnMaxPerAttempt = getInt("mobs.phantom.spawn.per-attempt.max", phantomSpawnMaxPerAttempt);
|
||||
|
||||
@@ -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
|
||||
index 33c0ac18fa4c5b47d60cc774fe72d2d68c14e025..ad3e340c2487aa1dc2ed3ab08fa8747b7516022e 100644
|
||||
index aa17159f54402dc2bb0f8336ef79614186f1ddd1..96a140098b467afa9122093a08ebf190ed566a30 100644
|
||||
--- a/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
|
||||
public boolean canBreed() {
|
||||
@@ -18,19 +18,19 @@ index 33c0ac18fa4c5b47d60cc774fe72d2d68c14e025..ad3e340c2487aa1dc2ed3ab08fa8747b
|
||||
|
||||
private boolean hungry() {
|
||||
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
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1635,6 +1635,7 @@ public class PurpurWorldConfig {
|
||||
public double villagerMaxHealth = 20.0D;
|
||||
@@ -1749,6 +1749,7 @@ public class PurpurWorldConfig {
|
||||
public double villagerScale = 1.0D;
|
||||
public boolean villagerFollowEmeraldBlock = false;
|
||||
public boolean villagerCanBeLeashed = false;
|
||||
+ public boolean villagerCanBreed = true;
|
||||
private void villagerSettings() {
|
||||
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
|
||||
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
|
||||
@@ -1647,6 +1648,7 @@ public class PurpurWorldConfig {
|
||||
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);
|
||||
@@ -1762,6 +1763,7 @@ public class PurpurWorldConfig {
|
||||
villagerScale = Mth.clamp(getDouble("mobs.villager.attributes.scale", villagerScale), 0.0625D, 16.0D);
|
||||
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
|
||||
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
|
||||
+ villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
|
||||
|
||||
@@ -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
|
||||
index 73c4d1f29199af355cc467c7322637044805ea52..1b4b248d79d0e80750c957e1d76d1572c2528d6e 100644
|
||||
index a1e0ffd2ed576b9f988d64467a210cb869b5bdc7..5053c57bfc39bcc5b383795fe6e85dc9e5d1e421 100644
|
||||
--- a/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 {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -28,10 +28,10 @@ index d207f9107b2d78bbe5f4eb400f825829ea4f4688..62bf75a8adbe267663b88c2709d042c4
|
||||
EntityResurrectEvent event = new EntityResurrectEvent((org.bukkit.entity.LivingEntity) this.getBukkitEntity(), handSlot);
|
||||
event.setCancelled(itemstack == null);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 1b4b248d79d0e80750c957e1d76d1572c2528d6e..8dc68f00b488da2881c35061bc729edfe295a1c0 100644
|
||||
index 5053c57bfc39bcc5b383795fe6e85dc9e5d1e421..b16b141e0f44211579adae187e48b8c2224537f5 100644
|
||||
--- a/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 int playerDeathExpDropMax = 100;
|
||||
public boolean teleportIfOutsideBorder = false;
|
||||
@@ -39,7 +39,7 @@ index 1b4b248d79d0e80750c957e1d76d1572c2528d6e..8dc68f00b488da2881c35061bc729edf
|
||||
private void playerSettings() {
|
||||
if (PurpurConfig.version < 19) {
|
||||
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);
|
||||
playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax);
|
||||
teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder);
|
||||
|
||||
@@ -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
|
||||
index eb6dce8b2dcc7f4e63c69cfa6acbd9b36a923706..feb7eb93bd20e141ff86ed2e91b9cd0fa3f1d154 100644
|
||||
index e5c6baf199235812f7b4fcec20145d7146737224..f8c2911496aa18e8e2b589309e9cdd78d679f004 100644
|
||||
--- a/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();
|
||||
this.populateDefaultEquipmentSlots(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
|
||||
index fa4fdf0dd635dfc409dbd096c490c1cdca8a3189..baf573e75d4575a886830e2c11c162f07a04886a 100644
|
||||
index d320a16646d0e15278c7d459f49627293b96a0f9..cf75f01c719ad6d3bfef73314c31c51c200fc4aa 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1662,6 +1662,7 @@ public class PurpurWorldConfig {
|
||||
public boolean vindicatorRidableInWater = true;
|
||||
@@ -1778,6 +1778,7 @@ public class PurpurWorldConfig {
|
||||
public boolean vindicatorControllable = true;
|
||||
public double vindicatorMaxHealth = 24.0D;
|
||||
public double vindicatorScale = 1.0D;
|
||||
+ public double vindicatorJohnnySpawnChance = 0D;
|
||||
private void vindicatorSettings() {
|
||||
vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable);
|
||||
vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater);
|
||||
@@ -1672,6 +1673,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.vindicator.attributes.max_health", oldValue);
|
||||
@@ -1789,6 +1790,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
index afe3b998b4ef5b086969e58a656adedf8b9600ea..3dc99b3cbba5482d52052ded3217059ec6da3324 100644
|
||||
index a283b0afaccaebb27216c241abff97fcf8998ded..00d34e58bcc03d6d342261a637bc5ef23a4be769 100644
|
||||
--- a/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;
|
||||
|
||||
@@ -64,10 +64,10 @@ index 99bfa7cdc58c690d6f0c742dafedd40cace3223f..2d300905c05c7c23a4da30b3651b3313
|
||||
}
|
||||
} 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
|
||||
index 3dc99b3cbba5482d52052ded3217059ec6da3324..2c31025c2554858936118438d45c873290484f4b 100644
|
||||
index 00d34e58bcc03d6d342261a637bc5ef23a4be769..bf02442138f8b7773d52ece4369cb888b4d8f073 100644
|
||||
--- a/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 {
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
index e60464efd9986e1cf857d8595b13535df7ffc7b1..30da8d977d5b591d6bce619eba71181cb588e3c4 100644
|
||||
index 98885a788af662736435fa8465c9b6ffeb16811b..6278d1020aeac52622ecf98c34453044850a453e 100644
|
||||
--- a/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
|
||||
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
|
||||
index 2c31025c2554858936118438d45c873290484f4b..28ab98c61bf9e1371b6fdf254f2fcc2cd65acdd8 100644
|
||||
index 91536c5280330a9a2beccf1bee59ad071736b57e..271bb47c47312c1d09d4cd4024f19935a3ec469b 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -630,6 +630,7 @@ public class PurpurWorldConfig {
|
||||
public float dolphinSpitSpeed = 1.0F;
|
||||
@@ -660,6 +660,7 @@ public class PurpurWorldConfig {
|
||||
public float dolphinSpitDamage = 2.0F;
|
||||
public double dolphinMaxHealth = 10.0D;
|
||||
public double dolphinScale = 1.0D;
|
||||
+ public boolean dolphinDisableTreasureSearching = false;
|
||||
private void dolphinSettings() {
|
||||
dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable);
|
||||
dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable);
|
||||
@@ -642,6 +643,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.dolphin.attributes.max_health", oldValue);
|
||||
@@ -673,6 +674,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
index 02257d9c7ceb81b8fccca0013ef5090feac1e19e..43e7670ab6f22afbf112e430394a95bdc951371a 100644
|
||||
index 9d6ca8c6f009cb34fab07cc4d17a6dd5aa45bd12..9cac9f5989cd8f73f247e4a3f901a54c03bc00ef 100644
|
||||
--- a/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
|
||||
@@ -19,10 +19,10 @@ index 02257d9c7ceb81b8fccca0013ef5090feac1e19e..43e7670ab6f22afbf112e430394a95bd
|
||||
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
|
||||
index 12422c069c64bae0e16b3edd39e8dbe574704584..8604db61d2c8042d0399262cb60b98457e4f894c 100644
|
||||
index 6306d0452f0bfcb20a90e0f46b34fd7fc0426e10..28b2303ce9459b6038f35e3e470324392753b67f 100644
|
||||
--- a/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)) {
|
||||
return false;
|
||||
} else if (getRider() != null && this.isControllable()) { return super.hurt(source, amount); // Purpur - no teleporting on damage
|
||||
|
||||
@@ -22,11 +22,11 @@ index a90bee7735b4b12371a28e57c6cc4ab88e0c9f9c..f23e932e86a92a796e56d1e994d3d631
|
||||
if (this.touchingUnloadedChunk()) {
|
||||
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
|
||||
index f66b283612671a3c6d4b33b32284259bcfd9331e..2b84322a622454c58c6481abbb13031a2e5c488f 100644
|
||||
index ef4513f577779ddcfd357420aa65e1b52cf0f388..522dabcf6ec8b19902890718717fc890d430c750 100644
|
||||
--- a/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 {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.squidMaxHealth);
|
||||
@@ -73,6 +73,12 @@ public class Squid extends WaterAnimal {
|
||||
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.squidScale);
|
||||
}
|
||||
|
||||
+ @Override
|
||||
@@ -54,20 +54,20 @@ index c8f7c43134e7c51ce8af5b3c1a28c11db67715a2..5b98889715bf62eb4f15c0b45ada2c70
|
||||
+ // Purpur
|
||||
}
|
||||
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
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1502,6 +1502,7 @@ public class PurpurWorldConfig {
|
||||
public boolean squidControllable = true;
|
||||
@@ -1602,6 +1602,7 @@ public class PurpurWorldConfig {
|
||||
public double squidMaxHealth = 10.0D;
|
||||
public double squidScale = 1.0D;
|
||||
public boolean squidImmuneToEAR = true;
|
||||
+ public double squidOffsetWaterCheck = 0.0D;
|
||||
private void squidSettings() {
|
||||
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
|
||||
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);
|
||||
squidScale = Mth.clamp(getDouble("mobs.squid.attributes.scale", squidScale), 0.0625D, 16.0D);
|
||||
squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);
|
||||
+ squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck);
|
||||
}
|
||||
|
||||
@@ -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.
|
||||
|
||||
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
|
||||
+++ 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());
|
||||
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
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1739,6 +1739,8 @@ public class PurpurWorldConfig {
|
||||
public boolean witherControllable = true;
|
||||
@@ -1861,6 +1861,8 @@ public class PurpurWorldConfig {
|
||||
public double witherMaxY = 320D;
|
||||
public double witherMaxHealth = 300.0D;
|
||||
public double witherScale = 1.0D;
|
||||
+ public float witherHealthRegenAmount = 1.0f;
|
||||
+ public int witherHealthRegenDelay = 20;
|
||||
private void witherSettings() {
|
||||
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
|
||||
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
|
||||
@@ -1754,6 +1756,8 @@ public class PurpurWorldConfig {
|
||||
set("mobs.wither.attributes.max_health", oldValue);
|
||||
@@ -1877,6 +1879,8 @@ 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);
|
||||
+ witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
|
||||
}
|
||||
|
||||
@@ -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.
|
||||
|
||||
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
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -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)) {
|
||||
blockposition1 = blockposition2;
|
||||
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
|
||||
+++ 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));
|
||||
}
|
||||
|
||||
@@ -75,7 +75,7 @@ index 8c7f9a391935e1527856163dd6860abc3514c738..5c880a028a9c62c109500a46e2cf3698
|
||||
private double getDouble(String path, double def) {
|
||||
PurpurConfig.config.addDefault("world-settings.default." + path, def);
|
||||
return PurpurConfig.config.getDouble("world-settings." + worldName + "." + path, PurpurConfig.config.getDouble("world-settings.default." + path));
|
||||
@@ -233,6 +239,21 @@ public class PurpurWorldConfig {
|
||||
@@ -234,6 +240,21 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -49,10 +49,10 @@ index 8c60f71270d909c10e6617eb64b8fdb42deb73e9..eedce2a3d67d875d5174ee125e267948
|
||||
if (!raid.isStarted() && !this.raidMap.containsKey(raid.getId())) {
|
||||
this.raidMap.put(raid.getId(), raid);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 5cb22affc431441619af3d4e48ea546e694e9d30..6572269ca6907c384d5798b91ca1851ece5e8070 100644
|
||||
index e2ff691f4d237af59710151754601eed24f49598..7ba5886008c55d651aa11c379e1b77e1fc34125c 100644
|
||||
--- a/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 voidDamageHeight = -64.0D;
|
||||
public double voidDamageDealt = 4.0D;
|
||||
@@ -60,7 +60,7 @@ index 5cb22affc431441619af3d4e48ea546e694e9d30..6572269ca6907c384d5798b91ca1851e
|
||||
private void miscGameplayMechanicsSettings() {
|
||||
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
|
||||
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);
|
||||
voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight);
|
||||
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
|
||||
|
||||
@@ -7,10 +7,10 @@ This patch's implementation has been removed in favor of Pufferfish's entity-tim
|
||||
The config remains for migration purposes.
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index a321648355e0a85739329b6f82461c812c823d37..f9a5248da33fe7f224411cc3b9b35fb65b5d4572 100644
|
||||
index 7ba5886008c55d651aa11c379e1b77e1fc34125c..bec89f977d8c40973b4aa1313c4f7f6b5880ac9f 100644
|
||||
--- a/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 {
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -20,10 +20,10 @@ index 06455d65c4605ce092bf5300d432087f24186741..750fd2809f6d5d5896904cad0f65029b
|
||||
ignored.add("goal_selector_1");
|
||||
ignored.add("goal_selector_2");
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
||||
index 1d283484be270497859e23e3bb4ab38c09af23e6..b02cdbaa0455319b1e8a7e777e64ff4a56590388 100644
|
||||
index b5a46c844e0f366828f8c287a598abb9aaeacf21..4f9daaeb1bd4d115a84b0c20649e4dd44af37924 100644
|
||||
--- a/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.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));
|
||||
@@ -45,10 +45,10 @@ index 1d283484be270497859e23e3bb4ab38c09af23e6..b02cdbaa0455319b1e8a7e777e64ff4a
|
||||
this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, Axolotl.class, true, false));
|
||||
this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
||||
index 43c48bb14957b93ee3b0191360c09f710bc008e0..b39d8ee4c6e9483a15991be3b1440384708aee65 100644
|
||||
index ada1f9f9bf8770c48ff25d562cf84cb04be17ca2..21e0028ad33f8de0211dd733d98a00af8461684b 100644
|
||||
--- a/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.targetSelector.addGoal(1, (new HurtByTargetGoal(this, new Class[0])).setAlertOthers(ZombifiedPiglin.class));
|
||||
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));
|
||||
}
|
||||
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
|
||||
+++ 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 double zombieJockeyChance = 0.05D;
|
||||
public boolean zombieJockeyTryExistingChickens = true;
|
||||
@@ -81,7 +81,7 @@ index 0cf94608f8b12f1b813c4d786090a03116233f89..3e4a32fa6a029b851029eccb0a25680b
|
||||
private void zombieSettings() {
|
||||
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
|
||||
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);
|
||||
zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance);
|
||||
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);
|
||||
|
||||
@@ -21,10 +21,10 @@ index 8211c152e6f4232e82e452b08047e4579465d770..4cd57672c548950cb4e0aa97af75ecca
|
||||
protected ParticleOptions getInkParticle() {
|
||||
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
|
||||
index 2b84322a622454c58c6481abbb13031a2e5c488f..8ed02b9737c47a19aa6a38789c19947e7aae36a3 100644
|
||||
index 522dabcf6ec8b19902890718717fc890d430c750..ea80eca266500f93fa9c00962d078ec276814f0a 100644
|
||||
--- a/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);
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ index 2b84322a622454c58c6481abbb13031a2e5c488f..8ed02b9737c47a19aa6a38789c19947e
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
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()) {
|
||||
@@ -48,7 +48,7 @@ index 2b84322a622454c58c6481abbb13031a2e5c488f..8ed02b9737c47a19aa6a38789c19947e
|
||||
if (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;
|
||||
@@ -357,7 +367,7 @@ public class Squid extends WaterAnimal {
|
||||
@@ -358,7 +368,7 @@ public class Squid extends WaterAnimal {
|
||||
int i = this.squid.getNoActionTime();
|
||||
if (i > 100) {
|
||||
this.squid.setMovementVector(0.0F, 0.0F, 0.0F);
|
||||
@@ -58,32 +58,33 @@ index 2b84322a622454c58c6481abbb13031a2e5c488f..8ed02b9737c47a19aa6a38789c19947e
|
||||
float g = Mth.cos(f) * 0.2F;
|
||||
float h = -0.1F + this.squid.getRandom().nextFloat() * 0.2F;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 3e4a32fa6a029b851029eccb0a25680bbb467c3b..96531ad5f79ef90df7141ecb831a04b98db00da8 100644
|
||||
index e7b7ec38bd2be51a03dace23d0af90d72404d9e8..a0e89374b94852352400d5089052433b6de0fd92 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -921,10 +921,12 @@ public class PurpurWorldConfig {
|
||||
public boolean glowSquidRidable = false;
|
||||
@@ -969,11 +969,13 @@ public class PurpurWorldConfig {
|
||||
public boolean glowSquidControllable = true;
|
||||
public double glowSquidMaxHealth = 10.0D;
|
||||
public double glowSquidScale = 1.0D;
|
||||
+ public boolean glowSquidsCanFly = false;
|
||||
private void glowSquidSettings() {
|
||||
glowSquidRidable = getBoolean("mobs.glow_squid.ridable", glowSquidRidable);
|
||||
glowSquidControllable = getBoolean("mobs.glow_squid.controllable", glowSquidControllable);
|
||||
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);
|
||||
}
|
||||
|
||||
public boolean goatRidable = false;
|
||||
@@ -1560,6 +1562,7 @@ public class PurpurWorldConfig {
|
||||
public double squidMaxHealth = 10.0D;
|
||||
@@ -1660,6 +1662,7 @@ public class PurpurWorldConfig {
|
||||
public double squidScale = 1.0D;
|
||||
public boolean squidImmuneToEAR = true;
|
||||
public double squidOffsetWaterCheck = 0.0D;
|
||||
+ public boolean squidsCanFly = false;
|
||||
private void squidSettings() {
|
||||
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
|
||||
squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
|
||||
@@ -1571,6 +1574,7 @@ public class PurpurWorldConfig {
|
||||
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);
|
||||
@@ -1672,6 +1675,7 @@ public class PurpurWorldConfig {
|
||||
squidScale = Mth.clamp(getDouble("mobs.squid.attributes.scale", squidScale), 0.0625D, 16.0D);
|
||||
squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);
|
||||
squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck);
|
||||
+ squidsCanFly = getBoolean("mobs.squid.can-fly", squidsCanFly);
|
||||
|
||||
@@ -18,10 +18,10 @@ index 32dd0b13a0819f597d8a93c6bc3a155781067544..7ae7626c82969ea5a6fc5aa4a0c7ec43
|
||||
|
||||
if (world instanceof ServerLevel) {
|
||||
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
|
||||
+++ 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);
|
||||
}
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ index 76ef195a5074006b009acd9cc1744667c6aecbb9..659577549e132754281df76a7a1bfd88
|
||||
public ClientboundSetTimePacket(long time, long timeOfDay, boolean doDaylightCycle) {
|
||||
this.gameTime = time;
|
||||
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
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1705,7 +1705,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -31,7 +31,7 @@ index 186a7d3c0e79e114279046716e37c685f797f65f..f1686cca24ff1339ca0062d288ddfe10
|
||||
}
|
||||
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
|
||||
index 6a010ebf844a37d3dc767e4a828e0a525d66aa9f..613cf0562d2a82e2a7b9bf1d3143e9c4e4a75bea 100644
|
||||
index 44f7de001538435d526fac3bc6b7575e15d2bb89..a416766ababa6ec85d6d53e54042c87f82062a1f 100644
|
||||
--- a/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.
|
||||
@@ -88,10 +88,10 @@ index 6a010ebf844a37d3dc767e4a828e0a525d66aa9f..613cf0562d2a82e2a7b9bf1d3143e9c4
|
||||
public void tickCustomSpawners(boolean spawnMonsters, boolean spawnAnimals) {
|
||||
Iterator iterator = this.customSpawners.iterator();
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 6a391de29ec045b34cfe456b5fbf03612b22d21b..8792f2ed140c32d77ea13cc17d6e80b04ddd95eb 100644
|
||||
index b70e4afa153ce3532649a55a48d58ec1ad6ee6b4..8c644fb65c9ca56a5c9a24945f4d43b117cd02f2 100644
|
||||
--- a/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);
|
||||
}
|
||||
|
||||
|
||||
@@ -39,10 +39,10 @@ index 730aca233f6e7564d4cb85b5b628d23c4f01d2f4..699bdc1f01a95ecdfe899493c8d81ec3
|
||||
|
||||
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
|
||||
index 8792f2ed140c32d77ea13cc17d6e80b04ddd95eb..f9d8ae294558fbfb2b9b4b1e04221937ab45365b 100644
|
||||
index 8c644fb65c9ca56a5c9a24945f4d43b117cd02f2..b97edda4c703889a90b6a58ecd3d3034854f76ec 100644
|
||||
--- a/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);
|
||||
}
|
||||
|
||||
|
||||
@@ -20,10 +20,10 @@ index ddf47dab1ab92c45e3eea09239d418a9798ed59e..8d8944a0455b3401d84cab636d61447e
|
||||
|
||||
@Override
|
||||
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
|
||||
+++ 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);
|
||||
}
|
||||
|
||||
|
||||
@@ -24,10 +24,10 @@ index da85fabd75e9bd5ebece7127ef5b512df16fe3ac..dc356bd0931af9bdab9ec71e3de66e88
|
||||
return;
|
||||
}
|
||||
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
|
||||
+++ 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;
|
||||
|
||||
@@ -42,7 +42,7 @@ index e96fca314bebea5fcdb684d3478af1b6dc5f13cf..5ab29081ab9f5dcf355d1dac2f2a8541
|
||||
EntityBreedEvent entityBreedEvent = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityBreedEvent(entityageable, this, other, breeder, this.breedItem, experience);
|
||||
if (entityBreedEvent.isCancelled()) {
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 1da37b076fbbbd4b756fc30c5995995528653ddf..6b1dc40787e53723ff48b1ed4d408bb935f2cca8 100644
|
||||
index d0c200a3eea7d891c07b6d16664b77e404880977..54b57081264c367fba10433f25a6ef93f18fc4ab 100644
|
||||
--- a/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
|
||||
@@ -104,10 +104,10 @@ index 1da37b076fbbbd4b756fc30c5995995528653ddf..6b1dc40787e53723ff48b1ed4d408bb9
|
||||
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index f82da70b833c4565af07e7f4565ebdcf0042c918..b63d7a198cea09970aae77d3e7ab44695a9f2e2d 100644
|
||||
index 56ebfaf5e523fe0ef70c2950f2efac12829e0cf2..3a636f4cee643c51b30b3e86c1d85be07438c631 100644
|
||||
--- a/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 voidDamageDealt = 4.0D;
|
||||
public int raidCooldownSeconds = 0;
|
||||
@@ -115,7 +115,7 @@ index f82da70b833c4565af07e7f4565ebdcf0042c918..b63d7a198cea09970aae77d3e7ab4469
|
||||
private void miscGameplayMechanicsSettings() {
|
||||
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
|
||||
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);
|
||||
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
|
||||
raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds);
|
||||
|
||||
@@ -47,11 +47,11 @@ index 5ab29081ab9f5dcf355d1dac2f2a854149ab4699..27250278968233b3de05c365ae304a41
|
||||
entityanimal.resetLove();
|
||||
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
|
||||
index 3a7e413ba17901ed8e4ef0299555305c62f0d303..a758f360741de84a004ecc55f1415e74bd0a0fd5 100644
|
||||
index 536407b0cb28bd202f5235d1c3ba46e12899e11c..4b57756e938db00f5c6eba915c096110d68751eb 100644
|
||||
--- a/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 {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.beeMaxHealth);
|
||||
@@ -484,6 +484,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.beeScale);
|
||||
}
|
||||
|
||||
+ @Override
|
||||
@@ -63,12 +63,12 @@ index 3a7e413ba17901ed8e4ef0299555305c62f0d303..a758f360741de84a004ecc55f1415e74
|
||||
public int getRemainingPersistentAngerTime() {
|
||||
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
|
||||
index 5d89b2c9bd6ee2d0d5176c93988b97ff2e913e83..e1f8fff9b67ad3c74afc69f2fba8919ffa1800e6 100644
|
||||
index 89ad4ac9d20d1e07e4243b0e01a33eab0ec726a8..c8266b1a6b609ef92bd83dcb0e86e3cf47ccce6d 100644
|
||||
--- a/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
|
||||
public void initAttributes() {
|
||||
@@ -134,6 +134,11 @@ public class Cat extends TamableAnimal implements VariantHolder<Holder<CatVarian
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.catMaxHealth);
|
||||
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.catScale);
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
@@ -79,12 +79,12 @@ index 5d89b2c9bd6ee2d0d5176c93988b97ff2e913e83..e1f8fff9b67ad3c74afc69f2fba8919f
|
||||
|
||||
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
|
||||
index 1ff256f2a40403f0fbefc714e3609890be3d60b6..bfc29d6fafb1956bca64ea89be22674912e9278c 100644
|
||||
index 10101c733154f9e9c725e60e565f735bda14bf5f..38f0fd9c126571d03ca6789a9b8273245168b8db 100644
|
||||
--- a/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
|
||||
+ public int getPurpurBreedTime() {
|
||||
@@ -95,12 +95,12 @@ index 1ff256f2a40403f0fbefc714e3609890be3d60b6..bfc29d6fafb1956bca64ea89be226749
|
||||
protected void registerGoals() {
|
||||
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
|
||||
index a1036e44116ef0848fbb438526f9a117ee2bfaa9..bf7ea4da6bd047b54e86b1853b9dad714a6e5e16 100644
|
||||
index c9f63f3716b37dbf5f4bb4c66b78ba0b97edd686..a52b94a4b9d3e65586fbfc2e3d977d40daf59ee5 100644
|
||||
--- a/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 {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.cowMaxHealth);
|
||||
@@ -67,6 +67,11 @@ public class Cow extends Animal {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
@@ -111,11 +111,11 @@ index a1036e44116ef0848fbb438526f9a117ee2bfaa9..bf7ea4da6bd047b54e86b1853b9dad71
|
||||
protected void registerGoals() {
|
||||
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
|
||||
index 52c11b3621a9b834de8305ff98ad7671b7905055..2aac6472453aa2ec58a6d5b7040df6d457353ff5 100644
|
||||
index 98e9ad371381350dc3bff7e2a88224a2812d6419..252df18c369d5e556632ed5a287dab04e4e9b58d 100644
|
||||
--- a/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> {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.foxMaxHealth);
|
||||
@@ -189,6 +189,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.foxScale);
|
||||
}
|
||||
|
||||
+ @Override
|
||||
@@ -126,7 +126,7 @@ index 52c11b3621a9b834de8305ff98ad7671b7905055..2aac6472453aa2ec58a6d5b7040df6d4
|
||||
@Override
|
||||
protected void defineSynchedData(SynchedEntityData.Builder 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);
|
||||
}
|
||||
|
||||
@@ -156,11 +156,11 @@ index 41b52f128fbc174939a7f2d1cd937ab19432de25..22a2328fe5159c8fed635a62334a3f10
|
||||
public float getWalkTargetValue(BlockPos pos, LevelReader world) {
|
||||
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
|
||||
index 0ef3fee057d7dd0b5d9d4a38953617bac3f49c7b..14d94992bc02c0eedab0c83fcffb975ac33d48cb 100644
|
||||
index 2ba70099352ff7ad0d561195565227938d68cef7..59ac7021389559cf95ef4746e6860bef29e3c0dc 100644
|
||||
--- a/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 {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.ocelotMaxHealth);
|
||||
@@ -89,6 +89,11 @@ public class Ocelot extends Animal {
|
||||
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.ocelotScale);
|
||||
}
|
||||
|
||||
+ @Override
|
||||
@@ -172,10 +172,10 @@ index 0ef3fee057d7dd0b5d9d4a38953617bac3f49c7b..14d94992bc02c0eedab0c83fcffb975a
|
||||
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
|
||||
index 0fd0358d287604d0ff1f52f0c71633586d100e3e..925bed4503a4023c01d8b9ffd07047831e5e96e5 100644
|
||||
index 27674bc17c1696d1e10c032d69fd29ee4295fd4e..a0075e23da3bbfe74105f420c347d3f67fda3970 100644
|
||||
--- a/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();
|
||||
}
|
||||
|
||||
@@ -188,11 +188,11 @@ index 0fd0358d287604d0ff1f52f0c71633586d100e3e..925bed4503a4023c01d8b9ffd0704783
|
||||
public boolean canTakeItem(ItemStack 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
|
||||
index d9e1ff687bb478af4d9c669379477737d053e83d..13259f5f00aa0fc12254b954c3e21f19198bed8e 100644
|
||||
index f9d2d35a6e65580df74c6f27f605068980d3c12d..36eee2367689710a68be22209c550298b3e06879 100644
|
||||
--- a/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
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.parrotMaxHealth);
|
||||
@@ -192,6 +192,11 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
|
||||
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.parrotScale);
|
||||
}
|
||||
|
||||
+ @Override
|
||||
@@ -204,11 +204,11 @@ index d9e1ff687bb478af4d9c669379477737d053e83d..13259f5f00aa0fc12254b954c3e21f19
|
||||
@Override
|
||||
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
|
||||
index 7b5080993904a41083aa534a87a6eed29afe520c..513fa2a8fc5b0b39432eef799763a5e3e27a8cfd 100644
|
||||
index 51ffdfa038cb1be279da71d691d54728731c186e..c9c31e2e523b6829776d6bcc3d0e183c1315a7a3 100644
|
||||
--- a/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 {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.pigMaxHealth);
|
||||
@@ -87,6 +87,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
|
||||
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.pigScale);
|
||||
}
|
||||
|
||||
+ @Override
|
||||
@@ -220,10 +220,10 @@ index 7b5080993904a41083aa534a87a6eed29afe520c..513fa2a8fc5b0b39432eef799763a5e3
|
||||
protected void registerGoals() {
|
||||
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
|
||||
index 590b015102bd1ea22da34448de2f1b7581836325..b412157c10894d4877e13ade94fa56a876606519 100644
|
||||
index cd5856d3c5fdefb22f1ae146e5b64d9d4a64e07c..064d2066b2b987bfc2eb3e71c7fec39248492135 100644
|
||||
--- a/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
|
||||
public AgeableMob getBreedOffspring(ServerLevel world, AgeableMob entity) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
||||
index 6cb70392a86b166c8f8a8f3944f7abe8521e620f..4ef310dda00d049b109fc379de2b90696eb24d27 100644
|
||||
index e06445c84aa632429c1647cabab73751f73d2e6c..7e509458134340bd05d15f5f51b6d1fce3206d6a 100644
|
||||
--- a/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> {
|
||||
public void initAttributes() {
|
||||
@@ -146,6 +146,11 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.rabbitMaxHealth);
|
||||
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.rabbitScale);
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
@@ -252,11 +252,11 @@ index 6cb70392a86b166c8f8a8f3944f7abe8521e620f..4ef310dda00d049b109fc379de2b9069
|
||||
|
||||
@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
|
||||
index 90dff2e658e8b77d37952080d389e1f2db47264f..7d716efe614902c35ae63b49e159e8d2d8e7d8ea 100644
|
||||
index a14db0ec9ebcde24d5b7340a08002eddc8ebd421..fb429dce94bfad6aba3c63a4694e7c8da772ee14 100644
|
||||
--- a/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 {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.sheepMaxHealth);
|
||||
@@ -138,6 +138,11 @@ public class Sheep extends Animal implements Shearable {
|
||||
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.sheepScale);
|
||||
}
|
||||
|
||||
+ @Override
|
||||
@@ -268,11 +268,11 @@ index 90dff2e658e8b77d37952080d389e1f2db47264f..7d716efe614902c35ae63b49e159e8d2
|
||||
protected void registerGoals() {
|
||||
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
|
||||
index d24697dc1e3cdc5eb61632935e81e25b1e341287..58a390b462ec387f5376559c3d615ed4bcf055ea 100644
|
||||
index 41d47141bfd77b17cbf163bffdfeb002135035ca..8f02a1b39db0581efb8ccd2c889f048bfd7b3e04 100644
|
||||
--- a/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 {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.turtleMaxHealth);
|
||||
@@ -110,6 +110,11 @@ public class Turtle extends Animal {
|
||||
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.turtleScale);
|
||||
}
|
||||
|
||||
+ @Override
|
||||
@@ -284,11 +284,11 @@ index d24697dc1e3cdc5eb61632935e81e25b1e341287..58a390b462ec387f5376559c3d615ed4
|
||||
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
|
||||
index 81ca20878d552d9b674c638dbd8cdebe9e666ec5..e3c0163a4b00dca01b97c41aa57aa998063ec491 100644
|
||||
index 3268f07668eaa0322aeb77a158dfb2996d16dfcb..da375fb6907e0c46ed176bc76a84f2666227547c 100644
|
||||
--- a/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
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.wolfMaxHealth);
|
||||
@@ -154,6 +154,11 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol
|
||||
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.wolfScale);
|
||||
}
|
||||
|
||||
+ @Override
|
||||
@@ -300,12 +300,12 @@ index 81ca20878d552d9b674c638dbd8cdebe9e666ec5..e3c0163a4b00dca01b97c41aa57aa998
|
||||
protected void registerGoals() {
|
||||
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
|
||||
index b7ea18861b4516a4895afee2551e5848598d8e8b..6e01e5847396e14ce1d9af53f1ed29ef360d1b31 100644
|
||||
index 196de6ac2ba44478f6a2239eb2657957806d7ccc..711253a3e004c8ec850579f17d8497ffe2cf3ba0 100644
|
||||
--- a/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 {
|
||||
public void initAttributes() {
|
||||
@@ -99,6 +99,11 @@ public class Armadillo extends Animal {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.armadilloMaxHealth);
|
||||
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.armadilloScale);
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
@@ -316,11 +316,11 @@ index b7ea18861b4516a4895afee2551e5848598d8e8b..6e01e5847396e14ce1d9af53f1ed29ef
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
index d7cf42cee8ce84b62a2ab12519d3d66234d8dedd..ab7d75f9f0fdda50e804838bd91a35b5c5188297 100644
|
||||
index 0cf2dbc7d4ce89bddc8f23095272532cf62b3f51..05ffcccf19ca07285d821de41909cade42244a08 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
@@ -119,6 +119,11 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.axolotlMaxHealth);
|
||||
@@ -120,6 +120,11 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
|
||||
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.axolotlScale);
|
||||
}
|
||||
|
||||
+ @Override
|
||||
@@ -490,12 +490,12 @@ index d2b3859f9c69e6d73fa859db858d38dd41fa35cd..fbad3b11223ee5dac4af15584e5dfd80
|
||||
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
|
||||
index 9caafde133bed014fde0e0b5339e859966c39134..14264a491061ef17c9fd3fea36c0505d06e88277 100644
|
||||
index 818439c7163606af5a62fee4e18251456db4f6a1..d82b036b5a759574fe83027ec1000d7eb0455a28 100644
|
||||
--- a/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 {
|
||||
public void initAttributes() {
|
||||
@@ -115,6 +115,11 @@ public class Sniffer extends Animal {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.snifferMaxHealth);
|
||||
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.snifferScale);
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
@@ -506,11 +506,11 @@ index 9caafde133bed014fde0e0b5339e859966c39134..14264a491061ef17c9fd3fea36c0505d
|
||||
|
||||
@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
|
||||
index b52f17211805d2abac6997476ae5c7ef53725802..0a297368678cafb92eb0374d1d410271c0d10033 100644
|
||||
index 964d60cd69e33bf77a415a702ef93fbe964eb8b3..8c233a90d07db7959b778a84c4ed0589a6a10dd4 100644
|
||||
--- a/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 {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.striderMaxHealth);
|
||||
@@ -120,6 +120,11 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
|
||||
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.striderScale);
|
||||
}
|
||||
|
||||
+ @Override
|
||||
@@ -522,10 +522,10 @@ index b52f17211805d2abac6997476ae5c7ef53725802..0a297368678cafb92eb0374d1d410271
|
||||
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
|
||||
index 373bf138f8b77413e6c29724e01572f64e0bc005..d43e26af79be5078124d8013167f452bb46a9a4d 100644
|
||||
index 66ebc75ddfd944277e7f7be43ed0d215eb2030f1..1bd16c9243df4500b9d965ba260f7dd1382261ea 100644
|
||||
--- a/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
|
||||
|
||||
@@ -538,51 +538,54 @@ index 373bf138f8b77413e6c29724e01572f64e0bc005..d43e26af79be5078124d8013167f452b
|
||||
public boolean canBeLeashed() {
|
||||
return true;
|
||||
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
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -493,20 +493,24 @@ public class PurpurWorldConfig {
|
||||
public boolean armadilloRidableInWater = true;
|
||||
@@ -499,23 +499,27 @@ public class PurpurWorldConfig {
|
||||
public boolean armadilloControllable = true;
|
||||
public double armadilloMaxHealth = 12.0D;
|
||||
public double armadilloScale = 1.0D;
|
||||
+ public int armadilloBreedingTicks = 6000;
|
||||
private void armadilloSettings() {
|
||||
armadilloRidable = getBoolean("mobs.armadillo.ridable", armadilloRidable);
|
||||
armadilloRidableInWater = getBoolean("mobs.armadillo.ridable-in-water", armadilloRidableInWater);
|
||||
armadilloControllable = getBoolean("mobs.armadillo.controllable", armadilloControllable);
|
||||
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);
|
||||
}
|
||||
|
||||
public boolean axolotlRidable = false;
|
||||
public boolean axolotlControllable = true;
|
||||
public double axolotlMaxHealth = 14.0D;
|
||||
public double axolotlScale = 1.0D;
|
||||
+ public int axolotlBreedingTicks = 6000;
|
||||
private void axolotlSettings() {
|
||||
axolotlRidable = getBoolean("mobs.axolotl.ridable", axolotlRidable);
|
||||
axolotlControllable = getBoolean("mobs.axolotl.controllable", axolotlControllable);
|
||||
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);
|
||||
}
|
||||
|
||||
public boolean batRidable = false;
|
||||
@@ -546,6 +550,7 @@ public class PurpurWorldConfig {
|
||||
public boolean beeControllable = true;
|
||||
@@ -558,6 +562,7 @@ public class PurpurWorldConfig {
|
||||
public double beeMaxY = 320D;
|
||||
public double beeMaxHealth = 10.0D;
|
||||
public double beeScale = 1.0D;
|
||||
+ public int beeBreedingTicks = 6000;
|
||||
private void beeSettings() {
|
||||
beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
|
||||
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
|
||||
@@ -557,6 +562,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.bee.attributes.max_health", oldValue);
|
||||
@@ -570,6 +575,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
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 camelMovementSpeedMin = 0.09D;
|
||||
public double camelMovementSpeedMax = 0.09D;
|
||||
@@ -590,7 +593,7 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
|
||||
private void camelSettings() {
|
||||
camelRidableInWater = getBoolean("mobs.camel.ridable-in-water", camelRidableInWater);
|
||||
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);
|
||||
camelMovementSpeedMin = getDouble("mobs.camel.attributes.movement_speed.min", camelMovementSpeedMin);
|
||||
camelMovementSpeedMax = getDouble("mobs.camel.attributes.movement_speed.max", camelMovementSpeedMax);
|
||||
@@ -598,7 +601,7 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
|
||||
}
|
||||
|
||||
public boolean catRidable = false;
|
||||
@@ -612,6 +620,7 @@ public class PurpurWorldConfig {
|
||||
@@ -630,6 +638,7 @@ public class PurpurWorldConfig {
|
||||
public int catSpawnDelay = 1200;
|
||||
public int catSpawnSwampHutScanRange = 16;
|
||||
public int catSpawnVillageScanRange = 48;
|
||||
@@ -606,7 +609,7 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
|
||||
private void catSettings() {
|
||||
catRidable = getBoolean("mobs.cat.ridable", catRidable);
|
||||
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);
|
||||
catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange);
|
||||
catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange);
|
||||
@@ -614,39 +617,39 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
|
||||
}
|
||||
|
||||
public boolean caveSpiderRidable = false;
|
||||
@@ -648,6 +658,7 @@ public class PurpurWorldConfig {
|
||||
public boolean chickenControllable = true;
|
||||
@@ -670,6 +680,7 @@ public class PurpurWorldConfig {
|
||||
public double chickenMaxHealth = 4.0D;
|
||||
public double chickenScale = 1.0D;
|
||||
public boolean chickenRetaliate = false;
|
||||
+ public int chickenBreedingTicks = 6000;
|
||||
private void chickenSettings() {
|
||||
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
|
||||
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);
|
||||
chickenScale = Mth.clamp(getDouble("mobs.chicken.attributes.scale", chickenScale), 0.0625D, 16.0D);
|
||||
chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate);
|
||||
+ chickenBreedingTicks = getInt("mobs.chicken.breeding-delay-ticks", chickenBreedingTicks);
|
||||
}
|
||||
|
||||
public boolean codRidable = false;
|
||||
@@ -680,6 +692,7 @@ public class PurpurWorldConfig {
|
||||
public boolean cowControllable = true;
|
||||
@@ -706,6 +718,7 @@ public class PurpurWorldConfig {
|
||||
public double cowMaxHealth = 10.0D;
|
||||
public double cowScale = 1.0D;
|
||||
public int cowFeedMushrooms = 0;
|
||||
+ public int cowBreedingTicks = 6000;
|
||||
private void cowSettings() {
|
||||
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
|
||||
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);
|
||||
cowScale = Mth.clamp(getDouble("mobs.cow.attributes.scale", cowScale), 0.0625D, 16.0D);
|
||||
cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms);
|
||||
+ cowBreedingTicks = getInt("mobs.cow.breeding-delay-ticks", cowBreedingTicks);
|
||||
}
|
||||
|
||||
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 donkeyMovementSpeedMin = 0.175D;
|
||||
public double donkeyMovementSpeedMax = 0.175D;
|
||||
@@ -654,7 +657,7 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
|
||||
private void donkeySettings() {
|
||||
donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater);
|
||||
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);
|
||||
donkeyMovementSpeedMin = getDouble("mobs.donkey.attributes.movement_speed.min", donkeyMovementSpeedMin);
|
||||
donkeyMovementSpeedMax = getDouble("mobs.donkey.attributes.movement_speed.max", donkeyMovementSpeedMax);
|
||||
@@ -662,17 +665,17 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
|
||||
}
|
||||
|
||||
public boolean drownedRidable = false;
|
||||
@@ -876,6 +892,7 @@ public class PurpurWorldConfig {
|
||||
public boolean foxControllable = true;
|
||||
@@ -918,6 +934,7 @@ public class PurpurWorldConfig {
|
||||
public double foxMaxHealth = 10.0D;
|
||||
public double foxScale = 1.0D;
|
||||
public boolean foxTypeChangesWithTulips = false;
|
||||
+ public int foxBreedingTicks = 6000;
|
||||
private void foxSettings() {
|
||||
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
|
||||
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);
|
||||
foxScale = Mth.clamp(getDouble("mobs.fox.attributes.scale", foxScale), 0.0625D, 16.0D);
|
||||
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
|
||||
+ foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks);
|
||||
}
|
||||
@@ -691,37 +694,38 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
|
||||
}
|
||||
|
||||
public boolean ghastRidable = false;
|
||||
@@ -965,11 +985,13 @@ public class PurpurWorldConfig {
|
||||
public boolean goatRidableInWater = true;
|
||||
@@ -1015,12 +1035,14 @@ public class PurpurWorldConfig {
|
||||
public boolean goatControllable = true;
|
||||
public double goatMaxHealth = 10.0D;
|
||||
public double goatScale = 1.0D;
|
||||
+ public int goatBreedingTicks = 6000;
|
||||
private void goatSettings() {
|
||||
goatRidable = getBoolean("mobs.goat.ridable", goatRidable);
|
||||
goatRidableInWater = getBoolean("mobs.goat.ridable-in-water", goatRidableInWater);
|
||||
goatControllable = getBoolean("mobs.goat.controllable", goatControllable);
|
||||
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);
|
||||
}
|
||||
|
||||
public boolean guardianRidable = false;
|
||||
@@ -990,6 +1012,7 @@ public class PurpurWorldConfig {
|
||||
public boolean hoglinRidableInWater = true;
|
||||
@@ -1044,6 +1066,7 @@ public class PurpurWorldConfig {
|
||||
public boolean hoglinControllable = true;
|
||||
public double hoglinMaxHealth = 40.0D;
|
||||
public double hoglinScale = 1.0D;
|
||||
+ public int hoglinBreedingTicks = 6000;
|
||||
private void hoglinSettings() {
|
||||
hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable);
|
||||
hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater);
|
||||
@@ -1000,6 +1023,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.hoglin.attributes.max_health", oldValue);
|
||||
@@ -1055,6 +1078,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
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 horseMovementSpeedMin = 0.1125D;
|
||||
public double horseMovementSpeedMax = 0.3375D;
|
||||
@@ -729,7 +733,7 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
|
||||
private void horseSettings() {
|
||||
horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater);
|
||||
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);
|
||||
horseMovementSpeedMin = getDouble("mobs.horse.attributes.movement_speed.min", horseMovementSpeedMin);
|
||||
horseMovementSpeedMax = getDouble("mobs.horse.attributes.movement_speed.max", horseMovementSpeedMax);
|
||||
@@ -737,7 +741,7 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
|
||||
}
|
||||
|
||||
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 llamaMovementSpeedMin = 0.175D;
|
||||
public double llamaMovementSpeedMax = 0.175D;
|
||||
@@ -745,7 +749,7 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
|
||||
private void llamaSettings() {
|
||||
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
|
||||
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);
|
||||
llamaMovementSpeedMin = getDouble("mobs.llama.attributes.movement_speed.min", llamaMovementSpeedMin);
|
||||
llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax);
|
||||
@@ -753,23 +757,23 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
|
||||
}
|
||||
|
||||
public boolean magmaCubeRidable = false;
|
||||
@@ -1146,6 +1174,7 @@ public class PurpurWorldConfig {
|
||||
public boolean mooshroomRidableInWater = true;
|
||||
@@ -1208,6 +1236,7 @@ public class PurpurWorldConfig {
|
||||
public boolean mooshroomControllable = true;
|
||||
public double mooshroomMaxHealth = 10.0D;
|
||||
public double mooshroomScale = 1.0D;
|
||||
+ public int mooshroomBreedingTicks = 6000;
|
||||
private void mooshroomSettings() {
|
||||
mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable);
|
||||
mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater);
|
||||
@@ -1156,6 +1185,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.mooshroom.attributes.max_health", oldValue);
|
||||
@@ -1219,6 +1248,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
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 muleMovementSpeedMin = 0.175D;
|
||||
public double muleMovementSpeedMax = 0.175D;
|
||||
@@ -777,7 +781,7 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
|
||||
private void muleSettings() {
|
||||
muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater);
|
||||
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);
|
||||
muleMovementSpeedMin = getDouble("mobs.mule.attributes.movement_speed.min", muleMovementSpeedMin);
|
||||
muleMovementSpeedMax = getDouble("mobs.mule.attributes.movement_speed.max", muleMovementSpeedMax);
|
||||
@@ -785,61 +789,63 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
|
||||
}
|
||||
|
||||
public boolean ocelotRidable = false;
|
||||
public boolean ocelotRidableInWater = true;
|
||||
@@ -1250,6 +1282,7 @@ public class PurpurWorldConfig {
|
||||
public boolean ocelotControllable = true;
|
||||
public double ocelotMaxHealth = 10.0D;
|
||||
public double ocelotScale = 1.0D;
|
||||
+ public int ocelotBreedingTicks = 6000;
|
||||
private void ocelotSettings() {
|
||||
ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable);
|
||||
ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater);
|
||||
@@ -1196,12 +1229,14 @@ public class PurpurWorldConfig {
|
||||
set("mobs.ocelot.attributes.max_health", oldValue);
|
||||
@@ -1261,6 +1294,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
public boolean pandaRidable = false;
|
||||
public boolean pandaRidableInWater = true;
|
||||
@@ -1268,6 +1302,7 @@ public class PurpurWorldConfig {
|
||||
public boolean pandaControllable = true;
|
||||
public double pandaMaxHealth = 20.0D;
|
||||
public double pandaScale = 1.0D;
|
||||
+ public int pandaBreedingTicks = 6000;
|
||||
private void pandaSettings() {
|
||||
pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable);
|
||||
pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater);
|
||||
@@ -1212,6 +1247,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.panda.attributes.max_health", oldValue);
|
||||
@@ -1279,6 +1314,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
public boolean parrotRidable = false;
|
||||
@@ -1295,6 +1331,7 @@ public class PurpurWorldConfig {
|
||||
public boolean pigControllable = true;
|
||||
@@ -1365,6 +1401,7 @@ public class PurpurWorldConfig {
|
||||
public double pigMaxHealth = 10.0D;
|
||||
public double pigScale = 1.0D;
|
||||
public boolean pigGiveSaddleBack = false;
|
||||
+ public int pigBreedingTicks = 6000;
|
||||
private void pigSettings() {
|
||||
pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
|
||||
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);
|
||||
pigScale = Mth.clamp(getDouble("mobs.pig.attributes.scale", pigScale), 0.0625D, 16.0D);
|
||||
pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack);
|
||||
+ pigBreedingTicks = getInt("mobs.pig.breeding-delay-ticks", pigBreedingTicks);
|
||||
}
|
||||
|
||||
public boolean piglinRidable = false;
|
||||
@@ -1362,6 +1400,7 @@ public class PurpurWorldConfig {
|
||||
public double polarBearMaxHealth = 30.0D;
|
||||
@@ -1440,6 +1478,7 @@ public class PurpurWorldConfig {
|
||||
public double polarBearScale = 1.0D;
|
||||
public String polarBearBreedableItemString = "";
|
||||
public Item polarBearBreedableItem = null;
|
||||
+ public int polarBearBreedingTicks = 6000;
|
||||
private void polarBearSettings() {
|
||||
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
|
||||
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);
|
||||
Item item = BuiltInRegistries.ITEM.get(ResourceLocation.parse(polarBearBreedableItemString));
|
||||
if (item != Items.AIR) polarBearBreedableItem = item;
|
||||
@@ -847,69 +853,70 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
|
||||
}
|
||||
|
||||
public boolean pufferfishRidable = false;
|
||||
@@ -1397,6 +1437,7 @@ public class PurpurWorldConfig {
|
||||
public double rabbitMaxHealth = 3.0D;
|
||||
@@ -1479,6 +1519,7 @@ public class PurpurWorldConfig {
|
||||
public double rabbitScale = 1.0D;
|
||||
public double rabbitNaturalToast = 0.0D;
|
||||
public double rabbitNaturalKiller = 0.0D;
|
||||
+ public int rabbitBreedingTicks = 6000;
|
||||
private void rabbitSettings() {
|
||||
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
|
||||
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
|
||||
@@ -1409,6 +1450,7 @@ public class PurpurWorldConfig {
|
||||
rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth);
|
||||
@@ -1492,6 +1533,7 @@ public class PurpurWorldConfig {
|
||||
rabbitScale = Mth.clamp(getDouble("mobs.rabbit.attributes.scale", rabbitScale), 0.0625D, 16.0D);
|
||||
rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast);
|
||||
rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
|
||||
+ rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks);
|
||||
}
|
||||
|
||||
public boolean ravagerRidable = false;
|
||||
@@ -1445,6 +1487,7 @@ public class PurpurWorldConfig {
|
||||
public boolean sheepRidableInWater = true;
|
||||
@@ -1533,6 +1575,7 @@ public class PurpurWorldConfig {
|
||||
public boolean sheepControllable = true;
|
||||
public double sheepMaxHealth = 8.0D;
|
||||
public double sheepScale = 1.0D;
|
||||
+ public int sheepBreedingTicks = 6000;
|
||||
private void sheepSettings() {
|
||||
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
|
||||
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
|
||||
@@ -1455,6 +1498,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.sheep.attributes.max_health", oldValue);
|
||||
@@ -1544,6 +1587,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
public boolean shulkerRidable = false;
|
||||
@@ -1582,11 +1626,13 @@ public class PurpurWorldConfig {
|
||||
public boolean snifferRidableInWater = true;
|
||||
@@ -1680,12 +1724,14 @@ public class PurpurWorldConfig {
|
||||
public boolean snifferControllable = true;
|
||||
public double snifferMaxHealth = 14.0D;
|
||||
public double snifferScale = 1.0D;
|
||||
+ public int snifferBreedingTicks = 6000;
|
||||
private void snifferSettings() {
|
||||
snifferRidable = getBoolean("mobs.sniffer.ridable", snifferRidable);
|
||||
snifferRidableInWater = getBoolean("mobs.sniffer.ridable-in-water", snifferRidableInWater);
|
||||
snifferControllable = getBoolean("mobs.sniffer.controllable", snifferControllable);
|
||||
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);
|
||||
}
|
||||
|
||||
public boolean squidRidable = false;
|
||||
@@ -1645,6 +1691,7 @@ public class PurpurWorldConfig {
|
||||
public boolean striderRidableInWater = false;
|
||||
@@ -1751,6 +1797,7 @@ public class PurpurWorldConfig {
|
||||
public boolean striderControllable = true;
|
||||
public double striderMaxHealth = 20.0D;
|
||||
public double striderScale = 1.0D;
|
||||
+ public int striderBreedingTicks = 6000;
|
||||
private void striderSettings() {
|
||||
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
|
||||
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
|
||||
@@ -1655,6 +1702,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.strider.attributes.max_health", oldValue);
|
||||
@@ -1762,6 +1809,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
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 traderLlamaMovementSpeedMin = 0.175D;
|
||||
public double traderLlamaMovementSpeedMax = 0.175D;
|
||||
@@ -917,7 +924,7 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
|
||||
private void traderLlamaSettings() {
|
||||
traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable);
|
||||
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);
|
||||
traderLlamaMovementSpeedMin = getDouble("mobs.trader_llama.attributes.movement_speed.min", traderLlamaMovementSpeedMin);
|
||||
traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax);
|
||||
@@ -925,23 +932,23 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
|
||||
}
|
||||
|
||||
public boolean tropicalFishRidable = false;
|
||||
@@ -1712,6 +1762,7 @@ public class PurpurWorldConfig {
|
||||
public boolean turtleRidableInWater = true;
|
||||
@@ -1822,6 +1872,7 @@ public class PurpurWorldConfig {
|
||||
public boolean turtleControllable = true;
|
||||
public double turtleMaxHealth = 30.0D;
|
||||
public double turtleScale = 1.0D;
|
||||
+ public int turtleBreedingTicks = 6000;
|
||||
private void turtleSettings() {
|
||||
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
|
||||
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
|
||||
@@ -1722,6 +1773,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.turtle.attributes.max_health", oldValue);
|
||||
@@ -1833,6 +1884,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
public boolean vexRidable = false;
|
||||
@@ -1749,6 +1801,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1863,6 +1915,7 @@ public class PurpurWorldConfig {
|
||||
public boolean villagerFollowEmeraldBlock = false;
|
||||
public boolean villagerCanBeLeashed = false;
|
||||
public boolean villagerCanBreed = true;
|
||||
@@ -949,7 +956,7 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
|
||||
private void villagerSettings() {
|
||||
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
|
||||
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);
|
||||
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
|
||||
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
|
||||
@@ -957,18 +964,18 @@ index 915990fded424c7dd85cae72a3216c3636e3ec5a..c21e0ca1e57cd409ee1e871dd98553d7
|
||||
}
|
||||
|
||||
public boolean vindicatorRidable = false;
|
||||
@@ -1873,6 +1927,7 @@ public class PurpurWorldConfig {
|
||||
public boolean wolfRidableInWater = true;
|
||||
@@ -1999,6 +2053,7 @@ public class PurpurWorldConfig {
|
||||
public boolean wolfControllable = true;
|
||||
public double wolfMaxHealth = 8.0D;
|
||||
public double wolfScale = 1.0D;
|
||||
+ public int wolfBreedingTicks = 6000;
|
||||
private void wolfSettings() {
|
||||
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
|
||||
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
|
||||
@@ -1883,6 +1938,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.wolf.attributes.max_health", oldValue);
|
||||
@@ -2010,6 +2065,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
@@ -126,10 +126,10 @@ index d8a63ac5444eff8e3decb2f4addc2decb8a5d648..41cc9229108aa8e4f5655dfe590ff414
|
||||
|
||||
if (((HangingEntity) object).survives()) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index a7f60a530528cfbbefb618c5d787261f00239a52..b78cddab8a9b66f92bca5f215228481e2b9fca69 100644
|
||||
index 90d8b66b86c36df1e92c5ab0312d791cc2887847..074d872372961e823f94c63756c33136cd7e8bbe 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -97,8 +97,10 @@ public class PurpurWorldConfig {
|
||||
@@ -98,8 +98,10 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
|
||||
public float armorstandStepHeight = 0.0F;
|
||||
@@ -140,7 +140,7 @@ index a7f60a530528cfbbefb618c5d787261f00239a52..b78cddab8a9b66f92bca5f215228481e
|
||||
}
|
||||
|
||||
public boolean arrowMovementResetsDespawnCounter = true;
|
||||
@@ -110,6 +112,7 @@ public class PurpurWorldConfig {
|
||||
@@ -111,6 +113,7 @@ public class PurpurWorldConfig {
|
||||
public boolean boatEjectPlayersOnLand = false;
|
||||
public boolean disableDropsOnCrammingDeath = false;
|
||||
public boolean milkCuresBadOmen = true;
|
||||
@@ -148,7 +148,7 @@ index a7f60a530528cfbbefb618c5d787261f00239a52..b78cddab8a9b66f92bca5f215228481e
|
||||
public double tridentLoyaltyVoidReturnHeight = 0.0D;
|
||||
public double voidDamageHeight = -64.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);
|
||||
disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
|
||||
milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);
|
||||
|
||||
@@ -17,10 +17,10 @@ index 774c982f28b4f127fc3f036c19dfb47fb9ae3264..d49b60e7e643498b49c03593dc0da2f8
|
||||
// Paper end - Add PlayerNameEntityEvent
|
||||
mob.setPersistenceRequired();
|
||||
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
|
||||
+++ 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 boolean armorstandSetNameVisible = false;
|
||||
|
||||
@@ -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.
|
||||
|
||||
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
|
||||
+++ 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
|
||||
public boolean requiresCustomPersistence() {
|
||||
@@ -21,20 +21,20 @@ index 8604db61d2c8042d0399262cb60b98457e4f894c..ada2403856aeb7cb50c0b00fb1dad18b
|
||||
|
||||
private static class EndermanFreezeWhenLookedAt extends Goal {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 25845de5d604de1c19302b3b0bf8792bf323564d..9e492e98a14dffd74099bdf289ab70d2ccf9e9cd 100644
|
||||
index 75de05805f08748c17c95f9a62a3f8351f62f783..df43ccdf64377f0e66058d0c55068c9c237330c4 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -848,6 +848,7 @@ public class PurpurWorldConfig {
|
||||
public boolean endermanControllable = true;
|
||||
@@ -884,6 +884,7 @@ public class PurpurWorldConfig {
|
||||
public double endermanMaxHealth = 40.0D;
|
||||
public double endermanScale = 1.0D;
|
||||
public boolean endermanAllowGriefing = true;
|
||||
+ public boolean endermanDespawnEvenWithBlock = false;
|
||||
private void endermanSettings() {
|
||||
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
|
||||
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);
|
||||
endermanScale = Mth.clamp(getDouble("mobs.enderman.attributes.scale", endermanScale), 0.0625D, 16.0D);
|
||||
endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing);
|
||||
+ endermanDespawnEvenWithBlock = getBoolean("mobs.enderman.can-despawn-with-held-block", endermanDespawnEvenWithBlock);
|
||||
}
|
||||
|
||||
@@ -18,10 +18,10 @@ index 2b4d206c0d31ba38d7b2af654bd420e85145d441..f59a2903bfb8ae591a638ea5bb387caa
|
||||
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
|
||||
index 9e492e98a14dffd74099bdf289ab70d2ccf9e9cd..a2fc0a19927d9999fa1530c83164a545e58e88c8 100644
|
||||
index c48ff1b139ef8009f6be30d8926cb4d4fa0145bc..5e1b946b4e5b2fda7175fc265d91361c11bbb8b3 100644
|
||||
--- a/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 {
|
||||
//}
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
index a2fc0a19927d9999fa1530c83164a545e58e88c8..3520ce3fba42f02c5c46f1cce1263c23a1087bc3 100644
|
||||
index 5e1b946b4e5b2fda7175fc265d91361c11bbb8b3..fd83a86d245b775a884d33528c80ae53257f3a95 100644
|
||||
--- a/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;
|
||||
|
||||
@@ -27,10 +27,10 @@ index 128c0daae941cda386417dfa452e97a9b056441d..7737c2b5aaa8ad8367915991b75aff00
|
||||
|
||||
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
|
||||
index 3520ce3fba42f02c5c46f1cce1263c23a1087bc3..b1dbb9c7b5c04725ad3529e5af1cc9f75f6ef1d5 100644
|
||||
index fd83a86d245b775a884d33528c80ae53257f3a95..9c4511d478a0ad5f5757470454063bae52b1127b 100644
|
||||
--- a/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 boatEjectPlayersOnLand = false;
|
||||
@@ -38,7 +38,7 @@ index 3520ce3fba42f02c5c46f1cce1263c23a1087bc3..b1dbb9c7b5c04725ad3529e5af1cc9f7
|
||||
public boolean disableDropsOnCrammingDeath = false;
|
||||
public boolean milkCuresBadOmen = true;
|
||||
public boolean persistentDroppableEntityDisplayNames = true;
|
||||
@@ -123,6 +124,7 @@ public class PurpurWorldConfig {
|
||||
@@ -124,6 +125,7 @@ public class PurpurWorldConfig {
|
||||
private void miscGameplayMechanicsSettings() {
|
||||
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
|
||||
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
|
||||
|
||||
@@ -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.
|
||||
|
||||
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
|
||||
+++ 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
|
||||
protected void registerGoals() {
|
||||
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(4, new RandomLookAroundGoal(this));
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 53fb0bd1fb6c63f0580769243e645f38786aef28..dac1d00e6c79bd2fcf57d950f9e528b7d4ff8542 100644
|
||||
index fa91c4afeaf1a01d27fea3741e85cc5721d80d14..ef7ef1c1d02b6ab51b7ac1c944c18e303a39e27b 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1625,6 +1625,10 @@ public class PurpurWorldConfig {
|
||||
public boolean snowGolemLeaveTrailWhenRidden = false;
|
||||
@@ -1721,6 +1721,10 @@ public class PurpurWorldConfig {
|
||||
public double snowGolemMaxHealth = 4.0D;
|
||||
public double snowGolemScale = 1.0D;
|
||||
public boolean snowGolemPutPumpkinBack = false;
|
||||
+ public int snowGolemSnowBallMin = 20;
|
||||
+ public int snowGolemSnowBallMax = 20;
|
||||
@@ -37,9 +37,9 @@ index 53fb0bd1fb6c63f0580769243e645f38786aef28..dac1d00e6c79bd2fcf57d950f9e528b7
|
||||
private void snowGolemSettings() {
|
||||
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
|
||||
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);
|
||||
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);
|
||||
+ snowGolemSnowBallMin = getInt("mobs.snow_golem.min-shoot-interval-ticks", snowGolemSnowBallMin);
|
||||
+ snowGolemSnowBallMax = getInt("mobs.snow_golem.max-shoot-interval-ticks", snowGolemSnowBallMax);
|
||||
|
||||
@@ -136,10 +136,10 @@ index a0e0692d17760f440fe81d52887284c787e562db..ab9bebc07b5228dbc0d3ba4b0f7d1bbe
|
||||
brain.setMemory(MemoryModuleType.SECONDARY_JOB_SITE, list);
|
||||
} 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
|
||||
index ad3e340c2487aa1dc2ed3ab08fa8747b7516022e..2368d4d347cc0a1d670b9b1ee568560ed8e1a98c 100644
|
||||
index 96a140098b467afa9122093a08ebf190ed566a30..3d34f4ab1e81645d45441589c253544900fc8ec7 100644
|
||||
--- a/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));
|
||||
} else {
|
||||
brain.setSchedule(Schedule.VILLAGER_DEFAULT);
|
||||
@@ -148,7 +148,7 @@ index ad3e340c2487aa1dc2ed3ab08fa8747b7516022e..2368d4d347cc0a1d670b9b1ee568560e
|
||||
}
|
||||
|
||||
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() {
|
||||
return this.getInventory().hasAnyMatching((itemstack) -> {
|
||||
@@ -174,10 +174,10 @@ index 8734ab1bd8299bbf43906d81a349c2a13e0981a7..3ca83269311cbc18c9ef3ce62cff6a2d
|
||||
"farmer",
|
||||
PoiTypes.FARMER,
|
||||
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
|
||||
+++ 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 villagerCanBreed = true;
|
||||
public int villagerBreedingTicks = 6000;
|
||||
@@ -186,7 +186,7 @@ index dac1d00e6c79bd2fcf57d950f9e528b7d4ff8542..9b17ce3ca2d7345a7c455f75d38e0eae
|
||||
private void villagerSettings() {
|
||||
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
|
||||
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);
|
||||
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
|
||||
villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks);
|
||||
|
||||
@@ -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.
|
||||
|
||||
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
|
||||
+++ 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();
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ index 0dcf5638e12c7670e6a5e577210e2542de1fd38b..47419219d4f435a17344361f4a60d5aa
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -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
|
||||
index 9b17ce3ca2d7345a7c455f75d38e0eae1d0a7c78..c9d6c2cdc603c2b24c5afb9fbf741c35cf72a175 100644
|
||||
index e25ba23071d89b1a9866adbd427b7bdaa73efb2a..c2a42bd6b2347c559048cb0f718920c9ff0ea142 100644
|
||||
--- a/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 double zombifiedPiglinJockeyChance = 0.05D;
|
||||
public boolean zombifiedPiglinJockeyTryExistingChickens = true;
|
||||
@@ -46,7 +46,7 @@ index 9b17ce3ca2d7345a7c455f75d38e0eae1d0a7c78..c9d6c2cdc603c2b24c5afb9fbf741c35
|
||||
private void zombifiedPiglinSettings() {
|
||||
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
|
||||
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);
|
||||
zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance);
|
||||
zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens);
|
||||
|
||||
@@ -7,7 +7,7 @@ Configurable chance to spawn a wolf that is rabid.
|
||||
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
|
||||
index e3c0163a4b00dca01b97c41aa57aa998063ec491..04d7e4bc6cc1deda5f53f6ae5f46d2402e0d0c10 100644
|
||||
index da375fb6907e0c46ed176bc76a84f2666227547c..0a3b883ffe3627c5ab7c763f4ecaef4f70e1e144 100644
|
||||
--- a/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
|
||||
@@ -48,7 +48,7 @@ index e3c0163a4b00dca01b97c41aa57aa998063ec491..04d7e4bc6cc1deda5f53f6ae5f46d240
|
||||
private static final float START_HEALTH = 8.0F;
|
||||
private static final float TAME_HEALTH = 40.0F;
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -79,7 +79,7 @@ index e3c0163a4b00dca01b97c41aa57aa998063ec491..04d7e4bc6cc1deda5f53f6ae5f46d240
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
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(2, new SitWhenOrderedToGoal(this));
|
||||
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(5, new MeleeAttackGoal(this, 1.0D, true));
|
||||
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(3, (new HurtByTargetGoal(this, new Class[0])).setAlertOthers());
|
||||
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(7, new NearestAttackableTargetGoal<>(this, AbstractSkeleton.class, false));
|
||||
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) {
|
||||
super.addAdditionalSaveData(nbt);
|
||||
nbt.putByte("CollarColor", (byte) this.getCollarColor().getId());
|
||||
@@ -104,7 +104,7 @@ index e3c0163a4b00dca01b97c41aa57aa998063ec491..04d7e4bc6cc1deda5f53f6ae5f46d240
|
||||
this.getVariant().unwrapKey().ifPresent((resourcekey) -> {
|
||||
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)) {
|
||||
this.setCollarColor(DyeColor.byId(nbt.getInt("CollarColor")));
|
||||
}
|
||||
@@ -115,7 +115,7 @@ index e3c0163a4b00dca01b97c41aa57aa998063ec491..04d7e4bc6cc1deda5f53f6ae5f46d240
|
||||
|
||||
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);
|
||||
@@ -128,7 +128,7 @@ index e3c0163a4b00dca01b97c41aa57aa998063ec491..04d7e4bc6cc1deda5f53f6ae5f46d240
|
||||
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() {
|
||||
super.tick();
|
||||
if (this.isAlive()) {
|
||||
@@ -140,7 +140,7 @@ index e3c0163a4b00dca01b97c41aa57aa998063ec491..04d7e4bc6cc1deda5f53f6ae5f46d240
|
||||
this.interestedAngleO = this.interestedAngle;
|
||||
if (this.isInterested()) {
|
||||
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);
|
||||
this.tryToTame(player);
|
||||
return InteractionResult.SUCCESS;
|
||||
@@ -182,22 +182,22 @@ index 86574da257731de7646a712ed73384955fe35aa3..e223234dd64b0e41441c3b9f649f0b64
|
||||
+ // Purpur end
|
||||
}
|
||||
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
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1956,6 +1956,8 @@ public class PurpurWorldConfig {
|
||||
public boolean wolfRidableInWater = true;
|
||||
@@ -2082,6 +2082,8 @@ public class PurpurWorldConfig {
|
||||
public boolean wolfControllable = true;
|
||||
public double wolfMaxHealth = 8.0D;
|
||||
public double wolfScale = 1.0D;
|
||||
+ public boolean wolfMilkCuresRabies = true;
|
||||
+ public double wolfNaturalRabid = 0.0D;
|
||||
public int wolfBreedingTicks = 6000;
|
||||
private void wolfSettings() {
|
||||
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
|
||||
@@ -1967,6 +1969,8 @@ public class PurpurWorldConfig {
|
||||
set("mobs.wolf.attributes.max_health", oldValue);
|
||||
@@ -2094,6 +2096,8 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
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);
|
||||
+ wolfNaturalRabid = getDouble("mobs.wolf.spawn-rabid-chance", wolfNaturalRabid);
|
||||
wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks);
|
||||
|
||||
@@ -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.
|
||||
|
||||
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
|
||||
+++ 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);
|
||||
}
|
||||
|
||||
@@ -26,10 +26,10 @@ index e1f8fff9b67ad3c74afc69f2fba8919ffa1800e6..8d12b8dad60b44e3315584746d27772f
|
||||
@Override
|
||||
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
|
||||
index 04d7e4bc6cc1deda5f53f6ae5f46d2402e0d0c10..5dd146d318851ce581a0d7841bd87ae9767dab6a 100644
|
||||
index 0a3b883ffe3627c5ab7c763f4ecaef4f70e1e144..edf12c4f81f8a113a87b70bf4ab91888fc648cd5 100644
|
||||
--- a/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() {
|
||||
this.goalSelector.addGoal(1, new FloatGoal(this));
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 209201b2789af1326616b52ffb14d64b253ebac9..6a92afa085bd2929f41de21da6e4e6d693a4f602 100644
|
||||
index 1d64122cda959967d60294cb69be2854f7f9d5bd..aa2038f6038987a218bd779de37d797b7a3291ee 100644
|
||||
--- a/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 catSpawnVillageScanRange = 48;
|
||||
public int catBreedingTicks = 6000;
|
||||
@@ -54,7 +54,7 @@ index 209201b2789af1326616b52ffb14d64b253ebac9..6a92afa085bd2929f41de21da6e4e6d6
|
||||
private void catSettings() {
|
||||
catRidable = getBoolean("mobs.cat.ridable", catRidable);
|
||||
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);
|
||||
catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange);
|
||||
catBreedingTicks = getInt("mobs.cat.breeding-delay-ticks", catBreedingTicks);
|
||||
@@ -66,18 +66,18 @@ index 209201b2789af1326616b52ffb14d64b253ebac9..6a92afa085bd2929f41de21da6e4e6d6
|
||||
}
|
||||
|
||||
public boolean caveSpiderRidable = false;
|
||||
@@ -1956,6 +1962,7 @@ public class PurpurWorldConfig {
|
||||
public boolean wolfRidableInWater = true;
|
||||
@@ -2082,6 +2088,7 @@ public class PurpurWorldConfig {
|
||||
public boolean wolfControllable = true;
|
||||
public double wolfMaxHealth = 8.0D;
|
||||
public double wolfScale = 1.0D;
|
||||
+ public DyeColor wolfDefaultCollarColor = DyeColor.RED;
|
||||
public boolean wolfMilkCuresRabies = true;
|
||||
public double wolfNaturalRabid = 0.0D;
|
||||
public int wolfBreedingTicks = 6000;
|
||||
@@ -1969,6 +1976,11 @@ public class PurpurWorldConfig {
|
||||
set("mobs.wolf.attributes.max_health", oldValue);
|
||||
@@ -2096,6 +2103,11 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);
|
||||
wolfScale = Mth.clamp(getDouble("mobs.wolf.attributes.scale", wolfScale), 0.0625D, 16.0D);
|
||||
+ try {
|
||||
+ wolfDefaultCollarColor = DyeColor.valueOf(getString("mobs.wolf.default-collar-color", wolfDefaultCollarColor.name()));
|
||||
+ } catch (IllegalArgumentException ignore) {
|
||||
|
||||
@@ -17,10 +17,10 @@ index 8f221fe016ea7221eb3a2116a2213139cf961797..88725e6f8c6490253e110485f5a62e9d
|
||||
|
||||
@Override
|
||||
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
|
||||
+++ 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 boolean phantomIgnorePlayersWithTorch = false;
|
||||
public boolean phantomBurnInDaylight = true;
|
||||
@@ -28,7 +28,7 @@ index 7dabd7a3e68aa56f4557b45143a72d7c667dd023..1266122b9113338c6b07616ea40eb0d3
|
||||
private void phantomSettings() {
|
||||
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
|
||||
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);
|
||||
phantomBurnInDaylight = getBoolean("mobs.phantom.burn-in-daylight", phantomBurnInDaylight);
|
||||
phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch);
|
||||
|
||||
@@ -17,10 +17,10 @@ index 8fbfd18b3caeed769396b3ffb1b1778b2f38edc0..dbfe8f5d4df244cb694b73ea8763628c
|
||||
|
||||
return world.getBlockState(blockposition1).isRedstoneConductor(world, blockposition1);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 1266122b9113338c6b07616ea40eb0d3fbf1ca6e..9b6c63beb9bf3e170a8d16f357d0985aa2c56fad 100644
|
||||
index 3589f85cfb09537ffb5fa08fbfdd03a6e5687561..51971c112d0d327af70dccc0cb9485275135ab98 100644
|
||||
--- a/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 {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ index 911a12e8af22b5f7a645384fee37c9ad435a9be1..73774049d9d4165036ddf90979d2de83
|
||||
|
||||
if (environment.includeIntegrated) {
|
||||
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
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1079,6 +1079,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -29,7 +29,7 @@ index f1686cca24ff1339ca0062d288ddfe1049e9090a..71cc454cda7ad6253cadaface31de829
|
||||
this.hasLoggedStop = true; // 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
|
||||
index 4582215c4952c8557df0c50cc70302940eff40d7..01fbe7f7d898be5cfc423255e2abb97e75f32718 100644
|
||||
index 04fd1172b47a74b16955cf93fc20f64fd056b16e..34dfcdb3de191c08dffe22f624f4e968fbbc0f45 100644
|
||||
--- a/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
|
||||
|
||||
@@ -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
|
||||
index 0a297368678cafb92eb0374d1d410271c0d10033..13d40773ff8272ca081e852d4ae3dc09f6fa0ffc 100644
|
||||
index 8c233a90d07db7959b778a84c4ed0589a6a10dd4..d534eaa9231602f8fa73d0230223f08348aae95b 100644
|
||||
--- a/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) {
|
||||
boolean flag = this.isFood(player.getItemInHand(hand));
|
||||
|
||||
@@ -29,20 +29,20 @@ index 0a297368678cafb92eb0374d1d410271c0d10033..13d40773ff8272ca081e852d4ae3dc09
|
||||
if (!this.level().isClientSide) {
|
||||
player.startRiding(this);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 2967f4028654908cdb6f80c2bef982028d3a81be..5604e457aad8782642d1c793c23a5ac54431304e 100644
|
||||
index 080446acffc6150b8c578946bfcfa99e2ba13d79..cb948241a14bf7348a37ac6f885ecfe49ef858e2 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1730,6 +1730,7 @@ public class PurpurWorldConfig {
|
||||
public boolean striderControllable = true;
|
||||
@@ -1836,6 +1836,7 @@ public class PurpurWorldConfig {
|
||||
public double striderMaxHealth = 20.0D;
|
||||
public double striderScale = 1.0D;
|
||||
public int striderBreedingTicks = 6000;
|
||||
+ public boolean striderGiveSaddleBack = false;
|
||||
private void striderSettings() {
|
||||
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
|
||||
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);
|
||||
striderScale = Mth.clamp(getDouble("mobs.strider.attributes.scale", striderScale), 0.0625D, 16.0D);
|
||||
striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks);
|
||||
+ striderGiveSaddleBack = getBoolean("mobs.strider.give-saddle-back", striderGiveSaddleBack);
|
||||
}
|
||||
|
||||
@@ -26,10 +26,10 @@ index 025309a47e9683ec29cd94f997663b7faec1acb4..2dafba96353c208b89da7b65c0d56a51
|
||||
|
||||
protected ItemCooldowns createItemCooldowns() {
|
||||
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
|
||||
+++ 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);
|
||||
}
|
||||
|
||||
|
||||
@@ -92,10 +92,10 @@ index 6634228ef002cbef67980272a26be4a75c954116..a61abba840a55fb4fbc9716a5e05eb27
|
||||
} else if (this.nextStartTick > 0) {
|
||||
--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
|
||||
index 2aac6472453aa2ec58a6d5b7040df6d457353ff5..857f59f47e47e183b6e4191978d225ee040fb979 100644
|
||||
index 252df18c369d5e556632ed5a287dab04e4e9b58d..6c56c51a89928ba52b1fb5f66f6169fa94fffed0 100644
|
||||
--- a/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() {
|
||||
@@ -105,10 +105,10 @@ index 2aac6472453aa2ec58a6d5b7040df6d457353ff5..857f59f47e47e183b6e4191978d225ee
|
||||
|
||||
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
|
||||
index 4ef310dda00d049b109fc379de2b90696eb24d27..b7ab06f46cfa1fdc4c33595484df781db1967da5 100644
|
||||
index 7e509458134340bd05d15f5f51b6d1fce3206d6a..db9ed247a2a2c2316a9dcc06a8961345c40752a9 100644
|
||||
--- a/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
|
||||
public boolean canUse() {
|
||||
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
|
||||
index ee4d4a4fe314ee9bce69c96dd65d84ed1ace0543..cdb6657d30d224709aec3921c5fb8380f8acd93e 100644
|
||||
index 5b910b4168b7f7825916c14e402f7f00b651cd60..09be2e9651a736bf44f3f06f1d4e6a5b4dcf230b 100644
|
||||
--- a/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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
index bf2591f163b8482d35a6e532004677199685a593..b078d1922db9f0db561d6e824794bc4518a44947 100644
|
||||
index 0554ee8f76f58b72b7cc42a6165660854095045a..10a81e7e096751fd17db8aa7d6b4b74c6e7e3874 100644
|
||||
--- a/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 {
|
||||
@@ -144,10 +144,10 @@ index bf2591f163b8482d35a6e532004677199685a593..b078d1922db9f0db561d6e824794bc45
|
||||
// flag1 = this.level().removeBlock(blockposition, false) || flag1;
|
||||
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
|
||||
index 402f67ca333e09c684ae083071715734e0767bf5..9bd615ef8f7de16f823954af3ecf76897dec90df 100644
|
||||
index e3ee5d5eb80d689eb77731b3f26d0c314fcc4436..d75d331355129edb975fe5adc585e35852d484da 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
@@ -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) {
|
||||
--this.destroyBlocksTick;
|
||||
@@ -157,10 +157,10 @@ index 402f67ca333e09c684ae083071715734e0767bf5..9bd615ef8f7de16f823954af3ecf7689
|
||||
|
||||
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
|
||||
index ada2403856aeb7cb50c0b00fb1dad18b93ecd52c..c2bddf3e67929b1d9da5739c4f0f15475b537cf0 100644
|
||||
index f969164a67f98f5a9925f98a9595f0b555ad47fc..2ef35e21c20ec19e1af0f7380d8c36fbf6948e47 100644
|
||||
--- a/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
|
||||
public boolean canUse() {
|
||||
if (!enderman.level().purpurConfig.endermanAllowGriefing) return false; // Purpur
|
||||
@@ -177,7 +177,7 @@ index ada2403856aeb7cb50c0b00fb1dad18b93ecd52c..c2bddf3e67929b1d9da5739c4f0f1547
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -574,7 +582,15 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -575,7 +583,15 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@Override
|
||||
public boolean canUse() {
|
||||
if (!enderman.level().purpurConfig.endermanAllowGriefing) return false; // Purpur
|
||||
@@ -195,10 +195,10 @@ index ada2403856aeb7cb50c0b00fb1dad18b93ecd52c..c2bddf3e67929b1d9da5739c4f0f1547
|
||||
|
||||
@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
|
||||
index 3ac01d7e55934d145365790b6cb0c5a04ac2a74d..5ade0be7989ccea459e3c08a0280b6be31f684ce 100644
|
||||
index 8aa91f45d3a863308ce1fce1fde40a6c9a2042db..a7976b5d8548277061aa6a4e1147922e283d5a7d 100644
|
||||
--- a/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;
|
||||
} else if (Evoker.this.tickCount < this.nextAttackTickCount) {
|
||||
return false;
|
||||
@@ -208,10 +208,10 @@ index 3ac01d7e55934d145365790b6cb0c5a04ac2a74d..5ade0be7989ccea459e3c08a0280b6be
|
||||
} else {
|
||||
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
|
||||
index ebbfd1fec85f1d4e099f02c91f3d7346b6bb3c7b..86704fcba15cec26eef3f77167aee9116ba27980 100644
|
||||
index f3b57f58738d7cb84bd25f0ce7752ce859f03c96..5d9e85b22c0fe8d0b9d9fc06fc1f3cd170931e17 100644
|
||||
--- a/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));
|
||||
}
|
||||
|
||||
@@ -221,10 +221,10 @@ index ebbfd1fec85f1d4e099f02c91f3d7346b6bb3c7b..86704fcba15cec26eef3f77167aee911
|
||||
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();
|
||||
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
|
||||
+++ 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;
|
||||
}
|
||||
// CraftBukkit end
|
||||
@@ -233,7 +233,7 @@ index 9d5d71135b00eb0ab1b1dfaf7925e13b8a44d22c..dee89c6e5b4750ebefb3888485a2bc09
|
||||
world.destroyBlock(blockposition1, true, this.silverfish);
|
||||
} else {
|
||||
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 {
|
||||
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);
|
||||
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
|
||||
index faf5889c040a6c8fbac61a1d02036d32601f3d24..d54f8041b55f8b8d72dc4fda78ae456671f779d4 100644
|
||||
index 1d66809216703a9ef9129f8e31887658726ad9ce..1084252852676a747cc05849fe2567dbcbc6a359 100644
|
||||
--- a/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
|
||||
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
|
||||
index 555ba78408b10368a997dad12cdf578d3e4306fc..abcbf373c1c1061203c5b482d60dadb0146419aa 100644
|
||||
index a3cdaaa530d43ddfb5dcf312f39425372e18a0a6..3d6b6f262aaf354b57973db247c73fdcca3488cf 100644
|
||||
--- a/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 boatsDoFallDamage = false;
|
||||
public boolean disableDropsOnCrammingDeath = false;
|
||||
@@ -390,7 +390,7 @@ index 555ba78408b10368a997dad12cdf578d3e4306fc..abcbf373c1c1061203c5b482d60dadb0
|
||||
public double tridentLoyaltyVoidReturnHeight = 0.0D;
|
||||
public double voidDamageHeight = -64.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);
|
||||
boatsDoFallDamage = getBoolean("gameplay-mechanics.boat.do-fall-damage", boatsDoFallDamage);
|
||||
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);
|
||||
voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight);
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -414,7 +414,7 @@ index 555ba78408b10368a997dad12cdf578d3e4306fc..abcbf373c1c1061203c5b482d60dadb0
|
||||
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -426,7 +426,7 @@ index 555ba78408b10368a997dad12cdf578d3e4306fc..abcbf373c1c1061203c5b482d60dadb0
|
||||
public boolean respawnAnchorExplode = true;
|
||||
public double respawnAnchorExplosionPower = 5.0D;
|
||||
public boolean respawnAnchorExplosionFire = true;
|
||||
@@ -491,10 +504,12 @@ public class PurpurWorldConfig {
|
||||
@@ -492,10 +505,12 @@ public class PurpurWorldConfig {
|
||||
public boolean turtleEggsBreakFromExpOrbs = false;
|
||||
public boolean turtleEggsBreakFromItems = false;
|
||||
public boolean turtleEggsBreakFromMinecarts = false;
|
||||
@@ -439,23 +439,23 @@ index 555ba78408b10368a997dad12cdf578d3e4306fc..abcbf373c1c1061203c5b482d60dadb0
|
||||
}
|
||||
|
||||
public int waterInfiniteRequiredSources = 2;
|
||||
@@ -752,6 +767,7 @@ public class PurpurWorldConfig {
|
||||
public double creeperMaxHealth = 20.0D;
|
||||
@@ -780,6 +795,7 @@ public class PurpurWorldConfig {
|
||||
public double creeperScale = 1.0D;
|
||||
public double creeperChargedChance = 0.0D;
|
||||
public boolean creeperAllowGriefing = true;
|
||||
+ public boolean creeperBypassMobGriefing = false;
|
||||
private void creeperSettings() {
|
||||
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
|
||||
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
|
||||
@@ -764,6 +780,7 @@ public class PurpurWorldConfig {
|
||||
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth);
|
||||
@@ -793,6 +809,7 @@ public class PurpurWorldConfig {
|
||||
creeperScale = Mth.clamp(getDouble("mobs.creeper.attributes.scale", creeperScale), 0.0625D, 16.0D);
|
||||
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
|
||||
creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing);
|
||||
+ creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing);
|
||||
}
|
||||
|
||||
public boolean dolphinRidable = false;
|
||||
@@ -858,6 +875,7 @@ public class PurpurWorldConfig {
|
||||
@@ -893,6 +910,7 @@ public class PurpurWorldConfig {
|
||||
public double enderDragonMaxY = 320D;
|
||||
public double enderDragonMaxHealth = 200.0D;
|
||||
public boolean enderDragonAlwaysDropsFullExp = false;
|
||||
@@ -463,7 +463,7 @@ index 555ba78408b10368a997dad12cdf578d3e4306fc..abcbf373c1c1061203c5b482d60dadb0
|
||||
private void enderDragonSettings() {
|
||||
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
|
||||
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);
|
||||
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
|
||||
@@ -471,87 +471,87 @@ index 555ba78408b10368a997dad12cdf578d3e4306fc..abcbf373c1c1061203c5b482d60dadb0
|
||||
}
|
||||
|
||||
public boolean endermanRidable = false;
|
||||
@@ -882,6 +901,7 @@ public class PurpurWorldConfig {
|
||||
public double endermanMaxHealth = 40.0D;
|
||||
@@ -918,6 +937,7 @@ public class PurpurWorldConfig {
|
||||
public double endermanScale = 1.0D;
|
||||
public boolean endermanAllowGriefing = true;
|
||||
public boolean endermanDespawnEvenWithBlock = false;
|
||||
+ public boolean endermanBypassMobGriefing = false;
|
||||
private void endermanSettings() {
|
||||
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
|
||||
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
|
||||
@@ -894,6 +914,7 @@ public class PurpurWorldConfig {
|
||||
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);
|
||||
@@ -931,6 +951,7 @@ public class PurpurWorldConfig {
|
||||
endermanScale = Mth.clamp(getDouble("mobs.enderman.attributes.scale", endermanScale), 0.0625D, 16.0D);
|
||||
endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing);
|
||||
endermanDespawnEvenWithBlock = getBoolean("mobs.enderman.can-despawn-with-held-block", endermanDespawnEvenWithBlock);
|
||||
+ endermanBypassMobGriefing = getBoolean("mobs.enderman.bypass-mob-griefing", endermanBypassMobGriefing);
|
||||
}
|
||||
|
||||
public boolean endermiteRidable = false;
|
||||
@@ -916,6 +937,7 @@ public class PurpurWorldConfig {
|
||||
public boolean evokerRidableInWater = true;
|
||||
@@ -956,6 +977,7 @@ public class PurpurWorldConfig {
|
||||
public boolean evokerControllable = true;
|
||||
public double evokerMaxHealth = 24.0D;
|
||||
public double evokerScale = 1.0D;
|
||||
+ public boolean evokerBypassMobGriefing = false;
|
||||
private void evokerSettings() {
|
||||
evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable);
|
||||
evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater);
|
||||
@@ -926,6 +948,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.evoker.attributes.max_health", oldValue);
|
||||
@@ -967,6 +989,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
public boolean foxRidable = false;
|
||||
@@ -934,6 +957,7 @@ public class PurpurWorldConfig {
|
||||
public double foxMaxHealth = 10.0D;
|
||||
@@ -976,6 +999,7 @@ public class PurpurWorldConfig {
|
||||
public double foxScale = 1.0D;
|
||||
public boolean foxTypeChangesWithTulips = false;
|
||||
public int foxBreedingTicks = 6000;
|
||||
+ public boolean foxBypassMobGriefing = false;
|
||||
private void foxSettings() {
|
||||
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
|
||||
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
|
||||
@@ -946,6 +970,7 @@ public class PurpurWorldConfig {
|
||||
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);
|
||||
@@ -989,6 +1013,7 @@ public class PurpurWorldConfig {
|
||||
foxScale = Mth.clamp(getDouble("mobs.fox.attributes.scale", foxScale), 0.0625D, 16.0D);
|
||||
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
|
||||
foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks);
|
||||
+ foxBypassMobGriefing = getBoolean("mobs.fox.bypass-mob-griefing", foxBypassMobGriefing);
|
||||
}
|
||||
|
||||
public boolean frogRidable = false;
|
||||
@@ -1393,6 +1418,7 @@ public class PurpurWorldConfig {
|
||||
public boolean piglinRidableInWater = true;
|
||||
@@ -1465,6 +1490,7 @@ public class PurpurWorldConfig {
|
||||
public boolean piglinControllable = true;
|
||||
public double piglinMaxHealth = 16.0D;
|
||||
public double piglinScale = 1.0D;
|
||||
+ public boolean piglinBypassMobGriefing = false;
|
||||
private void piglinSettings() {
|
||||
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
|
||||
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
|
||||
@@ -1403,6 +1429,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.piglin.attributes.max_health", oldValue);
|
||||
@@ -1476,6 +1502,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
public boolean piglinBruteRidable = false;
|
||||
@@ -1425,6 +1452,7 @@ public class PurpurWorldConfig {
|
||||
public boolean pillagerRidableInWater = true;
|
||||
@@ -1501,6 +1528,7 @@ public class PurpurWorldConfig {
|
||||
public boolean pillagerControllable = true;
|
||||
public double pillagerMaxHealth = 24.0D;
|
||||
public double pillagerScale = 1.0D;
|
||||
+ public boolean pillagerBypassMobGriefing = false;
|
||||
private void pillagerSettings() {
|
||||
pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable);
|
||||
pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater);
|
||||
@@ -1435,6 +1463,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.pillager.attributes.max_health", oldValue);
|
||||
@@ -1512,6 +1540,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
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 rabbitNaturalKiller = 0.0D;
|
||||
public int rabbitBreedingTicks = 6000;
|
||||
@@ -559,7 +559,7 @@ index 555ba78408b10368a997dad12cdf578d3e4306fc..abcbf373c1c1061203c5b482d60dadb0
|
||||
private void rabbitSettings() {
|
||||
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
|
||||
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);
|
||||
rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
|
||||
rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks);
|
||||
@@ -567,54 +567,55 @@ index 555ba78408b10368a997dad12cdf578d3e4306fc..abcbf373c1c1061203c5b482d60dadb0
|
||||
}
|
||||
|
||||
public boolean ravagerRidable = false;
|
||||
public boolean ravagerRidableInWater = false;
|
||||
@@ -1584,6 +1615,7 @@ public class PurpurWorldConfig {
|
||||
public boolean ravagerControllable = true;
|
||||
public double ravagerMaxHealth = 100.0D;
|
||||
public double ravagerScale = 1.0D;
|
||||
+ public boolean ravagerBypassMobGriefing = false;
|
||||
private void ravagerSettings() {
|
||||
ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable);
|
||||
ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater);
|
||||
@@ -1510,6 +1542,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.ravager.attributes.max_health", oldValue);
|
||||
@@ -1595,6 +1627,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
public boolean salmonRidable = false;
|
||||
@@ -1531,6 +1564,7 @@ public class PurpurWorldConfig {
|
||||
public boolean sheepControllable = true;
|
||||
@@ -1619,6 +1652,7 @@ public class PurpurWorldConfig {
|
||||
public double sheepMaxHealth = 8.0D;
|
||||
public double sheepScale = 1.0D;
|
||||
public int sheepBreedingTicks = 6000;
|
||||
+ public boolean sheepBypassMobGriefing = false;
|
||||
private void sheepSettings() {
|
||||
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
|
||||
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);
|
||||
sheepScale = Mth.clamp(getDouble("mobs.sheep.attributes.scale", sheepScale), 0.0625D, 16.0D);
|
||||
sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks);
|
||||
+ sheepBypassMobGriefing = getBoolean("mobs.sheep.bypass-mob-griefing", sheepBypassMobGriefing);
|
||||
}
|
||||
|
||||
public boolean shulkerRidable = false;
|
||||
@@ -1566,6 +1601,7 @@ public class PurpurWorldConfig {
|
||||
public double silverfishMaxHealth = 8.0D;
|
||||
@@ -1658,6 +1693,7 @@ public class PurpurWorldConfig {
|
||||
public double silverfishScale = 1.0D;
|
||||
public double silverfishMovementSpeed = 0.25D;
|
||||
public double silverfishAttackDamage = 1.0D;
|
||||
+ public boolean silverfishBypassMobGriefing = false;
|
||||
private void silverfishSettings() {
|
||||
silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable);
|
||||
silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater);
|
||||
@@ -1578,6 +1614,7 @@ public class PurpurWorldConfig {
|
||||
silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth);
|
||||
@@ -1671,6 +1707,7 @@ public class PurpurWorldConfig {
|
||||
silverfishScale = Mth.clamp(getDouble("mobs.silverfish.attributes.scale", silverfishScale), 0.0625D, 16.0D);
|
||||
silverfishMovementSpeed = getDouble("mobs.silverfish.attributes.movement_speed", silverfishMovementSpeed);
|
||||
silverfishAttackDamage = getDouble("mobs.silverfish.attributes.attack_damage", silverfishAttackDamage);
|
||||
+ silverfishBypassMobGriefing = getBoolean("mobs.silverfish.bypass-mob-griefing", silverfishBypassMobGriefing);
|
||||
}
|
||||
|
||||
public boolean skeletonRidable = false;
|
||||
@@ -1655,6 +1692,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1751,6 +1788,7 @@ public class PurpurWorldConfig {
|
||||
public int snowGolemSnowBallMax = 20;
|
||||
public float snowGolemSnowBallModifier = 10.0F;
|
||||
public double snowGolemAttackDistance = 1.25D;
|
||||
@@ -622,7 +623,7 @@ index 555ba78408b10368a997dad12cdf578d3e4306fc..abcbf373c1c1061203c5b482d60dadb0
|
||||
private void snowGolemSettings() {
|
||||
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
|
||||
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);
|
||||
snowGolemSnowBallModifier = (float) getDouble("mobs.snow_golem.snow-ball-modifier", snowGolemSnowBallModifier);
|
||||
snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance);
|
||||
@@ -630,7 +631,7 @@ index 555ba78408b10368a997dad12cdf578d3e4306fc..abcbf373c1c1061203c5b482d60dadb0
|
||||
}
|
||||
|
||||
public boolean snifferRidable = false;
|
||||
@@ -1857,6 +1896,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1971,6 +2010,7 @@ public class PurpurWorldConfig {
|
||||
public int villagerBreedingTicks = 6000;
|
||||
public boolean villagerClericsFarmWarts = false;
|
||||
public boolean villagerClericFarmersThrowWarts = true;
|
||||
@@ -638,7 +639,7 @@ index 555ba78408b10368a997dad12cdf578d3e4306fc..abcbf373c1c1061203c5b482d60dadb0
|
||||
private void villagerSettings() {
|
||||
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
|
||||
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);
|
||||
villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts);
|
||||
villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts);
|
||||
@@ -646,23 +647,23 @@ index 555ba78408b10368a997dad12cdf578d3e4306fc..abcbf373c1c1061203c5b482d60dadb0
|
||||
}
|
||||
|
||||
public boolean vindicatorRidable = false;
|
||||
@@ -1945,6 +1986,7 @@ public class PurpurWorldConfig {
|
||||
public double witherMaxHealth = 300.0D;
|
||||
@@ -2067,6 +2108,7 @@ public class PurpurWorldConfig {
|
||||
public double witherScale = 1.0D;
|
||||
public float witherHealthRegenAmount = 1.0f;
|
||||
public int witherHealthRegenDelay = 20;
|
||||
+ public boolean witherBypassMobGriefing = false;
|
||||
private void witherSettings() {
|
||||
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
|
||||
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
|
||||
@@ -1962,6 +2004,7 @@ public class PurpurWorldConfig {
|
||||
witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth);
|
||||
@@ -2085,6 +2127,7 @@ public class PurpurWorldConfig {
|
||||
witherScale = Mth.clamp(getDouble("mobs.wither.attributes.scale", witherScale), 0.0625D, 16.0D);
|
||||
witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount);
|
||||
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
|
||||
+ witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing);
|
||||
}
|
||||
|
||||
public boolean witherSkeletonRidable = false;
|
||||
@@ -2033,6 +2076,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2163,6 +2206,7 @@ public class PurpurWorldConfig {
|
||||
public double zombieJockeyChance = 0.05D;
|
||||
public boolean zombieJockeyTryExistingChickens = true;
|
||||
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
|
||||
@@ -670,7 +671,7 @@ index 555ba78408b10368a997dad12cdf578d3e4306fc..abcbf373c1c1061203c5b482d60dadb0
|
||||
private void zombieSettings() {
|
||||
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
|
||||
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);
|
||||
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);
|
||||
zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging);
|
||||
|
||||
@@ -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));
|
||||
// if (event.isCancelled()) {
|
||||
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
|
||||
+++ 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 fireballsBypassMobGriefing = false;
|
||||
public boolean milkCuresBadOmen = true;
|
||||
@@ -33,7 +33,7 @@ index e183f7f2e513c5b79997db783df6d3f9ad411f2d..159a7a7d907fdef1254f64268c7fe1bc
|
||||
public boolean persistentDroppableEntityDisplayNames = true;
|
||||
public boolean projectilesBypassMobGriefing = false;
|
||||
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);
|
||||
fireballsBypassMobGriefing = getBoolean("gameplay-mechanics.fireballs-bypass-mob-griefing", fireballsBypassMobGriefing);
|
||||
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
Reference in New Issue
Block a user