From f080a59b418e8af5f1cd4b312703de21f26c0749 Mon Sep 17 00:00:00 2001 From: James Seibel Date: Wed, 11 Sep 2024 17:38:02 -0500 Subject: [PATCH] Add netty leak detection and server/client folder separation --- fabric/build.gradle | 14 +++++++++++--- forge/build.gradle | 12 +++++++----- neoforge/build.gradle | 12 +++++++----- 3 files changed, 25 insertions(+), 13 deletions(-) diff --git a/fabric/build.gradle b/fabric/build.gradle index accf863fc..479b57014 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -10,14 +10,17 @@ loom { client { client() setConfigName("Fabric Client") - ideConfigGenerated(true) - runDir("../run") + ideConfigGenerated(true) // When true a run configuration file will be generated for IDE's. By default only set to true for the root project. + runDir("../run/client") + vmArgs("-Dio.netty.leakDetection.level=advanced") // https://netty.io/wiki/reference-counted-objects.html#leak-detection-levels + programArgs("--username", "Dev") } server { server() setConfigName("Fabric Server") ideConfigGenerated(true) - runDir("../run") + runDir("../run/server") + vmArgs("-Dio.netty.leakDetection.level=advanced") } } } @@ -69,6 +72,11 @@ dependencies { addModJar(fabricApi.module("fabric-events-interaction-v0", rootProject.fabric_api_version)) addModJar(fabricApi.module("fabric-rendering-v1", rootProject.fabric_api_version)) // TODO: Remove this as it is only needed in 1 line (FabricClientProxy) addModJar(fabricApi.module("fabric-networking-api-v1", rootProject.fabric_api_version)) + addModJar(fabricApi.module("fabric-entity-events-v1", rootProject.fabric_api_version)) + if (minecraft_version >= "1.19.2") + addModJar(fabricApi.module("fabric-command-api-v2", rootProject.fabric_api_version)) + else // < 1.19.2 + addModJar(fabricApi.module("fabric-command-api-v1", rootProject.fabric_api_version)) // used by mod menu in MC 1.20.6+ addModJar(fabricApi.module("fabric-screen-api-v1", rootProject.fabric_api_version)) diff --git a/forge/build.gradle b/forge/build.gradle index 790890245..3676f2537 100644 --- a/forge/build.gradle +++ b/forge/build.gradle @@ -37,15 +37,17 @@ loom { client { client() setConfigName("Forge Client") - ideConfigGenerated(true) - runDir("../run") -// vmArgs("-XX:-OmitStackTraceInFastThrow", minecraftMemoryJavaArg) + ideConfigGenerated(false) // When true a run configuration file will be generated for IDE's. By default only set to true for the root project. + runDir("../run/client") + vmArgs("-Dio.netty.leakDetection.level=advanced") // https://netty.io/wiki/reference-counted-objects.html#leak-detection-levels + programArgs("--username", "Dev") } server { server() setConfigName("Forge Server") - ideConfigGenerated(true) - runDir("../run") + ideConfigGenerated(false) + runDir("../run/server") + vmArgs("-Dio.netty.leakDetection.level=advanced") } } } diff --git a/neoforge/build.gradle b/neoforge/build.gradle index 04da288d0..89b5b2f6d 100644 --- a/neoforge/build.gradle +++ b/neoforge/build.gradle @@ -29,15 +29,17 @@ loom { client { client() setConfigName("NeoForge Client") - ideConfigGenerated(true) - runDir("../run") - //vmArgs("-XX:-OmitStackTraceInFastThrow", minecraftMemoryJavaArg) + ideConfigGenerated(false) // When true a run configuration file will be generated for IDE's. By default only set to true for the root project. + runDir("../run/client") + vmArgs("-Dio.netty.leakDetection.level=advanced") // https://netty.io/wiki/reference-counted-objects.html#leak-detection-levels + programArgs("--username", "Dev") } server { server() setConfigName("NeoForge Server") - ideConfigGenerated(true) - runDir("../run") + ideConfigGenerated(false) + runDir("../run/server") + vmArgs("-Dio.netty.leakDetection.level=advanced") } } }