diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index cd7f874..8ac1d14 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -1,4 +1,4 @@ -name: Build Multi-Platform +name: Build and upload project on: push: @@ -9,35 +9,30 @@ on: jobs: build: runs-on: ubuntu-latest - name: Build Universal Jar - + name: Build All steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Set up JDK 21 - uses: actions/setup-java@v4 + - uses: actions/checkout@v4 + - uses: actions/setup-java@v4 with: java-version: '21' distribution: 'temurin' + - uses: gradle/actions/setup-gradle@v4 - - name: Grant execute permission for gradlew - run: chmod +x gradlew - - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v4 - - - name: Build Client (ShadowJar) & Server - run: ./gradlew shadowJar buildServer + - name: Build Desktop & Server + run: ./gradlew :lwjgl3:shadowJar :server:buildServer - name: Upload Client Shadow Jar uses: actions/upload-artifact@v4 with: - name: TheEndlessWeave-Client-Universal - path: build/libs/*-client.jar - + name: TheEndlessWeave-Desktop + path: lwjgl3/build/libs/*-client.jar - name: Upload Server Jar uses: actions/upload-artifact@v4 with: - name: TheEndlessWeave-Server-x64 - path: build/libs/*-server.jar \ No newline at end of file + name: TheEndlessWeave-Server + path: lwjgl3/build/libs/*-server.jar + - name: Upload Android APK + uses: actions/upload-artifact@v4 + with: + name: TheEndlessWeave-Android + path: android/build/outputs/apk/debug/*.apk \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml index ce1c62c..df4118f 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -8,6 +8,11 @@ diff --git a/.idea/misc.xml b/.idea/misc.xml index f0c744c..43b1638 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,7 +1,7 @@ - + \ No newline at end of file diff --git a/README.md b/README.md index fac1f6f..3e6bf5d 100644 --- a/README.md +++ b/README.md @@ -50,10 +50,17 @@ java -jar filename-client.jar --server - [X] создать ветку и настроить `build.gradle.kts`. - Баги/проблемы (исправить) - ? Из-за написанного кода под javafx, на клиенте могут возникать проблемы с логикой из-за другой системы координат в libgdx, например, при просчёте логики полёта пуль, необходимо домножать скорость на размер тайлов. + - [ ] коллизия/рендер пулек поломались и они могут заходить сквозь стены. + - ? вероятно при нестандарных размерах экрана рендер ломается. - [X] сервер не удаляет игрока, если он отключился. - [ ] клиент рендерит других игроков как врагов. - [X] ui не масштабируется как надо при изменении размера окна. - [ ] при очень высоких значениях fps плавное движение камеры менее заметно. + - [ ] при fullscreen размер окна равен разрешению в настройках + - [ ] если на мобильном устройстве поменять разрешение в настройках то игра крашнет + - solution: скрыть для мобильных устройств настройки разрешения. + - сделать в Main метод isMobile для проверки среды без и с учётом выбранного управления + - [ ] Сделать возможность подключения к внешним серверам. Обезопасить интегрированный сервер от не локальных подключений. - ! Вернуться к фазовым планам. --- diff --git a/android/build.gradle.kts b/android/build.gradle.kts new file mode 100644 index 0000000..03d11f0 --- /dev/null +++ b/android/build.gradle.kts @@ -0,0 +1,105 @@ +plugins { + id("com.android.application") + kotlin("android") +} +evaluationDependsOn(":core") + +val gdxVersion: String by project + +val natives = configurations.create("natives") + +android { + namespace = "xyz.samiker.theendlessweave" + compileSdk = 35 + + defaultConfig { + applicationId = "xyz.samiker.theendlessweave" + minSdk = 28 + targetSdk = 35 + versionCode = 1 + versionName = "0.4.0" + } + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + isCoreLibraryDesugaringEnabled = true + } + + kotlinOptions { + jvmTarget = "1.8" + } + + sourceSets { + getByName("main") { + assets.srcDirs("../assets") + jniLibs.srcDirs("libs") + + val coreProjectDir = project(":core").projectDir + assets.srcDir("$coreProjectDir/build/generated/resources") + } + } + + applicationVariants.all { + val variant = this + variant.outputs.all { + val output = this as com.android.build.gradle.internal.api.ApkVariantOutputImpl + val name = "TheEndlessWeave.apk" + output.outputFileName = name + } + } +} + +dependencies { + implementation(project(":core")) + implementation("com.badlogicgames.gdx:gdx-backend-android:$gdxVersion") + + add("natives", "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi-v7a") + add("natives", "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-arm64-v8a") + add("natives", "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86") + add("natives", "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86_64") + + coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.0.4") +} + +tasks.register("copyAndroidNatives") { + doFirst { + file("libs/armeabi-v7a/").mkdirs() + file("libs/arm64-v8a/").mkdirs() + file("libs/x86_64/").mkdirs() + file("libs/x86/").mkdirs() + + natives.files.forEach { jar -> + var outputDir: File? = null + if (jar.name.endsWith("natives-armeabi-v7a.jar")) outputDir = file("libs/armeabi-v7a/") + if (jar.name.endsWith("natives-arm64-v8a.jar")) outputDir = file("libs/arm64-v8a/") + if (jar.name.endsWith("natives-x86_64.jar")) outputDir = file("libs/x86_64/") + if (jar.name.endsWith("natives-x86.jar")) outputDir = file("libs/x86/") + + if (outputDir != null) { + copy { + from(zipTree(jar)) + into(outputDir) + include("*.so") + } + } + } + } +} + +tasks.matching { it.name.contains("merge") && it.name.contains("JniLibFolders") }.configureEach { + dependsOn("copyAndroidNatives") +} + +val generateManifestTask = project(":core").tasks.named("generateResourceManifest") + +tasks.withType().configureEach { + dependsOn(generateManifestTask) +} + +afterEvaluate { + val genTask = project(":core").tasks.named("generateResourceManifest") + tasks.withType().configureEach { + dependsOn(genTask) + } +} \ No newline at end of file diff --git a/android/src/main/AndroidManifest.xml b/android/src/main/AndroidManifest.xml new file mode 100644 index 0000000..9d21d1e --- /dev/null +++ b/android/src/main/AndroidManifest.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/android/src/main/java/xyz/samiker/theendlessweave/AndroidLauncher.java b/android/src/main/java/xyz/samiker/theendlessweave/AndroidLauncher.java new file mode 100644 index 0000000..4cec128 --- /dev/null +++ b/android/src/main/java/xyz/samiker/theendlessweave/AndroidLauncher.java @@ -0,0 +1,44 @@ +package xyz.samiker.theendlessweave; + +import android.os.Bundle; +import com.badlogic.gdx.backends.android.AndroidApplication; +import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration; +import xyz.samiker.theendlessweave.Main; + +import java.io.File; +import java.io.PrintWriter; +import java.io.FileOutputStream; +import java.util.Date; + +public class AndroidLauncher extends AndroidApplication { + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + AndroidApplicationConfiguration config = new AndroidApplicationConfiguration(); + + config.useAccelerometer = false; + config.useCompass = false; + config.useImmersiveMode = true; + + initialize(new Main(), config); + + Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() { + @Override + public void uncaughtException(Thread thread, Throwable throwable) { + logError(throwable); + System.exit(1); + } + }); + } + private void logError(Throwable t) { + File logFile = new File(getExternalFilesDir(null), "crash_log.txt"); + try (PrintWriter pw = new PrintWriter(new FileOutputStream(logFile, true))) { + pw.println("\n--- CRASH ---"); + pw.println("Date: " + new Date()); + t.printStackTrace(pw); + pw.flush(); + } catch (Exception e) { + e.printStackTrace(); + } + } +} \ No newline at end of file diff --git a/android/src/main/res/mipmap-mdpi/ic_launcher.png b/android/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000..3c75ef0 Binary files /dev/null and b/android/src/main/res/mipmap-mdpi/ic_launcher.png differ diff --git a/android/src/main/res/values/strings.xml b/android/src/main/res/values/strings.xml new file mode 100644 index 0000000..39aeb38 --- /dev/null +++ b/android/src/main/res/values/strings.xml @@ -0,0 +1,4 @@ + + + The Endless Weave + \ No newline at end of file diff --git a/android/src/main/res/values/styles.xml b/android/src/main/res/values/styles.xml new file mode 100644 index 0000000..43ddf59 --- /dev/null +++ b/android/src/main/res/values/styles.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/src/main/resources/xyz/samiker/theendlessweave/assets/textures/tiles/door.png b/assets/textures/tiles/door.png similarity index 100% rename from src/main/resources/xyz/samiker/theendlessweave/assets/textures/tiles/door.png rename to assets/textures/tiles/door.png diff --git a/src/main/resources/xyz/samiker/theendlessweave/assets/textures/tiles/floor_1.png b/assets/textures/tiles/floor_1.png similarity index 100% rename from src/main/resources/xyz/samiker/theendlessweave/assets/textures/tiles/floor_1.png rename to assets/textures/tiles/floor_1.png diff --git a/src/main/resources/xyz/samiker/theendlessweave/assets/textures/tiles/wall.png b/assets/textures/tiles/wall.png similarity index 100% rename from src/main/resources/xyz/samiker/theendlessweave/assets/textures/tiles/wall.png rename to assets/textures/tiles/wall.png diff --git a/src/main/resources/xyz/samiker/theendlessweave/assets/ui/default.fnt b/assets/ui/default.fnt similarity index 100% rename from src/main/resources/xyz/samiker/theendlessweave/assets/ui/default.fnt rename to assets/ui/default.fnt diff --git a/src/main/resources/xyz/samiker/theendlessweave/assets/ui/default.png b/assets/ui/default.png similarity index 100% rename from src/main/resources/xyz/samiker/theendlessweave/assets/ui/default.png rename to assets/ui/default.png diff --git a/src/main/resources/xyz/samiker/theendlessweave/assets/ui/uiskin.atlas b/assets/ui/uiskin.atlas similarity index 100% rename from src/main/resources/xyz/samiker/theendlessweave/assets/ui/uiskin.atlas rename to assets/ui/uiskin.atlas diff --git a/src/main/resources/xyz/samiker/theendlessweave/assets/ui/uiskin.json b/assets/ui/uiskin.json similarity index 100% rename from src/main/resources/xyz/samiker/theendlessweave/assets/ui/uiskin.json rename to assets/ui/uiskin.json diff --git a/src/main/resources/xyz/samiker/theendlessweave/assets/ui/uiskin.png b/assets/ui/uiskin.png similarity index 100% rename from src/main/resources/xyz/samiker/theendlessweave/assets/ui/uiskin.png rename to assets/ui/uiskin.png diff --git a/build.gradle.kts b/build.gradle.kts index 369598d..f570c95 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,133 +1,25 @@ -import java.util.Date - -plugins { - java - application - id("com.github.johnrengelman.shadow") version "8.1.1" -} - -group = "xyz.samiker" -version = "0.4.0" - -val gdxVersion = "1.14.0" - -repositories { - mavenCentral() - maven { url = uri("https://oss.sonatype.org/content/repositories/snapshots/") } - maven { url = uri("https://oss.sonatype.org/content/repositories/releases/") } -} - -java { - toolchain { - languageVersion = JavaLanguageVersion.of(21) - vendor.set(JvmVendorSpec.ADOPTIUM) - } -} - -application { - mainClass.set("xyz.samiker.theendlessweave.Launcher") -} - -dependencies { - implementation("com.badlogicgames.gdx:gdx:$gdxVersion") - implementation("com.badlogicgames.gdx:gdx-backend-lwjgl3:$gdxVersion") - implementation("com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop") - implementation("com.esotericsoftware:kryonet:2.22.0-RC1") -} - -tasks.withType { - options.encoding = "UTF-8" -} - -tasks.named("run") { - if (org.gradle.internal.os.OperatingSystem.current().isMacOsX) { - jvmArgs("-XstartOnFirstThread") - } -} - -tasks.register("buildServer") { - group = "build" - description = "Билдит сервер без графического бэкенда и нативов" - - archiveClassifier.set("server") - - manifest { - attributes["Main-Class"] = "xyz.samiker.theendlessweave.server.ServerLauncher" +buildscript { + repositories { + google() + mavenCentral() } - - from(sourceSets.main.get().output) { - exclude("xyz/samiker/theendlessweave/client/**") - - exclude("assets/**") - } - - val serverClasspath = configurations.runtimeClasspath.get().filter { file -> - val name = file.name.lowercase() - !name.contains("gdx-backend-lwjgl3") && - !name.contains("natives") - } - - from(serverClasspath.map { if (it.isDirectory) it else zipTree(it) }) { - exclude("META-INF/*.SF", "META-INF/*.DSA", "META-INF/*.RSA") - exclude("META-INF/MANIFEST.MF") - exclude("module-info.class") + dependencies { + classpath("com.android.tools.build:gradle:8.2.1") + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.22") } - - duplicatesStrategy = DuplicatesStrategy.EXCLUDE } -tasks.named("shadowJar") { - archiveClassifier.set("client") - configurations = listOf(project.configurations.runtimeClasspath.get()) +allprojects { + apply(plugin = "eclipse") - mergeServiceFiles() + version = "0.4.0" + group = "xyz.samiker" - manifest { - attributes["Main-Class"] = "xyz.samiker.theendlessweave.Launcher" + repositories { + google() + mavenCentral() + maven("https://oss.sonatype.org/content/repositories/snapshots/") + maven("https://oss.sonatype.org/content/repositories/releases/") + maven("https://jitpack.io") } -} - -tasks.register("generateResourceManifest") { - description = "Generates a manifest of all resource files." - group = "build" - - val resourceDir = project.layout.projectDirectory.dir("src/main/resources") - inputs.dir(resourceDir) - - val outputDir = layout.buildDirectory.dir("resources/generateResourceManifest") - val manifestFile = outputDir.get().file("resources-manifest.txt") - outputs.file(manifestFile) - - doLast { - println("Generating resource manifest to: ${manifestFile.asFile.path}") - val manifestContent = StringBuilder() - manifestContent.append("# Resource Manifest\n") - manifestContent.append("# Generated on: ${Date()}\n\n") - - resourceDir.asFile.walk().forEach { file -> - if (file.isFile) { - val relativePath = file.relativeTo(resourceDir.asFile).path - manifestContent.append("resource.name=${file.name}\n") - manifestContent.append("resource.path=${relativePath.replace(File.separatorChar, '/')}\n\n") - } - } - outputDir.get().asFile.mkdirs() - manifestFile.asFile.writeText(manifestContent.toString()) - } -} - -sourceSets { - main { - resources { - srcDir(layout.buildDirectory.dir("resources/generateResourceManifest")) - } - } -} - -tasks.named("processResources") { - dependsOn(tasks.named("generateResourceManifest")) -} - -tasks.withType { - useJUnitPlatform() } \ No newline at end of file diff --git a/core/build.gradle.kts b/core/build.gradle.kts new file mode 100644 index 0000000..b96542e --- /dev/null +++ b/core/build.gradle.kts @@ -0,0 +1,62 @@ +import java.util.Date + +plugins { + java + id("java-library") +} + +val gdxVersion: String by project + +dependencies { + api(project(":shared")) + api(project(":server")) + api("com.badlogicgames.gdx:gdx:$gdxVersion") +} + +tasks.register("generateResourceManifest") { + description = "Generates a manifest of all resource files." + group = "build" + + val resourceDir = project.layout.projectDirectory.dir("../assets") + inputs.dir(resourceDir) + + val outputDir = layout.buildDirectory.dir("generated/resources") + val manifestFile = outputDir.get().file("resources-manifest.txt") + outputs.file(manifestFile) + + doLast { + if (!resourceDir.asFile.exists()) { + println("Warning: assets directory not found at ${resourceDir.asFile.path}") + return@doLast + } + + val manifestContent = StringBuilder() + manifestContent.append("# Resource Manifest\n") + manifestContent.append("# Generated on: ${Date()}\n\n") + + resourceDir.asFile.walk().forEach { file -> + if (file.isFile) { + val relativePath = file.relativeTo(resourceDir.asFile).path + manifestContent.append("resource.name=${file.name}\n") + manifestContent.append("resource.path=${relativePath.replace(File.separatorChar, '/')}\n\n") + } + } + outputDir.get().asFile.mkdirs() + manifestFile.asFile.writeText(manifestContent.toString()) + println("Manifest generated: ${manifestFile.asFile.path}") + } +} + +sourceSets { + main { + resources { + srcDir(layout.buildDirectory.dir("generated/resources")) + } + } +} + +tasks.named("processResources") { + dependsOn("generateResourceManifest") +} + +java { toolchain { languageVersion.set(JavaLanguageVersion.of(17)) } } \ No newline at end of file diff --git a/src/main/java/xyz/samiker/theendlessweave/Main.java b/core/src/main/java/xyz/samiker/theendlessweave/Main.java similarity index 74% rename from src/main/java/xyz/samiker/theendlessweave/Main.java rename to core/src/main/java/xyz/samiker/theendlessweave/Main.java index ef1f9e0..675f69b 100644 --- a/src/main/java/xyz/samiker/theendlessweave/Main.java +++ b/core/src/main/java/xyz/samiker/theendlessweave/Main.java @@ -1,25 +1,29 @@ package xyz.samiker.theendlessweave; +import com.badlogic.gdx.Application; import com.badlogic.gdx.Game; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.g2d.SpriteBatch; -import xyz.samiker.theendlessweave.client.assets.ManifestAssetManager; -import xyz.samiker.theendlessweave.client.assets.ResourceManifest; -import xyz.samiker.theendlessweave.client.screens.LoadingScreen; -import xyz.samiker.theendlessweave.client.settings.ClientSettings; -import xyz.samiker.theendlessweave.core.settings.SettingsManager; +import xyz.samiker.theendlessweave.assetsManager.ManifestAssetManager; +import xyz.samiker.theendlessweave.assetsManager.ResourceManifest; +import xyz.samiker.theendlessweave.screens.LoadingScreen; +import xyz.samiker.theendlessweave.settings.ClientSettings; +import xyz.samiker.theendlessweave.settings.SettingsManager; import java.io.IOException; public class Main extends Game { public SpriteBatch batch; private ManifestAssetManager assetManager; + public static boolean isMobile; + @Override public void create() { batch = new SpriteBatch(); try { assetManager = new ManifestAssetManager(ResourceManifest.load()); + isMobile = (Gdx.app.getType() == Application.ApplicationType.Android || Gdx.app.getType() == Application.ApplicationType.iOS) || SettingsManager.getString(ClientSettings.CONTROL).contains("mobile"); } catch (IOException e) { throw new RuntimeException(e); } diff --git a/src/main/java/xyz/samiker/theendlessweave/client/assets/AssetLoadCallback.java b/core/src/main/java/xyz/samiker/theendlessweave/assetsManager/AssetLoadCallback.java similarity index 88% rename from src/main/java/xyz/samiker/theendlessweave/client/assets/AssetLoadCallback.java rename to core/src/main/java/xyz/samiker/theendlessweave/assetsManager/AssetLoadCallback.java index 3388a22..5c0a465 100644 --- a/src/main/java/xyz/samiker/theendlessweave/client/assets/AssetLoadCallback.java +++ b/core/src/main/java/xyz/samiker/theendlessweave/assetsManager/AssetLoadCallback.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.client.assets; +package xyz.samiker.theendlessweave.assetsManager; public interface AssetLoadCallback { void onCategoryStart(String category); diff --git a/src/main/java/xyz/samiker/theendlessweave/client/assets/ManifestAssetManager.java b/core/src/main/java/xyz/samiker/theendlessweave/assetsManager/ManifestAssetManager.java similarity index 98% rename from src/main/java/xyz/samiker/theendlessweave/client/assets/ManifestAssetManager.java rename to core/src/main/java/xyz/samiker/theendlessweave/assetsManager/ManifestAssetManager.java index 20cf2cc..a60654e 100644 --- a/src/main/java/xyz/samiker/theendlessweave/client/assets/ManifestAssetManager.java +++ b/core/src/main/java/xyz/samiker/theendlessweave/assetsManager/ManifestAssetManager.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.client.assets; +package xyz.samiker.theendlessweave.assetsManager; import com.badlogic.gdx.assets.AssetManager; import com.badlogic.gdx.assets.loaders.TextureLoader; diff --git a/src/main/java/xyz/samiker/theendlessweave/client/assets/ResourceManifest.java b/core/src/main/java/xyz/samiker/theendlessweave/assetsManager/ResourceManifest.java similarity index 98% rename from src/main/java/xyz/samiker/theendlessweave/client/assets/ResourceManifest.java rename to core/src/main/java/xyz/samiker/theendlessweave/assetsManager/ResourceManifest.java index 622a88d..05691f9 100644 --- a/src/main/java/xyz/samiker/theendlessweave/client/assets/ResourceManifest.java +++ b/core/src/main/java/xyz/samiker/theendlessweave/assetsManager/ResourceManifest.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.client.assets; +package xyz.samiker.theendlessweave.assetsManager; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.files.FileHandle; diff --git a/src/main/java/xyz/samiker/theendlessweave/client/assets/SoundManager.java b/core/src/main/java/xyz/samiker/theendlessweave/assetsManager/SoundManager.java similarity index 96% rename from src/main/java/xyz/samiker/theendlessweave/client/assets/SoundManager.java rename to core/src/main/java/xyz/samiker/theendlessweave/assetsManager/SoundManager.java index 8adab91..f2dd94e 100644 --- a/src/main/java/xyz/samiker/theendlessweave/client/assets/SoundManager.java +++ b/core/src/main/java/xyz/samiker/theendlessweave/assetsManager/SoundManager.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.client.assets; +package xyz.samiker.theendlessweave.assetsManager; import com.badlogic.gdx.audio.Music; import com.badlogic.gdx.audio.Sound; diff --git a/src/main/java/xyz/samiker/theendlessweave/client/assets/TextureManager.java b/core/src/main/java/xyz/samiker/theendlessweave/assetsManager/TextureManager.java similarity index 90% rename from src/main/java/xyz/samiker/theendlessweave/client/assets/TextureManager.java rename to core/src/main/java/xyz/samiker/theendlessweave/assetsManager/TextureManager.java index 067cff7..89fe010 100644 --- a/src/main/java/xyz/samiker/theendlessweave/client/assets/TextureManager.java +++ b/core/src/main/java/xyz/samiker/theendlessweave/assetsManager/TextureManager.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.client.assets; +package xyz.samiker.theendlessweave.assetsManager; import com.badlogic.gdx.graphics.Texture; diff --git a/src/main/java/xyz/samiker/theendlessweave/client/custom/InputManager.java b/core/src/main/java/xyz/samiker/theendlessweave/custom/InputManager.java similarity index 98% rename from src/main/java/xyz/samiker/theendlessweave/client/custom/InputManager.java rename to core/src/main/java/xyz/samiker/theendlessweave/custom/InputManager.java index c04389c..75c8ea8 100644 --- a/src/main/java/xyz/samiker/theendlessweave/client/custom/InputManager.java +++ b/core/src/main/java/xyz/samiker/theendlessweave/custom/InputManager.java @@ -1,11 +1,11 @@ -package xyz.samiker.theendlessweave.client.custom; +package xyz.samiker.theendlessweave.custom; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Input; import com.badlogic.gdx.InputAdapter; import com.badlogic.gdx.InputProcessor; -import xyz.samiker.theendlessweave.core.utils.Array; -import xyz.samiker.theendlessweave.core.utils.IntObjectMap; +import xyz.samiker.theendlessweave.utils.Array; +import xyz.samiker.theendlessweave.utils.IntObjectMap; import java.util.Arrays; import java.util.function.Consumer; diff --git a/src/main/java/xyz/samiker/theendlessweave/client/network/GameClient.java b/core/src/main/java/xyz/samiker/theendlessweave/network/GameClient.java similarity index 83% rename from src/main/java/xyz/samiker/theendlessweave/client/network/GameClient.java rename to core/src/main/java/xyz/samiker/theendlessweave/network/GameClient.java index bb3e9a9..1d18034 100644 --- a/src/main/java/xyz/samiker/theendlessweave/client/network/GameClient.java +++ b/core/src/main/java/xyz/samiker/theendlessweave/network/GameClient.java @@ -1,15 +1,15 @@ -package xyz.samiker.theendlessweave.client.network; +package xyz.samiker.theendlessweave.network; import com.badlogic.gdx.Gdx; import com.esotericsoftware.kryonet.Client; import com.esotericsoftware.kryonet.Connection; import com.esotericsoftware.kryonet.Listener; -import xyz.samiker.theendlessweave.core.GameData; -import xyz.samiker.theendlessweave.core.network.NetworkRegister; -import xyz.samiker.theendlessweave.core.network.packets.PacketLoginRequest; -import xyz.samiker.theendlessweave.core.network.packets.PacketLoginResponse; -import xyz.samiker.theendlessweave.core.network.packets.PacketSnapshot; -import xyz.samiker.theendlessweave.core.utils.Array; +import xyz.samiker.theendlessweave.GameData; +import xyz.samiker.theendlessweave.network.NetworkRegister; +import xyz.samiker.theendlessweave.network.packets.PacketLoginRequest; +import xyz.samiker.theendlessweave.network.packets.PacketLoginResponse; +import xyz.samiker.theendlessweave.network.packets.PacketSnapshot; +import xyz.samiker.theendlessweave.utils.Array; import java.io.IOException; import java.util.function.Consumer; diff --git a/src/main/java/xyz/samiker/theendlessweave/client/screens/AssetAware.java b/core/src/main/java/xyz/samiker/theendlessweave/screens/AssetAware.java similarity index 64% rename from src/main/java/xyz/samiker/theendlessweave/client/screens/AssetAware.java rename to core/src/main/java/xyz/samiker/theendlessweave/screens/AssetAware.java index 7870e30..b410104 100644 --- a/src/main/java/xyz/samiker/theendlessweave/client/screens/AssetAware.java +++ b/core/src/main/java/xyz/samiker/theendlessweave/screens/AssetAware.java @@ -1,6 +1,6 @@ -package xyz.samiker.theendlessweave.client.screens; +package xyz.samiker.theendlessweave.screens; -import xyz.samiker.theendlessweave.client.assets.ManifestAssetManager; +import xyz.samiker.theendlessweave.assetsManager.ManifestAssetManager; import java.net.URL; import java.util.ResourceBundle; diff --git a/core/src/main/java/xyz/samiker/theendlessweave/screens/GameDataAware.java b/core/src/main/java/xyz/samiker/theendlessweave/screens/GameDataAware.java new file mode 100644 index 0000000..09ac50f --- /dev/null +++ b/core/src/main/java/xyz/samiker/theendlessweave/screens/GameDataAware.java @@ -0,0 +1,7 @@ +package xyz.samiker.theendlessweave.screens; + +import xyz.samiker.theendlessweave.GameData; + +public interface GameDataAware { + void setData(GameData data); +} diff --git a/src/main/java/xyz/samiker/theendlessweave/client/screens/GameScreen.java b/core/src/main/java/xyz/samiker/theendlessweave/screens/GameScreen.java similarity index 89% rename from src/main/java/xyz/samiker/theendlessweave/client/screens/GameScreen.java rename to core/src/main/java/xyz/samiker/theendlessweave/screens/GameScreen.java index caf18d2..d77d487 100644 --- a/src/main/java/xyz/samiker/theendlessweave/client/screens/GameScreen.java +++ b/core/src/main/java/xyz/samiker/theendlessweave/screens/GameScreen.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.client.screens; +package xyz.samiker.theendlessweave.screens; import com.badlogic.gdx.*; import com.badlogic.gdx.graphics.OrthographicCamera; @@ -15,20 +15,20 @@ import com.badlogic.gdx.utils.viewport.ScreenViewport; import com.badlogic.gdx.utils.viewport.Viewport; import xyz.samiker.theendlessweave.Main; -import xyz.samiker.theendlessweave.client.assets.ManifestAssetManager; -import xyz.samiker.theendlessweave.client.custom.InputManager; -import xyz.samiker.theendlessweave.client.network.GameClient; -import xyz.samiker.theendlessweave.client.settings.ClientSettings; -import xyz.samiker.theendlessweave.client.systems.*; -import xyz.samiker.theendlessweave.core.GameData; -import xyz.samiker.theendlessweave.core.entities.Entity; -import xyz.samiker.theendlessweave.core.entities.components.PositionComponent; -import xyz.samiker.theendlessweave.core.logic.Game; -import xyz.samiker.theendlessweave.core.logic.GameState; -import xyz.samiker.theendlessweave.core.logic.Loop; -import xyz.samiker.theendlessweave.core.network.packets.PacketLoginResponse; -import xyz.samiker.theendlessweave.core.settings.SettingsManager; -import xyz.samiker.theendlessweave.server.ServerLauncher; +import xyz.samiker.theendlessweave.assetsManager.ManifestAssetManager; +import xyz.samiker.theendlessweave.custom.InputManager; +import xyz.samiker.theendlessweave.network.GameClient; +import xyz.samiker.theendlessweave.settings.ClientSettings; +import xyz.samiker.theendlessweave.systems.*; +import xyz.samiker.theendlessweave.GameData; +import xyz.samiker.theendlessweave.entities.Entity; +import xyz.samiker.theendlessweave.entities.components.PositionComponent; +import xyz.samiker.theendlessweave.logic.Game; +import xyz.samiker.theendlessweave.logic.GameState; +import xyz.samiker.theendlessweave.logic.Loop; +import xyz.samiker.theendlessweave.network.packets.PacketLoginResponse; +import xyz.samiker.theendlessweave.settings.SettingsManager; +import xyz.samiker.theendlessweave.ServerLauncher; import java.io.IOException; @@ -54,7 +54,6 @@ public class GameScreen implements Screen { private Touchpad moveStick; private Touchpad aimStick; private TextButton attackBtn; - private boolean isMobile; private Game gameLogic; private Loop gameLoop; @@ -86,7 +85,7 @@ public void show() { uiStage = new Stage(new ScreenViewport()); - skin = new Skin(Gdx.files.internal("xyz/samiker/theendlessweave/assets/ui/uiskin.json")); + skin = new Skin(Gdx.files.internal("ui/uiskin.json")); setupUI(); @@ -132,9 +131,7 @@ private void setupUI() { private void setupMobileControls() { String controlMode = SettingsManager.getString(ClientSettings.CONTROL); if ("auto".equals(controlMode)) { - controlMode = (Gdx.app.getType() == Application.ApplicationType.Android || - Gdx.app.getType() == Application.ApplicationType.iOS) - ? "mobile_aim_joystick" : "pc"; + controlMode = Main.isMobile ? "mobile_aim_joystick" : "pc"; } if ("pc".equals(controlMode)) return; @@ -172,9 +169,9 @@ public void touchUp(InputEvent event, float x, float y, int pointer, int button) private void updateUI() { debugLabel.setPosition(10, Gdx.graphics.getHeight() / 2f); - if (isMobile) { - aimStick.setBounds(Gdx.graphics.getWidth() - 250, 50, 200, 200); - attackBtn.setPosition(Gdx.graphics.getWidth() - 150, Gdx.graphics.getHeight() - 300); + if (Main.isMobile) { + if (aimStick != null) aimStick.setBounds(Gdx.graphics.getWidth() - 250, 50, 200, 200); + if (attackBtn != null) attackBtn.setPosition(Gdx.graphics.getWidth() - 150, Gdx.graphics.getHeight() - 300); } } @@ -260,7 +257,7 @@ private void initializeGameSession(PacketLoginResponse serverData) { var map = gameLogic.getGameMap(); var profiler = gameLogic.getProfiler(); InputSystem inputSystem = new InputSystem(client, gameLogic, gameCamera); - inputSystem.setInputMode(isMobile); + inputSystem.setInputMode(Main.isMobile); gameLogic.addLogicSystem(new ClientNetworkEventSystem(client, gameLogic)); gameLogic.addLogicSystem(inputSystem); @@ -300,7 +297,7 @@ public void render(float delta) { gameCamera.update(); batch.setProjectionMatrix(gameCamera.combined); - if (isMobile) { + if (Main.isMobile) { double deadzone = 0.3; if (moveStick != null) { InputManager.handleAxis(moveStick.getKnobPercentX(), deadzone, Input.Keys.D, Input.Keys.A); diff --git a/src/main/java/xyz/samiker/theendlessweave/client/screens/GenerationScreen.java b/core/src/main/java/xyz/samiker/theendlessweave/screens/GenerationScreen.java similarity index 98% rename from src/main/java/xyz/samiker/theendlessweave/client/screens/GenerationScreen.java rename to core/src/main/java/xyz/samiker/theendlessweave/screens/GenerationScreen.java index 6e9e2c1..9299bdb 100644 --- a/src/main/java/xyz/samiker/theendlessweave/client/screens/GenerationScreen.java +++ b/core/src/main/java/xyz/samiker/theendlessweave/screens/GenerationScreen.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.client.screens; +package xyz.samiker.theendlessweave.screens; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Screen; @@ -12,8 +12,8 @@ import com.badlogic.gdx.utils.ScreenUtils; import com.badlogic.gdx.utils.viewport.ScreenViewport; import xyz.samiker.theendlessweave.Main; -import xyz.samiker.theendlessweave.core.GameData; -import xyz.samiker.theendlessweave.core.gamemap.MapGeneratorSettings; +import xyz.samiker.theendlessweave.GameData; +import xyz.samiker.theendlessweave.gamemap.MapGeneratorSettings; import java.util.Random; @@ -68,7 +68,7 @@ public void show() { stage = new Stage(new ScreenViewport()); Gdx.input.setInputProcessor(stage); - skin = new Skin(Gdx.files.internal("xyz/samiker/theendlessweave/assets/ui/uiskin.json")); + skin = new Skin(Gdx.files.internal("ui/uiskin.json")); buildUI(); loadDefaultSettings(); diff --git a/src/main/java/xyz/samiker/theendlessweave/client/screens/LoadingScreen.java b/core/src/main/java/xyz/samiker/theendlessweave/screens/LoadingScreen.java similarity index 93% rename from src/main/java/xyz/samiker/theendlessweave/client/screens/LoadingScreen.java rename to core/src/main/java/xyz/samiker/theendlessweave/screens/LoadingScreen.java index f93ef5d..57841bd 100644 --- a/src/main/java/xyz/samiker/theendlessweave/client/screens/LoadingScreen.java +++ b/core/src/main/java/xyz/samiker/theendlessweave/screens/LoadingScreen.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.client.screens; +package xyz.samiker.theendlessweave.screens; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.ScreenAdapter; @@ -27,7 +27,7 @@ public LoadingScreen(Main game) { @Override public void show() { stage = new Stage(new ScreenViewport()); - Skin skin = new Skin(Gdx.files.internal("xyz/samiker/theendlessweave/assets/ui/uiskin.json")); + Skin skin = new Skin(Gdx.files.internal("ui/uiskin.json")); Table table = new Table(); table.setFillParent(true); diff --git a/src/main/java/xyz/samiker/theendlessweave/client/screens/MainMenuScreen.java b/core/src/main/java/xyz/samiker/theendlessweave/screens/MainMenuScreen.java similarity index 94% rename from src/main/java/xyz/samiker/theendlessweave/client/screens/MainMenuScreen.java rename to core/src/main/java/xyz/samiker/theendlessweave/screens/MainMenuScreen.java index 557f4b8..8a5124b 100644 --- a/src/main/java/xyz/samiker/theendlessweave/client/screens/MainMenuScreen.java +++ b/core/src/main/java/xyz/samiker/theendlessweave/screens/MainMenuScreen.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.client.screens; +package xyz.samiker.theendlessweave.screens; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Screen; @@ -25,7 +25,7 @@ public MainMenuScreen(Main game) { public void show() { stage = new Stage(new ScreenViewport()); Gdx.input.setInputProcessor(stage); - skin = new Skin(Gdx.files.internal("xyz/samiker/theendlessweave/assets/ui/uiskin.json")); + skin = new Skin(Gdx.files.internal("ui/uiskin.json")); Table table = new Table(); table.setFillParent(true); diff --git a/src/main/java/xyz/samiker/theendlessweave/client/screens/SettingsScreen.java b/core/src/main/java/xyz/samiker/theendlessweave/screens/SettingsScreen.java similarity index 97% rename from src/main/java/xyz/samiker/theendlessweave/client/screens/SettingsScreen.java rename to core/src/main/java/xyz/samiker/theendlessweave/screens/SettingsScreen.java index dc46ed7..dc4fcfa 100644 --- a/src/main/java/xyz/samiker/theendlessweave/client/screens/SettingsScreen.java +++ b/core/src/main/java/xyz/samiker/theendlessweave/screens/SettingsScreen.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.client.screens; +package xyz.samiker.theendlessweave.screens; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Graphics; @@ -12,8 +12,8 @@ import com.badlogic.gdx.utils.ScreenUtils; import com.badlogic.gdx.utils.viewport.ScreenViewport; import xyz.samiker.theendlessweave.Main; -import xyz.samiker.theendlessweave.client.settings.ClientSettings; -import xyz.samiker.theendlessweave.core.settings.SettingsManager; +import xyz.samiker.theendlessweave.settings.ClientSettings; +import xyz.samiker.theendlessweave.settings.SettingsManager; public class SettingsScreen implements Screen { @@ -35,7 +35,7 @@ public void show() { stage = new Stage(new ScreenViewport()); Gdx.input.setInputProcessor(stage); - skin = new Skin(Gdx.files.internal("xyz/samiker/theendlessweave/assets/ui/uiskin.json")); + skin = new Skin(Gdx.files.internal("ui/uiskin.json")); buildLayout(); showGeneralSettings(); diff --git a/src/main/java/xyz/samiker/theendlessweave/client/systems/CameraSystem.java b/core/src/main/java/xyz/samiker/theendlessweave/systems/CameraSystem.java similarity index 85% rename from src/main/java/xyz/samiker/theendlessweave/client/systems/CameraSystem.java rename to core/src/main/java/xyz/samiker/theendlessweave/systems/CameraSystem.java index b25aadf..11d0586 100644 --- a/src/main/java/xyz/samiker/theendlessweave/client/systems/CameraSystem.java +++ b/core/src/main/java/xyz/samiker/theendlessweave/systems/CameraSystem.java @@ -1,16 +1,16 @@ -package xyz.samiker.theendlessweave.client.systems; +package xyz.samiker.theendlessweave.systems; import com.badlogic.gdx.graphics.OrthographicCamera; import com.badlogic.gdx.math.MathUtils; import com.badlogic.gdx.math.Vector2; -import xyz.samiker.theendlessweave.client.custom.InputManager; -import xyz.samiker.theendlessweave.core.entities.Entity; -import xyz.samiker.theendlessweave.core.entities.components.CameraTargetComponent; -import xyz.samiker.theendlessweave.core.entities.components.PositionComponent; -import xyz.samiker.theendlessweave.core.systems.ISystem; -import xyz.samiker.theendlessweave.core.utils.Array; - -import static xyz.samiker.theendlessweave.core.utils.Constants.ENTITY_SIZE; +import xyz.samiker.theendlessweave.custom.InputManager; +import xyz.samiker.theendlessweave.entities.Entity; +import xyz.samiker.theendlessweave.entities.components.CameraTargetComponent; +import xyz.samiker.theendlessweave.entities.components.PositionComponent; +import xyz.samiker.theendlessweave.systems.ISystem; +import xyz.samiker.theendlessweave.utils.Array; + +import static xyz.samiker.theendlessweave.utils.Constants.ENTITY_SIZE; public class CameraSystem implements ISystem { private final OrthographicCamera camera; diff --git a/src/main/java/xyz/samiker/theendlessweave/client/systems/ClientNetworkEventSystem.java b/core/src/main/java/xyz/samiker/theendlessweave/systems/ClientNetworkEventSystem.java similarity index 82% rename from src/main/java/xyz/samiker/theendlessweave/client/systems/ClientNetworkEventSystem.java rename to core/src/main/java/xyz/samiker/theendlessweave/systems/ClientNetworkEventSystem.java index cf52afa..af5783d 100644 --- a/src/main/java/xyz/samiker/theendlessweave/client/systems/ClientNetworkEventSystem.java +++ b/core/src/main/java/xyz/samiker/theendlessweave/systems/ClientNetworkEventSystem.java @@ -1,16 +1,16 @@ -package xyz.samiker.theendlessweave.client.systems; +package xyz.samiker.theendlessweave.systems; -import xyz.samiker.theendlessweave.client.network.GameClient; -import xyz.samiker.theendlessweave.core.entities.Entity; -import xyz.samiker.theendlessweave.core.entities.components.ProjectileComponent; -import xyz.samiker.theendlessweave.core.entities.components.VelocityComponent; -import xyz.samiker.theendlessweave.core.logic.Game; -import xyz.samiker.theendlessweave.core.network.packets.PacketDestroyEntity; -import xyz.samiker.theendlessweave.core.network.packets.PacketSpawnEntity; -import xyz.samiker.theendlessweave.core.systems.ISystem; -import xyz.samiker.theendlessweave.core.utils.Array; +import xyz.samiker.theendlessweave.network.GameClient; +import xyz.samiker.theendlessweave.entities.Entity; +import xyz.samiker.theendlessweave.entities.components.ProjectileComponent; +import xyz.samiker.theendlessweave.entities.components.VelocityComponent; +import xyz.samiker.theendlessweave.logic.Game; +import xyz.samiker.theendlessweave.network.packets.PacketDestroyEntity; +import xyz.samiker.theendlessweave.network.packets.PacketSpawnEntity; +import xyz.samiker.theendlessweave.systems.ISystem; +import xyz.samiker.theendlessweave.utils.Array; -import static xyz.samiker.theendlessweave.core.utils.Constants.TILE_SIZE; +import static xyz.samiker.theendlessweave.utils.Constants.TILE_SIZE; public class ClientNetworkEventSystem implements ISystem { private final GameClient client; diff --git a/src/main/java/xyz/samiker/theendlessweave/client/systems/ClientNetworkReceiverSystem.java b/core/src/main/java/xyz/samiker/theendlessweave/systems/ClientNetworkReceiverSystem.java similarity index 75% rename from src/main/java/xyz/samiker/theendlessweave/client/systems/ClientNetworkReceiverSystem.java rename to core/src/main/java/xyz/samiker/theendlessweave/systems/ClientNetworkReceiverSystem.java index 9a8bc89..d5e0275 100644 --- a/src/main/java/xyz/samiker/theendlessweave/client/systems/ClientNetworkReceiverSystem.java +++ b/core/src/main/java/xyz/samiker/theendlessweave/systems/ClientNetworkReceiverSystem.java @@ -1,20 +1,20 @@ -package xyz.samiker.theendlessweave.client.systems; +package xyz.samiker.theendlessweave.systems; -import xyz.samiker.theendlessweave.client.network.GameClient; -import xyz.samiker.theendlessweave.core.entities.Entity; -import xyz.samiker.theendlessweave.core.entities.components.HealthComponent; -import xyz.samiker.theendlessweave.core.entities.components.PositionComponent; -import xyz.samiker.theendlessweave.core.entities.components.RotationComponent; -import xyz.samiker.theendlessweave.core.entities.components.VelocityComponent; -import xyz.samiker.theendlessweave.core.logic.Game; -import xyz.samiker.theendlessweave.core.network.packets.Packet; -import xyz.samiker.theendlessweave.core.network.packets.PacketDestroyEntity; -import xyz.samiker.theendlessweave.core.network.packets.PacketEntityUpdate; -import xyz.samiker.theendlessweave.core.network.packets.PacketSnapshot; -import xyz.samiker.theendlessweave.core.network.utils.PacketPool; -import xyz.samiker.theendlessweave.core.systems.ISystem; -import xyz.samiker.theendlessweave.core.utils.Array; -import xyz.samiker.theendlessweave.core.utils.IntObjectMap; +import xyz.samiker.theendlessweave.network.GameClient; +import xyz.samiker.theendlessweave.entities.Entity; +import xyz.samiker.theendlessweave.entities.components.HealthComponent; +import xyz.samiker.theendlessweave.entities.components.PositionComponent; +import xyz.samiker.theendlessweave.entities.components.RotationComponent; +import xyz.samiker.theendlessweave.entities.components.VelocityComponent; +import xyz.samiker.theendlessweave.logic.Game; +import xyz.samiker.theendlessweave.network.packets.Packet; +import xyz.samiker.theendlessweave.network.packets.PacketDestroyEntity; +import xyz.samiker.theendlessweave.network.packets.PacketEntityUpdate; +import xyz.samiker.theendlessweave.network.packets.PacketSnapshot; +import xyz.samiker.theendlessweave.network.utils.PacketPool; +import xyz.samiker.theendlessweave.systems.ISystem; +import xyz.samiker.theendlessweave.utils.Array; +import xyz.samiker.theendlessweave.utils.IntObjectMap; public class ClientNetworkReceiverSystem implements ISystem { private final GameClient client; diff --git a/src/main/java/xyz/samiker/theendlessweave/client/systems/ClientProjectileSystem.java b/core/src/main/java/xyz/samiker/theendlessweave/systems/ClientProjectileSystem.java similarity index 90% rename from src/main/java/xyz/samiker/theendlessweave/client/systems/ClientProjectileSystem.java rename to core/src/main/java/xyz/samiker/theendlessweave/systems/ClientProjectileSystem.java index 73fcb0b..706b96c 100644 --- a/src/main/java/xyz/samiker/theendlessweave/client/systems/ClientProjectileSystem.java +++ b/core/src/main/java/xyz/samiker/theendlessweave/systems/ClientProjectileSystem.java @@ -1,12 +1,12 @@ -package xyz.samiker.theendlessweave.client.systems; - -import xyz.samiker.theendlessweave.core.entities.Entity; -import xyz.samiker.theendlessweave.core.entities.components.PlayerTagComponent; -import xyz.samiker.theendlessweave.core.entities.components.PositionComponent; -import xyz.samiker.theendlessweave.core.entities.components.ProjectileComponent; -import xyz.samiker.theendlessweave.core.entities.components.VelocityComponent; -import xyz.samiker.theendlessweave.core.systems.ISystem; -import xyz.samiker.theendlessweave.core.utils.Array; +package xyz.samiker.theendlessweave.systems; + +import xyz.samiker.theendlessweave.entities.Entity; +import xyz.samiker.theendlessweave.entities.components.PlayerTagComponent; +import xyz.samiker.theendlessweave.entities.components.PositionComponent; +import xyz.samiker.theendlessweave.entities.components.ProjectileComponent; +import xyz.samiker.theendlessweave.entities.components.VelocityComponent; +import xyz.samiker.theendlessweave.systems.ISystem; +import xyz.samiker.theendlessweave.utils.Array; public class ClientProjectileSystem implements ISystem { private Entity cachedPlayer; diff --git a/src/main/java/xyz/samiker/theendlessweave/client/systems/DebugRenderSystem.java b/core/src/main/java/xyz/samiker/theendlessweave/systems/DebugRenderSystem.java similarity index 71% rename from src/main/java/xyz/samiker/theendlessweave/client/systems/DebugRenderSystem.java rename to core/src/main/java/xyz/samiker/theendlessweave/systems/DebugRenderSystem.java index 913125e..8191def 100644 --- a/src/main/java/xyz/samiker/theendlessweave/client/systems/DebugRenderSystem.java +++ b/core/src/main/java/xyz/samiker/theendlessweave/systems/DebugRenderSystem.java @@ -1,10 +1,10 @@ -package xyz.samiker.theendlessweave.client.systems; +package xyz.samiker.theendlessweave.systems; import com.badlogic.gdx.scenes.scene2d.ui.Label; -import xyz.samiker.theendlessweave.core.entities.Entity; -import xyz.samiker.theendlessweave.core.logic.PerformanceMonitor; -import xyz.samiker.theendlessweave.core.systems.ISystem; -import xyz.samiker.theendlessweave.core.utils.Array; +import xyz.samiker.theendlessweave.entities.Entity; +import xyz.samiker.theendlessweave.logic.PerformanceMonitor; +import xyz.samiker.theendlessweave.systems.ISystem; +import xyz.samiker.theendlessweave.utils.Array; public class DebugRenderSystem implements ISystem { private final PerformanceMonitor profiler; diff --git a/src/main/java/xyz/samiker/theendlessweave/client/systems/HudRenderSystem.java b/core/src/main/java/xyz/samiker/theendlessweave/systems/HudRenderSystem.java similarity index 82% rename from src/main/java/xyz/samiker/theendlessweave/client/systems/HudRenderSystem.java rename to core/src/main/java/xyz/samiker/theendlessweave/systems/HudRenderSystem.java index 76272af..199e188 100644 --- a/src/main/java/xyz/samiker/theendlessweave/client/systems/HudRenderSystem.java +++ b/core/src/main/java/xyz/samiker/theendlessweave/systems/HudRenderSystem.java @@ -1,14 +1,14 @@ -package xyz.samiker.theendlessweave.client.systems; +package xyz.samiker.theendlessweave.systems; import com.badlogic.gdx.scenes.scene2d.ui.Label; import com.badlogic.gdx.scenes.scene2d.ui.ProgressBar; -import xyz.samiker.theendlessweave.core.entities.Entity; -import xyz.samiker.theendlessweave.core.entities.components.HealthComponent; -import xyz.samiker.theendlessweave.core.entities.components.LevelComponent; -import xyz.samiker.theendlessweave.core.entities.components.PlayerTagComponent; -import xyz.samiker.theendlessweave.core.entities.components.ScoreComponent; -import xyz.samiker.theendlessweave.core.systems.ISystem; -import xyz.samiker.theendlessweave.core.utils.Array; +import xyz.samiker.theendlessweave.entities.Entity; +import xyz.samiker.theendlessweave.entities.components.HealthComponent; +import xyz.samiker.theendlessweave.entities.components.LevelComponent; +import xyz.samiker.theendlessweave.entities.components.PlayerTagComponent; +import xyz.samiker.theendlessweave.entities.components.ScoreComponent; +import xyz.samiker.theendlessweave.systems.ISystem; +import xyz.samiker.theendlessweave.utils.Array; public class HudRenderSystem implements ISystem { private final ProgressBar healthBar; diff --git a/src/main/java/xyz/samiker/theendlessweave/client/systems/InputSystem.java b/core/src/main/java/xyz/samiker/theendlessweave/systems/InputSystem.java similarity index 81% rename from src/main/java/xyz/samiker/theendlessweave/client/systems/InputSystem.java rename to core/src/main/java/xyz/samiker/theendlessweave/systems/InputSystem.java index b0e3122..f6aa0f9 100644 --- a/src/main/java/xyz/samiker/theendlessweave/client/systems/InputSystem.java +++ b/core/src/main/java/xyz/samiker/theendlessweave/systems/InputSystem.java @@ -1,19 +1,18 @@ -package xyz.samiker.theendlessweave.client.systems; +package xyz.samiker.theendlessweave.systems; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Input; import com.badlogic.gdx.graphics.OrthographicCamera; import com.badlogic.gdx.math.MathUtils; import com.badlogic.gdx.math.Vector3; -import xyz.samiker.theendlessweave.client.custom.InputManager; -import xyz.samiker.theendlessweave.client.network.GameClient; -import xyz.samiker.theendlessweave.core.entities.Entity; -import xyz.samiker.theendlessweave.core.entities.components.PlayerTagComponent; -import xyz.samiker.theendlessweave.core.entities.components.PositionComponent; -import xyz.samiker.theendlessweave.core.logic.Game; -import xyz.samiker.theendlessweave.core.network.packets.PacketInput; -import xyz.samiker.theendlessweave.core.systems.ISystem; -import xyz.samiker.theendlessweave.core.utils.Array; +import xyz.samiker.theendlessweave.custom.InputManager; +import xyz.samiker.theendlessweave.network.GameClient; +import xyz.samiker.theendlessweave.entities.Entity; +import xyz.samiker.theendlessweave.entities.components.PlayerTagComponent; +import xyz.samiker.theendlessweave.entities.components.PositionComponent; +import xyz.samiker.theendlessweave.logic.Game; +import xyz.samiker.theendlessweave.network.packets.PacketInput; +import xyz.samiker.theendlessweave.utils.Array; public class InputSystem implements ISystem { private final GameClient client; diff --git a/src/main/java/xyz/samiker/theendlessweave/client/systems/RenderSystem.java b/core/src/main/java/xyz/samiker/theendlessweave/systems/RenderSystem.java similarity index 79% rename from src/main/java/xyz/samiker/theendlessweave/client/systems/RenderSystem.java rename to core/src/main/java/xyz/samiker/theendlessweave/systems/RenderSystem.java index 1e18bfa..f2cbddf 100644 --- a/src/main/java/xyz/samiker/theendlessweave/client/systems/RenderSystem.java +++ b/core/src/main/java/xyz/samiker/theendlessweave/systems/RenderSystem.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.client.systems; +package xyz.samiker.theendlessweave.systems; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.OrthographicCamera; @@ -6,16 +6,16 @@ import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.graphics.g2d.TextureRegion; -import xyz.samiker.theendlessweave.core.entities.Entity; -import xyz.samiker.theendlessweave.core.entities.components.PositionComponent; -import xyz.samiker.theendlessweave.core.entities.components.ProjectileComponent; -import xyz.samiker.theendlessweave.core.entities.components.RenderComponent; -import xyz.samiker.theendlessweave.core.entities.components.RotationComponent; -import xyz.samiker.theendlessweave.core.systems.ISystem; -import xyz.samiker.theendlessweave.core.utils.Array; - -import static xyz.samiker.theendlessweave.core.utils.Constants.ENTITY_SIZE; -import static xyz.samiker.theendlessweave.core.utils.Constants.PROJECTILE_SIZE; +import xyz.samiker.theendlessweave.entities.Entity; +import xyz.samiker.theendlessweave.entities.components.PositionComponent; +import xyz.samiker.theendlessweave.entities.components.ProjectileComponent; +import xyz.samiker.theendlessweave.entities.components.RenderComponent; +import xyz.samiker.theendlessweave.entities.components.RotationComponent; +import xyz.samiker.theendlessweave.systems.ISystem; +import xyz.samiker.theendlessweave.utils.Array; + +import static xyz.samiker.theendlessweave.utils.Constants.ENTITY_SIZE; +import static xyz.samiker.theendlessweave.utils.Constants.PROJECTILE_SIZE; public class RenderSystem implements ISystem { private final SpriteBatch batch; diff --git a/src/main/java/xyz/samiker/theendlessweave/client/systems/TileRenderSystem.java b/core/src/main/java/xyz/samiker/theendlessweave/systems/TileRenderSystem.java similarity index 84% rename from src/main/java/xyz/samiker/theendlessweave/client/systems/TileRenderSystem.java rename to core/src/main/java/xyz/samiker/theendlessweave/systems/TileRenderSystem.java index 86cc7cf..78d897f 100644 --- a/src/main/java/xyz/samiker/theendlessweave/client/systems/TileRenderSystem.java +++ b/core/src/main/java/xyz/samiker/theendlessweave/systems/TileRenderSystem.java @@ -1,19 +1,18 @@ -package xyz.samiker.theendlessweave.client.systems; +package xyz.samiker.theendlessweave.systems; import com.badlogic.gdx.graphics.OrthographicCamera; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.graphics.g2d.TextureRegion; -import xyz.samiker.theendlessweave.client.assets.ManifestAssetManager; -import xyz.samiker.theendlessweave.core.entities.Entity; -import xyz.samiker.theendlessweave.core.gamemap.GameMap; -import xyz.samiker.theendlessweave.core.systems.ISystem; -import xyz.samiker.theendlessweave.core.tile.Tile; -import xyz.samiker.theendlessweave.core.tile.TileType; -import xyz.samiker.theendlessweave.core.utils.Array; +import xyz.samiker.theendlessweave.assetsManager.ManifestAssetManager; +import xyz.samiker.theendlessweave.entities.Entity; +import xyz.samiker.theendlessweave.gamemap.GameMap; +import xyz.samiker.theendlessweave.tile.Tile; +import xyz.samiker.theendlessweave.tile.TileType; +import xyz.samiker.theendlessweave.utils.Array; import java.util.EnumMap; -import static xyz.samiker.theendlessweave.core.utils.Constants.TILE_SIZE; +import static xyz.samiker.theendlessweave.utils.Constants.TILE_SIZE; public class TileRenderSystem implements ISystem { private final SpriteBatch batch; diff --git a/src/main/java/xyz/samiker/theendlessweave/client/systems/WorldUIRenderer.java b/core/src/main/java/xyz/samiker/theendlessweave/systems/WorldUIRenderer.java similarity index 90% rename from src/main/java/xyz/samiker/theendlessweave/client/systems/WorldUIRenderer.java rename to core/src/main/java/xyz/samiker/theendlessweave/systems/WorldUIRenderer.java index cc68046..2fb4ef8 100644 --- a/src/main/java/xyz/samiker/theendlessweave/client/systems/WorldUIRenderer.java +++ b/core/src/main/java/xyz/samiker/theendlessweave/systems/WorldUIRenderer.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.client.systems; +package xyz.samiker.theendlessweave.systems; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.OrthographicCamera; @@ -8,12 +8,12 @@ import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.graphics.g2d.TextureRegion; import com.badlogic.gdx.utils.Align; -import xyz.samiker.theendlessweave.core.entities.Entity; -import xyz.samiker.theendlessweave.core.entities.components.*; -import xyz.samiker.theendlessweave.core.systems.ISystem; -import xyz.samiker.theendlessweave.core.utils.Array; +import xyz.samiker.theendlessweave.entities.Entity; +import xyz.samiker.theendlessweave.entities.components.*; +import xyz.samiker.theendlessweave.systems.ISystem; +import xyz.samiker.theendlessweave.utils.Array; -import static xyz.samiker.theendlessweave.core.utils.Constants.ENTITY_SIZE; +import static xyz.samiker.theendlessweave.utils.Constants.ENTITY_SIZE; public class WorldUIRenderer implements ISystem { diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..49a0849 --- /dev/null +++ b/gradle.properties @@ -0,0 +1,5 @@ +gdxVersion=1.14.0 +kryoVersion=2.22.0-RC1 +appName=The Endless Weave +android.useAndroidX=true +android.enableJetifier=true \ No newline at end of file diff --git a/local.properties b/local.properties new file mode 100644 index 0000000..7038e58 --- /dev/null +++ b/local.properties @@ -0,0 +1 @@ +sdk.dir=C:/droid-sdk \ No newline at end of file diff --git a/lwjgl3/build.gradle.kts b/lwjgl3/build.gradle.kts new file mode 100644 index 0000000..3347c80 --- /dev/null +++ b/lwjgl3/build.gradle.kts @@ -0,0 +1,36 @@ +plugins { + id("application") + id("com.github.johnrengelman.shadow") version "8.1.1" +} + +val gdxVersion: String by project + +dependencies { + implementation(project(":core")) + implementation(project(":server")) + implementation("com.badlogicgames.gdx:gdx-backend-lwjgl3:$gdxVersion") + implementation("com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop") +} + +application { + mainClass.set("xyz.samiker.theendlessweave.Launcher") +} + +sourceSets { + main { + resources { + srcDir("../assets") + } + } +} + +tasks.named("run") { + workingDir = file("../assets") +} + +tasks.named("shadowJar") { + archiveFileName.set("TheEndlessWeave-Client.jar") + configurations = listOf(project.configurations.runtimeClasspath.get()) + mergeServiceFiles() + manifest { attributes["Main-Class"] = "xyz.samiker.theendlessweave.Launcher" } +} \ No newline at end of file diff --git a/src/main/java/xyz/samiker/theendlessweave/client/ClientLauncher.java b/lwjgl3/src/main/java/xyz/samiker/theendlessweave/ClientLauncher.java similarity index 85% rename from src/main/java/xyz/samiker/theendlessweave/client/ClientLauncher.java rename to lwjgl3/src/main/java/xyz/samiker/theendlessweave/ClientLauncher.java index f242532..f2e69a8 100644 --- a/src/main/java/xyz/samiker/theendlessweave/client/ClientLauncher.java +++ b/lwjgl3/src/main/java/xyz/samiker/theendlessweave/ClientLauncher.java @@ -1,10 +1,9 @@ -package xyz.samiker.theendlessweave.client; +package xyz.samiker.theendlessweave; import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application; import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration; -import xyz.samiker.theendlessweave.Main; -import xyz.samiker.theendlessweave.client.settings.ClientSettings; -import xyz.samiker.theendlessweave.core.settings.SettingsManager; +import xyz.samiker.theendlessweave.settings.ClientSettings; +import xyz.samiker.theendlessweave.settings.SettingsManager; import java.io.FileWriter; import java.io.IOException; @@ -12,6 +11,7 @@ import java.io.StringWriter; import java.time.LocalDateTime; + public class ClientLauncher { public static void main(String[] args) { Lwjgl3ApplicationConfiguration config = new Lwjgl3ApplicationConfiguration(); @@ -21,6 +21,7 @@ public static void main(String[] args) { if (SettingsManager.getBoolean(ClientSettings.VSYNC)) { config.useVsync(SettingsManager.getBoolean(ClientSettings.VSYNC)); } + if (SettingsManager.getBoolean(ClientSettings.FPS_LIMIT_ENABLED)) { config.setForegroundFPS(SettingsManager.getInt(ClientSettings.FPS_LIMIT)); } @@ -28,9 +29,10 @@ public static void main(String[] args) { config.setResizable(false); config.setTitle("TheEndlessWeave"); - new Lwjgl3Application(new Main(), config); + new Lwjgl3Application(new xyz.samiker.theendlessweave.Main(), config); } catch (Throwable t) { logError(t); + System.exit(1); } } private static void logError(Throwable t) { diff --git a/src/main/java/xyz/samiker/theendlessweave/Launcher.java b/lwjgl3/src/main/java/xyz/samiker/theendlessweave/Launcher.java similarity index 71% rename from src/main/java/xyz/samiker/theendlessweave/Launcher.java rename to lwjgl3/src/main/java/xyz/samiker/theendlessweave/Launcher.java index 351b63e..7f92c3e 100644 --- a/src/main/java/xyz/samiker/theendlessweave/Launcher.java +++ b/lwjgl3/src/main/java/xyz/samiker/theendlessweave/Launcher.java @@ -1,8 +1,5 @@ package xyz.samiker.theendlessweave; -import xyz.samiker.theendlessweave.client.ClientLauncher; -import xyz.samiker.theendlessweave.server.ServerLauncher; - public class Launcher { public static void main(String[] args) { if (args.length > 0 && args[0].equalsIgnoreCase("--server")) { diff --git a/server/build.gradle.kts b/server/build.gradle.kts new file mode 100644 index 0000000..c2d7c7d --- /dev/null +++ b/server/build.gradle.kts @@ -0,0 +1,21 @@ +plugins { + java + id("java-library") +} + +dependencies { + api(project(":shared")) +} + +tasks.register("buildServer") { + group = "build" + archiveBaseName.set("TheEndlessWeave") + archiveClassifier.set("server") + archiveVersion.set(project.version.toString()) + manifest { attributes["Main-Class"] = "xyz.samiker.theendlessweave.ServerLauncher" } + + from(project(":server").sourceSets.main.get().output) + from(project(":shared").sourceSets.main.get().output) +} + +java { toolchain { languageVersion.set(JavaLanguageVersion.of(17)) } } \ No newline at end of file diff --git a/src/main/java/xyz/samiker/theendlessweave/server/ServerLauncher.java b/server/src/main/java/xyz/samiker/theendlessweave/ServerLauncher.java similarity index 89% rename from src/main/java/xyz/samiker/theendlessweave/server/ServerLauncher.java rename to server/src/main/java/xyz/samiker/theendlessweave/ServerLauncher.java index 1d5c55d..db92de3 100644 --- a/src/main/java/xyz/samiker/theendlessweave/server/ServerLauncher.java +++ b/server/src/main/java/xyz/samiker/theendlessweave/ServerLauncher.java @@ -1,6 +1,6 @@ -package xyz.samiker.theendlessweave.server; +package xyz.samiker.theendlessweave; -import xyz.samiker.theendlessweave.server.network.GameServer; +import xyz.samiker.theendlessweave.network.GameServer; import java.io.IOException; diff --git a/src/main/java/xyz/samiker/theendlessweave/server/ServerLoop.java b/server/src/main/java/xyz/samiker/theendlessweave/ServerLoop.java similarity index 88% rename from src/main/java/xyz/samiker/theendlessweave/server/ServerLoop.java rename to server/src/main/java/xyz/samiker/theendlessweave/ServerLoop.java index 6ad0ba4..c27b153 100644 --- a/src/main/java/xyz/samiker/theendlessweave/server/ServerLoop.java +++ b/server/src/main/java/xyz/samiker/theendlessweave/ServerLoop.java @@ -1,9 +1,9 @@ -package xyz.samiker.theendlessweave.server; -import xyz.samiker.theendlessweave.core.logic.Game; -import xyz.samiker.theendlessweave.core.logic.GameState; +package xyz.samiker.theendlessweave; +import xyz.samiker.theendlessweave.logic.Game; +import xyz.samiker.theendlessweave.logic.GameState; -import static xyz.samiker.theendlessweave.core.utils.Constants.TARGET_TPS; -import static xyz.samiker.theendlessweave.core.utils.Constants.TIME_PER_TICK; +import static xyz.samiker.theendlessweave.utils.Constants.TARGET_TPS; +import static xyz.samiker.theendlessweave.utils.Constants.TIME_PER_TICK; public class ServerLoop { private Game game; diff --git a/src/main/java/xyz/samiker/theendlessweave/server/network/GameServer.java b/server/src/main/java/xyz/samiker/theendlessweave/network/GameServer.java similarity index 83% rename from src/main/java/xyz/samiker/theendlessweave/server/network/GameServer.java rename to server/src/main/java/xyz/samiker/theendlessweave/network/GameServer.java index 61df6d2..eb1beec 100644 --- a/src/main/java/xyz/samiker/theendlessweave/server/network/GameServer.java +++ b/server/src/main/java/xyz/samiker/theendlessweave/network/GameServer.java @@ -1,21 +1,20 @@ -package xyz.samiker.theendlessweave.server.network; +package xyz.samiker.theendlessweave.network; import com.esotericsoftware.kryonet.Connection; import com.esotericsoftware.kryonet.Listener; import com.esotericsoftware.kryonet.Server; -import xyz.samiker.theendlessweave.core.GameData; -import xyz.samiker.theendlessweave.core.entities.Entity; -import xyz.samiker.theendlessweave.core.entities.components.PositionComponent; -import xyz.samiker.theendlessweave.core.gamemap.MapGeneratorSettings; -import xyz.samiker.theendlessweave.core.logic.Game; -import xyz.samiker.theendlessweave.core.network.NetworkRegister; -import xyz.samiker.theendlessweave.core.network.packets.PacketInput; -import xyz.samiker.theendlessweave.core.network.packets.PacketLoginRequest; -import xyz.samiker.theendlessweave.core.network.packets.PacketLoginResponse; -import xyz.samiker.theendlessweave.core.network.packets.PacketSnapshot; -import xyz.samiker.theendlessweave.server.ServerLauncher; -import xyz.samiker.theendlessweave.server.ServerLoop; -import xyz.samiker.theendlessweave.server.systems.*; +import xyz.samiker.theendlessweave.GameData; +import xyz.samiker.theendlessweave.entities.Entity; +import xyz.samiker.theendlessweave.entities.components.PositionComponent; +import xyz.samiker.theendlessweave.gamemap.MapGeneratorSettings; +import xyz.samiker.theendlessweave.logic.Game; +import xyz.samiker.theendlessweave.network.packets.PacketInput; +import xyz.samiker.theendlessweave.network.packets.PacketLoginRequest; +import xyz.samiker.theendlessweave.network.packets.PacketLoginResponse; +import xyz.samiker.theendlessweave.network.packets.PacketSnapshot; +import xyz.samiker.theendlessweave.ServerLauncher; +import xyz.samiker.theendlessweave.ServerLoop; +import xyz.samiker.theendlessweave.systems.*; import java.io.IOException; import java.util.Map; @@ -76,7 +75,7 @@ public void dispose() { loop.dispose(); server.stop(); if (aiExecutor != null) { - aiExecutor.close(); + aiExecutor.shutdown(); } } diff --git a/src/main/java/xyz/samiker/theendlessweave/server/systems/AISystem.java b/server/src/main/java/xyz/samiker/theendlessweave/systems/AISystem.java similarity index 88% rename from src/main/java/xyz/samiker/theendlessweave/server/systems/AISystem.java rename to server/src/main/java/xyz/samiker/theendlessweave/systems/AISystem.java index ff694f6..33b9a74 100644 --- a/src/main/java/xyz/samiker/theendlessweave/server/systems/AISystem.java +++ b/server/src/main/java/xyz/samiker/theendlessweave/systems/AISystem.java @@ -1,23 +1,23 @@ -package xyz.samiker.theendlessweave.server.systems; - -import xyz.samiker.theendlessweave.core.entities.Entity; -import xyz.samiker.theendlessweave.core.entities.components.AIComponent; -import xyz.samiker.theendlessweave.core.entities.components.PathfindingComponent; -import xyz.samiker.theendlessweave.core.entities.components.PlayerTagComponent; -import xyz.samiker.theendlessweave.core.entities.components.PositionComponent; -import xyz.samiker.theendlessweave.core.gamemap.GameMap; -import xyz.samiker.theendlessweave.core.logic.ai.EntityAIState; -import xyz.samiker.theendlessweave.core.logic.ai.LineOfSightUtil; -import xyz.samiker.theendlessweave.core.logic.ai.astar.AStarPathfinder; -import xyz.samiker.theendlessweave.core.systems.ISystem; -import xyz.samiker.theendlessweave.core.tile.Tile; -import xyz.samiker.theendlessweave.core.utils.Array; +package xyz.samiker.theendlessweave.systems; + +import xyz.samiker.theendlessweave.entities.Entity; +import xyz.samiker.theendlessweave.entities.components.AIComponent; +import xyz.samiker.theendlessweave.entities.components.PathfindingComponent; +import xyz.samiker.theendlessweave.entities.components.PlayerTagComponent; +import xyz.samiker.theendlessweave.entities.components.PositionComponent; +import xyz.samiker.theendlessweave.gamemap.GameMap; +import xyz.samiker.theendlessweave.logic.ai.EntityAIState; +import xyz.samiker.theendlessweave.logic.ai.LineOfSightUtil; +import xyz.samiker.theendlessweave.logic.ai.astar.AStarPathfinder; +import xyz.samiker.theendlessweave.systems.ISystem; +import xyz.samiker.theendlessweave.tile.Tile; +import xyz.samiker.theendlessweave.utils.Array; import java.util.Queue; import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.ExecutorService; -import static xyz.samiker.theendlessweave.core.utils.Constants.TILE_SIZE; +import static xyz.samiker.theendlessweave.utils.Constants.TILE_SIZE; public class AISystem implements ISystem { private final GameMap gameMap; diff --git a/src/main/java/xyz/samiker/theendlessweave/server/systems/AttackSystem.java b/server/src/main/java/xyz/samiker/theendlessweave/systems/AttackSystem.java similarity index 94% rename from src/main/java/xyz/samiker/theendlessweave/server/systems/AttackSystem.java rename to server/src/main/java/xyz/samiker/theendlessweave/systems/AttackSystem.java index 88fd4b7..855a15a 100644 --- a/src/main/java/xyz/samiker/theendlessweave/server/systems/AttackSystem.java +++ b/server/src/main/java/xyz/samiker/theendlessweave/systems/AttackSystem.java @@ -1,14 +1,14 @@ -package xyz.samiker.theendlessweave.server.systems; +package xyz.samiker.theendlessweave.systems; -import xyz.samiker.theendlessweave.core.entities.Entity; -import xyz.samiker.theendlessweave.core.entities.components.*; -import xyz.samiker.theendlessweave.core.logic.Game; -import xyz.samiker.theendlessweave.core.logic.ai.EntityAIState; -import xyz.samiker.theendlessweave.core.systems.ISystem; -import xyz.samiker.theendlessweave.core.utils.Array; +import xyz.samiker.theendlessweave.entities.Entity; +import xyz.samiker.theendlessweave.entities.components.*; +import xyz.samiker.theendlessweave.logic.Game; +import xyz.samiker.theendlessweave.logic.ai.EntityAIState; +import xyz.samiker.theendlessweave.systems.ISystem; +import xyz.samiker.theendlessweave.utils.Array; -import static xyz.samiker.theendlessweave.core.utils.Constants.SECONDS_PER_TICK; -import static xyz.samiker.theendlessweave.core.utils.Constants.TILE_SIZE; +import static xyz.samiker.theendlessweave.utils.Constants.SECONDS_PER_TICK; +import static xyz.samiker.theendlessweave.utils.Constants.TILE_SIZE; public class AttackSystem implements ISystem { private final Game game; diff --git a/src/main/java/xyz/samiker/theendlessweave/server/systems/DamageSystem.java b/server/src/main/java/xyz/samiker/theendlessweave/systems/DamageSystem.java similarity index 90% rename from src/main/java/xyz/samiker/theendlessweave/server/systems/DamageSystem.java rename to server/src/main/java/xyz/samiker/theendlessweave/systems/DamageSystem.java index e8521dc..a5b9cdf 100644 --- a/src/main/java/xyz/samiker/theendlessweave/server/systems/DamageSystem.java +++ b/server/src/main/java/xyz/samiker/theendlessweave/systems/DamageSystem.java @@ -1,12 +1,12 @@ -package xyz.samiker.theendlessweave.server.systems; +package xyz.samiker.theendlessweave.systems; -import xyz.samiker.theendlessweave.core.entities.Entity; -import xyz.samiker.theendlessweave.core.entities.components.*; -import xyz.samiker.theendlessweave.core.logic.utils.SpatialGrid; -import xyz.samiker.theendlessweave.core.systems.ISystem; -import xyz.samiker.theendlessweave.core.utils.Array; +import xyz.samiker.theendlessweave.entities.Entity; +import xyz.samiker.theendlessweave.entities.components.*; +import xyz.samiker.theendlessweave.logic.utils.SpatialGrid; +import xyz.samiker.theendlessweave.systems.ISystem; +import xyz.samiker.theendlessweave.utils.Array; -import static xyz.samiker.theendlessweave.core.utils.Constants.COLLISION_RADIUS; +import static xyz.samiker.theendlessweave.utils.Constants.COLLISION_RADIUS; public class DamageSystem implements ISystem { private final SpatialGrid spatialGrid; diff --git a/src/main/java/xyz/samiker/theendlessweave/server/systems/MovementSystem.java b/server/src/main/java/xyz/samiker/theendlessweave/systems/MovementSystem.java similarity index 90% rename from src/main/java/xyz/samiker/theendlessweave/server/systems/MovementSystem.java rename to server/src/main/java/xyz/samiker/theendlessweave/systems/MovementSystem.java index 302dbfe..6e511b0 100644 --- a/src/main/java/xyz/samiker/theendlessweave/server/systems/MovementSystem.java +++ b/server/src/main/java/xyz/samiker/theendlessweave/systems/MovementSystem.java @@ -1,15 +1,15 @@ -package xyz.samiker.theendlessweave.server.systems; - -import xyz.samiker.theendlessweave.core.entities.Entity; -import xyz.samiker.theendlessweave.core.entities.components.*; -import xyz.samiker.theendlessweave.core.gamemap.GameMap; -import xyz.samiker.theendlessweave.core.systems.ISystem; -import xyz.samiker.theendlessweave.core.tile.Tile; -import xyz.samiker.theendlessweave.core.tile.TileType; -import xyz.samiker.theendlessweave.core.utils.Array; - -import static xyz.samiker.theendlessweave.core.utils.Constants.COLLISION_RADIUS; -import static xyz.samiker.theendlessweave.core.utils.Constants.TILE_SIZE; +package xyz.samiker.theendlessweave.systems; + +import xyz.samiker.theendlessweave.entities.Entity; +import xyz.samiker.theendlessweave.entities.components.*; +import xyz.samiker.theendlessweave.gamemap.GameMap; +import xyz.samiker.theendlessweave.systems.ISystem; +import xyz.samiker.theendlessweave.tile.Tile; +import xyz.samiker.theendlessweave.tile.TileType; +import xyz.samiker.theendlessweave.utils.Array; + +import static xyz.samiker.theendlessweave.utils.Constants.COLLISION_RADIUS; +import static xyz.samiker.theendlessweave.utils.Constants.TILE_SIZE; public class MovementSystem implements ISystem { private final GameMap gameMap; diff --git a/src/main/java/xyz/samiker/theendlessweave/server/systems/ProjectileSystem.java b/server/src/main/java/xyz/samiker/theendlessweave/systems/ProjectileSystem.java similarity index 90% rename from src/main/java/xyz/samiker/theendlessweave/server/systems/ProjectileSystem.java rename to server/src/main/java/xyz/samiker/theendlessweave/systems/ProjectileSystem.java index f5bd622..89a706f 100644 --- a/src/main/java/xyz/samiker/theendlessweave/server/systems/ProjectileSystem.java +++ b/server/src/main/java/xyz/samiker/theendlessweave/systems/ProjectileSystem.java @@ -1,12 +1,12 @@ -package xyz.samiker.theendlessweave.server.systems; - -import xyz.samiker.theendlessweave.core.entities.Entity; -import xyz.samiker.theendlessweave.core.entities.components.PlayerTagComponent; -import xyz.samiker.theendlessweave.core.entities.components.PositionComponent; -import xyz.samiker.theendlessweave.core.entities.components.ProjectileComponent; -import xyz.samiker.theendlessweave.core.entities.components.VelocityComponent; -import xyz.samiker.theendlessweave.core.systems.ISystem; -import xyz.samiker.theendlessweave.core.utils.Array; +package xyz.samiker.theendlessweave.systems; + +import xyz.samiker.theendlessweave.entities.Entity; +import xyz.samiker.theendlessweave.entities.components.PlayerTagComponent; +import xyz.samiker.theendlessweave.entities.components.PositionComponent; +import xyz.samiker.theendlessweave.entities.components.ProjectileComponent; +import xyz.samiker.theendlessweave.entities.components.VelocityComponent; +import xyz.samiker.theendlessweave.systems.ISystem; +import xyz.samiker.theendlessweave.utils.Array; public class ProjectileSystem implements ISystem { private Entity cachedPlayer; diff --git a/src/main/java/xyz/samiker/theendlessweave/server/systems/ServerDebugSystem.java b/server/src/main/java/xyz/samiker/theendlessweave/systems/ServerDebugSystem.java similarity index 66% rename from src/main/java/xyz/samiker/theendlessweave/server/systems/ServerDebugSystem.java rename to server/src/main/java/xyz/samiker/theendlessweave/systems/ServerDebugSystem.java index f6ee0f2..dd9ad56 100644 --- a/src/main/java/xyz/samiker/theendlessweave/server/systems/ServerDebugSystem.java +++ b/server/src/main/java/xyz/samiker/theendlessweave/systems/ServerDebugSystem.java @@ -1,9 +1,9 @@ -package xyz.samiker.theendlessweave.server.systems; +package xyz.samiker.theendlessweave.systems; -import xyz.samiker.theendlessweave.core.entities.Entity; -import xyz.samiker.theendlessweave.core.logic.PerformanceMonitor; -import xyz.samiker.theendlessweave.core.systems.ISystem; -import xyz.samiker.theendlessweave.core.utils.Array; +import xyz.samiker.theendlessweave.entities.Entity; +import xyz.samiker.theendlessweave.logic.PerformanceMonitor; +import xyz.samiker.theendlessweave.systems.ISystem; +import xyz.samiker.theendlessweave.utils.Array; public class ServerDebugSystem implements ISystem { private final PerformanceMonitor profiler; diff --git a/src/main/java/xyz/samiker/theendlessweave/server/systems/ServerEntityEventSystem.java b/server/src/main/java/xyz/samiker/theendlessweave/systems/ServerEntityEventSystem.java similarity index 75% rename from src/main/java/xyz/samiker/theendlessweave/server/systems/ServerEntityEventSystem.java rename to server/src/main/java/xyz/samiker/theendlessweave/systems/ServerEntityEventSystem.java index ab20b59..d6c1b97 100644 --- a/src/main/java/xyz/samiker/theendlessweave/server/systems/ServerEntityEventSystem.java +++ b/server/src/main/java/xyz/samiker/theendlessweave/systems/ServerEntityEventSystem.java @@ -1,15 +1,15 @@ -package xyz.samiker.theendlessweave.server.systems; +package xyz.samiker.theendlessweave.systems; -import xyz.samiker.theendlessweave.core.entities.Entity; -import xyz.samiker.theendlessweave.core.entities.components.PositionComponent; -import xyz.samiker.theendlessweave.core.entities.components.ProjectileComponent; -import xyz.samiker.theendlessweave.core.entities.components.RenderComponent; -import xyz.samiker.theendlessweave.core.entities.components.VelocityComponent; -import xyz.samiker.theendlessweave.core.logic.Game; -import xyz.samiker.theendlessweave.core.network.packets.PacketSpawnEntity; -import xyz.samiker.theendlessweave.core.systems.ISystem; -import xyz.samiker.theendlessweave.core.utils.Array; -import xyz.samiker.theendlessweave.server.network.GameServer; +import xyz.samiker.theendlessweave.entities.Entity; +import xyz.samiker.theendlessweave.entities.components.PositionComponent; +import xyz.samiker.theendlessweave.entities.components.ProjectileComponent; +import xyz.samiker.theendlessweave.entities.components.RenderComponent; +import xyz.samiker.theendlessweave.entities.components.VelocityComponent; +import xyz.samiker.theendlessweave.logic.Game; +import xyz.samiker.theendlessweave.network.packets.PacketSpawnEntity; +import xyz.samiker.theendlessweave.systems.ISystem; +import xyz.samiker.theendlessweave.utils.Array; +import xyz.samiker.theendlessweave.network.GameServer; public class ServerEntityEventSystem implements ISystem { private final GameServer server; diff --git a/src/main/java/xyz/samiker/theendlessweave/server/systems/ServerInputSystem.java b/server/src/main/java/xyz/samiker/theendlessweave/systems/ServerInputSystem.java similarity index 78% rename from src/main/java/xyz/samiker/theendlessweave/server/systems/ServerInputSystem.java rename to server/src/main/java/xyz/samiker/theendlessweave/systems/ServerInputSystem.java index 2001464..2e923b2 100644 --- a/src/main/java/xyz/samiker/theendlessweave/server/systems/ServerInputSystem.java +++ b/server/src/main/java/xyz/samiker/theendlessweave/systems/ServerInputSystem.java @@ -1,15 +1,15 @@ -package xyz.samiker.theendlessweave.server.systems; +package xyz.samiker.theendlessweave.systems; -import xyz.samiker.theendlessweave.core.entities.Entity; -import xyz.samiker.theendlessweave.core.entities.components.PositionComponent; -import xyz.samiker.theendlessweave.core.entities.components.ProjectileComponent; -import xyz.samiker.theendlessweave.core.entities.components.VelocityComponent; -import xyz.samiker.theendlessweave.core.entities.components.WeaponComponent; -import xyz.samiker.theendlessweave.core.logic.Game; -import xyz.samiker.theendlessweave.core.network.packets.PacketInput; -import xyz.samiker.theendlessweave.core.systems.ISystem; -import xyz.samiker.theendlessweave.core.utils.Array; -import xyz.samiker.theendlessweave.server.network.GameServer; +import xyz.samiker.theendlessweave.entities.Entity; +import xyz.samiker.theendlessweave.entities.components.PositionComponent; +import xyz.samiker.theendlessweave.entities.components.ProjectileComponent; +import xyz.samiker.theendlessweave.entities.components.VelocityComponent; +import xyz.samiker.theendlessweave.entities.components.WeaponComponent; +import xyz.samiker.theendlessweave.logic.Game; +import xyz.samiker.theendlessweave.network.packets.PacketInput; +import xyz.samiker.theendlessweave.systems.ISystem; +import xyz.samiker.theendlessweave.utils.Array; +import xyz.samiker.theendlessweave.network.GameServer; import java.util.HashMap; import java.util.Map; diff --git a/src/main/java/xyz/samiker/theendlessweave/server/systems/ServerSnapshotSenderSystem.java b/server/src/main/java/xyz/samiker/theendlessweave/systems/ServerSnapshotSenderSystem.java similarity index 77% rename from src/main/java/xyz/samiker/theendlessweave/server/systems/ServerSnapshotSenderSystem.java rename to server/src/main/java/xyz/samiker/theendlessweave/systems/ServerSnapshotSenderSystem.java index 34b9137..a6d3684 100644 --- a/src/main/java/xyz/samiker/theendlessweave/server/systems/ServerSnapshotSenderSystem.java +++ b/server/src/main/java/xyz/samiker/theendlessweave/systems/ServerSnapshotSenderSystem.java @@ -1,15 +1,15 @@ -package xyz.samiker.theendlessweave.server.systems; +package xyz.samiker.theendlessweave.systems; -import xyz.samiker.theendlessweave.core.entities.Entity; -import xyz.samiker.theendlessweave.core.entities.components.*; -import xyz.samiker.theendlessweave.core.network.packets.Packet; -import xyz.samiker.theendlessweave.core.network.packets.PacketDestroyEntity; -import xyz.samiker.theendlessweave.core.network.packets.PacketEntityUpdate; -import xyz.samiker.theendlessweave.core.network.packets.PacketSnapshot; -import xyz.samiker.theendlessweave.core.network.utils.PacketPool; -import xyz.samiker.theendlessweave.core.systems.ISystem; -import xyz.samiker.theendlessweave.core.utils.Array; -import xyz.samiker.theendlessweave.server.network.GameServer; +import xyz.samiker.theendlessweave.entities.Entity; +import xyz.samiker.theendlessweave.entities.components.*; +import xyz.samiker.theendlessweave.network.packets.Packet; +import xyz.samiker.theendlessweave.network.packets.PacketDestroyEntity; +import xyz.samiker.theendlessweave.network.packets.PacketEntityUpdate; +import xyz.samiker.theendlessweave.network.packets.PacketSnapshot; +import xyz.samiker.theendlessweave.network.utils.PacketPool; +import xyz.samiker.theendlessweave.systems.ISystem; +import xyz.samiker.theendlessweave.utils.Array; +import xyz.samiker.theendlessweave.network.GameServer; import java.util.Arrays; diff --git a/src/main/java/xyz/samiker/theendlessweave/server/systems/WeaponSystem.java b/server/src/main/java/xyz/samiker/theendlessweave/systems/WeaponSystem.java similarity index 58% rename from src/main/java/xyz/samiker/theendlessweave/server/systems/WeaponSystem.java rename to server/src/main/java/xyz/samiker/theendlessweave/systems/WeaponSystem.java index 089616f..4f7f701 100644 --- a/src/main/java/xyz/samiker/theendlessweave/server/systems/WeaponSystem.java +++ b/server/src/main/java/xyz/samiker/theendlessweave/systems/WeaponSystem.java @@ -1,9 +1,9 @@ -package xyz.samiker.theendlessweave.server.systems; +package xyz.samiker.theendlessweave.systems; -import xyz.samiker.theendlessweave.core.entities.Entity; -import xyz.samiker.theendlessweave.core.entities.components.WeaponComponent; -import xyz.samiker.theendlessweave.core.systems.ISystem; -import xyz.samiker.theendlessweave.core.utils.Array; +import xyz.samiker.theendlessweave.entities.Entity; +import xyz.samiker.theendlessweave.entities.components.WeaponComponent; +import xyz.samiker.theendlessweave.systems.ISystem; +import xyz.samiker.theendlessweave.utils.Array; public class WeaponSystem implements ISystem { @Override diff --git a/settings.gradle.kts b/settings.gradle.kts index df13ec7..ded765a 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1 +1,2 @@ rootProject.name = "TheEndlessWeave" +include("shared", "core", "lwjgl3", "server", "android") \ No newline at end of file diff --git a/shared/build.gradle.kts b/shared/build.gradle.kts new file mode 100644 index 0000000..10a1890 --- /dev/null +++ b/shared/build.gradle.kts @@ -0,0 +1,13 @@ +plugins { + java + id("java-library") +} + +val gdxVersion: String by project + +dependencies { + //api("com.badlogicgames.gdx:gdx:$gdxVersion") + api("com.esotericsoftware:kryonet:${project.extra["kryoVersion"]}") +} + +java { toolchain { languageVersion.set(JavaLanguageVersion.of(17)) } } \ No newline at end of file diff --git a/src/main/java/xyz/samiker/theendlessweave/core/GameData.java b/shared/src/main/java/xyz/samiker/theendlessweave/GameData.java similarity index 93% rename from src/main/java/xyz/samiker/theendlessweave/core/GameData.java rename to shared/src/main/java/xyz/samiker/theendlessweave/GameData.java index b2af1cf..dbb3cff 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/GameData.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/GameData.java @@ -1,6 +1,6 @@ -package xyz.samiker.theendlessweave.core; +package xyz.samiker.theendlessweave; -import xyz.samiker.theendlessweave.core.gamemap.MapGeneratorSettings; +import xyz.samiker.theendlessweave.gamemap.MapGeneratorSettings; /** * Данные для запуска игры. diff --git a/src/main/java/xyz/samiker/theendlessweave/core/entities/EntitiesFabric.java b/shared/src/main/java/xyz/samiker/theendlessweave/entities/EntitiesFabric.java similarity index 95% rename from src/main/java/xyz/samiker/theendlessweave/core/entities/EntitiesFabric.java rename to shared/src/main/java/xyz/samiker/theendlessweave/entities/EntitiesFabric.java index 0b585e8..8e9bb15 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/entities/EntitiesFabric.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/entities/EntitiesFabric.java @@ -1,6 +1,6 @@ -package xyz.samiker.theendlessweave.core.entities; +package xyz.samiker.theendlessweave.entities; -import xyz.samiker.theendlessweave.core.entities.components.*; +import xyz.samiker.theendlessweave.entities.components.*; public class EntitiesFabric { public static Entity createPlayer(int entityId, double x, double y, double speed) { diff --git a/src/main/java/xyz/samiker/theendlessweave/core/entities/Entity.java b/shared/src/main/java/xyz/samiker/theendlessweave/entities/Entity.java similarity index 93% rename from src/main/java/xyz/samiker/theendlessweave/core/entities/Entity.java rename to shared/src/main/java/xyz/samiker/theendlessweave/entities/Entity.java index 91f6339..d573c42 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/entities/Entity.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/entities/Entity.java @@ -1,6 +1,6 @@ -package xyz.samiker.theendlessweave.core.entities; +package xyz.samiker.theendlessweave.entities; -import xyz.samiker.theendlessweave.core.entities.components.ComponentType; +import xyz.samiker.theendlessweave.entities.components.ComponentType; import java.util.Arrays; import java.util.BitSet; diff --git a/src/main/java/xyz/samiker/theendlessweave/core/entities/ProjectilePool.java b/shared/src/main/java/xyz/samiker/theendlessweave/entities/ProjectilePool.java similarity index 68% rename from src/main/java/xyz/samiker/theendlessweave/core/entities/ProjectilePool.java rename to shared/src/main/java/xyz/samiker/theendlessweave/entities/ProjectilePool.java index abaa7bf..0c6850c 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/entities/ProjectilePool.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/entities/ProjectilePool.java @@ -1,9 +1,9 @@ -package xyz.samiker.theendlessweave.core.entities; +package xyz.samiker.theendlessweave.entities; -import xyz.samiker.theendlessweave.core.entities.components.PositionComponent; -import xyz.samiker.theendlessweave.core.entities.components.ProjectileComponent; -import xyz.samiker.theendlessweave.core.entities.components.RenderComponent; -import xyz.samiker.theendlessweave.core.entities.components.VelocityComponent; +import xyz.samiker.theendlessweave.entities.components.PositionComponent; +import xyz.samiker.theendlessweave.entities.components.ProjectileComponent; +import xyz.samiker.theendlessweave.entities.components.RenderComponent; +import xyz.samiker.theendlessweave.entities.components.VelocityComponent; import java.util.ArrayDeque; diff --git a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/AIComponent.java b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/AIComponent.java similarity index 94% rename from src/main/java/xyz/samiker/theendlessweave/core/entities/components/AIComponent.java rename to shared/src/main/java/xyz/samiker/theendlessweave/entities/components/AIComponent.java index b7639be..d0849f1 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/AIComponent.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/AIComponent.java @@ -1,6 +1,6 @@ -package xyz.samiker.theendlessweave.core.entities.components; +package xyz.samiker.theendlessweave.entities.components; -import xyz.samiker.theendlessweave.core.logic.ai.EntityAIState; +import xyz.samiker.theendlessweave.logic.ai.EntityAIState; public class AIComponent implements Component { private EntityAIState state; diff --git a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/AttackComponent.java b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/AttackComponent.java similarity index 96% rename from src/main/java/xyz/samiker/theendlessweave/core/entities/components/AttackComponent.java rename to shared/src/main/java/xyz/samiker/theendlessweave/entities/components/AttackComponent.java index 364d9f5..6d76454 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/AttackComponent.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/AttackComponent.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.core.entities.components; +package xyz.samiker.theendlessweave.entities.components; /** * Компонент атаки с поддержкой паттернов. diff --git a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/CameraTargetComponent.java b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/CameraTargetComponent.java similarity index 50% rename from src/main/java/xyz/samiker/theendlessweave/core/entities/components/CameraTargetComponent.java rename to shared/src/main/java/xyz/samiker/theendlessweave/entities/components/CameraTargetComponent.java index 94d79af..f84bd72 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/CameraTargetComponent.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/CameraTargetComponent.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.core.entities.components; +package xyz.samiker.theendlessweave.entities.components; public class CameraTargetComponent implements Component { } diff --git a/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/Component.java b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/Component.java new file mode 100644 index 0000000..78ba520 --- /dev/null +++ b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/Component.java @@ -0,0 +1,4 @@ +package xyz.samiker.theendlessweave.entities.components; + +public interface Component { +} diff --git a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/ComponentType.java b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/ComponentType.java similarity index 84% rename from src/main/java/xyz/samiker/theendlessweave/core/entities/components/ComponentType.java rename to shared/src/main/java/xyz/samiker/theendlessweave/entities/components/ComponentType.java index 5bdd3eb..fccc95a 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/ComponentType.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/ComponentType.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.core.entities.components; +package xyz.samiker.theendlessweave.entities.components; import java.util.HashMap; import java.util.Map; diff --git a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/HealthComponent.java b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/HealthComponent.java similarity index 90% rename from src/main/java/xyz/samiker/theendlessweave/core/entities/components/HealthComponent.java rename to shared/src/main/java/xyz/samiker/theendlessweave/entities/components/HealthComponent.java index 43bbebf..49a19f1 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/HealthComponent.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/HealthComponent.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.core.entities.components; +package xyz.samiker.theendlessweave.entities.components; public class HealthComponent implements Component { public volatile double health; diff --git a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/LevelComponent.java b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/LevelComponent.java similarity index 95% rename from src/main/java/xyz/samiker/theendlessweave/core/entities/components/LevelComponent.java rename to shared/src/main/java/xyz/samiker/theendlessweave/entities/components/LevelComponent.java index 940e5a9..7b671c1 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/LevelComponent.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/LevelComponent.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.core.entities.components; +package xyz.samiker.theendlessweave.entities.components; /** * Компонент уровня игрока. diff --git a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/NameComponent.java b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/NameComponent.java similarity index 71% rename from src/main/java/xyz/samiker/theendlessweave/core/entities/components/NameComponent.java rename to shared/src/main/java/xyz/samiker/theendlessweave/entities/components/NameComponent.java index 813a93d..ead7b00 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/NameComponent.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/NameComponent.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.core.entities.components; +package xyz.samiker.theendlessweave.entities.components; public class NameComponent implements Component { public String name = ""; diff --git a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/PathfindingComponent.java b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/PathfindingComponent.java similarity index 90% rename from src/main/java/xyz/samiker/theendlessweave/core/entities/components/PathfindingComponent.java rename to shared/src/main/java/xyz/samiker/theendlessweave/entities/components/PathfindingComponent.java index 97dabf1..8a3e219 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/PathfindingComponent.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/PathfindingComponent.java @@ -1,7 +1,7 @@ -package xyz.samiker.theendlessweave.core.entities.components; +package xyz.samiker.theendlessweave.entities.components; -import xyz.samiker.theendlessweave.core.tile.Tile; -import xyz.samiker.theendlessweave.core.utils.Array; +import xyz.samiker.theendlessweave.tile.Tile; +import xyz.samiker.theendlessweave.utils.Array; public class PathfindingComponent implements Component { private Array path; diff --git a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/PatternConfig.java b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/PatternConfig.java similarity index 98% rename from src/main/java/xyz/samiker/theendlessweave/core/entities/components/PatternConfig.java rename to shared/src/main/java/xyz/samiker/theendlessweave/entities/components/PatternConfig.java index 13f25f4..f339edb 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/PatternConfig.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/PatternConfig.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.core.entities.components; +package xyz.samiker.theendlessweave.entities.components; public class PatternConfig { private final PatternType patternType; diff --git a/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/PlayerTagComponent.java b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/PlayerTagComponent.java new file mode 100644 index 0000000..779d553 --- /dev/null +++ b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/PlayerTagComponent.java @@ -0,0 +1,4 @@ +package xyz.samiker.theendlessweave.entities.components; + +public class PlayerTagComponent implements Component { +} \ No newline at end of file diff --git a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/PositionComponent.java b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/PositionComponent.java similarity index 81% rename from src/main/java/xyz/samiker/theendlessweave/core/entities/components/PositionComponent.java rename to shared/src/main/java/xyz/samiker/theendlessweave/entities/components/PositionComponent.java index a273f94..48fdeb3 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/PositionComponent.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/PositionComponent.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.core.entities.components; +package xyz.samiker.theendlessweave.entities.components; public class PositionComponent implements Component { public double x, y; diff --git a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/ProjectileComponent.java b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/ProjectileComponent.java similarity index 95% rename from src/main/java/xyz/samiker/theendlessweave/core/entities/components/ProjectileComponent.java rename to shared/src/main/java/xyz/samiker/theendlessweave/entities/components/ProjectileComponent.java index 7f25d37..c782566 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/ProjectileComponent.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/ProjectileComponent.java @@ -1,6 +1,6 @@ -package xyz.samiker.theendlessweave.core.entities.components; +package xyz.samiker.theendlessweave.entities.components; -import xyz.samiker.theendlessweave.core.entities.Entity; +import xyz.samiker.theendlessweave.entities.Entity; public class ProjectileComponent implements Component { public double angle; diff --git a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/RenderComponent.java b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/RenderComponent.java similarity index 86% rename from src/main/java/xyz/samiker/theendlessweave/core/entities/components/RenderComponent.java rename to shared/src/main/java/xyz/samiker/theendlessweave/entities/components/RenderComponent.java index 8852749..b59ffbf 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/RenderComponent.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/RenderComponent.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.core.entities.components; +package xyz.samiker.theendlessweave.entities.components; public class RenderComponent implements Component { public final RenderType type; diff --git a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/RotationComponent.java b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/RotationComponent.java similarity index 72% rename from src/main/java/xyz/samiker/theendlessweave/core/entities/components/RotationComponent.java rename to shared/src/main/java/xyz/samiker/theendlessweave/entities/components/RotationComponent.java index 4fb8c13..00d5f48 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/RotationComponent.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/RotationComponent.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.core.entities.components; +package xyz.samiker.theendlessweave.entities.components; public class RotationComponent implements Component { public double angle; diff --git a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/ScaleComponent.java b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/ScaleComponent.java similarity index 79% rename from src/main/java/xyz/samiker/theendlessweave/core/entities/components/ScaleComponent.java rename to shared/src/main/java/xyz/samiker/theendlessweave/entities/components/ScaleComponent.java index 9345b70..82f643e 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/ScaleComponent.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/ScaleComponent.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.core.entities.components; +package xyz.samiker.theendlessweave.entities.components; public class ScaleComponent implements Component { public double scaleX = 1; diff --git a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/ScoreComponent.java b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/ScoreComponent.java similarity index 81% rename from src/main/java/xyz/samiker/theendlessweave/core/entities/components/ScoreComponent.java rename to shared/src/main/java/xyz/samiker/theendlessweave/entities/components/ScoreComponent.java index dbfb165..d769e7b 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/ScoreComponent.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/ScoreComponent.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.core.entities.components; +package xyz.samiker.theendlessweave.entities.components; public class ScoreComponent implements Component { private int score = 0; diff --git a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/ShowNameTagComponent.java b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/ShowNameTagComponent.java similarity index 72% rename from src/main/java/xyz/samiker/theendlessweave/core/entities/components/ShowNameTagComponent.java rename to shared/src/main/java/xyz/samiker/theendlessweave/entities/components/ShowNameTagComponent.java index cbe9f4a..cc52526 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/ShowNameTagComponent.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/ShowNameTagComponent.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.core.entities.components; +package xyz.samiker.theendlessweave.entities.components; /** * Маркер для отображения метки имени над сущностью. diff --git a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/VelocityComponent.java b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/VelocityComponent.java similarity index 88% rename from src/main/java/xyz/samiker/theendlessweave/core/entities/components/VelocityComponent.java rename to shared/src/main/java/xyz/samiker/theendlessweave/entities/components/VelocityComponent.java index 32dd47c..237623a 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/VelocityComponent.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/VelocityComponent.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.core.entities.components; +package xyz.samiker.theendlessweave.entities.components; public class VelocityComponent implements Component { public double speed; diff --git a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/WeaponComponent.java b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/WeaponComponent.java similarity index 85% rename from src/main/java/xyz/samiker/theendlessweave/core/entities/components/WeaponComponent.java rename to shared/src/main/java/xyz/samiker/theendlessweave/entities/components/WeaponComponent.java index f86a160..675be68 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/WeaponComponent.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/entities/components/WeaponComponent.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.core.entities.components; +package xyz.samiker.theendlessweave.entities.components; public class WeaponComponent implements Component { public final double cooldownTime; diff --git a/src/main/java/xyz/samiker/theendlessweave/core/gamemap/EnemyFactory.java b/shared/src/main/java/xyz/samiker/theendlessweave/gamemap/EnemyFactory.java similarity index 83% rename from src/main/java/xyz/samiker/theendlessweave/core/gamemap/EnemyFactory.java rename to shared/src/main/java/xyz/samiker/theendlessweave/gamemap/EnemyFactory.java index 0f5abb6..e58071b 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/gamemap/EnemyFactory.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/gamemap/EnemyFactory.java @@ -1,13 +1,13 @@ -package xyz.samiker.theendlessweave.core.gamemap; +package xyz.samiker.theendlessweave.gamemap; -import xyz.samiker.theendlessweave.core.entities.EntitiesFabric; -import xyz.samiker.theendlessweave.core.entities.Entity; -import xyz.samiker.theendlessweave.core.entities.components.AIComponent; -import xyz.samiker.theendlessweave.core.entities.components.AttackComponent; -import xyz.samiker.theendlessweave.core.entities.components.PatternConfig; -import xyz.samiker.theendlessweave.core.logic.ai.EntityAIState; +import xyz.samiker.theendlessweave.entities.EntitiesFabric; +import xyz.samiker.theendlessweave.entities.Entity; +import xyz.samiker.theendlessweave.entities.components.AIComponent; +import xyz.samiker.theendlessweave.entities.components.AttackComponent; +import xyz.samiker.theendlessweave.entities.components.PatternConfig; +import xyz.samiker.theendlessweave.logic.ai.EntityAIState; -import static xyz.samiker.theendlessweave.core.utils.Constants.TILE_SIZE; +import static xyz.samiker.theendlessweave.utils.Constants.TILE_SIZE; public class EnemyFactory { public static Entity createEnemy(int entityId, EnemySpawnData spawnData) { diff --git a/src/main/java/xyz/samiker/theendlessweave/core/gamemap/EnemySpawnData.java b/shared/src/main/java/xyz/samiker/theendlessweave/gamemap/EnemySpawnData.java similarity index 97% rename from src/main/java/xyz/samiker/theendlessweave/core/gamemap/EnemySpawnData.java rename to shared/src/main/java/xyz/samiker/theendlessweave/gamemap/EnemySpawnData.java index b012aa6..3a70357 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/gamemap/EnemySpawnData.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/gamemap/EnemySpawnData.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.core.gamemap; +package xyz.samiker.theendlessweave.gamemap; public class EnemySpawnData { private final int gridX; diff --git a/src/main/java/xyz/samiker/theendlessweave/core/gamemap/GameMap.java b/shared/src/main/java/xyz/samiker/theendlessweave/gamemap/GameMap.java similarity index 90% rename from src/main/java/xyz/samiker/theendlessweave/core/gamemap/GameMap.java rename to shared/src/main/java/xyz/samiker/theendlessweave/gamemap/GameMap.java index 5ffa4bb..8854693 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/gamemap/GameMap.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/gamemap/GameMap.java @@ -1,9 +1,9 @@ -package xyz.samiker.theendlessweave.core.gamemap; +package xyz.samiker.theendlessweave.gamemap; -import xyz.samiker.theendlessweave.core.tile.Tile; -import xyz.samiker.theendlessweave.core.tile.TileType; -import xyz.samiker.theendlessweave.core.tile.TileUtils; -import xyz.samiker.theendlessweave.core.utils.Array; +import xyz.samiker.theendlessweave.tile.Tile; +import xyz.samiker.theendlessweave.tile.TileType; +import xyz.samiker.theendlessweave.tile.TileUtils; +import xyz.samiker.theendlessweave.utils.Array; public class GameMap { private final int WIDTH; diff --git a/src/main/java/xyz/samiker/theendlessweave/core/gamemap/MapGenerator.java b/shared/src/main/java/xyz/samiker/theendlessweave/gamemap/MapGenerator.java similarity index 98% rename from src/main/java/xyz/samiker/theendlessweave/core/gamemap/MapGenerator.java rename to shared/src/main/java/xyz/samiker/theendlessweave/gamemap/MapGenerator.java index 12a639b..732ce64 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/gamemap/MapGenerator.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/gamemap/MapGenerator.java @@ -1,10 +1,10 @@ -package xyz.samiker.theendlessweave.core.gamemap; +package xyz.samiker.theendlessweave.gamemap; -import xyz.samiker.theendlessweave.core.gamemap.EnemySpawnData.EnemyType; -import xyz.samiker.theendlessweave.core.tile.Tile; -import xyz.samiker.theendlessweave.core.tile.TileType; -import xyz.samiker.theendlessweave.core.tile.TileUtils; -import xyz.samiker.theendlessweave.core.utils.Array; +import xyz.samiker.theendlessweave.gamemap.EnemySpawnData.EnemyType; +import xyz.samiker.theendlessweave.tile.Tile; +import xyz.samiker.theendlessweave.tile.TileType; +import xyz.samiker.theendlessweave.tile.TileUtils; +import xyz.samiker.theendlessweave.utils.Array; import java.util.*; diff --git a/src/main/java/xyz/samiker/theendlessweave/core/gamemap/MapGeneratorSettings.java b/shared/src/main/java/xyz/samiker/theendlessweave/gamemap/MapGeneratorSettings.java similarity index 99% rename from src/main/java/xyz/samiker/theendlessweave/core/gamemap/MapGeneratorSettings.java rename to shared/src/main/java/xyz/samiker/theendlessweave/gamemap/MapGeneratorSettings.java index 82670f3..e8a2d5c 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/gamemap/MapGeneratorSettings.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/gamemap/MapGeneratorSettings.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.core.gamemap; +package xyz.samiker.theendlessweave.gamemap; public class MapGeneratorSettings { private boolean inverseGeneration; diff --git a/src/main/java/xyz/samiker/theendlessweave/core/gamemap/Room.java b/shared/src/main/java/xyz/samiker/theendlessweave/gamemap/Room.java similarity index 97% rename from src/main/java/xyz/samiker/theendlessweave/core/gamemap/Room.java rename to shared/src/main/java/xyz/samiker/theendlessweave/gamemap/Room.java index bf9be02..f55f877 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/gamemap/Room.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/gamemap/Room.java @@ -1,6 +1,6 @@ -package xyz.samiker.theendlessweave.core.gamemap; +package xyz.samiker.theendlessweave.gamemap; -import xyz.samiker.theendlessweave.core.utils.Array; +import xyz.samiker.theendlessweave.utils.Array; import java.util.Random; diff --git a/src/main/java/xyz/samiker/theendlessweave/core/gamemap/RoomObjectPlacer.java b/shared/src/main/java/xyz/samiker/theendlessweave/gamemap/RoomObjectPlacer.java similarity index 95% rename from src/main/java/xyz/samiker/theendlessweave/core/gamemap/RoomObjectPlacer.java rename to shared/src/main/java/xyz/samiker/theendlessweave/gamemap/RoomObjectPlacer.java index cefce3d..854d857 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/gamemap/RoomObjectPlacer.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/gamemap/RoomObjectPlacer.java @@ -1,8 +1,8 @@ -package xyz.samiker.theendlessweave.core.gamemap; +package xyz.samiker.theendlessweave.gamemap; -import xyz.samiker.theendlessweave.core.tile.Tile; -import xyz.samiker.theendlessweave.core.tile.TileObject; -import xyz.samiker.theendlessweave.core.tile.TileObject.TileObjectType; +import xyz.samiker.theendlessweave.tile.Tile; +import xyz.samiker.theendlessweave.tile.TileObject; +import xyz.samiker.theendlessweave.tile.TileObject.TileObjectType; import java.util.Random; diff --git a/src/main/java/xyz/samiker/theendlessweave/core/gamemap/RoomShapeGenerator.java b/shared/src/main/java/xyz/samiker/theendlessweave/gamemap/RoomShapeGenerator.java similarity index 97% rename from src/main/java/xyz/samiker/theendlessweave/core/gamemap/RoomShapeGenerator.java rename to shared/src/main/java/xyz/samiker/theendlessweave/gamemap/RoomShapeGenerator.java index 2835c14..d97e937 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/gamemap/RoomShapeGenerator.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/gamemap/RoomShapeGenerator.java @@ -1,8 +1,8 @@ -package xyz.samiker.theendlessweave.core.gamemap; +package xyz.samiker.theendlessweave.gamemap; -import xyz.samiker.theendlessweave.core.tile.Tile; -import xyz.samiker.theendlessweave.core.tile.TileType; -import xyz.samiker.theendlessweave.core.tile.TileUtils; +import xyz.samiker.theendlessweave.tile.Tile; +import xyz.samiker.theendlessweave.tile.TileType; +import xyz.samiker.theendlessweave.tile.TileUtils; import java.util.Random; diff --git a/src/main/java/xyz/samiker/theendlessweave/core/gamemap/RoomType.java b/shared/src/main/java/xyz/samiker/theendlessweave/gamemap/RoomType.java similarity index 97% rename from src/main/java/xyz/samiker/theendlessweave/core/gamemap/RoomType.java rename to shared/src/main/java/xyz/samiker/theendlessweave/gamemap/RoomType.java index 4d8c57c..b8f8d20 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/gamemap/RoomType.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/gamemap/RoomType.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.core.gamemap; +package xyz.samiker.theendlessweave.gamemap; /** * Типы комнат на карте. diff --git a/src/main/java/xyz/samiker/theendlessweave/core/logic/Game.java b/shared/src/main/java/xyz/samiker/theendlessweave/logic/Game.java similarity index 87% rename from src/main/java/xyz/samiker/theendlessweave/core/logic/Game.java rename to shared/src/main/java/xyz/samiker/theendlessweave/logic/Game.java index 3d29f9c..a64afee 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/logic/Game.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/logic/Game.java @@ -1,19 +1,19 @@ -package xyz.samiker.theendlessweave.core.logic; - -import xyz.samiker.theendlessweave.core.GameData; -import xyz.samiker.theendlessweave.core.entities.EntitiesFabric; -import xyz.samiker.theendlessweave.core.entities.Entity; -import xyz.samiker.theendlessweave.core.entities.ProjectilePool; -import xyz.samiker.theendlessweave.core.entities.components.AIComponent; -import xyz.samiker.theendlessweave.core.entities.components.AttackComponent; -import xyz.samiker.theendlessweave.core.entities.components.PatternConfig; -import xyz.samiker.theendlessweave.core.entities.components.ProjectileComponent; -import xyz.samiker.theendlessweave.core.gamemap.*; -import xyz.samiker.theendlessweave.core.logic.ai.EntityAIState; -import xyz.samiker.theendlessweave.core.systems.ISystem; -import xyz.samiker.theendlessweave.core.utils.Array; - -import static xyz.samiker.theendlessweave.core.utils.Constants.TILE_SIZE; +package xyz.samiker.theendlessweave.logic; + +import xyz.samiker.theendlessweave.GameData; +import xyz.samiker.theendlessweave.entities.EntitiesFabric; +import xyz.samiker.theendlessweave.entities.Entity; +import xyz.samiker.theendlessweave.entities.ProjectilePool; +import xyz.samiker.theendlessweave.entities.components.AIComponent; +import xyz.samiker.theendlessweave.entities.components.AttackComponent; +import xyz.samiker.theendlessweave.entities.components.PatternConfig; +import xyz.samiker.theendlessweave.entities.components.ProjectileComponent; +import xyz.samiker.theendlessweave.gamemap.*; +import xyz.samiker.theendlessweave.logic.ai.EntityAIState; +import xyz.samiker.theendlessweave.systems.ISystem; +import xyz.samiker.theendlessweave.utils.Array; + +import static xyz.samiker.theendlessweave.utils.Constants.TILE_SIZE; public class Game { private final GameMap gameMap; diff --git a/src/main/java/xyz/samiker/theendlessweave/core/logic/GameState.java b/shared/src/main/java/xyz/samiker/theendlessweave/logic/GameState.java similarity index 57% rename from src/main/java/xyz/samiker/theendlessweave/core/logic/GameState.java rename to shared/src/main/java/xyz/samiker/theendlessweave/logic/GameState.java index 4b0096d..6228409 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/logic/GameState.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/logic/GameState.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.core.logic; +package xyz.samiker.theendlessweave.logic; public enum GameState { PLAYING, diff --git a/src/main/java/xyz/samiker/theendlessweave/core/logic/Loop.java b/shared/src/main/java/xyz/samiker/theendlessweave/logic/Loop.java similarity index 91% rename from src/main/java/xyz/samiker/theendlessweave/core/logic/Loop.java rename to shared/src/main/java/xyz/samiker/theendlessweave/logic/Loop.java index 382fe7f..8507a0d 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/logic/Loop.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/logic/Loop.java @@ -1,7 +1,7 @@ -package xyz.samiker.theendlessweave.core.logic; +package xyz.samiker.theendlessweave.logic; -import static xyz.samiker.theendlessweave.core.utils.Constants.TARGET_TPS; -import static xyz.samiker.theendlessweave.core.utils.Constants.TIME_PER_TICK; +import static xyz.samiker.theendlessweave.utils.Constants.TARGET_TPS; +import static xyz.samiker.theendlessweave.utils.Constants.TIME_PER_TICK; public class Loop { private final Game game; diff --git a/src/main/java/xyz/samiker/theendlessweave/core/logic/PerformanceMonitor.java b/shared/src/main/java/xyz/samiker/theendlessweave/logic/PerformanceMonitor.java similarity index 97% rename from src/main/java/xyz/samiker/theendlessweave/core/logic/PerformanceMonitor.java rename to shared/src/main/java/xyz/samiker/theendlessweave/logic/PerformanceMonitor.java index b717057..77314d2 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/logic/PerformanceMonitor.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/logic/PerformanceMonitor.java @@ -1,7 +1,7 @@ -package xyz.samiker.theendlessweave.core.logic; +package xyz.samiker.theendlessweave.logic; -import xyz.samiker.theendlessweave.core.utils.Array; -import xyz.samiker.theendlessweave.core.utils.Constants; +import xyz.samiker.theendlessweave.utils.Array; +import xyz.samiker.theendlessweave.utils.Constants; import java.util.Arrays; import java.util.Comparator; diff --git a/src/main/java/xyz/samiker/theendlessweave/core/logic/ai/EntityAIState.java b/shared/src/main/java/xyz/samiker/theendlessweave/logic/ai/EntityAIState.java similarity index 62% rename from src/main/java/xyz/samiker/theendlessweave/core/logic/ai/EntityAIState.java rename to shared/src/main/java/xyz/samiker/theendlessweave/logic/ai/EntityAIState.java index ebaccf9..24170e7 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/logic/ai/EntityAIState.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/logic/ai/EntityAIState.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.core.logic.ai; +package xyz.samiker.theendlessweave.logic.ai; public enum EntityAIState { IDLE, diff --git a/src/main/java/xyz/samiker/theendlessweave/core/logic/ai/LineOfSightUtil.java b/shared/src/main/java/xyz/samiker/theendlessweave/logic/ai/LineOfSightUtil.java similarity index 91% rename from src/main/java/xyz/samiker/theendlessweave/core/logic/ai/LineOfSightUtil.java rename to shared/src/main/java/xyz/samiker/theendlessweave/logic/ai/LineOfSightUtil.java index cd4e6f3..a56a9c6 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/logic/ai/LineOfSightUtil.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/logic/ai/LineOfSightUtil.java @@ -1,10 +1,10 @@ -package xyz.samiker.theendlessweave.core.logic.ai; +package xyz.samiker.theendlessweave.logic.ai; -import xyz.samiker.theendlessweave.core.gamemap.GameMap; -import xyz.samiker.theendlessweave.core.tile.Tile; -import xyz.samiker.theendlessweave.core.tile.TileType; +import xyz.samiker.theendlessweave.gamemap.GameMap; +import xyz.samiker.theendlessweave.tile.Tile; +import xyz.samiker.theendlessweave.tile.TileType; -import static xyz.samiker.theendlessweave.core.utils.Constants.TILE_SIZE; +import static xyz.samiker.theendlessweave.utils.Constants.TILE_SIZE; /** * Утилита для проверки прямой видимости между двумя точками. diff --git a/src/main/java/xyz/samiker/theendlessweave/core/logic/ai/astar/AStarPathfinder.java b/shared/src/main/java/xyz/samiker/theendlessweave/logic/ai/astar/AStarPathfinder.java similarity index 97% rename from src/main/java/xyz/samiker/theendlessweave/core/logic/ai/astar/AStarPathfinder.java rename to shared/src/main/java/xyz/samiker/theendlessweave/logic/ai/astar/AStarPathfinder.java index 0ccc996..0332643 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/logic/ai/astar/AStarPathfinder.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/logic/ai/astar/AStarPathfinder.java @@ -1,8 +1,8 @@ -package xyz.samiker.theendlessweave.core.logic.ai.astar; +package xyz.samiker.theendlessweave.logic.ai.astar; -import xyz.samiker.theendlessweave.core.tile.Tile; -import xyz.samiker.theendlessweave.core.tile.TileType; -import xyz.samiker.theendlessweave.core.utils.Array; +import xyz.samiker.theendlessweave.tile.Tile; +import xyz.samiker.theendlessweave.tile.TileType; +import xyz.samiker.theendlessweave.utils.Array; public class AStarPathfinder { private static class GraphNode { diff --git a/src/main/java/xyz/samiker/theendlessweave/core/logic/ai/astar/PathNode.java b/shared/src/main/java/xyz/samiker/theendlessweave/logic/ai/astar/PathNode.java similarity index 88% rename from src/main/java/xyz/samiker/theendlessweave/core/logic/ai/astar/PathNode.java rename to shared/src/main/java/xyz/samiker/theendlessweave/logic/ai/astar/PathNode.java index 5f5ff1a..044e890 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/logic/ai/astar/PathNode.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/logic/ai/astar/PathNode.java @@ -1,7 +1,7 @@ -package xyz.samiker.theendlessweave.core.logic.ai.astar; +package xyz.samiker.theendlessweave.logic.ai.astar; -import xyz.samiker.theendlessweave.core.tile.Tile; -import xyz.samiker.theendlessweave.core.tile.TileType; +import xyz.samiker.theendlessweave.tile.Tile; +import xyz.samiker.theendlessweave.tile.TileType; import java.util.Objects; diff --git a/src/main/java/xyz/samiker/theendlessweave/core/logic/utils/SpatialGrid.java b/shared/src/main/java/xyz/samiker/theendlessweave/logic/utils/SpatialGrid.java similarity index 88% rename from src/main/java/xyz/samiker/theendlessweave/core/logic/utils/SpatialGrid.java rename to shared/src/main/java/xyz/samiker/theendlessweave/logic/utils/SpatialGrid.java index d0bba2e..e800578 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/logic/utils/SpatialGrid.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/logic/utils/SpatialGrid.java @@ -1,10 +1,10 @@ -package xyz.samiker.theendlessweave.core.logic.utils; +package xyz.samiker.theendlessweave.logic.utils; -import xyz.samiker.theendlessweave.core.entities.Entity; -import xyz.samiker.theendlessweave.core.entities.components.PositionComponent; -import xyz.samiker.theendlessweave.core.utils.Array; +import xyz.samiker.theendlessweave.entities.Entity; +import xyz.samiker.theendlessweave.entities.components.PositionComponent; +import xyz.samiker.theendlessweave.utils.Array; -import static xyz.samiker.theendlessweave.core.utils.Constants.TILE_SIZE; +import static xyz.samiker.theendlessweave.utils.Constants.TILE_SIZE; public class SpatialGrid { private final int cellSize; diff --git a/src/main/java/xyz/samiker/theendlessweave/core/network/NetworkRegister.java b/shared/src/main/java/xyz/samiker/theendlessweave/network/NetworkRegister.java similarity index 67% rename from src/main/java/xyz/samiker/theendlessweave/core/network/NetworkRegister.java rename to shared/src/main/java/xyz/samiker/theendlessweave/network/NetworkRegister.java index f72abb4..339859d 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/network/NetworkRegister.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/network/NetworkRegister.java @@ -1,14 +1,14 @@ -package xyz.samiker.theendlessweave.core.network; +package xyz.samiker.theendlessweave.network; import com.esotericsoftware.kryo.Kryo; import com.esotericsoftware.kryonet.EndPoint; -import xyz.samiker.theendlessweave.core.GameData; -import xyz.samiker.theendlessweave.core.entities.components.PositionComponent; -import xyz.samiker.theendlessweave.core.entities.components.ProjectileComponent; -import xyz.samiker.theendlessweave.core.entities.components.RenderComponent; -import xyz.samiker.theendlessweave.core.entities.components.VelocityComponent; -import xyz.samiker.theendlessweave.core.gamemap.MapGeneratorSettings; -import xyz.samiker.theendlessweave.core.network.packets.*; +import xyz.samiker.theendlessweave.GameData; +import xyz.samiker.theendlessweave.entities.components.PositionComponent; +import xyz.samiker.theendlessweave.entities.components.ProjectileComponent; +import xyz.samiker.theendlessweave.entities.components.RenderComponent; +import xyz.samiker.theendlessweave.entities.components.VelocityComponent; +import xyz.samiker.theendlessweave.gamemap.MapGeneratorSettings; +import xyz.samiker.theendlessweave.network.packets.*; public class NetworkRegister { public static void register(EndPoint endPoint) { diff --git a/shared/src/main/java/xyz/samiker/theendlessweave/network/packets/Packet.java b/shared/src/main/java/xyz/samiker/theendlessweave/network/packets/Packet.java new file mode 100644 index 0000000..ab100f3 --- /dev/null +++ b/shared/src/main/java/xyz/samiker/theendlessweave/network/packets/Packet.java @@ -0,0 +1,4 @@ +package xyz.samiker.theendlessweave.network.packets; + +public abstract class Packet { +} diff --git a/src/main/java/xyz/samiker/theendlessweave/core/network/packets/PacketDestroyEntity.java b/shared/src/main/java/xyz/samiker/theendlessweave/network/packets/PacketDestroyEntity.java similarity index 55% rename from src/main/java/xyz/samiker/theendlessweave/core/network/packets/PacketDestroyEntity.java rename to shared/src/main/java/xyz/samiker/theendlessweave/network/packets/PacketDestroyEntity.java index b69b5c4..e0fdb59 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/network/packets/PacketDestroyEntity.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/network/packets/PacketDestroyEntity.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.core.network.packets; +package xyz.samiker.theendlessweave.network.packets; public class PacketDestroyEntity extends Packet { public int id; diff --git a/src/main/java/xyz/samiker/theendlessweave/core/network/packets/PacketEntityUpdate.java b/shared/src/main/java/xyz/samiker/theendlessweave/network/packets/PacketEntityUpdate.java similarity index 96% rename from src/main/java/xyz/samiker/theendlessweave/core/network/packets/PacketEntityUpdate.java rename to shared/src/main/java/xyz/samiker/theendlessweave/network/packets/PacketEntityUpdate.java index 9796ed1..b277cd4 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/network/packets/PacketEntityUpdate.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/network/packets/PacketEntityUpdate.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.core.network.packets; +package xyz.samiker.theendlessweave.network.packets; import com.esotericsoftware.kryo.Kryo; import com.esotericsoftware.kryo.KryoSerializable; diff --git a/src/main/java/xyz/samiker/theendlessweave/core/network/packets/PacketInput.java b/shared/src/main/java/xyz/samiker/theendlessweave/network/packets/PacketInput.java similarity index 71% rename from src/main/java/xyz/samiker/theendlessweave/core/network/packets/PacketInput.java rename to shared/src/main/java/xyz/samiker/theendlessweave/network/packets/PacketInput.java index 022c609..370cca1 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/network/packets/PacketInput.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/network/packets/PacketInput.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.core.network.packets; +package xyz.samiker.theendlessweave.network.packets; public class PacketInput extends Packet { public boolean up, down, left, right; diff --git a/src/main/java/xyz/samiker/theendlessweave/core/network/packets/PacketLoginRequest.java b/shared/src/main/java/xyz/samiker/theendlessweave/network/packets/PacketLoginRequest.java similarity index 89% rename from src/main/java/xyz/samiker/theendlessweave/core/network/packets/PacketLoginRequest.java rename to shared/src/main/java/xyz/samiker/theendlessweave/network/packets/PacketLoginRequest.java index b3cf5c3..20292a6 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/network/packets/PacketLoginRequest.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/network/packets/PacketLoginRequest.java @@ -1,10 +1,10 @@ -package xyz.samiker.theendlessweave.core.network.packets; +package xyz.samiker.theendlessweave.network.packets; import com.esotericsoftware.kryo.Kryo; import com.esotericsoftware.kryo.KryoSerializable; import com.esotericsoftware.kryo.io.Input; import com.esotericsoftware.kryo.io.Output; -import xyz.samiker.theendlessweave.core.GameData; +import xyz.samiker.theendlessweave.GameData; public class PacketLoginRequest extends Packet implements KryoSerializable { public String username; diff --git a/src/main/java/xyz/samiker/theendlessweave/core/network/packets/PacketLoginResponse.java b/shared/src/main/java/xyz/samiker/theendlessweave/network/packets/PacketLoginResponse.java similarity index 62% rename from src/main/java/xyz/samiker/theendlessweave/core/network/packets/PacketLoginResponse.java rename to shared/src/main/java/xyz/samiker/theendlessweave/network/packets/PacketLoginResponse.java index c4e231a..3ca97f1 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/network/packets/PacketLoginResponse.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/network/packets/PacketLoginResponse.java @@ -1,6 +1,6 @@ -package xyz.samiker.theendlessweave.core.network.packets; +package xyz.samiker.theendlessweave.network.packets; -import xyz.samiker.theendlessweave.core.GameData; +import xyz.samiker.theendlessweave.GameData; public class PacketLoginResponse extends Packet { public boolean accepted; diff --git a/src/main/java/xyz/samiker/theendlessweave/core/network/packets/PacketSnapshot.java b/shared/src/main/java/xyz/samiker/theendlessweave/network/packets/PacketSnapshot.java similarity index 57% rename from src/main/java/xyz/samiker/theendlessweave/core/network/packets/PacketSnapshot.java rename to shared/src/main/java/xyz/samiker/theendlessweave/network/packets/PacketSnapshot.java index 978032c..0d95f64 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/network/packets/PacketSnapshot.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/network/packets/PacketSnapshot.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.core.network.packets; +package xyz.samiker.theendlessweave.network.packets; public class PacketSnapshot extends Packet { public Packet[] entities; diff --git a/src/main/java/xyz/samiker/theendlessweave/core/network/packets/PacketSpawnEntity.java b/shared/src/main/java/xyz/samiker/theendlessweave/network/packets/PacketSpawnEntity.java similarity index 92% rename from src/main/java/xyz/samiker/theendlessweave/core/network/packets/PacketSpawnEntity.java rename to shared/src/main/java/xyz/samiker/theendlessweave/network/packets/PacketSpawnEntity.java index 35e827e..e7805ef 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/network/packets/PacketSpawnEntity.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/network/packets/PacketSpawnEntity.java @@ -1,11 +1,11 @@ -package xyz.samiker.theendlessweave.core.network.packets; +package xyz.samiker.theendlessweave.network.packets; import com.esotericsoftware.kryo.Kryo; import com.esotericsoftware.kryo.KryoSerializable; import com.esotericsoftware.kryo.io.Input; import com.esotericsoftware.kryo.io.Output; -import xyz.samiker.theendlessweave.core.entities.components.ProjectileComponent; -import xyz.samiker.theendlessweave.core.entities.components.RenderComponent; +import xyz.samiker.theendlessweave.entities.components.ProjectileComponent; +import xyz.samiker.theendlessweave.entities.components.RenderComponent; public class PacketSpawnEntity extends Packet implements KryoSerializable { public int id; diff --git a/src/main/java/xyz/samiker/theendlessweave/core/network/utils/BitFlags.java b/shared/src/main/java/xyz/samiker/theendlessweave/network/utils/BitFlags.java similarity index 81% rename from src/main/java/xyz/samiker/theendlessweave/core/network/utils/BitFlags.java rename to shared/src/main/java/xyz/samiker/theendlessweave/network/utils/BitFlags.java index 2605d41..66afe60 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/network/utils/BitFlags.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/network/utils/BitFlags.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.core.network.utils; +package xyz.samiker.theendlessweave.network.utils; public class BitFlags { public static final int HAS_POSITION = 1; // 1 diff --git a/src/main/java/xyz/samiker/theendlessweave/core/network/utils/PacketPool.java b/shared/src/main/java/xyz/samiker/theendlessweave/network/utils/PacketPool.java similarity index 84% rename from src/main/java/xyz/samiker/theendlessweave/core/network/utils/PacketPool.java rename to shared/src/main/java/xyz/samiker/theendlessweave/network/utils/PacketPool.java index 0eb9bb1..cfeaaea 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/network/utils/PacketPool.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/network/utils/PacketPool.java @@ -1,7 +1,7 @@ -package xyz.samiker.theendlessweave.core.network.utils; +package xyz.samiker.theendlessweave.network.utils; -import xyz.samiker.theendlessweave.core.network.packets.Packet; -import xyz.samiker.theendlessweave.core.network.packets.PacketEntityUpdate; +import xyz.samiker.theendlessweave.network.packets.Packet; +import xyz.samiker.theendlessweave.network.packets.PacketEntityUpdate; import java.util.ArrayDeque; diff --git a/src/main/java/xyz/samiker/theendlessweave/client/settings/ClientSettings.java b/shared/src/main/java/xyz/samiker/theendlessweave/settings/ClientSettings.java similarity index 94% rename from src/main/java/xyz/samiker/theendlessweave/client/settings/ClientSettings.java rename to shared/src/main/java/xyz/samiker/theendlessweave/settings/ClientSettings.java index d07f77d..14002f7 100644 --- a/src/main/java/xyz/samiker/theendlessweave/client/settings/ClientSettings.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/settings/ClientSettings.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.client.settings; +package xyz.samiker.theendlessweave.settings; public enum ClientSettings { RESOLUTION("video.resolution", "1280x720"), diff --git a/src/main/java/xyz/samiker/theendlessweave/server/settings/ServerSettings.java b/shared/src/main/java/xyz/samiker/theendlessweave/settings/ServerSettings.java similarity index 87% rename from src/main/java/xyz/samiker/theendlessweave/server/settings/ServerSettings.java rename to shared/src/main/java/xyz/samiker/theendlessweave/settings/ServerSettings.java index 7caa44c..8e71d3d 100644 --- a/src/main/java/xyz/samiker/theendlessweave/server/settings/ServerSettings.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/settings/ServerSettings.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.server.settings; +package xyz.samiker.theendlessweave.settings; public enum ServerSettings { MODS_DIR("general.mods_dir", ""); diff --git a/src/main/java/xyz/samiker/theendlessweave/core/settings/SettingsManager.java b/shared/src/main/java/xyz/samiker/theendlessweave/settings/SettingsManager.java similarity index 97% rename from src/main/java/xyz/samiker/theendlessweave/core/settings/SettingsManager.java rename to shared/src/main/java/xyz/samiker/theendlessweave/settings/SettingsManager.java index 9df19ff..5f69176 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/settings/SettingsManager.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/settings/SettingsManager.java @@ -1,6 +1,4 @@ -package xyz.samiker.theendlessweave.core.settings; - -import xyz.samiker.theendlessweave.client.settings.ClientSettings; +package xyz.samiker.theendlessweave.settings; import java.io.File; import java.io.FileInputStream; diff --git a/shared/src/main/java/xyz/samiker/theendlessweave/systems/ISystem.java b/shared/src/main/java/xyz/samiker/theendlessweave/systems/ISystem.java new file mode 100644 index 0000000..ddb8b25 --- /dev/null +++ b/shared/src/main/java/xyz/samiker/theendlessweave/systems/ISystem.java @@ -0,0 +1,8 @@ +package xyz.samiker.theendlessweave.systems; + +import xyz.samiker.theendlessweave.entities.Entity; +import xyz.samiker.theendlessweave.utils.Array; + +public interface ISystem { + void update(Array entities, double deltaTime); +} \ No newline at end of file diff --git a/src/main/java/xyz/samiker/theendlessweave/core/tile/Tile.java b/shared/src/main/java/xyz/samiker/theendlessweave/tile/Tile.java similarity index 96% rename from src/main/java/xyz/samiker/theendlessweave/core/tile/Tile.java rename to shared/src/main/java/xyz/samiker/theendlessweave/tile/Tile.java index 98e06d8..dae6cd4 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/tile/Tile.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/tile/Tile.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.core.tile; +package xyz.samiker.theendlessweave.tile; /** * Тайл карты с поддержкой объектов. diff --git a/src/main/java/xyz/samiker/theendlessweave/core/tile/TileObject.java b/shared/src/main/java/xyz/samiker/theendlessweave/tile/TileObject.java similarity index 97% rename from src/main/java/xyz/samiker/theendlessweave/core/tile/TileObject.java rename to shared/src/main/java/xyz/samiker/theendlessweave/tile/TileObject.java index 0d46d4c..233669f 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/tile/TileObject.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/tile/TileObject.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.core.tile; +package xyz.samiker.theendlessweave.tile; /** * Объект на тайле (сундук, ловушка, декорация и т.д.). diff --git a/src/main/java/xyz/samiker/theendlessweave/core/tile/TileType.java b/shared/src/main/java/xyz/samiker/theendlessweave/tile/TileType.java similarity index 58% rename from src/main/java/xyz/samiker/theendlessweave/core/tile/TileType.java rename to shared/src/main/java/xyz/samiker/theendlessweave/tile/TileType.java index 7a28d45..474b2e8 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/tile/TileType.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/tile/TileType.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.core.tile; +package xyz.samiker.theendlessweave.tile; public enum TileType { WALL, diff --git a/src/main/java/xyz/samiker/theendlessweave/core/tile/TileUtils.java b/shared/src/main/java/xyz/samiker/theendlessweave/tile/TileUtils.java similarity index 70% rename from src/main/java/xyz/samiker/theendlessweave/core/tile/TileUtils.java rename to shared/src/main/java/xyz/samiker/theendlessweave/tile/TileUtils.java index 108ac13..4ff63ac 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/tile/TileUtils.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/tile/TileUtils.java @@ -1,6 +1,6 @@ -package xyz.samiker.theendlessweave.core.tile; +package xyz.samiker.theendlessweave.tile; -import static xyz.samiker.theendlessweave.core.utils.Constants.TILE_SIZE; +import static xyz.samiker.theendlessweave.utils.Constants.TILE_SIZE; public class TileUtils { public static Tile createTile(TileType type, int x, int y) { diff --git a/src/main/java/xyz/samiker/theendlessweave/core/utils/Array.java b/shared/src/main/java/xyz/samiker/theendlessweave/utils/Array.java similarity index 98% rename from src/main/java/xyz/samiker/theendlessweave/core/utils/Array.java rename to shared/src/main/java/xyz/samiker/theendlessweave/utils/Array.java index 1f4db64..5e23185 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/utils/Array.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/utils/Array.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.core.utils; +package xyz.samiker.theendlessweave.utils; import java.util.Arrays; import java.util.function.Predicate; diff --git a/src/main/java/xyz/samiker/theendlessweave/core/utils/Constants.java b/shared/src/main/java/xyz/samiker/theendlessweave/utils/Constants.java similarity index 92% rename from src/main/java/xyz/samiker/theendlessweave/core/utils/Constants.java rename to shared/src/main/java/xyz/samiker/theendlessweave/utils/Constants.java index 40794ac..68ea203 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/utils/Constants.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/utils/Constants.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.core.utils; +package xyz.samiker.theendlessweave.utils; public class Constants { public static final int TILE_SIZE = 60; diff --git a/src/main/java/xyz/samiker/theendlessweave/core/utils/IntObjectMap.java b/shared/src/main/java/xyz/samiker/theendlessweave/utils/IntObjectMap.java similarity index 97% rename from src/main/java/xyz/samiker/theendlessweave/core/utils/IntObjectMap.java rename to shared/src/main/java/xyz/samiker/theendlessweave/utils/IntObjectMap.java index 253ed52..87909b4 100644 --- a/src/main/java/xyz/samiker/theendlessweave/core/utils/IntObjectMap.java +++ b/shared/src/main/java/xyz/samiker/theendlessweave/utils/IntObjectMap.java @@ -1,4 +1,4 @@ -package xyz.samiker.theendlessweave.core.utils; +package xyz.samiker.theendlessweave.utils; import java.util.Arrays; diff --git a/src/main/java/xyz/samiker/theendlessweave/client/screens/GameDataAware.java b/src/main/java/xyz/samiker/theendlessweave/client/screens/GameDataAware.java deleted file mode 100644 index ff51991..0000000 --- a/src/main/java/xyz/samiker/theendlessweave/client/screens/GameDataAware.java +++ /dev/null @@ -1,7 +0,0 @@ -package xyz.samiker.theendlessweave.client.screens; - -import xyz.samiker.theendlessweave.core.GameData; - -public interface GameDataAware { - void setData(GameData data); -} diff --git a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/Component.java b/src/main/java/xyz/samiker/theendlessweave/core/entities/components/Component.java deleted file mode 100644 index 7ccdd7e..0000000 --- a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/Component.java +++ /dev/null @@ -1,4 +0,0 @@ -package xyz.samiker.theendlessweave.core.entities.components; - -public interface Component { -} diff --git a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/PlayerTagComponent.java b/src/main/java/xyz/samiker/theendlessweave/core/entities/components/PlayerTagComponent.java deleted file mode 100644 index 41f0318..0000000 --- a/src/main/java/xyz/samiker/theendlessweave/core/entities/components/PlayerTagComponent.java +++ /dev/null @@ -1,4 +0,0 @@ -package xyz.samiker.theendlessweave.core.entities.components; - -public class PlayerTagComponent implements Component { -} \ No newline at end of file diff --git a/src/main/java/xyz/samiker/theendlessweave/core/network/packets/Packet.java b/src/main/java/xyz/samiker/theendlessweave/core/network/packets/Packet.java deleted file mode 100644 index 7c912c8..0000000 --- a/src/main/java/xyz/samiker/theendlessweave/core/network/packets/Packet.java +++ /dev/null @@ -1,4 +0,0 @@ -package xyz.samiker.theendlessweave.core.network.packets; - -public abstract class Packet { -} diff --git a/src/main/java/xyz/samiker/theendlessweave/core/systems/ISystem.java b/src/main/java/xyz/samiker/theendlessweave/core/systems/ISystem.java deleted file mode 100644 index 8f791e9..0000000 --- a/src/main/java/xyz/samiker/theendlessweave/core/systems/ISystem.java +++ /dev/null @@ -1,8 +0,0 @@ -package xyz.samiker.theendlessweave.core.systems; - -import xyz.samiker.theendlessweave.core.entities.Entity; -import xyz.samiker.theendlessweave.core.utils.Array; - -public interface ISystem { - void update(Array entities, double deltaTime); -} \ No newline at end of file