diff --git a/.godot/editor/editor_layout.cfg b/.godot/editor/editor_layout.cfg
index f98f27f..3739372 100644
--- a/.godot/editor/editor_layout.cfg
+++ b/.godot/editor/editor_layout.cfg
@@ -4,7 +4,7 @@ dock_1_selected_tab_idx=0
dock_2_selected_tab_idx=0
dock_3_selected_tab_idx=0
dock_4_selected_tab_idx=0
-dock_5_selected_tab_idx=1
+dock_5_selected_tab_idx=0
dock_6_selected_tab_idx=0
dock_7_selected_tab_idx=0
dock_8_selected_tab_idx=0
@@ -19,8 +19,8 @@ dock_filesystem_split=0
dock_filesystem_display_mode=0
dock_filesystem_file_sort=0
dock_filesystem_file_list_display_mode=1
-dock_filesystem_selected_paths=PackedStringArray("res://Prefabs/player.tscn")
-dock_filesystem_uncollapsed_paths=PackedStringArray("res://", "res://Prefabs/", "res://addons/kenney_particle_pack/")
+dock_filesystem_selected_paths=PackedStringArray("res://Models/funny_rubber_chicken/scene.gltf")
+dock_filesystem_uncollapsed_paths=PackedStringArray("res://", "res://Prefabs/", "res://Models/", "res://Models/funny_rubber_chicken/", "res://addons/kenney_particle_pack/")
dock_3="Scene,Import"
dock_4="FileSystem"
dock_5="Inspector,Node,History"
@@ -30,14 +30,14 @@ dock_5="Inspector,Node,History"
open_scenes=PackedStringArray("res://Scenes/world.tscn", "res://Prefabs/player.tscn")
center_split_offset=-355
selected_default_debugger_tab_idx=0
-selected_main_editor_idx=2
-current_scene="res://Scenes/world.tscn"
-selected_bottom_panel_item=1
+selected_main_editor_idx=1
+current_scene="res://Prefabs/player.tscn"
+selected_bottom_panel_item=0
[ScriptEditor]
open_scripts=["res://Scripts/Player.gd", "res://Scripts/world.gd"]
-selected_script="res://Scripts/world.gd"
+selected_script="res://Scripts/Player.gd"
open_help=[]
script_split_offset=70
list_split_offset=0
diff --git a/.godot/editor/filesystem_cache8 b/.godot/editor/filesystem_cache8
index ad52d9c..a523a0c 100644
--- a/.godot/editor/filesystem_cache8
+++ b/.godot/editor/filesystem_cache8
@@ -1,7 +1,21 @@
ea4bc82a6ad023ab7ee23ee620429895
-::res://::1699493223
+::res://::1699501552
+export_presets.cfg::TextFile::-1::1699498495::0::1::::<><>::
icon.svg::CompressedTexture2D::8963615070695796116::1699485144::1699485149::1::::<><>::
-::res://addons/::1699489418
+::res://addons/::1699501524
+::res://addons/godot-jolt/::1699501524
+godot-jolt.gdextension::GDExtension::-1::1699501524::0::1::::<><>::
+LICENSE.txt::TextFile::-1::1699501524::0::1::::<><>::
+THIRDPARTY.txt::TextFile::-1::1699501524::0::1::::<><>::
+::res://addons/godot-jolt/linux/::1699501524
+::res://addons/godot-jolt/macos/::1699501524
+::res://addons/godot-jolt/macos/godot-jolt_macos.framework/::1699501524
+::res://addons/godot-jolt/macos/godot-jolt_macos.framework/Resources/::1699501524
+::res://addons/godot-jolt/macos/godot-jolt_macos.framework/_CodeSignature/::1699501524
+::res://addons/godot-jolt/macos/godot-jolt_macos_editor.framework/::1699501524
+::res://addons/godot-jolt/macos/godot-jolt_macos_editor.framework/Resources/::1699501524
+::res://addons/godot-jolt/macos/godot-jolt_macos_editor.framework/_CodeSignature/::1699501524
+::res://addons/godot-jolt/windows/::1699501524
::res://addons/kenney_particle_pack/::1699492714
circle_01.png::CompressedTexture2D::8944858259683629566::1699489418::1699489421::1::::<><>::
circle_02.png::CompressedTexture2D::8179008047886266606::1699489418::1699489421::1::::<><>::
@@ -187,8 +201,16 @@ texture_10.png::CompressedTexture2D::6835967146403121001::1699489408::1699489895
texture_11.png::CompressedTexture2D::8064263700985635432::1699489408::1699489530::1::::<><>::
texture_12.png::CompressedTexture2D::3434104090182459261::1699489408::1699489610::1::::<><>::
texture_13.png::CompressedTexture2D::5776305603809460978::1699489408::1699489409::1::::<><>::
-::res://Models/::1699490878
+::res://Exports/::1699498450
+::res://Exports/Linux/::1699498450
+::res://Exports/Windows/::1699498523
+::res://Models/::1699502355
environment.glb::PackedScene::4824975578803230025::1699489383::1699489726::1::::<><>::
+::res://Models/funny_rubber_chicken/::1699502357
+license.txt::TextFile::-1::1699502355::0::1::::<><>::
+scene.gltf::PackedScene::7236983511912392510::1699502355::1699502357::1::::<><>::uid://bnq28bwi771ei::::res://Models/funny_rubber_chicken/textures/material_baseColor.png
+::res://Models/funny_rubber_chicken/textures/::1699502355
+material_baseColor.png::CompressedTexture2D::3333604071972615928::1699502355::1699502357::1::::<><>::
::res://Models/kimber_1911/::1699490880
license.txt::TextFile::-1::1699490878::0::1::::<><>::
scene.gltf::PackedScene::7213921404618298609::1699490878::1699490880::1::::<><>::uid://bs0ufs8mpqdp6
@@ -202,11 +224,11 @@ MagBullet_normal.png::CompressedTexture2D::4074574579124248159::1699490878::1699
SlideGrips_baseColor.png::CompressedTexture2D::1484273425874704274::1699490878::1699490880::1::::<><>::
SlideGrips_metallicRoughness.png::CompressedTexture2D::7981613627993177310::1699490878::1699490880::1::::<><>::
SlideGrips_normal.png::CompressedTexture2D::6698097247742164421::1699490878::1699490880::1::::<><>::
-::res://Prefabs/::1699492963
-player.tscn::PackedScene::4444783912067201683::1699492963::0::1::::<><>::res://Scripts/Player.gd<>uid://da1qh4xri24f2::::res://Models/kimber_1911/scene.gltf<>uid://bx0esoasfh733::::res://addons/kenney_particle_pack/star_06.png
-::res://Scenes/::1699493200
-environment.tscn::PackedScene::8256961957080777526::1699490330::0::1::::<><>::uid://ca0iv4endjdmn::::res://Models/environment.glb<>uid://ckhpjran4mily::::res://addons/kenney_prototype_textures/dark/texture_04.png<>uid://c4nnm6ptome8x::::res://addons/kenney_prototype_textures/red/texture_10.png
-world.tscn::PackedScene::1877808985457939721::1699493200::0::1::::<><>::res://Scripts/world.gd<>uid://dpvy7sm57pjn7::::res://Scenes/environment.tscn
-::res://Scripts/::1699492959
-Player.gd::GDScript::-1::1699492959::0::1::::<>CharacterBody3D<>::
-world.gd::GDScript::-1::1699490461::0::1::::<>Node<>::
+::res://Prefabs/::1699502191
+player.tscn::PackedScene::4444783912067201683::1699502191::0::1::::<><>::res://Scripts/Player.gd<>uid://da1qh4xri24f2::::res://Models/kimber_1911/scene.gltf<>uid://bx0esoasfh733::::res://addons/kenney_particle_pack/star_06.png
+::res://Scenes/::1699502191
+environment.tscn::PackedScene::8256961957080777526::1699490330::0::1::::<><>::uid://ca0iv4endjdmn
+world.tscn::PackedScene::1877808985457939721::1699502191::0::1::::<><>::res://Scripts/world.gd<>uid://dpvy7sm57pjn7::::res://Scenes/environment.tscn<>uid://dhytg0w8gqdob::::res://addons/kenney_particle_pack/circle_05.png
+::res://Scripts/::1699501353
+Player.gd::GDScript::-1::1699501353::0::1::::<>CharacterBody3D<>::
+world.gd::GDScript::-1::1699500768::0::1::::<>Node<>::
diff --git a/.godot/editor/filesystem_update4 b/.godot/editor/filesystem_update4
index 748a818..5fb3034 100644
--- a/.godot/editor/filesystem_update4
+++ b/.godot/editor/filesystem_update4
@@ -1,4 +1,2 @@
-res://Scenes/world.tscn
res://Prefabs/player.tscn
-res://Scripts/world.gd
-res://Scripts/Player.gd
+res://Scenes/world.tscn
diff --git a/.godot/editor/player.tscn-editstate-10d6ba27c95124e9e2f66cb8ebb57635.cfg b/.godot/editor/player.tscn-editstate-10d6ba27c95124e9e2f66cb8ebb57635.cfg
index 9267c2d..50f563d 100644
--- a/.godot/editor/player.tscn-editstate-10d6ba27c95124e9e2f66cb8ebb57635.cfg
+++ b/.godot/editor/player.tscn-editstate-10d6ba27c95124e9e2f66cb8ebb57635.cfg
@@ -50,6 +50,7 @@ Anim={
"GPUParticles3D": 0,
"GPUParticlesCollision3D": 0,
"Joint3D": 0,
+"JoltJoint3D": 0,
"Light3D": 0,
"LightmapGI": 0,
"LightmapProbe": 0,
@@ -97,7 +98,7 @@ Anim={
"auto_orthogonal_enabled": true,
"cinematic_preview": false,
"display_mode": 20,
-"distance": 3.42936,
+"distance": 1.81657,
"doppler": false,
"frame_time": false,
"gizmos": true,
@@ -106,11 +107,11 @@ Anim={
"listener": true,
"lock_rotation": false,
"orthogonal": false,
-"position": Vector3(0.197613, 0.982597, -0.577573),
+"position": Vector3(0.131597, 1.20633, -0.388213),
"use_environment": false,
"view_type": 0,
-"x_rotation": 0.582904,
-"y_rotation": -0.61781
+"x_rotation": 0.465095,
+"y_rotation": -1.90935
}, {
"auto_orthogonal": false,
"auto_orthogonal_enabled": true,
@@ -173,4 +174,4 @@ Anim={
"zfar": 4000.01,
"znear": 0.05
}
-selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@17664/@Control@697/@Panel@698/@VBoxContainer@706/@HSplitContainer@709/@HSplitContainer@717/@HSplitContainer@725/@VBoxContainer@726/@VSplitContainer@728/@VSplitContainer@754/@VBoxContainer@755/@PanelContainer@800/MainScreen/@CanvasItemEditor@10090/@VSplitContainer@9915/@HSplitContainer@9917/@HSplitContainer@9919/@Control@9920/@SubViewportContainer@9921/@SubViewport@9922/World/CanvasLayer/HUD/TextureRect")])
+selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@17665/@Control@697/@Panel@698/@VBoxContainer@706/@HSplitContainer@709/@HSplitContainer@717/@HSplitContainer@725/@VBoxContainer@726/@VSplitContainer@728/@VSplitContainer@754/@VBoxContainer@755/@PanelContainer@800/MainScreen/@CanvasItemEditor@10090/@VSplitContainer@9915/@HSplitContainer@9917/@HSplitContainer@9919/@Control@9920/@SubViewportContainer@9921/@SubViewport@9922/Player/Camera3D/gun")])
diff --git a/.godot/editor/player.tscn-folding-10d6ba27c95124e9e2f66cb8ebb57635.cfg b/.godot/editor/player.tscn-folding-10d6ba27c95124e9e2f66cb8ebb57635.cfg
index 78e7d78..8a2b948 100644
--- a/.godot/editor/player.tscn-folding-10d6ba27c95124e9e2f66cb8ebb57635.cfg
+++ b/.godot/editor/player.tscn-folding-10d6ba27c95124e9e2f66cb8ebb57635.cfg
@@ -1,5 +1,5 @@
[folding]
-node_unfolds=[NodePath("."), PackedStringArray("Collision"), NodePath("Camera3D/gun"), PackedStringArray("Transform"), NodePath("Camera3D/gun/MuzzleFlash"), PackedStringArray("Drawing", "Process Material", "process_material", "Draw Passes", "draw_pass_1", "Time")]
+node_unfolds=[NodePath("."), PackedStringArray("Collision"), NodePath("Chicken"), PackedStringArray("Transform"), NodePath("Camera3D/gun"), PackedStringArray("Transform"), NodePath("Camera3D/gun/MuzzleFlash"), PackedStringArray("Drawing", "Process Material", "process_material", "Draw Passes", "draw_pass_1", "Time")]
resource_unfolds=["res://Prefabs/player.tscn::CapsuleMesh_xpbim", PackedStringArray(), "res://Prefabs/player.tscn::CapsuleShape3D_ruebo", PackedStringArray(), "res://Prefabs/player.tscn::ParticleProcessMaterial_qufyg", PackedStringArray(), "res://Prefabs/player.tscn::PlaneMesh_yxv4l", PackedStringArray()]
nodes_folded=[]
diff --git a/.godot/editor/project_metadata.cfg b/.godot/editor/project_metadata.cfg
index f532ade..d305d2b 100644
--- a/.godot/editor/project_metadata.cfg
+++ b/.godot/editor/project_metadata.cfg
@@ -15,7 +15,7 @@ editor_settings=Rect2(830, 370, 900, 700)
create_new_node=Rect2(830, 370, 900, 700)
project_settings=Rect2(830, 370, 900, 700)
search_help=Rect2(640, 360, 1280, 720)
-export=Rect2(830, 370, 900, 708)
+export=Rect2(830, 371, 900, 708)
[recent_files]
@@ -24,7 +24,7 @@ scripts=["PackedScene", "res://Scripts/world.gd", "res://Scripts/Player.gd"]
[linked_properties]
-Node3D:scale=true
+Node3D:scale=false
MeshInstance3D:scale=true
StandardMaterial3D:uv1_scale=true
StandardMaterial3D:uv2_scale=true
@@ -58,3 +58,7 @@ recent_presets=PackedColorArray(0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1.92523e-06,
[export_options]
default_filename="Linux"
+
+[project_settings]
+
+advanced_mode=true
diff --git a/.godot/editor/scene.gltf-a51b16d5917767a874ee7e4d3481773a.scn-folding-83b42dc3b52f751df05d3a0b030e3b3e.cfg b/.godot/editor/scene.gltf-a51b16d5917767a874ee7e4d3481773a.scn-folding-83b42dc3b52f751df05d3a0b030e3b3e.cfg
new file mode 100644
index 0000000..e860dd4
--- /dev/null
+++ b/.godot/editor/scene.gltf-a51b16d5917767a874ee7e4d3481773a.scn-folding-83b42dc3b52f751df05d3a0b030e3b3e.cfg
@@ -0,0 +1,3 @@
+[folding]
+
+sections_unfolded=PackedStringArray()
diff --git a/.godot/editor/script_editor_cache.cfg b/.godot/editor/script_editor_cache.cfg
index b688dc6..5858fa6 100644
--- a/.godot/editor/script_editor_cache.cfg
+++ b/.godot/editor/script_editor_cache.cfg
@@ -3,11 +3,11 @@
state={
"bookmarks": PackedInt32Array(),
"breakpoints": PackedInt32Array(),
-"column": 28,
+"column": 42,
"folded_lines": Array[int]([]),
"h_scroll_position": 0,
-"row": 2,
-"scroll_position": 52.0,
+"row": 27,
+"scroll_position": 10.0,
"selection": false,
"syntax_highlighter": "GDScript"
}
@@ -17,11 +17,11 @@ state={
state={
"bookmarks": PackedInt32Array(),
"breakpoints": PackedInt32Array(),
-"column": 42,
+"column": 18,
"folded_lines": Array[int]([]),
"h_scroll_position": 0,
-"row": 32,
-"scroll_position": 9.0,
+"row": 8,
+"scroll_position": 0.0,
"selection": false,
"syntax_highlighter": "GDScript"
}
diff --git a/.godot/editor/world.tscn-editstate-0271e18ecf37a36b455ad0b215994549.cfg b/.godot/editor/world.tscn-editstate-0271e18ecf37a36b455ad0b215994549.cfg
index afe19e5..22beb38 100644
--- a/.godot/editor/world.tscn-editstate-0271e18ecf37a36b455ad0b215994549.cfg
+++ b/.godot/editor/world.tscn-editstate-0271e18ecf37a36b455ad0b215994549.cfg
@@ -50,6 +50,7 @@ Anim={
"GPUParticles3D": 0,
"GPUParticlesCollision3D": 0,
"Joint3D": 0,
+"JoltJoint3D": 0,
"Light3D": 0,
"LightmapGI": 0,
"LightmapProbe": 0,
@@ -97,7 +98,7 @@ Anim={
"auto_orthogonal_enabled": true,
"cinematic_preview": false,
"display_mode": 20,
-"distance": 8.63572,
+"distance": 18.6439,
"doppler": false,
"frame_time": false,
"gizmos": true,
@@ -172,4 +173,4 @@ Anim={
"zfar": 4000.01,
"znear": 0.05
}
-selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@17664/@Control@697/@Panel@698/@VBoxContainer@706/@HSplitContainer@709/@HSplitContainer@717/@HSplitContainer@725/@VBoxContainer@726/@VSplitContainer@728/@VSplitContainer@754/@VBoxContainer@755/@PanelContainer@800/MainScreen/@CanvasItemEditor@10090/@VSplitContainer@9915/@HSplitContainer@9917/@HSplitContainer@9919/@Control@9920/@SubViewportContainer@9921/@SubViewport@9922/World/CanvasLayer/HUD/TextureRect")])
+selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@17665/@Control@697/@Panel@698/@VBoxContainer@706/@HSplitContainer@709/@HSplitContainer@717/@HSplitContainer@725/@VBoxContainer@726/@VSplitContainer@728/@VSplitContainer@754/@VBoxContainer@755/@PanelContainer@800/MainScreen/@CanvasItemEditor@10090/@VSplitContainer@9915/@HSplitContainer@9917/@HSplitContainer@9919/@Control@9920/@SubViewportContainer@9921/@SubViewport@9922/Player/Camera3D/gun")])
diff --git a/.godot/extension_list.cfg b/.godot/extension_list.cfg
new file mode 100644
index 0000000..8788b2d
--- /dev/null
+++ b/.godot/extension_list.cfg
@@ -0,0 +1 @@
+res://addons/godot-jolt/godot-jolt.gdextension
diff --git a/.godot/imported/material_baseColor.png-4fc8128da5cdc00f6c527d72bf02442e.ctex b/.godot/imported/material_baseColor.png-4fc8128da5cdc00f6c527d72bf02442e.ctex
new file mode 100644
index 0000000..e9f6526
Binary files /dev/null and b/.godot/imported/material_baseColor.png-4fc8128da5cdc00f6c527d72bf02442e.ctex differ
diff --git a/.godot/imported/material_baseColor.png-4fc8128da5cdc00f6c527d72bf02442e.md5 b/.godot/imported/material_baseColor.png-4fc8128da5cdc00f6c527d72bf02442e.md5
new file mode 100644
index 0000000..6b403ad
--- /dev/null
+++ b/.godot/imported/material_baseColor.png-4fc8128da5cdc00f6c527d72bf02442e.md5
@@ -0,0 +1,3 @@
+source_md5="4d4469676b212a508882955f87e0ebe2"
+dest_md5="70b3beaba0551721971b1583acff6a41"
+
diff --git a/.godot/imported/material_baseColor.png-4fc8128da5cdc00f6c527d72bf02442e.s3tc.ctex b/.godot/imported/material_baseColor.png-4fc8128da5cdc00f6c527d72bf02442e.s3tc.ctex
new file mode 100644
index 0000000..60d55f0
Binary files /dev/null and b/.godot/imported/material_baseColor.png-4fc8128da5cdc00f6c527d72bf02442e.s3tc.ctex differ
diff --git a/.godot/imported/scene.gltf-a51b16d5917767a874ee7e4d3481773a.md5 b/.godot/imported/scene.gltf-a51b16d5917767a874ee7e4d3481773a.md5
new file mode 100644
index 0000000..531d0f6
--- /dev/null
+++ b/.godot/imported/scene.gltf-a51b16d5917767a874ee7e4d3481773a.md5
@@ -0,0 +1,3 @@
+source_md5="ad1861ada9e9bd168796903d7ae9771e"
+dest_md5="e590b034bedf46711d19f675675246eb"
+
diff --git a/.godot/imported/scene.gltf-a51b16d5917767a874ee7e4d3481773a.scn b/.godot/imported/scene.gltf-a51b16d5917767a874ee7e4d3481773a.scn
new file mode 100644
index 0000000..79a0808
Binary files /dev/null and b/.godot/imported/scene.gltf-a51b16d5917767a874ee7e4d3481773a.scn differ
diff --git a/.godot/mono/metadata/ide_messaging_meta.txt b/.godot/mono/metadata/ide_messaging_meta.txt
index b1259b1..5e478a0 100644
--- a/.godot/mono/metadata/ide_messaging_meta.txt
+++ b/.godot/mono/metadata/ide_messaging_meta.txt
@@ -1,2 +1,2 @@
-34591
+43081
/home/nc543/Documents/Godot/Versions/Godot_v4.1.3-stable_mono_linux_x86_64/Godot_v4.1.3-stable_mono_linux.x86_64
diff --git a/.godot/uid_cache.bin b/.godot/uid_cache.bin
index 23d7241..fec97b4 100644
Binary files a/.godot/uid_cache.bin and b/.godot/uid_cache.bin differ
diff --git a/Models/funny_rubber_chicken/license.txt b/Models/funny_rubber_chicken/license.txt
new file mode 100644
index 0000000..32a7a45
--- /dev/null
+++ b/Models/funny_rubber_chicken/license.txt
@@ -0,0 +1,11 @@
+Model Information:
+* title: Funny Rubber Chicken
+* source: https://sketchfab.com/3d-models/funny-rubber-chicken-ecaa22bd52ee46b1bc56c8b366391b58
+* author: Vyacheslav (https://sketchfab.com/borovikmotion)
+
+Model License:
+* license type: CC-BY-4.0 (http://creativecommons.org/licenses/by/4.0/)
+* requirements: Author must be credited. Commercial use is allowed.
+
+If you use this 3D model in your project be sure to copy paste this credit wherever you share it:
+This work is based on "Funny Rubber Chicken" (https://sketchfab.com/3d-models/funny-rubber-chicken-ecaa22bd52ee46b1bc56c8b366391b58) by Vyacheslav (https://sketchfab.com/borovikmotion) licensed under CC-BY-4.0 (http://creativecommons.org/licenses/by/4.0/)
\ No newline at end of file
diff --git a/Models/funny_rubber_chicken/scene.bin b/Models/funny_rubber_chicken/scene.bin
new file mode 100644
index 0000000..3be9154
Binary files /dev/null and b/Models/funny_rubber_chicken/scene.bin differ
diff --git a/Models/funny_rubber_chicken/scene.gltf b/Models/funny_rubber_chicken/scene.gltf
new file mode 100644
index 0000000..7386c24
--- /dev/null
+++ b/Models/funny_rubber_chicken/scene.gltf
@@ -0,0 +1,343 @@
+{
+ "accessors": [
+ {
+ "bufferView": 2,
+ "componentType": 5126,
+ "count": 65532,
+ "max": [
+ 65.68331146240234,
+ 321.1420593261719,
+ 188.1962890625
+ ],
+ "min": [
+ -89.7309799194336,
+ -307.6406555175781,
+ -146.01312255859375
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 786384,
+ "componentType": 5126,
+ "count": 65532,
+ "max": [
+ 0.9999988079071045,
+ 0.999936044216156,
+ 0.9999210834503174
+ ],
+ "min": [
+ -0.9999643564224243,
+ -0.9998565912246704,
+ -0.9999863505363464
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "componentType": 5126,
+ "count": 65532,
+ "max": [
+ 0.9980400204658508,
+ 0.5917500257492065
+ ],
+ "min": [
+ 0.0019499999471008778,
+ 0.0019500255584716797
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "componentType": 5125,
+ "count": 365121,
+ "type": "SCALAR"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 1572768,
+ "componentType": 5126,
+ "count": 9247,
+ "max": [
+ 65.26094055175781,
+ 307.8341979980469,
+ 168.94895935058594
+ ],
+ "min": [
+ -67.73728942871094,
+ -306.30126953125,
+ -141.42202758789063
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 1683732,
+ "componentType": 5126,
+ "count": 9247,
+ "max": [
+ 0.9999265670776367,
+ 0.9976692795753479,
+ 0.9985711574554443
+ ],
+ "min": [
+ -0.9986059665679932,
+ -0.9987323880195618,
+ -0.9993074536323547
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 524256,
+ "componentType": 5126,
+ "count": 9247,
+ "max": [
+ 0.9895600080490112,
+ 0.584879994392395
+ ],
+ "min": [
+ 0.023189999163150787,
+ 0.0019500255584716797
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 1460484,
+ "componentType": 5125,
+ "count": 29997,
+ "type": "SCALAR"
+ }
+ ],
+ "asset": {
+ "extras": {
+ "author": "Vyacheslav (https://sketchfab.com/borovikmotion)",
+ "license": "CC-BY-4.0 (http://creativecommons.org/licenses/by/4.0/)",
+ "source": "https://sketchfab.com/3d-models/funny-rubber-chicken-ecaa22bd52ee46b1bc56c8b366391b58",
+ "title": "Funny Rubber Chicken"
+ },
+ "generator": "Sketchfab-12.67.0",
+ "version": "2.0"
+ },
+ "bufferViews": [
+ {
+ "buffer": 0,
+ "byteLength": 1580472,
+ "name": "floatBufferViews",
+ "target": 34963
+ },
+ {
+ "buffer": 0,
+ "byteLength": 598232,
+ "byteOffset": 1580472,
+ "byteStride": 8,
+ "name": "floatBufferViews",
+ "target": 34962
+ },
+ {
+ "buffer": 0,
+ "byteLength": 1794696,
+ "byteOffset": 2178704,
+ "byteStride": 12,
+ "name": "floatBufferViews",
+ "target": 34962
+ }
+ ],
+ "buffers": [
+ {
+ "byteLength": 3973400,
+ "uri": "scene.bin"
+ }
+ ],
+ "images": [
+ {
+ "uri": "textures/material_baseColor.png"
+ }
+ ],
+ "materials": [
+ {
+ "doubleSided": true,
+ "name": "material",
+ "pbrMetallicRoughness": {
+ "baseColorTexture": {
+ "index": 0
+ },
+ "metallicFactor": 0.0,
+ "roughnessFactor": 0.6
+ }
+ }
+ ],
+ "meshes": [
+ {
+ "name": "chicken_Mat_0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 1,
+ "POSITION": 0,
+ "TEXCOORD_0": 2
+ },
+ "indices": 3,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ },
+ {
+ "name": "chicken_Mat_0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 5,
+ "POSITION": 4,
+ "TEXCOORD_0": 6
+ },
+ "indices": 7,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ }
+ ],
+ "nodes": [
+ {
+ "children": [
+ 1
+ ],
+ "matrix": [
+ -2.220446049250313e-16,
+ -3.828568672208042e-16,
+ 1.0,
+ 0.0,
+ 1.0,
+ -4.930380657631324e-32,
+ 2.220446049250313e-16,
+ 0.0,
+ -2.465190328815662e-32,
+ 1.0,
+ 3.828568672208042e-16,
+ 0.0,
+ -28.04414939880371,
+ -8.889864891318058e-16,
+ -3.9963607788085938,
+ 1.0
+ ],
+ "name": "Sketchfab_model"
+ },
+ {
+ "children": [
+ 2
+ ],
+ "matrix": [
+ 1.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 1.0,
+ 0.0,
+ 0.0,
+ -1.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 1.0
+ ],
+ "name": "a2a4d0ccce7040fc8fb1faf42bcbd7b8.fbx"
+ },
+ {
+ "children": [
+ 3,
+ 5
+ ],
+ "name": "RootNode"
+ },
+ {
+ "children": [
+ 4
+ ],
+ "matrix": [
+ -0.9325353359906137,
+ -0.22323752862519047,
+ -0.2838007275223062,
+ 0.0,
+ -0.21356642973806045,
+ 0.974764077001875,
+ -0.06499518655732,
+ 0.0,
+ 0.2911481190353307,
+ 0.0,
+ -0.9566779880305538,
+ 0.0,
+ 1009.9036254882813,
+ 185.1077423095703,
+ 301.85711669921875,
+ 1.0
+ ],
+ "name": "CINEMA_4D_Editor"
+ },
+ {
+ "name": "Object_4"
+ },
+ {
+ "children": [
+ 6,
+ 7
+ ],
+ "matrix": [
+ 0.9999999999999969,
+ 7.699083213884076e-08,
+ 1.7105841397213043e-08,
+ 0.0,
+ 6.177023869504867e-08,
+ -0.8994187370511915,
+ 0.4370880179566081,
+ 0.0,
+ 4.903708448607517e-08,
+ -0.4370880179566057,
+ -0.8994187370511932,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 1.0
+ ],
+ "name": "chicken"
+ },
+ {
+ "mesh": 0,
+ "name": "chicken_Mat_0"
+ },
+ {
+ "mesh": 1,
+ "name": "chicken_Mat_0"
+ }
+ ],
+ "samplers": [
+ {
+ "magFilter": 9729,
+ "minFilter": 9987,
+ "wrapS": 10497,
+ "wrapT": 10497
+ }
+ ],
+ "scene": 0,
+ "scenes": [
+ {
+ "name": "Sketchfab_Scene",
+ "nodes": [
+ 0
+ ]
+ }
+ ],
+ "textures": [
+ {
+ "sampler": 0,
+ "source": 0
+ }
+ ]
+}
diff --git a/Models/funny_rubber_chicken/scene.gltf.import b/Models/funny_rubber_chicken/scene.gltf.import
new file mode 100644
index 0000000..7958696
--- /dev/null
+++ b/Models/funny_rubber_chicken/scene.gltf.import
@@ -0,0 +1,32 @@
+[remap]
+
+importer="scene"
+importer_version=1
+type="PackedScene"
+uid="uid://dbdwccvwm0mw1"
+path="res://.godot/imported/scene.gltf-a51b16d5917767a874ee7e4d3481773a.scn"
+
+[deps]
+
+source_file="res://Models/funny_rubber_chicken/scene.gltf"
+dest_files=["res://.godot/imported/scene.gltf-a51b16d5917767a874ee7e4d3481773a.scn"]
+
+[params]
+
+nodes/root_type="Node3D"
+nodes/root_name="Scene Root"
+nodes/apply_root_scale=true
+nodes/root_scale=1.0
+meshes/ensure_tangents=true
+meshes/generate_lods=true
+meshes/create_shadow_meshes=true
+meshes/light_baking=1
+meshes/lightmap_texel_size=0.2
+skins/use_named_skins=true
+animation/import=true
+animation/fps=30
+animation/trimming=false
+animation/remove_immutable_tracks=true
+import_script/path=""
+_subresources={}
+gltf/embedded_image_handling=1
diff --git a/Models/funny_rubber_chicken/textures/material_baseColor.png b/Models/funny_rubber_chicken/textures/material_baseColor.png
new file mode 100644
index 0000000..e8a8d43
Binary files /dev/null and b/Models/funny_rubber_chicken/textures/material_baseColor.png differ
diff --git a/Models/funny_rubber_chicken/textures/material_baseColor.png.import b/Models/funny_rubber_chicken/textures/material_baseColor.png.import
new file mode 100644
index 0000000..7c6f5df
--- /dev/null
+++ b/Models/funny_rubber_chicken/textures/material_baseColor.png.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bnq28bwi771ei"
+path.s3tc="res://.godot/imported/material_baseColor.png-4fc8128da5cdc00f6c527d72bf02442e.s3tc.ctex"
+metadata={
+"imported_formats": ["s3tc_bptc"],
+"vram_texture": true
+}
+
+[deps]
+
+source_file="res://Models/funny_rubber_chicken/textures/material_baseColor.png"
+dest_files=["res://.godot/imported/material_baseColor.png-4fc8128da5cdc00f6c527d72bf02442e.s3tc.ctex"]
+
+[params]
+
+compress/mode=2
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/Prefabs/player.tscn b/Prefabs/player.tscn
index c202309..9279d26 100644
--- a/Prefabs/player.tscn
+++ b/Prefabs/player.tscn
@@ -1,7 +1,8 @@
-[gd_scene load_steps=17 format=3 uid="uid://b4lc7asimanmh"]
+[gd_scene load_steps=18 format=3 uid="uid://b4lc7asimanmh"]
[ext_resource type="Script" path="res://Scripts/Player.gd" id="1_iv0wx"]
[ext_resource type="PackedScene" uid="uid://da1qh4xri24f2" path="res://Models/kimber_1911/scene.gltf" id="2_0x8c2"]
+[ext_resource type="PackedScene" uid="uid://dbdwccvwm0mw1" path="res://Models/funny_rubber_chicken/scene.gltf" id="2_3kray"]
[ext_resource type="Texture2D" uid="uid://bx0esoasfh733" path="res://addons/kenney_particle_pack/star_06.png" id="3_cnxpw"]
[sub_resource type="CapsuleMesh" id="CapsuleMesh_xpbim"]
@@ -161,19 +162,23 @@ properties/2/sync = true
properties/2/watch = false
[node name="Player" type="CharacterBody3D"]
-collision_layer = 2
+collision_layer = 3
script = ExtResource("1_iv0wx")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
+visible = false
mesh = SubResource("CapsuleMesh_xpbim")
+[node name="Chicken" parent="." instance=ExtResource("2_3kray")]
+transform = Transform3D(-0.005, 0, -4.37114e-10, 0, 0.003, 0, 4.37114e-10, 0, -0.005, 0, 1, 0)
+
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
shape = SubResource("CapsuleShape3D_ruebo")
[node name="Camera3D" type="Camera3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.46831, 0)
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.105975, 1.46831, -0.0756454)
[node name="gun" parent="Camera3D" instance=ExtResource("2_0x8c2")]
transform = Transform3D(-0.3, -3.72707e-07, 6.5866e-07, 6.55671e-09, 0.259808, 0.15, -7.56769e-07, 0.15, -0.259808, 0.40064, -0.313696, -0.50908)
@@ -189,6 +194,7 @@ process_material = SubResource("ParticleProcessMaterial_qufyg")
draw_pass_1 = SubResource("PlaneMesh_yxv4l")
[node name="RayCast3D" type="RayCast3D" parent="Camera3D"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.537428)
target_position = Vector3(0, 0, -50)
collision_mask = 2
diff --git a/Scenes/world.tscn b/Scenes/world.tscn
index 41baf01..91f9fa0 100644
--- a/Scenes/world.tscn
+++ b/Scenes/world.tscn
@@ -19,6 +19,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -6.5, 0)
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(0.726647, -0.512797, 0.457191, 0, 0.665478, 0.746418, -0.687011, -0.542382, 0.483567, 0, 39.4589, 0)
light_energy = 1.821
+shadow_enabled = true
[node name="CanvasLayer" type="CanvasLayer" parent="."]
diff --git a/Scripts/Player.gd b/Scripts/Player.gd
index b401d32..65dbdfe 100644
--- a/Scripts/Player.gd
+++ b/Scripts/Player.gd
@@ -25,6 +25,7 @@ func _enter_tree():
set_multiplayer_authority(str(name).to_int())
func _unhandled_input(event):
+ if not is_multiplayer_authority(): return
if event is InputEventMouseMotion:
rotate_y(-event.relative.x * lookSensitivity)
camera.rotate_x(-event.relative.y * lookSensitivity)
diff --git a/Scripts/world.gd b/Scripts/world.gd
index cc14041..2028aa3 100644
--- a/Scripts/world.gd
+++ b/Scripts/world.gd
@@ -6,7 +6,7 @@ extends Node
@onready var healthbar = $CanvasLayer/HUD/HealthBar
const Player = preload("res://Prefabs/player.tscn")
-const PORT = 2571
+const PORT = 25565
var enet_peer = ENetMultiplayerPeer.new()
@export var spawnpoint: Vector3 = Vector3(0, 6.376, 0)
@@ -24,7 +24,7 @@ func _on_host_button_pressed():
multiplayer.peer_connected.connect(addPlayer)
multiplayer.peer_disconnected.connect(removePlayer)
addPlayer(multiplayer.get_unique_id())
- upnpSetup()
+ #upnpSetup()
func _on_join_button_pressed():
mainMenu.hide()
diff --git a/addons/godot-jolt/LICENSE.txt b/addons/godot-jolt/LICENSE.txt
new file mode 100644
index 0000000..2675022
--- /dev/null
+++ b/addons/godot-jolt/LICENSE.txt
@@ -0,0 +1,18 @@
+Copyright (c) Mikael Hermansson and Godot Jolt contributors.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/addons/godot-jolt/THIRDPARTY.txt b/addons/godot-jolt/THIRDPARTY.txt
new file mode 100644
index 0000000..e294095
--- /dev/null
+++ b/addons/godot-jolt/THIRDPARTY.txt
@@ -0,0 +1,91 @@
+Godot Jolt incorporates third-party material from the projects listed below.
+
+Godot Engine (https://github.com/godotengine/godot)
+
+ Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md).
+ Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur.
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to
+ deal in the Software without restriction, including without limitation the
+ rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ IN THE SOFTWARE.
+
+godot-cpp (https://github.com/godot-jolt/godot-cpp)
+
+ Copyright (c) 2017-present Godot Engine contributors.
+ Copyright (c) 2022-present Mikael Hermansson.
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to
+ deal in the Software without restriction, including without limitation the
+ rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ IN THE SOFTWARE.
+
+Jolt Physics (https://github.com/godot-jolt/jolt)
+
+ Copyright (c) 2021 Jorrit Rouwe.
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to
+ deal in the Software without restriction, including without limitation the
+ rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ IN THE SOFTWARE.
+
+mimalloc (https://github.com/godot-jolt/mimalloc)
+
+ Copyright (c) 2018-2021 Microsoft Corporation, Daan Leijen.
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to
+ deal in the Software without restriction, including without limitation the
+ rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ IN THE SOFTWARE.
diff --git a/addons/godot-jolt/godot-jolt.gdextension b/addons/godot-jolt/godot-jolt.gdextension
new file mode 100644
index 0000000..91236cc
--- /dev/null
+++ b/addons/godot-jolt/godot-jolt.gdextension
@@ -0,0 +1,21 @@
+[configuration]
+
+entry_symbol = "godot_jolt_main"
+compatibility_minimum = "4.1"
+
+[libraries]
+
+windows.release.x86_64 = "windows/godot-jolt_windows-x64.dll"
+windows.debug.x86_64 = "windows/godot-jolt_windows-x64_editor.dll"
+
+windows.release.x86_32 = "windows/godot-jolt_windows-x86.dll"
+windows.debug.x86_32 = "windows/godot-jolt_windows-x86_editor.dll"
+
+linux.release.x86_64 = "linux/godot-jolt_linux-x64.so"
+linux.debug.x86_64 = "linux/godot-jolt_linux-x64_editor.so"
+
+linux.release.x86_32 = "linux/godot-jolt_linux-x86.so"
+linux.debug.x86_32 = "linux/godot-jolt_linux-x86_editor.so"
+
+macos.release = "macos/godot-jolt_macos.framework"
+macos.debug = "macos/godot-jolt_macos_editor.framework"
diff --git a/addons/godot-jolt/linux/godot-jolt_linux-x64.so b/addons/godot-jolt/linux/godot-jolt_linux-x64.so
new file mode 100644
index 0000000..33fd813
Binary files /dev/null and b/addons/godot-jolt/linux/godot-jolt_linux-x64.so differ
diff --git a/addons/godot-jolt/linux/godot-jolt_linux-x64_editor.so b/addons/godot-jolt/linux/godot-jolt_linux-x64_editor.so
new file mode 100644
index 0000000..86105c5
Binary files /dev/null and b/addons/godot-jolt/linux/godot-jolt_linux-x64_editor.so differ
diff --git a/addons/godot-jolt/linux/godot-jolt_linux-x86.so b/addons/godot-jolt/linux/godot-jolt_linux-x86.so
new file mode 100644
index 0000000..3015286
Binary files /dev/null and b/addons/godot-jolt/linux/godot-jolt_linux-x86.so differ
diff --git a/addons/godot-jolt/linux/godot-jolt_linux-x86_editor.so b/addons/godot-jolt/linux/godot-jolt_linux-x86_editor.so
new file mode 100644
index 0000000..f654d4c
Binary files /dev/null and b/addons/godot-jolt/linux/godot-jolt_linux-x86_editor.so differ
diff --git a/addons/godot-jolt/macos/godot-jolt_macos.framework/Resources/Info.plist b/addons/godot-jolt/macos/godot-jolt_macos.framework/Resources/Info.plist
new file mode 100644
index 0000000..3be47f4
--- /dev/null
+++ b/addons/godot-jolt/macos/godot-jolt_macos.framework/Resources/Info.plist
@@ -0,0 +1,28 @@
+
+
+
+
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ godot-jolt_macos
+ CFBundleName
+ Godot Jolt
+ CFBundleDisplayName
+ Godot Jolt
+ CFBundleIdentifier
+ org.godot-jolt.godot-jolt
+ NSHumanReadableCopyright
+ Copyright (c) Mikael Hermansson and Godot Jolt contributors.
+ CFBundleVersion
+ 0.9.0
+ CFBundleShortVersionString
+ 0.9.0
+ CFBundlePackageType
+ FMWK
+ CSResourcesFileMapped
+
+
+
diff --git a/addons/godot-jolt/macos/godot-jolt_macos.framework/_CodeSignature/CodeResources b/addons/godot-jolt/macos/godot-jolt_macos.framework/_CodeSignature/CodeResources
new file mode 100644
index 0000000..854f829
--- /dev/null
+++ b/addons/godot-jolt/macos/godot-jolt_macos.framework/_CodeSignature/CodeResources
@@ -0,0 +1,128 @@
+
+
+
+
+ files
+
+ Resources/Info.plist
+
+ YuYYY8jBb0arCbHUJAYnYXN9Bl4=
+
+
+ files2
+
+ Resources/Info.plist
+
+ hash2
+
+ mUhdhGCxAeqGTDJQas4Ic9bzBCzZ6+vQ9lFDcNV630o=
+
+
+
+ rules
+
+ ^Resources/
+
+ ^Resources/.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^Resources/.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Resources/Base\.lproj/
+
+ weight
+ 1010
+
+ ^version.plist$
+
+
+ rules2
+
+ .*\.dSYM($|/)
+
+ weight
+ 11
+
+ ^(.*/)?\.DS_Store$
+
+ omit
+
+ weight
+ 2000
+
+ ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/
+
+ nested
+
+ weight
+ 10
+
+ ^.*
+
+ ^Info\.plist$
+
+ omit
+
+ weight
+ 20
+
+ ^PkgInfo$
+
+ omit
+
+ weight
+ 20
+
+ ^Resources/
+
+ weight
+ 20
+
+ ^Resources/.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^Resources/.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Resources/Base\.lproj/
+
+ weight
+ 1010
+
+ ^[^/]+$
+
+ nested
+
+ weight
+ 10
+
+ ^embedded\.provisionprofile$
+
+ weight
+ 20
+
+ ^version\.plist$
+
+ weight
+ 20
+
+
+
+
diff --git a/addons/godot-jolt/macos/godot-jolt_macos.framework/godot-jolt_macos b/addons/godot-jolt/macos/godot-jolt_macos.framework/godot-jolt_macos
new file mode 100644
index 0000000..bb9acdb
Binary files /dev/null and b/addons/godot-jolt/macos/godot-jolt_macos.framework/godot-jolt_macos differ
diff --git a/addons/godot-jolt/macos/godot-jolt_macos_editor.framework/Resources/Info.plist b/addons/godot-jolt/macos/godot-jolt_macos_editor.framework/Resources/Info.plist
new file mode 100644
index 0000000..478651d
--- /dev/null
+++ b/addons/godot-jolt/macos/godot-jolt_macos_editor.framework/Resources/Info.plist
@@ -0,0 +1,28 @@
+
+
+
+
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ godot-jolt_macos_editor
+ CFBundleName
+ Godot Jolt
+ CFBundleDisplayName
+ Godot Jolt
+ CFBundleIdentifier
+ org.godot-jolt.godot-jolt
+ NSHumanReadableCopyright
+ Copyright (c) Mikael Hermansson and Godot Jolt contributors.
+ CFBundleVersion
+ 0.9.0
+ CFBundleShortVersionString
+ 0.9.0
+ CFBundlePackageType
+ FMWK
+ CSResourcesFileMapped
+
+
+
diff --git a/addons/godot-jolt/macos/godot-jolt_macos_editor.framework/_CodeSignature/CodeResources b/addons/godot-jolt/macos/godot-jolt_macos_editor.framework/_CodeSignature/CodeResources
new file mode 100644
index 0000000..443d227
--- /dev/null
+++ b/addons/godot-jolt/macos/godot-jolt_macos_editor.framework/_CodeSignature/CodeResources
@@ -0,0 +1,128 @@
+
+
+
+
+ files
+
+ Resources/Info.plist
+
+ g2kDFUAKlkXWSjx4ILQBttcmXe8=
+
+
+ files2
+
+ Resources/Info.plist
+
+ hash2
+
+ 8VcK9urwJzy+lEmTjkhZhwvnKsewbfJyRy25JLd26h0=
+
+
+
+ rules
+
+ ^Resources/
+
+ ^Resources/.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^Resources/.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Resources/Base\.lproj/
+
+ weight
+ 1010
+
+ ^version.plist$
+
+
+ rules2
+
+ .*\.dSYM($|/)
+
+ weight
+ 11
+
+ ^(.*/)?\.DS_Store$
+
+ omit
+
+ weight
+ 2000
+
+ ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/
+
+ nested
+
+ weight
+ 10
+
+ ^.*
+
+ ^Info\.plist$
+
+ omit
+
+ weight
+ 20
+
+ ^PkgInfo$
+
+ omit
+
+ weight
+ 20
+
+ ^Resources/
+
+ weight
+ 20
+
+ ^Resources/.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^Resources/.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Resources/Base\.lproj/
+
+ weight
+ 1010
+
+ ^[^/]+$
+
+ nested
+
+ weight
+ 10
+
+ ^embedded\.provisionprofile$
+
+ weight
+ 20
+
+ ^version\.plist$
+
+ weight
+ 20
+
+
+
+
diff --git a/addons/godot-jolt/macos/godot-jolt_macos_editor.framework/godot-jolt_macos_editor b/addons/godot-jolt/macos/godot-jolt_macos_editor.framework/godot-jolt_macos_editor
new file mode 100644
index 0000000..fc7e1d8
Binary files /dev/null and b/addons/godot-jolt/macos/godot-jolt_macos_editor.framework/godot-jolt_macos_editor differ
diff --git a/addons/godot-jolt/windows/godot-jolt_windows-x64.dll b/addons/godot-jolt/windows/godot-jolt_windows-x64.dll
new file mode 100644
index 0000000..3731f5a
Binary files /dev/null and b/addons/godot-jolt/windows/godot-jolt_windows-x64.dll differ
diff --git a/addons/godot-jolt/windows/godot-jolt_windows-x64_editor.dll b/addons/godot-jolt/windows/godot-jolt_windows-x64_editor.dll
new file mode 100644
index 0000000..e2a880b
Binary files /dev/null and b/addons/godot-jolt/windows/godot-jolt_windows-x64_editor.dll differ
diff --git a/addons/godot-jolt/windows/godot-jolt_windows-x86.dll b/addons/godot-jolt/windows/godot-jolt_windows-x86.dll
new file mode 100644
index 0000000..c5dbce2
Binary files /dev/null and b/addons/godot-jolt/windows/godot-jolt_windows-x86.dll differ
diff --git a/addons/godot-jolt/windows/godot-jolt_windows-x86_editor.dll b/addons/godot-jolt/windows/godot-jolt_windows-x86_editor.dll
new file mode 100644
index 0000000..4d06575
Binary files /dev/null and b/addons/godot-jolt/windows/godot-jolt_windows-x86_editor.dll differ
diff --git a/project.godot b/project.godot
index bdb3e4d..42cecb5 100644
--- a/project.godot
+++ b/project.godot
@@ -55,3 +55,7 @@ shoot={
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":1,"position":Vector2(348, 5),"global_position":Vector2(352, 48),"factor":1.0,"button_index":1,"canceled":false,"pressed":true,"double_click":false,"script":null)
]
}
+
+[physics]
+
+3d/physics_engine="JoltPhysics3D"