diff --git a/Jenkinsfile b/Jenkinsfile index 46c20b5..1123b47 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -10,8 +10,8 @@ pipeline { } post { success { - archiveArtifacts artifacts: 'archives/*.jar, files.txt, build/version.properties', followSymlinks: false - javadoc javadocDir: 'build/docs/javadoc', keepAll: true + archiveArtifacts artifacts: 'archives/*.jar, files.txt, core/build/version.properties', followSymlinks: false + javadoc javadocDir: 'core/build/docs/javadoc', keepAll: true } } } diff --git a/build.gradle.kts b/build.gradle.kts index a204a59..fa10eb7 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,36 +1,7 @@ -import org.gradle.internal.os.OperatingSystem - plugins { java - `java-library` - id("com.github.johnrengelman.shadow") version "7.1.2" - id("org.kakara.versionfile") version "1.0.0" - `maven-publish` - signing -} - -val lwjglVersion = "3.2.3" -val jomlVersion = "1.9.25" - -// LWJGL Native Versions -var lwjglNatives = when (OperatingSystem.current()) { - OperatingSystem.LINUX -> System.getProperty("os.arch").let { - if (it.startsWith("arm") || it.startsWith("aarch64")) - "natives-linux-${if (it.contains("64") || it.startsWith("armv8")) "arm64" else "arm32"}" - else - "natives-linux" - } - OperatingSystem.WINDOWS -> if (System.getProperty("os.arch") - .contains("64") - ) "natives-windows" else "natives-windows-x86" - OperatingSystem.MAC_OS -> "natives-macos" - else -> throw Error("Unrecognized or unsupported Operating system. Please set \"lwjglNatives\" manually") -} - -if (hasProperty("native")) { - lwjglNatives = properties.get("native").toString() + id("maven-publish") } - group = "org.kakara" val artifactName = "engine" var build = "0" @@ -46,110 +17,29 @@ if (hasProperty("buildNumber")) { version = org.kakara.engine.Version.getEngineVersion("", branch); } -java { - targetCompatibility = JavaVersion.VERSION_17 - sourceCompatibility = JavaVersion.VERSION_17 - withJavadocJar() - withSourcesJar() -} - -repositories { - mavenCentral() - maven("https://repo.ryandw11.com/repository/maven-releases") - jcenter() -} +subprojects { -publishing { - publications { - create("mavenJava") { - artifact(tasks["shadowJar"]) - - artifactId = artifactName - versionMapping { - usage("java-api") { - fromResolutionOf("runtimeClasspath") - } - usage("java-runtime") { - fromResolutionResult() - } - } - pom { - name.set(artifactName) - } - } - } repositories { - maven { - - val releasesRepoUrl = uri("https://repo.kingtux.me/storages/maven/kakara") - val snapshotsRepoUrl = uri("https://repo.kingtux.me/storages/maven/kakara") - url = if (version.toString().endsWith("SNAPSHOT")) snapshotsRepoUrl else releasesRepoUrl - credentials(PasswordCredentials::class) - - } mavenLocal() + maven("https://repo.maven.apache.org/maven2") + maven("https://repo.kingtux.me/storages/maven/kakara") } } - -tasks.javadoc { - if (JavaVersion.current().isJava9Compatible) { - (options as StandardJavadocDocletOptions).addBooleanOption("html5", true) +tasks.register("aggregatedJavadocs") { + setDestinationDir(file("$buildDir/docs/javadoc")) + title = "$project.name $version API" + options.withGroovyBuilder { + "author"(true) + "addStringOption"("Xdoclint:none", "-quiet") + "addStringOption"("sourcepath", "") } -} - -tasks { - named("shadowJar") { - if (project.hasProperty("is-build")) { - //Used by Jenkins - archiveFileName.set("${project.name}-${project.version}-${project.property("native")}.jar") + subprojects.forEach { proj -> + proj.tasks.filterIsInstance().forEach { + source += it.source + classpath += it.classpath + excludes += it.excludes + includes += it.includes } - archiveClassifier.set(""); - dependsOn(project.tasks.getByName("vftask")); - } - "jar"{ - dependsOn(project.tasks.getByName("vftask")); } -} - -versionFileConfig { - isCompileIntoJar = true; - jarDirectory = "engine" -} -dependencies { - // Regular Depends - implementation(group = "me.ryandw11", name = "Octree", version = "1.0") - implementation("org.apache.commons:commons-lang3:3.12.0") - implementation("commons-io:commons-io:2.11.0") - implementation("org.jetbrains:annotations:23.0.0") - implementation("com.github.nifty-gui:nifty:1.4.3") - implementation("org.l33tlabs.twl:pngdecoder:1.0") - implementation("io.imgui.java:binding:1.77-0.17.2") - implementation("io.imgui.java:lwjgl3:1.77-0.17.2") - implementation("org.slf4j:slf4j-api:1.8.0-beta4") - testRuntimeOnly("org.slf4j:slf4j-simple:1.8.0-beta4") - implementation("org.joml", "joml", jomlVersion) - - //LWJGL - implementation(platform("org.lwjgl:lwjgl-bom:$lwjglVersion")) - - implementation("org.lwjgl", "lwjgl") - implementation("org.lwjgl", "lwjgl-assimp") - implementation("org.lwjgl", "lwjgl-glfw") - implementation("org.lwjgl", "lwjgl-nanovg") - implementation("org.lwjgl", "lwjgl-openal") - implementation("org.lwjgl", "lwjgl-opengl") - implementation("org.lwjgl", "lwjgl-par") - implementation("org.lwjgl", "lwjgl-stb") - if (!lwjglNatives.equals("build", true)) { - runtimeOnly("org.lwjgl", "lwjgl", classifier = lwjglNatives) - runtimeOnly("org.lwjgl", "lwjgl-assimp", classifier = lwjglNatives) - runtimeOnly("org.lwjgl", "lwjgl-glfw", classifier = lwjglNatives) - runtimeOnly("org.lwjgl", "lwjgl-nanovg", classifier = lwjglNatives) - runtimeOnly("org.lwjgl", "lwjgl-openal", classifier = lwjglNatives) - runtimeOnly("org.lwjgl", "lwjgl-opengl", classifier = lwjglNatives) - runtimeOnly("org.lwjgl", "lwjgl-par", classifier = lwjglNatives) - runtimeOnly("org.lwjgl", "lwjgl-stb", classifier = lwjglNatives) - implementation("io.imgui.java:$lwjglNatives:1.77-0.17.2") - } -} +} \ No newline at end of file diff --git a/build.sh b/build.sh index 8d5d543..0cc12e8 100644 --- a/build.sh +++ b/build.sh @@ -2,9 +2,9 @@ rm -Rv archives mkdir archives ./gradlew clean shadowJar -PbuildNumber=${BUILD_NUMBER} -Pnative=natives-linux -Pis-build=true -Pbranch=${GIT_BRANCH} -cp build/libs/*.jar archives/ +cp core/build/libs/*.jar archives/ ./gradlew clean shadowJar javadoc -PbuildNumber=${BUILD_NUMBER} -Pnative=natives-windows -Pis-build=true -Pbranch=${GIT_BRANCH} -cp build/libs/*.jar archives/ +cp core/build/libs/*.jar archives/ ls archives/ > files.txt diff --git a/core/build.gradle.kts b/core/build.gradle.kts new file mode 100644 index 0000000..d4ea74b --- /dev/null +++ b/core/build.gradle.kts @@ -0,0 +1,160 @@ +import org.gradle.internal.os.OperatingSystem + +plugins { + java + `java-library` + id("com.github.johnrengelman.shadow") version "7.1.2" + id("org.kakara.versionfile") version "1.0.0" + `maven-publish` + signing +} + +val lwjglVersion = "3.2.3" +val jomlVersion = "1.9.25" + +// LWJGL Native Versions +var lwjglNatives = when (OperatingSystem.current()) { + OperatingSystem.LINUX -> System.getProperty("os.arch").let { + if (it.startsWith("arm") || it.startsWith("aarch64")) + "natives-linux-${if (it.contains("64") || it.startsWith("armv8")) "arm64" else "arm32"}" + else + "natives-linux" + } + OperatingSystem.WINDOWS -> if (System.getProperty("os.arch") + .contains("64") + ) "natives-windows" else "natives-windows-x86" + OperatingSystem.MAC_OS -> "natives-macos" + else -> throw Error("Unrecognized or unsupported Operating system. Please set \"lwjglNatives\" manually") +} + +if (hasProperty("native")) { + lwjglNatives = properties.get("native").toString() +} + +group = "org.kakara" +val artifactName = "engine" +var build = "0" +var branch = "" + +if (hasProperty("branch")) { + branch = properties.get("branch").toString() +} + +if (hasProperty("buildNumber")) { + version = org.kakara.engine.Version.getEngineVersion(properties.get("buildNumber").toString(), branch); +} else { + version = org.kakara.engine.Version.getEngineVersion("", branch); +} + +java { + targetCompatibility = JavaVersion.VERSION_17 + sourceCompatibility = JavaVersion.VERSION_17 + withJavadocJar() + withSourcesJar() +} + +repositories { + mavenCentral() + maven("https://repo.ryandw11.com/repository/maven-releases") + jcenter() +} + +publishing { + publications { + + create("mavenJava") { + artifact(tasks["shadowJar"]) + + artifactId = artifactName + versionMapping { + usage("java-api") { + fromResolutionOf("runtimeClasspath") + } + usage("java-runtime") { + fromResolutionResult() + } + } + pom { + name.set(artifactName) + } + } + } + repositories { + maven { + + val releasesRepoUrl = uri("https://repo.kingtux.me/storages/maven/kakara") + val snapshotsRepoUrl = uri("https://repo.kingtux.me/storages/maven/kakara") + url = if (version.toString().endsWith("SNAPSHOT")) snapshotsRepoUrl else releasesRepoUrl + credentials(PasswordCredentials::class) + + } + mavenLocal() + } +} + +tasks.javadoc { + if (JavaVersion.current().isJava9Compatible) { + (options as StandardJavadocDocletOptions).addBooleanOption("html5", true) + } +} + +tasks { + named("shadowJar") { + if (project.hasProperty("is-build")) { + //Used by Jenkins + archiveFileName.set("${project.name}-${project.version}-${project.property("native")}.jar") + } + archiveClassifier.set(""); + dependsOn(project.tasks.getByName("vftask")); + } + "jar"{ + dependsOn(project.tasks.getByName("vftask")); + } +} + +versionFileConfig { + isCompileIntoJar = true; + jarDirectory = "engine" +} +dependencies { + // Regular Depends + implementation(group = "me.ryandw11", name = "Octree", version = "1.0") + implementation("org.apache.commons:commons-lang3:3.12.0") + implementation("commons-io:commons-io:2.11.0") + implementation("org.jetbrains:annotations:23.0.0") + implementation("com.github.nifty-gui:nifty:1.4.3") + implementation("org.l33tlabs.twl:pngdecoder:1.0") + implementation("io.imgui.java:binding:1.77-0.17.2") + implementation("io.imgui.java:lwjgl3:1.77-0.17.2") + implementation("org.slf4j:slf4j-api:1.8.0-beta4") + testRuntimeOnly("org.slf4j:slf4j-simple:1.8.0-beta4") + implementation("org.joml", "joml", jomlVersion) + + //LWJGL + implementation(platform("org.lwjgl:lwjgl-bom:$lwjglVersion")) + + implementation("org.lwjgl", "lwjgl") + implementation("org.lwjgl", "lwjgl-assimp") + implementation("org.lwjgl", "lwjgl-glfw") + implementation("org.lwjgl", "lwjgl-nanovg") + implementation("org.lwjgl", "lwjgl-openal") + implementation("org.lwjgl", "lwjgl-opengl") + implementation("org.lwjgl", "lwjgl-par") + implementation("org.lwjgl", "lwjgl-stb") + if (lwjglNatives.equals("natives-windows", true)) { + implementation(project(":windows")) + } else if (lwjglNatives.equals("natives-linux", true)) { + implementation(project(":linux")) + } + if (!lwjglNatives.equals("build", true)) { + runtimeOnly("org.lwjgl", "lwjgl", classifier = lwjglNatives) + runtimeOnly("org.lwjgl", "lwjgl-assimp", classifier = lwjglNatives) + runtimeOnly("org.lwjgl", "lwjgl-glfw", classifier = lwjglNatives) + runtimeOnly("org.lwjgl", "lwjgl-nanovg", classifier = lwjglNatives) + runtimeOnly("org.lwjgl", "lwjgl-openal", classifier = lwjglNatives) + runtimeOnly("org.lwjgl", "lwjgl-opengl", classifier = lwjglNatives) + runtimeOnly("org.lwjgl", "lwjgl-par", classifier = lwjglNatives) + runtimeOnly("org.lwjgl", "lwjgl-stb", classifier = lwjglNatives) + implementation("io.imgui.java:$lwjglNatives:1.77-0.17.2") + } +} diff --git a/src/main/java/org/kakara/engine/Camera.java b/core/src/main/java/org/kakara/engine/Camera.java similarity index 100% rename from src/main/java/org/kakara/engine/Camera.java rename to core/src/main/java/org/kakara/engine/Camera.java diff --git a/src/main/java/org/kakara/engine/Game.java b/core/src/main/java/org/kakara/engine/Game.java similarity index 100% rename from src/main/java/org/kakara/engine/Game.java rename to core/src/main/java/org/kakara/engine/Game.java diff --git a/src/main/java/org/kakara/engine/GameEngine.java b/core/src/main/java/org/kakara/engine/GameEngine.java similarity index 100% rename from src/main/java/org/kakara/engine/GameEngine.java rename to core/src/main/java/org/kakara/engine/GameEngine.java diff --git a/src/main/java/org/kakara/engine/GameHandler.java b/core/src/main/java/org/kakara/engine/GameHandler.java similarity index 100% rename from src/main/java/org/kakara/engine/GameHandler.java rename to core/src/main/java/org/kakara/engine/GameHandler.java diff --git a/src/main/java/org/kakara/engine/components/Component.java b/core/src/main/java/org/kakara/engine/components/Component.java similarity index 100% rename from src/main/java/org/kakara/engine/components/Component.java rename to core/src/main/java/org/kakara/engine/components/Component.java diff --git a/src/main/java/org/kakara/engine/components/MeshRenderer.java b/core/src/main/java/org/kakara/engine/components/MeshRenderer.java similarity index 100% rename from src/main/java/org/kakara/engine/components/MeshRenderer.java rename to core/src/main/java/org/kakara/engine/components/MeshRenderer.java diff --git a/src/main/java/org/kakara/engine/components/Transform.java b/core/src/main/java/org/kakara/engine/components/Transform.java similarity index 100% rename from src/main/java/org/kakara/engine/components/Transform.java rename to core/src/main/java/org/kakara/engine/components/Transform.java diff --git a/src/main/java/org/kakara/engine/debug/DebugCanvas.java b/core/src/main/java/org/kakara/engine/debug/DebugCanvas.java similarity index 100% rename from src/main/java/org/kakara/engine/debug/DebugCanvas.java rename to core/src/main/java/org/kakara/engine/debug/DebugCanvas.java diff --git a/src/main/java/org/kakara/engine/engine/CubeData.java b/core/src/main/java/org/kakara/engine/engine/CubeData.java similarity index 100% rename from src/main/java/org/kakara/engine/engine/CubeData.java rename to core/src/main/java/org/kakara/engine/engine/CubeData.java diff --git a/src/main/java/org/kakara/engine/events/EventHandler.java b/core/src/main/java/org/kakara/engine/events/EventHandler.java similarity index 100% rename from src/main/java/org/kakara/engine/events/EventHandler.java rename to core/src/main/java/org/kakara/engine/events/EventHandler.java diff --git a/src/main/java/org/kakara/engine/events/EventManager.java b/core/src/main/java/org/kakara/engine/events/EventManager.java similarity index 100% rename from src/main/java/org/kakara/engine/events/EventManager.java rename to core/src/main/java/org/kakara/engine/events/EventManager.java diff --git a/src/main/java/org/kakara/engine/events/event/CharacterPressEvent.java b/core/src/main/java/org/kakara/engine/events/event/CharacterPressEvent.java similarity index 100% rename from src/main/java/org/kakara/engine/events/event/CharacterPressEvent.java rename to core/src/main/java/org/kakara/engine/events/event/CharacterPressEvent.java diff --git a/src/main/java/org/kakara/engine/events/event/KeyPressEvent.java b/core/src/main/java/org/kakara/engine/events/event/KeyPressEvent.java similarity index 100% rename from src/main/java/org/kakara/engine/events/event/KeyPressEvent.java rename to core/src/main/java/org/kakara/engine/events/event/KeyPressEvent.java diff --git a/src/main/java/org/kakara/engine/events/event/MouseClickEvent.java b/core/src/main/java/org/kakara/engine/events/event/MouseClickEvent.java similarity index 100% rename from src/main/java/org/kakara/engine/events/event/MouseClickEvent.java rename to core/src/main/java/org/kakara/engine/events/event/MouseClickEvent.java diff --git a/src/main/java/org/kakara/engine/events/event/MouseReleaseEvent.java b/core/src/main/java/org/kakara/engine/events/event/MouseReleaseEvent.java similarity index 100% rename from src/main/java/org/kakara/engine/events/event/MouseReleaseEvent.java rename to core/src/main/java/org/kakara/engine/events/event/MouseReleaseEvent.java diff --git a/src/main/java/org/kakara/engine/exceptions/GenericLoadException.java b/core/src/main/java/org/kakara/engine/exceptions/GenericLoadException.java similarity index 100% rename from src/main/java/org/kakara/engine/exceptions/GenericLoadException.java rename to core/src/main/java/org/kakara/engine/exceptions/GenericLoadException.java diff --git a/src/main/java/org/kakara/engine/exceptions/InitializationException.java b/core/src/main/java/org/kakara/engine/exceptions/InitializationException.java similarity index 100% rename from src/main/java/org/kakara/engine/exceptions/InitializationException.java rename to core/src/main/java/org/kakara/engine/exceptions/InitializationException.java diff --git a/src/main/java/org/kakara/engine/exceptions/InvalidThreadException.java b/core/src/main/java/org/kakara/engine/exceptions/InvalidThreadException.java similarity index 100% rename from src/main/java/org/kakara/engine/exceptions/InvalidThreadException.java rename to core/src/main/java/org/kakara/engine/exceptions/InvalidThreadException.java diff --git a/src/main/java/org/kakara/engine/exceptions/ModelLoadException.java b/core/src/main/java/org/kakara/engine/exceptions/ModelLoadException.java similarity index 100% rename from src/main/java/org/kakara/engine/exceptions/ModelLoadException.java rename to core/src/main/java/org/kakara/engine/exceptions/ModelLoadException.java diff --git a/src/main/java/org/kakara/engine/exceptions/TextureException.java b/core/src/main/java/org/kakara/engine/exceptions/TextureException.java similarity index 100% rename from src/main/java/org/kakara/engine/exceptions/TextureException.java rename to core/src/main/java/org/kakara/engine/exceptions/TextureException.java diff --git a/src/main/java/org/kakara/engine/exceptions/UsedComponentException.java b/core/src/main/java/org/kakara/engine/exceptions/UsedComponentException.java similarity index 100% rename from src/main/java/org/kakara/engine/exceptions/UsedComponentException.java rename to core/src/main/java/org/kakara/engine/exceptions/UsedComponentException.java diff --git a/src/main/java/org/kakara/engine/exceptions/render/GenericRenderException.java b/core/src/main/java/org/kakara/engine/exceptions/render/GenericRenderException.java similarity index 100% rename from src/main/java/org/kakara/engine/exceptions/render/GenericRenderException.java rename to core/src/main/java/org/kakara/engine/exceptions/render/GenericRenderException.java diff --git a/src/main/java/org/kakara/engine/exceptions/render/ShaderCreationException.java b/core/src/main/java/org/kakara/engine/exceptions/render/ShaderCreationException.java similarity index 100% rename from src/main/java/org/kakara/engine/exceptions/render/ShaderCreationException.java rename to core/src/main/java/org/kakara/engine/exceptions/render/ShaderCreationException.java diff --git a/src/main/java/org/kakara/engine/exceptions/render/ShaderLinkException.java b/core/src/main/java/org/kakara/engine/exceptions/render/ShaderLinkException.java similarity index 100% rename from src/main/java/org/kakara/engine/exceptions/render/ShaderLinkException.java rename to core/src/main/java/org/kakara/engine/exceptions/render/ShaderLinkException.java diff --git a/src/main/java/org/kakara/engine/exceptions/render/ShaderNotFoundException.java b/core/src/main/java/org/kakara/engine/exceptions/render/ShaderNotFoundException.java similarity index 100% rename from src/main/java/org/kakara/engine/exceptions/render/ShaderNotFoundException.java rename to core/src/main/java/org/kakara/engine/exceptions/render/ShaderNotFoundException.java diff --git a/src/main/java/org/kakara/engine/exceptions/render/ShaderUniformException.java b/core/src/main/java/org/kakara/engine/exceptions/render/ShaderUniformException.java similarity index 100% rename from src/main/java/org/kakara/engine/exceptions/render/ShaderUniformException.java rename to core/src/main/java/org/kakara/engine/exceptions/render/ShaderUniformException.java diff --git a/src/main/java/org/kakara/engine/exceptions/ui/HierarchyException.java b/core/src/main/java/org/kakara/engine/exceptions/ui/HierarchyException.java similarity index 100% rename from src/main/java/org/kakara/engine/exceptions/ui/HierarchyException.java rename to core/src/main/java/org/kakara/engine/exceptions/ui/HierarchyException.java diff --git a/src/main/java/org/kakara/engine/gameitems/GameItem.java b/core/src/main/java/org/kakara/engine/gameitems/GameItem.java similarity index 100% rename from src/main/java/org/kakara/engine/gameitems/GameItem.java rename to core/src/main/java/org/kakara/engine/gameitems/GameItem.java diff --git a/src/main/java/org/kakara/engine/gameitems/ItemHandler.java b/core/src/main/java/org/kakara/engine/gameitems/ItemHandler.java similarity index 100% rename from src/main/java/org/kakara/engine/gameitems/ItemHandler.java rename to core/src/main/java/org/kakara/engine/gameitems/ItemHandler.java diff --git a/src/main/java/org/kakara/engine/gameitems/Material.java b/core/src/main/java/org/kakara/engine/gameitems/Material.java similarity index 100% rename from src/main/java/org/kakara/engine/gameitems/Material.java rename to core/src/main/java/org/kakara/engine/gameitems/Material.java diff --git a/src/main/java/org/kakara/engine/gameitems/SkyBox.java b/core/src/main/java/org/kakara/engine/gameitems/SkyBox.java similarity index 100% rename from src/main/java/org/kakara/engine/gameitems/SkyBox.java rename to core/src/main/java/org/kakara/engine/gameitems/SkyBox.java diff --git a/src/main/java/org/kakara/engine/gameitems/Texture.java b/core/src/main/java/org/kakara/engine/gameitems/Texture.java similarity index 100% rename from src/main/java/org/kakara/engine/gameitems/Texture.java rename to core/src/main/java/org/kakara/engine/gameitems/Texture.java diff --git a/src/main/java/org/kakara/engine/gameitems/features/Feature.java b/core/src/main/java/org/kakara/engine/gameitems/features/Feature.java similarity index 100% rename from src/main/java/org/kakara/engine/gameitems/features/Feature.java rename to core/src/main/java/org/kakara/engine/gameitems/features/Feature.java diff --git a/src/main/java/org/kakara/engine/gameitems/mesh/AtlasMesh.java b/core/src/main/java/org/kakara/engine/gameitems/mesh/AtlasMesh.java similarity index 100% rename from src/main/java/org/kakara/engine/gameitems/mesh/AtlasMesh.java rename to core/src/main/java/org/kakara/engine/gameitems/mesh/AtlasMesh.java diff --git a/src/main/java/org/kakara/engine/gameitems/mesh/IMesh.java b/core/src/main/java/org/kakara/engine/gameitems/mesh/IMesh.java similarity index 100% rename from src/main/java/org/kakara/engine/gameitems/mesh/IMesh.java rename to core/src/main/java/org/kakara/engine/gameitems/mesh/IMesh.java diff --git a/src/main/java/org/kakara/engine/gameitems/mesh/InstancedMesh.java b/core/src/main/java/org/kakara/engine/gameitems/mesh/InstancedMesh.java similarity index 100% rename from src/main/java/org/kakara/engine/gameitems/mesh/InstancedMesh.java rename to core/src/main/java/org/kakara/engine/gameitems/mesh/InstancedMesh.java diff --git a/src/main/java/org/kakara/engine/gameitems/mesh/Mesh.java b/core/src/main/java/org/kakara/engine/gameitems/mesh/Mesh.java similarity index 100% rename from src/main/java/org/kakara/engine/gameitems/mesh/Mesh.java rename to core/src/main/java/org/kakara/engine/gameitems/mesh/Mesh.java diff --git a/src/main/java/org/kakara/engine/gameitems/mesh/NullMesh.java b/core/src/main/java/org/kakara/engine/gameitems/mesh/NullMesh.java similarity index 100% rename from src/main/java/org/kakara/engine/gameitems/mesh/NullMesh.java rename to core/src/main/java/org/kakara/engine/gameitems/mesh/NullMesh.java diff --git a/src/main/java/org/kakara/engine/gameitems/particles/FlowParticleEmitter.java b/core/src/main/java/org/kakara/engine/gameitems/particles/FlowParticleEmitter.java similarity index 100% rename from src/main/java/org/kakara/engine/gameitems/particles/FlowParticleEmitter.java rename to core/src/main/java/org/kakara/engine/gameitems/particles/FlowParticleEmitter.java diff --git a/src/main/java/org/kakara/engine/gameitems/particles/Particle.java b/core/src/main/java/org/kakara/engine/gameitems/particles/Particle.java similarity index 100% rename from src/main/java/org/kakara/engine/gameitems/particles/Particle.java rename to core/src/main/java/org/kakara/engine/gameitems/particles/Particle.java diff --git a/src/main/java/org/kakara/engine/gameitems/particles/ParticleEmitter.java b/core/src/main/java/org/kakara/engine/gameitems/particles/ParticleEmitter.java similarity index 100% rename from src/main/java/org/kakara/engine/gameitems/particles/ParticleEmitter.java rename to core/src/main/java/org/kakara/engine/gameitems/particles/ParticleEmitter.java diff --git a/src/main/java/org/kakara/engine/gameitems/particles/ParticleHandler.java b/core/src/main/java/org/kakara/engine/gameitems/particles/ParticleHandler.java similarity index 100% rename from src/main/java/org/kakara/engine/gameitems/particles/ParticleHandler.java rename to core/src/main/java/org/kakara/engine/gameitems/particles/ParticleHandler.java diff --git a/src/main/java/org/kakara/engine/input/Input.java b/core/src/main/java/org/kakara/engine/input/Input.java similarity index 100% rename from src/main/java/org/kakara/engine/input/Input.java rename to core/src/main/java/org/kakara/engine/input/Input.java diff --git a/src/main/java/org/kakara/engine/input/controller/Controller.java b/core/src/main/java/org/kakara/engine/input/controller/Controller.java similarity index 100% rename from src/main/java/org/kakara/engine/input/controller/Controller.java rename to core/src/main/java/org/kakara/engine/input/controller/Controller.java diff --git a/src/main/java/org/kakara/engine/input/controller/ControllerManager.java b/core/src/main/java/org/kakara/engine/input/controller/ControllerManager.java similarity index 100% rename from src/main/java/org/kakara/engine/input/controller/ControllerManager.java rename to core/src/main/java/org/kakara/engine/input/controller/ControllerManager.java diff --git a/src/main/java/org/kakara/engine/input/controller/GamePadButtonEvent.java b/core/src/main/java/org/kakara/engine/input/controller/GamePadButtonEvent.java similarity index 100% rename from src/main/java/org/kakara/engine/input/controller/GamePadButtonEvent.java rename to core/src/main/java/org/kakara/engine/input/controller/GamePadButtonEvent.java diff --git a/src/main/java/org/kakara/engine/input/controller/ids/ControllerID.java b/core/src/main/java/org/kakara/engine/input/controller/ids/ControllerID.java similarity index 100% rename from src/main/java/org/kakara/engine/input/controller/ids/ControllerID.java rename to core/src/main/java/org/kakara/engine/input/controller/ids/ControllerID.java diff --git a/src/main/java/org/kakara/engine/input/controller/ids/GamePadAxis.java b/core/src/main/java/org/kakara/engine/input/controller/ids/GamePadAxis.java similarity index 100% rename from src/main/java/org/kakara/engine/input/controller/ids/GamePadAxis.java rename to core/src/main/java/org/kakara/engine/input/controller/ids/GamePadAxis.java diff --git a/src/main/java/org/kakara/engine/input/controller/ids/GamePadButton.java b/core/src/main/java/org/kakara/engine/input/controller/ids/GamePadButton.java similarity index 100% rename from src/main/java/org/kakara/engine/input/controller/ids/GamePadButton.java rename to core/src/main/java/org/kakara/engine/input/controller/ids/GamePadButton.java diff --git a/src/main/java/org/kakara/engine/input/key/Clipboard.java b/core/src/main/java/org/kakara/engine/input/key/Clipboard.java similarity index 100% rename from src/main/java/org/kakara/engine/input/key/Clipboard.java rename to core/src/main/java/org/kakara/engine/input/key/Clipboard.java diff --git a/src/main/java/org/kakara/engine/input/key/KeyCode.java b/core/src/main/java/org/kakara/engine/input/key/KeyCode.java similarity index 100% rename from src/main/java/org/kakara/engine/input/key/KeyCode.java rename to core/src/main/java/org/kakara/engine/input/key/KeyCode.java diff --git a/src/main/java/org/kakara/engine/input/key/KeyInput.java b/core/src/main/java/org/kakara/engine/input/key/KeyInput.java similarity index 100% rename from src/main/java/org/kakara/engine/input/key/KeyInput.java rename to core/src/main/java/org/kakara/engine/input/key/KeyInput.java diff --git a/src/main/java/org/kakara/engine/input/mouse/MouseClickType.java b/core/src/main/java/org/kakara/engine/input/mouse/MouseClickType.java similarity index 100% rename from src/main/java/org/kakara/engine/input/mouse/MouseClickType.java rename to core/src/main/java/org/kakara/engine/input/mouse/MouseClickType.java diff --git a/src/main/java/org/kakara/engine/input/mouse/MouseInput.java b/core/src/main/java/org/kakara/engine/input/mouse/MouseInput.java similarity index 100% rename from src/main/java/org/kakara/engine/input/mouse/MouseInput.java rename to core/src/main/java/org/kakara/engine/input/mouse/MouseInput.java diff --git a/src/main/java/org/kakara/engine/input/mouse/ScrollInput.java b/core/src/main/java/org/kakara/engine/input/mouse/ScrollInput.java similarity index 100% rename from src/main/java/org/kakara/engine/input/mouse/ScrollInput.java rename to core/src/main/java/org/kakara/engine/input/mouse/ScrollInput.java diff --git a/src/main/java/org/kakara/engine/lighting/DirectionalLight.java b/core/src/main/java/org/kakara/engine/lighting/DirectionalLight.java similarity index 100% rename from src/main/java/org/kakara/engine/lighting/DirectionalLight.java rename to core/src/main/java/org/kakara/engine/lighting/DirectionalLight.java diff --git a/src/main/java/org/kakara/engine/lighting/LightColor.java b/core/src/main/java/org/kakara/engine/lighting/LightColor.java similarity index 100% rename from src/main/java/org/kakara/engine/lighting/LightColor.java rename to core/src/main/java/org/kakara/engine/lighting/LightColor.java diff --git a/src/main/java/org/kakara/engine/lighting/LightHandler.java b/core/src/main/java/org/kakara/engine/lighting/LightHandler.java similarity index 100% rename from src/main/java/org/kakara/engine/lighting/LightHandler.java rename to core/src/main/java/org/kakara/engine/lighting/LightHandler.java diff --git a/src/main/java/org/kakara/engine/lighting/PointLight.java b/core/src/main/java/org/kakara/engine/lighting/PointLight.java similarity index 100% rename from src/main/java/org/kakara/engine/lighting/PointLight.java rename to core/src/main/java/org/kakara/engine/lighting/PointLight.java diff --git a/src/main/java/org/kakara/engine/lighting/ShadowMap.java b/core/src/main/java/org/kakara/engine/lighting/ShadowMap.java similarity index 100% rename from src/main/java/org/kakara/engine/lighting/ShadowMap.java rename to core/src/main/java/org/kakara/engine/lighting/ShadowMap.java diff --git a/src/main/java/org/kakara/engine/lighting/SpotLight.java b/core/src/main/java/org/kakara/engine/lighting/SpotLight.java similarity index 100% rename from src/main/java/org/kakara/engine/lighting/SpotLight.java rename to core/src/main/java/org/kakara/engine/lighting/SpotLight.java diff --git a/src/main/java/org/kakara/engine/math/Intersection.java b/core/src/main/java/org/kakara/engine/math/Intersection.java similarity index 100% rename from src/main/java/org/kakara/engine/math/Intersection.java rename to core/src/main/java/org/kakara/engine/math/Intersection.java diff --git a/src/main/java/org/kakara/engine/math/KMath.java b/core/src/main/java/org/kakara/engine/math/KMath.java similarity index 100% rename from src/main/java/org/kakara/engine/math/KMath.java rename to core/src/main/java/org/kakara/engine/math/KMath.java diff --git a/src/main/java/org/kakara/engine/math/Vector2.java b/core/src/main/java/org/kakara/engine/math/Vector2.java similarity index 100% rename from src/main/java/org/kakara/engine/math/Vector2.java rename to core/src/main/java/org/kakara/engine/math/Vector2.java diff --git a/src/main/java/org/kakara/engine/math/Vector3.java b/core/src/main/java/org/kakara/engine/math/Vector3.java similarity index 100% rename from src/main/java/org/kakara/engine/math/Vector3.java rename to core/src/main/java/org/kakara/engine/math/Vector3.java diff --git a/src/main/java/org/kakara/engine/models/SimpleAIFileCloseProc.java b/core/src/main/java/org/kakara/engine/models/SimpleAIFileCloseProc.java similarity index 100% rename from src/main/java/org/kakara/engine/models/SimpleAIFileCloseProc.java rename to core/src/main/java/org/kakara/engine/models/SimpleAIFileCloseProc.java diff --git a/src/main/java/org/kakara/engine/models/SimpleAIFileOpenProc.java b/core/src/main/java/org/kakara/engine/models/SimpleAIFileOpenProc.java similarity index 100% rename from src/main/java/org/kakara/engine/models/SimpleAIFileOpenProc.java rename to core/src/main/java/org/kakara/engine/models/SimpleAIFileOpenProc.java diff --git a/src/main/java/org/kakara/engine/models/StaticModelLoader.java b/core/src/main/java/org/kakara/engine/models/StaticModelLoader.java similarity index 100% rename from src/main/java/org/kakara/engine/models/StaticModelLoader.java rename to core/src/main/java/org/kakara/engine/models/StaticModelLoader.java diff --git a/src/main/java/org/kakara/engine/models/TextureCache.java b/core/src/main/java/org/kakara/engine/models/TextureCache.java similarity index 100% rename from src/main/java/org/kakara/engine/models/TextureCache.java rename to core/src/main/java/org/kakara/engine/models/TextureCache.java diff --git a/src/main/java/org/kakara/engine/physics/FixedPhysicsUpdater.java b/core/src/main/java/org/kakara/engine/physics/FixedPhysicsUpdater.java similarity index 100% rename from src/main/java/org/kakara/engine/physics/FixedPhysicsUpdater.java rename to core/src/main/java/org/kakara/engine/physics/FixedPhysicsUpdater.java diff --git a/src/main/java/org/kakara/engine/physics/OnTriggerEnter.java b/core/src/main/java/org/kakara/engine/physics/OnTriggerEnter.java similarity index 100% rename from src/main/java/org/kakara/engine/physics/OnTriggerEnter.java rename to core/src/main/java/org/kakara/engine/physics/OnTriggerEnter.java diff --git a/src/main/java/org/kakara/engine/physics/collision/BoxCollider.java b/core/src/main/java/org/kakara/engine/physics/collision/BoxCollider.java similarity index 100% rename from src/main/java/org/kakara/engine/physics/collision/BoxCollider.java rename to core/src/main/java/org/kakara/engine/physics/collision/BoxCollider.java diff --git a/src/main/java/org/kakara/engine/physics/collision/ColliderComponent.java b/core/src/main/java/org/kakara/engine/physics/collision/ColliderComponent.java similarity index 100% rename from src/main/java/org/kakara/engine/physics/collision/ColliderComponent.java rename to core/src/main/java/org/kakara/engine/physics/collision/ColliderComponent.java diff --git a/src/main/java/org/kakara/engine/physics/collision/CollisionManager.java b/core/src/main/java/org/kakara/engine/physics/collision/CollisionManager.java similarity index 100% rename from src/main/java/org/kakara/engine/physics/collision/CollisionManager.java rename to core/src/main/java/org/kakara/engine/physics/collision/CollisionManager.java diff --git a/src/main/java/org/kakara/engine/physics/collision/ObjectBoxCollider.java b/core/src/main/java/org/kakara/engine/physics/collision/ObjectBoxCollider.java similarity index 100% rename from src/main/java/org/kakara/engine/physics/collision/ObjectBoxCollider.java rename to core/src/main/java/org/kakara/engine/physics/collision/ObjectBoxCollider.java diff --git a/src/main/java/org/kakara/engine/physics/collision/PhysicsComponent.java b/core/src/main/java/org/kakara/engine/physics/collision/PhysicsComponent.java similarity index 100% rename from src/main/java/org/kakara/engine/physics/collision/PhysicsComponent.java rename to core/src/main/java/org/kakara/engine/physics/collision/PhysicsComponent.java diff --git a/src/main/java/org/kakara/engine/physics/collision/VoxelCollider.java b/core/src/main/java/org/kakara/engine/physics/collision/VoxelCollider.java similarity index 100% rename from src/main/java/org/kakara/engine/physics/collision/VoxelCollider.java rename to core/src/main/java/org/kakara/engine/physics/collision/VoxelCollider.java diff --git a/src/main/java/org/kakara/engine/properties/Identifiable.java b/core/src/main/java/org/kakara/engine/properties/Identifiable.java similarity index 100% rename from src/main/java/org/kakara/engine/properties/Identifiable.java rename to core/src/main/java/org/kakara/engine/properties/Identifiable.java diff --git a/src/main/java/org/kakara/engine/properties/Tagable.java b/core/src/main/java/org/kakara/engine/properties/Tagable.java similarity index 100% rename from src/main/java/org/kakara/engine/properties/Tagable.java rename to core/src/main/java/org/kakara/engine/properties/Tagable.java diff --git a/src/main/java/org/kakara/engine/render/Graphics.java b/core/src/main/java/org/kakara/engine/render/Graphics.java similarity index 100% rename from src/main/java/org/kakara/engine/render/Graphics.java rename to core/src/main/java/org/kakara/engine/render/Graphics.java diff --git a/src/main/java/org/kakara/engine/render/PipelineManager.java b/core/src/main/java/org/kakara/engine/render/PipelineManager.java similarity index 100% rename from src/main/java/org/kakara/engine/render/PipelineManager.java rename to core/src/main/java/org/kakara/engine/render/PipelineManager.java diff --git a/src/main/java/org/kakara/engine/render/RenderPipeline.java b/core/src/main/java/org/kakara/engine/render/RenderPipeline.java similarity index 100% rename from src/main/java/org/kakara/engine/render/RenderPipeline.java rename to core/src/main/java/org/kakara/engine/render/RenderPipeline.java diff --git a/src/main/java/org/kakara/engine/render/Renderer.java b/core/src/main/java/org/kakara/engine/render/Renderer.java similarity index 100% rename from src/main/java/org/kakara/engine/render/Renderer.java rename to core/src/main/java/org/kakara/engine/render/Renderer.java diff --git a/src/main/java/org/kakara/engine/render/Shader.java b/core/src/main/java/org/kakara/engine/render/Shader.java similarity index 100% rename from src/main/java/org/kakara/engine/render/Shader.java rename to core/src/main/java/org/kakara/engine/render/Shader.java diff --git a/src/main/java/org/kakara/engine/render/ShaderManager.java b/core/src/main/java/org/kakara/engine/render/ShaderManager.java similarity index 100% rename from src/main/java/org/kakara/engine/render/ShaderManager.java rename to core/src/main/java/org/kakara/engine/render/ShaderManager.java diff --git a/src/main/java/org/kakara/engine/render/ShaderProgram.java b/core/src/main/java/org/kakara/engine/render/ShaderProgram.java similarity index 100% rename from src/main/java/org/kakara/engine/render/ShaderProgram.java rename to core/src/main/java/org/kakara/engine/render/ShaderProgram.java diff --git a/src/main/java/org/kakara/engine/render/Transformation.java b/core/src/main/java/org/kakara/engine/render/Transformation.java similarity index 100% rename from src/main/java/org/kakara/engine/render/Transformation.java rename to core/src/main/java/org/kakara/engine/render/Transformation.java diff --git a/src/main/java/org/kakara/engine/render/culling/FrustumCullingFilter.java b/core/src/main/java/org/kakara/engine/render/culling/FrustumCullingFilter.java similarity index 100% rename from src/main/java/org/kakara/engine/render/culling/FrustumCullingFilter.java rename to core/src/main/java/org/kakara/engine/render/culling/FrustumCullingFilter.java diff --git a/src/main/java/org/kakara/engine/render/culling/RenderQuery.java b/core/src/main/java/org/kakara/engine/render/culling/RenderQuery.java similarity index 100% rename from src/main/java/org/kakara/engine/render/culling/RenderQuery.java rename to core/src/main/java/org/kakara/engine/render/culling/RenderQuery.java diff --git a/src/main/java/org/kakara/engine/render/preset/pipeline/ParticlesPipeline.java b/core/src/main/java/org/kakara/engine/render/preset/pipeline/ParticlesPipeline.java similarity index 100% rename from src/main/java/org/kakara/engine/render/preset/pipeline/ParticlesPipeline.java rename to core/src/main/java/org/kakara/engine/render/preset/pipeline/ParticlesPipeline.java diff --git a/src/main/java/org/kakara/engine/render/preset/pipeline/StandardPipeline.java b/core/src/main/java/org/kakara/engine/render/preset/pipeline/StandardPipeline.java similarity index 100% rename from src/main/java/org/kakara/engine/render/preset/pipeline/StandardPipeline.java rename to core/src/main/java/org/kakara/engine/render/preset/pipeline/StandardPipeline.java diff --git a/src/main/java/org/kakara/engine/render/preset/pipeline/VoxelPipeline.java b/core/src/main/java/org/kakara/engine/render/preset/pipeline/VoxelPipeline.java similarity index 100% rename from src/main/java/org/kakara/engine/render/preset/pipeline/VoxelPipeline.java rename to core/src/main/java/org/kakara/engine/render/preset/pipeline/VoxelPipeline.java diff --git a/src/main/java/org/kakara/engine/render/preset/shader/ParticleShader.java b/core/src/main/java/org/kakara/engine/render/preset/shader/ParticleShader.java similarity index 100% rename from src/main/java/org/kakara/engine/render/preset/shader/ParticleShader.java rename to core/src/main/java/org/kakara/engine/render/preset/shader/ParticleShader.java diff --git a/src/main/java/org/kakara/engine/render/preset/shader/StandardShader.java b/core/src/main/java/org/kakara/engine/render/preset/shader/StandardShader.java similarity index 100% rename from src/main/java/org/kakara/engine/render/preset/shader/StandardShader.java rename to core/src/main/java/org/kakara/engine/render/preset/shader/StandardShader.java diff --git a/src/main/java/org/kakara/engine/render/preset/shader/VoxelShader.java b/core/src/main/java/org/kakara/engine/render/preset/shader/VoxelShader.java similarity index 100% rename from src/main/java/org/kakara/engine/render/preset/shader/VoxelShader.java rename to core/src/main/java/org/kakara/engine/render/preset/shader/VoxelShader.java diff --git a/src/main/java/org/kakara/engine/resources/FileResource.java b/core/src/main/java/org/kakara/engine/resources/FileResource.java similarity index 100% rename from src/main/java/org/kakara/engine/resources/FileResource.java rename to core/src/main/java/org/kakara/engine/resources/FileResource.java diff --git a/src/main/java/org/kakara/engine/resources/JarResource.java b/core/src/main/java/org/kakara/engine/resources/JarResource.java similarity index 100% rename from src/main/java/org/kakara/engine/resources/JarResource.java rename to core/src/main/java/org/kakara/engine/resources/JarResource.java diff --git a/src/main/java/org/kakara/engine/resources/Resource.java b/core/src/main/java/org/kakara/engine/resources/Resource.java similarity index 100% rename from src/main/java/org/kakara/engine/resources/Resource.java rename to core/src/main/java/org/kakara/engine/resources/Resource.java diff --git a/src/main/java/org/kakara/engine/resources/ResourceManager.java b/core/src/main/java/org/kakara/engine/resources/ResourceManager.java similarity index 100% rename from src/main/java/org/kakara/engine/resources/ResourceManager.java rename to core/src/main/java/org/kakara/engine/resources/ResourceManager.java diff --git a/src/main/java/org/kakara/engine/scene/AbstractGameScene.java b/core/src/main/java/org/kakara/engine/scene/AbstractGameScene.java similarity index 100% rename from src/main/java/org/kakara/engine/scene/AbstractGameScene.java rename to core/src/main/java/org/kakara/engine/scene/AbstractGameScene.java diff --git a/src/main/java/org/kakara/engine/scene/AbstractMenuScene.java b/core/src/main/java/org/kakara/engine/scene/AbstractMenuScene.java similarity index 100% rename from src/main/java/org/kakara/engine/scene/AbstractMenuScene.java rename to core/src/main/java/org/kakara/engine/scene/AbstractMenuScene.java diff --git a/src/main/java/org/kakara/engine/scene/AbstractScene.java b/core/src/main/java/org/kakara/engine/scene/AbstractScene.java similarity index 100% rename from src/main/java/org/kakara/engine/scene/AbstractScene.java rename to core/src/main/java/org/kakara/engine/scene/AbstractScene.java diff --git a/src/main/java/org/kakara/engine/scene/Scene.java b/core/src/main/java/org/kakara/engine/scene/Scene.java similarity index 100% rename from src/main/java/org/kakara/engine/scene/Scene.java rename to core/src/main/java/org/kakara/engine/scene/Scene.java diff --git a/src/main/java/org/kakara/engine/scene/SceneManager.java b/core/src/main/java/org/kakara/engine/scene/SceneManager.java similarity index 100% rename from src/main/java/org/kakara/engine/scene/SceneManager.java rename to core/src/main/java/org/kakara/engine/scene/SceneManager.java diff --git a/src/main/java/org/kakara/engine/sound/SoundBuffer.java b/core/src/main/java/org/kakara/engine/sound/SoundBuffer.java similarity index 100% rename from src/main/java/org/kakara/engine/sound/SoundBuffer.java rename to core/src/main/java/org/kakara/engine/sound/SoundBuffer.java diff --git a/src/main/java/org/kakara/engine/sound/SoundListener.java b/core/src/main/java/org/kakara/engine/sound/SoundListener.java similarity index 100% rename from src/main/java/org/kakara/engine/sound/SoundListener.java rename to core/src/main/java/org/kakara/engine/sound/SoundListener.java diff --git a/src/main/java/org/kakara/engine/sound/SoundManager.java b/core/src/main/java/org/kakara/engine/sound/SoundManager.java similarity index 100% rename from src/main/java/org/kakara/engine/sound/SoundManager.java rename to core/src/main/java/org/kakara/engine/sound/SoundManager.java diff --git a/src/main/java/org/kakara/engine/sound/SoundSource.java b/core/src/main/java/org/kakara/engine/sound/SoundSource.java similarity index 100% rename from src/main/java/org/kakara/engine/sound/SoundSource.java rename to core/src/main/java/org/kakara/engine/sound/SoundSource.java diff --git a/src/main/java/org/kakara/engine/sound/exceptions/SoundNotFoundException.java b/core/src/main/java/org/kakara/engine/sound/exceptions/SoundNotFoundException.java similarity index 100% rename from src/main/java/org/kakara/engine/sound/exceptions/SoundNotFoundException.java rename to core/src/main/java/org/kakara/engine/sound/exceptions/SoundNotFoundException.java diff --git a/src/main/java/org/kakara/engine/ui/UICanvas.java b/core/src/main/java/org/kakara/engine/ui/UICanvas.java similarity index 100% rename from src/main/java/org/kakara/engine/ui/UICanvas.java rename to core/src/main/java/org/kakara/engine/ui/UICanvas.java diff --git a/src/main/java/org/kakara/engine/ui/UIListener.java b/core/src/main/java/org/kakara/engine/ui/UIListener.java similarity index 100% rename from src/main/java/org/kakara/engine/ui/UIListener.java rename to core/src/main/java/org/kakara/engine/ui/UIListener.java diff --git a/src/main/java/org/kakara/engine/ui/UserInterface.java b/core/src/main/java/org/kakara/engine/ui/UserInterface.java similarity index 100% rename from src/main/java/org/kakara/engine/ui/UserInterface.java rename to core/src/main/java/org/kakara/engine/ui/UserInterface.java diff --git a/src/main/java/org/kakara/engine/ui/canvases/ComponentCanvas.java b/core/src/main/java/org/kakara/engine/ui/canvases/ComponentCanvas.java similarity index 100% rename from src/main/java/org/kakara/engine/ui/canvases/ComponentCanvas.java rename to core/src/main/java/org/kakara/engine/ui/canvases/ComponentCanvas.java diff --git a/src/main/java/org/kakara/engine/ui/canvases/ObjectCanvas.java b/core/src/main/java/org/kakara/engine/ui/canvases/ObjectCanvas.java similarity index 100% rename from src/main/java/org/kakara/engine/ui/canvases/ObjectCanvas.java rename to core/src/main/java/org/kakara/engine/ui/canvases/ObjectCanvas.java diff --git a/src/main/java/org/kakara/engine/ui/components/GeneralUIComponent.java b/core/src/main/java/org/kakara/engine/ui/components/GeneralUIComponent.java similarity index 100% rename from src/main/java/org/kakara/engine/ui/components/GeneralUIComponent.java rename to core/src/main/java/org/kakara/engine/ui/components/GeneralUIComponent.java diff --git a/src/main/java/org/kakara/engine/ui/components/Panel.java b/core/src/main/java/org/kakara/engine/ui/components/Panel.java similarity index 100% rename from src/main/java/org/kakara/engine/ui/components/Panel.java rename to core/src/main/java/org/kakara/engine/ui/components/Panel.java diff --git a/src/main/java/org/kakara/engine/ui/components/Sprite.java b/core/src/main/java/org/kakara/engine/ui/components/Sprite.java similarity index 100% rename from src/main/java/org/kakara/engine/ui/components/Sprite.java rename to core/src/main/java/org/kakara/engine/ui/components/Sprite.java diff --git a/src/main/java/org/kakara/engine/ui/components/UIComponent.java b/core/src/main/java/org/kakara/engine/ui/components/UIComponent.java similarity index 100% rename from src/main/java/org/kakara/engine/ui/components/UIComponent.java rename to core/src/main/java/org/kakara/engine/ui/components/UIComponent.java diff --git a/src/main/java/org/kakara/engine/ui/components/shapes/Ellipse.java b/core/src/main/java/org/kakara/engine/ui/components/shapes/Ellipse.java similarity index 100% rename from src/main/java/org/kakara/engine/ui/components/shapes/Ellipse.java rename to core/src/main/java/org/kakara/engine/ui/components/shapes/Ellipse.java diff --git a/src/main/java/org/kakara/engine/ui/components/shapes/Rectangle.java b/core/src/main/java/org/kakara/engine/ui/components/shapes/Rectangle.java similarity index 100% rename from src/main/java/org/kakara/engine/ui/components/shapes/Rectangle.java rename to core/src/main/java/org/kakara/engine/ui/components/shapes/Rectangle.java diff --git a/src/main/java/org/kakara/engine/ui/components/shapes/RoundedRectangle.java b/core/src/main/java/org/kakara/engine/ui/components/shapes/RoundedRectangle.java similarity index 100% rename from src/main/java/org/kakara/engine/ui/components/shapes/RoundedRectangle.java rename to core/src/main/java/org/kakara/engine/ui/components/shapes/RoundedRectangle.java diff --git a/src/main/java/org/kakara/engine/ui/components/text/BoundedColoredText.java b/core/src/main/java/org/kakara/engine/ui/components/text/BoundedColoredText.java similarity index 100% rename from src/main/java/org/kakara/engine/ui/components/text/BoundedColoredText.java rename to core/src/main/java/org/kakara/engine/ui/components/text/BoundedColoredText.java diff --git a/src/main/java/org/kakara/engine/ui/components/text/BoundedText.java b/core/src/main/java/org/kakara/engine/ui/components/text/BoundedText.java similarity index 100% rename from src/main/java/org/kakara/engine/ui/components/text/BoundedText.java rename to core/src/main/java/org/kakara/engine/ui/components/text/BoundedText.java diff --git a/src/main/java/org/kakara/engine/ui/components/text/Text.java b/core/src/main/java/org/kakara/engine/ui/components/text/Text.java similarity index 100% rename from src/main/java/org/kakara/engine/ui/components/text/Text.java rename to core/src/main/java/org/kakara/engine/ui/components/text/Text.java diff --git a/src/main/java/org/kakara/engine/ui/constraints/ComponentSide.java b/core/src/main/java/org/kakara/engine/ui/constraints/ComponentSide.java similarity index 100% rename from src/main/java/org/kakara/engine/ui/constraints/ComponentSide.java rename to core/src/main/java/org/kakara/engine/ui/constraints/ComponentSide.java diff --git a/src/main/java/org/kakara/engine/ui/constraints/Constraint.java b/core/src/main/java/org/kakara/engine/ui/constraints/Constraint.java similarity index 100% rename from src/main/java/org/kakara/engine/ui/constraints/Constraint.java rename to core/src/main/java/org/kakara/engine/ui/constraints/Constraint.java diff --git a/src/main/java/org/kakara/engine/ui/constraints/GeneralConstraint.java b/core/src/main/java/org/kakara/engine/ui/constraints/GeneralConstraint.java similarity index 100% rename from src/main/java/org/kakara/engine/ui/constraints/GeneralConstraint.java rename to core/src/main/java/org/kakara/engine/ui/constraints/GeneralConstraint.java diff --git a/src/main/java/org/kakara/engine/ui/constraints/GridConstraint.java b/core/src/main/java/org/kakara/engine/ui/constraints/GridConstraint.java similarity index 100% rename from src/main/java/org/kakara/engine/ui/constraints/GridConstraint.java rename to core/src/main/java/org/kakara/engine/ui/constraints/GridConstraint.java diff --git a/src/main/java/org/kakara/engine/ui/constraints/HorizontalCenterConstraint.java b/core/src/main/java/org/kakara/engine/ui/constraints/HorizontalCenterConstraint.java similarity index 100% rename from src/main/java/org/kakara/engine/ui/constraints/HorizontalCenterConstraint.java rename to core/src/main/java/org/kakara/engine/ui/constraints/HorizontalCenterConstraint.java diff --git a/src/main/java/org/kakara/engine/ui/constraints/VerticalCenterConstraint.java b/core/src/main/java/org/kakara/engine/ui/constraints/VerticalCenterConstraint.java similarity index 100% rename from src/main/java/org/kakara/engine/ui/constraints/VerticalCenterConstraint.java rename to core/src/main/java/org/kakara/engine/ui/constraints/VerticalCenterConstraint.java diff --git a/src/main/java/org/kakara/engine/ui/events/UActionEvent.java b/core/src/main/java/org/kakara/engine/ui/events/UActionEvent.java similarity index 100% rename from src/main/java/org/kakara/engine/ui/events/UActionEvent.java rename to core/src/main/java/org/kakara/engine/ui/events/UActionEvent.java diff --git a/src/main/java/org/kakara/engine/ui/events/UIClickEvent.java b/core/src/main/java/org/kakara/engine/ui/events/UIClickEvent.java similarity index 100% rename from src/main/java/org/kakara/engine/ui/events/UIClickEvent.java rename to core/src/main/java/org/kakara/engine/ui/events/UIClickEvent.java diff --git a/src/main/java/org/kakara/engine/ui/events/UIHoverEnterEvent.java b/core/src/main/java/org/kakara/engine/ui/events/UIHoverEnterEvent.java similarity index 100% rename from src/main/java/org/kakara/engine/ui/events/UIHoverEnterEvent.java rename to core/src/main/java/org/kakara/engine/ui/events/UIHoverEnterEvent.java diff --git a/src/main/java/org/kakara/engine/ui/events/UIHoverLeaveEvent.java b/core/src/main/java/org/kakara/engine/ui/events/UIHoverLeaveEvent.java similarity index 100% rename from src/main/java/org/kakara/engine/ui/events/UIHoverLeaveEvent.java rename to core/src/main/java/org/kakara/engine/ui/events/UIHoverLeaveEvent.java diff --git a/src/main/java/org/kakara/engine/ui/events/UIReleaseEvent.java b/core/src/main/java/org/kakara/engine/ui/events/UIReleaseEvent.java similarity index 100% rename from src/main/java/org/kakara/engine/ui/events/UIReleaseEvent.java rename to core/src/main/java/org/kakara/engine/ui/events/UIReleaseEvent.java diff --git a/src/main/java/org/kakara/engine/ui/font/Font.java b/core/src/main/java/org/kakara/engine/ui/font/Font.java similarity index 100% rename from src/main/java/org/kakara/engine/ui/font/Font.java rename to core/src/main/java/org/kakara/engine/ui/font/Font.java diff --git a/src/main/java/org/kakara/engine/ui/font/TextAlign.java b/core/src/main/java/org/kakara/engine/ui/font/TextAlign.java similarity index 100% rename from src/main/java/org/kakara/engine/ui/font/TextAlign.java rename to core/src/main/java/org/kakara/engine/ui/font/TextAlign.java diff --git a/src/main/java/org/kakara/engine/ui/objectcanvas/UIObject.java b/core/src/main/java/org/kakara/engine/ui/objectcanvas/UIObject.java similarity index 100% rename from src/main/java/org/kakara/engine/ui/objectcanvas/UIObject.java rename to core/src/main/java/org/kakara/engine/ui/objectcanvas/UIObject.java diff --git a/src/main/java/org/kakara/engine/utils/Pair.java b/core/src/main/java/org/kakara/engine/utils/Pair.java similarity index 100% rename from src/main/java/org/kakara/engine/utils/Pair.java rename to core/src/main/java/org/kakara/engine/utils/Pair.java diff --git a/src/main/java/org/kakara/engine/utils/RGBA.java b/core/src/main/java/org/kakara/engine/utils/RGBA.java similarity index 100% rename from src/main/java/org/kakara/engine/utils/RGBA.java rename to core/src/main/java/org/kakara/engine/utils/RGBA.java diff --git a/src/main/java/org/kakara/engine/utils/Time.java b/core/src/main/java/org/kakara/engine/utils/Time.java similarity index 100% rename from src/main/java/org/kakara/engine/utils/Time.java rename to core/src/main/java/org/kakara/engine/utils/Time.java diff --git a/src/main/java/org/kakara/engine/utils/UUIDUtils.java b/core/src/main/java/org/kakara/engine/utils/UUIDUtils.java similarity index 100% rename from src/main/java/org/kakara/engine/utils/UUIDUtils.java rename to core/src/main/java/org/kakara/engine/utils/UUIDUtils.java diff --git a/src/main/java/org/kakara/engine/utils/Utils.java b/core/src/main/java/org/kakara/engine/utils/Utils.java similarity index 100% rename from src/main/java/org/kakara/engine/utils/Utils.java rename to core/src/main/java/org/kakara/engine/utils/Utils.java diff --git a/src/main/java/org/kakara/engine/voxels/ChunkHandler.java b/core/src/main/java/org/kakara/engine/voxels/ChunkHandler.java similarity index 100% rename from src/main/java/org/kakara/engine/voxels/ChunkHandler.java rename to core/src/main/java/org/kakara/engine/voxels/ChunkHandler.java diff --git a/src/main/java/org/kakara/engine/voxels/TextureAtlas.java b/core/src/main/java/org/kakara/engine/voxels/TextureAtlas.java similarity index 100% rename from src/main/java/org/kakara/engine/voxels/TextureAtlas.java rename to core/src/main/java/org/kakara/engine/voxels/TextureAtlas.java diff --git a/src/main/java/org/kakara/engine/voxels/Voxel.java b/core/src/main/java/org/kakara/engine/voxels/Voxel.java similarity index 100% rename from src/main/java/org/kakara/engine/voxels/Voxel.java rename to core/src/main/java/org/kakara/engine/voxels/Voxel.java diff --git a/src/main/java/org/kakara/engine/voxels/VoxelChunk.java b/core/src/main/java/org/kakara/engine/voxels/VoxelChunk.java similarity index 100% rename from src/main/java/org/kakara/engine/voxels/VoxelChunk.java rename to core/src/main/java/org/kakara/engine/voxels/VoxelChunk.java diff --git a/src/main/java/org/kakara/engine/voxels/VoxelTexture.java b/core/src/main/java/org/kakara/engine/voxels/VoxelTexture.java similarity index 100% rename from src/main/java/org/kakara/engine/voxels/VoxelTexture.java rename to core/src/main/java/org/kakara/engine/voxels/VoxelTexture.java diff --git a/src/main/java/org/kakara/engine/voxels/layouts/BasicMeshLayout.java b/core/src/main/java/org/kakara/engine/voxels/layouts/BasicMeshLayout.java similarity index 100% rename from src/main/java/org/kakara/engine/voxels/layouts/BasicMeshLayout.java rename to core/src/main/java/org/kakara/engine/voxels/layouts/BasicMeshLayout.java diff --git a/src/main/java/org/kakara/engine/voxels/layouts/BlockLayout.java b/core/src/main/java/org/kakara/engine/voxels/layouts/BlockLayout.java similarity index 100% rename from src/main/java/org/kakara/engine/voxels/layouts/BlockLayout.java rename to core/src/main/java/org/kakara/engine/voxels/layouts/BlockLayout.java diff --git a/src/main/java/org/kakara/engine/voxels/layouts/Face.java b/core/src/main/java/org/kakara/engine/voxels/layouts/Face.java similarity index 100% rename from src/main/java/org/kakara/engine/voxels/layouts/Face.java rename to core/src/main/java/org/kakara/engine/voxels/layouts/Face.java diff --git a/src/main/java/org/kakara/engine/voxels/layouts/Layout.java b/core/src/main/java/org/kakara/engine/voxels/layouts/Layout.java similarity index 100% rename from src/main/java/org/kakara/engine/voxels/layouts/Layout.java rename to core/src/main/java/org/kakara/engine/voxels/layouts/Layout.java diff --git a/src/main/java/org/kakara/engine/voxels/layouts/MeshLayout.java b/core/src/main/java/org/kakara/engine/voxels/layouts/MeshLayout.java similarity index 100% rename from src/main/java/org/kakara/engine/voxels/layouts/MeshLayout.java rename to core/src/main/java/org/kakara/engine/voxels/layouts/MeshLayout.java diff --git a/src/main/java/org/kakara/engine/voxels/layouts/types/Indices.java b/core/src/main/java/org/kakara/engine/voxels/layouts/types/Indices.java similarity index 100% rename from src/main/java/org/kakara/engine/voxels/layouts/types/Indices.java rename to core/src/main/java/org/kakara/engine/voxels/layouts/types/Indices.java diff --git a/src/main/java/org/kakara/engine/voxels/layouts/types/Normal.java b/core/src/main/java/org/kakara/engine/voxels/layouts/types/Normal.java similarity index 100% rename from src/main/java/org/kakara/engine/voxels/layouts/types/Normal.java rename to core/src/main/java/org/kakara/engine/voxels/layouts/types/Normal.java diff --git a/src/main/java/org/kakara/engine/voxels/layouts/types/Texture.java b/core/src/main/java/org/kakara/engine/voxels/layouts/types/Texture.java similarity index 100% rename from src/main/java/org/kakara/engine/voxels/layouts/types/Texture.java rename to core/src/main/java/org/kakara/engine/voxels/layouts/types/Texture.java diff --git a/src/main/java/org/kakara/engine/voxels/layouts/types/Vertex.java b/core/src/main/java/org/kakara/engine/voxels/layouts/types/Vertex.java similarity index 100% rename from src/main/java/org/kakara/engine/voxels/layouts/types/Vertex.java rename to core/src/main/java/org/kakara/engine/voxels/layouts/types/Vertex.java diff --git a/src/main/java/org/kakara/engine/voxels/mesh/AsyncMesh.java b/core/src/main/java/org/kakara/engine/voxels/mesh/AsyncMesh.java similarity index 100% rename from src/main/java/org/kakara/engine/voxels/mesh/AsyncMesh.java rename to core/src/main/java/org/kakara/engine/voxels/mesh/AsyncMesh.java diff --git a/src/main/java/org/kakara/engine/voxels/mesh/MeshType.java b/core/src/main/java/org/kakara/engine/voxels/mesh/MeshType.java similarity index 100% rename from src/main/java/org/kakara/engine/voxels/mesh/MeshType.java rename to core/src/main/java/org/kakara/engine/voxels/mesh/MeshType.java diff --git a/src/main/java/org/kakara/engine/voxels/mesh/MeshUtils.java b/core/src/main/java/org/kakara/engine/voxels/mesh/MeshUtils.java similarity index 100% rename from src/main/java/org/kakara/engine/voxels/mesh/MeshUtils.java rename to core/src/main/java/org/kakara/engine/voxels/mesh/MeshUtils.java diff --git a/src/main/java/org/kakara/engine/voxels/mesh/ModifiedAsyncMesh.java b/core/src/main/java/org/kakara/engine/voxels/mesh/ModifiedAsyncMesh.java similarity index 100% rename from src/main/java/org/kakara/engine/voxels/mesh/ModifiedAsyncMesh.java rename to core/src/main/java/org/kakara/engine/voxels/mesh/ModifiedAsyncMesh.java diff --git a/src/main/java/org/kakara/engine/voxels/mesh/MultiThreadMesh.java b/core/src/main/java/org/kakara/engine/voxels/mesh/MultiThreadMesh.java similarity index 100% rename from src/main/java/org/kakara/engine/voxels/mesh/MultiThreadMesh.java rename to core/src/main/java/org/kakara/engine/voxels/mesh/MultiThreadMesh.java diff --git a/src/main/java/org/kakara/engine/voxels/mesh/SyncMesh.java b/core/src/main/java/org/kakara/engine/voxels/mesh/SyncMesh.java similarity index 100% rename from src/main/java/org/kakara/engine/voxels/mesh/SyncMesh.java rename to core/src/main/java/org/kakara/engine/voxels/mesh/SyncMesh.java diff --git a/src/main/java/org/kakara/engine/voxels/mesh/VoxelMesh.java b/core/src/main/java/org/kakara/engine/voxels/mesh/VoxelMesh.java similarity index 100% rename from src/main/java/org/kakara/engine/voxels/mesh/VoxelMesh.java rename to core/src/main/java/org/kakara/engine/voxels/mesh/VoxelMesh.java diff --git a/src/main/java/org/kakara/engine/weather/Fog.java b/core/src/main/java/org/kakara/engine/weather/Fog.java similarity index 100% rename from src/main/java/org/kakara/engine/weather/Fog.java rename to core/src/main/java/org/kakara/engine/weather/Fog.java diff --git a/src/main/java/org/kakara/engine/window/Window.java b/core/src/main/java/org/kakara/engine/window/Window.java similarity index 100% rename from src/main/java/org/kakara/engine/window/Window.java rename to core/src/main/java/org/kakara/engine/window/Window.java diff --git a/src/main/java/org/kakara/engine/window/WindowIcon.java b/core/src/main/java/org/kakara/engine/window/WindowIcon.java similarity index 100% rename from src/main/java/org/kakara/engine/window/WindowIcon.java rename to core/src/main/java/org/kakara/engine/window/WindowIcon.java diff --git a/src/main/java/org/kakara/engine/window/WindowOptions.java b/core/src/main/java/org/kakara/engine/window/WindowOptions.java similarity index 100% rename from src/main/java/org/kakara/engine/window/WindowOptions.java rename to core/src/main/java/org/kakara/engine/window/WindowOptions.java diff --git a/src/main/resources/shaders/depth/depthFragment.fs b/core/src/main/resources/shaders/depth/depthFragment.fs similarity index 100% rename from src/main/resources/shaders/depth/depthFragment.fs rename to core/src/main/resources/shaders/depth/depthFragment.fs diff --git a/src/main/resources/shaders/depth/depthVertex.vs b/core/src/main/resources/shaders/depth/depthVertex.vs similarity index 100% rename from src/main/resources/shaders/depth/depthVertex.vs rename to core/src/main/resources/shaders/depth/depthVertex.vs diff --git a/src/main/resources/shaders/hud/hudFragment.fs b/core/src/main/resources/shaders/hud/hudFragment.fs similarity index 100% rename from src/main/resources/shaders/hud/hudFragment.fs rename to core/src/main/resources/shaders/hud/hudFragment.fs diff --git a/src/main/resources/shaders/hud/hudVertex.vs b/core/src/main/resources/shaders/hud/hudVertex.vs similarity index 100% rename from src/main/resources/shaders/hud/hudVertex.vs rename to core/src/main/resources/shaders/hud/hudVertex.vs diff --git a/src/main/resources/shaders/particle/particleFragment.fs b/core/src/main/resources/shaders/particle/particleFragment.fs similarity index 100% rename from src/main/resources/shaders/particle/particleFragment.fs rename to core/src/main/resources/shaders/particle/particleFragment.fs diff --git a/src/main/resources/shaders/particle/particleVertex.vs b/core/src/main/resources/shaders/particle/particleVertex.vs similarity index 100% rename from src/main/resources/shaders/particle/particleVertex.vs rename to core/src/main/resources/shaders/particle/particleVertex.vs diff --git a/src/main/resources/shaders/scene/sceneFragment.fs b/core/src/main/resources/shaders/scene/sceneFragment.fs similarity index 100% rename from src/main/resources/shaders/scene/sceneFragment.fs rename to core/src/main/resources/shaders/scene/sceneFragment.fs diff --git a/src/main/resources/shaders/scene/sceneVertex.vs b/core/src/main/resources/shaders/scene/sceneVertex.vs similarity index 100% rename from src/main/resources/shaders/scene/sceneVertex.vs rename to core/src/main/resources/shaders/scene/sceneVertex.vs diff --git a/src/main/resources/shaders/scene/skyboxFragment.fs b/core/src/main/resources/shaders/scene/skyboxFragment.fs similarity index 100% rename from src/main/resources/shaders/scene/skyboxFragment.fs rename to core/src/main/resources/shaders/scene/skyboxFragment.fs diff --git a/src/main/resources/shaders/scene/skyboxVertex.vs b/core/src/main/resources/shaders/scene/skyboxVertex.vs similarity index 100% rename from src/main/resources/shaders/scene/skyboxVertex.vs rename to core/src/main/resources/shaders/scene/skyboxVertex.vs diff --git a/src/main/resources/shaders/voxel/voxelFragment.fs b/core/src/main/resources/shaders/voxel/voxelFragment.fs similarity index 100% rename from src/main/resources/shaders/voxel/voxelFragment.fs rename to core/src/main/resources/shaders/voxel/voxelFragment.fs diff --git a/src/main/resources/shaders/voxel/voxelVertex.vs b/core/src/main/resources/shaders/voxel/voxelVertex.vs similarity index 100% rename from src/main/resources/shaders/voxel/voxelVertex.vs rename to core/src/main/resources/shaders/voxel/voxelVertex.vs diff --git a/src/main/resources/skybox.obj b/core/src/main/resources/skybox.obj similarity index 100% rename from src/main/resources/skybox.obj rename to core/src/main/resources/skybox.obj diff --git a/src/test/java/org/kakara/engine/test/KakaraTest.java b/core/src/test/java/org/kakara/engine/test/KakaraTest.java similarity index 100% rename from src/test/java/org/kakara/engine/test/KakaraTest.java rename to core/src/test/java/org/kakara/engine/test/KakaraTest.java diff --git a/src/test/java/org/kakara/engine/test/Main.java b/core/src/test/java/org/kakara/engine/test/Main.java similarity index 100% rename from src/test/java/org/kakara/engine/test/Main.java rename to core/src/test/java/org/kakara/engine/test/Main.java diff --git a/src/test/java/org/kakara/engine/test/MainGameScene.java b/core/src/test/java/org/kakara/engine/test/MainGameScene.java similarity index 100% rename from src/test/java/org/kakara/engine/test/MainGameScene.java rename to core/src/test/java/org/kakara/engine/test/MainGameScene.java diff --git a/src/test/java/org/kakara/engine/test/TitleScreenScene.java b/core/src/test/java/org/kakara/engine/test/TitleScreenScene.java similarity index 100% rename from src/test/java/org/kakara/engine/test/TitleScreenScene.java rename to core/src/test/java/org/kakara/engine/test/TitleScreenScene.java diff --git a/src/test/java/org/kakara/engine/test/components/PlayerMovement.java b/core/src/test/java/org/kakara/engine/test/components/PlayerMovement.java similarity index 100% rename from src/test/java/org/kakara/engine/test/components/PlayerMovement.java rename to core/src/test/java/org/kakara/engine/test/components/PlayerMovement.java diff --git a/src/test/java/org/kakara/engine/test/uicomponents/LoadingBar.java b/core/src/test/java/org/kakara/engine/test/uicomponents/LoadingBar.java similarity index 100% rename from src/test/java/org/kakara/engine/test/uicomponents/LoadingBar.java rename to core/src/test/java/org/kakara/engine/test/uicomponents/LoadingBar.java diff --git a/src/test/java/org/kakara/engine/test/uicomponents/LoadingBarCompleteEvent.java b/core/src/test/java/org/kakara/engine/test/uicomponents/LoadingBarCompleteEvent.java similarity index 100% rename from src/test/java/org/kakara/engine/test/uicomponents/LoadingBarCompleteEvent.java rename to core/src/test/java/org/kakara/engine/test/uicomponents/LoadingBarCompleteEvent.java diff --git a/src/test/java/org/kakara/engine/test2/KakaraExample.java b/core/src/test/java/org/kakara/engine/test2/KakaraExample.java similarity index 100% rename from src/test/java/org/kakara/engine/test2/KakaraExample.java rename to core/src/test/java/org/kakara/engine/test2/KakaraExample.java diff --git a/src/test/java/org/kakara/engine/test2/Main.java b/core/src/test/java/org/kakara/engine/test2/Main.java similarity index 100% rename from src/test/java/org/kakara/engine/test2/Main.java rename to core/src/test/java/org/kakara/engine/test2/Main.java diff --git a/src/test/java/org/kakara/engine/test2/MainScene.java b/core/src/test/java/org/kakara/engine/test2/MainScene.java similarity index 100% rename from src/test/java/org/kakara/engine/test2/MainScene.java rename to core/src/test/java/org/kakara/engine/test2/MainScene.java diff --git a/src/test/java/org/kakara/engine/test2/RotateCube.java b/core/src/test/java/org/kakara/engine/test2/RotateCube.java similarity index 100% rename from src/test/java/org/kakara/engine/test2/RotateCube.java rename to core/src/test/java/org/kakara/engine/test2/RotateCube.java diff --git a/src/test/resources/ExampleBlock.png b/core/src/test/resources/ExampleBlock.png similarity index 100% rename from src/test/resources/ExampleBlock.png rename to core/src/test/resources/ExampleBlock.png diff --git a/src/test/resources/cube/grassblock.png b/core/src/test/resources/cube/grassblock.png similarity index 100% rename from src/test/resources/cube/grassblock.png rename to core/src/test/resources/cube/grassblock.png diff --git a/src/test/resources/cube/test2.obj b/core/src/test/resources/cube/test2.obj similarity index 100% rename from src/test/resources/cube/test2.obj rename to core/src/test/resources/cube/test2.obj diff --git a/src/test/resources/example_texture.png b/core/src/test/resources/example_texture.png similarity index 100% rename from src/test/resources/example_texture.png rename to core/src/test/resources/example_texture.png diff --git a/src/test/resources/grassblock.png b/core/src/test/resources/grassblock.png similarity index 100% rename from src/test/resources/grassblock.png rename to core/src/test/resources/grassblock.png diff --git a/src/test/resources/oa.png b/core/src/test/resources/oa.png similarity index 100% rename from src/test/resources/oa.png rename to core/src/test/resources/oa.png diff --git a/src/test/resources/oop.png b/core/src/test/resources/oop.png similarity index 100% rename from src/test/resources/oop.png rename to core/src/test/resources/oop.png diff --git a/src/test/resources/ovly2.png b/core/src/test/resources/ovly2.png similarity index 100% rename from src/test/resources/ovly2.png rename to core/src/test/resources/ovly2.png diff --git a/src/test/resources/resources/ExampleBlock.png b/core/src/test/resources/resources/ExampleBlock.png similarity index 100% rename from src/test/resources/resources/ExampleBlock.png rename to core/src/test/resources/resources/ExampleBlock.png diff --git a/src/test/resources/resources/Roboto-Regular.ttf b/core/src/test/resources/resources/Roboto-Regular.ttf similarity index 100% rename from src/test/resources/resources/Roboto-Regular.ttf rename to core/src/test/resources/resources/Roboto-Regular.ttf diff --git a/src/test/resources/resources/block_select.png b/core/src/test/resources/resources/block_select.png similarity index 100% rename from src/test/resources/resources/block_select.png rename to core/src/test/resources/resources/block_select.png diff --git a/src/test/resources/resources/example_texture.png b/core/src/test/resources/resources/example_texture.png similarity index 100% rename from src/test/resources/resources/example_texture.png rename to core/src/test/resources/resources/example_texture.png diff --git a/src/test/resources/resources/fewio.png b/core/src/test/resources/resources/fewio.png similarity index 100% rename from src/test/resources/resources/fewio.png rename to core/src/test/resources/resources/fewio.png diff --git a/src/test/resources/resources/m.png b/core/src/test/resources/resources/m.png similarity index 100% rename from src/test/resources/resources/m.png rename to core/src/test/resources/resources/m.png diff --git a/src/test/resources/resources/oop.png b/core/src/test/resources/resources/oop.png similarity index 100% rename from src/test/resources/resources/oop.png rename to core/src/test/resources/resources/oop.png diff --git a/src/test/resources/resources/ovly2.png b/core/src/test/resources/resources/ovly2.png similarity index 100% rename from src/test/resources/resources/ovly2.png rename to core/src/test/resources/resources/ovly2.png diff --git a/src/test/resources/resources/particle.obj b/core/src/test/resources/resources/particle.obj similarity index 100% rename from src/test/resources/resources/particle.obj rename to core/src/test/resources/resources/particle.obj diff --git a/src/test/resources/resources/particle_anim.png b/core/src/test/resources/resources/particle_anim.png similarity index 100% rename from src/test/resources/resources/particle_anim.png rename to core/src/test/resources/resources/particle_anim.png diff --git a/src/test/resources/resources/player/Steve.png b/core/src/test/resources/resources/player/Steve.png similarity index 100% rename from src/test/resources/resources/player/Steve.png rename to core/src/test/resources/resources/player/Steve.png diff --git a/src/test/resources/resources/player/steve.mtl b/core/src/test/resources/resources/player/steve.mtl similarity index 100% rename from src/test/resources/resources/player/steve.mtl rename to core/src/test/resources/resources/player/steve.mtl diff --git a/src/test/resources/resources/player/steve.obj b/core/src/test/resources/resources/player/steve.obj similarity index 100% rename from src/test/resources/resources/player/steve.obj rename to core/src/test/resources/resources/player/steve.obj diff --git a/src/test/resources/resources/test2/Monkey.mtl b/core/src/test/resources/resources/test2/Monkey.mtl similarity index 100% rename from src/test/resources/resources/test2/Monkey.mtl rename to core/src/test/resources/resources/test2/Monkey.mtl diff --git a/src/test/resources/resources/test2/Monkey.obj b/core/src/test/resources/resources/test2/Monkey.obj similarity index 100% rename from src/test/resources/resources/test2/Monkey.obj rename to core/src/test/resources/resources/test2/Monkey.obj diff --git a/src/test/resources/resources/yeet.png b/core/src/test/resources/resources/yeet.png similarity index 100% rename from src/test/resources/resources/yeet.png rename to core/src/test/resources/resources/yeet.png diff --git a/src/test/resources/skybox.png b/core/src/test/resources/skybox.png similarity index 100% rename from src/test/resources/skybox.png rename to core/src/test/resources/skybox.png diff --git a/src/test/resources/tree/tree.jpg b/core/src/test/resources/tree/tree.jpg similarity index 100% rename from src/test/resources/tree/tree.jpg rename to core/src/test/resources/tree/tree.jpg diff --git a/src/test/resources/tree/tree.mtl b/core/src/test/resources/tree/tree.mtl similarity index 100% rename from src/test/resources/tree/tree.mtl rename to core/src/test/resources/tree/tree.mtl diff --git a/src/test/resources/tree/tree.obj b/core/src/test/resources/tree/tree.obj similarity index 100% rename from src/test/resources/tree/tree.obj rename to core/src/test/resources/tree/tree.obj diff --git a/src/test/resources/yeet.png b/core/src/test/resources/yeet.png similarity index 100% rename from src/test/resources/yeet.png rename to core/src/test/resources/yeet.png diff --git a/linux/build.gradle.kts b/linux/build.gradle.kts new file mode 100644 index 0000000..d190c77 --- /dev/null +++ b/linux/build.gradle.kts @@ -0,0 +1,94 @@ +import org.gradle.internal.os.OperatingSystem + +plugins { + java + `java-library` + id("com.github.johnrengelman.shadow") version "7.1.2" + id("org.kakara.versionfile") version "1.0.0" + `maven-publish` + signing +} + +val lwjglVersion = "3.2.3" +val jomlVersion = "1.9.25" + +// LWJGL Native Versions +var lwjglNatives = when (OperatingSystem.current()) { + OperatingSystem.LINUX -> System.getProperty("os.arch").let { + if (it.startsWith("arm") || it.startsWith("aarch64")) + "natives-linux-${if (it.contains("64") || it.startsWith("armv8")) "arm64" else "arm32"}" + else + "natives-linux" + } + OperatingSystem.WINDOWS -> if (System.getProperty("os.arch") + .contains("64") + ) "natives-windows" else "natives-windows-x86" + OperatingSystem.MAC_OS -> "natives-macos" + else -> throw Error("Unrecognized or unsupported Operating system. Please set \"lwjglNatives\" manually") +} + +if (hasProperty("native")) { + lwjglNatives = properties.get("native").toString() +} + +group = "org.kakara" +val artifactName = "engine-linux" +var build = "0" +var branch = "" + +if (hasProperty("branch")) { + branch = properties.get("branch").toString() +} + +if (hasProperty("buildNumber")) { + version = org.kakara.engine.Version.getEngineVersion(properties.get("buildNumber").toString(), branch); +} else { + version = org.kakara.engine.Version.getEngineVersion("", branch); +} + +java { + targetCompatibility = JavaVersion.VERSION_17 + sourceCompatibility = JavaVersion.VERSION_17 + withJavadocJar() + withSourcesJar() +} + +repositories { + mavenCentral() + maven("https://repo.ryandw11.com/repository/maven-releases") + jcenter() +} + +publishing { + publications { + + create("mavenJava") { + artifact(tasks["shadowJar"]) + + artifactId = artifactName + versionMapping { + usage("java-api") { + fromResolutionOf("runtimeClasspath") + } + usage("java-runtime") { + fromResolutionResult() + } + } + pom { + name.set(artifactName) + } + } + } + repositories { + maven { + + val releasesRepoUrl = uri("https://repo.kingtux.me/storages/maven/kakara") + val snapshotsRepoUrl = uri("https://repo.kingtux.me/storages/maven/kakara") + url = if (version.toString().endsWith("SNAPSHOT")) snapshotsRepoUrl else releasesRepoUrl + credentials(PasswordCredentials::class) + + } + mavenLocal() + } +} + diff --git a/settings.gradle.kts b/settings.gradle.kts index 577cd56..a66d7db 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,5 +1,7 @@ rootProject.name = "engine" - +include("core") +include("linux") +include("windows") object Versions { diff --git a/windows/build.gradle.kts b/windows/build.gradle.kts new file mode 100644 index 0000000..c8e1d9c --- /dev/null +++ b/windows/build.gradle.kts @@ -0,0 +1,94 @@ +import org.gradle.internal.os.OperatingSystem + +plugins { + java + `java-library` + id("com.github.johnrengelman.shadow") version "7.1.2" + id("org.kakara.versionfile") version "1.0.0" + `maven-publish` + signing +} + +val lwjglVersion = "3.2.3" +val jomlVersion = "1.9.25" + +// LWJGL Native Versions +var lwjglNatives = when (OperatingSystem.current()) { + OperatingSystem.LINUX -> System.getProperty("os.arch").let { + if (it.startsWith("arm") || it.startsWith("aarch64")) + "natives-linux-${if (it.contains("64") || it.startsWith("armv8")) "arm64" else "arm32"}" + else + "natives-linux" + } + OperatingSystem.WINDOWS -> if (System.getProperty("os.arch") + .contains("64") + ) "natives-windows" else "natives-windows-x86" + OperatingSystem.MAC_OS -> "natives-macos" + else -> throw Error("Unrecognized or unsupported Operating system. Please set \"lwjglNatives\" manually") +} + +if (hasProperty("native")) { + lwjglNatives = properties.get("native").toString() +} + +group = "org.kakara" +val artifactName = "engine-windows" +var build = "0" +var branch = "" + +if (hasProperty("branch")) { + branch = properties.get("branch").toString() +} + +if (hasProperty("buildNumber")) { + version = org.kakara.engine.Version.getEngineVersion(properties.get("buildNumber").toString(), branch); +} else { + version = org.kakara.engine.Version.getEngineVersion("", branch); +} + +java { + targetCompatibility = JavaVersion.VERSION_17 + sourceCompatibility = JavaVersion.VERSION_17 + withJavadocJar() + withSourcesJar() +} + +repositories { + mavenCentral() + maven("https://repo.ryandw11.com/repository/maven-releases") + jcenter() +} + +publishing { + publications { + + create("mavenJava") { + artifact(tasks["shadowJar"]) + + artifactId = artifactName + versionMapping { + usage("java-api") { + fromResolutionOf("runtimeClasspath") + } + usage("java-runtime") { + fromResolutionResult() + } + } + pom { + name.set(artifactName) + } + } + } + repositories { + maven { + + val releasesRepoUrl = uri("https://repo.kingtux.me/storages/maven/kakara") + val snapshotsRepoUrl = uri("https://repo.kingtux.me/storages/maven/kakara") + url = if (version.toString().endsWith("SNAPSHOT")) snapshotsRepoUrl else releasesRepoUrl + credentials(PasswordCredentials::class) + + } + mavenLocal() + } +} +