diff --git a/.github/workflows/build-1217.yml b/.github/workflows/build-1218.yml similarity index 98% rename from .github/workflows/build-1217.yml rename to .github/workflows/build-1218.yml index e1452c5..4e84cb2 100644 --- a/.github/workflows/build-1217.yml +++ b/.github/workflows/build-1218.yml @@ -1,9 +1,9 @@ -name: Build DivineMC 1.21.7 +name: Build DivineMC 1.21.8 on: push: branches: - - "ver/1.21.7" + - "ver/1.21.8" workflow_dispatch: jobs: diff --git a/.github/workflows/build-pr.yml b/.github/workflows/build-pr.yml index 68df3c0..230c0b0 100644 --- a/.github/workflows/build-pr.yml +++ b/.github/workflows/build-pr.yml @@ -2,7 +2,7 @@ name: Build Pull Request on: pull_request: - branches: [ "ver/1.21.7" ] + branches: [ "ver/1.21.8" ] jobs: build: diff --git a/.github/workflows/publish-api.yml b/.github/workflows/publish-api.yml index d5acf0e..e5802fe 100644 --- a/.github/workflows/publish-api.yml +++ b/.github/workflows/publish-api.yml @@ -2,7 +2,7 @@ name: Publish API on: push: - branches: [ "ver/1.21.7" ] + branches: [ "ver/1.21.8" ] workflow_dispatch: jobs: diff --git a/README.md b/README.md index 81ee0c6..c90cdb1 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ # DivineMC [![Github Releases](https://img.shields.io/badge/Download-Releases-blue?&style=for-the-badge)](https://github.com/BX-Team/DivineMC/releases) -[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/BX-Team/DivineMC/build-1217.yml?logo=GoogleAnalytics&logoColor=ffffff&style=for-the-badge)](https://github.com/BX-Team/DivineMC/actions) +[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/BX-Team/DivineMC/build-1218.yml?logo=GoogleAnalytics&logoColor=ffffff&style=for-the-badge)](https://github.com/BX-Team/DivineMC/actions) [![Discord](https://img.shields.io/discord/931595732752953375?color=5865F2&label=discord&style=for-the-badge)](https://discord.gg/qNyybSSPm5) DivineMC is a multi-functional fork of [Purpur](https://github.com/PurpurMC/Purpur), which focuses on the flexibility of your server and its optimization @@ -55,7 +55,7 @@ For anything else you can refer to our [contribution guide](https://bxteam.org/d org.bxteam.divinemc divinemc-api - 1.21.7-R0.1-SNAPSHOT + 1.21.8-R0.1-SNAPSHOT provided ``` @@ -68,11 +68,11 @@ repositories { ``` ```kotlin dependencies { - compileOnly("org.bxteam.divinemc:divinemc-api:1.21.7-R0.1-SNAPSHOT") + compileOnly("org.bxteam.divinemc:divinemc-api:1.21.8-R0.1-SNAPSHOT") } ``` -We also have a [Javadoc](https://repo.bxteam.org/javadoc/snapshots/org/bxteam/divinemc/divinemc-api/1.21.7-R0.1-SNAPSHOT/raw/index.html) for the API. +We also have a [Javadoc](https://repo.bxteam.org/javadoc/snapshots/org/bxteam/divinemc/divinemc-api/1.21.8-R0.1-SNAPSHOT/raw/index.html) for the API. ## ⚖️ License DivineMC is licensed under the GNU General Public License v3.0. You can find the license [here](LICENSE). diff --git a/divinemc-api/build.gradle.kts.patch b/divinemc-api/build.gradle.kts.patch index 9c3553e..0f1675d 100644 --- a/divinemc-api/build.gradle.kts.patch +++ b/divinemc-api/build.gradle.kts.patch @@ -37,12 +37,12 @@ apiAndDocs("net.kyori:adventure-text-logger-slf4j") - api("org.apache.maven:maven-resolver-provider:3.9.6") // make API dependency for Paper Plugins -- compileOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.9.18") -- compileOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.9.18") +- implementation("org.apache.maven.resolver:maven-resolver-connector-basic:1.9.18") +- implementation("org.apache.maven.resolver:maven-resolver-transport-http:1.9.18") + // DivineMC start - Bump dependencies + api("org.apache.maven:maven-resolver-provider:3.9.9") // make API dependency for Paper Plugins -+ compileOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.9.22") -+ compileOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.9.22") ++ implementation("org.apache.maven.resolver:maven-resolver-connector-basic:1.9.22") ++ implementation("org.apache.maven.resolver:maven-resolver-transport-http:1.9.22") + // DivineMC end - Bump dependencies // Annotations - Slowly migrate to jspecify diff --git a/divinemc-api/paper-patches/features/0005-Extend-Location-API.patch b/divinemc-api/paper-patches/features/0005-Extend-Location-API.patch index ed77626..91a1370 100644 --- a/divinemc-api/paper-patches/features/0005-Extend-Location-API.patch +++ b/divinemc-api/paper-patches/features/0005-Extend-Location-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Extend Location API diff --git a/src/main/java/org/bukkit/Location.java b/src/main/java/org/bukkit/Location.java -index 47f667ccc86086d27d8649dd01f5867610556c60..3f8ca9dfcf695f52393af117f14d8b0586fb6cfa 100644 +index 1e75bc2f5772e18c082feb7f3c6419c85519ef40..7e6795f5ed0ef46440ff36b03ec7602da6096b8a 100644 --- a/src/main/java/org/bukkit/Location.java +++ b/src/main/java/org/bukkit/Location.java -@@ -1271,4 +1271,170 @@ public class Location implements Cloneable, ConfigurationSerializable, io.paperm +@@ -1282,4 +1282,170 @@ public class Location implements Cloneable, ConfigurationSerializable, io.paperm public @NotNull Location toLocation(@NotNull World world) { return new Location(world, this.x(), this.y(), this.z(), this.getYaw(), this.getPitch()); } 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 3f5af41..348af18 100644 --- a/divinemc-api/paper-patches/features/0006-Extend-Sound-API.patch +++ b/divinemc-api/paper-patches/features/0006-Extend-Sound-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Extend Sound API diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java -index 32f5d2631b6807021c4a810fd577d83a268763a5..d5e4280269fa4588b502df5393834177374bcce2 100644 +index 318bb02fe2921e5c41e7473500d1cf4dacf0c781..0f35f958c5c90dd4ac2ca80fdce53e73b644ab90 100644 --- a/src/main/java/org/bukkit/block/Block.java +++ b/src/main/java/org/bukkit/block/Block.java -@@ -824,4 +824,29 @@ public interface Block extends Metadatable, Translatable, net.kyori.adventure.tr +@@ -836,4 +836,29 @@ public interface Block extends Metadatable, Translatable, net.kyori.adventure.tr * @return {@code true} if the block can suffocate */ boolean isSuffocating(); @@ -39,7 +39,7 @@ 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 b6ee04873c1ee57f7e8804f6d247806f2c0e448f..116428b3482871c4f26c7244bb8b5a0dd846192e 100644 +index a3d2013adf038f1fe96127c5dba442ffd2e031a8..e93bdf925505b00454a93207e12d1f21c8cb6af3 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java @@ -1316,4 +1316,35 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent diff --git a/divinemc-api/paper-patches/features/0010-Vectorized-map-color-conversion.patch b/divinemc-api/paper-patches/features/0010-Vectorized-map-color-conversion.patch index abc0dcd..1805003 100644 --- a/divinemc-api/paper-patches/features/0010-Vectorized-map-color-conversion.patch +++ b/divinemc-api/paper-patches/features/0010-Vectorized-map-color-conversion.patch @@ -13,7 +13,7 @@ This patch does not add any API that should be used by plugins. Any classes and methods added by this patch should NOT be used in plugins. diff --git a/src/main/java/org/bukkit/map/MapPalette.java b/src/main/java/org/bukkit/map/MapPalette.java -index 2b9e4aa8cf35e7106e510e547954ee7e1bcf3d81..482a08c38748d82313e02f6f699006aa83a071bc 100644 +index 204860b32b4958a2804b2e5bc82f5be099e461f3..b3933fea40c5902f545fa0230b818d2ef3c2a675 100644 --- a/src/main/java/org/bukkit/map/MapPalette.java +++ b/src/main/java/org/bukkit/map/MapPalette.java @@ -35,7 +35,7 @@ public final class MapPalette { @@ -23,7 +23,7 @@ index 2b9e4aa8cf35e7106e510e547954ee7e1bcf3d81..482a08c38748d82313e02f6f699006aa - static final Color[] colors = { + public static final Color[] colors = { // DivineMC - Vectorized map color conversion - package -> public // Start generate - MapPalette#colors - // @GeneratedFrom 1.21.7 + // @GeneratedFrom 1.21.8 new Color(0x00000000, true), @@ -395,9 +395,15 @@ public final class MapPalette { temp.getRGB(0, 0, temp.getWidth(), temp.getHeight(), pixels, 0, temp.getWidth()); diff --git a/divinemc-server/build.gradle.kts.patch b/divinemc-server/build.gradle.kts.patch index d3df812..2a307f6 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.7+build.2") + mache("io.papermc:mache:1.21.8+build.1") @@ -29,6 +_,7 @@ // Purpur start - Rebrand @@ -116,9 +116,9 @@ + implementation("io.netty:netty-codec-haproxy:4.1.119.Final") // Add support for proxy protocol // DivineMC - Bump dependencies + implementation("org.apache.logging.log4j:log4j-iostreams:2.24.3") // DivineMC - Bump dependencies implementation("org.ow2.asm:asm-commons:9.8") - implementation("org.spongepowered:configurate-yaml:4.2.0-20250225.064233-199") - implementation("org.spongepowered:configurate-core:4.2.0-20250225.064233-204") // Pinned dependency of above pinned yaml snapshot. -@@ -191,24 +_,31 @@ + implementation("org.spongepowered:configurate-yaml:4.2.0") + +@@ -190,7 +_,12 @@ // Deps that were previously in the API but have now been moved here for backwards compat, eventually to be removed runtimeOnly("commons-lang:commons-lang:2.6") runtimeOnly("org.xerial:sqlite-jdbc:3.49.1.0") @@ -132,17 +132,7 @@ runtimeOnly("com.lmax:disruptor:3.4.4") implementation("com.googlecode.json-simple:json-simple:1.1.1") { // change to runtimeOnly once Timings is removed isTransitive = false // includes junit - } - -- runtimeOnly("org.apache.maven:maven-resolver-provider:3.9.6") -- runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.9.18") -- runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.9.18") -+ // DivineMC start - Bump dependencies -+ runtimeOnly("org.apache.maven:maven-resolver-provider:3.9.9") -+ runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.9.22") -+ runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.9.22") -+ // DivineMC end - Bump dependencies - +@@ -199,11 +_,11 @@ testImplementation("io.github.classgraph:classgraph:4.8.179") // For mob goal test testImplementation("org.junit.jupiter:junit-jupiter:5.12.2") testImplementation("org.junit.platform:junit-platform-suite-engine:1.12.2") @@ -158,7 +148,7 @@ implementation("net.neoforged:srgutils:1.0.9") // Mappings handling implementation("net.neoforged:AutoRenamingTool:2.0.3") // Remap plugins -@@ -224,30 +_,42 @@ +@@ -219,30 +_,42 @@ implementation("me.lucko:spark-paper:1.10.133-20250413.112336-1") } @@ -208,7 +198,7 @@ ) for (tld in setOf("net", "com", "org")) { attributes("$tld/bukkit", "Sealed" to true) -@@ -333,7 +_,7 @@ +@@ -328,7 +_,7 @@ block: JavaExec.() -> Unit ): TaskProvider = register(name) { group = "runs" diff --git a/divinemc-server/minecraft-patches/features/0053-Regionized-Chunk-Ticking.patch b/divinemc-server/minecraft-patches/features/0053-Regionized-Chunk-Ticking.patch index 9231c3b..3d114d1 100644 --- a/divinemc-server/minecraft-patches/features/0053-Regionized-Chunk-Ticking.patch +++ b/divinemc-server/minecraft-patches/features/0053-Regionized-Chunk-Ticking.patch @@ -8,10 +8,10 @@ This patch adds regionized chunk ticking feature, by grouping adjacent chunks in Original idea by Dueris, modified by NONPLAYT and heavily optimized by dan28000 diff --git a/net/minecraft/network/Connection.java b/net/minecraft/network/Connection.java -index e72eda830644851656fae3118c513d7bd701be45..4ab30d291de7db5ad7d5684662f41348270802b9 100644 +index 411e1284a208ca1a097cf6eaa92e1e0d2203d83d..3f60d1b0ac91cfd3418e791222cd7267774b367a 100644 --- a/net/minecraft/network/Connection.java +++ b/net/minecraft/network/Connection.java -@@ -326,7 +326,7 @@ public class Connection extends SimpleChannelInboundHandler> { +@@ -327,7 +327,7 @@ public class Connection extends SimpleChannelInboundHandler> { private static void syncAfterConfigurationChange(ChannelFuture future) { try { diff --git a/divinemc-server/minecraft-patches/features/0061-Paper-PR-Optimise-non-flush-packet-sending.patch b/divinemc-server/minecraft-patches/features/0061-Paper-PR-Optimise-non-flush-packet-sending.patch index ef4f93b..fcaea45 100644 --- a/divinemc-server/minecraft-patches/features/0061-Paper-PR-Optimise-non-flush-packet-sending.patch +++ b/divinemc-server/minecraft-patches/features/0061-Paper-PR-Optimise-non-flush-packet-sending.patch @@ -24,10 +24,10 @@ up on this optimisation before he came along. Locally this patch drops the entity tracker tick by a full 1.5x. diff --git a/net/minecraft/network/Connection.java b/net/minecraft/network/Connection.java -index 4ab30d291de7db5ad7d5684662f41348270802b9..8bb7d9f2bce06880164f0ae36e1674e9dc380809 100644 +index 3f60d1b0ac91cfd3418e791222cd7267774b367a..882a912ba3f23ee8239c24068704d9ec9a7f7c40 100644 --- a/net/minecraft/network/Connection.java +++ b/net/minecraft/network/Connection.java -@@ -149,6 +149,7 @@ public class Connection extends SimpleChannelInboundHandler> { +@@ -150,6 +150,7 @@ public class Connection extends SimpleChannelInboundHandler> { // Paper start - Optimize network public boolean isPending = true; public boolean queueImmunity; @@ -35,7 +35,7 @@ index 4ab30d291de7db5ad7d5684662f41348270802b9..8bb7d9f2bce06880164f0ae36e1674e9 // Paper end - Optimize network public Connection(PacketFlow receiving) { -@@ -159,6 +160,7 @@ public class Connection extends SimpleChannelInboundHandler> { +@@ -160,6 +161,7 @@ public class Connection extends SimpleChannelInboundHandler> { public void channelActive(ChannelHandlerContext context) throws Exception { super.channelActive(context); this.channel = context.channel(); @@ -43,7 +43,7 @@ index 4ab30d291de7db5ad7d5684662f41348270802b9..8bb7d9f2bce06880164f0ae36e1674e9 this.address = this.channel.remoteAddress(); this.preparing = false; // Spigot if (this.delayedDisconnect != null) { -@@ -473,7 +475,13 @@ public class Connection extends SimpleChannelInboundHandler> { +@@ -474,7 +476,13 @@ public class Connection extends SimpleChannelInboundHandler> { if (this.channel.eventLoop().inEventLoop()) { this.doSendPacket(packet, channelFutureListener, flag); } else { diff --git a/divinemc-server/minecraft-patches/features/0063-Cleanup-dead-code-from-Paper.patch b/divinemc-server/minecraft-patches/features/0063-Cleanup-dead-code-from-Paper.patch index 2cc7ab7..d875a85 100644 --- a/divinemc-server/minecraft-patches/features/0063-Cleanup-dead-code-from-Paper.patch +++ b/divinemc-server/minecraft-patches/features/0063-Cleanup-dead-code-from-Paper.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Cleanup dead code from Paper diff --git a/net/minecraft/network/Connection.java b/net/minecraft/network/Connection.java -index 8bb7d9f2bce06880164f0ae36e1674e9dc380809..04d47ef66f17daf3dfc9223c9f382e058d09a10b 100644 +index 882a912ba3f23ee8239c24068704d9ec9a7f7c40..8a3e7aff7892140bd6caac2e7f8a29075d50459d 100644 --- a/net/minecraft/network/Connection.java +++ b/net/minecraft/network/Connection.java -@@ -609,13 +609,7 @@ public class Connection extends SimpleChannelInboundHandler> { +@@ -610,13 +610,7 @@ public class Connection extends SimpleChannelInboundHandler> { if (!(this.packetListener instanceof net.minecraft.server.network.ServerLoginPacketListenerImpl loginPacketListener) || loginPacketListener.state != net.minecraft.server.network.ServerLoginPacketListenerImpl.State.VERIFYING || Connection.joinAttemptsThisTick++ < MAX_PER_TICK) { diff --git a/divinemc-server/paper-patches/features/0008-Optimize-default-values-for-configs.patch b/divinemc-server/paper-patches/features/0008-Optimize-default-values-for-configs.patch index 8c164d6..31cae17 100644 --- a/divinemc-server/paper-patches/features/0008-Optimize-default-values-for-configs.patch +++ b/divinemc-server/paper-patches/features/0008-Optimize-default-values-for-configs.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Optimize default values for configs diff --git a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java -index c5a491acfe4b93bfa8fd21861edbaf464a178bf3..f572613f3b2aeacfbfcd0a5f96048f55ec2384b9 100644 +index 3f5e76e4df8ff8152060449f89b522910adee834..4eb45775c7ada4fd4137c87104580314f888bc50 100644 --- a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java +++ b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java -@@ -348,8 +348,8 @@ public class GlobalConfiguration extends ConfigurationPart { +@@ -349,8 +349,8 @@ public class GlobalConfiguration extends ConfigurationPart { @Constraints.Min(4) public int regionFileCacheSize = 256; @Comment("See https://luckformula.emc.gs") @@ -20,7 +20,7 @@ index c5a491acfe4b93bfa8fd21861edbaf464a178bf3..f572613f3b2aeacfbfcd0a5f96048f55 public IntOr.Default compressionLevel = IntOr.Default.USE_DEFAULT; @Comment("Defines the leniency distance added on the server to the interaction range of a player when validating interact packets.") diff --git a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java -index ed687b0ab589fd2ddb8bf77f42ba42cf8b1c2ea7..b01509c5d579c57e3be019f8fb850a8d4790bd92 100644 +index 7100a3fce29ef0cbbdb3659835a0896e168c5803..8e695b602b95ff6a85316e19d24be94b31ff9558 100644 --- a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java +++ b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java @@ -148,8 +148,10 @@ public class WorldConfiguration extends ConfigurationPart { @@ -36,7 +36,7 @@ index ed687b0ab589fd2ddb8bf77f42ba42cf8b1c2ea7..b01509c5d579c57e3be019f8fb850a8d } public Markers markers; -@@ -275,8 +277,38 @@ public class WorldConfiguration extends ConfigurationPart { +@@ -274,8 +276,38 @@ public class WorldConfiguration extends ConfigurationPart { public AltItemDespawnRate altItemDespawnRate; public class AltItemDespawnRate extends ConfigurationPart { @@ -77,7 +77,7 @@ index ed687b0ab589fd2ddb8bf77f42ba42cf8b1c2ea7..b01509c5d579c57e3be019f8fb850a8d } } -@@ -419,7 +451,7 @@ public class WorldConfiguration extends ConfigurationPart { +@@ -418,7 +450,7 @@ public class WorldConfiguration extends ConfigurationPart { public class Environment extends ConfigurationPart { public boolean disableThunder = false; public boolean disableIceAndSnow = false; @@ -86,7 +86,7 @@ index ed687b0ab589fd2ddb8bf77f42ba42cf8b1c2ea7..b01509c5d579c57e3be019f8fb850a8d public boolean disableExplosionKnockback = false; public boolean generateFlatBedrock = false; public FrostedIce frostedIce; -@@ -472,7 +504,7 @@ public class WorldConfiguration extends ConfigurationPart { +@@ -471,7 +503,7 @@ public class WorldConfiguration extends ConfigurationPart { public Fixes fixes; public class Fixes extends ConfigurationPart { @@ -95,7 +95,7 @@ index ed687b0ab589fd2ddb8bf77f42ba42cf8b1c2ea7..b01509c5d579c57e3be019f8fb850a8d public boolean disableUnloadedChunkEnderpearlExploit = false; public boolean preventTntFromMovingInWater = false; public boolean splitOverstackedLoot = true; -@@ -500,9 +532,9 @@ public class WorldConfiguration extends ConfigurationPart { +@@ -499,9 +531,9 @@ public class WorldConfiguration extends ConfigurationPart { public class Collisions extends ConfigurationPart { public boolean onlyPlayersCollide = false; public boolean allowVehicleCollisions = true; @@ -107,7 +107,7 @@ index ed687b0ab589fd2ddb8bf77f42ba42cf8b1c2ea7..b01509c5d579c57e3be019f8fb850a8d public boolean allowPlayerCrammingDamage = false; } -@@ -512,16 +544,33 @@ public class WorldConfiguration extends ConfigurationPart { +@@ -511,16 +543,33 @@ public class WorldConfiguration extends ConfigurationPart { public AutosavePeriod autoSaveInterval = AutosavePeriod.def(); public int maxAutoSaveChunksPerTick = 24; public int fixedChunkInhabitedTime = -1; @@ -148,7 +148,7 @@ index ed687b0ab589fd2ddb8bf77f42ba42cf8b1c2ea7..b01509c5d579c57e3be019f8fb850a8d }); public boolean flushRegionsOnSave = false; -@@ -541,9 +590,9 @@ public class WorldConfiguration extends ConfigurationPart { +@@ -540,9 +589,9 @@ public class WorldConfiguration extends ConfigurationPart { public TickRates tickRates; public class TickRates extends ConfigurationPart { @@ -160,7 +160,7 @@ index ed687b0ab589fd2ddb8bf77f42ba42cf8b1c2ea7..b01509c5d579c57e3be019f8fb850a8d public int wetFarmland = 1; public int dryFarmland = 1; public Table, String, Integer> sensor = Util.make(HashBasedTable.create(), table -> table.put(EntityType.VILLAGER, "secondarypoisensor", 40)); -@@ -578,7 +627,7 @@ public class WorldConfiguration extends ConfigurationPart { +@@ -577,7 +626,7 @@ public class WorldConfiguration extends ConfigurationPart { public class Misc extends ConfigurationPart { public boolean updatePathfindingOnBlockUpdate = true; public boolean showSignClickCommandFailureMsgsToPlayer = false; diff --git a/divinemc-server/paper-patches/features/0010-Smooth-teleport-API.patch b/divinemc-server/paper-patches/features/0010-Smooth-teleport-API.patch index 65ad7f4..973527f 100644 --- a/divinemc-server/paper-patches/features/0010-Smooth-teleport-API.patch +++ b/divinemc-server/paper-patches/features/0010-Smooth-teleport-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Smooth teleport API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 218556fdaf4ea4993864e22530b4bad3335a535d..6a1ac6cdd0cf4f6a62216c264f6fd3cd25476254 100644 +index aed79c57a691eb9a100e566c4d1163181af0b360..445970cf0f7d4c9955324ae9d3ade9f5db659930 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1455,6 +1455,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player, PluginMessa +@@ -1454,6 +1454,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player, PluginMessa // Paper end - Teleportation API } diff --git a/divinemc-server/paper-patches/features/0011-SparklyPaper-Optimize-canSee-checks.patch b/divinemc-server/paper-patches/features/0011-SparklyPaper-Optimize-canSee-checks.patch index ddac190..8a51146 100644 --- a/divinemc-server/paper-patches/features/0011-SparklyPaper-Optimize-canSee-checks.patch +++ b/divinemc-server/paper-patches/features/0011-SparklyPaper-Optimize-canSee-checks.patch @@ -14,7 +14,7 @@ This seems stupid, but it does seem that it improves the performance a bit, and We also create a "canSee" method tailored for "ChunkMap#updatePlayer()", a method without the equals check (the "updatePlayer()" already checks if the entity is the same entity) because the CraftPlayer's `equals()` check is a *bit* expensive compared to only checking the object's identity, and because the identity has already been check, we don't need to check it twice. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index c22d489e3584e0a938e2f8afd3e201987c92b8f2..4913ac7d0426025689c8aee3790d87f7ac0131fd 100644 +index 445970cf0f7d4c9955324ae9d3ade9f5db659930..5164bdd2567d0055e7717701fa5028652759476b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -217,7 +217,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player, PluginMessa @@ -24,9 +24,9 @@ index c22d489e3584e0a938e2f8afd3e201987c92b8f2..4913ac7d0426025689c8aee3790d87f7 - private final Map>> invertedVisibilityEntities = new HashMap<>(); + private final Map>> invertedVisibilityEntities = new it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap<>(); // DivineMC - SparklyPaper: Optimize "canSee" checks private final Set unlistedEntities = new HashSet<>(); // Paper - Add Listing API for Player - public org.bukkit.event.player.PlayerResourcePackStatusEvent.Status resourcePackStatus; // Paper - more resource pack API private long firstPlayed = 0; -@@ -2354,9 +2354,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player, PluginMessa + private long lastPlayed = 0; +@@ -2353,9 +2353,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player, PluginMessa @Override public boolean canSee(org.bukkit.entity.Entity entity) { diff --git a/divinemc-server/paper-patches/features/0014-Petal-Multithreaded-Tracker.patch b/divinemc-server/paper-patches/features/0014-Petal-Multithreaded-Tracker.patch index 32a97a2..9eedcad 100644 --- a/divinemc-server/paper-patches/features/0014-Petal-Multithreaded-Tracker.patch +++ b/divinemc-server/paper-patches/features/0014-Petal-Multithreaded-Tracker.patch @@ -32,10 +32,10 @@ index d7398b1ecf2660c29fb7d106b48fe02d3736603e..ab499a7eaccdc1578ec64f90f54f79b0 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 4913ac7d0426025689c8aee3790d87f7ac0131fd..d4d3aeae964d9a64805ddc5862e46fff5dd7d98a 100644 +index 5164bdd2567d0055e7717701fa5028652759476b..b84c9ed7b10f2c40f04bed19cbc1109814632972 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2953,7 +2953,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player, PluginMessa +@@ -2952,7 +2952,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player, PluginMessa Iterator iterator = collection.iterator(); while (iterator.hasNext()) { AttributeInstance genericInstance = iterator.next(); diff --git a/divinemc-server/paper-patches/features/0017-SparklyPaper-Parallel-world-ticking.patch b/divinemc-server/paper-patches/features/0017-SparklyPaper-Parallel-world-ticking.patch index ed685e9..53561aa 100644 --- a/divinemc-server/paper-patches/features/0017-SparklyPaper-Parallel-world-ticking.patch +++ b/divinemc-server/paper-patches/features/0017-SparklyPaper-Parallel-world-ticking.patch @@ -330,7 +330,7 @@ index cd43af3f442f7d8af1a4552a0eff33958873a366..cf4967875c2d9e87da86645e5a1f0cba } // Paper end diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index a4d5c65edc1db59f3486ce5d3757cc306211a54b..d8f68164b0b4430ccdc7e4a419eace7185c82cd1 100644 +index 7a0d37dec5a1af05a4fb78f791a9bd652aaf4806..92487ba35bb0a5584b16ee6c3234aa3430c9ebce 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java @@ -75,6 +75,11 @@ public class CraftBlock implements Block { @@ -439,7 +439,7 @@ index a4d5c65edc1db59f3486ce5d3757cc306211a54b..d8f68164b0b4430ccdc7e4a419eace71 return this.breakNaturally(null); } -@@ -542,6 +587,11 @@ public class CraftBlock implements Block { +@@ -548,6 +593,11 @@ public class CraftBlock implements Block { @Override public boolean applyBoneMeal(BlockFace face) { @@ -451,7 +451,7 @@ index a4d5c65edc1db59f3486ce5d3757cc306211a54b..d8f68164b0b4430ccdc7e4a419eace71 Direction direction = CraftBlock.blockFaceToNotch(face); BlockFertilizeEvent event = null; ServerLevel world = this.getCraftWorld().getHandle(); -@@ -553,8 +603,10 @@ public class CraftBlock implements Block { +@@ -559,8 +609,10 @@ public class CraftBlock implements Block { world.captureTreeGeneration = false; if (!world.capturedBlockStates.isEmpty()) { @@ -464,7 +464,7 @@ index a4d5c65edc1db59f3486ce5d3757cc306211a54b..d8f68164b0b4430ccdc7e4a419eace71 List states = new ArrayList<>(world.capturedBlockStates.values()); world.capturedBlockStates.clear(); StructureGrowEvent structureEvent = null; -@@ -644,6 +696,11 @@ public class CraftBlock implements Block { +@@ -650,6 +702,11 @@ public class CraftBlock implements Block { @Override public RayTraceResult rayTrace(Location start, Vector direction, double maxDistance, FluidCollisionMode fluidCollisionMode) { @@ -476,7 +476,7 @@ index a4d5c65edc1db59f3486ce5d3757cc306211a54b..d8f68164b0b4430ccdc7e4a419eace71 Preconditions.checkArgument(start != null, "Location start cannot be null"); Preconditions.checkArgument(this.getWorld().equals(start.getWorld()), "Location start cannot be a different world"); start.checkFinite(); -@@ -685,6 +742,11 @@ public class CraftBlock implements Block { +@@ -691,6 +748,11 @@ public class CraftBlock implements Block { @Override public boolean canPlace(BlockData data) { @@ -488,7 +488,7 @@ index a4d5c65edc1db59f3486ce5d3757cc306211a54b..d8f68164b0b4430ccdc7e4a419eace71 Preconditions.checkArgument(data != null, "BlockData cannot be null"); net.minecraft.world.level.block.state.BlockState iblockdata = ((CraftBlockData) data).getState(); net.minecraft.world.level.Level world = this.world.getMinecraftWorld(); -@@ -724,6 +786,11 @@ public class CraftBlock implements Block { +@@ -730,6 +792,11 @@ public class CraftBlock implements Block { @Override public void tick() { @@ -569,7 +569,7 @@ index 196835bdf95ba0e149b2977e9ef41698971f501f..b35dbe2b6e75ec89483aef093474c675 net.minecraft.world.item.ItemStack nms = org.bukkit.craftbukkit.inventory.CraftItemStack.asNMSCopy(item); diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java -index a43f3d6e54de52da6b1ee050aefd0028a1adafcf..e36e3822abdf805b3318d1b0d0f92c17131f1699 100644 +index 7d9f79eec2cb36a88b3b25154a02f2aee7ec1e21..02664f27a81e7836ba7d307d7b45988d329a4437 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java @@ -195,14 +195,16 @@ public final class CraftBlockStates { diff --git a/gradle.properties b/gradle.properties index a263243..3077600 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,8 +1,8 @@ group = org.bxteam.divinemc -version=1.21.7-R0.1-SNAPSHOT +version=1.21.8-R0.1-SNAPSHOT -mcVersion=1.21.7 -purpurRef=60bdf1c78142536433c1bb7850ffe5235f5fdeba +mcVersion=1.21.8 +purpurRef=5053eb0c5dc9662ffb39ae7c39c6ca08c013d898 experimental=false #org.gradle.configuration-cache=true diff --git a/scripts/releaseInfo.sh b/scripts/releaseInfo.sh index a2ad3a5..455bd7c 100644 --- a/scripts/releaseInfo.sh +++ b/scripts/releaseInfo.sh @@ -48,7 +48,7 @@ mv divinemc-server/build/libs/divinemc-shuttle-"$version"-mojmap.jar "$jarName" fi } >> $changelog -number=$(git log --oneline ver/1.21.7 ^"$(git describe --tags --abbrev=0)" | wc -l) +number=$(git log --oneline ver/1.21.8 ^"$(git describe --tags --abbrev=0)" | wc -l) git log --pretty='- [`%h`](https://github.com/BX-Team/DivineMC/commit/%H) %s' "-$number" >> $changelog {