diff --git a/.gitignore b/.gitignore index 88fc08b84..c5cbdefa4 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ build/ gradle-app.setting out/ logs/ +dist/ ## IntelliJ IDEA diff --git a/build.gradle b/build.gradle index 6caf08ab3..1ec9b2791 100644 --- a/build.gradle +++ b/build.gradle @@ -1,108 +1,34 @@ plugins { id 'eclipse' id 'idea' - id 'maven-publish' - id 'net.minecraftforge.gradle' version "${forgegradle_version}" - id 'org.parchmentmc.librarian.forgegradle' version "${librarian_version}" - id 'org.spongepowered.mixin' version "${mixingradle_version}" + // make sure gradle loads the same arch plugin across all subprojects + id 'dev.architectury.loom' apply false } -boolean dev = System.getenv('RELEASE') == null || System.getenv('RELEASE').equalsIgnoreCase('false'); - -ext.buildNumber = System.getenv('BUILD_NUMBER') - -group = 'com.jozufozu.flywheel' -archivesBaseName = "flywheel-forge-${artifact_minecraft_version}" -version = mod_version + (dev && buildNumber != null ? "-${buildNumber}" : '') - -java.toolchain.languageVersion = JavaLanguageVersion.of(17) - println "Java: ${System.getProperty 'java.version'}, JVM: ${System.getProperty 'java.vm.version'} (${System.getProperty 'java.vendor'}), Arch: ${System.getProperty 'os.arch'}" -minecraft { - mappings channel: 'parchment', version: "${parchment_version}-${minecraft_version}" - copyIdeResources = true +subprojects { + boolean dev = System.getenv('RELEASE') == null || System.getenv('RELEASE').equalsIgnoreCase('false'); - runs { - configureEach { - workingDirectory project.file('run') + ext.buildNumber = System.getenv('BUILD_NUMBER') - property 'forge.logging.markers', '' - property 'forge.logging.console.level', 'debug' + group = 'com.jozufozu.flywheel' + version = mod_version + (dev && buildNumber != null ? "-${buildNumber}" : '') - property 'mixin.env.remapRefMap', 'true' - property 'mixin.env.refMapRemappingFile', "${projectDir}/build/createSrgToMcp/output.srg" - - mods { - flywheel { - source sourceSets.main - } - } + tasks { + // make builds reproducible + withType(AbstractArchiveTask).configureEach { + preserveFileTimestamps = false + reproducibleFileOrder = true } - client { - property 'flw.dumpShaderSource', 'true' - property 'flw.debugMemorySafety', 'true' - } - - server { - args '--nogui' + // module metadata is often broken on multi-platform projects + withType(GenerateModuleMetadata).configureEach { + enabled = false } } } -repositories { - maven { - url 'https://www.cursemaven.com' - content { - includeGroup "curse.maven" - } - } - maven { - name 'tterrag maven' - url 'https://maven.tterrag.com/' - } - maven { - name = "Modrinth" - url = "https://api.modrinth.com/maven" - content { - includeGroup "maven.modrinth" - } - } - mavenCentral() -} - -dependencies { - testImplementation 'org.junit.jupiter:junit-jupiter:5.8.1' - minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}" - - compileOnly fg.deobf("maven.modrinth:embeddium:0.3.9+mc1.20.1") - compileOnly fg.deobf("maven.modrinth:oculus:1.20.1-1.6.15a") - // implementation fg.deobf("maven.modrinth:starlight-forge:1.1.2+1.20") - - // https://discord.com/channels/313125603924639766/725850371834118214/910619168821354497 - // Prevent Mixin annotation processor from getting into IntelliJ's annotation processor settings - // This allows 'Settings > Build, Execution, and Deployment > Build Tools > Gradle > Build and run using' set to IntelliJ to work correctly - // if (System.getProperty('idea.sync.active') != 'true') { - annotationProcessor "org.spongepowered:mixin:${mixin_version}:processor" - // } -} - -test { - useJUnitPlatform() -} - -mixin { - add sourceSets.main, 'flywheel.refmap.json' - - config 'flywheel.backend.mixins.json' - config 'flywheel.impl.mixins.json' - config 'flywheel.impl.sodium.mixins.json' - - debug.verbose = true - debug.export = true -} - idea { // Tell IDEA to always download sources/javadoc artifacts from maven. module { @@ -110,96 +36,3 @@ idea { downloadSources = true } } - -// Workaround for SpongePowered/MixinGradle#38 -afterEvaluate { - tasks.configureReobfTaskForReobfJar.mustRunAfter(tasks.compileJava) -} - -tasks.withType(JavaCompile).configureEach { - options.encoding = 'UTF-8' // Use the UTF-8 charset for Java compilation -} - -javadoc { - source = [sourceSets.main.allJava] - // prevent java 8's strict doclint for javadocs from failing builds - options.addStringOption('Xdoclint:none', '-quiet') -} - -compileJava { - options.compilerArgs = ['-Xdiags:verbose'] -} - -tasks.named('processResources', ProcessResources).configure { - var replaceProperties = [ - minecraft_version : minecraft_version, - minecraft_version_range: minecraft_version_range, - forge_version : forge_version, - forge_version_range : forge_version_range, - loader_version_range : loader_version_range, - mod_version : mod_version - ] - inputs.properties replaceProperties - - filesMatching(['META-INF/mods.toml', 'pack.mcmeta']) { - expand replaceProperties + [project: project] - } -} - -apply from: rootProject.file('gradle/package-infos.gradle') - -void addLicense(jarTask) { - jarTask.from('LICENSE.md') { - rename '(.*)\\.(.*)', '$1_' + archivesBaseName + '.$2' - } -} - -void addManifest(jarTask) { - jarTask.manifest { - attributes([ - 'Specification-Title' : 'flywheel', - // 'Specification-Vendor': 'flywheel authors', - 'Specification-Version' : '1', // We are version 1 of ourselves - 'Implementation-Title' : project.jar.archiveBaseName, - 'Implementation-Version' : project.jar.archiveVersion, - // 'Implementation-Vendor': 'flywheel authors', - 'Implementation-Timestamp': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"), - ]) - } -} - -tasks.named('jar', Jar).configure { - archiveClassifier = '' - - finalizedBy 'reobfJar' - addManifest(it) - addLicense(it) -} - -java { - withSourcesJar() - withJavadocJar() -} - -publishing { - publications { - register('mavenJava', MavenPublication) { - artifact jar - artifact sourcesJar - artifact javadocJar - - artifactId = archivesBaseName - - fg.component(it) - } - } - repositories { - maven { - url "file://${project.projectDir}/mcmodsrepo" - } - - if (project.hasProperty('mavendir')) { - maven { url mavendir } - } - } -} diff --git a/common/build.gradle b/common/build.gradle new file mode 100644 index 000000000..3e4ebaeeb --- /dev/null +++ b/common/build.gradle @@ -0,0 +1,124 @@ +plugins { + id 'maven-publish' + id 'dev.architectury.loom' +} + +base { + archivesName = "flywheel-${project.name}-${artifact_minecraft_version}" +} + +repositories { + maven { + name = 'ParchmentMC' + url = 'https://maven.parchmentmc.org' + } + mavenCentral() +} + +dependencies { + minecraft "com.mojang:minecraft:$minecraft_version" + mappings(loom.layered() { + officialMojangMappings() + parchment("org.parchmentmc.data:parchment-${minecraft_version}:${parchment_version}@zip") + }) + + modCompileOnly "net.fabricmc:fabric-loader:$fabric_loader_version" +} + +java { + JavaVersion javaVersion = JavaVersion.toVersion(java_version) + sourceCompatibility = javaVersion + targetCompatibility = javaVersion + + toolchain.languageVersion = JavaLanguageVersion.of(java_version) + + withSourcesJar() + withJavadocJar() +} + +processResources.configure { + from(project(':common').sourceSets.main.resources) + + var replaceProperties = [ + minecraft_version : minecraft_version, + minecraft_version_range: minecraft_version_range, + forge_version : forge_version, + forge_version_range : forge_version_range, + loader_version_range : loader_version_range, + mod_version : mod_version + ] + inputs.properties replaceProperties + + filesMatching(['META-INF/mods.toml', 'META-INF/neoforge.mods.toml', 'pack.mcmeta', 'fabric.mod.json']) { + expand replaceProperties + [project: project] + } +} + +tasks.withType(JavaCompile).configureEach { + options.encoding = 'UTF-8' + options.release = Integer.parseInt(java_version) + options.compilerArgs = ['-Xdiags:verbose'] +} + +jar.configure { + archiveClassifier = '' + addManifest(it) + addLicense(it) +} + +sourcesJar.configure { + addManifest(it) + addLicense(it) +} + +javadoc.configure { + // prevent java 8's strict doclint for javadocs from failing builds + options.addStringOption('Xdoclint:none', '-quiet') +} + +test.configure { + useJUnitPlatform() +} + +void addLicense(jarTask) { + jarTask.from('LICENSE.md') { + rename '(.*)\\.(.*)', '$1_' + archivesBaseName + '.$2' + } +} + +void addManifest(jarTask) { + jarTask.manifest { + attributes([ + 'Specification-Title' : 'flywheel', + // 'Specification-Vendor': 'flywheel authors', + 'Specification-Version' : '1', // We are version 1 of ourselves + 'Implementation-Title' : project.jar.archiveBaseName, + 'Implementation-Version' : project.jar.archiveVersion, + // 'Implementation-Vendor': 'flywheel authors', + 'Implementation-Timestamp': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"), + ]) + } +} + +publishing { + publications { + register('mavenJava', MavenPublication) { + from(components["java"]) + artifactId = "flywheel-${project.name}-intermediary-${artifact_minecraft_version}" + } + register('mojmapJava', MavenPublication) { + artifact jar + artifact sourcesJar + artifactId = "flywheel-${project.name}-mojmap-${artifact_minecraft_version}" + } + } + repositories { + maven { + url "file://${project.projectDir}/mcmodsrepo" + } + + if (project.hasProperty('mavendir')) { + maven { url rootProject.file(property('mavendir')) } + } + } +} diff --git a/src/main/java/com/jozufozu/flywheel/Flywheel.java b/common/src/main/java/com/jozufozu/flywheel/Flywheel.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/Flywheel.java rename to common/src/main/java/com/jozufozu/flywheel/Flywheel.java diff --git a/src/main/java/com/jozufozu/flywheel/api/BackendImplemented.java b/common/src/main/java/com/jozufozu/flywheel/api/BackendImplemented.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/BackendImplemented.java rename to common/src/main/java/com/jozufozu/flywheel/api/BackendImplemented.java diff --git a/src/main/java/com/jozufozu/flywheel/api/backend/Backend.java b/common/src/main/java/com/jozufozu/flywheel/api/backend/Backend.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/backend/Backend.java rename to common/src/main/java/com/jozufozu/flywheel/api/backend/Backend.java diff --git a/src/main/java/com/jozufozu/flywheel/api/backend/BackendManager.java b/common/src/main/java/com/jozufozu/flywheel/api/backend/BackendManager.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/backend/BackendManager.java rename to common/src/main/java/com/jozufozu/flywheel/api/backend/BackendManager.java diff --git a/src/main/java/com/jozufozu/flywheel/api/backend/Engine.java b/common/src/main/java/com/jozufozu/flywheel/api/backend/Engine.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/backend/Engine.java rename to common/src/main/java/com/jozufozu/flywheel/api/backend/Engine.java diff --git a/src/main/java/com/jozufozu/flywheel/api/event/BeginFrameEvent.java b/common/src/main/java/com/jozufozu/flywheel/api/event/BeginFrameEvent.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/event/BeginFrameEvent.java rename to common/src/main/java/com/jozufozu/flywheel/api/event/BeginFrameEvent.java diff --git a/src/main/java/com/jozufozu/flywheel/api/event/EndClientResourceReloadEvent.java b/common/src/main/java/com/jozufozu/flywheel/api/event/EndClientResourceReloadEvent.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/event/EndClientResourceReloadEvent.java rename to common/src/main/java/com/jozufozu/flywheel/api/event/EndClientResourceReloadEvent.java diff --git a/src/main/java/com/jozufozu/flywheel/api/event/ReloadLevelRendererEvent.java b/common/src/main/java/com/jozufozu/flywheel/api/event/ReloadLevelRendererEvent.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/event/ReloadLevelRendererEvent.java rename to common/src/main/java/com/jozufozu/flywheel/api/event/ReloadLevelRendererEvent.java diff --git a/src/main/java/com/jozufozu/flywheel/api/event/RenderContext.java b/common/src/main/java/com/jozufozu/flywheel/api/event/RenderContext.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/event/RenderContext.java rename to common/src/main/java/com/jozufozu/flywheel/api/event/RenderContext.java diff --git a/src/main/java/com/jozufozu/flywheel/api/event/RenderStage.java b/common/src/main/java/com/jozufozu/flywheel/api/event/RenderStage.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/event/RenderStage.java rename to common/src/main/java/com/jozufozu/flywheel/api/event/RenderStage.java diff --git a/src/main/java/com/jozufozu/flywheel/api/event/RenderStageEvent.java b/common/src/main/java/com/jozufozu/flywheel/api/event/RenderStageEvent.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/event/RenderStageEvent.java rename to common/src/main/java/com/jozufozu/flywheel/api/event/RenderStageEvent.java diff --git a/src/main/java/com/jozufozu/flywheel/api/instance/Instance.java b/common/src/main/java/com/jozufozu/flywheel/api/instance/Instance.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/instance/Instance.java rename to common/src/main/java/com/jozufozu/flywheel/api/instance/Instance.java diff --git a/src/main/java/com/jozufozu/flywheel/api/instance/InstanceHandle.java b/common/src/main/java/com/jozufozu/flywheel/api/instance/InstanceHandle.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/instance/InstanceHandle.java rename to common/src/main/java/com/jozufozu/flywheel/api/instance/InstanceHandle.java diff --git a/src/main/java/com/jozufozu/flywheel/api/instance/InstanceType.java b/common/src/main/java/com/jozufozu/flywheel/api/instance/InstanceType.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/instance/InstanceType.java rename to common/src/main/java/com/jozufozu/flywheel/api/instance/InstanceType.java diff --git a/src/main/java/com/jozufozu/flywheel/api/instance/InstanceWriter.java b/common/src/main/java/com/jozufozu/flywheel/api/instance/InstanceWriter.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/instance/InstanceWriter.java rename to common/src/main/java/com/jozufozu/flywheel/api/instance/InstanceWriter.java diff --git a/src/main/java/com/jozufozu/flywheel/api/instance/Instancer.java b/common/src/main/java/com/jozufozu/flywheel/api/instance/Instancer.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/instance/Instancer.java rename to common/src/main/java/com/jozufozu/flywheel/api/instance/Instancer.java diff --git a/src/main/java/com/jozufozu/flywheel/api/instance/InstancerProvider.java b/common/src/main/java/com/jozufozu/flywheel/api/instance/InstancerProvider.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/instance/InstancerProvider.java rename to common/src/main/java/com/jozufozu/flywheel/api/instance/InstancerProvider.java diff --git a/src/main/java/com/jozufozu/flywheel/api/internal/InternalFlywheelApi.java b/common/src/main/java/com/jozufozu/flywheel/api/internal/InternalFlywheelApi.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/internal/InternalFlywheelApi.java rename to common/src/main/java/com/jozufozu/flywheel/api/internal/InternalFlywheelApi.java diff --git a/src/main/java/com/jozufozu/flywheel/api/internal/package-info.java b/common/src/main/java/com/jozufozu/flywheel/api/internal/package-info.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/internal/package-info.java rename to common/src/main/java/com/jozufozu/flywheel/api/internal/package-info.java diff --git a/src/main/java/com/jozufozu/flywheel/api/layout/ArrayElementType.java b/common/src/main/java/com/jozufozu/flywheel/api/layout/ArrayElementType.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/layout/ArrayElementType.java rename to common/src/main/java/com/jozufozu/flywheel/api/layout/ArrayElementType.java diff --git a/src/main/java/com/jozufozu/flywheel/api/layout/ElementType.java b/common/src/main/java/com/jozufozu/flywheel/api/layout/ElementType.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/layout/ElementType.java rename to common/src/main/java/com/jozufozu/flywheel/api/layout/ElementType.java diff --git a/src/main/java/com/jozufozu/flywheel/api/layout/FloatRepr.java b/common/src/main/java/com/jozufozu/flywheel/api/layout/FloatRepr.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/layout/FloatRepr.java rename to common/src/main/java/com/jozufozu/flywheel/api/layout/FloatRepr.java diff --git a/src/main/java/com/jozufozu/flywheel/api/layout/IntegerRepr.java b/common/src/main/java/com/jozufozu/flywheel/api/layout/IntegerRepr.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/layout/IntegerRepr.java rename to common/src/main/java/com/jozufozu/flywheel/api/layout/IntegerRepr.java diff --git a/src/main/java/com/jozufozu/flywheel/api/layout/Layout.java b/common/src/main/java/com/jozufozu/flywheel/api/layout/Layout.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/layout/Layout.java rename to common/src/main/java/com/jozufozu/flywheel/api/layout/Layout.java diff --git a/src/main/java/com/jozufozu/flywheel/api/layout/LayoutBuilder.java b/common/src/main/java/com/jozufozu/flywheel/api/layout/LayoutBuilder.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/layout/LayoutBuilder.java rename to common/src/main/java/com/jozufozu/flywheel/api/layout/LayoutBuilder.java diff --git a/src/main/java/com/jozufozu/flywheel/api/layout/MatrixElementType.java b/common/src/main/java/com/jozufozu/flywheel/api/layout/MatrixElementType.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/layout/MatrixElementType.java rename to common/src/main/java/com/jozufozu/flywheel/api/layout/MatrixElementType.java diff --git a/src/main/java/com/jozufozu/flywheel/api/layout/ScalarElementType.java b/common/src/main/java/com/jozufozu/flywheel/api/layout/ScalarElementType.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/layout/ScalarElementType.java rename to common/src/main/java/com/jozufozu/flywheel/api/layout/ScalarElementType.java diff --git a/src/main/java/com/jozufozu/flywheel/api/layout/UnsignedIntegerRepr.java b/common/src/main/java/com/jozufozu/flywheel/api/layout/UnsignedIntegerRepr.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/layout/UnsignedIntegerRepr.java rename to common/src/main/java/com/jozufozu/flywheel/api/layout/UnsignedIntegerRepr.java diff --git a/src/main/java/com/jozufozu/flywheel/api/layout/ValueRepr.java b/common/src/main/java/com/jozufozu/flywheel/api/layout/ValueRepr.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/layout/ValueRepr.java rename to common/src/main/java/com/jozufozu/flywheel/api/layout/ValueRepr.java diff --git a/src/main/java/com/jozufozu/flywheel/api/layout/VectorElementType.java b/common/src/main/java/com/jozufozu/flywheel/api/layout/VectorElementType.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/layout/VectorElementType.java rename to common/src/main/java/com/jozufozu/flywheel/api/layout/VectorElementType.java diff --git a/src/main/java/com/jozufozu/flywheel/api/material/CutoutShader.java b/common/src/main/java/com/jozufozu/flywheel/api/material/CutoutShader.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/material/CutoutShader.java rename to common/src/main/java/com/jozufozu/flywheel/api/material/CutoutShader.java diff --git a/src/main/java/com/jozufozu/flywheel/api/material/DepthTest.java b/common/src/main/java/com/jozufozu/flywheel/api/material/DepthTest.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/material/DepthTest.java rename to common/src/main/java/com/jozufozu/flywheel/api/material/DepthTest.java diff --git a/src/main/java/com/jozufozu/flywheel/api/material/FogShader.java b/common/src/main/java/com/jozufozu/flywheel/api/material/FogShader.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/material/FogShader.java rename to common/src/main/java/com/jozufozu/flywheel/api/material/FogShader.java diff --git a/src/main/java/com/jozufozu/flywheel/api/material/Material.java b/common/src/main/java/com/jozufozu/flywheel/api/material/Material.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/material/Material.java rename to common/src/main/java/com/jozufozu/flywheel/api/material/Material.java diff --git a/src/main/java/com/jozufozu/flywheel/api/material/MaterialShaders.java b/common/src/main/java/com/jozufozu/flywheel/api/material/MaterialShaders.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/material/MaterialShaders.java rename to common/src/main/java/com/jozufozu/flywheel/api/material/MaterialShaders.java diff --git a/src/main/java/com/jozufozu/flywheel/api/material/Transparency.java b/common/src/main/java/com/jozufozu/flywheel/api/material/Transparency.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/material/Transparency.java rename to common/src/main/java/com/jozufozu/flywheel/api/material/Transparency.java diff --git a/src/main/java/com/jozufozu/flywheel/api/material/WriteMask.java b/common/src/main/java/com/jozufozu/flywheel/api/material/WriteMask.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/material/WriteMask.java rename to common/src/main/java/com/jozufozu/flywheel/api/material/WriteMask.java diff --git a/src/main/java/com/jozufozu/flywheel/api/model/IndexSequence.java b/common/src/main/java/com/jozufozu/flywheel/api/model/IndexSequence.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/model/IndexSequence.java rename to common/src/main/java/com/jozufozu/flywheel/api/model/IndexSequence.java diff --git a/src/main/java/com/jozufozu/flywheel/api/model/Mesh.java b/common/src/main/java/com/jozufozu/flywheel/api/model/Mesh.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/model/Mesh.java rename to common/src/main/java/com/jozufozu/flywheel/api/model/Mesh.java diff --git a/src/main/java/com/jozufozu/flywheel/api/model/Model.java b/common/src/main/java/com/jozufozu/flywheel/api/model/Model.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/model/Model.java rename to common/src/main/java/com/jozufozu/flywheel/api/model/Model.java diff --git a/src/main/java/com/jozufozu/flywheel/api/registry/IdRegistry.java b/common/src/main/java/com/jozufozu/flywheel/api/registry/IdRegistry.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/registry/IdRegistry.java rename to common/src/main/java/com/jozufozu/flywheel/api/registry/IdRegistry.java diff --git a/src/main/java/com/jozufozu/flywheel/api/registry/Registry.java b/common/src/main/java/com/jozufozu/flywheel/api/registry/Registry.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/registry/Registry.java rename to common/src/main/java/com/jozufozu/flywheel/api/registry/Registry.java diff --git a/src/main/java/com/jozufozu/flywheel/api/task/Plan.java b/common/src/main/java/com/jozufozu/flywheel/api/task/Plan.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/task/Plan.java rename to common/src/main/java/com/jozufozu/flywheel/api/task/Plan.java diff --git a/src/main/java/com/jozufozu/flywheel/api/task/TaskExecutor.java b/common/src/main/java/com/jozufozu/flywheel/api/task/TaskExecutor.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/task/TaskExecutor.java rename to common/src/main/java/com/jozufozu/flywheel/api/task/TaskExecutor.java diff --git a/src/main/java/com/jozufozu/flywheel/api/vertex/MutableVertexList.java b/common/src/main/java/com/jozufozu/flywheel/api/vertex/MutableVertexList.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/vertex/MutableVertexList.java rename to common/src/main/java/com/jozufozu/flywheel/api/vertex/MutableVertexList.java diff --git a/src/main/java/com/jozufozu/flywheel/api/vertex/VertexList.java b/common/src/main/java/com/jozufozu/flywheel/api/vertex/VertexList.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/vertex/VertexList.java rename to common/src/main/java/com/jozufozu/flywheel/api/vertex/VertexList.java diff --git a/src/main/java/com/jozufozu/flywheel/api/vertex/VertexView.java b/common/src/main/java/com/jozufozu/flywheel/api/vertex/VertexView.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/vertex/VertexView.java rename to common/src/main/java/com/jozufozu/flywheel/api/vertex/VertexView.java diff --git a/src/main/java/com/jozufozu/flywheel/api/vertex/VertexViewProvider.java b/common/src/main/java/com/jozufozu/flywheel/api/vertex/VertexViewProvider.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/vertex/VertexViewProvider.java rename to common/src/main/java/com/jozufozu/flywheel/api/vertex/VertexViewProvider.java diff --git a/src/main/java/com/jozufozu/flywheel/api/vertex/VertexViewProviderRegistry.java b/common/src/main/java/com/jozufozu/flywheel/api/vertex/VertexViewProviderRegistry.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/vertex/VertexViewProviderRegistry.java rename to common/src/main/java/com/jozufozu/flywheel/api/vertex/VertexViewProviderRegistry.java diff --git a/src/main/java/com/jozufozu/flywheel/api/visual/BlockEntityVisual.java b/common/src/main/java/com/jozufozu/flywheel/api/visual/BlockEntityVisual.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/visual/BlockEntityVisual.java rename to common/src/main/java/com/jozufozu/flywheel/api/visual/BlockEntityVisual.java diff --git a/src/main/java/com/jozufozu/flywheel/api/visual/DistanceUpdateLimiter.java b/common/src/main/java/com/jozufozu/flywheel/api/visual/DistanceUpdateLimiter.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/visual/DistanceUpdateLimiter.java rename to common/src/main/java/com/jozufozu/flywheel/api/visual/DistanceUpdateLimiter.java diff --git a/src/main/java/com/jozufozu/flywheel/api/visual/DynamicVisual.java b/common/src/main/java/com/jozufozu/flywheel/api/visual/DynamicVisual.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/visual/DynamicVisual.java rename to common/src/main/java/com/jozufozu/flywheel/api/visual/DynamicVisual.java diff --git a/src/main/java/com/jozufozu/flywheel/api/visual/Effect.java b/common/src/main/java/com/jozufozu/flywheel/api/visual/Effect.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/visual/Effect.java rename to common/src/main/java/com/jozufozu/flywheel/api/visual/Effect.java diff --git a/src/main/java/com/jozufozu/flywheel/api/visual/EffectVisual.java b/common/src/main/java/com/jozufozu/flywheel/api/visual/EffectVisual.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/visual/EffectVisual.java rename to common/src/main/java/com/jozufozu/flywheel/api/visual/EffectVisual.java diff --git a/src/main/java/com/jozufozu/flywheel/api/visual/EntityVisual.java b/common/src/main/java/com/jozufozu/flywheel/api/visual/EntityVisual.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/visual/EntityVisual.java rename to common/src/main/java/com/jozufozu/flywheel/api/visual/EntityVisual.java diff --git a/src/main/java/com/jozufozu/flywheel/api/visual/LitVisual.java b/common/src/main/java/com/jozufozu/flywheel/api/visual/LitVisual.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/visual/LitVisual.java rename to common/src/main/java/com/jozufozu/flywheel/api/visual/LitVisual.java diff --git a/src/main/java/com/jozufozu/flywheel/api/visual/TickableVisual.java b/common/src/main/java/com/jozufozu/flywheel/api/visual/TickableVisual.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/visual/TickableVisual.java rename to common/src/main/java/com/jozufozu/flywheel/api/visual/TickableVisual.java diff --git a/src/main/java/com/jozufozu/flywheel/api/visual/Visual.java b/common/src/main/java/com/jozufozu/flywheel/api/visual/Visual.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/visual/Visual.java rename to common/src/main/java/com/jozufozu/flywheel/api/visual/Visual.java diff --git a/src/main/java/com/jozufozu/flywheel/api/visualization/BlockEntityVisualizer.java b/common/src/main/java/com/jozufozu/flywheel/api/visualization/BlockEntityVisualizer.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/visualization/BlockEntityVisualizer.java rename to common/src/main/java/com/jozufozu/flywheel/api/visualization/BlockEntityVisualizer.java diff --git a/src/main/java/com/jozufozu/flywheel/api/visualization/EntityVisualizer.java b/common/src/main/java/com/jozufozu/flywheel/api/visualization/EntityVisualizer.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/visualization/EntityVisualizer.java rename to common/src/main/java/com/jozufozu/flywheel/api/visualization/EntityVisualizer.java diff --git a/src/main/java/com/jozufozu/flywheel/api/visualization/VisualEmbedding.java b/common/src/main/java/com/jozufozu/flywheel/api/visualization/VisualEmbedding.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/visualization/VisualEmbedding.java rename to common/src/main/java/com/jozufozu/flywheel/api/visualization/VisualEmbedding.java diff --git a/src/main/java/com/jozufozu/flywheel/api/visualization/VisualManager.java b/common/src/main/java/com/jozufozu/flywheel/api/visualization/VisualManager.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/visualization/VisualManager.java rename to common/src/main/java/com/jozufozu/flywheel/api/visualization/VisualManager.java diff --git a/src/main/java/com/jozufozu/flywheel/api/visualization/VisualizationContext.java b/common/src/main/java/com/jozufozu/flywheel/api/visualization/VisualizationContext.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/visualization/VisualizationContext.java rename to common/src/main/java/com/jozufozu/flywheel/api/visualization/VisualizationContext.java diff --git a/src/main/java/com/jozufozu/flywheel/api/visualization/VisualizationLevel.java b/common/src/main/java/com/jozufozu/flywheel/api/visualization/VisualizationLevel.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/visualization/VisualizationLevel.java rename to common/src/main/java/com/jozufozu/flywheel/api/visualization/VisualizationLevel.java diff --git a/src/main/java/com/jozufozu/flywheel/api/visualization/VisualizationManager.java b/common/src/main/java/com/jozufozu/flywheel/api/visualization/VisualizationManager.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/visualization/VisualizationManager.java rename to common/src/main/java/com/jozufozu/flywheel/api/visualization/VisualizationManager.java diff --git a/src/main/java/com/jozufozu/flywheel/api/visualization/VisualizerRegistry.java b/common/src/main/java/com/jozufozu/flywheel/api/visualization/VisualizerRegistry.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/api/visualization/VisualizerRegistry.java rename to common/src/main/java/com/jozufozu/flywheel/api/visualization/VisualizerRegistry.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/Backends.java b/common/src/main/java/com/jozufozu/flywheel/backend/Backends.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/Backends.java rename to common/src/main/java/com/jozufozu/flywheel/backend/Backends.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/InternalVertex.java b/common/src/main/java/com/jozufozu/flywheel/backend/InternalVertex.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/InternalVertex.java rename to common/src/main/java/com/jozufozu/flywheel/backend/InternalVertex.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/LayoutAttributes.java b/common/src/main/java/com/jozufozu/flywheel/backend/LayoutAttributes.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/LayoutAttributes.java rename to common/src/main/java/com/jozufozu/flywheel/backend/LayoutAttributes.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/Samplers.java b/common/src/main/java/com/jozufozu/flywheel/backend/Samplers.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/Samplers.java rename to common/src/main/java/com/jozufozu/flywheel/backend/Samplers.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/ShaderIndices.java b/common/src/main/java/com/jozufozu/flywheel/backend/ShaderIndices.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/ShaderIndices.java rename to common/src/main/java/com/jozufozu/flywheel/backend/ShaderIndices.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/compile/ContextShader.java b/common/src/main/java/com/jozufozu/flywheel/backend/compile/ContextShader.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/compile/ContextShader.java rename to common/src/main/java/com/jozufozu/flywheel/backend/compile/ContextShader.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/compile/FlwPrograms.java b/common/src/main/java/com/jozufozu/flywheel/backend/compile/FlwPrograms.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/compile/FlwPrograms.java rename to common/src/main/java/com/jozufozu/flywheel/backend/compile/FlwPrograms.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/compile/IndirectPrograms.java b/common/src/main/java/com/jozufozu/flywheel/backend/compile/IndirectPrograms.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/compile/IndirectPrograms.java rename to common/src/main/java/com/jozufozu/flywheel/backend/compile/IndirectPrograms.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/compile/InstancingPrograms.java b/common/src/main/java/com/jozufozu/flywheel/backend/compile/InstancingPrograms.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/compile/InstancingPrograms.java rename to common/src/main/java/com/jozufozu/flywheel/backend/compile/InstancingPrograms.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/compile/Pipeline.java b/common/src/main/java/com/jozufozu/flywheel/backend/compile/Pipeline.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/compile/Pipeline.java rename to common/src/main/java/com/jozufozu/flywheel/backend/compile/Pipeline.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/compile/PipelineCompiler.java b/common/src/main/java/com/jozufozu/flywheel/backend/compile/PipelineCompiler.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/compile/PipelineCompiler.java rename to common/src/main/java/com/jozufozu/flywheel/backend/compile/PipelineCompiler.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/compile/PipelineProgramKey.java b/common/src/main/java/com/jozufozu/flywheel/backend/compile/PipelineProgramKey.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/compile/PipelineProgramKey.java rename to common/src/main/java/com/jozufozu/flywheel/backend/compile/PipelineProgramKey.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/compile/Pipelines.java b/common/src/main/java/com/jozufozu/flywheel/backend/compile/Pipelines.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/compile/Pipelines.java rename to common/src/main/java/com/jozufozu/flywheel/backend/compile/Pipelines.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/compile/SourceChecks.java b/common/src/main/java/com/jozufozu/flywheel/backend/compile/SourceChecks.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/compile/SourceChecks.java rename to common/src/main/java/com/jozufozu/flywheel/backend/compile/SourceChecks.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/compile/component/BufferTextureInstanceComponent.java b/common/src/main/java/com/jozufozu/flywheel/backend/compile/component/BufferTextureInstanceComponent.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/compile/component/BufferTextureInstanceComponent.java rename to common/src/main/java/com/jozufozu/flywheel/backend/compile/component/BufferTextureInstanceComponent.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/compile/component/InstanceAssemblerComponent.java b/common/src/main/java/com/jozufozu/flywheel/backend/compile/component/InstanceAssemblerComponent.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/compile/component/InstanceAssemblerComponent.java rename to common/src/main/java/com/jozufozu/flywheel/backend/compile/component/InstanceAssemblerComponent.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/compile/component/InstanceStructComponent.java b/common/src/main/java/com/jozufozu/flywheel/backend/compile/component/InstanceStructComponent.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/compile/component/InstanceStructComponent.java rename to common/src/main/java/com/jozufozu/flywheel/backend/compile/component/InstanceStructComponent.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/compile/component/SsboInstanceComponent.java b/common/src/main/java/com/jozufozu/flywheel/backend/compile/component/SsboInstanceComponent.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/compile/component/SsboInstanceComponent.java rename to common/src/main/java/com/jozufozu/flywheel/backend/compile/component/SsboInstanceComponent.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/compile/component/StringSubstitutionComponent.java b/common/src/main/java/com/jozufozu/flywheel/backend/compile/component/StringSubstitutionComponent.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/compile/component/StringSubstitutionComponent.java rename to common/src/main/java/com/jozufozu/flywheel/backend/compile/component/StringSubstitutionComponent.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/compile/component/UberShaderComponent.java b/common/src/main/java/com/jozufozu/flywheel/backend/compile/component/UberShaderComponent.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/compile/component/UberShaderComponent.java rename to common/src/main/java/com/jozufozu/flywheel/backend/compile/component/UberShaderComponent.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/compile/core/Compilation.java b/common/src/main/java/com/jozufozu/flywheel/backend/compile/core/Compilation.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/compile/core/Compilation.java rename to common/src/main/java/com/jozufozu/flywheel/backend/compile/core/Compilation.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/compile/core/CompilationHarness.java b/common/src/main/java/com/jozufozu/flywheel/backend/compile/core/CompilationHarness.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/compile/core/CompilationHarness.java rename to common/src/main/java/com/jozufozu/flywheel/backend/compile/core/CompilationHarness.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/compile/core/Compile.java b/common/src/main/java/com/jozufozu/flywheel/backend/compile/core/Compile.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/compile/core/Compile.java rename to common/src/main/java/com/jozufozu/flywheel/backend/compile/core/Compile.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/compile/core/CompilerStats.java b/common/src/main/java/com/jozufozu/flywheel/backend/compile/core/CompilerStats.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/compile/core/CompilerStats.java rename to common/src/main/java/com/jozufozu/flywheel/backend/compile/core/CompilerStats.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/compile/core/FailedCompilation.java b/common/src/main/java/com/jozufozu/flywheel/backend/compile/core/FailedCompilation.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/compile/core/FailedCompilation.java rename to common/src/main/java/com/jozufozu/flywheel/backend/compile/core/FailedCompilation.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/compile/core/LinkResult.java b/common/src/main/java/com/jozufozu/flywheel/backend/compile/core/LinkResult.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/compile/core/LinkResult.java rename to common/src/main/java/com/jozufozu/flywheel/backend/compile/core/LinkResult.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/compile/core/ProgramLinker.java b/common/src/main/java/com/jozufozu/flywheel/backend/compile/core/ProgramLinker.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/compile/core/ProgramLinker.java rename to common/src/main/java/com/jozufozu/flywheel/backend/compile/core/ProgramLinker.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/compile/core/ShaderCache.java b/common/src/main/java/com/jozufozu/flywheel/backend/compile/core/ShaderCache.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/compile/core/ShaderCache.java rename to common/src/main/java/com/jozufozu/flywheel/backend/compile/core/ShaderCache.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/compile/core/ShaderResult.java b/common/src/main/java/com/jozufozu/flywheel/backend/compile/core/ShaderResult.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/compile/core/ShaderResult.java rename to common/src/main/java/com/jozufozu/flywheel/backend/compile/core/ShaderResult.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/compile/core/SourceLoader.java b/common/src/main/java/com/jozufozu/flywheel/backend/compile/core/SourceLoader.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/compile/core/SourceLoader.java rename to common/src/main/java/com/jozufozu/flywheel/backend/compile/core/SourceLoader.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/AbstractInstancer.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/AbstractInstancer.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/AbstractInstancer.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/AbstractInstancer.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/CommonCrumbling.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/CommonCrumbling.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/CommonCrumbling.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/CommonCrumbling.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/DrawManager.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/DrawManager.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/DrawManager.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/DrawManager.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/EngineImpl.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/EngineImpl.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/EngineImpl.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/EngineImpl.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/EnvironmentStorage.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/EnvironmentStorage.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/EnvironmentStorage.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/EnvironmentStorage.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/GroupKey.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/GroupKey.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/GroupKey.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/GroupKey.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/IndexPool.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/IndexPool.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/IndexPool.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/IndexPool.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/InstanceHandleImpl.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/InstanceHandleImpl.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/InstanceHandleImpl.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/InstanceHandleImpl.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/InstancerKey.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/InstancerKey.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/InstancerKey.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/InstancerKey.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/InstancerProviderImpl.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/InstancerProviderImpl.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/InstancerProviderImpl.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/InstancerProviderImpl.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/MaterialEncoder.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/MaterialEncoder.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/MaterialEncoder.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/MaterialEncoder.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/MaterialRenderState.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/MaterialRenderState.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/MaterialRenderState.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/MaterialRenderState.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/MeshPool.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/MeshPool.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/MeshPool.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/MeshPool.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/TextureBinder.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/TextureBinder.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/TextureBinder.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/TextureBinder.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/embed/AbstractEmbeddedEnvironment.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/embed/AbstractEmbeddedEnvironment.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/embed/AbstractEmbeddedEnvironment.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/embed/AbstractEmbeddedEnvironment.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/embed/EmbeddedLightTexture.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/embed/EmbeddedLightTexture.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/embed/EmbeddedLightTexture.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/embed/EmbeddedLightTexture.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/embed/EmbeddedLightVolume.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/embed/EmbeddedLightVolume.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/embed/EmbeddedLightVolume.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/embed/EmbeddedLightVolume.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/embed/EmbeddingUniforms.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/embed/EmbeddingUniforms.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/embed/EmbeddingUniforms.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/embed/EmbeddingUniforms.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/embed/Environment.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/embed/Environment.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/embed/Environment.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/embed/Environment.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/embed/GlobalEnvironment.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/embed/GlobalEnvironment.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/embed/GlobalEnvironment.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/embed/GlobalEnvironment.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/embed/NestedEmbeddedEnvironment.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/embed/NestedEmbeddedEnvironment.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/embed/NestedEmbeddedEnvironment.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/embed/NestedEmbeddedEnvironment.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/embed/TopLevelEmbeddedEnvironment.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/embed/TopLevelEmbeddedEnvironment.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/embed/TopLevelEmbeddedEnvironment.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/embed/TopLevelEmbeddedEnvironment.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/indirect/IndirectBuffers.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/indirect/IndirectBuffers.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/indirect/IndirectBuffers.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/indirect/IndirectBuffers.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/indirect/IndirectCullingGroup.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/indirect/IndirectCullingGroup.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/indirect/IndirectCullingGroup.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/indirect/IndirectCullingGroup.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/indirect/IndirectDraw.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/indirect/IndirectDraw.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/indirect/IndirectDraw.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/indirect/IndirectDraw.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/indirect/IndirectDrawManager.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/indirect/IndirectDrawManager.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/indirect/IndirectDrawManager.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/indirect/IndirectDrawManager.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/indirect/IndirectInstancer.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/indirect/IndirectInstancer.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/indirect/IndirectInstancer.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/indirect/IndirectInstancer.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/indirect/ResizableStorageArray.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/indirect/ResizableStorageArray.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/indirect/ResizableStorageArray.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/indirect/ResizableStorageArray.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/indirect/ResizableStorageBuffer.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/indirect/ResizableStorageBuffer.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/indirect/ResizableStorageBuffer.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/indirect/ResizableStorageBuffer.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/indirect/ScatterList.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/indirect/ScatterList.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/indirect/ScatterList.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/indirect/ScatterList.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/indirect/StagingBuffer.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/indirect/StagingBuffer.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/indirect/StagingBuffer.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/indirect/StagingBuffer.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/indirect/TransferList.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/indirect/TransferList.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/indirect/TransferList.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/indirect/TransferList.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/instancing/InstancedDraw.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/instancing/InstancedDraw.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/instancing/InstancedDraw.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/instancing/InstancedDraw.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/instancing/InstancedDrawManager.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/instancing/InstancedDrawManager.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/instancing/InstancedDrawManager.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/instancing/InstancedDrawManager.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/instancing/InstancedInstancer.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/instancing/InstancedInstancer.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/instancing/InstancedInstancer.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/instancing/InstancedInstancer.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/instancing/InstancedRenderStage.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/instancing/InstancedRenderStage.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/instancing/InstancedRenderStage.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/instancing/InstancedRenderStage.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/uniform/FogUniforms.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/uniform/FogUniforms.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/uniform/FogUniforms.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/uniform/FogUniforms.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/uniform/FrameUniforms.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/uniform/FrameUniforms.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/uniform/FrameUniforms.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/uniform/FrameUniforms.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/uniform/LevelUniforms.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/uniform/LevelUniforms.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/uniform/LevelUniforms.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/uniform/LevelUniforms.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/uniform/OptionsUniforms.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/uniform/OptionsUniforms.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/uniform/OptionsUniforms.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/uniform/OptionsUniforms.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/uniform/PlayerUniforms.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/uniform/PlayerUniforms.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/uniform/PlayerUniforms.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/uniform/PlayerUniforms.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/uniform/UniformBuffer.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/uniform/UniformBuffer.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/uniform/UniformBuffer.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/uniform/UniformBuffer.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/uniform/UniformWriter.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/uniform/UniformWriter.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/uniform/UniformWriter.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/uniform/UniformWriter.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/engine/uniform/Uniforms.java b/common/src/main/java/com/jozufozu/flywheel/backend/engine/uniform/Uniforms.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/engine/uniform/Uniforms.java rename to common/src/main/java/com/jozufozu/flywheel/backend/engine/uniform/Uniforms.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/gl/Driver.java b/common/src/main/java/com/jozufozu/flywheel/backend/gl/Driver.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/gl/Driver.java rename to common/src/main/java/com/jozufozu/flywheel/backend/gl/Driver.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/gl/GlCompat.java b/common/src/main/java/com/jozufozu/flywheel/backend/gl/GlCompat.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/gl/GlCompat.java rename to common/src/main/java/com/jozufozu/flywheel/backend/gl/GlCompat.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/gl/GlFence.java b/common/src/main/java/com/jozufozu/flywheel/backend/gl/GlFence.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/gl/GlFence.java rename to common/src/main/java/com/jozufozu/flywheel/backend/gl/GlFence.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/gl/GlNumericType.java b/common/src/main/java/com/jozufozu/flywheel/backend/gl/GlNumericType.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/gl/GlNumericType.java rename to common/src/main/java/com/jozufozu/flywheel/backend/gl/GlNumericType.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/gl/GlObject.java b/common/src/main/java/com/jozufozu/flywheel/backend/gl/GlObject.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/gl/GlObject.java rename to common/src/main/java/com/jozufozu/flywheel/backend/gl/GlObject.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/gl/GlPrimitive.java b/common/src/main/java/com/jozufozu/flywheel/backend/gl/GlPrimitive.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/gl/GlPrimitive.java rename to common/src/main/java/com/jozufozu/flywheel/backend/gl/GlPrimitive.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/gl/GlStateTracker.java b/common/src/main/java/com/jozufozu/flywheel/backend/gl/GlStateTracker.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/gl/GlStateTracker.java rename to common/src/main/java/com/jozufozu/flywheel/backend/gl/GlStateTracker.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/gl/GlTexture.java b/common/src/main/java/com/jozufozu/flywheel/backend/gl/GlTexture.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/gl/GlTexture.java rename to common/src/main/java/com/jozufozu/flywheel/backend/gl/GlTexture.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/gl/GlTextureUnit.java b/common/src/main/java/com/jozufozu/flywheel/backend/gl/GlTextureUnit.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/gl/GlTextureUnit.java rename to common/src/main/java/com/jozufozu/flywheel/backend/gl/GlTextureUnit.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/gl/TextureBuffer.java b/common/src/main/java/com/jozufozu/flywheel/backend/gl/TextureBuffer.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/gl/TextureBuffer.java rename to common/src/main/java/com/jozufozu/flywheel/backend/gl/TextureBuffer.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/gl/array/GlVertexArray.java b/common/src/main/java/com/jozufozu/flywheel/backend/gl/array/GlVertexArray.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/gl/array/GlVertexArray.java rename to common/src/main/java/com/jozufozu/flywheel/backend/gl/array/GlVertexArray.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/gl/array/GlVertexArrayDSA.java b/common/src/main/java/com/jozufozu/flywheel/backend/gl/array/GlVertexArrayDSA.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/gl/array/GlVertexArrayDSA.java rename to common/src/main/java/com/jozufozu/flywheel/backend/gl/array/GlVertexArrayDSA.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/gl/array/GlVertexArrayGL3.java b/common/src/main/java/com/jozufozu/flywheel/backend/gl/array/GlVertexArrayGL3.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/gl/array/GlVertexArrayGL3.java rename to common/src/main/java/com/jozufozu/flywheel/backend/gl/array/GlVertexArrayGL3.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/gl/array/GlVertexArraySeparateAttributes.java b/common/src/main/java/com/jozufozu/flywheel/backend/gl/array/GlVertexArraySeparateAttributes.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/gl/array/GlVertexArraySeparateAttributes.java rename to common/src/main/java/com/jozufozu/flywheel/backend/gl/array/GlVertexArraySeparateAttributes.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/gl/array/VertexAttribute.java b/common/src/main/java/com/jozufozu/flywheel/backend/gl/array/VertexAttribute.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/gl/array/VertexAttribute.java rename to common/src/main/java/com/jozufozu/flywheel/backend/gl/array/VertexAttribute.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/gl/buffer/Buffer.java b/common/src/main/java/com/jozufozu/flywheel/backend/gl/buffer/Buffer.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/gl/buffer/Buffer.java rename to common/src/main/java/com/jozufozu/flywheel/backend/gl/buffer/Buffer.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/gl/buffer/GlBuffer.java b/common/src/main/java/com/jozufozu/flywheel/backend/gl/buffer/GlBuffer.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/gl/buffer/GlBuffer.java rename to common/src/main/java/com/jozufozu/flywheel/backend/gl/buffer/GlBuffer.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/gl/buffer/GlBufferType.java b/common/src/main/java/com/jozufozu/flywheel/backend/gl/buffer/GlBufferType.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/gl/buffer/GlBufferType.java rename to common/src/main/java/com/jozufozu/flywheel/backend/gl/buffer/GlBufferType.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/gl/buffer/GlBufferUsage.java b/common/src/main/java/com/jozufozu/flywheel/backend/gl/buffer/GlBufferUsage.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/gl/buffer/GlBufferUsage.java rename to common/src/main/java/com/jozufozu/flywheel/backend/gl/buffer/GlBufferUsage.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/gl/error/GlError.java b/common/src/main/java/com/jozufozu/flywheel/backend/gl/error/GlError.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/gl/error/GlError.java rename to common/src/main/java/com/jozufozu/flywheel/backend/gl/error/GlError.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/gl/error/GlException.java b/common/src/main/java/com/jozufozu/flywheel/backend/gl/error/GlException.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/gl/error/GlException.java rename to common/src/main/java/com/jozufozu/flywheel/backend/gl/error/GlException.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/gl/shader/GlProgram.java b/common/src/main/java/com/jozufozu/flywheel/backend/gl/shader/GlProgram.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/gl/shader/GlProgram.java rename to common/src/main/java/com/jozufozu/flywheel/backend/gl/shader/GlProgram.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/gl/shader/GlShader.java b/common/src/main/java/com/jozufozu/flywheel/backend/gl/shader/GlShader.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/gl/shader/GlShader.java rename to common/src/main/java/com/jozufozu/flywheel/backend/gl/shader/GlShader.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/gl/shader/ShaderType.java b/common/src/main/java/com/jozufozu/flywheel/backend/gl/shader/ShaderType.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/gl/shader/ShaderType.java rename to common/src/main/java/com/jozufozu/flywheel/backend/gl/shader/ShaderType.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/GlslVersion.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/GlslVersion.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/GlslVersion.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/GlslVersion.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/LoadError.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/LoadError.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/LoadError.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/LoadError.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/LoadResult.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/LoadResult.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/LoadResult.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/LoadResult.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/ShaderSources.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/ShaderSources.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/ShaderSources.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/ShaderSources.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/SourceComponent.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/SourceComponent.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/SourceComponent.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/SourceComponent.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/SourceFile.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/SourceFile.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/SourceFile.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/SourceFile.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/SourceLines.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/SourceLines.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/SourceLines.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/SourceLines.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/error/ConsoleColors.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/error/ConsoleColors.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/error/ConsoleColors.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/error/ConsoleColors.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/error/ErrorBuilder.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/error/ErrorBuilder.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/error/ErrorBuilder.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/error/ErrorBuilder.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/error/ErrorLevel.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/error/ErrorLevel.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/error/ErrorLevel.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/error/ErrorLevel.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/error/lines/Divider.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/error/lines/Divider.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/error/lines/Divider.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/error/lines/Divider.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/error/lines/ErrorLine.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/error/lines/ErrorLine.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/error/lines/ErrorLine.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/error/lines/ErrorLine.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/error/lines/FileLine.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/error/lines/FileLine.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/error/lines/FileLine.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/error/lines/FileLine.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/error/lines/HeaderLine.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/error/lines/HeaderLine.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/error/lines/HeaderLine.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/error/lines/HeaderLine.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/error/lines/NestedLine.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/error/lines/NestedLine.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/error/lines/NestedLine.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/error/lines/NestedLine.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/error/lines/SourceLine.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/error/lines/SourceLine.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/error/lines/SourceLine.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/error/lines/SourceLine.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/error/lines/SpanHighlightLine.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/error/lines/SpanHighlightLine.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/error/lines/SpanHighlightLine.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/error/lines/SpanHighlightLine.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/error/lines/TextLine.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/error/lines/TextLine.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/error/lines/TextLine.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/error/lines/TextLine.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/generate/BinOp.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/generate/BinOp.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/generate/BinOp.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/generate/BinOp.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/generate/FnSignature.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/generate/FnSignature.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/generate/FnSignature.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/generate/FnSignature.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/generate/GlslBlock.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/generate/GlslBlock.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/generate/GlslBlock.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/generate/GlslBlock.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/generate/GlslBuilder.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/generate/GlslBuilder.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/generate/GlslBuilder.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/generate/GlslBuilder.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/generate/GlslExpr.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/generate/GlslExpr.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/generate/GlslExpr.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/generate/GlslExpr.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/generate/GlslFn.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/generate/GlslFn.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/generate/GlslFn.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/generate/GlslFn.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/generate/GlslStmt.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/generate/GlslStmt.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/generate/GlslStmt.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/generate/GlslStmt.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/generate/GlslStruct.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/generate/GlslStruct.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/generate/GlslStruct.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/generate/GlslStruct.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/generate/GlslSwitch.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/generate/GlslSwitch.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/generate/GlslSwitch.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/generate/GlslSwitch.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/generate/GlslUniformBlock.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/generate/GlslUniformBlock.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/generate/GlslUniformBlock.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/generate/GlslUniformBlock.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/generate/GlslVertexInput.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/generate/GlslVertexInput.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/generate/GlslVertexInput.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/generate/GlslVertexInput.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/parse/Import.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/parse/Import.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/parse/Import.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/parse/Import.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/parse/ShaderField.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/parse/ShaderField.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/parse/ShaderField.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/parse/ShaderField.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/parse/ShaderFunction.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/parse/ShaderFunction.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/parse/ShaderFunction.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/parse/ShaderFunction.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/parse/ShaderStruct.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/parse/ShaderStruct.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/parse/ShaderStruct.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/parse/ShaderStruct.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/parse/ShaderVariable.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/parse/ShaderVariable.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/parse/ShaderVariable.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/parse/ShaderVariable.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/parse/StructField.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/parse/StructField.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/parse/StructField.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/parse/StructField.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/span/CharPos.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/span/CharPos.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/span/CharPos.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/span/CharPos.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/span/ErrorSpan.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/span/ErrorSpan.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/span/ErrorSpan.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/span/ErrorSpan.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/span/Span.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/span/Span.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/span/Span.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/span/Span.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/glsl/span/StringSpan.java b/common/src/main/java/com/jozufozu/flywheel/backend/glsl/span/StringSpan.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/glsl/span/StringSpan.java rename to common/src/main/java/com/jozufozu/flywheel/backend/glsl/span/StringSpan.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/mixin/AbstractClientPlayerAccessor.java b/common/src/main/java/com/jozufozu/flywheel/backend/mixin/AbstractClientPlayerAccessor.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/mixin/AbstractClientPlayerAccessor.java rename to common/src/main/java/com/jozufozu/flywheel/backend/mixin/AbstractClientPlayerAccessor.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/mixin/GameRendererAccessor.java b/common/src/main/java/com/jozufozu/flywheel/backend/mixin/GameRendererAccessor.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/mixin/GameRendererAccessor.java rename to common/src/main/java/com/jozufozu/flywheel/backend/mixin/GameRendererAccessor.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/mixin/GlStateManagerMixin.java b/common/src/main/java/com/jozufozu/flywheel/backend/mixin/GlStateManagerMixin.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/mixin/GlStateManagerMixin.java rename to common/src/main/java/com/jozufozu/flywheel/backend/mixin/GlStateManagerMixin.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/mixin/LightTextureAccessor.java b/common/src/main/java/com/jozufozu/flywheel/backend/mixin/LightTextureAccessor.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/mixin/LightTextureAccessor.java rename to common/src/main/java/com/jozufozu/flywheel/backend/mixin/LightTextureAccessor.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/mixin/OptionsMixin.java b/common/src/main/java/com/jozufozu/flywheel/backend/mixin/OptionsMixin.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/mixin/OptionsMixin.java rename to common/src/main/java/com/jozufozu/flywheel/backend/mixin/OptionsMixin.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/mixin/OverlayTextureAccessor.java b/common/src/main/java/com/jozufozu/flywheel/backend/mixin/OverlayTextureAccessor.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/mixin/OverlayTextureAccessor.java rename to common/src/main/java/com/jozufozu/flywheel/backend/mixin/OverlayTextureAccessor.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/mixin/RenderSystemMixin.java b/common/src/main/java/com/jozufozu/flywheel/backend/mixin/RenderSystemMixin.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/mixin/RenderSystemMixin.java rename to common/src/main/java/com/jozufozu/flywheel/backend/mixin/RenderSystemMixin.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/util/AtomicReferenceCounted.java b/common/src/main/java/com/jozufozu/flywheel/backend/util/AtomicReferenceCounted.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/util/AtomicReferenceCounted.java rename to common/src/main/java/com/jozufozu/flywheel/backend/util/AtomicReferenceCounted.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/util/MemoryBuffer.java b/common/src/main/java/com/jozufozu/flywheel/backend/util/MemoryBuffer.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/util/MemoryBuffer.java rename to common/src/main/java/com/jozufozu/flywheel/backend/util/MemoryBuffer.java diff --git a/src/main/java/com/jozufozu/flywheel/backend/util/ReferenceCounted.java b/common/src/main/java/com/jozufozu/flywheel/backend/util/ReferenceCounted.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/backend/util/ReferenceCounted.java rename to common/src/main/java/com/jozufozu/flywheel/backend/util/ReferenceCounted.java diff --git a/src/main/java/com/jozufozu/flywheel/config/BackendArgument.java b/common/src/main/java/com/jozufozu/flywheel/config/BackendArgument.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/config/BackendArgument.java rename to common/src/main/java/com/jozufozu/flywheel/config/BackendArgument.java diff --git a/src/main/java/com/jozufozu/flywheel/config/DebugMode.java b/common/src/main/java/com/jozufozu/flywheel/config/DebugMode.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/config/DebugMode.java rename to common/src/main/java/com/jozufozu/flywheel/config/DebugMode.java diff --git a/src/main/java/com/jozufozu/flywheel/config/FlwCommands.java b/common/src/main/java/com/jozufozu/flywheel/config/FlwCommands.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/config/FlwCommands.java rename to common/src/main/java/com/jozufozu/flywheel/config/FlwCommands.java diff --git a/src/main/java/com/jozufozu/flywheel/config/FlwConfig.java b/common/src/main/java/com/jozufozu/flywheel/config/FlwConfig.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/config/FlwConfig.java rename to common/src/main/java/com/jozufozu/flywheel/config/FlwConfig.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/BackendManagerImpl.java b/common/src/main/java/com/jozufozu/flywheel/impl/BackendManagerImpl.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/BackendManagerImpl.java rename to common/src/main/java/com/jozufozu/flywheel/impl/BackendManagerImpl.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/InternalFlywheelImpl.java b/common/src/main/java/com/jozufozu/flywheel/impl/InternalFlywheelImpl.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/InternalFlywheelImpl.java rename to common/src/main/java/com/jozufozu/flywheel/impl/InternalFlywheelImpl.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/event/RenderContextImpl.java b/common/src/main/java/com/jozufozu/flywheel/impl/event/RenderContextImpl.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/event/RenderContextImpl.java rename to common/src/main/java/com/jozufozu/flywheel/impl/event/RenderContextImpl.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/extension/BlockEntityTypeExtension.java b/common/src/main/java/com/jozufozu/flywheel/impl/extension/BlockEntityTypeExtension.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/extension/BlockEntityTypeExtension.java rename to common/src/main/java/com/jozufozu/flywheel/impl/extension/BlockEntityTypeExtension.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/extension/EntityTypeExtension.java b/common/src/main/java/com/jozufozu/flywheel/impl/extension/EntityTypeExtension.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/extension/EntityTypeExtension.java rename to common/src/main/java/com/jozufozu/flywheel/impl/extension/EntityTypeExtension.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/extension/LevelExtension.java b/common/src/main/java/com/jozufozu/flywheel/impl/extension/LevelExtension.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/extension/LevelExtension.java rename to common/src/main/java/com/jozufozu/flywheel/impl/extension/LevelExtension.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/extension/PoseStackExtension.java b/common/src/main/java/com/jozufozu/flywheel/impl/extension/PoseStackExtension.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/extension/PoseStackExtension.java rename to common/src/main/java/com/jozufozu/flywheel/impl/extension/PoseStackExtension.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/extension/VertexFormatExtension.java b/common/src/main/java/com/jozufozu/flywheel/impl/extension/VertexFormatExtension.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/extension/VertexFormatExtension.java rename to common/src/main/java/com/jozufozu/flywheel/impl/extension/VertexFormatExtension.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/layout/ArrayElementTypeImpl.java b/common/src/main/java/com/jozufozu/flywheel/impl/layout/ArrayElementTypeImpl.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/layout/ArrayElementTypeImpl.java rename to common/src/main/java/com/jozufozu/flywheel/impl/layout/ArrayElementTypeImpl.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/layout/LayoutBuilderImpl.java b/common/src/main/java/com/jozufozu/flywheel/impl/layout/LayoutBuilderImpl.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/layout/LayoutBuilderImpl.java rename to common/src/main/java/com/jozufozu/flywheel/impl/layout/LayoutBuilderImpl.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/layout/LayoutImpl.java b/common/src/main/java/com/jozufozu/flywheel/impl/layout/LayoutImpl.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/layout/LayoutImpl.java rename to common/src/main/java/com/jozufozu/flywheel/impl/layout/LayoutImpl.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/layout/LayoutInterpreter.java b/common/src/main/java/com/jozufozu/flywheel/impl/layout/LayoutInterpreter.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/layout/LayoutInterpreter.java rename to common/src/main/java/com/jozufozu/flywheel/impl/layout/LayoutInterpreter.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/layout/MatrixElementTypeImpl.java b/common/src/main/java/com/jozufozu/flywheel/impl/layout/MatrixElementTypeImpl.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/layout/MatrixElementTypeImpl.java rename to common/src/main/java/com/jozufozu/flywheel/impl/layout/MatrixElementTypeImpl.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/layout/ScalarElementTypeImpl.java b/common/src/main/java/com/jozufozu/flywheel/impl/layout/ScalarElementTypeImpl.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/layout/ScalarElementTypeImpl.java rename to common/src/main/java/com/jozufozu/flywheel/impl/layout/ScalarElementTypeImpl.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/layout/VectorElementTypeImpl.java b/common/src/main/java/com/jozufozu/flywheel/impl/layout/VectorElementTypeImpl.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/layout/VectorElementTypeImpl.java rename to common/src/main/java/com/jozufozu/flywheel/impl/layout/VectorElementTypeImpl.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/mixin/BlockEntityTypeMixin.java b/common/src/main/java/com/jozufozu/flywheel/impl/mixin/BlockEntityTypeMixin.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/mixin/BlockEntityTypeMixin.java rename to common/src/main/java/com/jozufozu/flywheel/impl/mixin/BlockEntityTypeMixin.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/mixin/ClientChunkCacheMixin.java b/common/src/main/java/com/jozufozu/flywheel/impl/mixin/ClientChunkCacheMixin.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/mixin/ClientChunkCacheMixin.java rename to common/src/main/java/com/jozufozu/flywheel/impl/mixin/ClientChunkCacheMixin.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/mixin/ClientLevelMixin.java b/common/src/main/java/com/jozufozu/flywheel/impl/mixin/ClientLevelMixin.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/mixin/ClientLevelMixin.java rename to common/src/main/java/com/jozufozu/flywheel/impl/mixin/ClientLevelMixin.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/mixin/EntityTypeMixin.java b/common/src/main/java/com/jozufozu/flywheel/impl/mixin/EntityTypeMixin.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/mixin/EntityTypeMixin.java rename to common/src/main/java/com/jozufozu/flywheel/impl/mixin/EntityTypeMixin.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/mixin/LevelMixin.java b/common/src/main/java/com/jozufozu/flywheel/impl/mixin/LevelMixin.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/mixin/LevelMixin.java rename to common/src/main/java/com/jozufozu/flywheel/impl/mixin/LevelMixin.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/mixin/LevelRendererMixin.java b/common/src/main/java/com/jozufozu/flywheel/impl/mixin/LevelRendererMixin.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/mixin/LevelRendererMixin.java rename to common/src/main/java/com/jozufozu/flywheel/impl/mixin/LevelRendererMixin.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/mixin/MinecraftMixin.java b/common/src/main/java/com/jozufozu/flywheel/impl/mixin/MinecraftMixin.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/mixin/MinecraftMixin.java rename to common/src/main/java/com/jozufozu/flywheel/impl/mixin/MinecraftMixin.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/mixin/PoseStackMixin.java b/common/src/main/java/com/jozufozu/flywheel/impl/mixin/PoseStackMixin.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/mixin/PoseStackMixin.java rename to common/src/main/java/com/jozufozu/flywheel/impl/mixin/PoseStackMixin.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/mixin/VertexFormatMixin.java b/common/src/main/java/com/jozufozu/flywheel/impl/mixin/VertexFormatMixin.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/mixin/VertexFormatMixin.java rename to common/src/main/java/com/jozufozu/flywheel/impl/mixin/VertexFormatMixin.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/mixin/fix/FixFabulousDepthMixin.java b/common/src/main/java/com/jozufozu/flywheel/impl/mixin/fix/FixFabulousDepthMixin.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/mixin/fix/FixFabulousDepthMixin.java rename to common/src/main/java/com/jozufozu/flywheel/impl/mixin/fix/FixFabulousDepthMixin.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/mixin/fix/FixNormalScalingMixin.java b/common/src/main/java/com/jozufozu/flywheel/impl/mixin/fix/FixNormalScalingMixin.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/mixin/fix/FixNormalScalingMixin.java rename to common/src/main/java/com/jozufozu/flywheel/impl/mixin/fix/FixNormalScalingMixin.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/mixin/sodium/ChunkBuilderMeshingTaskMixin.java b/common/src/main/java/com/jozufozu/flywheel/impl/mixin/sodium/ChunkBuilderMeshingTaskMixin.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/mixin/sodium/ChunkBuilderMeshingTaskMixin.java rename to common/src/main/java/com/jozufozu/flywheel/impl/mixin/sodium/ChunkBuilderMeshingTaskMixin.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/mixin/sodium/SodiumMixinPlugin.java b/common/src/main/java/com/jozufozu/flywheel/impl/mixin/sodium/SodiumMixinPlugin.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/mixin/sodium/SodiumMixinPlugin.java rename to common/src/main/java/com/jozufozu/flywheel/impl/mixin/sodium/SodiumMixinPlugin.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/mixin/visualmanage/BlockEntityMixin.java b/common/src/main/java/com/jozufozu/flywheel/impl/mixin/visualmanage/BlockEntityMixin.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/mixin/visualmanage/BlockEntityMixin.java rename to common/src/main/java/com/jozufozu/flywheel/impl/mixin/visualmanage/BlockEntityMixin.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/mixin/visualmanage/LevelChunkMixin.java b/common/src/main/java/com/jozufozu/flywheel/impl/mixin/visualmanage/LevelChunkMixin.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/mixin/visualmanage/LevelChunkMixin.java rename to common/src/main/java/com/jozufozu/flywheel/impl/mixin/visualmanage/LevelChunkMixin.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/mixin/visualmanage/LevelRendererMixin.java b/common/src/main/java/com/jozufozu/flywheel/impl/mixin/visualmanage/LevelRendererMixin.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/mixin/visualmanage/LevelRendererMixin.java rename to common/src/main/java/com/jozufozu/flywheel/impl/mixin/visualmanage/LevelRendererMixin.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/mixin/visualmanage/RebuildTaskMixin.java b/common/src/main/java/com/jozufozu/flywheel/impl/mixin/visualmanage/RebuildTaskMixin.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/mixin/visualmanage/RebuildTaskMixin.java rename to common/src/main/java/com/jozufozu/flywheel/impl/mixin/visualmanage/RebuildTaskMixin.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/registry/IdRegistryImpl.java b/common/src/main/java/com/jozufozu/flywheel/impl/registry/IdRegistryImpl.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/registry/IdRegistryImpl.java rename to common/src/main/java/com/jozufozu/flywheel/impl/registry/IdRegistryImpl.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/registry/RegistryImpl.java b/common/src/main/java/com/jozufozu/flywheel/impl/registry/RegistryImpl.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/registry/RegistryImpl.java rename to common/src/main/java/com/jozufozu/flywheel/impl/registry/RegistryImpl.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/task/FlwTaskExecutor.java b/common/src/main/java/com/jozufozu/flywheel/impl/task/FlwTaskExecutor.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/task/FlwTaskExecutor.java rename to common/src/main/java/com/jozufozu/flywheel/impl/task/FlwTaskExecutor.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/task/ParallelTaskExecutor.java b/common/src/main/java/com/jozufozu/flywheel/impl/task/ParallelTaskExecutor.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/task/ParallelTaskExecutor.java rename to common/src/main/java/com/jozufozu/flywheel/impl/task/ParallelTaskExecutor.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/task/SerialTaskExecutor.java b/common/src/main/java/com/jozufozu/flywheel/impl/task/SerialTaskExecutor.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/task/SerialTaskExecutor.java rename to common/src/main/java/com/jozufozu/flywheel/impl/task/SerialTaskExecutor.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/task/ThreadGroupNotifier.java b/common/src/main/java/com/jozufozu/flywheel/impl/task/ThreadGroupNotifier.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/task/ThreadGroupNotifier.java rename to common/src/main/java/com/jozufozu/flywheel/impl/task/ThreadGroupNotifier.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/task/WaitGroup.java b/common/src/main/java/com/jozufozu/flywheel/impl/task/WaitGroup.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/task/WaitGroup.java rename to common/src/main/java/com/jozufozu/flywheel/impl/task/WaitGroup.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/vertex/InferredVertexFormatInfo.java b/common/src/main/java/com/jozufozu/flywheel/impl/vertex/InferredVertexFormatInfo.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/vertex/InferredVertexFormatInfo.java rename to common/src/main/java/com/jozufozu/flywheel/impl/vertex/InferredVertexFormatInfo.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/vertex/InferredVertexView.java b/common/src/main/java/com/jozufozu/flywheel/impl/vertex/InferredVertexView.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/vertex/InferredVertexView.java rename to common/src/main/java/com/jozufozu/flywheel/impl/vertex/InferredVertexView.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/vertex/InferredVertexViewProvider.java b/common/src/main/java/com/jozufozu/flywheel/impl/vertex/InferredVertexViewProvider.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/vertex/InferredVertexViewProvider.java rename to common/src/main/java/com/jozufozu/flywheel/impl/vertex/InferredVertexViewProvider.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/vertex/VertexViewProviderRegistryImpl.java b/common/src/main/java/com/jozufozu/flywheel/impl/vertex/VertexViewProviderRegistryImpl.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/vertex/VertexViewProviderRegistryImpl.java rename to common/src/main/java/com/jozufozu/flywheel/impl/vertex/VertexViewProviderRegistryImpl.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/visual/DynamicVisualContextImpl.java b/common/src/main/java/com/jozufozu/flywheel/impl/visual/DynamicVisualContextImpl.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/visual/DynamicVisualContextImpl.java rename to common/src/main/java/com/jozufozu/flywheel/impl/visual/DynamicVisualContextImpl.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/visual/TickableVisualContextImpl.java b/common/src/main/java/com/jozufozu/flywheel/impl/visual/TickableVisualContextImpl.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/visual/TickableVisualContextImpl.java rename to common/src/main/java/com/jozufozu/flywheel/impl/visual/TickableVisualContextImpl.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/visualization/VisualizationEventHandler.java b/common/src/main/java/com/jozufozu/flywheel/impl/visualization/VisualizationEventHandler.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/visualization/VisualizationEventHandler.java rename to common/src/main/java/com/jozufozu/flywheel/impl/visualization/VisualizationEventHandler.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/visualization/VisualizationHelper.java b/common/src/main/java/com/jozufozu/flywheel/impl/visualization/VisualizationHelper.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/visualization/VisualizationHelper.java rename to common/src/main/java/com/jozufozu/flywheel/impl/visualization/VisualizationHelper.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/visualization/VisualizationManagerImpl.java b/common/src/main/java/com/jozufozu/flywheel/impl/visualization/VisualizationManagerImpl.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/visualization/VisualizationManagerImpl.java rename to common/src/main/java/com/jozufozu/flywheel/impl/visualization/VisualizationManagerImpl.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/visualization/VisualizerRegistryImpl.java b/common/src/main/java/com/jozufozu/flywheel/impl/visualization/VisualizerRegistryImpl.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/visualization/VisualizerRegistryImpl.java rename to common/src/main/java/com/jozufozu/flywheel/impl/visualization/VisualizerRegistryImpl.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/visualization/manager/BlockEntityStorage.java b/common/src/main/java/com/jozufozu/flywheel/impl/visualization/manager/BlockEntityStorage.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/visualization/manager/BlockEntityStorage.java rename to common/src/main/java/com/jozufozu/flywheel/impl/visualization/manager/BlockEntityStorage.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/visualization/manager/EffectStorage.java b/common/src/main/java/com/jozufozu/flywheel/impl/visualization/manager/EffectStorage.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/visualization/manager/EffectStorage.java rename to common/src/main/java/com/jozufozu/flywheel/impl/visualization/manager/EffectStorage.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/visualization/manager/EntityStorage.java b/common/src/main/java/com/jozufozu/flywheel/impl/visualization/manager/EntityStorage.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/visualization/manager/EntityStorage.java rename to common/src/main/java/com/jozufozu/flywheel/impl/visualization/manager/EntityStorage.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/visualization/manager/VisualManagerImpl.java b/common/src/main/java/com/jozufozu/flywheel/impl/visualization/manager/VisualManagerImpl.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/visualization/manager/VisualManagerImpl.java rename to common/src/main/java/com/jozufozu/flywheel/impl/visualization/manager/VisualManagerImpl.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/visualization/ratelimit/BandedPrimeLimiter.java b/common/src/main/java/com/jozufozu/flywheel/impl/visualization/ratelimit/BandedPrimeLimiter.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/visualization/ratelimit/BandedPrimeLimiter.java rename to common/src/main/java/com/jozufozu/flywheel/impl/visualization/ratelimit/BandedPrimeLimiter.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/visualization/ratelimit/DistanceUpdateLimiterImpl.java b/common/src/main/java/com/jozufozu/flywheel/impl/visualization/ratelimit/DistanceUpdateLimiterImpl.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/visualization/ratelimit/DistanceUpdateLimiterImpl.java rename to common/src/main/java/com/jozufozu/flywheel/impl/visualization/ratelimit/DistanceUpdateLimiterImpl.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/visualization/ratelimit/NonLimiter.java b/common/src/main/java/com/jozufozu/flywheel/impl/visualization/ratelimit/NonLimiter.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/visualization/ratelimit/NonLimiter.java rename to common/src/main/java/com/jozufozu/flywheel/impl/visualization/ratelimit/NonLimiter.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/visualization/storage/Action.java b/common/src/main/java/com/jozufozu/flywheel/impl/visualization/storage/Action.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/visualization/storage/Action.java rename to common/src/main/java/com/jozufozu/flywheel/impl/visualization/storage/Action.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/visualization/storage/LitVisualStorage.java b/common/src/main/java/com/jozufozu/flywheel/impl/visualization/storage/LitVisualStorage.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/visualization/storage/LitVisualStorage.java rename to common/src/main/java/com/jozufozu/flywheel/impl/visualization/storage/LitVisualStorage.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/visualization/storage/Storage.java b/common/src/main/java/com/jozufozu/flywheel/impl/visualization/storage/Storage.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/visualization/storage/Storage.java rename to common/src/main/java/com/jozufozu/flywheel/impl/visualization/storage/Storage.java diff --git a/src/main/java/com/jozufozu/flywheel/impl/visualization/storage/Transaction.java b/common/src/main/java/com/jozufozu/flywheel/impl/visualization/storage/Transaction.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/impl/visualization/storage/Transaction.java rename to common/src/main/java/com/jozufozu/flywheel/impl/visualization/storage/Transaction.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/backend/SimpleBackend.java b/common/src/main/java/com/jozufozu/flywheel/lib/backend/SimpleBackend.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/backend/SimpleBackend.java rename to common/src/main/java/com/jozufozu/flywheel/lib/backend/SimpleBackend.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/box/Box.java b/common/src/main/java/com/jozufozu/flywheel/lib/box/Box.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/box/Box.java rename to common/src/main/java/com/jozufozu/flywheel/lib/box/Box.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/box/MutableBox.java b/common/src/main/java/com/jozufozu/flywheel/lib/box/MutableBox.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/box/MutableBox.java rename to common/src/main/java/com/jozufozu/flywheel/lib/box/MutableBox.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/instance/AbstractInstance.java b/common/src/main/java/com/jozufozu/flywheel/lib/instance/AbstractInstance.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/instance/AbstractInstance.java rename to common/src/main/java/com/jozufozu/flywheel/lib/instance/AbstractInstance.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/instance/ColoredLitInstance.java b/common/src/main/java/com/jozufozu/flywheel/lib/instance/ColoredLitInstance.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/instance/ColoredLitInstance.java rename to common/src/main/java/com/jozufozu/flywheel/lib/instance/ColoredLitInstance.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/instance/FlatLit.java b/common/src/main/java/com/jozufozu/flywheel/lib/instance/FlatLit.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/instance/FlatLit.java rename to common/src/main/java/com/jozufozu/flywheel/lib/instance/FlatLit.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/instance/InstanceTypes.java b/common/src/main/java/com/jozufozu/flywheel/lib/instance/InstanceTypes.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/instance/InstanceTypes.java rename to common/src/main/java/com/jozufozu/flywheel/lib/instance/InstanceTypes.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/instance/OrientedInstance.java b/common/src/main/java/com/jozufozu/flywheel/lib/instance/OrientedInstance.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/instance/OrientedInstance.java rename to common/src/main/java/com/jozufozu/flywheel/lib/instance/OrientedInstance.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/instance/ShadowInstance.java b/common/src/main/java/com/jozufozu/flywheel/lib/instance/ShadowInstance.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/instance/ShadowInstance.java rename to common/src/main/java/com/jozufozu/flywheel/lib/instance/ShadowInstance.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/instance/SimpleInstanceType.java b/common/src/main/java/com/jozufozu/flywheel/lib/instance/SimpleInstanceType.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/instance/SimpleInstanceType.java rename to common/src/main/java/com/jozufozu/flywheel/lib/instance/SimpleInstanceType.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/instance/TransformedInstance.java b/common/src/main/java/com/jozufozu/flywheel/lib/instance/TransformedInstance.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/instance/TransformedInstance.java rename to common/src/main/java/com/jozufozu/flywheel/lib/instance/TransformedInstance.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/light/LightPacking.java b/common/src/main/java/com/jozufozu/flywheel/lib/light/LightPacking.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/light/LightPacking.java rename to common/src/main/java/com/jozufozu/flywheel/lib/light/LightPacking.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/light/LightVolume.java b/common/src/main/java/com/jozufozu/flywheel/lib/light/LightVolume.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/light/LightVolume.java rename to common/src/main/java/com/jozufozu/flywheel/lib/light/LightVolume.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/material/CutoutShaders.java b/common/src/main/java/com/jozufozu/flywheel/lib/material/CutoutShaders.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/material/CutoutShaders.java rename to common/src/main/java/com/jozufozu/flywheel/lib/material/CutoutShaders.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/material/FogShaders.java b/common/src/main/java/com/jozufozu/flywheel/lib/material/FogShaders.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/material/FogShaders.java rename to common/src/main/java/com/jozufozu/flywheel/lib/material/FogShaders.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/material/Materials.java b/common/src/main/java/com/jozufozu/flywheel/lib/material/Materials.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/material/Materials.java rename to common/src/main/java/com/jozufozu/flywheel/lib/material/Materials.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/material/SimpleCutoutShader.java b/common/src/main/java/com/jozufozu/flywheel/lib/material/SimpleCutoutShader.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/material/SimpleCutoutShader.java rename to common/src/main/java/com/jozufozu/flywheel/lib/material/SimpleCutoutShader.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/material/SimpleFogShader.java b/common/src/main/java/com/jozufozu/flywheel/lib/material/SimpleFogShader.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/material/SimpleFogShader.java rename to common/src/main/java/com/jozufozu/flywheel/lib/material/SimpleFogShader.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/material/SimpleMaterial.java b/common/src/main/java/com/jozufozu/flywheel/lib/material/SimpleMaterial.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/material/SimpleMaterial.java rename to common/src/main/java/com/jozufozu/flywheel/lib/material/SimpleMaterial.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/material/SimpleMaterialShaders.java b/common/src/main/java/com/jozufozu/flywheel/lib/material/SimpleMaterialShaders.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/material/SimpleMaterialShaders.java rename to common/src/main/java/com/jozufozu/flywheel/lib/material/SimpleMaterialShaders.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/material/StandardMaterialShaders.java b/common/src/main/java/com/jozufozu/flywheel/lib/material/StandardMaterialShaders.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/material/StandardMaterialShaders.java rename to common/src/main/java/com/jozufozu/flywheel/lib/material/StandardMaterialShaders.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/math/MatrixMath.java b/common/src/main/java/com/jozufozu/flywheel/lib/math/MatrixMath.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/math/MatrixMath.java rename to common/src/main/java/com/jozufozu/flywheel/lib/math/MatrixMath.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/math/MoreMath.java b/common/src/main/java/com/jozufozu/flywheel/lib/math/MoreMath.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/math/MoreMath.java rename to common/src/main/java/com/jozufozu/flywheel/lib/math/MoreMath.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/math/RenderMath.java b/common/src/main/java/com/jozufozu/flywheel/lib/math/RenderMath.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/math/RenderMath.java rename to common/src/main/java/com/jozufozu/flywheel/lib/math/RenderMath.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/memory/AbstractMemoryBlockImpl.java b/common/src/main/java/com/jozufozu/flywheel/lib/memory/AbstractMemoryBlockImpl.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/memory/AbstractMemoryBlockImpl.java rename to common/src/main/java/com/jozufozu/flywheel/lib/memory/AbstractMemoryBlockImpl.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/memory/DebugMemoryBlockImpl.java b/common/src/main/java/com/jozufozu/flywheel/lib/memory/DebugMemoryBlockImpl.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/memory/DebugMemoryBlockImpl.java rename to common/src/main/java/com/jozufozu/flywheel/lib/memory/DebugMemoryBlockImpl.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/memory/FlwMemoryTracker.java b/common/src/main/java/com/jozufozu/flywheel/lib/memory/FlwMemoryTracker.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/memory/FlwMemoryTracker.java rename to common/src/main/java/com/jozufozu/flywheel/lib/memory/FlwMemoryTracker.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/memory/MemoryBlock.java b/common/src/main/java/com/jozufozu/flywheel/lib/memory/MemoryBlock.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/memory/MemoryBlock.java rename to common/src/main/java/com/jozufozu/flywheel/lib/memory/MemoryBlock.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/memory/MemoryBlockImpl.java b/common/src/main/java/com/jozufozu/flywheel/lib/memory/MemoryBlockImpl.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/memory/MemoryBlockImpl.java rename to common/src/main/java/com/jozufozu/flywheel/lib/memory/MemoryBlockImpl.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/memory/TrackedMemoryBlockImpl.java b/common/src/main/java/com/jozufozu/flywheel/lib/memory/TrackedMemoryBlockImpl.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/memory/TrackedMemoryBlockImpl.java rename to common/src/main/java/com/jozufozu/flywheel/lib/memory/TrackedMemoryBlockImpl.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/model/LineModelBuilder.java b/common/src/main/java/com/jozufozu/flywheel/lib/model/LineModelBuilder.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/model/LineModelBuilder.java rename to common/src/main/java/com/jozufozu/flywheel/lib/model/LineModelBuilder.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/model/ModelCache.java b/common/src/main/java/com/jozufozu/flywheel/lib/model/ModelCache.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/model/ModelCache.java rename to common/src/main/java/com/jozufozu/flywheel/lib/model/ModelCache.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/model/ModelHolder.java b/common/src/main/java/com/jozufozu/flywheel/lib/model/ModelHolder.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/model/ModelHolder.java rename to common/src/main/java/com/jozufozu/flywheel/lib/model/ModelHolder.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/model/ModelUtil.java b/common/src/main/java/com/jozufozu/flywheel/lib/model/ModelUtil.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/model/ModelUtil.java rename to common/src/main/java/com/jozufozu/flywheel/lib/model/ModelUtil.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/model/Models.java b/common/src/main/java/com/jozufozu/flywheel/lib/model/Models.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/model/Models.java rename to common/src/main/java/com/jozufozu/flywheel/lib/model/Models.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/model/QuadIndexSequence.java b/common/src/main/java/com/jozufozu/flywheel/lib/model/QuadIndexSequence.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/model/QuadIndexSequence.java rename to common/src/main/java/com/jozufozu/flywheel/lib/model/QuadIndexSequence.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/model/QuadMesh.java b/common/src/main/java/com/jozufozu/flywheel/lib/model/QuadMesh.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/model/QuadMesh.java rename to common/src/main/java/com/jozufozu/flywheel/lib/model/QuadMesh.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/model/SimpleMesh.java b/common/src/main/java/com/jozufozu/flywheel/lib/model/SimpleMesh.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/model/SimpleMesh.java rename to common/src/main/java/com/jozufozu/flywheel/lib/model/SimpleMesh.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/model/SimpleModel.java b/common/src/main/java/com/jozufozu/flywheel/lib/model/SimpleModel.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/model/SimpleModel.java rename to common/src/main/java/com/jozufozu/flywheel/lib/model/SimpleModel.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/model/SingleMeshModel.java b/common/src/main/java/com/jozufozu/flywheel/lib/model/SingleMeshModel.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/model/SingleMeshModel.java rename to common/src/main/java/com/jozufozu/flywheel/lib/model/SingleMeshModel.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/model/baked/BakedModelBufferer.java b/common/src/main/java/com/jozufozu/flywheel/lib/model/baked/BakedModelBufferer.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/model/baked/BakedModelBufferer.java rename to common/src/main/java/com/jozufozu/flywheel/lib/model/baked/BakedModelBufferer.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/model/baked/BakedModelBuilder.java b/common/src/main/java/com/jozufozu/flywheel/lib/model/baked/BakedModelBuilder.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/model/baked/BakedModelBuilder.java rename to common/src/main/java/com/jozufozu/flywheel/lib/model/baked/BakedModelBuilder.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/model/baked/BlockModelBuilder.java b/common/src/main/java/com/jozufozu/flywheel/lib/model/baked/BlockModelBuilder.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/model/baked/BlockModelBuilder.java rename to common/src/main/java/com/jozufozu/flywheel/lib/model/baked/BlockModelBuilder.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/model/baked/MeshEmitter.java b/common/src/main/java/com/jozufozu/flywheel/lib/model/baked/MeshEmitter.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/model/baked/MeshEmitter.java rename to common/src/main/java/com/jozufozu/flywheel/lib/model/baked/MeshEmitter.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/model/baked/MultiBlockModelBuilder.java b/common/src/main/java/com/jozufozu/flywheel/lib/model/baked/MultiBlockModelBuilder.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/model/baked/MultiBlockModelBuilder.java rename to common/src/main/java/com/jozufozu/flywheel/lib/model/baked/MultiBlockModelBuilder.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/model/baked/PartialModel.java b/common/src/main/java/com/jozufozu/flywheel/lib/model/baked/PartialModel.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/model/baked/PartialModel.java rename to common/src/main/java/com/jozufozu/flywheel/lib/model/baked/PartialModel.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/model/baked/TransformingVertexConsumer.java b/common/src/main/java/com/jozufozu/flywheel/lib/model/baked/TransformingVertexConsumer.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/model/baked/TransformingVertexConsumer.java rename to common/src/main/java/com/jozufozu/flywheel/lib/model/baked/TransformingVertexConsumer.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/model/baked/VirtualBlockGetter.java b/common/src/main/java/com/jozufozu/flywheel/lib/model/baked/VirtualBlockGetter.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/model/baked/VirtualBlockGetter.java rename to common/src/main/java/com/jozufozu/flywheel/lib/model/baked/VirtualBlockGetter.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/model/baked/VirtualEmptyBlockGetter.java b/common/src/main/java/com/jozufozu/flywheel/lib/model/baked/VirtualEmptyBlockGetter.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/model/baked/VirtualEmptyBlockGetter.java rename to common/src/main/java/com/jozufozu/flywheel/lib/model/baked/VirtualEmptyBlockGetter.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/model/baked/VirtualLightEngine.java b/common/src/main/java/com/jozufozu/flywheel/lib/model/baked/VirtualLightEngine.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/model/baked/VirtualLightEngine.java rename to common/src/main/java/com/jozufozu/flywheel/lib/model/baked/VirtualLightEngine.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/model/part/ModelPartConverter.java b/common/src/main/java/com/jozufozu/flywheel/lib/model/part/ModelPartConverter.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/model/part/ModelPartConverter.java rename to common/src/main/java/com/jozufozu/flywheel/lib/model/part/ModelPartConverter.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/model/part/VertexWriter.java b/common/src/main/java/com/jozufozu/flywheel/lib/model/part/VertexWriter.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/model/part/VertexWriter.java rename to common/src/main/java/com/jozufozu/flywheel/lib/model/part/VertexWriter.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/task/BarrierPlan.java b/common/src/main/java/com/jozufozu/flywheel/lib/task/BarrierPlan.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/task/BarrierPlan.java rename to common/src/main/java/com/jozufozu/flywheel/lib/task/BarrierPlan.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/task/Distribute.java b/common/src/main/java/com/jozufozu/flywheel/lib/task/Distribute.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/task/Distribute.java rename to common/src/main/java/com/jozufozu/flywheel/lib/task/Distribute.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/task/DynamicNestedPlan.java b/common/src/main/java/com/jozufozu/flywheel/lib/task/DynamicNestedPlan.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/task/DynamicNestedPlan.java rename to common/src/main/java/com/jozufozu/flywheel/lib/task/DynamicNestedPlan.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/task/Flag.java b/common/src/main/java/com/jozufozu/flywheel/lib/task/Flag.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/task/Flag.java rename to common/src/main/java/com/jozufozu/flywheel/lib/task/Flag.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/task/ForEachPlan.java b/common/src/main/java/com/jozufozu/flywheel/lib/task/ForEachPlan.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/task/ForEachPlan.java rename to common/src/main/java/com/jozufozu/flywheel/lib/task/ForEachPlan.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/task/ForEachSlicePlan.java b/common/src/main/java/com/jozufozu/flywheel/lib/task/ForEachSlicePlan.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/task/ForEachSlicePlan.java rename to common/src/main/java/com/jozufozu/flywheel/lib/task/ForEachSlicePlan.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/task/IfElsePlan.java b/common/src/main/java/com/jozufozu/flywheel/lib/task/IfElsePlan.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/task/IfElsePlan.java rename to common/src/main/java/com/jozufozu/flywheel/lib/task/IfElsePlan.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/task/MapContextPlan.java b/common/src/main/java/com/jozufozu/flywheel/lib/task/MapContextPlan.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/task/MapContextPlan.java rename to common/src/main/java/com/jozufozu/flywheel/lib/task/MapContextPlan.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/task/NamedFlag.java b/common/src/main/java/com/jozufozu/flywheel/lib/task/NamedFlag.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/task/NamedFlag.java rename to common/src/main/java/com/jozufozu/flywheel/lib/task/NamedFlag.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/task/NestedPlan.java b/common/src/main/java/com/jozufozu/flywheel/lib/task/NestedPlan.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/task/NestedPlan.java rename to common/src/main/java/com/jozufozu/flywheel/lib/task/NestedPlan.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/task/PlanMap.java b/common/src/main/java/com/jozufozu/flywheel/lib/task/PlanMap.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/task/PlanMap.java rename to common/src/main/java/com/jozufozu/flywheel/lib/task/PlanMap.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/task/RaisePlan.java b/common/src/main/java/com/jozufozu/flywheel/lib/task/RaisePlan.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/task/RaisePlan.java rename to common/src/main/java/com/jozufozu/flywheel/lib/task/RaisePlan.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/task/RunnablePlan.java b/common/src/main/java/com/jozufozu/flywheel/lib/task/RunnablePlan.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/task/RunnablePlan.java rename to common/src/main/java/com/jozufozu/flywheel/lib/task/RunnablePlan.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/task/SimplePlan.java b/common/src/main/java/com/jozufozu/flywheel/lib/task/SimplePlan.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/task/SimplePlan.java rename to common/src/main/java/com/jozufozu/flywheel/lib/task/SimplePlan.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/task/SimplyComposedPlan.java b/common/src/main/java/com/jozufozu/flywheel/lib/task/SimplyComposedPlan.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/task/SimplyComposedPlan.java rename to common/src/main/java/com/jozufozu/flywheel/lib/task/SimplyComposedPlan.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/task/StageFlag.java b/common/src/main/java/com/jozufozu/flywheel/lib/task/StageFlag.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/task/StageFlag.java rename to common/src/main/java/com/jozufozu/flywheel/lib/task/StageFlag.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/task/SyncedPlan.java b/common/src/main/java/com/jozufozu/flywheel/lib/task/SyncedPlan.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/task/SyncedPlan.java rename to common/src/main/java/com/jozufozu/flywheel/lib/task/SyncedPlan.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/task/Synchronizer.java b/common/src/main/java/com/jozufozu/flywheel/lib/task/Synchronizer.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/task/Synchronizer.java rename to common/src/main/java/com/jozufozu/flywheel/lib/task/Synchronizer.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/task/UnitPlan.java b/common/src/main/java/com/jozufozu/flywheel/lib/task/UnitPlan.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/task/UnitPlan.java rename to common/src/main/java/com/jozufozu/flywheel/lib/task/UnitPlan.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/task/functional/BooleanSupplierWithContext.java b/common/src/main/java/com/jozufozu/flywheel/lib/task/functional/BooleanSupplierWithContext.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/task/functional/BooleanSupplierWithContext.java rename to common/src/main/java/com/jozufozu/flywheel/lib/task/functional/BooleanSupplierWithContext.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/task/functional/ConsumerWithContext.java b/common/src/main/java/com/jozufozu/flywheel/lib/task/functional/ConsumerWithContext.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/task/functional/ConsumerWithContext.java rename to common/src/main/java/com/jozufozu/flywheel/lib/task/functional/ConsumerWithContext.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/task/functional/RunnableWithContext.java b/common/src/main/java/com/jozufozu/flywheel/lib/task/functional/RunnableWithContext.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/task/functional/RunnableWithContext.java rename to common/src/main/java/com/jozufozu/flywheel/lib/task/functional/RunnableWithContext.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/task/functional/SupplierWithContext.java b/common/src/main/java/com/jozufozu/flywheel/lib/task/functional/SupplierWithContext.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/task/functional/SupplierWithContext.java rename to common/src/main/java/com/jozufozu/flywheel/lib/task/functional/SupplierWithContext.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/task/functional/package-info.java b/common/src/main/java/com/jozufozu/flywheel/lib/task/functional/package-info.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/task/functional/package-info.java rename to common/src/main/java/com/jozufozu/flywheel/lib/task/functional/package-info.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/transform/Affine.java b/common/src/main/java/com/jozufozu/flywheel/lib/transform/Affine.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/transform/Affine.java rename to common/src/main/java/com/jozufozu/flywheel/lib/transform/Affine.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/transform/PoseTransformStack.java b/common/src/main/java/com/jozufozu/flywheel/lib/transform/PoseTransformStack.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/transform/PoseTransformStack.java rename to common/src/main/java/com/jozufozu/flywheel/lib/transform/PoseTransformStack.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/transform/Rotate.java b/common/src/main/java/com/jozufozu/flywheel/lib/transform/Rotate.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/transform/Rotate.java rename to common/src/main/java/com/jozufozu/flywheel/lib/transform/Rotate.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/transform/Scale.java b/common/src/main/java/com/jozufozu/flywheel/lib/transform/Scale.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/transform/Scale.java rename to common/src/main/java/com/jozufozu/flywheel/lib/transform/Scale.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/transform/Transform.java b/common/src/main/java/com/jozufozu/flywheel/lib/transform/Transform.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/transform/Transform.java rename to common/src/main/java/com/jozufozu/flywheel/lib/transform/Transform.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/transform/TransformStack.java b/common/src/main/java/com/jozufozu/flywheel/lib/transform/TransformStack.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/transform/TransformStack.java rename to common/src/main/java/com/jozufozu/flywheel/lib/transform/TransformStack.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/transform/Translate.java b/common/src/main/java/com/jozufozu/flywheel/lib/transform/Translate.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/transform/Translate.java rename to common/src/main/java/com/jozufozu/flywheel/lib/transform/Translate.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/util/AtomicBitset.java b/common/src/main/java/com/jozufozu/flywheel/lib/util/AtomicBitset.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/util/AtomicBitset.java rename to common/src/main/java/com/jozufozu/flywheel/lib/util/AtomicBitset.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/util/FlwUtil.java b/common/src/main/java/com/jozufozu/flywheel/lib/util/FlwUtil.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/util/FlwUtil.java rename to common/src/main/java/com/jozufozu/flywheel/lib/util/FlwUtil.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/util/LevelAttached.java b/common/src/main/java/com/jozufozu/flywheel/lib/util/LevelAttached.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/util/LevelAttached.java rename to common/src/main/java/com/jozufozu/flywheel/lib/util/LevelAttached.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/util/Pair.java b/common/src/main/java/com/jozufozu/flywheel/lib/util/Pair.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/util/Pair.java rename to common/src/main/java/com/jozufozu/flywheel/lib/util/Pair.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/util/ResourceUtil.java b/common/src/main/java/com/jozufozu/flywheel/lib/util/ResourceUtil.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/util/ResourceUtil.java rename to common/src/main/java/com/jozufozu/flywheel/lib/util/ResourceUtil.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/util/SectionUtil.java b/common/src/main/java/com/jozufozu/flywheel/lib/util/SectionUtil.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/util/SectionUtil.java rename to common/src/main/java/com/jozufozu/flywheel/lib/util/SectionUtil.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/util/ShadersModHandler.java b/common/src/main/java/com/jozufozu/flywheel/lib/util/ShadersModHandler.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/util/ShadersModHandler.java rename to common/src/main/java/com/jozufozu/flywheel/lib/util/ShadersModHandler.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/util/StringUtil.java b/common/src/main/java/com/jozufozu/flywheel/lib/util/StringUtil.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/util/StringUtil.java rename to common/src/main/java/com/jozufozu/flywheel/lib/util/StringUtil.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/util/Unit.java b/common/src/main/java/com/jozufozu/flywheel/lib/util/Unit.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/util/Unit.java rename to common/src/main/java/com/jozufozu/flywheel/lib/util/Unit.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/vertex/AbstractVertexView.java b/common/src/main/java/com/jozufozu/flywheel/lib/vertex/AbstractVertexView.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/vertex/AbstractVertexView.java rename to common/src/main/java/com/jozufozu/flywheel/lib/vertex/AbstractVertexView.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/vertex/EmptyVertexList.java b/common/src/main/java/com/jozufozu/flywheel/lib/vertex/EmptyVertexList.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/vertex/EmptyVertexList.java rename to common/src/main/java/com/jozufozu/flywheel/lib/vertex/EmptyVertexList.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/vertex/FullVertexView.java b/common/src/main/java/com/jozufozu/flywheel/lib/vertex/FullVertexView.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/vertex/FullVertexView.java rename to common/src/main/java/com/jozufozu/flywheel/lib/vertex/FullVertexView.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/vertex/NoOverlayVertexView.java b/common/src/main/java/com/jozufozu/flywheel/lib/vertex/NoOverlayVertexView.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/vertex/NoOverlayVertexView.java rename to common/src/main/java/com/jozufozu/flywheel/lib/vertex/NoOverlayVertexView.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/vertex/PosTexNormalVertexView.java b/common/src/main/java/com/jozufozu/flywheel/lib/vertex/PosTexNormalVertexView.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/vertex/PosTexNormalVertexView.java rename to common/src/main/java/com/jozufozu/flywheel/lib/vertex/PosTexNormalVertexView.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/vertex/PosVertexView.java b/common/src/main/java/com/jozufozu/flywheel/lib/vertex/PosVertexView.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/vertex/PosVertexView.java rename to common/src/main/java/com/jozufozu/flywheel/lib/vertex/PosVertexView.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/visual/AbstractBlockEntityVisual.java b/common/src/main/java/com/jozufozu/flywheel/lib/visual/AbstractBlockEntityVisual.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/visual/AbstractBlockEntityVisual.java rename to common/src/main/java/com/jozufozu/flywheel/lib/visual/AbstractBlockEntityVisual.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/visual/AbstractEntityVisual.java b/common/src/main/java/com/jozufozu/flywheel/lib/visual/AbstractEntityVisual.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/visual/AbstractEntityVisual.java rename to common/src/main/java/com/jozufozu/flywheel/lib/visual/AbstractEntityVisual.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/visual/AbstractVisual.java b/common/src/main/java/com/jozufozu/flywheel/lib/visual/AbstractVisual.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/visual/AbstractVisual.java rename to common/src/main/java/com/jozufozu/flywheel/lib/visual/AbstractVisual.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/visual/EntityComponent.java b/common/src/main/java/com/jozufozu/flywheel/lib/visual/EntityComponent.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/visual/EntityComponent.java rename to common/src/main/java/com/jozufozu/flywheel/lib/visual/EntityComponent.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/visual/EntityVisibilityTester.java b/common/src/main/java/com/jozufozu/flywheel/lib/visual/EntityVisibilityTester.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/visual/EntityVisibilityTester.java rename to common/src/main/java/com/jozufozu/flywheel/lib/visual/EntityVisibilityTester.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/visual/InstanceRecycler.java b/common/src/main/java/com/jozufozu/flywheel/lib/visual/InstanceRecycler.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/visual/InstanceRecycler.java rename to common/src/main/java/com/jozufozu/flywheel/lib/visual/InstanceRecycler.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/visual/SimpleBlockEntityVisualizer.java b/common/src/main/java/com/jozufozu/flywheel/lib/visual/SimpleBlockEntityVisualizer.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/visual/SimpleBlockEntityVisualizer.java rename to common/src/main/java/com/jozufozu/flywheel/lib/visual/SimpleBlockEntityVisualizer.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/visual/SimpleDynamicVisual.java b/common/src/main/java/com/jozufozu/flywheel/lib/visual/SimpleDynamicVisual.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/visual/SimpleDynamicVisual.java rename to common/src/main/java/com/jozufozu/flywheel/lib/visual/SimpleDynamicVisual.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/visual/SimpleEntityVisual.java b/common/src/main/java/com/jozufozu/flywheel/lib/visual/SimpleEntityVisual.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/visual/SimpleEntityVisual.java rename to common/src/main/java/com/jozufozu/flywheel/lib/visual/SimpleEntityVisual.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/visual/SimpleEntityVisualizer.java b/common/src/main/java/com/jozufozu/flywheel/lib/visual/SimpleEntityVisualizer.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/visual/SimpleEntityVisualizer.java rename to common/src/main/java/com/jozufozu/flywheel/lib/visual/SimpleEntityVisualizer.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/visual/SimpleTickableVisual.java b/common/src/main/java/com/jozufozu/flywheel/lib/visual/SimpleTickableVisual.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/visual/SimpleTickableVisual.java rename to common/src/main/java/com/jozufozu/flywheel/lib/visual/SimpleTickableVisual.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/visual/SmartRecycler.java b/common/src/main/java/com/jozufozu/flywheel/lib/visual/SmartRecycler.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/visual/SmartRecycler.java rename to common/src/main/java/com/jozufozu/flywheel/lib/visual/SmartRecycler.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/visual/component/FireComponent.java b/common/src/main/java/com/jozufozu/flywheel/lib/visual/component/FireComponent.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/visual/component/FireComponent.java rename to common/src/main/java/com/jozufozu/flywheel/lib/visual/component/FireComponent.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/visual/component/HitboxComponent.java b/common/src/main/java/com/jozufozu/flywheel/lib/visual/component/HitboxComponent.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/visual/component/HitboxComponent.java rename to common/src/main/java/com/jozufozu/flywheel/lib/visual/component/HitboxComponent.java diff --git a/src/main/java/com/jozufozu/flywheel/lib/visual/component/ShadowComponent.java b/common/src/main/java/com/jozufozu/flywheel/lib/visual/component/ShadowComponent.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/lib/visual/component/ShadowComponent.java rename to common/src/main/java/com/jozufozu/flywheel/lib/visual/component/ShadowComponent.java diff --git a/src/main/java/com/jozufozu/flywheel/vanilla/BellVisual.java b/common/src/main/java/com/jozufozu/flywheel/vanilla/BellVisual.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/vanilla/BellVisual.java rename to common/src/main/java/com/jozufozu/flywheel/vanilla/BellVisual.java diff --git a/src/main/java/com/jozufozu/flywheel/vanilla/ChestVisual.java b/common/src/main/java/com/jozufozu/flywheel/vanilla/ChestVisual.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/vanilla/ChestVisual.java rename to common/src/main/java/com/jozufozu/flywheel/vanilla/ChestVisual.java diff --git a/src/main/java/com/jozufozu/flywheel/vanilla/MinecartVisual.java b/common/src/main/java/com/jozufozu/flywheel/vanilla/MinecartVisual.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/vanilla/MinecartVisual.java rename to common/src/main/java/com/jozufozu/flywheel/vanilla/MinecartVisual.java diff --git a/src/main/java/com/jozufozu/flywheel/vanilla/ShulkerBoxVisual.java b/common/src/main/java/com/jozufozu/flywheel/vanilla/ShulkerBoxVisual.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/vanilla/ShulkerBoxVisual.java rename to common/src/main/java/com/jozufozu/flywheel/vanilla/ShulkerBoxVisual.java diff --git a/src/main/java/com/jozufozu/flywheel/vanilla/TntMinecartVisual.java b/common/src/main/java/com/jozufozu/flywheel/vanilla/TntMinecartVisual.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/vanilla/TntMinecartVisual.java rename to common/src/main/java/com/jozufozu/flywheel/vanilla/TntMinecartVisual.java diff --git a/src/main/java/com/jozufozu/flywheel/vanilla/VanillaVisuals.java b/common/src/main/java/com/jozufozu/flywheel/vanilla/VanillaVisuals.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/vanilla/VanillaVisuals.java rename to common/src/main/java/com/jozufozu/flywheel/vanilla/VanillaVisuals.java diff --git a/src/main/java/com/jozufozu/flywheel/vanilla/effect/ExampleEffect.java b/common/src/main/java/com/jozufozu/flywheel/vanilla/effect/ExampleEffect.java similarity index 100% rename from src/main/java/com/jozufozu/flywheel/vanilla/effect/ExampleEffect.java rename to common/src/main/java/com/jozufozu/flywheel/vanilla/effect/ExampleEffect.java diff --git a/src/main/resources/META-INF/mods.toml b/common/src/main/resources/META-INF/mods.toml similarity index 100% rename from src/main/resources/META-INF/mods.toml rename to common/src/main/resources/META-INF/mods.toml diff --git a/src/main/resources/assets/flywheel/flywheel/cutout/epsilon.glsl b/common/src/main/resources/assets/flywheel/flywheel/cutout/epsilon.glsl similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/cutout/epsilon.glsl rename to common/src/main/resources/assets/flywheel/flywheel/cutout/epsilon.glsl diff --git a/src/main/resources/assets/flywheel/flywheel/cutout/half.glsl b/common/src/main/resources/assets/flywheel/flywheel/cutout/half.glsl similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/cutout/half.glsl rename to common/src/main/resources/assets/flywheel/flywheel/cutout/half.glsl diff --git a/src/main/resources/assets/flywheel/flywheel/cutout/off.glsl b/common/src/main/resources/assets/flywheel/flywheel/cutout/off.glsl similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/cutout/off.glsl rename to common/src/main/resources/assets/flywheel/flywheel/cutout/off.glsl diff --git a/src/main/resources/assets/flywheel/flywheel/cutout/one_tenth.glsl b/common/src/main/resources/assets/flywheel/flywheel/cutout/one_tenth.glsl similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/cutout/one_tenth.glsl rename to common/src/main/resources/assets/flywheel/flywheel/cutout/one_tenth.glsl diff --git a/src/main/resources/assets/flywheel/flywheel/fog/linear.glsl b/common/src/main/resources/assets/flywheel/flywheel/fog/linear.glsl similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/fog/linear.glsl rename to common/src/main/resources/assets/flywheel/flywheel/fog/linear.glsl diff --git a/src/main/resources/assets/flywheel/flywheel/fog/linear_fade.glsl b/common/src/main/resources/assets/flywheel/flywheel/fog/linear_fade.glsl similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/fog/linear_fade.glsl rename to common/src/main/resources/assets/flywheel/flywheel/fog/linear_fade.glsl diff --git a/src/main/resources/assets/flywheel/flywheel/fog/none.glsl b/common/src/main/resources/assets/flywheel/flywheel/fog/none.glsl similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/fog/none.glsl rename to common/src/main/resources/assets/flywheel/flywheel/fog/none.glsl diff --git a/src/main/resources/assets/flywheel/flywheel/instance/cull/oriented.glsl b/common/src/main/resources/assets/flywheel/flywheel/instance/cull/oriented.glsl similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/instance/cull/oriented.glsl rename to common/src/main/resources/assets/flywheel/flywheel/instance/cull/oriented.glsl diff --git a/src/main/resources/assets/flywheel/flywheel/instance/cull/shadow.glsl b/common/src/main/resources/assets/flywheel/flywheel/instance/cull/shadow.glsl similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/instance/cull/shadow.glsl rename to common/src/main/resources/assets/flywheel/flywheel/instance/cull/shadow.glsl diff --git a/src/main/resources/assets/flywheel/flywheel/instance/cull/transformed.glsl b/common/src/main/resources/assets/flywheel/flywheel/instance/cull/transformed.glsl similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/instance/cull/transformed.glsl rename to common/src/main/resources/assets/flywheel/flywheel/instance/cull/transformed.glsl diff --git a/src/main/resources/assets/flywheel/flywheel/instance/oriented.vert b/common/src/main/resources/assets/flywheel/flywheel/instance/oriented.vert similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/instance/oriented.vert rename to common/src/main/resources/assets/flywheel/flywheel/instance/oriented.vert diff --git a/src/main/resources/assets/flywheel/flywheel/instance/shadow.vert b/common/src/main/resources/assets/flywheel/flywheel/instance/shadow.vert similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/instance/shadow.vert rename to common/src/main/resources/assets/flywheel/flywheel/instance/shadow.vert diff --git a/src/main/resources/assets/flywheel/flywheel/instance/transformed.vert b/common/src/main/resources/assets/flywheel/flywheel/instance/transformed.vert similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/instance/transformed.vert rename to common/src/main/resources/assets/flywheel/flywheel/instance/transformed.vert diff --git a/src/main/resources/assets/flywheel/flywheel/internal/api_impl.frag b/common/src/main/resources/assets/flywheel/flywheel/internal/api_impl.frag similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/internal/api_impl.frag rename to common/src/main/resources/assets/flywheel/flywheel/internal/api_impl.frag diff --git a/src/main/resources/assets/flywheel/flywheel/internal/api_impl.vert b/common/src/main/resources/assets/flywheel/flywheel/internal/api_impl.vert similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/internal/api_impl.vert rename to common/src/main/resources/assets/flywheel/flywheel/internal/api_impl.vert diff --git a/src/main/resources/assets/flywheel/flywheel/internal/colorizer.glsl b/common/src/main/resources/assets/flywheel/flywheel/internal/colorizer.glsl similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/internal/colorizer.glsl rename to common/src/main/resources/assets/flywheel/flywheel/internal/colorizer.glsl diff --git a/src/main/resources/assets/flywheel/flywheel/internal/common.frag b/common/src/main/resources/assets/flywheel/flywheel/internal/common.frag similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/internal/common.frag rename to common/src/main/resources/assets/flywheel/flywheel/internal/common.frag diff --git a/src/main/resources/assets/flywheel/flywheel/internal/common.vert b/common/src/main/resources/assets/flywheel/flywheel/internal/common.vert similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/internal/common.vert rename to common/src/main/resources/assets/flywheel/flywheel/internal/common.vert diff --git a/src/main/resources/assets/flywheel/flywheel/internal/components_header.frag b/common/src/main/resources/assets/flywheel/flywheel/internal/components_header.frag similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/internal/components_header.frag rename to common/src/main/resources/assets/flywheel/flywheel/internal/components_header.frag diff --git a/src/main/resources/assets/flywheel/flywheel/internal/components_header.vert b/common/src/main/resources/assets/flywheel/flywheel/internal/components_header.vert similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/internal/components_header.vert rename to common/src/main/resources/assets/flywheel/flywheel/internal/components_header.vert diff --git a/src/main/resources/assets/flywheel/flywheel/internal/diffuse.glsl b/common/src/main/resources/assets/flywheel/flywheel/internal/diffuse.glsl similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/internal/diffuse.glsl rename to common/src/main/resources/assets/flywheel/flywheel/internal/diffuse.glsl diff --git a/src/main/resources/assets/flywheel/flywheel/internal/fog_distance.glsl b/common/src/main/resources/assets/flywheel/flywheel/internal/fog_distance.glsl similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/internal/fog_distance.glsl rename to common/src/main/resources/assets/flywheel/flywheel/internal/fog_distance.glsl diff --git a/src/main/resources/assets/flywheel/flywheel/internal/indirect/apply.glsl b/common/src/main/resources/assets/flywheel/flywheel/internal/indirect/apply.glsl similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/internal/indirect/apply.glsl rename to common/src/main/resources/assets/flywheel/flywheel/internal/indirect/apply.glsl diff --git a/src/main/resources/assets/flywheel/flywheel/internal/indirect/buffer_bindings.glsl b/common/src/main/resources/assets/flywheel/flywheel/internal/indirect/buffer_bindings.glsl similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/internal/indirect/buffer_bindings.glsl rename to common/src/main/resources/assets/flywheel/flywheel/internal/indirect/buffer_bindings.glsl diff --git a/src/main/resources/assets/flywheel/flywheel/internal/indirect/cull.glsl b/common/src/main/resources/assets/flywheel/flywheel/internal/indirect/cull.glsl similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/internal/indirect/cull.glsl rename to common/src/main/resources/assets/flywheel/flywheel/internal/indirect/cull.glsl diff --git a/src/main/resources/assets/flywheel/flywheel/internal/indirect/cull_api_impl.glsl b/common/src/main/resources/assets/flywheel/flywheel/internal/indirect/cull_api_impl.glsl similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/internal/indirect/cull_api_impl.glsl rename to common/src/main/resources/assets/flywheel/flywheel/internal/indirect/cull_api_impl.glsl diff --git a/src/main/resources/assets/flywheel/flywheel/internal/indirect/draw_command.glsl b/common/src/main/resources/assets/flywheel/flywheel/internal/indirect/draw_command.glsl similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/internal/indirect/draw_command.glsl rename to common/src/main/resources/assets/flywheel/flywheel/internal/indirect/draw_command.glsl diff --git a/src/main/resources/assets/flywheel/flywheel/internal/indirect/main.frag b/common/src/main/resources/assets/flywheel/flywheel/internal/indirect/main.frag similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/internal/indirect/main.frag rename to common/src/main/resources/assets/flywheel/flywheel/internal/indirect/main.frag diff --git a/src/main/resources/assets/flywheel/flywheel/internal/indirect/main.vert b/common/src/main/resources/assets/flywheel/flywheel/internal/indirect/main.vert similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/internal/indirect/main.vert rename to common/src/main/resources/assets/flywheel/flywheel/internal/indirect/main.vert diff --git a/src/main/resources/assets/flywheel/flywheel/internal/indirect/model_descriptor.glsl b/common/src/main/resources/assets/flywheel/flywheel/internal/indirect/model_descriptor.glsl similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/internal/indirect/model_descriptor.glsl rename to common/src/main/resources/assets/flywheel/flywheel/internal/indirect/model_descriptor.glsl diff --git a/src/main/resources/assets/flywheel/flywheel/internal/indirect/scatter.glsl b/common/src/main/resources/assets/flywheel/flywheel/internal/indirect/scatter.glsl similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/internal/indirect/scatter.glsl rename to common/src/main/resources/assets/flywheel/flywheel/internal/indirect/scatter.glsl diff --git a/src/main/resources/assets/flywheel/flywheel/internal/instancing/main.frag b/common/src/main/resources/assets/flywheel/flywheel/internal/instancing/main.frag similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/internal/instancing/main.frag rename to common/src/main/resources/assets/flywheel/flywheel/internal/instancing/main.frag diff --git a/src/main/resources/assets/flywheel/flywheel/internal/instancing/main.vert b/common/src/main/resources/assets/flywheel/flywheel/internal/instancing/main.vert similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/internal/instancing/main.vert rename to common/src/main/resources/assets/flywheel/flywheel/internal/instancing/main.vert diff --git a/src/main/resources/assets/flywheel/flywheel/internal/material.glsl b/common/src/main/resources/assets/flywheel/flywheel/internal/material.glsl similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/internal/material.glsl rename to common/src/main/resources/assets/flywheel/flywheel/internal/material.glsl diff --git a/src/main/resources/assets/flywheel/flywheel/internal/packed_material.glsl b/common/src/main/resources/assets/flywheel/flywheel/internal/packed_material.glsl similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/internal/packed_material.glsl rename to common/src/main/resources/assets/flywheel/flywheel/internal/packed_material.glsl diff --git a/src/main/resources/assets/flywheel/flywheel/internal/uniforms/fog.glsl b/common/src/main/resources/assets/flywheel/flywheel/internal/uniforms/fog.glsl similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/internal/uniforms/fog.glsl rename to common/src/main/resources/assets/flywheel/flywheel/internal/uniforms/fog.glsl diff --git a/src/main/resources/assets/flywheel/flywheel/internal/uniforms/frame.glsl b/common/src/main/resources/assets/flywheel/flywheel/internal/uniforms/frame.glsl similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/internal/uniforms/frame.glsl rename to common/src/main/resources/assets/flywheel/flywheel/internal/uniforms/frame.glsl diff --git a/src/main/resources/assets/flywheel/flywheel/internal/uniforms/level.glsl b/common/src/main/resources/assets/flywheel/flywheel/internal/uniforms/level.glsl similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/internal/uniforms/level.glsl rename to common/src/main/resources/assets/flywheel/flywheel/internal/uniforms/level.glsl diff --git a/src/main/resources/assets/flywheel/flywheel/internal/uniforms/options.glsl b/common/src/main/resources/assets/flywheel/flywheel/internal/uniforms/options.glsl similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/internal/uniforms/options.glsl rename to common/src/main/resources/assets/flywheel/flywheel/internal/uniforms/options.glsl diff --git a/src/main/resources/assets/flywheel/flywheel/internal/uniforms/player.glsl b/common/src/main/resources/assets/flywheel/flywheel/internal/uniforms/player.glsl similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/internal/uniforms/player.glsl rename to common/src/main/resources/assets/flywheel/flywheel/internal/uniforms/player.glsl diff --git a/src/main/resources/assets/flywheel/flywheel/internal/uniforms/uniforms.glsl b/common/src/main/resources/assets/flywheel/flywheel/internal/uniforms/uniforms.glsl similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/internal/uniforms/uniforms.glsl rename to common/src/main/resources/assets/flywheel/flywheel/internal/uniforms/uniforms.glsl diff --git a/src/main/resources/assets/flywheel/flywheel/internal/vertex_input.vert b/common/src/main/resources/assets/flywheel/flywheel/internal/vertex_input.vert similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/internal/vertex_input.vert rename to common/src/main/resources/assets/flywheel/flywheel/internal/vertex_input.vert diff --git a/src/main/resources/assets/flywheel/flywheel/material/default.frag b/common/src/main/resources/assets/flywheel/flywheel/material/default.frag similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/material/default.frag rename to common/src/main/resources/assets/flywheel/flywheel/material/default.frag diff --git a/src/main/resources/assets/flywheel/flywheel/material/default.vert b/common/src/main/resources/assets/flywheel/flywheel/material/default.vert similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/material/default.vert rename to common/src/main/resources/assets/flywheel/flywheel/material/default.vert diff --git a/src/main/resources/assets/flywheel/flywheel/material/lines.frag b/common/src/main/resources/assets/flywheel/flywheel/material/lines.frag similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/material/lines.frag rename to common/src/main/resources/assets/flywheel/flywheel/material/lines.frag diff --git a/src/main/resources/assets/flywheel/flywheel/material/lines.vert b/common/src/main/resources/assets/flywheel/flywheel/material/lines.vert similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/material/lines.vert rename to common/src/main/resources/assets/flywheel/flywheel/material/lines.vert diff --git a/src/main/resources/assets/flywheel/flywheel/material/wireframe.frag b/common/src/main/resources/assets/flywheel/flywheel/material/wireframe.frag similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/material/wireframe.frag rename to common/src/main/resources/assets/flywheel/flywheel/material/wireframe.frag diff --git a/src/main/resources/assets/flywheel/flywheel/material/wireframe.vert b/common/src/main/resources/assets/flywheel/flywheel/material/wireframe.vert similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/material/wireframe.vert rename to common/src/main/resources/assets/flywheel/flywheel/material/wireframe.vert diff --git a/src/main/resources/assets/flywheel/flywheel/util/color.glsl b/common/src/main/resources/assets/flywheel/flywheel/util/color.glsl similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/util/color.glsl rename to common/src/main/resources/assets/flywheel/flywheel/util/color.glsl diff --git a/src/main/resources/assets/flywheel/flywheel/util/matrix.glsl b/common/src/main/resources/assets/flywheel/flywheel/util/matrix.glsl similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/util/matrix.glsl rename to common/src/main/resources/assets/flywheel/flywheel/util/matrix.glsl diff --git a/src/main/resources/assets/flywheel/flywheel/util/quaternion.glsl b/common/src/main/resources/assets/flywheel/flywheel/util/quaternion.glsl similarity index 100% rename from src/main/resources/assets/flywheel/flywheel/util/quaternion.glsl rename to common/src/main/resources/assets/flywheel/flywheel/util/quaternion.glsl diff --git a/src/main/resources/assets/flywheel/lang/en_us.json b/common/src/main/resources/assets/flywheel/lang/en_us.json similarity index 100% rename from src/main/resources/assets/flywheel/lang/en_us.json rename to common/src/main/resources/assets/flywheel/lang/en_us.json diff --git a/src/main/resources/flywheel.backend.mixins.json b/common/src/main/resources/flywheel.backend.mixins.json similarity index 100% rename from src/main/resources/flywheel.backend.mixins.json rename to common/src/main/resources/flywheel.backend.mixins.json diff --git a/src/main/resources/flywheel.impl.mixins.json b/common/src/main/resources/flywheel.impl.mixins.json similarity index 100% rename from src/main/resources/flywheel.impl.mixins.json rename to common/src/main/resources/flywheel.impl.mixins.json diff --git a/src/main/resources/flywheel.impl.sodium.mixins.json b/common/src/main/resources/flywheel.impl.sodium.mixins.json similarity index 100% rename from src/main/resources/flywheel.impl.sodium.mixins.json rename to common/src/main/resources/flywheel.impl.sodium.mixins.json diff --git a/src/main/resources/logo.png b/common/src/main/resources/logo.png similarity index 100% rename from src/main/resources/logo.png rename to common/src/main/resources/logo.png diff --git a/src/main/resources/pack.mcmeta b/common/src/main/resources/pack.mcmeta similarity index 100% rename from src/main/resources/pack.mcmeta rename to common/src/main/resources/pack.mcmeta diff --git a/src/test/java/com/jozufozu/flywheel/backend/glsl/MockShaderSources.java b/common/src/test/java/com/jozufozu/flywheel/backend/glsl/MockShaderSources.java similarity index 100% rename from src/test/java/com/jozufozu/flywheel/backend/glsl/MockShaderSources.java rename to common/src/test/java/com/jozufozu/flywheel/backend/glsl/MockShaderSources.java diff --git a/src/test/java/com/jozufozu/flywheel/backend/glsl/TestBase.java b/common/src/test/java/com/jozufozu/flywheel/backend/glsl/TestBase.java similarity index 100% rename from src/test/java/com/jozufozu/flywheel/backend/glsl/TestBase.java rename to common/src/test/java/com/jozufozu/flywheel/backend/glsl/TestBase.java diff --git a/src/test/java/com/jozufozu/flywheel/backend/glsl/TestErrorMessages.java b/common/src/test/java/com/jozufozu/flywheel/backend/glsl/TestErrorMessages.java similarity index 100% rename from src/test/java/com/jozufozu/flywheel/backend/glsl/TestErrorMessages.java rename to common/src/test/java/com/jozufozu/flywheel/backend/glsl/TestErrorMessages.java diff --git a/src/test/java/com/jozufozu/flywheel/backend/glsl/TestShaderSourceLoading.java b/common/src/test/java/com/jozufozu/flywheel/backend/glsl/TestShaderSourceLoading.java similarity index 100% rename from src/test/java/com/jozufozu/flywheel/backend/glsl/TestShaderSourceLoading.java rename to common/src/test/java/com/jozufozu/flywheel/backend/glsl/TestShaderSourceLoading.java diff --git a/src/test/java/com/jozufozu/flywheel/impl/task/WaitGroupTest.java b/common/src/test/java/com/jozufozu/flywheel/impl/task/WaitGroupTest.java similarity index 100% rename from src/test/java/com/jozufozu/flywheel/impl/task/WaitGroupTest.java rename to common/src/test/java/com/jozufozu/flywheel/impl/task/WaitGroupTest.java diff --git a/src/test/java/com/jozufozu/flywheel/lib/task/PlanCompositionTest.java b/common/src/test/java/com/jozufozu/flywheel/lib/task/PlanCompositionTest.java similarity index 100% rename from src/test/java/com/jozufozu/flywheel/lib/task/PlanCompositionTest.java rename to common/src/test/java/com/jozufozu/flywheel/lib/task/PlanCompositionTest.java diff --git a/src/test/java/com/jozufozu/flywheel/lib/task/PlanExecutionTest.java b/common/src/test/java/com/jozufozu/flywheel/lib/task/PlanExecutionTest.java similarity index 100% rename from src/test/java/com/jozufozu/flywheel/lib/task/PlanExecutionTest.java rename to common/src/test/java/com/jozufozu/flywheel/lib/task/PlanExecutionTest.java diff --git a/src/test/java/com/jozufozu/flywheel/lib/util/TestAtomicBitset.java b/common/src/test/java/com/jozufozu/flywheel/lib/util/TestAtomicBitset.java similarity index 100% rename from src/test/java/com/jozufozu/flywheel/lib/util/TestAtomicBitset.java rename to common/src/test/java/com/jozufozu/flywheel/lib/util/TestAtomicBitset.java diff --git a/fabric/build.gradle b/fabric/build.gradle new file mode 100644 index 000000000..97418b24c --- /dev/null +++ b/fabric/build.gradle @@ -0,0 +1,151 @@ +plugins { + id 'maven-publish' + id 'dev.architectury.loom' +} + +evaluationDependsOn(':common') + +base { + archivesName = "flywheel-${project.name}-${artifact_minecraft_version}" +} + +loom { + runs { + configureEach { + property 'forge.logging.markers', '' + property 'forge.logging.console.level', 'debug' + } + + client { + ideConfigGenerated true + property 'flw.dumpShaderSource', 'true' + property 'flw.debugMemorySafety', 'true' + programArgs '--width', '1280', '--height', '720' + } + + server { + ideConfigGenerated true + programArgs '--nogui' + } + } +} + +repositories { + maven { + name = 'ParchmentMC' + url = 'https://maven.parchmentmc.org' + } + mavenCentral() +} + +dependencies { + minecraft "com.mojang:minecraft:$minecraft_version" + mappings(loom.layered() { + officialMojangMappings() + parchment("org.parchmentmc.data:parchment-${minecraft_version}:${parchment_version}@zip") + }) + + modCompileOnly "net.fabricmc:fabric-loader:$fabric_loader_version" + modLocalRuntime "net.fabricmc:fabric-loader:$fabric_loader_version" + + modCompileOnly "net.fabricmc.fabric-api:fabric-api:$fabric_api_version" + modLocalRuntime "net.fabricmc.fabric-api:fabric-api:$fabric_api_version" + + compileOnly project(path: ':common', configuration: 'namedElements') +} + +java { + JavaVersion javaVersion = JavaVersion.toVersion(java_version) + sourceCompatibility = javaVersion + targetCompatibility = javaVersion + + toolchain.languageVersion = JavaLanguageVersion.of(java_version) + + withSourcesJar() + withJavadocJar() +} + +processResources.configure { + from(project(':common').sourceSets.main.resources) + + var replaceProperties = [ + minecraft_version : minecraft_version, + minecraft_version_range: minecraft_version_range, + forge_version : forge_version, + forge_version_range : forge_version_range, + loader_version_range : loader_version_range, + mod_version : mod_version + ] + inputs.properties replaceProperties + + filesMatching(['META-INF/mods.toml', 'META-INF/neoforge.mods.toml', 'pack.mcmeta', 'fabric.mod.json']) { + expand replaceProperties + [project: project] + } +} + +tasks.withType(JavaCompile).configureEach { + source(project(':common').sourceSets.main.allSource) + options.encoding = 'UTF-8' + options.release = Integer.parseInt(java_version) + options.compilerArgs = ['-Xdiags:verbose'] +} + +jar.configure { + archiveClassifier = '' + addManifest(it) + addLicense(it) +} + +sourcesJar.configure { + from(project(':common').sourceSets.main.allSource) + addManifest(it) + addLicense(it) +} + +javadoc.configure { + source(project(':common').sourceSets.main.allJava) + // prevent java 8's strict doclint for javadocs from failing builds + options.addStringOption('Xdoclint:none', '-quiet') +} + +test.configure { + useJUnitPlatform() +} + +void addLicense(jarTask) { + jarTask.from('LICENSE.md') { + rename '(.*)\\.(.*)', '$1_' + archivesBaseName + '.$2' + } +} + +void addManifest(jarTask) { + jarTask.manifest { + attributes([ + 'Specification-Title' : 'flywheel', + // 'Specification-Vendor': 'flywheel authors', + 'Specification-Version' : '1', // We are version 1 of ourselves + 'Implementation-Title' : project.jar.archiveBaseName, + 'Implementation-Version' : project.jar.archiveVersion, + // 'Implementation-Vendor': 'flywheel authors', + 'Implementation-Timestamp': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"), + ]) + } +} + +publishing { + publications { + register('mavenJava', MavenPublication) { + from(components["java"]) + artifactId = "flywheel-${project.name}-intermediary-${artifact_minecraft_version}" + } + } + repositories { + maven { + url "file://${project.projectDir}/mcmodsrepo" + } + + if (project.hasProperty('mavendir')) { + maven { url rootProject.file(property('mavendir')) } + } + } +} diff --git a/forge/build.gradle b/forge/build.gradle new file mode 100644 index 000000000..5d5ba26dd --- /dev/null +++ b/forge/build.gradle @@ -0,0 +1,147 @@ +plugins { + id 'maven-publish' + id 'dev.architectury.loom' +} + +evaluationDependsOn(':common') + +base { + archivesName = "flywheel-${project.name}-${artifact_minecraft_version}" +} + +loom { + runs { + configureEach { + property 'forge.logging.markers', '' + property 'forge.logging.console.level', 'debug' + } + + client { + ideConfigGenerated true + property 'flw.dumpShaderSource', 'true' + property 'flw.debugMemorySafety', 'true' + programArgs '--width', '1280', '--height', '720' + } + + server { + ideConfigGenerated true + programArgs '--nogui' + } + } +} + +repositories { + maven { + name = 'ParchmentMC' + url = 'https://maven.parchmentmc.org' + } + mavenCentral() +} + +dependencies { + minecraft "com.mojang:minecraft:$minecraft_version" + mappings(loom.layered() { + officialMojangMappings() + parchment("org.parchmentmc.data:parchment-${minecraft_version}:${parchment_version}@zip") + }) + + forge "net.minecraftforge:forge:${minecraft_version}-${forge_version}" + + compileOnly project(path: ':common', configuration: 'namedElements') +} + +java { + JavaVersion javaVersion = JavaVersion.toVersion(java_version) + sourceCompatibility = javaVersion + targetCompatibility = javaVersion + + toolchain.languageVersion = JavaLanguageVersion.of(java_version) + + withSourcesJar() + withJavadocJar() +} + +processResources.configure { + from(project(':common').sourceSets.main.resources) + + var replaceProperties = [ + minecraft_version : minecraft_version, + minecraft_version_range: minecraft_version_range, + forge_version : forge_version, + forge_version_range : forge_version_range, + loader_version_range : loader_version_range, + mod_version : mod_version + ] + inputs.properties replaceProperties + + filesMatching(['META-INF/mods.toml', 'META-INF/neoforge.mods.toml', 'pack.mcmeta', 'fabric.mod.json']) { + expand replaceProperties + [project: project] + } +} + +tasks.withType(JavaCompile).configureEach { + source(project(':common').sourceSets.main.allSource) + options.encoding = 'UTF-8' + options.release = Integer.parseInt(java_version) + options.compilerArgs = ['-Xdiags:verbose'] +} + +jar.configure { + archiveClassifier = '' + addManifest(it) + addLicense(it) +} + +sourcesJar.configure { + from(project(':common').sourceSets.main.allSource) + addManifest(it) + addLicense(it) +} + +javadoc.configure { + source(project(':common').sourceSets.main.allJava) + // prevent java 8's strict doclint for javadocs from failing builds + options.addStringOption('Xdoclint:none', '-quiet') +} + +test.configure { + useJUnitPlatform() +} + +void addLicense(jarTask) { + jarTask.from('LICENSE.md') { + rename '(.*)\\.(.*)', '$1_' + archivesBaseName + '.$2' + } +} + +void addManifest(jarTask) { + jarTask.manifest { + attributes([ + 'Specification-Title' : 'flywheel', + // 'Specification-Vendor': 'flywheel authors', + 'Specification-Version' : '1', // We are version 1 of ourselves + 'Implementation-Title' : project.jar.archiveBaseName, + 'Implementation-Version' : project.jar.archiveVersion, + // 'Implementation-Vendor': 'flywheel authors', + 'Implementation-Timestamp': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"), + ]) + } +} + +publishing { + publications { + register('mavenJava', MavenPublication) { + from(components["java"]) + artifactId = "flywheel-${project.name}-intermediary-${artifact_minecraft_version}" + } + } + repositories { + maven { + url "file://${project.projectDir}/mcmodsrepo" + } + + if (project.hasProperty('mavendir')) { + maven { url rootProject.file(property('mavendir')) } + } + } +} diff --git a/forge/gradle.properties b/forge/gradle.properties new file mode 100644 index 000000000..a58ba1416 --- /dev/null +++ b/forge/gradle.properties @@ -0,0 +1 @@ +loom.platform = forge diff --git a/gradle.properties b/gradle.properties index 878a41fce..1f59a4afe 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,12 +6,16 @@ mod_version = 1.0.0-alpha artifact_minecraft_version = 1.20.1 minecraft_version = 1.20.1 forge_version = 47.2.19 +fabric_loader_version = 0.15.9 +fabric_api_version = 0.92.1+1.20.1 # Version ranges for the mods.toml minecraft_version_range = [1.20.1,1.20.2) forge_version_range = [47,) loader_version_range = [47,) # build dependency versions +java_version = 17 +arch_loom_version = 1.6-SNAPSHOT forgegradle_version = [6.0.16,6.2) mixingradle_version = 0.7.+ mixin_version = 0.8.5 diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index c1962a79e..e6441136f 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 309b4e18d..e7646dead 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-all.zip networkTimeout=10000 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index aeb74cbb4..1aa94a426 100755 --- a/gradlew +++ b/gradlew @@ -83,7 +83,8 @@ done # This is normally unused # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -130,10 +131,13 @@ location of your Java installation." fi else JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." + fi fi # Increase the maximum file descriptors if we can. @@ -141,7 +145,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC2039,SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac @@ -149,7 +153,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then '' | soft) :;; #( *) # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC2039,SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -198,11 +202,11 @@ fi # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ diff --git a/gradlew.bat b/gradlew.bat index 93e3f59f1..25da30dbd 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -43,11 +43,11 @@ set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 if %ERRORLEVEL% equ 0 goto execute -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail @@ -57,11 +57,11 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe if exist "%JAVA_EXE%" goto execute -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail diff --git a/old.build.gradle b/old.build.gradle new file mode 100644 index 000000000..6caf08ab3 --- /dev/null +++ b/old.build.gradle @@ -0,0 +1,205 @@ +plugins { + id 'eclipse' + id 'idea' + id 'maven-publish' + id 'net.minecraftforge.gradle' version "${forgegradle_version}" + id 'org.parchmentmc.librarian.forgegradle' version "${librarian_version}" + id 'org.spongepowered.mixin' version "${mixingradle_version}" +} + +boolean dev = System.getenv('RELEASE') == null || System.getenv('RELEASE').equalsIgnoreCase('false'); + +ext.buildNumber = System.getenv('BUILD_NUMBER') + +group = 'com.jozufozu.flywheel' +archivesBaseName = "flywheel-forge-${artifact_minecraft_version}" +version = mod_version + (dev && buildNumber != null ? "-${buildNumber}" : '') + +java.toolchain.languageVersion = JavaLanguageVersion.of(17) + +println "Java: ${System.getProperty 'java.version'}, JVM: ${System.getProperty 'java.vm.version'} (${System.getProperty 'java.vendor'}), Arch: ${System.getProperty 'os.arch'}" +minecraft { + mappings channel: 'parchment', version: "${parchment_version}-${minecraft_version}" + + copyIdeResources = true + + runs { + configureEach { + workingDirectory project.file('run') + + property 'forge.logging.markers', '' + property 'forge.logging.console.level', 'debug' + + property 'mixin.env.remapRefMap', 'true' + property 'mixin.env.refMapRemappingFile', "${projectDir}/build/createSrgToMcp/output.srg" + + mods { + flywheel { + source sourceSets.main + } + } + } + + client { + property 'flw.dumpShaderSource', 'true' + property 'flw.debugMemorySafety', 'true' + } + + server { + args '--nogui' + } + } +} + +repositories { + maven { + url 'https://www.cursemaven.com' + content { + includeGroup "curse.maven" + } + } + maven { + name 'tterrag maven' + url 'https://maven.tterrag.com/' + } + maven { + name = "Modrinth" + url = "https://api.modrinth.com/maven" + content { + includeGroup "maven.modrinth" + } + } + mavenCentral() +} + +dependencies { + testImplementation 'org.junit.jupiter:junit-jupiter:5.8.1' + minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}" + + compileOnly fg.deobf("maven.modrinth:embeddium:0.3.9+mc1.20.1") + compileOnly fg.deobf("maven.modrinth:oculus:1.20.1-1.6.15a") + // implementation fg.deobf("maven.modrinth:starlight-forge:1.1.2+1.20") + + // https://discord.com/channels/313125603924639766/725850371834118214/910619168821354497 + // Prevent Mixin annotation processor from getting into IntelliJ's annotation processor settings + // This allows 'Settings > Build, Execution, and Deployment > Build Tools > Gradle > Build and run using' set to IntelliJ to work correctly + // if (System.getProperty('idea.sync.active') != 'true') { + annotationProcessor "org.spongepowered:mixin:${mixin_version}:processor" + // } +} + +test { + useJUnitPlatform() +} + +mixin { + add sourceSets.main, 'flywheel.refmap.json' + + config 'flywheel.backend.mixins.json' + config 'flywheel.impl.mixins.json' + config 'flywheel.impl.sodium.mixins.json' + + debug.verbose = true + debug.export = true +} + +idea { + // Tell IDEA to always download sources/javadoc artifacts from maven. + module { + downloadJavadoc = true + downloadSources = true + } +} + +// Workaround for SpongePowered/MixinGradle#38 +afterEvaluate { + tasks.configureReobfTaskForReobfJar.mustRunAfter(tasks.compileJava) +} + +tasks.withType(JavaCompile).configureEach { + options.encoding = 'UTF-8' // Use the UTF-8 charset for Java compilation +} + +javadoc { + source = [sourceSets.main.allJava] + // prevent java 8's strict doclint for javadocs from failing builds + options.addStringOption('Xdoclint:none', '-quiet') +} + +compileJava { + options.compilerArgs = ['-Xdiags:verbose'] +} + +tasks.named('processResources', ProcessResources).configure { + var replaceProperties = [ + minecraft_version : minecraft_version, + minecraft_version_range: minecraft_version_range, + forge_version : forge_version, + forge_version_range : forge_version_range, + loader_version_range : loader_version_range, + mod_version : mod_version + ] + inputs.properties replaceProperties + + filesMatching(['META-INF/mods.toml', 'pack.mcmeta']) { + expand replaceProperties + [project: project] + } +} + +apply from: rootProject.file('gradle/package-infos.gradle') + +void addLicense(jarTask) { + jarTask.from('LICENSE.md') { + rename '(.*)\\.(.*)', '$1_' + archivesBaseName + '.$2' + } +} + +void addManifest(jarTask) { + jarTask.manifest { + attributes([ + 'Specification-Title' : 'flywheel', + // 'Specification-Vendor': 'flywheel authors', + 'Specification-Version' : '1', // We are version 1 of ourselves + 'Implementation-Title' : project.jar.archiveBaseName, + 'Implementation-Version' : project.jar.archiveVersion, + // 'Implementation-Vendor': 'flywheel authors', + 'Implementation-Timestamp': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"), + ]) + } +} + +tasks.named('jar', Jar).configure { + archiveClassifier = '' + + finalizedBy 'reobfJar' + addManifest(it) + addLicense(it) +} + +java { + withSourcesJar() + withJavadocJar() +} + +publishing { + publications { + register('mavenJava', MavenPublication) { + artifact jar + artifact sourcesJar + artifact javadocJar + + artifactId = archivesBaseName + + fg.component(it) + } + } + repositories { + maven { + url "file://${project.projectDir}/mcmodsrepo" + } + + if (project.hasProperty('mavendir')) { + maven { url mavendir } + } + } +} diff --git a/settings.gradle b/settings.gradle index 26eaa3d68..db8285a90 100644 --- a/settings.gradle +++ b/settings.gradle @@ -6,13 +6,20 @@ pluginManagement { name = 'MinecraftForge' url = 'https://maven.minecraftforge.net/' } + maven { + name = 'Architectury' + url = 'https://maven.architectury.dev/' + } maven { url = 'https://repo.spongepowered.org/repository/maven-public' } maven { url = 'https://maven.parchmentmc.org' } } + plugins { + id 'dev.architectury.loom' version arch_loom_version + } } -plugins { - id 'org.gradle.toolchains.foojay-resolver-convention' version '0.7.0' -} +rootProject.name = 'Flywheel' -rootProject.name = 'Flywheel-Forge' +include('common') +include('fabric') +include('forge')