diff --git a/divinemc-api/paper-patches/features/0001-Rebrand.patch b/divinemc-api/paper-patches/features/0001-Rebrand.patch index d2d7e42..54eed17 100644 --- a/divinemc-api/paper-patches/features/0001-Rebrand.patch +++ b/divinemc-api/paper-patches/features/0001-Rebrand.patch @@ -24,10 +24,10 @@ index fb1fe2651e53a9bf46b3632c638e13eea9dcda93..81e92d1053efd15c079e318a4ae08794 * Gets the {@code ServerBuildInfo}. * diff --git a/src/main/java/org/bukkit/command/defaults/VersionCommand.java b/src/main/java/org/bukkit/command/defaults/VersionCommand.java -index ec2b71cc2023b8ec7b9567a9ab1875cafc14f40d..354bf634b45ae510bdbddb81f7b1689bd2f4dc04 100644 +index 424b01d6fc013148f19b039ca7ade9ff484796ee..4f79d569401a872ec707561da011728d67bf0229 100644 --- a/src/main/java/org/bukkit/command/defaults/VersionCommand.java +++ b/src/main/java/org/bukkit/command/defaults/VersionCommand.java -@@ -257,7 +257,7 @@ public class VersionCommand extends BukkitCommand { +@@ -258,7 +258,7 @@ public class VersionCommand extends BukkitCommand { // Purpur start int distance = getVersionFetcher().distance(); final Component message = Component.join(net.kyori.adventure.text.JoinConfiguration.separator(Component.newline()), diff --git a/divinemc-api/paper-patches/features/0002-Delete-Timings.patch b/divinemc-api/paper-patches/features/0002-Delete-Timings.patch index 9b44ede..a5e3082 100644 --- a/divinemc-api/paper-patches/features/0002-Delete-Timings.patch +++ b/divinemc-api/paper-patches/features/0002-Delete-Timings.patch @@ -2914,18 +2914,18 @@ index 59fada9b1eb78238d280c6bbb711f52facba52c6..eb4d78c6111a530d015a0b91d14c40ad return i >= j && i <= k; } diff --git a/src/main/java/org/bukkit/command/SimpleCommandMap.java b/src/main/java/org/bukkit/command/SimpleCommandMap.java -index 685aa9d73f14a5e3a85b251b83fbe8134b0a244c..6878e8bff4900a6d9b41cb981a69821da7f51242 100644 +index 26c214a3570120a2fd32b715113f897e0055fd00..67d7b41a3f15a9873b76f828d7466c33d6f188fc 100644 --- a/src/main/java/org/bukkit/command/SimpleCommandMap.java +++ b/src/main/java/org/bukkit/command/SimpleCommandMap.java -@@ -39,7 +39,6 @@ public class SimpleCommandMap implements CommandMap { - register("bukkit", new VersionCommand("version")); +@@ -32,7 +32,6 @@ public class SimpleCommandMap implements CommandMap { + + private void setDefaultCommands() { register("bukkit", new ReloadCommand("reload")); - //register("bukkit", new PluginsCommand("plugins")); // Paper -- register("bukkit", new co.aikar.timings.TimingsCommand("timings")); // Paper +- register("bukkit", new co.aikar.timings.TimingsCommand("timings")); } public void setFallbackCommands() { -@@ -71,7 +70,6 @@ public class SimpleCommandMap implements CommandMap { +@@ -64,7 +63,6 @@ public class SimpleCommandMap implements CommandMap { */ @Override public boolean register(@NotNull String label, @NotNull String fallbackPrefix, @NotNull Command command) { @@ -2933,7 +2933,7 @@ index 685aa9d73f14a5e3a85b251b83fbe8134b0a244c..6878e8bff4900a6d9b41cb981a69821d label = label.toLowerCase(Locale.ROOT).trim(); fallbackPrefix = fallbackPrefix.toLowerCase(Locale.ROOT).trim(); boolean registered = register(label, command, false, fallbackPrefix); -@@ -166,12 +164,6 @@ public class SimpleCommandMap implements CommandMap { +@@ -159,12 +157,6 @@ public class SimpleCommandMap implements CommandMap { parsedArgs = event.getArgs(); // Purpur end - ExecuteCommandEvent diff --git a/divinemc-api/paper-patches/features/0006-Extend-Sound-API.patch b/divinemc-api/paper-patches/features/0006-Extend-Sound-API.patch index 29cef28..3f5af41 100644 --- a/divinemc-api/paper-patches/features/0006-Extend-Sound-API.patch +++ b/divinemc-api/paper-patches/features/0006-Extend-Sound-API.patch @@ -39,10 +39,10 @@ index 32f5d2631b6807021c4a810fd577d83a268763a5..d5e4280269fa4588b502df5393834177 + // DivineMC end - Extend Sound API } diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index 0674a55826c0f22e7f700e585f7d5ed559151e30..ebf0617f8b78c6884466d6c6420e5a248971a138 100644 +index b6ee04873c1ee57f7e8804f6d247806f2c0e448f..116428b3482871c4f26c7244bb8b5a0dd846192e 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java -@@ -1306,4 +1306,35 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent +@@ -1316,4 +1316,35 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent */ void setImmuneToFire(@Nullable Boolean fireImmune); // Purpur end - Fire Immunity API diff --git a/divinemc-api/paper-patches/features/0008-Paper-PR-Player-standing-on-position-API.patch b/divinemc-api/paper-patches/features/0008-Paper-PR-Player-standing-on-position-API.patch index 0f82390..3baaa7f 100644 --- a/divinemc-api/paper-patches/features/0008-Paper-PR-Player-standing-on-position-API.patch +++ b/divinemc-api/paper-patches/features/0008-Paper-PR-Player-standing-on-position-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Paper PR: Player standing on position API diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index ebf0617f8b78c6884466d6c6420e5a248971a138..9349183dc98a4fbe6cbd79dffe3d21a8c186894e 100644 +index 116428b3482871c4f26c7244bb8b5a0dd846192e..817f3891bb057791117145f26ab63a186ad6689d 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java -@@ -1252,6 +1252,33 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent +@@ -1262,6 +1262,33 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent void broadcastHurtAnimation(@NotNull java.util.Collection players); // Paper end - broadcast hurt animation diff --git a/divinemc-server/build.gradle.kts.patch b/divinemc-server/build.gradle.kts.patch index 82ecb97..00f0cca 100644 --- a/divinemc-server/build.gradle.kts.patch +++ b/divinemc-server/build.gradle.kts.patch @@ -7,7 +7,7 @@ +val bxTeamMavenPublicUrl = "https://repo.bxteam.org/snapshots/" dependencies { - mache("io.papermc:mache:1.21.5+build.1") + mache("io.papermc:mache:1.21.5+build.2") @@ -30,6 +_,7 @@ // Purpur start - Rebrand diff --git a/divinemc-server/minecraft-patches/features/0002-Configuration.patch b/divinemc-server/minecraft-patches/features/0002-Configuration.patch index 0194fff..0e3004c 100644 --- a/divinemc-server/minecraft-patches/features/0002-Configuration.patch +++ b/divinemc-server/minecraft-patches/features/0002-Configuration.patch @@ -25,7 +25,7 @@ index debea77d5777b90c6b17b225e27e6b3c72370175..1a8c125a58f7363dbff4f11f5e34537c // DivineMC start - Pufferfish SIMD diff --git a/net/minecraft/world/level/Level.java b/net/minecraft/world/level/Level.java -index bbadbdfd643e61a6a3e55df7dd7a646ea1a9744b..38ddadf551c039202c68c44d740f23a08b58d003 100644 +index 801c4e8e01590beeb3633275f58d436d87ad746e..051ab167c7cc2415af3329127b0488b211dc22ca 100644 --- a/net/minecraft/world/level/Level.java +++ b/net/minecraft/world/level/Level.java @@ -161,6 +161,7 @@ public abstract class Level implements LevelAccessor, UUIDLookup, AutoCl @@ -39,7 +39,7 @@ index bbadbdfd643e61a6a3e55df7dd7a646ea1a9744b..38ddadf551c039202c68c44d740f23a0 @@ -885,6 +886,14 @@ public abstract class Level implements LevelAccessor, UUIDLookup, AutoCl this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) levelData).getLevelName()); // Spigot this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper - create paper world config - this.purpurConfig = new org.purpurmc.purpur.PurpurWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) levelData).getLevelName(), env); // Purpur - Purpur config files + this.purpurConfig = new org.purpurmc.purpur.PurpurWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) levelData).getLevelName(), environment); // Purpur - Purpur config files + // DivineMC start - Configuration + try { + this.divineConfig = new org.bxteam.divinemc.DivineWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) levelData).getLevelName(), env); @@ -49,5 +49,5 @@ index bbadbdfd643e61a6a3e55df7dd7a646ea1a9744b..38ddadf551c039202c68c44d740f23a0 + } + // DivineMC end - Configuration this.playerBreedingCooldowns = this.getNewBreedingCooldownCache(); // Purpur - Add adjustable breeding cooldown to config - this.generator = gen; - this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env); + this.generator = generator; + this.world = new CraftWorld((ServerLevel) this, generator, biomeProvider, environment); diff --git a/divinemc-server/minecraft-patches/features/0014-Lag-compensation.patch b/divinemc-server/minecraft-patches/features/0014-Lag-compensation.patch index e281314..5d56458 100644 --- a/divinemc-server/minecraft-patches/features/0014-Lag-compensation.patch +++ b/divinemc-server/minecraft-patches/features/0014-Lag-compensation.patch @@ -25,7 +25,7 @@ index 9956405d7f9d14af7278837adeede76dea8d4bd9..86754cb52caeef962172bcb79cbc8f16 this.tickCount++; this.tickRateManager.tick(); diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java -index e351b75f03b7096dcd0378b49987d27c04474116..9c64da096bfd8325e0c8f692b8ae7f420096728a 100644 +index d003e36a37cbc39d6467a9c45ad716dc27fd62a7..fcd732a923e0ced69d2342fa59122dee0e98438e 100644 --- a/net/minecraft/server/level/ServerLevel.java +++ b/net/minecraft/server/level/ServerLevel.java @@ -213,6 +213,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe @@ -66,7 +66,7 @@ index e351b75f03b7096dcd0378b49987d27c04474116..9c64da096bfd8325e0c8f692b8ae7f42 this.serverLevelData.setDayTime(time); // Purpur start - Configurable daylight cycle diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java -index 352421829e24284e4832a168c278233b780a58a2..7d089f51cd07b0ce26765535fcd0a7716bc1a2f4 100644 +index f3706dfb6aeb5035cbf0a8bf6b4d9a5243aaaa17..f598c6ae03977998f1cbf79cf3faf7997c2ba9e2 100644 --- a/net/minecraft/world/entity/LivingEntity.java +++ b/net/minecraft/world/entity/LivingEntity.java @@ -503,6 +503,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -183,10 +183,10 @@ index c52fb17d1e496a91223b7387cacb128c1865caee..30ab94fa0a6710cc5a39bd1c74c99aac BlocksAttacks blocksAttacks = stack.get(DataComponents.BLOCKS_ATTACKS); return blocksAttacks != null ? 72000 : 0; diff --git a/net/minecraft/world/level/GameRules.java b/net/minecraft/world/level/GameRules.java -index 86c1f5effde3173c8bc458af21b454c81738935e..2a21bb2826e4a174169089e7813796f8d35234d3 100644 +index c9a2c4f7051639478bd9788911d3c6bead8f5152..df916f661d54bc4373eebafaaf3a94f9863ddd63 100644 --- a/net/minecraft/world/level/GameRules.java +++ b/net/minecraft/world/level/GameRules.java -@@ -348,8 +348,31 @@ public class GameRules { +@@ -355,8 +355,31 @@ public class GameRules { } public int getInt(GameRules.Key key) { diff --git a/divinemc-server/minecraft-patches/features/0041-Optimize-Raids.patch b/divinemc-server/minecraft-patches/features/0041-Optimize-Raids.patch index 2dbd5b9..8508027 100644 --- a/divinemc-server/minecraft-patches/features/0041-Optimize-Raids.patch +++ b/divinemc-server/minecraft-patches/features/0041-Optimize-Raids.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Optimize Raids diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java -index 9c64da096bfd8325e0c8f692b8ae7f420096728a..d7ec2dd011a6728e7a1adb5a84f587904166df79 100644 +index fcd732a923e0ced69d2342fa59122dee0e98438e..2958419f56eb7d18dd003130c287ee768c07e4ae 100644 --- a/net/minecraft/server/level/ServerLevel.java +++ b/net/minecraft/server/level/ServerLevel.java @@ -214,6 +214,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe @@ -59,7 +59,7 @@ index 62a3a8d46e10e6f02e3f515bbce5d9ba1f6566b8..4d078e99e4128354abbe0a5fe386f583 public float getHealthOfLivingRaiders() { diff --git a/net/minecraft/world/entity/raid/Raider.java b/net/minecraft/world/entity/raid/Raider.java -index 77bb3aa7ff042aab6464aac55c846cb9082e5b97..b822905c38818434f3d406067d71b1db13e7efc8 100644 +index 76ebbab40f5bac6d5f588410d3c5e6716cbe0679..799f2a4a5a22a6a5fb9cd5daea99edc34fe4b9d7 100644 --- a/net/minecraft/world/entity/raid/Raider.java +++ b/net/minecraft/world/entity/raid/Raider.java @@ -42,9 +42,25 @@ import net.minecraft.world.phys.Vec3; @@ -124,7 +124,7 @@ index 77bb3aa7ff042aab6464aac55c846cb9082e5b97..b822905c38818434f3d406067d71b1db + // DivineMC end - Optimize Raids + private boolean cannotPickUpBanner() { - if (!this.mob.level().purpurConfig.pillagerBypassMobGriefing == !getServerLevel(this.mob).getGameRules().getBoolean(net.minecraft.world.level.GameRules.RULE_MOBGRIEFING) || !this.mob.canPickUpLoot()) return false; // Paper - respect game and entity rules for picking up items // Purpur - Add mobGriefing bypass to everything affected + if (!getServerLevel(this.mob).getGameRules().getBoolean(net.minecraft.world.level.GameRules.RULE_MOBGRIEFING, this.mob.level().purpurConfig.pillagerMobGriefingOverride) || !this.mob.canPickUpLoot()) return false; // Paper - respect game and entity rules for picking up items // Purpur - Add mobGriefing override to everything affected if (!this.mob.hasActiveRaid()) { @@ -408,7 +434,7 @@ public abstract class Raider extends PatrollingMonster { } else if (!this.mob.canBeLeader()) { diff --git a/divinemc-server/paper-patches/features/0006-Skip-EntityScheduler-s-executeTick-checks-if-there-i.patch b/divinemc-server/paper-patches/features/0006-Skip-EntityScheduler-s-executeTick-checks-if-there-i.patch index a97e921..1434e35 100644 --- a/divinemc-server/paper-patches/features/0006-Skip-EntityScheduler-s-executeTick-checks-if-there-i.patch +++ b/divinemc-server/paper-patches/features/0006-Skip-EntityScheduler-s-executeTick-checks-if-there-i.patch @@ -68,10 +68,10 @@ index c03608fec96b51e1867f43d8f42e5aefb1520e46..eda35b81c36ca8ebe4f9487cb41e2b0c throw new IllegalStateException("Ticking retired scheduler"); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index efcd7e52bfda50970054a37f8c98452e5306c66a..5899df5367bbbdce87d34f4790b11e84df95f0d3 100644 +index 395951c968e95adffa97e1851d104faf192744fd..5ffa1f81a2b9c35bb4632f06f88bd0bc1e2f5815 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -84,7 +84,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -85,7 +85,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { private final CraftPersistentDataContainer persistentDataContainer = new CraftPersistentDataContainer(CraftEntity.DATA_TYPE_REGISTRY); protected net.kyori.adventure.pointer.Pointers adventure$pointers; // Paper - implement pointers // Paper start - Folia shedulers @@ -80,7 +80,7 @@ index efcd7e52bfda50970054a37f8c98452e5306c66a..5899df5367bbbdce87d34f4790b11e84 private final io.papermc.paper.threadedregions.scheduler.FoliaEntityScheduler apiScheduler = new io.papermc.paper.threadedregions.scheduler.FoliaEntityScheduler(this); @Override -@@ -97,6 +97,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -98,6 +98,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { this.server = server; this.entity = entity; this.entityType = CraftEntityType.minecraftToBukkit(entity.getType()); diff --git a/divinemc-server/paper-patches/features/0007-Optimize-canSee-checks.patch b/divinemc-server/paper-patches/features/0007-Optimize-canSee-checks.patch index 168840d..39f6f65 100644 --- a/divinemc-server/paper-patches/features/0007-Optimize-canSee-checks.patch +++ b/divinemc-server/paper-patches/features/0007-Optimize-canSee-checks.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Optimize canSee checks diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 07c45bce5f3ceea897b9453a2c1568cdb2479560..381fc6b0a3dcafb8de148522ef2cad6cfcbe0ddd 100644 +index 616c25e3e447923235e2586f8a74d1eca39cbb32..00408099f47a31ed2c580727ddf908549edfb9a4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -212,7 +212,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -213,7 +213,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { private boolean hasPlayedBefore = false; private final ConversationTracker conversationTracker = new ConversationTracker(); private final Set channels = new HashSet(); @@ -17,7 +17,7 @@ index 07c45bce5f3ceea897b9453a2c1568cdb2479560..381fc6b0a3dcafb8de148522ef2cad6c private final Set unlistedEntities = new HashSet<>(); // Paper - Add Listing API for Player private static final WeakHashMap> pluginWeakReferences = new WeakHashMap<>(); private int hash = 0; -@@ -2267,9 +2267,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2266,9 +2266,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public boolean canSee(org.bukkit.entity.Entity entity) { diff --git a/divinemc-server/paper-patches/features/0012-Paper-PR-Player-standing-on-position-API.patch b/divinemc-server/paper-patches/features/0012-Paper-PR-Player-standing-on-position-API.patch index 583fa17..76d98d3 100644 --- a/divinemc-server/paper-patches/features/0012-Paper-PR-Player-standing-on-position-API.patch +++ b/divinemc-server/paper-patches/features/0012-Paper-PR-Player-standing-on-position-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Paper PR: Player standing on position API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 5899df5367bbbdce87d34f4790b11e84df95f0d3..7e4196728985e81b40b52b370b63834553b42126 100644 +index 5ffa1f81a2b9c35bb4632f06f88bd0bc1e2f5815..b8755d050230261097e82f064f3fbff2e57e21f2 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1327,6 +1327,20 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1334,6 +1334,20 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return this.entity.get(io.papermc.paper.datacomponent.PaperDataComponentType.bukkitToMinecraft(type)) != null; } diff --git a/divinemc-server/purpur-patches/features/0001-Optimize-default-values-for-configs.patch b/divinemc-server/purpur-patches/features/0001-Optimize-default-values-for-configs.patch index 51c6a79..97b0135 100644 --- a/divinemc-server/purpur-patches/features/0001-Optimize-default-values-for-configs.patch +++ b/divinemc-server/purpur-patches/features/0001-Optimize-default-values-for-configs.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Optimize default values for configs diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 3dc90c1b194e3c313a80d6ed741ba98d238dc318..d23062496466f46a01c4ef297a740febb134c090 100644 +index e5bf7ea47143cf3f8d4c0f1840698068bb70cbf8..72fcad4a0b5857551221741b9c73fa75596e6981 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -240,7 +240,7 @@ public class PurpurConfig { @@ -18,10 +18,10 @@ index 3dc90c1b194e3c313a80d6ed741ba98d238dc318..d23062496466f46a01c4ef297a740feb useAlternateKeepAlive = getBoolean("settings.use-alternate-keepalive", useAlternateKeepAlive); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d4a6cf2fec1125d853c5d7181cbec861834b3b55..9ef7fce5b8352ef6dd21601fa600eaa5f50295a7 100644 +index 31cc4e6e68a9743aaaeb296cb31e64526d3f1f73..ec129ef3e4c292da53a7c823b485c1e277480ec1 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -3055,8 +3055,8 @@ public class PurpurWorldConfig { +@@ -3146,8 +3146,8 @@ public class PurpurWorldConfig { public boolean villagerDisplayTradeItem = true; public int villagerSpawnIronGolemRadius = 0; public int villagerSpawnIronGolemLimit = 0; diff --git a/divinemc-server/purpur-patches/features/0002-Add-missing-purpur-config-options.patch b/divinemc-server/purpur-patches/features/0002-Add-missing-purpur-config-options.patch index 5a682e0..e9d1386 100644 --- a/divinemc-server/purpur-patches/features/0002-Add-missing-purpur-config-options.patch +++ b/divinemc-server/purpur-patches/features/0002-Add-missing-purpur-config-options.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add missing purpur config options diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index d23062496466f46a01c4ef297a740febb134c090..8f6bdd2c57e9062c54484c99399cbff1fb8a78fd 100644 +index 72fcad4a0b5857551221741b9c73fa75596e6981..374af5eb6b55c731535be4e8c242ffc3a6e4647a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -327,6 +327,7 @@ public class PurpurConfig { @@ -25,10 +25,10 @@ index d23062496466f46a01c4ef297a740febb134c090..8f6bdd2c57e9062c54484c99399cbff1 org.bukkit.event.inventory.InventoryType.ENDER_CHEST.setDefaultSize(enderChestSixRows ? 54 : 27); enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 9ef7fce5b8352ef6dd21601fa600eaa5f50295a7..46319cc4eed0734ea3002154f48a9cc0e43a52d7 100644 +index ec129ef3e4c292da53a7c823b485c1e277480ec1..48ed93bb72bd26f9b7c830e1fbfe94498c4d95aa 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1158,12 +1158,20 @@ public class PurpurWorldConfig { +@@ -1189,12 +1189,20 @@ public class PurpurWorldConfig { public boolean allayControllable = true; public double allayMaxHealth = 20.0D; public double allayScale = 1.0D; @@ -49,7 +49,7 @@ index 9ef7fce5b8352ef6dd21601fa600eaa5f50295a7..46319cc4eed0734ea3002154f48a9cc0 } public boolean armadilloRidable = false; -@@ -1318,6 +1326,10 @@ public class PurpurWorldConfig { +@@ -1349,6 +1357,10 @@ public class PurpurWorldConfig { public double camelMovementSpeedMin = 0.09D; public double camelMovementSpeedMax = 0.09D; public int camelBreedingTicks = 6000; @@ -60,7 +60,7 @@ index 9ef7fce5b8352ef6dd21601fa600eaa5f50295a7..46319cc4eed0734ea3002154f48a9cc0 private void camelSettings() { camelRidableInWater = getBoolean("mobs.camel.ridable-in-water", camelRidableInWater); camelMaxHealthMin = getDouble("mobs.camel.attributes.max_health.min", camelMaxHealthMin); -@@ -1327,6 +1339,10 @@ public class PurpurWorldConfig { +@@ -1358,6 +1370,10 @@ public class PurpurWorldConfig { camelMovementSpeedMin = getDouble("mobs.camel.attributes.movement_speed.min", camelMovementSpeedMin); camelMovementSpeedMax = getDouble("mobs.camel.attributes.movement_speed.max", camelMovementSpeedMax); camelBreedingTicks = getInt("mobs.camel.breeding-delay-ticks", camelBreedingTicks); @@ -71,7 +71,7 @@ index 9ef7fce5b8352ef6dd21601fa600eaa5f50295a7..46319cc4eed0734ea3002154f48a9cc0 } public boolean catRidable = false; -@@ -1783,12 +1799,22 @@ public class PurpurWorldConfig { +@@ -1839,12 +1855,22 @@ public class PurpurWorldConfig { public boolean frogControllable = true; public float frogRidableJumpHeight = 0.65F; public int frogBreedingTicks = 6000; @@ -94,7 +94,7 @@ index 9ef7fce5b8352ef6dd21601fa600eaa5f50295a7..46319cc4eed0734ea3002154f48a9cc0 } public boolean ghastRidable = false; -@@ -2816,6 +2842,10 @@ public class PurpurWorldConfig { +@@ -2907,6 +2933,10 @@ public class PurpurWorldConfig { public double snifferMaxHealth = 14.0D; public double snifferScale = 1.0D; public int snifferBreedingTicks = 6000; @@ -105,7 +105,7 @@ index 9ef7fce5b8352ef6dd21601fa600eaa5f50295a7..46319cc4eed0734ea3002154f48a9cc0 private void snifferSettings() { snifferRidable = getBoolean("mobs.sniffer.ridable", snifferRidable); snifferRidableInWater = getBoolean("mobs.sniffer.ridable-in-water", snifferRidableInWater); -@@ -2823,6 +2853,10 @@ public class PurpurWorldConfig { +@@ -2914,6 +2944,10 @@ public class PurpurWorldConfig { 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); @@ -116,7 +116,7 @@ index 9ef7fce5b8352ef6dd21601fa600eaa5f50295a7..46319cc4eed0734ea3002154f48a9cc0 } public boolean squidRidable = false; -@@ -2924,10 +2958,20 @@ public class PurpurWorldConfig { +@@ -3015,10 +3049,20 @@ public class PurpurWorldConfig { public boolean tadpoleRidable = false; public boolean tadpoleRidableInWater = true; public boolean tadpoleControllable = true; @@ -137,7 +137,7 @@ index 9ef7fce5b8352ef6dd21601fa600eaa5f50295a7..46319cc4eed0734ea3002154f48a9cc0 } public boolean traderLlamaRidable = false; -@@ -3156,10 +3200,20 @@ public class PurpurWorldConfig { +@@ -3252,10 +3296,20 @@ public class PurpurWorldConfig { public boolean wardenRidable = false; public boolean wardenRidableInWater = true; public boolean wardenControllable = true; diff --git a/divinemc-server/purpur-patches/features/0004-Configurable-movement-speed-for-entities.patch b/divinemc-server/purpur-patches/features/0004-Configurable-movement-speed-for-entities.patch index 42bcfc7..4719af6 100644 --- a/divinemc-server/purpur-patches/features/0004-Configurable-movement-speed-for-entities.patch +++ b/divinemc-server/purpur-patches/features/0004-Configurable-movement-speed-for-entities.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable movement speed for entities diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 46319cc4eed0734ea3002154f48a9cc0e43a52d7..13cfc4308c27a91e4d96ace0ca294270630bd6aa 100644 +index 48ed93bb72bd26f9b7c830e1fbfe94498c4d95aa..98312f137291eba5803234a566c6006c744152b9 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1605,6 +1605,7 @@ public class PurpurWorldConfig { +@@ -1641,6 +1641,7 @@ public class PurpurWorldConfig { public boolean drownedTakeDamageFromWater = false; public boolean drownedBreakDoors = false; public boolean drownedAlwaysDropExp = false; @@ -16,7 +16,7 @@ index 46319cc4eed0734ea3002154f48a9cc0e43a52d7..13cfc4308c27a91e4d96ace0ca294270 private void drownedSettings() { drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable); drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater); -@@ -1623,6 +1624,7 @@ public class PurpurWorldConfig { +@@ -1659,6 +1660,7 @@ public class PurpurWorldConfig { drownedTakeDamageFromWater = getBoolean("mobs.drowned.takes-damage-from-water", drownedTakeDamageFromWater); drownedBreakDoors = getBoolean("mobs.drowned.can-break-doors", drownedBreakDoors); drownedAlwaysDropExp = getBoolean("mobs.drowned.always-drop-exp", drownedAlwaysDropExp); @@ -24,7 +24,7 @@ index 46319cc4eed0734ea3002154f48a9cc0e43a52d7..13cfc4308c27a91e4d96ace0ca294270 } public boolean elderGuardianRidable = false; -@@ -2007,6 +2009,7 @@ public class PurpurWorldConfig { +@@ -2063,6 +2065,7 @@ public class PurpurWorldConfig { public boolean huskJockeyTryExistingChickens = true; public boolean huskTakeDamageFromWater = false; public boolean huskAlwaysDropExp = false; @@ -32,7 +32,7 @@ index 46319cc4eed0734ea3002154f48a9cc0e43a52d7..13cfc4308c27a91e4d96ace0ca294270 private void huskSettings() { huskRidable = getBoolean("mobs.husk.ridable", huskRidable); huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater); -@@ -2024,6 +2027,7 @@ public class PurpurWorldConfig { +@@ -2080,6 +2083,7 @@ public class PurpurWorldConfig { huskJockeyTryExistingChickens = getBoolean("mobs.husk.jockey.try-existing-chickens", huskJockeyTryExistingChickens); huskTakeDamageFromWater = getBoolean("mobs.husk.takes-damage-from-water", huskTakeDamageFromWater); huskAlwaysDropExp = getBoolean("mobs.husk.always-drop-exp", huskAlwaysDropExp); @@ -40,7 +40,7 @@ index 46319cc4eed0734ea3002154f48a9cc0e43a52d7..13cfc4308c27a91e4d96ace0ca294270 } public boolean illusionerRidable = false; -@@ -3370,6 +3374,7 @@ public class PurpurWorldConfig { +@@ -3471,6 +3475,7 @@ public class PurpurWorldConfig { public boolean zombieTakeDamageFromWater = false; public boolean zombieAlwaysDropExp = false; public double zombieHeadVisibilityPercent = 0.5D; @@ -48,7 +48,7 @@ index 46319cc4eed0734ea3002154f48a9cc0e43a52d7..13cfc4308c27a91e4d96ace0ca294270 private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -3390,6 +3395,7 @@ public class PurpurWorldConfig { +@@ -3496,6 +3501,7 @@ public class PurpurWorldConfig { zombieTakeDamageFromWater = getBoolean("mobs.zombie.takes-damage-from-water", zombieTakeDamageFromWater); zombieAlwaysDropExp = getBoolean("mobs.zombie.always-drop-exp", zombieAlwaysDropExp); zombieHeadVisibilityPercent = getDouble("mobs.zombie.head-visibility-percent", zombieHeadVisibilityPercent); @@ -56,7 +56,7 @@ index 46319cc4eed0734ea3002154f48a9cc0e43a52d7..13cfc4308c27a91e4d96ace0ca294270 } public boolean zombieHorseRidable = false; -@@ -3439,6 +3445,7 @@ public class PurpurWorldConfig { +@@ -3545,6 +3551,7 @@ public class PurpurWorldConfig { public int zombieVillagerCuringTimeMax = 6000; public boolean zombieVillagerCureEnabled = true; public boolean zombieVillagerAlwaysDropExp = false; @@ -64,7 +64,7 @@ index 46319cc4eed0734ea3002154f48a9cc0e43a52d7..13cfc4308c27a91e4d96ace0ca294270 private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -3459,6 +3466,7 @@ public class PurpurWorldConfig { +@@ -3565,6 +3572,7 @@ public class PurpurWorldConfig { zombieVillagerCuringTimeMax = getInt("mobs.zombie_villager.curing_time.max", zombieVillagerCuringTimeMax); zombieVillagerCureEnabled = getBoolean("mobs.zombie_villager.cure.enabled", zombieVillagerCureEnabled); zombieVillagerAlwaysDropExp = getBoolean("mobs.zombie_villager.always-drop-exp", zombieVillagerAlwaysDropExp); @@ -72,7 +72,7 @@ index 46319cc4eed0734ea3002154f48a9cc0e43a52d7..13cfc4308c27a91e4d96ace0ca294270 } public boolean zombifiedPiglinRidable = false; -@@ -3473,6 +3481,7 @@ public class PurpurWorldConfig { +@@ -3579,6 +3587,7 @@ public class PurpurWorldConfig { public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = false; public boolean zombifiedPiglinTakeDamageFromWater = false; public boolean zombifiedPiglinAlwaysDropExp = false; @@ -80,7 +80,7 @@ index 46319cc4eed0734ea3002154f48a9cc0e43a52d7..13cfc4308c27a91e4d96ace0ca294270 private void zombifiedPiglinSettings() { zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); -@@ -3494,6 +3503,7 @@ public class PurpurWorldConfig { +@@ -3600,6 +3609,7 @@ public class PurpurWorldConfig { zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry); zombifiedPiglinTakeDamageFromWater = getBoolean("mobs.zombified_piglin.takes-damage-from-water", zombifiedPiglinTakeDamageFromWater); zombifiedPiglinAlwaysDropExp = getBoolean("mobs.zombified_piglin.always-drop-exp", zombifiedPiglinAlwaysDropExp); diff --git a/gradle.properties b/gradle.properties index e03552c..70b6165 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,8 +2,8 @@ group = org.bxteam.divinemc version=1.21.5-R0.1-SNAPSHOT mcVersion=1.21.5 -purpurRef=603c7557ba19f065be0a837d73bce26a8cc61999 -experimental=true +purpurRef=1dd9bd0ca4adbae94cdb917738a59770066dbccc +experimental=false org.gradle.configuration-cache=true org.gradle.caching = true diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 37f853b..ca025c8 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME