mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2026-07-12 18:04:01 +00:00
Forge Adapter
This commit is contained in:
+203
-5
@@ -1,17 +1,215 @@
|
||||
/*
|
||||
* Iris is a World Generator for Minecraft Servers
|
||||
* Copyright (c) 2026 Arcane Arts (Volmit Software)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
|
||||
import org.gradle.api.tasks.compile.JavaCompile
|
||||
import org.gradle.jvm.toolchain.JavaLanguageVersion
|
||||
|
||||
plugins {
|
||||
id 'java'
|
||||
id 'net.minecraftforge.gradle' version '7.0.27'
|
||||
alias(libs.plugins.shadow)
|
||||
}
|
||||
|
||||
Properties rootProperties = new Properties()
|
||||
file('../../gradle.properties').withInputStream { InputStream stream -> rootProperties.load(stream) }
|
||||
String irisVersion = providers.gradleProperty('irisVersion').getOrElse(rootProperties.getProperty('irisVersion', '4.0.0-26.1'))
|
||||
String minecraftVersion = providers.gradleProperty('minecraftVersion').getOrElse(rootProperties.getProperty('minecraftVersion', '26.1.2'))
|
||||
String forgeVersion = providers.gradleProperty('forgeVersion').getOrElse('26.1.2-64.0.9')
|
||||
|
||||
group = 'art.arcane'
|
||||
version = rootProject.version
|
||||
version = irisVersion
|
||||
|
||||
java {
|
||||
toolchain {
|
||||
languageVersion = JavaLanguageVersion.of(25)
|
||||
}
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java {
|
||||
srcDir '../modded-common/src/main/java'
|
||||
}
|
||||
resources {
|
||||
srcDir '../modded-common/src/main/resources'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
repositories {
|
||||
minecraft.mavenizer(it)
|
||||
maven fg.forgeMaven
|
||||
maven fg.minecraftLibsMaven
|
||||
mavenCentral()
|
||||
maven { url = uri('https://repo.codemc.org/repository/maven-public/') }
|
||||
maven { url = uri('https://jitpack.io') }
|
||||
maven { url = uri('https://hub.spigotmc.org/nexus/content/repositories/snapshots/') }
|
||||
}
|
||||
|
||||
configurations {
|
||||
bundle {
|
||||
canBeConsumed = false
|
||||
canBeResolved = true
|
||||
}
|
||||
devBundle {
|
||||
canBeConsumed = false
|
||||
canBeResolved = true
|
||||
}
|
||||
runBundle {
|
||||
canBeConsumed = false
|
||||
canBeResolved = true
|
||||
}
|
||||
commonsLangRaw {
|
||||
canBeConsumed = false
|
||||
canBeResolved = true
|
||||
transitive = false
|
||||
}
|
||||
}
|
||||
|
||||
configurations.named('bundle').configure {
|
||||
exclude(group: 'com.google.code.gson')
|
||||
exclude(group: 'com.google.guava')
|
||||
exclude(group: 'commons-io')
|
||||
exclude(group: 'org.apache.commons', module: 'commons-lang3')
|
||||
exclude(group: 'it.unimi.dsi', module: 'fastutil')
|
||||
exclude(group: 'org.slf4j')
|
||||
exclude(group: 'org.apache.logging.log4j')
|
||||
exclude(group: 'de.crazydev22.slimjar.helper')
|
||||
exclude(group: 'de.crazydev22.slimjar')
|
||||
exclude(group: 'io.github.slimjar')
|
||||
}
|
||||
|
||||
configurations.named('runBundle').configure {
|
||||
exclude(group: 'de.crazydev22.slimjar.helper')
|
||||
exclude(group: 'de.crazydev22.slimjar')
|
||||
exclude(group: 'io.github.slimjar')
|
||||
}
|
||||
|
||||
configurations.compileClasspath.extendsFrom(configurations.devBundle)
|
||||
configurations.runtimeClasspath.extendsFrom(configurations.runBundle)
|
||||
|
||||
['compileClasspath', 'runtimeClasspath'].each { String name ->
|
||||
configurations.named(name).configure {
|
||||
resolutionStrategy.capabilitiesResolution.withCapability('org.lz4:lz4-java') {
|
||||
selectHighestVersion()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(project(':spi'))
|
||||
implementation minecraft.dependency("net.minecraftforge:forge:${forgeVersion}")
|
||||
compileOnly('org.slf4j:slf4j-api:2.0.17')
|
||||
compileOnly(libs.spigot) {
|
||||
transitive = false
|
||||
}
|
||||
|
||||
List<Object> shared = [
|
||||
"art.arcane:core:${irisVersion}".toString(),
|
||||
"art.arcane:spi:${irisVersion}".toString(),
|
||||
'com.github.VolmitSoftware:VolmLib:master-SNAPSHOT',
|
||||
libs.paralithic,
|
||||
libs.lru,
|
||||
libs.kotlin.stdlib,
|
||||
libs.kotlin.coroutines,
|
||||
libs.commons.math3,
|
||||
libs.caffeine,
|
||||
libs.lz4,
|
||||
libs.zip,
|
||||
libs.sentry,
|
||||
libs.oshi,
|
||||
libs.byteBuddy.core,
|
||||
libs.byteBuddy.agent
|
||||
]
|
||||
shared.each { Object notation ->
|
||||
add('bundle', notation)
|
||||
add('devBundle', notation)
|
||||
add('runBundle', notation)
|
||||
}
|
||||
add('bundle', libs.commons.lang)
|
||||
add('devBundle', libs.commons.lang)
|
||||
add('commonsLangRaw', libs.commons.lang)
|
||||
}
|
||||
|
||||
TaskProvider<Jar> sanitizedCommonsLang = tasks.register('sanitizedCommonsLang', Jar) {
|
||||
archiveBaseName.set('commons-lang-sanitized')
|
||||
destinationDirectory.set(layout.buildDirectory.dir('sanitized'))
|
||||
from({ zipTree(configurations.named('commonsLangRaw').get().singleFile) })
|
||||
exclude('org/apache/commons/lang/enum/**')
|
||||
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
|
||||
}
|
||||
|
||||
dependencies {
|
||||
add('runBundle', files(sanitizedCommonsLang))
|
||||
}
|
||||
|
||||
minecraft {
|
||||
runs {
|
||||
register('server') {
|
||||
workingDir = layout.projectDirectory.dir('run')
|
||||
String parity = providers.gradleProperty('irisParity').getOrNull()
|
||||
if (parity != null) {
|
||||
systemProperty('iris.parity', parity)
|
||||
}
|
||||
String parityGolden = providers.gradleProperty('irisParityGolden').getOrNull()
|
||||
if (parityGolden != null) {
|
||||
systemProperty('iris.parity.golden', parityGolden)
|
||||
}
|
||||
String parityDeep = providers.gradleProperty('irisParityDeep').getOrNull()
|
||||
if (parityDeep != null) {
|
||||
systemProperty('iris.parity.deep', parityDeep)
|
||||
}
|
||||
String worldCheck = providers.gradleProperty('irisWorldCheck').getOrNull()
|
||||
if (worldCheck != null) {
|
||||
systemProperty('iris.worldcheck', worldCheck)
|
||||
}
|
||||
jvmArgs('-Xmx8G')
|
||||
args('--nogui')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tasks.named('compileJava', JavaCompile).configure {
|
||||
options.encoding = 'UTF-8'
|
||||
options.release.set(25)
|
||||
}
|
||||
|
||||
processResources {
|
||||
inputs.property('version', project.version)
|
||||
inputs.property('minecraftVersion', minecraftVersion)
|
||||
filesMatching('META-INF/mods.toml') {
|
||||
expand('version': project.version)
|
||||
expand('version': project.version, 'minecraftVersion': minecraftVersion)
|
||||
}
|
||||
}
|
||||
|
||||
tasks.named('jar', Jar).configure {
|
||||
archiveFileName.set("Iris-${project.version}-forge-skeleton.jar")
|
||||
tasks.named('shadowJar', ShadowJar).configure {
|
||||
archiveFileName.set("Iris-${project.version}+mc${minecraftVersion}-forge.jar")
|
||||
configurations = [project.configurations.named('bundle').get()]
|
||||
mergeServiceFiles()
|
||||
exclude('META-INF/maven/**')
|
||||
exclude('META-INF/proguard/**')
|
||||
exclude('META-INF/*.SF')
|
||||
exclude('META-INF/*.DSA')
|
||||
exclude('META-INF/*.RSA')
|
||||
exclude('org/apache/commons/lang/enum/**')
|
||||
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
|
||||
}
|
||||
|
||||
tasks.named('assemble').configure {
|
||||
dependsOn(tasks.named('shadowJar'))
|
||||
}
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
org.gradle.daemon=true
|
||||
org.gradle.parallel=true
|
||||
org.gradle.jvmargs=-Xmx3072m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
|
||||
org.gradle.caching=true
|
||||
org.gradle.configuration-cache=false
|
||||
net.minecraftforge.gradle.merge-source-sets=true
|
||||
@@ -0,0 +1 @@
|
||||
[]
|
||||
@@ -0,0 +1 @@
|
||||
[]
|
||||
@@ -0,0 +1,28 @@
|
||||
#Early window height
|
||||
earlyWindowHeight = 480
|
||||
#Enable forge global version checking
|
||||
versionCheck = true
|
||||
#Should we control the window. Disabling this disables new GL features and can be bad for mods that rely on them.
|
||||
earlyWindowControl = true
|
||||
#Early window framebuffer scale
|
||||
earlyWindowFBScale = 1
|
||||
#Early window provider
|
||||
earlyWindowProvider = "fmlearlywindow"
|
||||
#Early window width
|
||||
earlyWindowWidth = 854
|
||||
#Early window starts maximized
|
||||
earlyWindowMaximized = false
|
||||
#Default config path for servers
|
||||
defaultConfigPath = "defaultconfigs"
|
||||
#Disables Optimized DFU client-side - already disabled on servers
|
||||
disableOptimizedDFU = true
|
||||
#Skip specific GL versions, may help with buggy graphics card drivers
|
||||
earlyWindowSkipGLVersions = []
|
||||
#Whether to log a help message on first attempt, to aid troubleshooting. This setting should automatically disable itself after a successful launch
|
||||
earlyWindowLogHelpMessage = true
|
||||
#Max threads for early initialization parallelism, -1 is based on processor count
|
||||
maxThreads = -1
|
||||
#Squir?
|
||||
earlyWindowSquir = false
|
||||
#Whether to show CPU usage stats in early window
|
||||
earlyWindowShowCPU = false
|
||||
@@ -0,0 +1,5 @@
|
||||
#General configuration settings
|
||||
[general]
|
||||
#A config option to help developers find known legacy modded tags that have common convention equivalents when running on integrated server. Defaults to OFF.
|
||||
#Allowed Values: OFF, ONLY_IN_DEV_ENV, ALWAYS
|
||||
logLegacyTagWarnings = "OFF"
|
||||
@@ -0,0 +1,84 @@
|
||||
{
|
||||
"general": {
|
||||
"commandSounds": true,
|
||||
"debug": false,
|
||||
"dumpMantleOnError": false,
|
||||
"disableNMS": false,
|
||||
"pluginMetrics": true,
|
||||
"splashLogoStartup": true,
|
||||
"useConsoleCustomColors": true,
|
||||
"useCustomColorsIngame": true,
|
||||
"adjustVanillaHeight": false,
|
||||
"autoIngestDatapacks": true,
|
||||
"autoImportDatapackStructures": true,
|
||||
"forceMainWorld": "",
|
||||
"spinh": -20,
|
||||
"spins": 7,
|
||||
"spinb": 8
|
||||
},
|
||||
"world": {
|
||||
"postLoadBlockUpdates": true,
|
||||
"forcePersistEntities": true,
|
||||
"anbientEntitySpawningSystem": true,
|
||||
"asyncTickIntervalMS": 700,
|
||||
"targetSpawnEntitiesPerChunk": 0.95,
|
||||
"markerEntitySpawningSystem": true,
|
||||
"effectSystem": true,
|
||||
"worldEditWandCUI": true,
|
||||
"globalPregenCache": false
|
||||
},
|
||||
"gui": {
|
||||
"useServerLaunchedGuis": true,
|
||||
"maximumPregenGuiFPS": false,
|
||||
"colorMode": true
|
||||
},
|
||||
"autoConfiguration": {
|
||||
"configureSpigotTimeoutTime": true,
|
||||
"configurePaperWatchdogDelay": true,
|
||||
"autoRestartOnCustomBiomeInstall": true
|
||||
},
|
||||
"generator": {
|
||||
"defaultWorldType": "overworld",
|
||||
"maxBiomeChildDepth": 4,
|
||||
"preventLeafDecay": true
|
||||
},
|
||||
"concurrency": {},
|
||||
"studio": {
|
||||
"studio": true,
|
||||
"openVSCode": true,
|
||||
"disableTimeAndWeather": true,
|
||||
"enableEntitySpawning": false,
|
||||
"autoStartDefaultStudio": false
|
||||
},
|
||||
"performance": {
|
||||
"engineSVC": {
|
||||
"useVirtualThreads": true,
|
||||
"forceMulticoreWrite": false,
|
||||
"priority": 5
|
||||
},
|
||||
"trimMantleInStudio": false,
|
||||
"mantleKeepAlive": 30,
|
||||
"noiseCacheSize": 1024,
|
||||
"resourceLoaderCacheSize": 1024,
|
||||
"objectLoaderCacheSize": 4096,
|
||||
"tectonicPlateSize": -1,
|
||||
"mantleCleanupDelay": 200,
|
||||
"simdKernels": true
|
||||
},
|
||||
"pregen": {
|
||||
"useTicketQueue": true,
|
||||
"runtimeSchedulerMode": "AUTO",
|
||||
"paperLikeBackendMode": "AUTO",
|
||||
"chunkLoadTimeoutSeconds": 15,
|
||||
"timeoutWarnIntervalMs": 500,
|
||||
"saveIntervalMs": 30000,
|
||||
"maxResidentTectonicPlates": 96,
|
||||
"mantleBackpressureWaitMs": 25,
|
||||
"mantleBackpressureTimeoutMs": 60000
|
||||
},
|
||||
"sentry": {
|
||||
"includeServerId": true,
|
||||
"disableAutoReporting": false,
|
||||
"debug": false
|
||||
}
|
||||
}
|
||||
Submodule adapters/forge/run/config/irisworldgen/packs/overworld added at 8e32852ee6
@@ -0,0 +1,147 @@
|
||||
---- Minecraft Crash Report ----
|
||||
// Quite honestly, I wouldn't worry myself about that.
|
||||
|
||||
Time: 2026-06-12 02:26:22
|
||||
Description: Mod loading error has occurred
|
||||
|
||||
java.lang.Exception: Mod Loading has failed
|
||||
at TRANSFORMER/net.minecraftforge.forge@64.0.9/net.minecraftforge.logging.CrashReportExtender.dumpModLoadingCrashReport(CrashReportExtender.java:49) [forge-26.1.2-64.0.9.jar%231!/:?]
|
||||
at TRANSFORMER/net.minecraftforge.forge@64.0.9/net.minecraftforge.server.loading.ServerModLoader.load(ServerModLoader.java:36) [forge-26.1.2-64.0.9.jar%231!/:?]
|
||||
at TRANSFORMER/minecraft@26.1.2/net.minecraft.server.Main.main(Main.java:128) [forge-26.1.2-64.0.9.jar%230!/:?]
|
||||
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?]
|
||||
at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?]
|
||||
at SECURE-BOOTSTRAP/net.minecraftforge.fmlloader@26.1.2-64.0.9/net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:96) [fmlloader-26.1.2-64.0.9.jar!/:?]
|
||||
at SECURE-BOOTSTRAP/net.minecraftforge.fmlloader@26.1.2-64.0.9/net.minecraftforge.fml.loading.targets.CommonLaunchHandler.lambda$makeService$0(CommonLaunchHandler.java:79) [fmlloader-26.1.2-64.0.9.jar!/:?]
|
||||
at SECURE-BOOTSTRAP/cpw.mods.modlauncher@10.2.4/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:77) [modlauncher-10.2.4.jar!/:?]
|
||||
at SECURE-BOOTSTRAP/cpw.mods.modlauncher@10.2.4/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:97) [modlauncher-10.2.4.jar!/:?]
|
||||
at SECURE-BOOTSTRAP/cpw.mods.modlauncher@10.2.4/cpw.mods.modlauncher.Launcher.run(Launcher.java:116) [modlauncher-10.2.4.jar!/:?]
|
||||
at SECURE-BOOTSTRAP/cpw.mods.modlauncher@10.2.4/cpw.mods.modlauncher.Launcher.main(Launcher.java:75) [modlauncher-10.2.4.jar!/:?]
|
||||
at SECURE-BOOTSTRAP/cpw.mods.modlauncher@10.2.4/cpw.mods.modlauncher.BootstrapEntry.main(BootstrapEntry.java:17) [modlauncher-10.2.4.jar!/:?]
|
||||
at net.minecraftforge.bootstrap@2.1.7/net.minecraftforge.bootstrap.Bootstrap.moduleMain(Bootstrap.java:188) [bootstrap-2.1.8.jar!/:?]
|
||||
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?]
|
||||
at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?]
|
||||
at net.minecraftforge.bootstrap.Bootstrap.bootstrapMain(Bootstrap.java:133) [bootstrap-2.1.8.jar:2.1.8]
|
||||
at net.minecraftforge.bootstrap.Bootstrap.start(Bootstrap.java:53) [bootstrap-2.1.8.jar:2.1.8]
|
||||
at net.minecraftforge.bootstrap.ForgeBootstrap.main(ForgeBootstrap.java:19) [bootstrap-2.1.8.jar:2.1.8]
|
||||
at net.minecraftforge.launcher.Main$Launcher.run(Main.java:270) [slime-launcher-0.2.1.jar:0.2.1]
|
||||
at net.minecraftforge.launcher.Main$Launcher.access$000(Main.java:256) [slime-launcher-0.2.1.jar:0.2.1]
|
||||
at net.minecraftforge.launcher.Main.main(Main.java:57) [slime-launcher-0.2.1.jar:0.2.1]
|
||||
Transformer Audit:
|
||||
net.minecraft.server.Main
|
||||
REASON: classloading
|
||||
net.minecraftforge.logging.CrashReportExtender
|
||||
REASON: classloading
|
||||
net.minecraftforge.server.loading.ServerModLoader
|
||||
REASON: classloading
|
||||
|
||||
|
||||
A detailed walkthrough of the error, its code path and all known details is as follows:
|
||||
---------------------------------------------------------------------------------------
|
||||
|
||||
-- Head --
|
||||
Thread: main
|
||||
Suspected Mods: NONE
|
||||
Stacktrace:
|
||||
at TRANSFORMER/net.minecraftforge.forge@64.0.9/net.minecraftforge.logging.CrashReportExtender.lambda$dumpModLoadingCrashReport$0(CrashReportExtender.java:52) ~[forge-26.1.2-64.0.9.jar%231!/:?]
|
||||
Transformer Audit:
|
||||
net.minecraftforge.logging.CrashReportExtender
|
||||
REASON: classloading
|
||||
-- NO MOD INFO AVAILABLE --
|
||||
Details:
|
||||
Mod File: NO FILE INFO
|
||||
Failure message: The Mod File /Users/brianfopiano/Developer/RemoteGit/VolmitSoftware/Iris/adapters/forge/build/resources/main has mods that were not found
|
||||
Mod Version: NO MOD INFO AVAILABLE
|
||||
Mod Issue URL: NOT PROVIDED
|
||||
Exception message: MISSING EXCEPTION MESSAGE
|
||||
Stacktrace:
|
||||
at TRANSFORMER/net.minecraftforge.forge@64.0.9/net.minecraftforge.logging.CrashReportExtender.lambda$dumpModLoadingCrashReport$0(CrashReportExtender.java:52) ~[forge-26.1.2-64.0.9.jar%231!/:?]
|
||||
at java.base/java.util.ArrayList.forEach(ArrayList.java:1604) ~[?:?]
|
||||
at TRANSFORMER/net.minecraftforge.forge@64.0.9/net.minecraftforge.logging.CrashReportExtender.dumpModLoadingCrashReport(CrashReportExtender.java:50) [forge-26.1.2-64.0.9.jar%231!/:?]
|
||||
at TRANSFORMER/net.minecraftforge.forge@64.0.9/net.minecraftforge.server.loading.ServerModLoader.load(ServerModLoader.java:36) [forge-26.1.2-64.0.9.jar%231!/:?]
|
||||
at TRANSFORMER/minecraft@26.1.2/net.minecraft.server.Main.main(Main.java:128) [forge-26.1.2-64.0.9.jar%230!/:?]
|
||||
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?]
|
||||
at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?]
|
||||
at SECURE-BOOTSTRAP/net.minecraftforge.fmlloader@26.1.2-64.0.9/net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:96) [fmlloader-26.1.2-64.0.9.jar!/:?]
|
||||
at SECURE-BOOTSTRAP/net.minecraftforge.fmlloader@26.1.2-64.0.9/net.minecraftforge.fml.loading.targets.CommonLaunchHandler.lambda$makeService$0(CommonLaunchHandler.java:79) [fmlloader-26.1.2-64.0.9.jar!/:?]
|
||||
at SECURE-BOOTSTRAP/cpw.mods.modlauncher@10.2.4/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:77) [modlauncher-10.2.4.jar!/:?]
|
||||
at SECURE-BOOTSTRAP/cpw.mods.modlauncher@10.2.4/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:97) [modlauncher-10.2.4.jar!/:?]
|
||||
at SECURE-BOOTSTRAP/cpw.mods.modlauncher@10.2.4/cpw.mods.modlauncher.Launcher.run(Launcher.java:116) [modlauncher-10.2.4.jar!/:?]
|
||||
at SECURE-BOOTSTRAP/cpw.mods.modlauncher@10.2.4/cpw.mods.modlauncher.Launcher.main(Launcher.java:75) [modlauncher-10.2.4.jar!/:?]
|
||||
at SECURE-BOOTSTRAP/cpw.mods.modlauncher@10.2.4/cpw.mods.modlauncher.BootstrapEntry.main(BootstrapEntry.java:17) [modlauncher-10.2.4.jar!/:?]
|
||||
at net.minecraftforge.bootstrap@2.1.7/net.minecraftforge.bootstrap.Bootstrap.moduleMain(Bootstrap.java:188) [bootstrap-2.1.8.jar!/:?]
|
||||
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?]
|
||||
at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?]
|
||||
at net.minecraftforge.bootstrap.Bootstrap.bootstrapMain(Bootstrap.java:133) [bootstrap-2.1.8.jar:2.1.8]
|
||||
at net.minecraftforge.bootstrap.Bootstrap.start(Bootstrap.java:53) [bootstrap-2.1.8.jar:2.1.8]
|
||||
at net.minecraftforge.bootstrap.ForgeBootstrap.main(ForgeBootstrap.java:19) [bootstrap-2.1.8.jar:2.1.8]
|
||||
at net.minecraftforge.launcher.Main$Launcher.run(Main.java:270) [slime-launcher-0.2.1.jar:0.2.1]
|
||||
at net.minecraftforge.launcher.Main$Launcher.access$000(Main.java:256) [slime-launcher-0.2.1.jar:0.2.1]
|
||||
at net.minecraftforge.launcher.Main.main(Main.java:57) [slime-launcher-0.2.1.jar:0.2.1]
|
||||
Transformer Audit:
|
||||
net.minecraft.server.Main
|
||||
REASON: classloading
|
||||
net.minecraftforge.logging.CrashReportExtender
|
||||
REASON: classloading
|
||||
net.minecraftforge.server.loading.ServerModLoader
|
||||
REASON: classloading
|
||||
|
||||
|
||||
-- System Details --
|
||||
Details:
|
||||
Minecraft Version: 26.1.2
|
||||
Minecraft Version ID: 26.1.2
|
||||
Operating System: Mac OS X (aarch64) version 26.6
|
||||
Java Version: 25.0.2, Eclipse Adoptium
|
||||
Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), Eclipse Adoptium
|
||||
Memory: 191387352 bytes (182 MiB) / 390070272 bytes (372 MiB) up to 8589934592 bytes (8192 MiB)
|
||||
Memory (heap): init: 2048MiB, used: 185MiB, committed: 372MiB, max: 8192MiB
|
||||
Memory (non-head): init: 007MiB, used: 112MiB, committed: 114MiB, max: 000MiB
|
||||
CPUs: 16
|
||||
Processor Vendor: Apple Inc.
|
||||
Processor Name: Apple M3 Max
|
||||
Identifier: Apple Inc. Family 0x8765edea Model 0 Stepping 0
|
||||
Microarchitecture: ARM64 SoC: Everest + Sawtooth
|
||||
Frequency (GHz): 4.06
|
||||
Number of physical packages: 1
|
||||
Number of physical CPUs: 16
|
||||
Number of logical CPUs: 16
|
||||
Graphics card #0 name: Apple M3 Max
|
||||
Graphics card #0 vendor: Apple (0x106b)
|
||||
Graphics card #0 VRAM (MiB): 0.00
|
||||
Graphics card #0 deviceId: unknown
|
||||
Graphics card #0 versionInfo: unknown
|
||||
Memory slot #0 capacity (MiB): 0.00
|
||||
Memory slot #0 clockSpeed (GHz): 0.00
|
||||
Memory slot #0 type: unknown
|
||||
Virtual memory max (MiB): 131072.00
|
||||
Virtual memory used (MiB): 51282.34
|
||||
Swap memory total (MiB): 0.00
|
||||
Swap memory used (MiB): 0.00
|
||||
Space in storage for jna.tmpdir (MiB): <path not set>
|
||||
Space in storage for org.lwjgl.system.SharedLibraryExtractPath (MiB): <path not set>
|
||||
Space in storage for io.netty.native.workdir (MiB): <path not set>
|
||||
Space in storage for java.io.tmpdir (MiB): available: 292345.31, total: 948554.19
|
||||
Space in storage for workdir (MiB): available: 292345.31, total: 948554.19
|
||||
JVM Flags: 2 total; -XX:+UseCompactObjectHeaders -Xmx8G
|
||||
Debug Flags: 0 total;
|
||||
ModLauncher: 10.2.4
|
||||
ModLauncher launch target: forge_userdev_server
|
||||
ModLauncher naming: mcp
|
||||
ModLauncher services:
|
||||
/ slf4jfixer PLUGINSERVICE
|
||||
/ runtimedistcleaner PLUGINSERVICE
|
||||
/ runtime_enum_extender PLUGINSERVICE
|
||||
/ capability_token_subclass PLUGINSERVICE
|
||||
/ accesstransformer PLUGINSERVICE
|
||||
/ mixin PLUGINSERVICE
|
||||
/ fml TRANSFORMATIONSERVICE
|
||||
/ forge TRANSFORMATIONSERVICE
|
||||
/ mixin TRANSFORMATIONSERVICE
|
||||
FML Language Providers:
|
||||
lowcodefml@64
|
||||
minecraft@1.0
|
||||
javafml@64.0.9
|
||||
Mod List:
|
||||
union:/Users/brianfopiano/Developer/RemoteGit/Volm|Minecraft |minecraft |26.1.2 |NONE |Manifest: NOSIGNATURE
|
||||
union:/Users/brianfopiano/Developer/RemoteGit/Volm|Forge |forge |64.0.9 |NONE |Manifest: NOSIGNATURE
|
||||
/Users/brianfopiano/Developer/RemoteGit/VolmitSoft|Iris |irisworldgen |4.0.0-26.1 |NONE |Manifest: NOSIGNATURE
|
||||
@@ -0,0 +1 @@
|
||||
eula=true
|
||||
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,83 @@
|
||||
[12Jun2026 02:27:13.584] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher running: args [--launchTarget, forge_userdev_server, --gameDir, ., --nogui]
|
||||
[12Jun2026 02:27:13.585] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: JVM identified as Eclipse Adoptium OpenJDK 64-Bit Server VM 25.0.2+10-LTS
|
||||
[12Jun2026 02:27:13.585] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher 10.2.4 starting: java version 25.0.2 by Eclipse Adoptium; OS Mac OS X arch aarch64 version 26.6
|
||||
[12Jun2026 02:27:13.635] [main/INFO] [net.minecraftforge.fml.loading.ImmediateWindowHandler/]: ImmediateWindowProvider not loading because launch target is forge_userdev_server
|
||||
[12Jun2026 02:27:13.680] [main/INFO] [mixin/]: SpongePowered MIXIN Subsystem Version=0.8.7 Source=jar:file:///Users/brianfopiano/.gradle/caches/modules-2/files-2.1/org.spongepowered/mixin/0.8.7/8ab114ac385e6dbdad5efafe28aba4df8120915f/mixin-0.8.7.jar!/ Service=ModLauncher Env=SERVER
|
||||
[12Jun2026 02:27:14.173] [main/INFO] [net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator/]: No dependencies to load found. Skipping!
|
||||
[12Jun2026 02:27:14.264] [main/INFO] [cpw.mods.modlauncher.LaunchServiceHandler/MODLAUNCHER]: Launching target 'forge_userdev_server' with arguments [--gameDir, ., --nogui]
|
||||
[12Jun2026 02:27:17.821] [modloading-worker-0/INFO] [Iris/]: Iris 4.0.0-26.1 bootstrapping on Minecraft 26.1.2 (Forge 64.0.9)
|
||||
[12Jun2026 02:27:17.825] [modloading-worker-0/INFO] [net.minecraftforge.common.ForgeMod/FORGEMOD]: Forge mod loading, version 64.0.9, for MC 26.1.2 with MCP 20260409.101008
|
||||
[12Jun2026 02:27:17.825] [modloading-worker-0/INFO] [net.minecraftforge.common.MinecraftForge/FORGE]: MinecraftForge v64.0.9 Initialized
|
||||
[12Jun2026 02:27:17.827] [modloading-worker-0/INFO] [Iris/]: Iris core loaded (3 classes ok)
|
||||
[12Jun2026 02:27:17.830] [modloading-worker-0/INFO] [net.minecraftforge.common.ForgeMod/FORGEMOD]: Opening jdk.naming.dns/com.sun.jndi.dns to java.naming
|
||||
[12Jun2026 02:27:17.834] [modloading-worker-0/INFO] [Iris/]: Iris chunk generator registered as irisworldgen:iris
|
||||
[12Jun2026 02:27:17.834] [modloading-worker-0/INFO] [Iris/]: Iris world check armed
|
||||
[12Jun2026 02:27:17.930] [main/WARN] [net.minecraftforge.common.ForgeConfigSpec/CORE]: Configuration file /Users/brianfopiano/Developer/RemoteGit/VolmitSoftware/Iris/adapters/forge/run/config/forge-common.toml is not correct. Correcting
|
||||
[12Jun2026 02:27:17.930] [main/WARN] [net.minecraftforge.common.ForgeConfigSpec/CORE]: Incorrect key general was corrected from null to its default, SynchronizedConfig{DataHolder:{}}.
|
||||
[12Jun2026 02:27:17.934] [main/WARN] [net.minecraftforge.common.ForgeConfigSpec/CORE]: Incorrect key general.logLegacyTagWarnings was corrected from null to its default, OFF.
|
||||
[12Jun2026 02:27:18.014] [Forge Version Check/INFO] [net.minecraftforge.fml.VersionChecker/]: [forge] Starting version check at https://files.minecraftforge.net/net/minecraftforge/forge/promotions_slim.json
|
||||
[12Jun2026 02:27:18.243] [Forge Version Check/INFO] [net.minecraftforge.fml.VersionChecker/]: [forge] Found status: BETA Current: 64.0.9 Target: 64.0.9
|
||||
[12Jun2026 02:27:18.504] [main/INFO] [com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService/]: Environment: Environment[sessionHost=https://sessionserver.mojang.com, servicesHost=https://api.minecraftservices.com, profilesHost=https://api.mojang.com, name=PROD]
|
||||
[12Jun2026 02:27:18.529] [main/WARN] [net.minecraft.server.packs.VanillaPackResourcesBuilder/]: Assets URL 'union:/Users/brianfopiano/Developer/RemoteGit/VolmitSoftware/Iris/adapters/forge/.gradle/mavenizer/repo/net/minecraftforge/forge/26.1.2-64.0.9/forge-26.1.2-64.0.9.jar%230!/assets/.mcassetsroot' uses unexpected schema
|
||||
[12Jun2026 02:27:18.529] [main/WARN] [net.minecraft.server.packs.VanillaPackResourcesBuilder/]: Assets URL 'union:/Users/brianfopiano/Developer/RemoteGit/VolmitSoftware/Iris/adapters/forge/.gradle/mavenizer/repo/net/minecraftforge/forge/26.1.2-64.0.9/forge-26.1.2-64.0.9.jar%230!/data/.mcassetsroot' uses unexpected schema
|
||||
[12Jun2026 02:27:18.850] [Worker-Main-7/INFO] [net.minecraft.server.Main/]: No existing world data, creating new world
|
||||
[12Jun2026 02:27:19.225] [main/INFO] [net.minecraft.world.item.crafting.RecipeManager/]: Loaded 1515 recipes
|
||||
[12Jun2026 02:27:19.235] [main/INFO] [net.minecraft.advancements.AdvancementTree/]: Loaded 1617 advancements
|
||||
[12Jun2026 02:27:19.317] [Server thread/INFO] [net.minecraft.server.dedicated.DedicatedServer/]: Starting minecraft server version 26.1.2
|
||||
[12Jun2026 02:27:19.317] [Server thread/INFO] [net.minecraft.server.dedicated.DedicatedServer/]: Loading properties
|
||||
[12Jun2026 02:27:19.317] [Server thread/INFO] [net.minecraft.server.dedicated.DedicatedServer/]: Default game type: SURVIVAL
|
||||
[12Jun2026 02:27:19.317] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Generating keypair
|
||||
[12Jun2026 02:27:19.355] [Server thread/INFO] [net.minecraft.server.dedicated.DedicatedServer/]: Starting Minecraft server on *:25601
|
||||
[12Jun2026 02:27:19.724] [Server thread/WARN] [net.minecraft.server.dedicated.DedicatedServer/]: **** SERVER IS RUNNING IN OFFLINE/INSECURE MODE!
|
||||
[12Jun2026 02:27:19.724] [Server thread/WARN] [net.minecraft.server.dedicated.DedicatedServer/]: The server will make no attempt to authenticate usernames. Beware.
|
||||
[12Jun2026 02:27:19.724] [Server thread/WARN] [net.minecraft.server.dedicated.DedicatedServer/]: While this makes the game possible to play without internet access, it also opens up the ability for hackers to connect with any username they choose.
|
||||
[12Jun2026 02:27:19.724] [Server thread/WARN] [net.minecraft.server.dedicated.DedicatedServer/]: To change this, set "online-mode" to "true" in the server.properties file.
|
||||
[12Jun2026 02:27:19.733] [Server thread/WARN] [net.minecraftforge.common.ForgeConfigSpec/CORE]: Configuration file ./world/serverconfig/forge-server.toml is not correct. Correcting
|
||||
[12Jun2026 02:27:19.733] [Server thread/WARN] [net.minecraftforge.common.ForgeConfigSpec/CORE]: Incorrect key server was corrected from null to its default, SynchronizedConfig{DataHolder:{}}.
|
||||
[12Jun2026 02:27:19.733] [Server thread/WARN] [net.minecraftforge.common.ForgeConfigSpec/CORE]: Incorrect key server.removeErroringBlockEntities was corrected from null to its default, false.
|
||||
[12Jun2026 02:27:19.734] [Server thread/WARN] [net.minecraftforge.common.ForgeConfigSpec/CORE]: Incorrect key server.removeErroringEntities was corrected from null to its default, false.
|
||||
[12Jun2026 02:27:19.734] [Server thread/WARN] [net.minecraftforge.common.ForgeConfigSpec/CORE]: Incorrect key server.fullBoundingBoxLadders was corrected from null to its default, false.
|
||||
[12Jun2026 02:27:19.734] [Server thread/WARN] [net.minecraftforge.common.ForgeConfigSpec/CORE]: Incorrect key server.permissionHandler was corrected from null to its default, forge:default_handler.
|
||||
[12Jun2026 02:27:19.734] [Server thread/WARN] [net.minecraftforge.common.ForgeConfigSpec/CORE]: Incorrect key server.advertiseDedicatedServerToLan was corrected from null to its default, true.
|
||||
[12Jun2026 02:27:19.739] [Server thread/INFO] [net.minecraft.server.dedicated.DedicatedServer/]: Preparing level "world"
|
||||
[12Jun2026 02:27:19.812] [Server thread/INFO] [net.minecraft.server.level.progress.LoggingLevelLoadListener/]: Selecting global world spawn...
|
||||
[12Jun2026 02:27:20.087] [Worker-Main-5/INFO] [Iris/]: Engine init: minecraft_overworld/overworld seed=2668990339094804701
|
||||
[12Jun2026 02:27:21.416] [Worker-Main-5/INFO] [Iris/]: Iris engine up for minecraft:overworld: pack=/Users/brianfopiano/Developer/RemoteGit/VolmitSoftware/Iris/adapters/forge/run/config/irisworldgen/packs/overworld dim=overworld seed=2668990339094804701 height=-256..512
|
||||
[12Jun2026 02:27:21.416] [Worker-Main-5/INFO] [Iris/]: Iris generating overworld through IrisModdedChunkGenerator (dim=overworld first chunk -2,-1)
|
||||
[12Jun2026 02:27:56.453] [Server thread/INFO] [net.minecraft.server.level.progress.LoggingLevelLoadListener/]: Loading 0 persistent chunks...
|
||||
[12Jun2026 02:27:56.453] [Server thread/INFO] [net.minecraft.server.level.progress.LoggingLevelLoadListener/]: Preparing spawn area: 100%
|
||||
[12Jun2026 02:27:56.454] [Server thread/INFO] [net.minecraft.server.level.progress.LoggingLevelLoadListener/]: Time elapsed: 36642 ms
|
||||
[12Jun2026 02:27:56.454] [Server thread/INFO] [net.minecraft.server.dedicated.DedicatedServer/]: Done (36.722s)! For help, type "help"
|
||||
[12Jun2026 02:27:56.455] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Saving chunks for level 'ServerLevel[world]'/minecraft:overworld
|
||||
[12Jun2026 02:27:56.491] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Saving chunks for level 'ServerLevel[world]'/minecraft:the_nether
|
||||
[12Jun2026 02:27:56.493] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Saving chunks for level 'ServerLevel[world]'/minecraft:the_end
|
||||
[12Jun2026 02:27:56.513] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: ThreadedAnvilChunkStorage (world): All chunks are saved
|
||||
[12Jun2026 02:27:56.513] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: ThreadedAnvilChunkStorage (DIM-1): All chunks are saved
|
||||
[12Jun2026 02:27:56.513] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: ThreadedAnvilChunkStorage (DIM1): All chunks are saved
|
||||
[12Jun2026 02:27:56.513] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: ThreadedAnvilChunkStorage: All dimensions are saved
|
||||
[12Jun2026 02:27:56.533] [Server thread/INFO] [net.minecraftforge.server.permission.PermissionAPI/]: Successfully initialized permission handler forge:default_handler
|
||||
[12Jun2026 02:27:56.830] [Server thread/INFO] [Iris/]: [worldcheck] overworld generator: art.arcane.iris.modded.IrisModdedChunkGenerator
|
||||
[12Jun2026 02:27:56.830] [Server thread/INFO] [Iris/]: [worldcheck] spawn: 0 200 0 (minY=-256 height=768)
|
||||
[12Jun2026 02:27:58.025] [LanServerPinger #1/WARN] [net.minecraft.client.server.LanServerPinger/]: LanServerPinger: No route to host
|
||||
[12Jun2026 02:28:03.910] [Server thread/INFO] [Iris/]: [worldcheck] surface sample: -24 205 -24 minecraft:basalt
|
||||
[12Jun2026 02:28:03.910] [Server thread/INFO] [Iris/]: [worldcheck] surface sample: -24 199 -8 minecraft:lava
|
||||
[12Jun2026 02:28:03.910] [Server thread/INFO] [Iris/]: [worldcheck] surface sample: -24 197 8 minecraft:magma_block
|
||||
[12Jun2026 02:28:03.910] [Server thread/INFO] [Iris/]: [worldcheck] surface sample: -24 201 24 minecraft:magma_block
|
||||
[12Jun2026 02:28:03.910] [Server thread/INFO] [Iris/]: [worldcheck] surface sample: -8 203 -24 minecraft:basalt
|
||||
[12Jun2026 02:28:03.910] [Server thread/INFO] [Iris/]: [worldcheck] surface sample: -8 198 -8 minecraft:basalt
|
||||
[12Jun2026 02:28:03.910] [Server thread/INFO] [Iris/]: [worldcheck] surface digest: 47ef866543a5 (16 columns, 4 distinct surface blocks: [minecraft:basalt, minecraft:lava, minecraft:magma_block, minecraft:tuff])
|
||||
[12Jun2026 02:28:03.910] [Server thread/INFO] [Iris/]: [worldcheck] chunk 0,0: 29 non-empty sections of 48; column blocks at (8,*,8): [minecraft:bedrock, minecraft:deepslate, minecraft:stone, minecraft:dripstone_block, minecraft:blackstone]
|
||||
[12Jun2026 02:28:03.910] [Server thread/INFO] [Iris/]: [worldcheck] PASS
|
||||
[12Jun2026 02:28:03.911] [Iris World Check/INFO] [Iris/]: [worldcheck] shutting down dev server (result=PASS)
|
||||
[12Jun2026 02:28:03.911] [Server thread/WARN] [net.minecraft.server.MinecraftServer/]: Can't keep up! Is the server overloaded? Running 7077ms or 141 ticks behind
|
||||
[12Jun2026 02:28:04.560] [Server thread/INFO] [Iris/]: Iris engine closed for minecraft:overworld
|
||||
[12Jun2026 02:28:04.561] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Stopping server
|
||||
[12Jun2026 02:28:04.561] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Saving players
|
||||
[12Jun2026 02:28:04.561] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Saving worlds
|
||||
[12Jun2026 02:28:04.618] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Saving chunks for level 'ServerLevel[world]'/minecraft:overworld
|
||||
[12Jun2026 02:28:04.845] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Saving chunks for level 'ServerLevel[world]'/minecraft:the_nether
|
||||
[12Jun2026 02:28:04.846] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Saving chunks for level 'ServerLevel[world]'/minecraft:the_end
|
||||
[12Jun2026 02:28:04.864] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: ThreadedAnvilChunkStorage (world): All chunks are saved
|
||||
[12Jun2026 02:28:04.864] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: ThreadedAnvilChunkStorage (DIM-1): All chunks are saved
|
||||
[12Jun2026 02:28:04.864] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: ThreadedAnvilChunkStorage (DIM1): All chunks are saved
|
||||
[12Jun2026 02:28:04.864] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: ThreadedAnvilChunkStorage: All dimensions are saved
|
||||
@@ -0,0 +1 @@
|
||||
[]
|
||||
@@ -0,0 +1,69 @@
|
||||
#Minecraft server properties
|
||||
#Fri Jun 12 02:27:18 EDT 2026
|
||||
accepts-transfers=false
|
||||
allow-flight=false
|
||||
broadcast-console-to-ops=true
|
||||
broadcast-rcon-to-ops=true
|
||||
bug-report-link=
|
||||
difficulty=easy
|
||||
enable-code-of-conduct=false
|
||||
enable-jmx-monitoring=false
|
||||
enable-query=false
|
||||
enable-rcon=false
|
||||
enable-status=true
|
||||
enforce-secure-profile=true
|
||||
enforce-whitelist=false
|
||||
entity-broadcast-range-percentage=100
|
||||
force-gamemode=false
|
||||
function-permission-level=2
|
||||
gamemode=survival
|
||||
generate-structures=true
|
||||
generator-settings={}
|
||||
hardcore=false
|
||||
hide-online-players=false
|
||||
initial-disabled-packs=
|
||||
initial-enabled-packs=vanilla
|
||||
level-name=world
|
||||
level-seed=
|
||||
level-type=minecraft\:normal
|
||||
log-ips=true
|
||||
management-server-allowed-origins=
|
||||
management-server-enabled=false
|
||||
management-server-host=localhost
|
||||
management-server-port=0
|
||||
management-server-secret=gw5pwUKFpNvEqtk8fveDSDQCSnmiB63EXSaiRp6h
|
||||
management-server-tls-enabled=true
|
||||
management-server-tls-keystore=
|
||||
management-server-tls-keystore-password=
|
||||
max-chained-neighbor-updates=1000000
|
||||
max-players=20
|
||||
max-tick-time=60000
|
||||
max-world-size=29999984
|
||||
motd=A Minecraft Server
|
||||
network-compression-threshold=256
|
||||
online-mode=false
|
||||
op-permission-level=4
|
||||
pause-when-empty-seconds=60
|
||||
player-idle-timeout=0
|
||||
prevent-proxy-connections=false
|
||||
query.port=25565
|
||||
rate-limit=0
|
||||
rcon.password=
|
||||
rcon.port=25575
|
||||
region-file-compression=deflate
|
||||
require-resource-pack=false
|
||||
resource-pack=
|
||||
resource-pack-id=
|
||||
resource-pack-prompt=
|
||||
resource-pack-sha1=
|
||||
server-ip=
|
||||
server-port=25601
|
||||
simulation-distance=10
|
||||
spawn-protection=16
|
||||
status-heartbeat-interval=0
|
||||
sync-chunk-writes=false
|
||||
text-filtering-config=
|
||||
text-filtering-version=0
|
||||
use-native-transport=true
|
||||
view-distance=10
|
||||
white-list=false
|
||||
@@ -0,0 +1 @@
|
||||
[]
|
||||
@@ -0,0 +1 @@
|
||||
[]
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
+1
@@ -0,0 +1 @@
|
||||
{"statistics":{"totalHotloads":0,"chunksGenerated":64,"IrisToUpgradedVersion":0,"IrisCreationVersion":0,"MinecraftVersion":0},"chunks":{},"cooldowns":{}}
|
||||
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,12 @@
|
||||
#Server configuration settings
|
||||
[server]
|
||||
#Set this to true to remove any BlockEntity that throws an error in its update method instead of closing the server and reporting a crash log. BE WARNED THIS COULD SCREW UP EVERYTHING USE SPARINGLY WE ARE NOT RESPONSIBLE FOR DAMAGES.
|
||||
removeErroringBlockEntities = false
|
||||
#Set this to true to remove any Entity (Note: Does not include BlockEntities) that throws an error in its tick method instead of closing the server and reporting a crash log. BE WARNED THIS COULD SCREW UP EVERYTHING USE SPARINGLY WE ARE NOT RESPONSIBLE FOR DAMAGES.
|
||||
removeErroringEntities = false
|
||||
#Set this to true to check the entire entity's collision bounding box for ladders instead of just the block they are in. Causes noticeable differences in mechanics so default is vanilla behavior. Default: false.
|
||||
fullBoundingBoxLadders = false
|
||||
#The permission handler used by the server. Defaults to forge:default_handler if no such handler with that name is registered.
|
||||
permissionHandler = "forge:default_handler"
|
||||
#Set this to true to enable advertising the dedicated server to local LAN clients so that it shows up in the Multiplayer screen automatically.
|
||||
advertiseDedicatedServerToLan = true
|
||||
@@ -0,0 +1 @@
|
||||
☃
|
||||
@@ -0,0 +1,95 @@
|
||||
/*
|
||||
* Iris is a World Generator for Minecraft Servers
|
||||
* Copyright (c) 2026 Arcane Arts (Volmit Software)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import java.io.File
|
||||
|
||||
pluginManagement {
|
||||
repositories {
|
||||
gradlePluginPortal()
|
||||
maven {
|
||||
name = 'MinecraftForge'
|
||||
url = uri('https://maven.minecraftforge.net/')
|
||||
}
|
||||
mavenCentral()
|
||||
}
|
||||
}
|
||||
|
||||
plugins {
|
||||
id 'org.gradle.toolchains.foojay-resolver-convention' version '1.0.0'
|
||||
}
|
||||
|
||||
rootProject.name = 'iris-forge'
|
||||
|
||||
dependencyResolutionManagement {
|
||||
versionCatalogs {
|
||||
libs {
|
||||
from(files('../../gradle/libs.versions.toml'))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
boolean hasVolmLibSettings(File directory) {
|
||||
new File(directory, 'settings.gradle.kts').exists() || new File(directory, 'settings.gradle').exists()
|
||||
}
|
||||
|
||||
File resolveLocalVolmLibDirectory() {
|
||||
String configuredPath = providers.gradleProperty('localVolmLibDirectory')
|
||||
.orElse(providers.environmentVariable('VOLMLIB_DIR'))
|
||||
.orNull
|
||||
if (configuredPath != null && !configuredPath.isBlank()) {
|
||||
File configuredDirectory = file(configuredPath)
|
||||
if (hasVolmLibSettings(configuredDirectory)) {
|
||||
return configuredDirectory
|
||||
}
|
||||
}
|
||||
|
||||
File currentDirectory = settingsDir
|
||||
while (currentDirectory != null) {
|
||||
File candidate = new File(currentDirectory, 'VolmLib')
|
||||
if (hasVolmLibSettings(candidate)) {
|
||||
return candidate
|
||||
}
|
||||
|
||||
currentDirectory = currentDirectory.parentFile
|
||||
}
|
||||
|
||||
null
|
||||
}
|
||||
|
||||
boolean useLocalVolmLib = providers.gradleProperty('useLocalVolmLib')
|
||||
.orElse('true')
|
||||
.map { String value -> value.equalsIgnoreCase('true') }
|
||||
.get()
|
||||
File localVolmLibDirectory = resolveLocalVolmLibDirectory()
|
||||
|
||||
if (useLocalVolmLib && localVolmLibDirectory != null) {
|
||||
includeBuild(localVolmLibDirectory) {
|
||||
dependencySubstitution {
|
||||
substitute(module('com.github.VolmitSoftware:VolmLib')).using(project(':shared'))
|
||||
substitute(module('com.github.VolmitSoftware.VolmLib:shared')).using(project(':shared'))
|
||||
substitute(module('com.github.VolmitSoftware.VolmLib:volmlib-shared')).using(project(':shared'))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
includeBuild('../..') {
|
||||
dependencySubstitution {
|
||||
substitute(module('art.arcane:core')).using(project(':core'))
|
||||
substitute(module('art.arcane:spi')).using(project(':spi'))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
/*
|
||||
* Iris is a World Generator for Minecraft Servers
|
||||
* Copyright (c) 2026 Arcane Arts (Volmit Software)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package art.arcane.iris.forge;
|
||||
|
||||
import art.arcane.iris.modded.ModdedLoader;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
import net.minecraftforge.fml.ModList;
|
||||
import net.minecraftforge.fml.loading.FMLLoader;
|
||||
import net.minecraftforge.fml.loading.FMLPaths;
|
||||
import net.minecraftforge.forgespi.language.IModFileInfo;
|
||||
import net.minecraftforge.server.ServerLifecycleHooks;
|
||||
|
||||
import java.io.File;
|
||||
import java.nio.file.Path;
|
||||
|
||||
public final class ForgeModdedLoader implements ModdedLoader {
|
||||
@Override
|
||||
public String platformName() {
|
||||
return "forge";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String minecraftVersion() {
|
||||
return FMLLoader.versionInfo().mcVersion();
|
||||
}
|
||||
|
||||
@Override
|
||||
public MinecraftServer currentServer() {
|
||||
return ServerLifecycleHooks.getCurrentServer();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Path configDir() {
|
||||
return FMLPaths.CONFIGDIR.get();
|
||||
}
|
||||
|
||||
@Override
|
||||
public File modJar() {
|
||||
IModFileInfo info = ModList.getModFileById("irisworldgen");
|
||||
return info == null ? null : info.getFile().getFilePath().toFile();
|
||||
}
|
||||
}
|
||||
@@ -18,8 +18,57 @@
|
||||
|
||||
package art.arcane.iris.forge;
|
||||
|
||||
import art.arcane.iris.modded.IrisModdedChunkGenerator;
|
||||
import art.arcane.iris.modded.ModdedEngineBootstrap;
|
||||
import art.arcane.iris.modded.ModdedParityProbe;
|
||||
import art.arcane.iris.modded.ModdedWorldCheck;
|
||||
import art.arcane.iris.modded.ModdedWorldEngines;
|
||||
import com.mojang.serialization.MapCodec;
|
||||
import net.minecraft.core.registries.Registries;
|
||||
import net.minecraft.world.level.chunk.ChunkGenerator;
|
||||
import net.minecraftforge.event.server.ServerStoppingEvent;
|
||||
import net.minecraftforge.fml.ModContainer;
|
||||
import net.minecraftforge.fml.ModList;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
|
||||
import net.minecraftforge.fml.loading.FMLLoader;
|
||||
import net.minecraftforge.fml.loading.VersionInfo;
|
||||
import net.minecraftforge.registries.DeferredRegister;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
@Mod("irisworldgen")
|
||||
public final class IrisForgeBootstrap {
|
||||
public IrisForgeBootstrap() {
|
||||
throw new UnsupportedOperationException("The Iris Forge adapter is a build skeleton; worldgen is not wired yet (see CROSSPLATFORM_PLAN.md Phase 5).");
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger("Iris");
|
||||
|
||||
public IrisForgeBootstrap(FMLJavaModLoadingContext context) {
|
||||
ModdedEngineBootstrap.initialize(new ForgeModdedLoader());
|
||||
String modVersion = ModList.getModContainerById("irisworldgen")
|
||||
.map((ModContainer container) -> container.getModInfo().getVersion().toString())
|
||||
.orElse("unknown");
|
||||
VersionInfo versionInfo = FMLLoader.versionInfo();
|
||||
LOGGER.info("Iris {} bootstrapping on Minecraft {} (Forge {})", modVersion, versionInfo.mcVersion(), versionInfo.forgeVersion());
|
||||
|
||||
ModdedEngineBootstrap.selfTest(IrisForgeBootstrap.class.getClassLoader());
|
||||
ModdedEngineBootstrap.bind();
|
||||
|
||||
DeferredRegister<MapCodec<? extends ChunkGenerator>> chunkGenerators = DeferredRegister.create(Registries.CHUNK_GENERATOR, "irisworldgen");
|
||||
chunkGenerators.register("iris", () -> IrisModdedChunkGenerator.CODEC);
|
||||
chunkGenerators.register(context.getModBusGroup());
|
||||
LOGGER.info("Iris chunk generator registered as irisworldgen:iris");
|
||||
|
||||
ServerStoppingEvent.BUS.addListener((ServerStoppingEvent event) -> ModdedWorldEngines.shutdown());
|
||||
|
||||
String parity = System.getProperty("iris.parity");
|
||||
if (parity != null) {
|
||||
LOGGER.info("Iris parity probe armed: {}", parity);
|
||||
ModdedParityProbe.schedule(parity);
|
||||
}
|
||||
|
||||
String worldCheck = System.getProperty("iris.worldcheck");
|
||||
if (worldCheck != null) {
|
||||
LOGGER.info("Iris world check armed");
|
||||
ModdedWorldCheck.schedule();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,24 @@
|
||||
modLoader = "javafml"
|
||||
loaderVersion = "[1,)"
|
||||
loaderVersion = "[64,)"
|
||||
license = "GPL-3.0"
|
||||
|
||||
[[mods]]
|
||||
modId = "irisworldgen"
|
||||
version = "${version}"
|
||||
displayName = "Iris"
|
||||
description = "Iris World Generation Engine (Forge adapter - SKELETON, worldgen not yet wired)"
|
||||
description = "Iris World Generation Engine (Forge adapter - native chunk generator, overworld override datapack, engine lifecycle)"
|
||||
authors = "Arcane Arts (Volmit Software)"
|
||||
|
||||
[[dependencies.irisworldgen]]
|
||||
modId = "forge"
|
||||
mandatory = true
|
||||
versionRange = "[64,)"
|
||||
ordering = "NONE"
|
||||
side = "BOTH"
|
||||
|
||||
[[dependencies.irisworldgen]]
|
||||
modId = "minecraft"
|
||||
mandatory = true
|
||||
versionRange = "[${minecraftVersion}]"
|
||||
ordering = "NONE"
|
||||
side = "BOTH"
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"pack": {
|
||||
"description": "Iris World Generation Engine resources",
|
||||
"max_format": 101,
|
||||
"min_format": [
|
||||
101,
|
||||
1
|
||||
]
|
||||
}
|
||||
}
|
||||
+9
-3
@@ -147,11 +147,17 @@ tasks.register('buildFabric', Copy) {
|
||||
into(layout.projectDirectory.dir('dist'))
|
||||
}
|
||||
|
||||
tasks.register('forgeJar', Exec) {
|
||||
group = 'iris'
|
||||
workingDir = layout.projectDirectory.dir('adapters/forge').asFile
|
||||
String wrapperScript = System.getProperty('os.name').toLowerCase().contains('windows') ? 'gradlew.bat' : 'gradlew'
|
||||
commandLine(layout.projectDirectory.file(wrapperScript).asFile.absolutePath, 'shadowJar', '--console=plain')
|
||||
}
|
||||
|
||||
tasks.register('buildForge', Copy) {
|
||||
group = 'iris'
|
||||
dependsOn(':adapters:forge:jar')
|
||||
from(project(':adapters:forge').layout.buildDirectory.file("libs/Iris-${project.version}-forge-skeleton.jar"))
|
||||
rename { "Iris-${project.version}+mc${minecraftVersion}-forge-skeleton.jar" }
|
||||
dependsOn('forgeJar')
|
||||
from(layout.projectDirectory.file("adapters/forge/build/libs/Iris-${project.version}+mc${minecraftVersion}-forge.jar"))
|
||||
into(layout.projectDirectory.dir('dist'))
|
||||
}
|
||||
|
||||
|
||||
@@ -74,4 +74,3 @@ include(':spi')
|
||||
include(':adapters:bukkit:plugin')
|
||||
include(':adapters:bukkit:nms:v1_21_R7')
|
||||
include(':adapters:bukkit:nms:v26_1_R1')
|
||||
include(':adapters:forge')
|
||||
|
||||
Reference in New Issue
Block a user