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