9
0
mirror of https://github.com/Dreeam-qwq/Gale.git synced 2025-12-24 01:09:27 +00:00

Add ability to use virtual threads

This commit is contained in:
Martijn Muijsers
2023-02-13 21:48:41 +01:00
parent a056d4338e
commit 85602beca4
164 changed files with 232 additions and 26 deletions

View File

@@ -0,0 +1,28 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Martijn Muijsers <martijnmuijsers@live.nl>
Date: Mon, 13 Feb 2023 20:59:49 +0100
Subject: [PATCH] Use default Java installation for development runs
License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
Gale - https://galemc.org
diff --git a/build.gradle.kts b/build.gradle.kts
index e8187f4b88f89eee3fd675bbfdfb78534769c63f..9f42ad14bd477a265f0c7f1fda5bc39a69970ed7 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -149,6 +149,15 @@ fun TaskContainer.registerRunTask(
name: String,
block: JavaExec.() -> Unit
): TaskProvider<JavaExec> = register<JavaExec>(name) {
+ // Gale start - use default Java installation for development runs
+ java {
+ toolchain {
+ languageVersion.set(JavaLanguageVersion.of(System.getProperty("java.version").run {
+ substring(0, indexOf('.')).toInt().coerceAtLeast(17)
+ }))
+ }
+ }
+ // Gale end - use default Java installation for development runs
group = "paper"
mainClass.set("org.bukkit.craftbukkit.Main")
standardInput = System.`in`

View File

@@ -0,0 +1,23 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Martijn Muijsers <martijnmuijsers@live.nl>
Date: Mon, 13 Feb 2023 21:18:44 +0100
Subject: [PATCH] Enable virtual threads for development runs
License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
Gale - https://galemc.org
diff --git a/build.gradle.kts b/build.gradle.kts
index 9f42ad14bd477a265f0c7f1fda5bc39a69970ed7..bfcdae815faa1fc326b80fb317d3046bd05b85f5 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -181,6 +181,10 @@ fun TaskContainer.registerRunTask(
val memoryGb = providers.gradleProperty("paper.runMemoryGb").getOrElse("2")
val modifiedJvmArgs = jvmArgs ?: arrayListOf()
modifiedJvmArgs.addAll(listOf("-Xms${memoryGb}G", "-Xmx${memoryGb}G"))
+ // Gale start - enable virtual threads for development runs
+ modifiedJvmArgs.add("--enable-preview")
+ modifiedJvmArgs.addAll(listOf("--add-opens", "java.base/java.lang=ALL-UNNAMED"))
+ // Gale end - enable virtual threads for development runs
jvmArgs = modifiedJvmArgs
doFirst {

View File

@@ -7,7 +7,7 @@ License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
Gale - https://galemc.org
diff --git a/build.gradle.kts b/build.gradle.kts
index 977edc4adb5414e83d289cca295baa6bfbadaa52..ebe3f85542004002713dd327e8a423f2570695ed 100644
index bfcdae815faa1fc326b80fb317d3046bd05b85f5..0bdb5eeebde6aa8a7d0b3d8dd29ea93f2db859bb 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -77,7 +77,7 @@ tasks.jar {
@@ -244,7 +244,7 @@ index cdefb2025eedea7e204d70d568adaf1c1ec4c03c..3997a7fec43e05b455644b4d58c68995
// (async tasks must live with race-conditions if they attempt to cancel between these few lines of code)
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index 17336102d37a5ab05c3b3c93fcf46961d0ffa7e2..f5a7bbf467ce765ecf8ccc9e157bd51bbed72452 100644
index daeaa30cdd64f5cb775304e82f2390684c02a9d3..58397008c783c6802f846110ee405bb5f8ba2851 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -433,7 +433,7 @@ public final class CraftMagicNumbers implements UnsafeValues {

View File

@@ -323,7 +323,7 @@ index ef6ff78af2ae747e939895b82ee9d11c75012dcd..b445d4562304fec912131ee32c4e0f89
}
}
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 51b3db0b6c2cede95b584268e035c0fb36d38094..98f00bdc85ade95ccbfaa1999c70ac650192345d 100644
index a7e133f3495e9132a5fdae2c24f225e7b026295a..b98fb8afdadbda47db5924299d90082edf3ca1b4 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -1,20 +1,15 @@

View File

@@ -13,7 +13,7 @@ As part of: Paper (https://github.com/PaperMC/Paper)
Licensed under: MIT (https://opensource.org/licenses/MIT)
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 98f00bdc85ade95ccbfaa1999c70ac650192345d..9c3ccbbd657d1605b8fabb6e01c11ff31f39a17e 100644
index b98fb8afdadbda47db5924299d90082edf3ca1b4..985f1a50438b325e33fba5d07e26519171504aab 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -45,6 +45,7 @@ import net.minecraft.world.level.GameRules;

View File

@@ -811,7 +811,7 @@ index 4b1b828b72a8ddef240d005fc514ae0a54b22982..e8658ed3784444991c5a6c8f03d2a5e0
while (iterator.hasNext()) {
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 7d6d3c8556033d289fdadc489e73fba478fce41a..a07da939bb6b2dd0bd75cc74dd79493695035259 100644
index 9160725f031c9698a00229c3dfa19d39b4a826c1..8a548616885149fe23763b3b2cd46dc8323e5803 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1149,7 +1149,6 @@ public class ServerPlayer extends Player {
@@ -840,7 +840,7 @@ index 7d6d3c8556033d289fdadc489e73fba478fce41a..a07da939bb6b2dd0bd75cc74dd794936
this.connection.send(new ClientboundPlayerAbilitiesPacket(this.getAbilities()));
playerlist.sendLevelInfo(this, worldserver);
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 3472f7f9b98d6d9c9f6465872803ef17fa67486d..547cc76d2086a658cbf667dcd6e47227a0a26b7b 100644
index 9b0b42add71172bd154226e51d62cebd8de3542e..c3c048ec2c8be72e0f5494f423bfafbd9b572b88 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -390,7 +390,6 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic

View File

@@ -31,7 +31,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
index 66476b33cede1e44db5ec166a0cea81f82ffe47a..9948cc4c65d5681c171b38cdf7cf3e63a01e4364 100644
index 893975e8587b9036f622e2088c302e33004496d2..93f722537a6b479561d79ba2e980c50a324f9486 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
@@ -43,6 +43,44 @@ public abstract class Projectile extends Entity {

View File

@@ -13,7 +13,7 @@ As part of: Pufferfish (https://github.com/pufferfish-gg/Pufferfish)
Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
diff --git a/build.gradle.kts b/build.gradle.kts
index 01780a73ee9cc602951bdf568c17673c4c639f79..00508c2b7a0aa9ecdd0c8709a559f26de17a0004 100644
index 0bdb5eeebde6aa8a7d0b3d8dd29ea93f2db859bb..22864c8810bacd23b3ebaedce1c87f1441873184 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -62,6 +62,7 @@ tasks.withType<JavaCompile> {
@@ -24,16 +24,16 @@ index 01780a73ee9cc602951bdf568c17673c4c639f79..00508c2b7a0aa9ecdd0c8709a559f26d
}
// Gale end - hide irrelevant compilation warnings
@@ -172,6 +173,7 @@ fun TaskContainer.registerRunTask(
val memoryGb = providers.gradleProperty("paper.runMemoryGb").getOrElse("2")
val modifiedJvmArgs = jvmArgs ?: arrayListOf()
modifiedJvmArgs.addAll(listOf("-Xms${memoryGb}G", "-Xmx${memoryGb}G"))
@@ -185,6 +186,7 @@ fun TaskContainer.registerRunTask(
modifiedJvmArgs.add("--enable-preview")
modifiedJvmArgs.addAll(listOf("--add-opens", "java.base/java.lang=ALL-UNNAMED"))
// Gale end - enable virtual threads for development runs
+ modifiedJvmArgs.add("--add-modules=jdk.incubator.vector") // Gale - Pufferfish - SIMD support
jvmArgs = modifiedJvmArgs
doFirst {
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 9c3ccbbd657d1605b8fabb6e01c11ff31f39a17e..20ae254b1cd3d75781d1ea4b9859bf0ef92f173d 100644
index 985f1a50438b325e33fba5d07e26519171504aab..54458601bbda3a4142c09f717e3b87a079ce096f 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -14,6 +14,8 @@ import java.util.Locale;

View File

@@ -22,7 +22,7 @@ you to easily disable books, should you want to preemptively remove this
functionality before additional exploits are found.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 547cc76d2086a658cbf667dcd6e47227a0a26b7b..92fc01fb38130fc9c77e47e4b1db99f892d5459f 100644
index c3c048ec2c8be72e0f5494f423bfafbd9b572b88..d3ada447bc1e83627b112886ed229bb2b50bd1f1 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -182,6 +182,8 @@ import net.minecraft.world.phys.Vec3;

View File

@@ -13,7 +13,7 @@ As part of: Pufferfish (https://github.com/pufferfish-gg/Pufferfish)
Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 92fc01fb38130fc9c77e47e4b1db99f892d5459f..dce5cff1d85ca2dd642219ca2a1adfc2adbae4d6 100644
index d3ada447bc1e83627b112886ed229bb2b50bd1f1..619b5572b06e663824e38eaf29b477e8f9f86dda 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2357,6 +2357,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic

View File

@@ -13,7 +13,7 @@ As part of: EmpireCraft (https://github.com/starlis/empirecraft)
Licensed under: MIT (https://opensource.org/licenses/MIT)
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index a07da939bb6b2dd0bd75cc74dd79493695035259..9d74ef6973f6a9e12861256aa7032f8d746a97f5 100644
index 8a548616885149fe23763b3b2cd46dc8323e5803..c5984ad4d12fec9310156a7b7c7beddd3dc0ba57 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -261,6 +261,7 @@ public class ServerPlayer extends Player {
@@ -25,7 +25,7 @@ index a07da939bb6b2dd0bd75cc74dd79493695035259..9d74ef6973f6a9e12861256aa7032f8d
// CraftBukkit end
public boolean isRealPlayer; // Paper
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index dce5cff1d85ca2dd642219ca2a1adfc2adbae4d6..16a8e3819258e3e42ade5f237e473765b3f8b3c7 100644
index 619b5572b06e663824e38eaf29b477e8f9f86dda..8d14c710dbae635f0bf2c359ba1b2c144c95f536 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2333,6 +2333,10 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic

View File

@@ -7,7 +7,7 @@ License: AGPL-3.0 (https://www.gnu.org/licenses/agpl-3.0.html)
Gale - https://galemc.org
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 16a8e3819258e3e42ade5f237e473765b3f8b3c7..d2a09822104c954f06f64ad2a63012e433088169 100644
index 8d14c710dbae635f0bf2c359ba1b2c144c95f536..ffaebc09f523d9400ed13eded9f0c39ac650ba22 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -183,6 +183,7 @@ import net.minecraft.world.phys.shapes.BooleanOp;

View File

@@ -7,7 +7,7 @@ License: AGPL-3.0 (https://www.gnu.org/licenses/agpl-3.0.html)
Gale - https://galemc.org
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index d2a09822104c954f06f64ad2a63012e433088169..8d9e2573c6d9597699e74f19989dcde600a5fb61 100644
index ffaebc09f523d9400ed13eded9f0c39ac650ba22..8d537d9822fd88ec92acf57cf76e903678a12301 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2326,7 +2326,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic

View File

@@ -41,7 +41,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 1d1db89362b78ac34d46cdd71b9ab27404b98e48..9302502f59243fa254c88a7a8d513a2a65c17979 100644
index 54458601bbda3a4142c09f717e3b87a079ce096f..afdd597c63703cca87b277f0b66786cd8f3bf9aa 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -179,7 +179,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface

View File

@@ -19,7 +19,7 @@ the displayed hunger bar never goes down. Hunger (or any related value, includin
should not go down on peaceful. See https://bugs.mojang.com/browse/MC-31819.
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 61597ebe2f9faff43994c475074b87d11905e582..e561886cb78f9455cee3607354e3c72401aba0dc 100644
index f6e4194856d4a2710a169b5823e74da1ba2c9130..685b69df4c63ef64d62476eb90bf82ee5f87814d 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -1901,6 +1901,11 @@ public abstract class Player extends LivingEntity {

View File

@@ -42,7 +42,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
index 9788e477ff1446ad2ea3669922cc7dfc09900ce8..e615762a78dbf93584df5146939efa01a1e3bd7c 100644
index c56bc341ebb1592af9285d5e044951e7ae2ae0b2..66ea67129bf814d1b43b7dd0f221ab3c522a9587 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
@@ -312,7 +312,7 @@ public abstract class AbstractArrow extends Projectile {

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