diff --git a/Blocks/Stairs_to_E001.tscn b/Blocks/Stairs_to_E001.tscn
deleted file mode 100644
index 2421d316..00000000
--- a/Blocks/Stairs_to_E001.tscn
+++ /dev/null
@@ -1,19 +0,0 @@
-[gd_scene load_steps=4 format=3 uid="uid://db73ys0cw3b2i"]
-
-[ext_resource type="Material" uid="uid://pdqqtb1s8g6n" path="res://Materials/stairs1.tres" id="1_igkxi"]
-
-[sub_resource type="PrismMesh" id="PrismMesh_7xabc"]
-material = ExtResource("1_igkxi")
-left_to_right = 1.0
-
-[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_7isgt"]
-points = PackedVector3Array(0.5, 0.5, 0.5, 0.5, 0.5, -0.5, -0.5, -0.5, 0.5, 0.5, -0.5, 0.5, 0.5, -0.5, -0.5, -0.5, -0.5, -0.5)
-
-[node name="StairsToE001" type="StaticBody3D" groups=["navigation_mesh_source_group"]]
-disable_mode = 1
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
-mesh = SubResource("PrismMesh_7xabc")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
-shape = SubResource("ConvexPolygonShape3D_7isgt")
diff --git a/Blocks/Stairs_to_S001.tscn b/Blocks/Stairs_to_S001.tscn
deleted file mode 100644
index 41ecb62c..00000000
--- a/Blocks/Stairs_to_S001.tscn
+++ /dev/null
@@ -1,20 +0,0 @@
-[gd_scene load_steps=4 format=3 uid="uid://dotb8dsoarufo"]
-
-[ext_resource type="Material" uid="uid://pdqqtb1s8g6n" path="res://Materials/stairs1.tres" id="1_g3bt7"]
-
-[sub_resource type="PrismMesh" id="PrismMesh_7xabc"]
-material = ExtResource("1_g3bt7")
-left_to_right = 1.0
-
-[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_7isgt"]
-points = PackedVector3Array(0.5, 0.5, 0.5, 0.5, 0.5, -0.5, -0.5, -0.5, 0.5, 0.5, -0.5, 0.5, 0.5, -0.5, -0.5, -0.5, -0.5, -0.5)
-
-[node name="StairsToS001" type="StaticBody3D" groups=["navigation_mesh_source_group"]]
-transform = Transform3D(1.19249e-08, 0, -1, 0, 1, 0, 1, 0, 1.19249e-08, 0, 0, 0)
-disable_mode = 1
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
-mesh = SubResource("PrismMesh_7xabc")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
-shape = SubResource("ConvexPolygonShape3D_7isgt")
diff --git a/Blocks/Stairs_to_W001.tscn b/Blocks/Stairs_to_W001.tscn
deleted file mode 100644
index 02918c5e..00000000
--- a/Blocks/Stairs_to_W001.tscn
+++ /dev/null
@@ -1,20 +0,0 @@
-[gd_scene load_steps=4 format=3 uid="uid://h2antxtbvel4"]
-
-[ext_resource type="Material" uid="uid://pdqqtb1s8g6n" path="res://Materials/stairs1.tres" id="1_f8gkw"]
-
-[sub_resource type="PrismMesh" id="PrismMesh_7xabc"]
-material = ExtResource("1_f8gkw")
-left_to_right = 1.0
-
-[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_7isgt"]
-points = PackedVector3Array(0.5, 0.5, 0.5, 0.5, 0.5, -0.5, -0.5, -0.5, 0.5, 0.5, -0.5, 0.5, 0.5, -0.5, -0.5, -0.5, -0.5, -0.5)
-
-[node name="StairsToW001" type="StaticBody3D" groups=["navigation_mesh_source_group"]]
-transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 0)
-disable_mode = 1
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
-mesh = SubResource("PrismMesh_7xabc")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
-shape = SubResource("ConvexPolygonShape3D_7isgt")
diff --git a/Blocks/concrete_wall001.tscn b/Blocks/concrete_wall001.tscn
deleted file mode 100644
index 4922bcbd..00000000
--- a/Blocks/concrete_wall001.tscn
+++ /dev/null
@@ -1,18 +0,0 @@
-[gd_scene load_steps=4 format=3 uid="uid://b5b2f24f6emf3"]
-
-[ext_resource type="Material" uid="uid://biuyl58gd7g7v" path="res://Materials/wall1.tres" id="1_88dl0"]
-
-[sub_resource type="BoxMesh" id="BoxMesh_j05ve"]
-material = ExtResource("1_88dl0")
-
-[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_gyg2o"]
-points = PackedVector3Array(0.5, 0.5, 0.5, 0.5, 0.5, -0.5, -0.5, 0.5, 0.5, 0.5, -0.5, 0.5, 0.5, -0.5, -0.5, -0.5, 0.5, -0.5, -0.5, -0.5, 0.5, -0.5, -0.5, -0.5)
-
-[node name="Concrete001" type="StaticBody3D" groups=["navigation_mesh_source_group"]]
-disable_mode = 1
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
-mesh = SubResource("BoxMesh_j05ve")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
-shape = SubResource("ConvexPolygonShape3D_gyg2o")
diff --git a/Blocks/concrete_wall002.tscn b/Blocks/concrete_wall002.tscn
deleted file mode 100644
index 40ecf58b..00000000
--- a/Blocks/concrete_wall002.tscn
+++ /dev/null
@@ -1,18 +0,0 @@
-[gd_scene load_steps=4 format=3 uid="uid://cmjjw8pjtidpj"]
-
-[ext_resource type="Material" uid="uid://biuyl58gd7g7v" path="res://Materials/wall1.tres" id="1_fgupy"]
-
-[sub_resource type="BoxMesh" id="BoxMesh_j05ve"]
-material = ExtResource("1_fgupy")
-
-[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_gyg2o"]
-points = PackedVector3Array(0.5, 0.5, 0.5, 0.5, 0.5, -0.5, -0.5, 0.5, 0.5, 0.5, -0.5, 0.5, 0.5, -0.5, -0.5, -0.5, 0.5, -0.5, -0.5, -0.5, 0.5, -0.5, -0.5, -0.5)
-
-[node name="Concrete001" type="StaticBody3D" groups=["navigation_mesh_source_group"]]
-disable_mode = 1
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
-mesh = SubResource("BoxMesh_j05ve")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
-shape = SubResource("ConvexPolygonShape3D_gyg2o")
diff --git a/Materials/floor1.tres b/Defaults/Blocks/Materials/floor1.tres
similarity index 80%
rename from Materials/floor1.tres
rename to Defaults/Blocks/Materials/floor1.tres
index 0fad24ad..293480c5 100644
--- a/Materials/floor1.tres
+++ b/Defaults/Blocks/Materials/floor1.tres
@@ -1,6 +1,6 @@
[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://buj4ukj1oh4pq"]
-[ext_resource type="Texture2D" uid="uid://bu00lw1luehxr" path="res://Textures/Tiles/Actual textures/1.png" id="1_a2cuf"]
+[ext_resource type="Texture2D" uid="uid://bu00lw1luehxr" path="res://Defaults/Sprites/1.png" id="1_a2cuf"]
[resource]
albedo_texture = ExtResource("1_a2cuf")
diff --git a/Materials/stairs1.tres b/Defaults/Blocks/Materials/stairs1.tres
similarity index 81%
rename from Materials/stairs1.tres
rename to Defaults/Blocks/Materials/stairs1.tres
index 956348fd..1b4be316 100644
--- a/Materials/stairs1.tres
+++ b/Defaults/Blocks/Materials/stairs1.tres
@@ -1,6 +1,6 @@
[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://pdqqtb1s8g6n"]
-[ext_resource type="Texture2D" uid="uid://cyy4j5vso6khu" path="res://Textures/Tiles/Actual textures/4.png" id="1_rgn6b"]
+[ext_resource type="Texture2D" uid="uid://cyy4j5vso6khu" path="res://Defaults/Sprites/4.png" id="1_rgn6b"]
[resource]
shading_mode = 0
diff --git a/Blocks/grass_001.gd b/Defaults/Blocks/default_block.gd
similarity index 57%
rename from Blocks/grass_001.gd
rename to Defaults/Blocks/default_block.gd
index eeed8586..b71cc759 100644
--- a/Blocks/grass_001.gd
+++ b/Defaults/Blocks/default_block.gd
@@ -1,6 +1,10 @@
extends StaticBody3D
+var id: String = ""
func update_texture(material: BaseMaterial3D) -> void:
$MeshInstance3D.mesh = BoxMesh.new()
$MeshInstance3D.mesh.surface_set_material(0, material)
+
+func get_texture_string() -> String:
+ return $MeshInstance3D.mesh.material.albedo_texture.resource_path
diff --git a/Blocks/grass_001.tscn b/Defaults/Blocks/default_block.tscn
similarity index 71%
rename from Blocks/grass_001.tscn
rename to Defaults/Blocks/default_block.tscn
index ea906bb5..7002c396 100644
--- a/Blocks/grass_001.tscn
+++ b/Defaults/Blocks/default_block.tscn
@@ -1,17 +1,18 @@
[gd_scene load_steps=5 format=3 uid="uid://cpaa3ui52a23c"]
-[ext_resource type="Material" uid="uid://buj4ukj1oh4pq" path="res://Materials/floor1.tres" id="1_tldl5"]
-[ext_resource type="Script" path="res://Blocks/grass_001.gd" id="1_yge5h"]
+[ext_resource type="Script" path="res://Defaults/Blocks/default_block.gd" id="1_s3i5a"]
+[ext_resource type="Material" uid="uid://buj4ukj1oh4pq" path="res://Defaults/Blocks/Materials/floor1.tres" id="2_ukdu8"]
[sub_resource type="BoxMesh" id="BoxMesh_j05ve"]
-material = ExtResource("1_tldl5")
+material = ExtResource("2_ukdu8")
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_gyg2o"]
points = PackedVector3Array(0.5, 0.5, 0.5, 0.5, 0.5, -0.5, -0.5, 0.5, 0.5, 0.5, -0.5, 0.5, 0.5, -0.5, -0.5, -0.5, 0.5, -0.5, -0.5, -0.5, 0.5, -0.5, -0.5, -0.5)
[node name="Grass001" type="StaticBody3D" groups=["navigation_mesh_source_group"]]
+transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0, 0)
disable_mode = 1
-script = ExtResource("1_yge5h")
+script = ExtResource("1_s3i5a")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
mesh = SubResource("BoxMesh_j05ve")
diff --git a/Defaults/Blocks/default_slope.gd b/Defaults/Blocks/default_slope.gd
new file mode 100644
index 00000000..782a2d0d
--- /dev/null
+++ b/Defaults/Blocks/default_slope.gd
@@ -0,0 +1,14 @@
+extends StaticBody3D
+
+var id: String = ""
+
+func update_texture(material: BaseMaterial3D) -> void:
+ var prism_mesh = PrismMesh.new()
+ prism_mesh.left_to_right = 1
+ prism_mesh.surface_set_material(0, material)
+
+ $MeshInstance3D.mesh = prism_mesh # Assign the new PrismMesh to the MeshInstance3D
+
+
+func get_texture_string() -> String:
+ return $MeshInstance3D.mesh.material.albedo_texture.resource_path
diff --git a/Blocks/Stairs_to_N001.tscn b/Defaults/Blocks/default_slope.tscn
similarity index 70%
rename from Blocks/Stairs_to_N001.tscn
rename to Defaults/Blocks/default_slope.tscn
index 63dfce1c..288f8b6c 100644
--- a/Blocks/Stairs_to_N001.tscn
+++ b/Defaults/Blocks/default_slope.tscn
@@ -1,9 +1,11 @@
-[gd_scene load_steps=4 format=3 uid="uid://dnsl5rk6de7na"]
+[gd_scene load_steps=5 format=3 uid="uid://dnsl5rk6de7na"]
-[ext_resource type="Material" uid="uid://pdqqtb1s8g6n" path="res://Materials/stairs1.tres" id="1_r8jiw"]
+[ext_resource type="Script" path="res://Defaults/Blocks/default_slope.gd" id="1_x2ar8"]
+[ext_resource type="Material" uid="uid://pdqqtb1s8g6n" path="res://Defaults/Blocks/Materials/stairs1.tres" id="2_qnimx"]
[sub_resource type="PrismMesh" id="PrismMesh_7xabc"]
-material = ExtResource("1_r8jiw")
+lightmap_size_hint = Vector2i(14, 21)
+material = ExtResource("2_qnimx")
left_to_right = 1.0
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_7isgt"]
@@ -12,6 +14,7 @@ points = PackedVector3Array(0.5, 0.5, 0.5, 0.5, 0.5, -0.5, -0.5, -0.5, 0.5, 0.5,
[node name="StairsToN001" type="StaticBody3D" groups=["navigation_mesh_source_group"]]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0, 0)
disable_mode = 1
+script = ExtResource("1_x2ar8")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
mesh = SubResource("PrismMesh_7xabc")
diff --git a/Defaults/Furniture/FurniturePhysics.tscn b/Defaults/Furniture/FurniturePhysics.tscn
new file mode 100644
index 00000000..b7a9e611
--- /dev/null
+++ b/Defaults/Furniture/FurniturePhysics.tscn
@@ -0,0 +1,25 @@
+[gd_scene load_steps=5 format=3 uid="uid://cpmwu7v1r8cg8"]
+
+[ext_resource type="Script" path="res://Scripts/FurniturePhysics.gd" id="1_klkkl"]
+[ext_resource type="Texture2D" uid="uid://cqfqxgp12asw1" path="res://Mods/Core/Furniture/table_64.png" id="1_q67ig"]
+[ext_resource type="PackedScene" uid="uid://mu6nbyuq02o5" path="res://Defaults/Mobs/mob_corpse.tscn" id="2_jy8nl"]
+
+[sub_resource type="SphereShape3D" id="SphereShape3D_vweei"]
+radius = 0.2
+
+[node name="FurniturePhysics" type="RigidBody3D"]
+collision_layer = 4
+collision_mask = 7
+axis_lock_angular_x = true
+axis_lock_angular_z = true
+linear_damp = 59.0
+angular_damp = 59.0
+script = ExtResource("1_klkkl")
+corpse_scene = ExtResource("2_jy8nl")
+
+[node name="Sprite3D" type="Sprite3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0)
+texture = ExtResource("1_q67ig")
+
+[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
+shape = SubResource("SphereShape3D_vweei")
diff --git a/Defaults/Furniture/FurnitureStatic.tscn b/Defaults/Furniture/FurnitureStatic.tscn
new file mode 100644
index 00000000..da98f666
--- /dev/null
+++ b/Defaults/Furniture/FurnitureStatic.tscn
@@ -0,0 +1,21 @@
+[gd_scene load_steps=5 format=3 uid="uid://cm4n8cljiij4w"]
+
+[ext_resource type="Script" path="res://Scripts/FurnitureStatic.gd" id="1_wituf"]
+[ext_resource type="PackedScene" uid="uid://mu6nbyuq02o5" path="res://Defaults/Mobs/mob_corpse.tscn" id="2_ln6uk"]
+[ext_resource type="Texture2D" uid="uid://cqfqxgp12asw1" path="res://Mods/Core/Furniture/table_64.png" id="2_nt0ji"]
+
+[sub_resource type="BoxShape3D" id="BoxShape3D_23dag"]
+size = Vector3(0.4, 0.5, 0.4)
+
+[node name="FurnitureStatic" type="StaticBody3D"]
+axis_lock_angular_x = true
+axis_lock_angular_z = true
+script = ExtResource("1_wituf")
+corpse_scene = ExtResource("2_ln6uk")
+
+[node name="Sprite3D" type="Sprite3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0)
+texture = ExtResource("2_nt0ji")
+
+[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
+shape = SubResource("BoxShape3D_23dag")
diff --git a/Defaults/Maps/Generichouse.png b/Defaults/Maps/Generichouse.png
new file mode 100644
index 00000000..ee85ef2b
Binary files /dev/null and b/Defaults/Maps/Generichouse.png differ
diff --git a/Defaults/Maps/Generichouse.png.import b/Defaults/Maps/Generichouse.png.import
new file mode 100644
index 00000000..450e820c
--- /dev/null
+++ b/Defaults/Maps/Generichouse.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://sqi8fd2vi8jr"
+path="res://.godot/imported/Generichouse.png-54cdc2d9e4775bcd5290036badaeb324.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Defaults/Maps/Generichouse.png"
+dest_files=["res://.godot/imported/Generichouse.png-54cdc2d9e4775bcd5290036badaeb324.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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=1
diff --git a/Defaults/Mobs/mob.tscn b/Defaults/Mobs/mob.tscn
new file mode 100644
index 00000000..96ca93a0
--- /dev/null
+++ b/Defaults/Mobs/mob.tscn
@@ -0,0 +1,114 @@
+[gd_scene load_steps=14 format=3 uid="uid://b2r6nh12wv41k"]
+
+[ext_resource type="Script" path="res://Scripts/Mob.gd" id="1_ajqy0"]
+[ext_resource type="PackedScene" uid="uid://mu6nbyuq02o5" path="res://Defaults/Mobs/mob_corpse.tscn" id="2_eldwl"]
+[ext_resource type="Script" path="res://Scripts/StateMachine.gd" id="3_qfjv5"]
+[ext_resource type="Script" path="res://Scripts/MobAttack.gd" id="4_fqxd2"]
+[ext_resource type="Script" path="res://Scripts/MobIdle.gd" id="5_qf6ud"]
+[ext_resource type="Script" path="res://Scripts/MobFollow.gd" id="6_va33k"]
+[ext_resource type="Script" path="res://Scripts/Detection.gd" id="8_ugi6q"]
+[ext_resource type="Texture2D" uid="uid://cy56wx4qynp3m" path="res://Textures/enemy.png" id="9_vd6sy"]
+[ext_resource type="Shader" path="res://transparent_lighting.gdshader" id="10_qbt4f"]
+
+[sub_resource type="SphereShape3D" id="SphereShape3D_uyii8"]
+radius = 0.357674
+
+[sub_resource type="BoxShape3D" id="BoxShape3D_kv6xp"]
+size = Vector3(0.35, 0.35, 0.35)
+
+[sub_resource type="ShaderMaterial" id="ShaderMaterial_vr552"]
+render_priority = 0
+shader = ExtResource("10_qbt4f")
+shader_parameter/color = Color(1, 0.266667, 0.0509804, 1)
+shader_parameter/energy = 1.0
+shader_parameter/tex = ExtResource("9_vd6sy")
+
+[sub_resource type="QuadMesh" id="QuadMesh_bbnvr"]
+lightmap_size_hint = Vector2i(7, 7)
+material = SubResource("ShaderMaterial_vr552")
+size = Vector2(0.5, 0.5)
+orientation = 1
+
+[node name="Mob" type="CharacterBody3D" groups=["Enemies"]]
+collision_layer = 2
+collision_mask = 3
+wall_min_slide_angle = 0.0
+floor_constant_speed = true
+script = ExtResource("1_ajqy0")
+corpse_scene = ExtResource("2_eldwl")
+
+[node name="NavigationAgent3D" type="NavigationAgent3D" parent="."]
+path_desired_distance = 0.5
+target_desired_distance = 0.5
+path_max_distance = 0.51
+avoidance_enabled = true
+debug_enabled = true
+
+[node name="StateMachine" type="Node" parent="." node_paths=PackedStringArray("initial_state")]
+script = ExtResource("3_qfjv5")
+initial_state = NodePath("MobIdle")
+
+[node name="MobAttack" type="Node3D" parent="StateMachine" node_paths=PackedStringArray("attack_timer", "mob")]
+script = ExtResource("4_fqxd2")
+attack_timer = NodePath("AttackCooldown")
+mob = NodePath("../..")
+
+[node name="AttackCooldown" type="Timer" parent="StateMachine/MobAttack"]
+
+[node name="MobIdle" type="Node3D" parent="StateMachine" node_paths=PackedStringArray("nav_agent", "mob", "moving_timer")]
+script = ExtResource("5_qf6ud")
+nav_agent = NodePath("../../NavigationAgent3D")
+mob = NodePath("../..")
+move_distance = 50.0
+moving_timer = NodePath("MovingCooldown")
+
+[node name="MovingCooldown" type="Timer" parent="StateMachine/MobIdle"]
+wait_time = 4.0
+
+[node name="MobFollow" type="Node3D" parent="StateMachine" node_paths=PackedStringArray("nav_agent", "mob", "pathfinding_timer")]
+script = ExtResource("6_va33k")
+nav_agent = NodePath("../../NavigationAgent3D")
+mob = NodePath("../..")
+mobCol = NodePath("../../CollisionShape3D")
+pathfinding_timer = NodePath("Timer")
+
+[node name="Timer" type="Timer" parent="StateMachine/MobFollow"]
+wait_time = 0.2
+autostart = true
+
+[node name="Detection" type="Node3D" parent="." node_paths=PackedStringArray("mob")]
+script = ExtResource("8_ugi6q")
+mob = NodePath("..")
+
+[node name="Sprite3D" type="Sprite3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0275174, 0)
+visible = false
+layers = 16
+gi_mode = 0
+pixel_size = 0.05
+billboard = 1
+shaded = true
+double_sided = false
+texture = ExtResource("9_vd6sy")
+
+[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
+visible = false
+shape = SubResource("SphereShape3D_uyii8")
+disabled = true
+
+[node name="CollisionShape3D2" type="CollisionShape3D" parent="."]
+shape = SubResource("BoxShape3D_kv6xp")
+
+[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.20019, 0)
+layers = 16
+cast_shadow = 0
+gi_mode = 0
+mesh = SubResource("QuadMesh_bbnvr")
+
+[connection signal="timeout" from="StateMachine/MobAttack/AttackCooldown" to="StateMachine/MobAttack" method="_on_attack_cooldown_timeout"]
+[connection signal="timeout" from="StateMachine/MobIdle/MovingCooldown" to="StateMachine/MobIdle" method="_on_moving_cooldown_timeout"]
+[connection signal="timeout" from="StateMachine/MobFollow/Timer" to="StateMachine/MobFollow" method="_on_timer_timeout"]
+[connection signal="player_spotted" from="Detection" to="StateMachine/MobAttack" method="_on_detection_player_spotted"]
+[connection signal="player_spotted" from="Detection" to="StateMachine/MobIdle" method="_on_detection_player_spotted"]
+[connection signal="player_spotted" from="Detection" to="StateMachine/MobFollow" method="_on_detection_player_spotted"]
diff --git a/enemy_corpse.tscn b/Defaults/Mobs/mob_corpse.tscn
similarity index 77%
rename from enemy_corpse.tscn
rename to Defaults/Mobs/mob_corpse.tscn
index 8a40bdac..96f52a25 100644
--- a/enemy_corpse.tscn
+++ b/Defaults/Mobs/mob_corpse.tscn
@@ -1,19 +1,20 @@
[gd_scene load_steps=6 format=3 uid="uid://mu6nbyuq02o5"]
[ext_resource type="Script" path="res://Scripts/container.gd" id="1_4celg"]
+[ext_resource type="Script" path="res://addons/gloot/core/inventory_stacked.gd" id="2_3htey"]
[ext_resource type="Texture2D" uid="uid://cy56wx4qynp3m" path="res://Textures/enemy.png" id="2_pvjek"]
-[ext_resource type="Script" path="res://addons/gloot/core/inventory_grid_stacked.gd" id="3_131gg"]
-[ext_resource type="Resource" uid="uid://bvrl0obu5ejqq" path="res://ItemProtosets.tres" id="4_ehn4b"]
+[ext_resource type="Resource" uid="uid://b1tngttyk4w2s" path="res://ItemProtosets.tres" id="4_ehn4b"]
[sub_resource type="SphereShape3D" id="SphereShape3D_0pnwx"]
radius = 0.2
[node name="Node3D" type="Node3D" groups=["Containers"]]
script = ExtResource("1_4celg")
-inventory = NodePath("InventoryGridStacked")
+inventory = NodePath("InventoryStacked")
-[node name="InventoryGridStacked" type="Node" parent="."]
-script = ExtResource("3_131gg")
+[node name="InventoryStacked" type="Node" parent="."]
+script = ExtResource("2_3htey")
+capacity = 1000.0
item_protoset = ExtResource("4_ehn4b")
[node name="Sprite3D" type="Sprite3D" parent="."]
diff --git a/Defaults/Player/player_300.png b/Defaults/Player/player_300.png
new file mode 100644
index 00000000..8c74dc1a
Binary files /dev/null and b/Defaults/Player/player_300.png differ
diff --git a/Defaults/Player/player_300.png.import b/Defaults/Player/player_300.png.import
new file mode 100644
index 00000000..0343c7b7
--- /dev/null
+++ b/Defaults/Player/player_300.png.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://db0xwhrm0sliq"
+path.s3tc="res://.godot/imported/player_300.png-a00e9cfa286016869f973cd324026833.s3tc.ctex"
+metadata={
+"imported_formats": ["s3tc_bptc"],
+"vram_texture": true
+}
+
+[deps]
+
+source_file="res://Defaults/Player/player_300.png"
+dest_files=["res://.godot/imported/player_300.png-a00e9cfa286016869f973cd324026833.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/Textures/Tiles/Actual textures/1.png b/Defaults/Sprites/1.png
similarity index 100%
rename from Textures/Tiles/Actual textures/1.png
rename to Defaults/Sprites/1.png
diff --git a/Textures/Tiles/Actual textures/1.png.import b/Defaults/Sprites/1.png.import
similarity index 72%
rename from Textures/Tiles/Actual textures/1.png.import
rename to Defaults/Sprites/1.png.import
index 9ff7f407..3d2924ac 100644
--- a/Textures/Tiles/Actual textures/1.png.import
+++ b/Defaults/Sprites/1.png.import
@@ -3,7 +3,7 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://bu00lw1luehxr"
-path.s3tc="res://.godot/imported/1.png-97878b150c8cfea86d5ee12c89d61658.s3tc.ctex"
+path.s3tc="res://.godot/imported/1.png-0a2a220d5dbae2055345f2757451ae49.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
@@ -11,8 +11,8 @@ metadata={
[deps]
-source_file="res://Textures/Tiles/Actual textures/1.png"
-dest_files=["res://.godot/imported/1.png-97878b150c8cfea86d5ee12c89d61658.s3tc.ctex"]
+source_file="res://Defaults/Sprites/1.png"
+dest_files=["res://.godot/imported/1.png-0a2a220d5dbae2055345f2757451ae49.s3tc.ctex"]
[params]
diff --git a/Textures/Tiles/Actual textures/2.png b/Defaults/Sprites/2.png
similarity index 100%
rename from Textures/Tiles/Actual textures/2.png
rename to Defaults/Sprites/2.png
diff --git a/Textures/Tiles/Actual textures/2.png.import b/Defaults/Sprites/2.png.import
similarity index 72%
rename from Textures/Tiles/Actual textures/2.png.import
rename to Defaults/Sprites/2.png.import
index 61e88dab..6e57d14b 100644
--- a/Textures/Tiles/Actual textures/2.png.import
+++ b/Defaults/Sprites/2.png.import
@@ -3,7 +3,7 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://c31w0wuk8qabw"
-path.s3tc="res://.godot/imported/2.png-054b4df51feed804de7ba33365535c1c.s3tc.ctex"
+path.s3tc="res://.godot/imported/2.png-064a12f2e68879b8011ec8d7535f90a6.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
@@ -11,8 +11,8 @@ metadata={
[deps]
-source_file="res://Textures/Tiles/Actual textures/2.png"
-dest_files=["res://.godot/imported/2.png-054b4df51feed804de7ba33365535c1c.s3tc.ctex"]
+source_file="res://Defaults/Sprites/2.png"
+dest_files=["res://.godot/imported/2.png-064a12f2e68879b8011ec8d7535f90a6.s3tc.ctex"]
[params]
diff --git a/Textures/Tiles/Actual textures/3.png b/Defaults/Sprites/3.png
similarity index 100%
rename from Textures/Tiles/Actual textures/3.png
rename to Defaults/Sprites/3.png
diff --git a/Textures/Tiles/Actual textures/3.png.import b/Defaults/Sprites/3.png.import
similarity index 72%
rename from Textures/Tiles/Actual textures/3.png.import
rename to Defaults/Sprites/3.png.import
index fe01cf40..0d1d57d3 100644
--- a/Textures/Tiles/Actual textures/3.png.import
+++ b/Defaults/Sprites/3.png.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://de2iuxymc150j"
-path="res://.godot/imported/3.png-2dbb42ad8059ec922c0ddf7474487a19.ctex"
+path="res://.godot/imported/3.png-40368a6c144874d275a6652f0533c5a8.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://Textures/Tiles/Actual textures/3.png"
-dest_files=["res://.godot/imported/3.png-2dbb42ad8059ec922c0ddf7474487a19.ctex"]
+source_file="res://Defaults/Sprites/3.png"
+dest_files=["res://.godot/imported/3.png-40368a6c144874d275a6652f0533c5a8.ctex"]
[params]
diff --git a/Textures/Tiles/Actual textures/4.png b/Defaults/Sprites/4.png
similarity index 100%
rename from Textures/Tiles/Actual textures/4.png
rename to Defaults/Sprites/4.png
diff --git a/Textures/Tiles/Actual textures/4.png.import b/Defaults/Sprites/4.png.import
similarity index 72%
rename from Textures/Tiles/Actual textures/4.png.import
rename to Defaults/Sprites/4.png.import
index 60c8991f..3d50dc22 100644
--- a/Textures/Tiles/Actual textures/4.png.import
+++ b/Defaults/Sprites/4.png.import
@@ -3,7 +3,7 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://cyy4j5vso6khu"
-path.s3tc="res://.godot/imported/4.png-0676a15659dda490d02720917344243e.s3tc.ctex"
+path.s3tc="res://.godot/imported/4.png-94aa6fc10b65fd9d208a71417586b52a.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
@@ -11,8 +11,8 @@ metadata={
[deps]
-source_file="res://Textures/Tiles/Actual textures/4.png"
-dest_files=["res://.godot/imported/4.png-0676a15659dda490d02720917344243e.s3tc.ctex"]
+source_file="res://Defaults/Sprites/4.png"
+dest_files=["res://.godot/imported/4.png-94aa6fc10b65fd9d208a71417586b52a.s3tc.ctex"]
[params]
diff --git a/Images/Icons/IconArrowDownChecked.png b/Images/Icons/IconArrowDownChecked.png
new file mode 100644
index 00000000..ea409e01
Binary files /dev/null and b/Images/Icons/IconArrowDownChecked.png differ
diff --git a/Images/Icons/IconArrowDownChecked.png.import b/Images/Icons/IconArrowDownChecked.png.import
new file mode 100644
index 00000000..fcff022d
--- /dev/null
+++ b/Images/Icons/IconArrowDownChecked.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://kjsnbbs2o68u"
+path="res://.godot/imported/IconArrowDownChecked.png-a0fb98fe9f4489d648155a119bab7e92.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Images/Icons/IconArrowDownChecked.png"
+dest_files=["res://.godot/imported/IconArrowDownChecked.png-a0fb98fe9f4489d648155a119bab7e92.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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=1
diff --git a/Images/Icons/IconArrowDownUnchecked.png b/Images/Icons/IconArrowDownUnchecked.png
new file mode 100644
index 00000000..da290245
Binary files /dev/null and b/Images/Icons/IconArrowDownUnchecked.png differ
diff --git a/Images/Icons/IconArrowDownUnchecked.png.import b/Images/Icons/IconArrowDownUnchecked.png.import
new file mode 100644
index 00000000..a2e82da9
--- /dev/null
+++ b/Images/Icons/IconArrowDownUnchecked.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bsxgq272ca2kw"
+path="res://.godot/imported/IconArrowDownUnchecked.png-08f1debc5dbe632816528ee82ae23de5.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Images/Icons/IconArrowDownUnchecked.png"
+dest_files=["res://.godot/imported/IconArrowDownUnchecked.png-08f1debc5dbe632816528ee82ae23de5.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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=1
diff --git a/Images/Icons/IconArrowUpChecked.png b/Images/Icons/IconArrowUpChecked.png
new file mode 100644
index 00000000..697f6491
Binary files /dev/null and b/Images/Icons/IconArrowUpChecked.png differ
diff --git a/Images/Icons/IconArrowUpChecked.png.import b/Images/Icons/IconArrowUpChecked.png.import
new file mode 100644
index 00000000..f6aa8b66
--- /dev/null
+++ b/Images/Icons/IconArrowUpChecked.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dk8cdxff84idk"
+path="res://.godot/imported/IconArrowUpChecked.png-2daff76cbd86b523e4eb19104a7f04da.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Images/Icons/IconArrowUpChecked.png"
+dest_files=["res://.godot/imported/IconArrowUpChecked.png-2daff76cbd86b523e4eb19104a7f04da.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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=1
diff --git a/Images/Icons/IconArrowUpUnchecked.png b/Images/Icons/IconArrowUpUnchecked.png
new file mode 100644
index 00000000..8677a17a
Binary files /dev/null and b/Images/Icons/IconArrowUpUnchecked.png differ
diff --git a/Images/Icons/IconArrowUpUnchecked.png.import b/Images/Icons/IconArrowUpUnchecked.png.import
new file mode 100644
index 00000000..80662cdc
--- /dev/null
+++ b/Images/Icons/IconArrowUpUnchecked.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://biircfcjvj7lp"
+path="res://.godot/imported/IconArrowUpUnchecked.png-503a97f947128645c0e7f0da8f0a6b1a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Images/Icons/IconArrowUpUnchecked.png"
+dest_files=["res://.godot/imported/IconArrowUpUnchecked.png-503a97f947128645c0e7f0da8f0a6b1a.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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=1
diff --git a/Images/Icons/IconCameraUnchecked.png b/Images/Icons/IconCameraUnchecked.png
new file mode 100644
index 00000000..d06808da
Binary files /dev/null and b/Images/Icons/IconCameraUnchecked.png differ
diff --git a/Images/Icons/IconCameraUnchecked.png.import b/Images/Icons/IconCameraUnchecked.png.import
new file mode 100644
index 00000000..a4253305
--- /dev/null
+++ b/Images/Icons/IconCameraUnchecked.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dd700uhgg8oly"
+path="res://.godot/imported/IconCameraUnchecked.png-37aa470dd8dfc2340ab5b83a51e9bcda.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Images/Icons/IconCameraUnchecked.png"
+dest_files=["res://.godot/imported/IconCameraUnchecked.png-37aa470dd8dfc2340ab5b83a51e9bcda.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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=1
diff --git a/Images/Icons/IconEraserChecked.png b/Images/Icons/IconEraserChecked.png
new file mode 100644
index 00000000..af9ba040
Binary files /dev/null and b/Images/Icons/IconEraserChecked.png differ
diff --git a/Images/Icons/IconEraserChecked.png.import b/Images/Icons/IconEraserChecked.png.import
new file mode 100644
index 00000000..7eeeffee
--- /dev/null
+++ b/Images/Icons/IconEraserChecked.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://7pbgyyv6lna1"
+path="res://.godot/imported/IconEraserChecked.png-ebf0d5f79f06bb0e1dc4c215cb24639c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Images/Icons/IconEraserChecked.png"
+dest_files=["res://.godot/imported/IconEraserChecked.png-ebf0d5f79f06bb0e1dc4c215cb24639c.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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=1
diff --git a/Images/Icons/IconEraserUnchecked.png b/Images/Icons/IconEraserUnchecked.png
new file mode 100644
index 00000000..a4ecd02d
Binary files /dev/null and b/Images/Icons/IconEraserUnchecked.png differ
diff --git a/Images/Icons/IconEraserUnchecked.png.import b/Images/Icons/IconEraserUnchecked.png.import
new file mode 100644
index 00000000..dacb719b
--- /dev/null
+++ b/Images/Icons/IconEraserUnchecked.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://hik7bkdfc51t"
+path="res://.godot/imported/IconEraserUnchecked.png-9663af8211b301c6fcb28205f1327f90.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Images/Icons/IconEraserUnchecked.png"
+dest_files=["res://.godot/imported/IconEraserUnchecked.png-9663af8211b301c6fcb28205f1327f90.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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=1
diff --git a/Images/Icons/IconRectangleChecked.png b/Images/Icons/IconRectangleChecked.png
new file mode 100644
index 00000000..7701b52d
Binary files /dev/null and b/Images/Icons/IconRectangleChecked.png differ
diff --git a/Images/Icons/IconRectangleChecked.png.import b/Images/Icons/IconRectangleChecked.png.import
new file mode 100644
index 00000000..5754f033
--- /dev/null
+++ b/Images/Icons/IconRectangleChecked.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://5fsf8rh6w0pb"
+path="res://.godot/imported/IconRectangleChecked.png-8f4b7115c4f48ca32612672ad26ba3fd.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Images/Icons/IconRectangleChecked.png"
+dest_files=["res://.godot/imported/IconRectangleChecked.png-8f4b7115c4f48ca32612672ad26ba3fd.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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=1
diff --git a/Images/Icons/IconRectangleUnchecked.png b/Images/Icons/IconRectangleUnchecked.png
new file mode 100644
index 00000000..5826eb86
Binary files /dev/null and b/Images/Icons/IconRectangleUnchecked.png differ
diff --git a/Images/Icons/IconRectangleUnchecked.png.import b/Images/Icons/IconRectangleUnchecked.png.import
new file mode 100644
index 00000000..d269d15f
--- /dev/null
+++ b/Images/Icons/IconRectangleUnchecked.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cxhp6hye2ufp2"
+path="res://.godot/imported/IconRectangleUnchecked.png-ca0b9493135439774e217d9c1d78b281.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Images/Icons/IconRectangleUnchecked.png"
+dest_files=["res://.godot/imported/IconRectangleUnchecked.png-ca0b9493135439774e217d9c1d78b281.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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=1
diff --git a/Images/Icons/IconRotateLeft.png b/Images/Icons/IconRotateLeft.png
new file mode 100644
index 00000000..bc66908e
Binary files /dev/null and b/Images/Icons/IconRotateLeft.png differ
diff --git a/Mods/Core/Tiles/Grassrampeast.png.import b/Images/Icons/IconRotateLeft.png.import
similarity index 67%
rename from Mods/Core/Tiles/Grassrampeast.png.import
rename to Images/Icons/IconRotateLeft.png.import
index bd37723e..f99410cd 100644
--- a/Mods/Core/Tiles/Grassrampeast.png.import
+++ b/Images/Icons/IconRotateLeft.png.import
@@ -2,16 +2,16 @@
importer="texture"
type="CompressedTexture2D"
-uid="uid://bwjpj6wtbq3e6"
-path="res://.godot/imported/Grassrampeast.png-0c2899a224cdfe14f464f8eb3a673d45.ctex"
+uid="uid://dbn2hdr3osli1"
+path="res://.godot/imported/IconRotateLeft.png-dd4dfff7c52d0292765c62faa8dee120.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://Mods/Core/Tiles/Grassrampeast.png"
-dest_files=["res://.godot/imported/Grassrampeast.png-0c2899a224cdfe14f464f8eb3a673d45.ctex"]
+source_file="res://Images/Icons/IconRotateLeft.png"
+dest_files=["res://.godot/imported/IconRotateLeft.png-dd4dfff7c52d0292765c62faa8dee120.ctex"]
[params]
diff --git a/Images/Icons/IconRotateLeftDark.png b/Images/Icons/IconRotateLeftDark.png
new file mode 100644
index 00000000..c2d0cee3
Binary files /dev/null and b/Images/Icons/IconRotateLeftDark.png differ
diff --git a/Images/Icons/IconRotateLeftDark.png.import b/Images/Icons/IconRotateLeftDark.png.import
new file mode 100644
index 00000000..d307a17e
--- /dev/null
+++ b/Images/Icons/IconRotateLeftDark.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dxhulwq5dpo2l"
+path="res://.godot/imported/IconRotateLeftDark.png-74d7c0d8c1ff1231559690faa9eb2c7b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Images/Icons/IconRotateLeftDark.png"
+dest_files=["res://.godot/imported/IconRotateLeftDark.png-74d7c0d8c1ff1231559690faa9eb2c7b.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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=1
diff --git a/Images/Icons/IconRotateRight.png b/Images/Icons/IconRotateRight.png
new file mode 100644
index 00000000..c336d555
Binary files /dev/null and b/Images/Icons/IconRotateRight.png differ
diff --git a/Images/Icons/IconRotateRight.png.import b/Images/Icons/IconRotateRight.png.import
new file mode 100644
index 00000000..82fd3b4d
--- /dev/null
+++ b/Images/Icons/IconRotateRight.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dixj0spya5p0y"
+path="res://.godot/imported/IconRotateRight.png-dc8e2845f1ed0b218ed9451c1795c11a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Images/Icons/IconRotateRight.png"
+dest_files=["res://.godot/imported/IconRotateRight.png-dc8e2845f1ed0b218ed9451c1795c11a.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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=1
diff --git a/Images/Icons/IconRotateRightDark.png b/Images/Icons/IconRotateRightDark.png
new file mode 100644
index 00000000..7bdbf52b
Binary files /dev/null and b/Images/Icons/IconRotateRightDark.png differ
diff --git a/Images/Icons/IconRotateRightDark.png.import b/Images/Icons/IconRotateRightDark.png.import
new file mode 100644
index 00000000..f4b9c0f9
--- /dev/null
+++ b/Images/Icons/IconRotateRightDark.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b6m2bbbpmsyik"
+path="res://.godot/imported/IconRotateRightDark.png-09c560aa093dad870786dd7345d14eba.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Images/Icons/IconRotateRightDark.png"
+dest_files=["res://.godot/imported/IconRotateRightDark.png-09c560aa093dad870786dd7345d14eba.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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=1
diff --git a/ItemProtosets.tres b/ItemProtosets.tres
index 079ccf6f..7cf63aa9 100644
--- a/ItemProtosets.tres
+++ b/ItemProtosets.tres
@@ -1,69 +1,122 @@
-[gd_resource type="Resource" script_class="ItemProtoset" load_steps=2 format=3 uid="uid://bvrl0obu5ejqq"]
+[gd_resource type="Resource" script_class="ItemProtoset" load_steps=2 format=3 uid="uid://b1tngttyk4w2s"]
[ext_resource type="Script" path="res://addons/gloot/core/item_protoset.gd" id="1_o35lu"]
[resource]
script = ExtResource("1_o35lu")
json_data = "[
- {
- \"name\": \"Steel scrap\",
- \"assigned_id\": 0,
- \"id\": \"steel_scrap\",
- \"height\": 2,
- \"width\": 2,
- \"weight\": 0.25,
- \"stack_size\": 2,
- \"description\": \"Test steel scrap test\",
- \"image\": \"res://Textures/steel_scrap.png\",
- \"flags\": []
- },
- {
- \"name\": \"Plank\",
- \"assigned_id\": 0,
- \"id\": \"plank\",
- \"height\": 2,
- \"width\": 4,
- \"weight\": 2,
- \"stack_size\": 3,
- \"max_stack_size\": 3,
- \"description\": \"Test plank test\",
- \"image\": \"res://Textures/plank.png\",
- \"flags\": []
- },
- {
- \"name\": \"Bullet: 9mm\",
- \"assigned_id\": 0,
- \"id\": \"9mm\",
- \"height\": 1,
- \"width\": 1,
- \"weight\": 0.01,
- \"stack_size\": 100,
- \"description\": \"Test 9mm test\",
- \"image\": \"res://Textures/9mm.png\",
- \"flags\": [\"ammunition\"]
- },
- {
- \"name\": \"Bandages\",
- \"assigned_id\": 0,
- \"id\": \"bandages\",
- \"height\": 1,
- \"width\": 1,
- \"weight\": 0.05,
- \"stack_size\": 1,
- \"max_stack_size\": 20,
- \"description\": \"Basic bandages for stopping bleeding.\",
- \"flags\": [\"healing\"]
- },
- {
- \"name\": \"Pistol magazine\",
- \"assigned_id\": 0,
- \"id\": \"pistol_magazine\",
- \"height\": 1,
- \"width\": 1,
- \"weight\": 0.25,
- \"description\": \"Test pistol magazine test\",
- \"image\": \"res://Textures/pistol_magazine.png\",
- \"current_ammo\": 0,
- \"flags\": [\"magazine\"]
- }
+ {
+ \"description\": \"A wooden plank that could be used for all kinds of crafting and construction\",
+ \"height\": \"2\",
+ \"iamge\": \"res://Textures/plank.png\",
+ \"id\": \"plank_2x4\",
+ \"image\": \"./Mods/Core/Items/plank.png\",
+ \"max_stack_size\": \"3\",
+ \"name\": \"Plank 2x4\",
+ \"sprite\": \"plank.png\",
+ \"stack_size\": \"1\",
+ \"two_handed\": false,
+ \"volume\": \"300\",
+ \"weight\": \"2\",
+ \"width\": \"4\"
+ },
+ {
+ \"description\": \"Some metal bits and pieces. Useful for something, right?\",
+ \"height\": \"2\",
+ \"id\": \"steel_scrap\",
+ \"image\": \"./Mods/Core/Items/steel_scrap.png\",
+ \"max_stack_size\": \"100\",
+ \"name\": \"Steel scrap\",
+ \"sprite\": \"steel_scrap.png\",
+ \"stack_size\": \"2\",
+ \"two_handed\": false,
+ \"volume\": \"15\",
+ \"weight\": \"0.25\",
+ \"width\": \"2\"
+ },
+ {
+ \"Ammo\": {
+ \"damage\": \"25\"
+ },
+ \"description\": \"Standard type of ammunition. Very common.\",
+ \"height\": \"1\",
+ \"id\": \"bullet_9mm\",
+ \"image\": \"./Mods/Core/Items/9mm.png\",
+ \"max_stack_size\": \"100\",
+ \"name\": \"bullet 9mm\",
+ \"sprite\": \"9mm.png\",
+ \"stack_size\": \"20\",
+ \"two_handed\": false,
+ \"volume\": \"0.1\",
+ \"weight\": \"0.01\",
+ \"width\": \"1\"
+ },
+ {
+ \"Magazine\": {
+ \"max_ammo\": \"20\",
+ \"used_ammo\": \"9mm\"
+ },
+ \"description\": \"In order for your pistol to fire a bullet, it needs to have a magazine loaded with bullets\",
+ \"height\": \"1\",
+ \"id\": \"pistol_magazine\",
+ \"image\": \"./Mods/Core/Items/pistol_magazine.png\",
+ \"max_stack_size\": \"1\",
+ \"name\": \"Pistol magazine\",
+ \"sprite\": \"pistol_magazine.png\",
+ \"stack_size\": \"1\",
+ \"two_handed\": false,
+ \"volume\": \"10\",
+ \"weight\": \"0.25\",
+ \"width\": \"1\"
+ },
+ {
+ \"Ranged\": {
+ \"firing_speed\": \"0.25\",
+ \"range\": \"1000\",
+ \"recoil\": \"20\",
+ \"reload_speed\": \"2.5\",
+ \"spread\": \"5\",
+ \"sway\": \"5\",
+ \"used_ammo\": \"9mm\",
+ \"used_magazine\": \"pistol_magazine\",
+ \"used_skill\": \"short_guns\"
+ },
+ \"description\": \"A standard issue pistol that uses 9mm ammunition\",
+ \"height\": \"2\",
+ \"id\": \"pistol_9mm\",
+ \"image\": \"./Mods/Core/Items/pistol_32.png\",
+ \"max_stack_size\": \"1\",
+ \"name\": \"Pistol 9mm\",
+ \"sprite\": \"pistol_32.png\",
+ \"stack_size\": \"1\",
+ \"two_handed\": false,
+ \"volume\": \"150\",
+ \"weight\": \"2\",
+ \"width\": \"2\"
+ },
+ {
+ \"Ranged\": {
+ \"firing_speed\": \"0.1\",
+ \"range\": \"1000\",
+ \"recoil\": \"15\",
+ \"reload_speed\": \"2.5\",
+ \"spread\": \"8\",
+ \"sway\": \"5\",
+ \"used_ammo\": \"9mm\",
+ \"used_magazine\": \"pistol_magazine\",
+ \"used_skill\": \"short_guns\"
+ },
+ \"description\": \"A standard issue rifle that uses 9mm ammunition\",
+ \"height\": \"2\",
+ \"id\": \"rifle_m4a1\",
+ \"image\": \"./Mods/Core/Items/rifle_64_32.png\",
+ \"max_stack_size\": \"1\",
+ \"name\": \"M4a1 rifle\",
+ \"sprite\": \"rifle_64_32.png\",
+ \"stack_size\": \"1\",
+ \"two_handed\": true,
+ \"volume\": \"300\",
+ \"weight\": \"4\",
+ \"width\": \"4\"
+ }
]"
diff --git a/LevelGenerator.gd b/LevelGenerator.gd
index 77b9006e..f5206a75 100644
--- a/LevelGenerator.gd
+++ b/LevelGenerator.gd
@@ -1,132 +1,353 @@
extends Node3D
-var level_name
-
-
var level_json_as_text
-
var level_levels : Array
+var map_save_folder: String
var level_width : int = 32
var level_height : int = 32
-@onready var defaultBlock: PackedScene = preload("res://Blocks/grass_001.tscn")
+@onready var defaultBlock: PackedScene = preload("res://Defaults/Blocks/default_block.tscn")
+@onready var defaultSlope: PackedScene = preload("res://Defaults/Blocks/default_slope.tscn")
+@export var defaultMob: PackedScene
+@export var defaultItem: PackedScene
+@export var defaultFurniturePhysics: PackedScene
+@export var defaultFurnitureStatic: PackedScene
@export var level_manager : Node3D
-@export var block_scenes : Array[PackedScene]
@export_file var default_level_json
-var tile_materials = {} # Create an empty dictionary to store materials
# Called when the node enters the scene tree for the first time.
func _ready():
- level_name = Helper.current_level_name
- load_tiles_material()
- generate_level()
+ generate_map()
$"../NavigationRegion3D".bake_navigation_mesh()
-func generate_level():
-
- var textureName: String = ""
- if level_name == "":
- get_level_json()
+func generate_map():
+ map_save_folder = Helper.save_helper.get_saved_map_folder(Helper.current_level_pos)
+ generate_tactical_map()
+ # These tree functions apply only to maps thet were previously saved in a save game
+ generate_mobs()
+ generate_items()
+ generate_furniture()
+
+# We generate a tactical map, which is made up of x by y maps of 32x32 blocks
+# If we can find a saved map on the current coordinate, we load that
+# Otherwise, we load the mapdata from the game data and make a brand new one
+func generate_tactical_map():
+ var tacticalMapJSON: Dictionary = {}
+ var level_name: String = Helper.current_level_name
+ map_save_folder = Helper.save_helper.get_saved_map_folder(Helper.current_level_pos)
+ # Load the default map from json
+ # Unless the map_save_folder is set
+ # In which case we load tha map instead
+ if map_save_folder == "":
+ tacticalMapJSON = Helper.json_helper.load_json_dictionary_file(\
+ Gamedata.data.tacticalmaps.dataPath + level_name)
+ var i: int = 0
+ for z in range(tacticalMapJSON.mapheight):
+ for x in range(tacticalMapJSON.mapwidth):
+ generate_tactical_map_level_segment(x, z,tacticalMapJSON.maps[i])
+ i+=1
else:
- get_custom_level_json("user://levels/" + level_name)
-
-
+ tacticalMapJSON = Helper.json_helper.load_json_dictionary_file(\
+ map_save_folder + "/map.json")
+ generate_saved_level(tacticalMapJSON)
+
+func generate_tactical_map_level_segment(segment_x: int, segment_z: int, mapsegment: Dictionary):
+ var offset_x = segment_x * level_width
+ var offset_z = segment_z * level_height
+ #This contains the data of one segment, loaded from maps.data, for example generichouse.json
+ var mapsegmentData: Dictionary = Helper.json_helper.load_json_dictionary_file(\
+ Gamedata.data.maps.dataPath + mapsegment.id)
+ var tileJSON: Dictionary = {}
+
var level_number = 0
- #we need to generate level layer by layer starting from the bottom
- for level in level_levels:
+ for level in mapsegmentData.levels:
if level != []:
var level_node = Node3D.new()
level_manager.add_child(level_node)
- level_node.global_position.y = level_number-10
-
-
+ level_node.add_to_group("maplevels")
+ level_node.global_position.y = level_number - 10
+ level_node.global_position.x = offset_x
+ level_node.global_position.z = offset_z
+
var current_block = 0
+ for h in range(level_height):
+ for w in range(level_width):
+ if level[current_block]:
+ tileJSON = level[current_block]
+ if tileJSON.has("id") and tileJSON.id != "":
+ var block = create_block_with_id(tileJSON.id)
+ level_node.add_child(block)
+ block.position.x = w
+ block.position.z = h
+ apply_block_rotation(tileJSON, block)
+ add_block_mob(tileJSON, block)
+ add_furniture_to_block(tileJSON, block)
+ current_block += 1
+ if !len(level_node.get_children()) > 0:
+ level_node.remove_from_group("maplevels")
+ level_node.queue_free()
+ level_number += 1
+
+# Called when the map is generated
+# Only applicable if a save is loaded
+func generate_mobs() -> void:
+ if map_save_folder == "":
+ return
+ var mobsArray = Helper.json_helper.load_json_array_file(map_save_folder + "/mobs.json")
+ for mob: Dictionary in mobsArray:
+ add_mob_to_map.call_deferred(mob)
+
+# Called by generate_mobs function when a save is loaded
+func add_mob_to_map(mob: Dictionary) -> void:
+ var newMob: CharacterBody3D = defaultMob.instantiate()
+ newMob.add_to_group("mobs")
+ get_tree().get_root().add_child(newMob)
+ newMob.global_position.x = mob.global_position_x
+ newMob.global_position.y = mob.global_position_y
+ newMob.global_position.z = mob.global_position_z
+ # Check if rotation data is available and apply it
+ if mob.has("rotation"):
+ newMob.rotation_degrees.y = mob.rotation
+ newMob.apply_stats_from_json(mob)
+
+# Called when the map is generated
+# Only applicable if a save is loaded
+func generate_items() -> void:
+ if map_save_folder == "":
+ return
+ var itemsArray = Helper.json_helper.load_json_array_file(map_save_folder + "/items.json")
+ for item: Dictionary in itemsArray:
+ add_item_to_map.call_deferred(item)
+
+# Called by generate_items function when a save is loaded
+func add_item_to_map(item: Dictionary):
+ var newItem: Node3D = defaultItem.instantiate()
+ newItem.add_to_group("mapitems")
+ get_tree().get_root().add_child(newItem)
+ newItem.global_position.x = item.global_position_x
+ newItem.global_position.y = item.global_position_y
+ newItem.global_position.z = item.global_position_z
+ # Check if rotation data is available and apply it
+ if item.has("rotation"):
+ newItem.rotation_degrees.y = item.rotation
+ newItem.get_node(newItem.inventory).deserialize(item.inventory)
+
+# Called when the map is generated
+# Only applicable if a save is loaded
+func generate_furniture() -> void:
+ if map_save_folder == "":
+ return
+ var furnitureArray = Helper.json_helper.load_json_array_file(map_save_folder + "/furniture.json")
+ for furnitureData: Dictionary in furnitureArray:
+ add_furniture_to_map.call_deferred(furnitureData)
+
+# Called by generate_furniture function when a save is loaded
+func add_furniture_to_map(furnitureData: Dictionary) -> void:
+ var newFurniture: Node3D
+ var isMoveable = furnitureData.has("moveable") and furnitureData.moveable
+ if isMoveable:
+ newFurniture = defaultFurniturePhysics.instantiate()
+ else:
+ newFurniture = defaultFurnitureStatic.instantiate()
+ newFurniture.add_to_group("furniture")
+ newFurniture.set_sprite(Gamedata.get_sprite_by_id(Gamedata.data.furniture, furnitureData.id))
+ get_tree().get_root().add_child(newFurniture)
+ newFurniture.global_position.x = furnitureData.global_position_x
+ newFurniture.global_position.y = furnitureData.global_position_y
+ newFurniture.global_position.z = furnitureData.global_position_z
+ # Check if rotation data is available and apply it
+ if furnitureData.has("rotation"):
+ if isMoveable:
+ newFurniture.rotation_degrees.y = furnitureData.rotation
+ else:
+ newFurniture.set_new_rotation(furnitureData.rotation)
+
+ # Check if sprite rotation data is available and apply it
+ if furnitureData.has("sprite_rotation") and isMoveable:
+ newFurniture.set_new_rotation(furnitureData.sprite_rotation)
+ newFurniture.id = furnitureData.id
+
+# Generate the map layer by layer
+# For each layer, add all the blocks with proper rotation
+# If a block has an mob, add it too
+func generate_saved_level(tacticalMapJSON: Dictionary) -> void:
+ var tileJSON: Dictionary = {}
+ var currentBlocks: Array = []
+ #we need to generate level layer by layer starting from the bottom
+ for level: Dictionary in tacticalMapJSON.maplevels:
+ if level != {}:
+ var level_node = Node3D.new()
+ level_node.add_to_group("maplevels")
+ level_manager.add_child(level_node)
+ level_node.global_position.y = level.map_y
+ level_node.global_position.x = level.map_x
+ level_node.global_position.z = level.map_z
+ currentBlocks = level.blocks
+ var current_block = 0
# we will generate number equal to "layer_height" of horizontal rows of blocks
for h in level_height:
# this loop will generate blocks from West to East based on the tile number
# in json file
-
-
for w in level_width:
-
# checking if we have tile from json in our block array containing packedscenes
# of blocks that we need to instantiate.
# If yes, then instantiate
-
-# if block_scenes[level["data"][current_block]-1]:
- if level[current_block]:
- textureName = level[current_block].texture
- if textureName != "":
-# var block : StaticBody3D
-## block = block_scenes[0].instantiate()
-# block = create_block_with_material(textureName)
-
- var block: StaticBody3D = defaultBlock.instantiate()
- if textureName in tile_materials:
- var material = tile_materials[textureName]
- block.update_texture(material)
- # block = block_scenes[layer["data"][current_block]-1].instantiate()
- level_node.add_child(block)
-
- block.global_position.x = w
- #block.global_position.y = layer_number
- block.global_position.z = h
+ if currentBlocks[current_block]:
+ tileJSON = currentBlocks[current_block]
+ if tileJSON.has("id"):
+ if tileJSON.id != "":
+ var block: StaticBody3D = create_block_with_id(tileJSON.id)
+ level_node.add_child(block)
+ # Because the level node already has a x and y position,
+ # We only set the local position relative to the parent
+ block.position.x = w
+ block.position.z = h
+ apply_block_rotation(tileJSON, block)
+ add_block_mob(tileJSON, block)
+ add_furniture_to_block(tileJSON, block)
current_block += 1
-
- level_number += 1
+
+func add_furniture_to_block(tileJSON: Dictionary, block: StaticBody3D):
+ if tileJSON.has("furniture"):
+ var newFurniture: Node3D
+ var furnitureJSON: Dictionary = Gamedata.get_data_by_id(\
+ Gamedata.data.furniture, tileJSON.furniture.id)
+ var furnitureSprite: Texture = Gamedata.data.furniture.sprites[furnitureJSON.sprite]
+
+ # Calculate the size of the furniture based on the sprite dimensions
+ var spriteWidth = furnitureSprite.get_width() / 100.0 # Convert pixels to meters (assuming 100 pixels per meter)
+ var spriteDepth = furnitureSprite.get_height() / 100.0 # Convert pixels to meters
+
+ var edgeSnappingDirection = furnitureJSON.get("edgesnapping", "None")
+ var rotation = tileJSON.furniture.get("rotation", 0)
+
+ if furnitureJSON.has("moveable") and furnitureJSON.moveable:
+ newFurniture = defaultFurniturePhysics.instantiate()
+ else:
+ newFurniture = defaultFurnitureStatic.instantiate()
+
+ newFurniture.add_to_group("furniture")
+
+ # Set the sprite and adjust the collision shape
+ newFurniture.set_sprite(furnitureSprite)
+
+ get_tree().get_root().add_child(newFurniture)
+
+ # Position furniture at the center of the block by default
+ var furniturePosition = block.global_position
+ furniturePosition.y += 0.5 # Slightly above the block
+
+ # Apply edge snapping if necessary
+ if edgeSnappingDirection != "None":
+ furniturePosition = apply_edge_snapping(furniturePosition, edgeSnappingDirection, spriteWidth, spriteDepth, rotation, block)
+ newFurniture.global_position = furniturePosition
+
+ if tileJSON.furniture.has("rotation"):
+ newFurniture.set_new_rotation(tileJSON.furniture.rotation)
+ else:
+ newFurniture.set_new_rotation(0)
+
+ newFurniture.id = furnitureJSON.id
+
+func apply_edge_snapping(position, direction, width, depth, rotation, block):
+ # Block size, assuming a block is 1x1 meters
+ var blockSize = Vector3(1.0, 1.0, 1.0)
+
+ # Adjust position based on edgesnapping direction and rotation
+ match direction:
+ "North":
+ position.z -= blockSize.z / 2 - depth / 2
+ "South":
+ position.z += blockSize.z / 2 - depth / 2
+ "East":
+ position.x += blockSize.x / 2 - width / 2
+ "West":
+ position.x -= blockSize.x / 2 - width / 2
+ # Add more cases if needed
+ # Consider rotation if necessary
+ position = rotate_position_around_block_center(position, rotation, block.global_position)
+
+ return position
+func rotate_position_around_block_center(position, rotation, block_center):
+ # Convert rotation to radians for trigonometric functions
+ var radians = deg_to_rad(rotation)
- # YEAH I KNOW THAT SHOULD BE ONE FUNCTION, BUT IT'S 2:30 AM and... I'm TIRED LOL
-func get_level_json():
- var file = default_level_json
- level_json_as_text = FileAccess.get_file_as_string(file)
- var json_as_dict: Dictionary = JSON.parse_string(level_json_as_text)
- level_levels = json_as_dict["levels"]
- level_width = json_as_dict["mapwidth"]
- level_width = json_as_dict["mapheight"]
-
-func get_custom_level_json(level_path):
- var file = level_path
- level_json_as_text = FileAccess.get_file_as_string(file)
- var json_as_dict = JSON.parse_string(level_json_as_text)
- level_levels = json_as_dict["levels"]
-
-
-#This function takes a filename and create a new instance of block_scenes[0] which is a StaticBody3D. It will then take the material from the material dictionary based on the provided filename and apply it to the instance of StaticBody3D. Lastly it will return the StaticBody3D.
-func create_block_with_material(filename: String) -> StaticBody3D:
- var block: StaticBody3D = defaultBlock.instantiate()
- if filename in tile_materials:
- var material = tile_materials[filename]
- block.update_texture(material)
- return block
+ # Calculate the offset from the block center
+ var offset = position - block_center
+
+ # Apply rotation matrix transformation
+ var rotated_offset = Vector3(
+ offset.x * cos(radians) - offset.z * sin(radians),
+ offset.y,
+ offset.x * sin(radians) + offset.z * cos(radians)
+ )
+
+ # Return the new position
+ return block_center + rotated_offset
+
+func apply_block_rotation(tileJSON: Dictionary, block: StaticBody3D):
+ if tileJSON.has("rotation"):
+ if tileJSON.rotation != 0:
+ # We subtract 90 so we know that north is
+ # on the top of the screen
+ # The default block has a y rotation of 90
+ # So it is already pointing north (0 = 90)
+ # 90 = 0 - points east
+ # 180 (we add 90 instead of subtract) = 270 = south
+ # 270 = 180 - points west
+ var myRotation: int = tileJSON.rotation
+ if myRotation == 180:
+ block.rotation_degrees = Vector3(0,myRotation+90,0)
+ else:
+ block.rotation_degrees = Vector3(0,myRotation-90,0)
+func add_block_mob(tileJSON: Dictionary, block: StaticBody3D):
+ if tileJSON.has("mob"):
+ var newMob: CharacterBody3D = defaultMob.instantiate()
+ newMob.add_to_group("mobs")
+ get_tree().get_root().add_child(newMob)
+ newMob.global_position.x = block.global_position.x
+ newMob.global_position.y = block.global_position.y + 0.5
+ newMob.global_position.z = block.global_position.z
+ #if tileJSON.mob.has("rotation"):
+ #newMob.rotation_degrees.y = tileJSON.mob.rotation
+ newMob.apply_stats_from_json(Gamedata.get_data_by_id(\
+ Gamedata.data.mobs, tileJSON.mob.id))
-# This function reads all the files in "res://Mods/Core/Tiles/". It will check if the file is a .png file. If the file is a .png file, it will create a new material with that .png image as the texture. It will put all of the created materials in a dictionary with the name of the file as the key and the material as the value.
-func load_tiles_material():
- var tilesDir = "res://Mods/Core/Tiles/"
- var dir = DirAccess.open(tilesDir)
- if dir:
- dir.list_dir_begin()
- var file_name = dir.get_next()
- while file_name != "":
- var extension = file_name.get_extension()
-
- if !dir.current_is_dir():
- if extension == "png":
- var texture := load("res://Mods/Core/Tiles/" + file_name) # Load the .png file as a texture
- var material := StandardMaterial3D.new()
- material.albedo_texture = texture # Set the texture of the material
- tile_materials[file_name] = material # Add the material to the dictionary
- file_name = dir.get_next()
+# This function takes a tile id and creates a new instance of either a block
+# or a slope which is a StaticBody3D. Look up the sprite property that is specified in
+# the json associated with the id. It will then take the sprite from the
+# sprite dictionary based on the provided spritename and apply it
+# to the instance of StaticBody3D. Lastly it will return the StaticBody3D.
+func create_block_with_id(id: String) -> StaticBody3D:
+ var block: StaticBody3D
+ var tileJSONData = Gamedata.data.tiles
+ var tileJSON = tileJSONData.data[Gamedata.get_array_index_by_id(tileJSONData,id)]
+ if tileJSON.has("shape"):
+ if tileJSON.shape == "slope":
+ block = defaultSlope.instantiate()
+ else:
+ block = defaultBlock.instantiate()
else:
- print_debug("An error occurred when trying to access the path.")
- dir.list_dir_end()
+ block = defaultBlock.instantiate()
+ # Remmeber the id for save and load purposes
+ block.id = id
+
+
+ #tileJSON.sprite is the 'sprite' key in the json that was found for this tile
+ #If the sprite is found in the tile sprites, we assign it.
+ if tileJSON.sprite in Gamedata.data.tiles.sprites:
+ var material = Gamedata.data.tiles.sprites[tileJSON.sprite]
+ block.update_texture(material)
+ return block
+
diff --git a/LevelManager.gd b/LevelManager.gd
index f8a298c4..11e6d7f1 100644
--- a/LevelManager.gd
+++ b/LevelManager.gd
@@ -1,15 +1,26 @@
extends Node3D
-
-# Called when the node enters the scene tree for the first time.
-func _ready():
- pass
-
+ # Initialize with a value that's unlikely to be a valid starting Y-level
+var last_player_y_level: float = -1
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(_delta):
+ var player = get_tree().get_first_node_in_group("Players")
+ if player:
+ var current_player_y = player.global_position.y
+
+ # Check if the player's Y-level has changed
+ if current_player_y != last_player_y_level:
+ update_visibility(current_player_y)
+ last_player_y_level = current_player_y
+
+func update_visibility(player_y: float):
+ # Update level visibility
for level in get_children():
- if level.global_position.y > get_tree().get_first_node_in_group("Players").global_position.y:
- level.visible = false
- else:
- level.visible = true
+ var is_above_player = level.global_position.y > player_y
+ level.visible = not is_above_player
+
+ # Update furniture visibility
+ for furniture in get_tree().get_nodes_in_group("furniture"):
+ var is_above_player = furniture.global_position.y > player_y
+ furniture.visible = not is_above_player
diff --git a/Materials/wall1.tres b/Materials/wall1.tres
index 9242610c..36cb06e3 100644
--- a/Materials/wall1.tres
+++ b/Materials/wall1.tres
@@ -1,6 +1,6 @@
[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://biuyl58gd7g7v"]
-[ext_resource type="Texture2D" uid="uid://c31w0wuk8qabw" path="res://Textures/Tiles/Actual textures/2.png" id="1_r0v77"]
+[ext_resource type="Texture2D" uid="uid://c31w0wuk8qabw" path="res://Defaults/Sprites/2.png" id="1_r0v77"]
[resource]
shading_mode = 0
diff --git a/MeshLibraries/test.tres b/MeshLibraries/test.tres
index 3d555da5..32d409fc 100644
--- a/MeshLibraries/test.tres
+++ b/MeshLibraries/test.tres
@@ -1,6 +1,6 @@
[gd_resource type="MeshLibrary" load_steps=5 format=3 uid="uid://b8il3gb2idxf4"]
-[ext_resource type="Material" uid="uid://buj4ukj1oh4pq" path="res://Materials/floor1.tres" id="1_yx5kh"]
+[ext_resource type="Material" uid="uid://buj4ukj1oh4pq" path="res://Defaults/Blocks/Materials/floor1.tres" id="1_yx5kh"]
[sub_resource type="BoxMesh" id="BoxMesh_ywr7x"]
material = ExtResource("1_yx5kh")
diff --git a/Mods/Core/Furniture/Furniture.json b/Mods/Core/Furniture/Furniture.json
new file mode 100644
index 00000000..c2805987
--- /dev/null
+++ b/Mods/Core/Furniture/Furniture.json
@@ -0,0 +1,68 @@
+[
+ {
+ "categories": [
+ "Urban",
+ "Livingroom"
+ ],
+ "description": "A round wooden table. This weathered relic from a bygone era stands as a testament to a simpler time, a stark contrast to the harsh reality surrounding it.\nThe table's surface bears the scars a history as a dining spot.",
+ "id": "table_round_wood",
+ "moveable": true,
+ "name": "Round wooden table",
+ "sprite": "table_64.png"
+ },
+ {
+ "categories": [
+ "Urban",
+ "Livingroom"
+ ],
+ "description": "A simple wooden chair, its construction is basic yet sturdy, a testament to durability in the face of decay. \nWith a rough-hewn seat and a backrest that bears the marks of time, this chair offers a momentary respite from the unforgiving environment.",
+ "edgesnapping": "None",
+ "id": "chair_wood",
+ "moveable": true,
+ "name": "Wooden chair",
+ "sprite": "chair_32.png"
+ },
+ {
+ "categories": [
+ "Urban",
+ "Kitchen",
+ "Indoor"
+ ],
+ "description": "One of the central pieces of fruniture that make up a kitchen",
+ "edgesnapping": "North",
+ "id": "countertop_wood",
+ "moveable": false,
+ "name": "Wooden countertop",
+ "sprite": "countertop_100_52.png"
+ },
+ {
+ "categories": [
+ "Nature"
+ ],
+ "description": "A common tree",
+ "id": "Tree_00",
+ "moveable": false,
+ "name": "Tree",
+ "sprite": "Tree_100.png"
+ },
+ {
+ "categories": [
+ "Nature"
+ ],
+ "description": "A common pine tree",
+ "id": "PineTree_00",
+ "moveable": false,
+ "name": "Pine tree",
+ "sprite": "PineTree_100.png"
+ },
+ {
+ "categories": [
+ "Nature"
+ ],
+ "description": "A common willow tree",
+ "id": "WillowTree_00",
+ "moveable": false,
+ "name": "Willow tree",
+ "sprite": "WillowTree_100.png"
+ }
+]
\ No newline at end of file
diff --git a/Mods/Core/Furniture/PineTree_100.png b/Mods/Core/Furniture/PineTree_100.png
new file mode 100644
index 00000000..90c0e0d9
Binary files /dev/null and b/Mods/Core/Furniture/PineTree_100.png differ
diff --git a/Mods/Core/Furniture/PineTree_100.png.import b/Mods/Core/Furniture/PineTree_100.png.import
new file mode 100644
index 00000000..cc744e07
--- /dev/null
+++ b/Mods/Core/Furniture/PineTree_100.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bpkfudhpobkjy"
+path="res://.godot/imported/PineTree_100.png-03621d872154e5e5556368b5dc8326f5.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Mods/Core/Furniture/PineTree_100.png"
+dest_files=["res://.godot/imported/PineTree_100.png-03621d872154e5e5556368b5dc8326f5.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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=1
diff --git a/Mods/Core/Furniture/Tree_100.png b/Mods/Core/Furniture/Tree_100.png
new file mode 100644
index 00000000..a8cc96b3
Binary files /dev/null and b/Mods/Core/Furniture/Tree_100.png differ
diff --git a/Mods/Core/Furniture/Tree_100.png.import b/Mods/Core/Furniture/Tree_100.png.import
new file mode 100644
index 00000000..e23b6a4f
--- /dev/null
+++ b/Mods/Core/Furniture/Tree_100.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b1vlen4jitypn"
+path="res://.godot/imported/Tree_100.png-0f2017c5b1fdf0b82b4ff621fba44187.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Mods/Core/Furniture/Tree_100.png"
+dest_files=["res://.godot/imported/Tree_100.png-0f2017c5b1fdf0b82b4ff621fba44187.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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=1
diff --git a/Mods/Core/Furniture/WillowTree_100.png b/Mods/Core/Furniture/WillowTree_100.png
new file mode 100644
index 00000000..d8d8979a
Binary files /dev/null and b/Mods/Core/Furniture/WillowTree_100.png differ
diff --git a/Mods/Core/Tiles/dirtrampsouth.png.import b/Mods/Core/Furniture/WillowTree_100.png.import
similarity index 74%
rename from Mods/Core/Tiles/dirtrampsouth.png.import
rename to Mods/Core/Furniture/WillowTree_100.png.import
index 46f28755..3ae389b7 100644
--- a/Mods/Core/Tiles/dirtrampsouth.png.import
+++ b/Mods/Core/Furniture/WillowTree_100.png.import
@@ -2,16 +2,16 @@
importer="texture"
type="CompressedTexture2D"
-uid="uid://d28d3jov4884w"
-path="res://.godot/imported/dirtrampsouth.png-3025d64cbdf6c77258417fbdc2649f04.ctex"
+uid="uid://cw2o0o2e3188d"
+path="res://.godot/imported/WillowTree_100.png-a4cd46623486f1f85779d199d0573b16.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://Mods/Core/Tiles/dirtrampsouth.png"
-dest_files=["res://.godot/imported/dirtrampsouth.png-3025d64cbdf6c77258417fbdc2649f04.ctex"]
+source_file="res://Mods/Core/Furniture/WillowTree_100.png"
+dest_files=["res://.godot/imported/WillowTree_100.png-a4cd46623486f1f85779d199d0573b16.ctex"]
[params]
diff --git a/Mods/Core/Furniture/chair_32.png b/Mods/Core/Furniture/chair_32.png
new file mode 100644
index 00000000..d21017c5
Binary files /dev/null and b/Mods/Core/Furniture/chair_32.png differ
diff --git a/Mods/Core/Furniture/chair_32.png.import b/Mods/Core/Furniture/chair_32.png.import
new file mode 100644
index 00000000..1acfaf68
--- /dev/null
+++ b/Mods/Core/Furniture/chair_32.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cd6qkw2b1gu6g"
+path="res://.godot/imported/chair_32.png-1dd6d4d4c3d7476cf856d93fd3b41d64.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Mods/Core/Furniture/chair_32.png"
+dest_files=["res://.godot/imported/chair_32.png-1dd6d4d4c3d7476cf856d93fd3b41d64.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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=1
diff --git a/Mods/Core/Furniture/countertop_100_52.png b/Mods/Core/Furniture/countertop_100_52.png
new file mode 100644
index 00000000..1ee1bb49
Binary files /dev/null and b/Mods/Core/Furniture/countertop_100_52.png differ
diff --git a/Mods/Core/Furniture/countertop_100_52.png.import b/Mods/Core/Furniture/countertop_100_52.png.import
new file mode 100644
index 00000000..bea65ef2
--- /dev/null
+++ b/Mods/Core/Furniture/countertop_100_52.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ggjyl5rafav"
+path="res://.godot/imported/countertop_100_52.png-d6074e65a1149d3afc3dca25b2afe393.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Mods/Core/Furniture/countertop_100_52.png"
+dest_files=["res://.godot/imported/countertop_100_52.png-d6074e65a1149d3afc3dca25b2afe393.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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=1
diff --git a/Mods/Core/Furniture/table_64.png b/Mods/Core/Furniture/table_64.png
new file mode 100644
index 00000000..cf9fa076
Binary files /dev/null and b/Mods/Core/Furniture/table_64.png differ
diff --git a/Mods/Core/Furniture/table_64.png.import b/Mods/Core/Furniture/table_64.png.import
new file mode 100644
index 00000000..c3595c22
--- /dev/null
+++ b/Mods/Core/Furniture/table_64.png.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cqfqxgp12asw1"
+path.s3tc="res://.godot/imported/table_64.png-2a25967c15d24af83aad9c2836306f55.s3tc.ctex"
+metadata={
+"imported_formats": ["s3tc_bptc"],
+"vram_texture": true
+}
+
+[deps]
+
+source_file="res://Mods/Core/Furniture/table_64.png"
+dest_files=["res://.godot/imported/table_64.png-2a25967c15d24af83aad9c2836306f55.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/Mods/Core/Items/9mm.png b/Mods/Core/Items/9mm.png
new file mode 100644
index 00000000..912edd04
Binary files /dev/null and b/Mods/Core/Items/9mm.png differ
diff --git a/Mods/Core/Tiles/forestunderbrush3.png.import b/Mods/Core/Items/9mm.png.import
similarity index 73%
rename from Mods/Core/Tiles/forestunderbrush3.png.import
rename to Mods/Core/Items/9mm.png.import
index 5c7f4e0b..03570caf 100644
--- a/Mods/Core/Tiles/forestunderbrush3.png.import
+++ b/Mods/Core/Items/9mm.png.import
@@ -2,16 +2,16 @@
importer="texture"
type="CompressedTexture2D"
-uid="uid://bxvtqdi0u3o6s"
-path="res://.godot/imported/forestunderbrush3.png-2231030839b9f82151cdd73a008ab3b9.ctex"
+uid="uid://dfmrlie57qrbo"
+path="res://.godot/imported/9mm.png-3441f559393926783dc0d2e02461da36.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://Mods/Core/Tiles/forestunderbrush3.png"
-dest_files=["res://.godot/imported/forestunderbrush3.png-2231030839b9f82151cdd73a008ab3b9.ctex"]
+source_file="res://Mods/Core/Items/9mm.png"
+dest_files=["res://.godot/imported/9mm.png-3441f559393926783dc0d2e02461da36.ctex"]
[params]
diff --git a/Mods/Core/Items/Items.json b/Mods/Core/Items/Items.json
new file mode 100644
index 00000000..fa581c83
--- /dev/null
+++ b/Mods/Core/Items/Items.json
@@ -0,0 +1,116 @@
+[
+ {
+ "description": "A wooden plank that could be used for all kinds of crafting and construction",
+ "height": "2",
+ "iamge": "res://Textures/plank.png",
+ "id": "plank_2x4",
+ "image": "./Mods/Core/Items/plank.png",
+ "max_stack_size": "3",
+ "name": "Plank 2x4",
+ "sprite": "plank.png",
+ "stack_size": "1",
+ "two_handed": false,
+ "volume": "300",
+ "weight": "2",
+ "width": "4"
+ },
+ {
+ "description": "Some metal bits and pieces. Useful for something, right?",
+ "height": "2",
+ "id": "steel_scrap",
+ "image": "./Mods/Core/Items/steel_scrap.png",
+ "max_stack_size": "100",
+ "name": "Steel scrap",
+ "sprite": "steel_scrap.png",
+ "stack_size": "2",
+ "two_handed": false,
+ "volume": "15",
+ "weight": "0.25",
+ "width": "2"
+ },
+ {
+ "Ammo": {
+ "damage": "25"
+ },
+ "description": "Standard type of ammunition. Very common.",
+ "height": "1",
+ "id": "bullet_9mm",
+ "image": "./Mods/Core/Items/9mm.png",
+ "max_stack_size": "100",
+ "name": "bullet 9mm",
+ "sprite": "9mm.png",
+ "stack_size": "20",
+ "two_handed": false,
+ "volume": "0.1",
+ "weight": "0.01",
+ "width": "1"
+ },
+ {
+ "Magazine": {
+ "max_ammo": "20",
+ "used_ammo": "9mm"
+ },
+ "description": "In order for your pistol to fire a bullet, it needs to have a magazine loaded with bullets",
+ "height": "1",
+ "id": "pistol_magazine",
+ "image": "./Mods/Core/Items/pistol_magazine.png",
+ "max_stack_size": "1",
+ "name": "Pistol magazine",
+ "sprite": "pistol_magazine.png",
+ "stack_size": "1",
+ "two_handed": false,
+ "volume": "10",
+ "weight": "0.25",
+ "width": "1"
+ },
+ {
+ "Ranged": {
+ "firing_speed": "0.25",
+ "range": "1000",
+ "recoil": "20",
+ "reload_speed": "2.5",
+ "spread": "5",
+ "sway": "5",
+ "used_ammo": "9mm",
+ "used_magazine": "pistol_magazine",
+ "used_skill": "short_guns"
+ },
+ "description": "A standard issue pistol that uses 9mm ammunition",
+ "height": "2",
+ "id": "pistol_9mm",
+ "image": "./Mods/Core/Items/pistol_32.png",
+ "max_stack_size": "1",
+ "name": "Pistol 9mm",
+ "sprite": "pistol_32.png",
+ "stack_size": "1",
+ "two_handed": false,
+ "volume": "150",
+ "weight": "2",
+ "width": "2"
+ },
+ {
+ "Ranged": {
+ "firing_speed": "0.1",
+ "range": "1000",
+ "recoil": "15",
+ "reload_speed": "2.5",
+ "spread": "8",
+ "sway": "5",
+ "used_ammo": "9mm",
+ "used_magazine": "pistol_magazine",
+ "used_skill": "short_guns"
+ },
+ "description": "A standard issue rifle that uses 9mm ammunition",
+ "height": "2",
+ "id": "rifle_m4a1",
+ "image": "./Mods/Core/Items/rifle_64_32.png",
+ "max_stack_size": "1",
+ "name": "M4a1 rifle",
+ "sprite": "rifle_64_32.png",
+ "stack_size": "1",
+ "two_handed": true,
+ "volume": "300",
+ "weight": "4",
+ "width": "4"
+ }
+]
\ No newline at end of file
diff --git a/Mods/Core/Items/pistol_32.png b/Mods/Core/Items/pistol_32.png
new file mode 100644
index 00000000..b42af269
Binary files /dev/null and b/Mods/Core/Items/pistol_32.png differ
diff --git a/Mods/Core/Tiles/5.png.import b/Mods/Core/Items/pistol_32.png.import
similarity index 68%
rename from Mods/Core/Tiles/5.png.import
rename to Mods/Core/Items/pistol_32.png.import
index 251c46fc..7bc8e2d3 100644
--- a/Mods/Core/Tiles/5.png.import
+++ b/Mods/Core/Items/pistol_32.png.import
@@ -2,16 +2,16 @@
importer="texture"
type="CompressedTexture2D"
-uid="uid://dxpgud82egyi2"
-path="res://.godot/imported/5.png-892a542839c17a8b7ddebbb4bcef64fa.ctex"
+uid="uid://jk28o4rmnbkx"
+path="res://.godot/imported/pistol_32.png-21ecb4834f397de0a205dcb99066d31f.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://Mods/Core/Tiles/5.png"
-dest_files=["res://.godot/imported/5.png-892a542839c17a8b7ddebbb4bcef64fa.ctex"]
+source_file="res://Mods/Core/Items/pistol_32.png"
+dest_files=["res://.godot/imported/pistol_32.png-21ecb4834f397de0a205dcb99066d31f.ctex"]
[params]
diff --git a/Mods/Core/Items/pistol_magazine.png b/Mods/Core/Items/pistol_magazine.png
new file mode 100644
index 00000000..a792d563
Binary files /dev/null and b/Mods/Core/Items/pistol_magazine.png differ
diff --git a/Mods/Core/Items/pistol_magazine.png.import b/Mods/Core/Items/pistol_magazine.png.import
new file mode 100644
index 00000000..de83fb97
--- /dev/null
+++ b/Mods/Core/Items/pistol_magazine.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://depwabn88fw7e"
+path="res://.godot/imported/pistol_magazine.png-783d83ffc3f9f3bb2653966ee1377c98.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Mods/Core/Items/pistol_magazine.png"
+dest_files=["res://.godot/imported/pistol_magazine.png-783d83ffc3f9f3bb2653966ee1377c98.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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=1
diff --git a/Mods/Core/Items/plank.png b/Mods/Core/Items/plank.png
new file mode 100644
index 00000000..a3327092
Binary files /dev/null and b/Mods/Core/Items/plank.png differ
diff --git a/Textures/Tiles/doors.png.import b/Mods/Core/Items/plank.png.import
similarity index 69%
rename from Textures/Tiles/doors.png.import
rename to Mods/Core/Items/plank.png.import
index a4109556..871440ce 100644
--- a/Textures/Tiles/doors.png.import
+++ b/Mods/Core/Items/plank.png.import
@@ -2,16 +2,16 @@
importer="texture"
type="CompressedTexture2D"
-uid="uid://44igy8ss6sn7"
-path="res://.godot/imported/doors.png-49ee19644b1f0fb50e05be043ce78e86.ctex"
+uid="uid://cxe54kn0lplr3"
+path="res://.godot/imported/plank.png-ece954c005eb0bfd75f7b4f798b69e7d.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://Textures/Tiles/doors.png"
-dest_files=["res://.godot/imported/doors.png-49ee19644b1f0fb50e05be043ce78e86.ctex"]
+source_file="res://Mods/Core/Items/plank.png"
+dest_files=["res://.godot/imported/plank.png-ece954c005eb0bfd75f7b4f798b69e7d.ctex"]
[params]
diff --git a/Mods/Core/Items/rifle_64_32.png b/Mods/Core/Items/rifle_64_32.png
new file mode 100644
index 00000000..d052f826
Binary files /dev/null and b/Mods/Core/Items/rifle_64_32.png differ
diff --git a/Mods/Core/Items/rifle_64_32.png.import b/Mods/Core/Items/rifle_64_32.png.import
new file mode 100644
index 00000000..6de25927
--- /dev/null
+++ b/Mods/Core/Items/rifle_64_32.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://do1odv6x5ofqt"
+path="res://.godot/imported/rifle_64_32.png-966a67e91063ddd5793980d3ae710b83.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Mods/Core/Items/rifle_64_32.png"
+dest_files=["res://.godot/imported/rifle_64_32.png-966a67e91063ddd5793980d3ae710b83.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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=1
diff --git a/Mods/Core/Items/steel_scrap.png b/Mods/Core/Items/steel_scrap.png
new file mode 100644
index 00000000..4fde92c0
Binary files /dev/null and b/Mods/Core/Items/steel_scrap.png differ
diff --git a/Mods/Core/Items/steel_scrap.png.import b/Mods/Core/Items/steel_scrap.png.import
new file mode 100644
index 00000000..9e07436c
--- /dev/null
+++ b/Mods/Core/Items/steel_scrap.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c5tbuxmrli7e4"
+path="res://.godot/imported/steel_scrap.png-945eecc671a66949a44a03816c3ce558.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Mods/Core/Items/steel_scrap.png"
+dest_files=["res://.godot/imported/steel_scrap.png-945eecc671a66949a44a03816c3ce558.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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=1
diff --git a/Mods/Core/Maps/Generichouse.json b/Mods/Core/Maps/Generichouse.json
index 8ac8356c..0b5123c4 100644
--- a/Mods/Core/Maps/Generichouse.json
+++ b/Mods/Core/Maps/Generichouse.json
@@ -1 +1,42085 @@
-{ "mapwidth": 32, "mapheight": 32, "levels": [[], [], [], [], [], [], [], [], [], [], [{ "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "dirt3.png", "rotation": 0 }, { "texture": "dirt3.png", "rotation": 0 }, { "texture": "dirt3.png", "rotation": 0 }, { "texture": "dirt3.png", "rotation": 0 }, { "texture": "dirt3.png", "rotation": 0 }, { "texture": "dirt3.png", "rotation": 0 }, { "texture": "dirt3.png", "rotation": 0 }, { "texture": "dirt3.png", "rotation": 0 }, { "texture": "dirt3.png", "rotation": 0 }, { "texture": "dirt3.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "dirt3.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "dirt3.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "dirt3.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "dirt3.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "dirt3.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "dirt3.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "dirt3.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "dirt3.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "dirt3.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "dirt3.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "dirt3.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "dirt3.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "dirt3.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "woodboards6.png", "rotation": 0 }, { "texture": "dirt3.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "dirt3.png", "rotation": 0 }, { "texture": "dirt3.png", "rotation": 0 }, { "texture": "dirt3.png", "rotation": 0 }, { "texture": "dirt3.png", "rotation": 0 }, { "texture": "dirt3.png", "rotation": 0 }, { "texture": "dirt3.png", "rotation": 0 }, { "texture": "dirt3.png", "rotation": 0 }, { "texture": "dirt3.png", "rotation": 0 }, { "texture": "dirt3.png", "rotation": 0 }, { "texture": "dirt3.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }, { "texture": "basegrass1.png", "rotation": 0 }], [{ "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "beehive1.png", "rotation": 0 }, { "texture": "beehive1.png", "rotation": 0 }, { "texture": "beehive1.png", "rotation": 0 }, { "texture": "beehive1.png", "rotation": 0 }, { "texture": "beehive1.png", "rotation": 0 }, { "texture": "beehive1.png", "rotation": 0 }, { "texture": "beehive1.png", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "beehive1.png", "rotation": 0 }, { "texture": "beehive1.png", "rotation": 0 }, { "texture": "beehive1.png", "rotation": 0 }, { "texture": "beehive1.png", "rotation": 0 }, { "texture": "beehive1.png", "rotation": 0 }, { "texture": "beehive1.png", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "arcstones1.png", "rotation": 0 }, { "texture": "brickroad.png", "rotation": 0 }, { "texture": "brickroad.png", "rotation": 0 }, { "texture": "brickroad.png", "rotation": 0 }, { "texture": "brickroad.png", "rotation": 0 }, { "texture": "brickroad.png", "rotation": 0 }, { "texture": "brickroad.png", "rotation": 0 }, { "texture": "brickroad.png", "rotation": 0 }, { "texture": "brickroad.png", "rotation": 0 }, { "texture": "brickroad.png", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "brickroad.png", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "brickroad.png", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "brickroad.png", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "brickroad.png", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "brickroad.png", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "brickroad.png", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "brickroad.png", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "brickroad.png", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "brickroad.png", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "brickroad.png", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "brickroad.png", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "brickroad.png", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "brickroad.png", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "brickroad.png", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "brickroad.png", "rotation": 0 }, { "texture": "brickroad.png", "rotation": 0 }, { "texture": "brickroad.png", "rotation": 0 }, { "texture": "brickroad.png", "rotation": 0 }, { "texture": "brickroad.png", "rotation": 0 }, { "texture": "brickroad.png", "rotation": 0 }, { "texture": "brickroad.png", "rotation": 0 }, { "texture": "brickroad.png", "rotation": 0 }, { "texture": "brickroad.png", "rotation": 0 }, { "texture": "brickroad.png", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }], [{ "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }, { "texture": "", "rotation": 0 }], [], [], [], [], [], [], [], []] }
\ No newline at end of file
+{
+ "levels": [
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ }
+ ],
+ [
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ }
+ ],
+ [
+ {
+ "furniture": {
+ "id": "chair_wood",
+ "rotation": 180
+ },
+ "id": "grass_plain_01",
+ "rotation": 90
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "furniture": {
+ "id": "table_round_wood"
+ },
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "furniture": {
+ "id": "countertop_wood"
+ },
+ "id": "orange_carpet_00"
+ },
+ {
+ "furniture": {
+ "id": "countertop_wood"
+ },
+ "id": "orange_carpet_00"
+ },
+ {
+ "furniture": {
+ "id": "countertop_wood"
+ },
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "furniture": {
+ "id": "countertop_wood",
+ "rotation": 90
+ },
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "furniture": {
+ "id": "chair_wood",
+ "rotation": 180
+ },
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "furniture": {
+ "id": "countertop_wood",
+ "rotation": 90
+ },
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "furniture": {
+ "id": "chair_wood",
+ "rotation": 90
+ },
+ "id": "orange_carpet_00"
+ },
+ {
+ "furniture": {
+ "id": "table_round_wood",
+ "rotation": 90
+ },
+ "id": "orange_carpet_00"
+ },
+ {
+ "furniture": {
+ "id": "chair_wood",
+ "rotation": 270
+ },
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "furniture": {
+ "id": "countertop_wood",
+ "rotation": 90
+ },
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01",
+ "mob": {
+ "id": "scrapwalker"
+ }
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "furniture": {
+ "id": "chair_wood"
+ },
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01",
+ "mob": {
+ "id": "scrapwalker",
+ "rotation": 270
+ }
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01",
+ "mob": {
+ "id": "scrapwalker",
+ "rotation": 90
+ }
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01",
+ "mob": {
+ "id": "scrapwalker",
+ "rotation": 180
+ }
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "orange_carpet_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "beehive_stones_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ }
+ ],
+ [
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 90
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "wood_stairs",
+ "rotation": 90
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 90
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "wood_stairs",
+ "rotation": 90
+ },
+ {
+ "id": "red_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ }
+ ],
+ [
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 90
+ },
+ {
+ "id": "wood_stairs",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "wood_stairs",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "blue_carpet_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ }
+ ],
+ [
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 90
+ },
+ {
+ "id": "wood_stairs",
+ "rotation": 270
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 90
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 90
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ }
+ ],
+ [
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "wood_stairs",
+ "rotation": 180
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 90
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 180
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 180
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ }
+ ],
+ [
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 90
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 90
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "wood_stairs",
+ "rotation": 90
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 90
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ }
+ ],
+ [
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "brick_wall_00",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "beehive_stones_00",
+ "rotation": 90
+ },
+ {
+ "id": "wood_stairs",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ }
+ ],
+ [
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ }
+ ],
+ [
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ },
+ {
+ "id": "",
+ "rotation": 0
+ }
+ ],
+ [],
+ []
+ ],
+ "mapheight": 32,
+ "mapwidth": 32
+}
\ No newline at end of file
diff --git a/Mods/Core/Maps/Generichouse.png b/Mods/Core/Maps/Generichouse.png
new file mode 100644
index 00000000..ee85ef2b
Binary files /dev/null and b/Mods/Core/Maps/Generichouse.png differ
diff --git a/Mods/Core/Tiles/dirtrampwest.png.import b/Mods/Core/Maps/Generichouse.png.import
similarity index 67%
rename from Mods/Core/Tiles/dirtrampwest.png.import
rename to Mods/Core/Maps/Generichouse.png.import
index b22f204c..a219a4bc 100644
--- a/Mods/Core/Tiles/dirtrampwest.png.import
+++ b/Mods/Core/Maps/Generichouse.png.import
@@ -2,16 +2,16 @@
importer="texture"
type="CompressedTexture2D"
-uid="uid://bp2j1pa122rq"
-path="res://.godot/imported/dirtrampwest.png-4718b11de8ea93b6c0fe5546c955acab.ctex"
+uid="uid://bq1oiga41ewua"
+path="res://.godot/imported/Generichouse.png-86ae7b36df394286470e1b8919df1575.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://Mods/Core/Tiles/dirtrampwest.png"
-dest_files=["res://.godot/imported/dirtrampwest.png-4718b11de8ea93b6c0fe5546c955acab.ctex"]
+source_file="res://Mods/Core/Maps/Generichouse.png"
+dest_files=["res://.godot/imported/Generichouse.png-86ae7b36df394286470e1b8919df1575.ctex"]
[params]
diff --git a/Mods/Core/Maps/RockyHill_NE.json b/Mods/Core/Maps/RockyHill_NE.json
new file mode 100644
index 00000000..ffc7edbf
--- /dev/null
+++ b/Mods/Core/Maps/RockyHill_NE.json
@@ -0,0 +1,27739 @@
+{
+ "levels": [
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "furniture": {
+ "id": "WillowTree_00"
+ },
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "furniture": {
+ "id": "Tree_00"
+ },
+ "id": "grass_flowers_01"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "furniture": {
+ "id": "Tree_00"
+ },
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_03"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "furniture": {
+ "id": "Tree_00"
+ },
+ "id": "grass_medium_dirt_01"
+ },
+ {
+ "id": "grass_flowers_03"
+ },
+ {
+ "id": "grass_flowers_03"
+ },
+ {
+ "id": "grass_flowers_03"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_flowers_03"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_flowers_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_center_00"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "furniture": {
+ "id": "WillowTree_00"
+ },
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_flowers_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "furniture": {
+ "id": "Tree_00"
+ },
+ "id": "grass_medium_dirt_01"
+ },
+ {
+ "id": "grass_flowers_03"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "furniture": {
+ "id": "WillowTree_00"
+ },
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "furniture": {
+ "id": "Tree_00"
+ },
+ "id": "grass_flowers_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "furniture": {
+ "id": "WillowTree_00"
+ },
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "furniture": {
+ "id": "Tree_00"
+ },
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ }
+ ],
+ [
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 180
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 180
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 270
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ }
+ ],
+ [
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 180
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 270
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 270
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ }
+ ],
+ [
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 180
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 180
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 270
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ }
+ ],
+ [
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 180
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 180
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 270
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ }
+ ],
+ [
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 180
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 180
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 270
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ }
+ ],
+ [
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 180
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 180
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 270
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ }
+ ],
+ [
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 180
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 270
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ }
+ ],
+ [
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 180
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 270
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "furniture": {
+ "id": "chair_wood"
+ },
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ }
+ ],
+ [],
+ []
+ ],
+ "mapheight": 32,
+ "mapwidth": 32
+}
\ No newline at end of file
diff --git a/Mods/Core/Maps/RockyHill_NE.png b/Mods/Core/Maps/RockyHill_NE.png
new file mode 100644
index 00000000..bfe7790c
Binary files /dev/null and b/Mods/Core/Maps/RockyHill_NE.png differ
diff --git a/Mods/Core/Maps/RockyHill_NE.png.import b/Mods/Core/Maps/RockyHill_NE.png.import
new file mode 100644
index 00000000..329a537b
--- /dev/null
+++ b/Mods/Core/Maps/RockyHill_NE.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bbykj16k6h3t6"
+path="res://.godot/imported/RockyHill_NE.png-560ac3e59648c230e460173fb1667a28.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Mods/Core/Maps/RockyHill_NE.png"
+dest_files=["res://.godot/imported/RockyHill_NE.png-560ac3e59648c230e460173fb1667a28.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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=1
diff --git a/Mods/Core/Maps/RockyHill_NW.json b/Mods/Core/Maps/RockyHill_NW.json
new file mode 100644
index 00000000..34848b46
--- /dev/null
+++ b/Mods/Core/Maps/RockyHill_NW.json
@@ -0,0 +1,27739 @@
+{
+ "levels": [
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain"
+ },
+ {
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "furniture": {
+ "id": "Tree_00"
+ },
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_plain"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "furniture": {
+ "id": "Tree_00"
+ },
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain"
+ },
+ {
+ "id": "grass_plain"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "furniture": {
+ "id": "WillowTree_00"
+ },
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "furniture": {
+ "id": "PineTree_00"
+ },
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_flowers_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "furniture": {
+ "id": "WillowTree_00"
+ },
+ "id": "grass_plain"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "furniture": {
+ "id": "Tree_00"
+ },
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_02"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_02"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "furniture": {
+ "id": "WillowTree_00"
+ },
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "furniture": {
+ "id": "PineTree_00"
+ },
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ }
+ ],
+ [
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 180
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 180
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 180
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ }
+ ],
+ [
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 180
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 180
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 180
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ }
+ ],
+ [
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 180
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 180
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ }
+ ],
+ [
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 180
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ }
+ ],
+ [
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 180
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 180
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ }
+ ],
+ [
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 180
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 180
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ }
+ ],
+ [
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 180
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ }
+ ],
+ [
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 180
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ }
+ ],
+ [],
+ []
+ ],
+ "mapheight": 32,
+ "mapwidth": 32
+}
\ No newline at end of file
diff --git a/Mods/Core/Maps/RockyHill_NW.png b/Mods/Core/Maps/RockyHill_NW.png
new file mode 100644
index 00000000..0486c2d7
Binary files /dev/null and b/Mods/Core/Maps/RockyHill_NW.png differ
diff --git a/Mods/Core/Maps/RockyHill_NW.png.import b/Mods/Core/Maps/RockyHill_NW.png.import
new file mode 100644
index 00000000..f3f3c4ec
--- /dev/null
+++ b/Mods/Core/Maps/RockyHill_NW.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bq548i1i2tgae"
+path="res://.godot/imported/RockyHill_NW.png-8e45fb52ef18faf30191f731c1508d76.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Mods/Core/Maps/RockyHill_NW.png"
+dest_files=["res://.godot/imported/RockyHill_NW.png-8e45fb52ef18faf30191f731c1508d76.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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=1
diff --git a/Mods/Core/Maps/RockyHill_SE.json b/Mods/Core/Maps/RockyHill_SE.json
new file mode 100644
index 00000000..85d3092d
--- /dev/null
+++ b/Mods/Core/Maps/RockyHill_SE.json
@@ -0,0 +1,27731 @@
+{
+ "levels": [
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "furniture": {
+ "id": "PineTree_00"
+ },
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "furniture": {
+ "id": "WillowTree_00"
+ },
+ "id": "grass_flowers_01"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "furniture": {
+ "id": "Tree_00"
+ },
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "furniture": {
+ "id": "PineTree_00"
+ },
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "grass_flowers_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "furniture": {
+ "id": "WillowTree_00"
+ },
+ "id": "grass_flowers_01"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_03"
+ },
+ {
+ "id": "grass_flowers_03"
+ },
+ {
+ "furniture": {
+ "id": "Tree_00"
+ },
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_03"
+ },
+ {
+ "id": "grass_flowers_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_03"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_03"
+ },
+ {
+ "id": "grass_flowers_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "furniture": {
+ "id": "Tree_00"
+ },
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "furniture": {
+ "id": "WillowTree_00"
+ },
+ "id": "grass_flowers_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_03"
+ },
+ {
+ "id": "grass_flowers_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_03"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "furniture": {
+ "id": "PineTree_00"
+ },
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ }
+ ],
+ [
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 270
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 270
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 270
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_slope_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_slope_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_slope_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ }
+ ],
+ [
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 270
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 270
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 270
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_slope_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_slope_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_slope_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ }
+ ],
+ [
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 270
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 270
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 270
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_slope_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_slope_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_slope_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ }
+ ],
+ [
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 270
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 270
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 270
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02",
+ "mob": {
+ "id": "scrapwalker"
+ }
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_slope_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_slope_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_slope_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ }
+ ],
+ [
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 270
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 270
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_05"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_slope_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_slope_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_slope_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ }
+ ],
+ [
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 270
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_06"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 270
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_slope_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_slope_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ }
+ ],
+ [
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 270
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_slope_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ }
+ ],
+ [
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_slope_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ }
+ ],
+ [],
+ []
+ ],
+ "mapheight": 32,
+ "mapwidth": 32
+}
\ No newline at end of file
diff --git a/Mods/Core/Maps/RockyHill_SE.png b/Mods/Core/Maps/RockyHill_SE.png
new file mode 100644
index 00000000..024562d0
Binary files /dev/null and b/Mods/Core/Maps/RockyHill_SE.png differ
diff --git a/Mods/Core/Maps/RockyHill_SE.png.import b/Mods/Core/Maps/RockyHill_SE.png.import
new file mode 100644
index 00000000..22a24bc4
--- /dev/null
+++ b/Mods/Core/Maps/RockyHill_SE.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c2fx3e776ellm"
+path="res://.godot/imported/RockyHill_SE.png-ffe0c8446fe1466be3262e1db27c1825.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Mods/Core/Maps/RockyHill_SE.png"
+dest_files=["res://.godot/imported/RockyHill_SE.png-ffe0c8446fe1466be3262e1db27c1825.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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=1
diff --git a/Mods/Core/Maps/RockyHill_SW.json b/Mods/Core/Maps/RockyHill_SW.json
new file mode 100644
index 00000000..b8fc4d16
--- /dev/null
+++ b/Mods/Core/Maps/RockyHill_SW.json
@@ -0,0 +1,27773 @@
+{
+ "levels": [
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "furniture": {
+ "id": "WillowTree_00"
+ },
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "furniture": {
+ "id": "PineTree_00"
+ },
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "furniture": {
+ "id": "WillowTree_00"
+ },
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_01",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "furniture": {
+ "id": "PineTree_00"
+ },
+ "id": "grass_dirt_01",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_02"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_01",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_02"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_01",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_01",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "furniture": {
+ "id": "Tree_00"
+ },
+ "id": "forest_underbrush_03"
+ },
+ {
+ "id": "forest_underbrush_03"
+ },
+ {
+ "id": "rocky_earth_00",
+ "rotation": 90
+ },
+ {
+ "id": "rocky_earth_00",
+ "rotation": 90
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_01",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_north_00",
+ "rotation": 90
+ },
+ {
+ "furniture": {
+ "id": "Tree_00"
+ },
+ "id": "forest_underbrush_03"
+ },
+ {
+ "id": "forest_underbrush_03"
+ },
+ {
+ "id": "forest_underbrush_03"
+ },
+ {
+ "id": "rocky_earth_00",
+ "rotation": 90
+ },
+ {
+ "id": "rocky_earth_00",
+ "rotation": 90
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "forest_underbrush_03"
+ },
+ {
+ "id": "forest_underbrush_03"
+ },
+ {
+ "furniture": {
+ "id": "PineTree_00"
+ },
+ "id": "forest_underbrush_03"
+ },
+ {
+ "id": "forest_underbrush_03"
+ },
+ {
+ "id": "rocky_earth_00",
+ "rotation": 90
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_north_00",
+ "rotation": 90
+ },
+ {
+ "id": "forest_underbrush_03"
+ },
+ {
+ "furniture": {
+ "id": "PineTree_00"
+ },
+ "id": "forest_underbrush_03"
+ },
+ {
+ "id": "forest_underbrush_03"
+ },
+ {
+ "furniture": {
+ "id": "Tree_00"
+ },
+ "id": "forest_underbrush_03"
+ },
+ {
+ "id": "rocky_earth_00",
+ "rotation": 90
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "rocky_earth_00",
+ "rotation": 90
+ },
+ {
+ "id": "forest_underbrush_03"
+ },
+ {
+ "id": "rocky_earth_00",
+ "rotation": 90
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_02"
+ },
+ {
+ "id": "grass_medium_dirt_01",
+ "rotation": 90
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rocky_earth_00",
+ "rotation": 90
+ },
+ {
+ "id": "rocky_earth_00",
+ "rotation": 90
+ },
+ {
+ "id": "rocky_earth_00",
+ "rotation": 90
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "furniture": {
+ "id": "WillowTree_00"
+ },
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_01",
+ "rotation": 90
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "grass_flowers_03"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_01",
+ "rotation": 90
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_north_00",
+ "rotation": 90
+ },
+ {
+ "furniture": {
+ "id": "PineTree_00"
+ },
+ "id": "grass_medium_dirt_01",
+ "rotation": 90
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "rock_floor_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "furniture": {
+ "id": "Tree_00"
+ },
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "furniture": {
+ "id": "PineTree_00"
+ },
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "furniture": {
+ "id": "WillowTree_00"
+ },
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ }
+ ],
+ [
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_slope_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_slope_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_slope_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ }
+ ],
+ [
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_02"
+ },
+ {
+ "id": "rock_slope_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_slope_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ }
+ ],
+ [
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_04"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_slope_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_slope_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ }
+ ],
+ [
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_00",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03",
+ "mob": {
+ "id": "scrapwalker",
+ "rotation": 90
+ }
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_slope_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_slope_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+ "id": "rock_floor_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ }
+ ],
+ [
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_slope_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_slope_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ }
+ ],
+ [
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_slope_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_slope_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ }
+ ],
+ [
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_slope_00"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ }
+ ],
+ [
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_slope_00",
+ "rotation": 90
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "id": "rock_floor_03"
+ },
+ {
+ "id": "rock_slope_00"
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ }
+ ],
+ [],
+ []
+ ],
+ "mapheight": 32,
+ "mapwidth": 32
+}
\ No newline at end of file
diff --git a/Mods/Core/Maps/RockyHill_SW.png b/Mods/Core/Maps/RockyHill_SW.png
new file mode 100644
index 00000000..69d1101b
Binary files /dev/null and b/Mods/Core/Maps/RockyHill_SW.png differ
diff --git a/Mods/Core/Maps/RockyHill_SW.png.import b/Mods/Core/Maps/RockyHill_SW.png.import
new file mode 100644
index 00000000..cf4f7e22
--- /dev/null
+++ b/Mods/Core/Maps/RockyHill_SW.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b7624ombl5bap"
+path="res://.godot/imported/RockyHill_SW.png-4618588c4fc24b401406d5465730a46e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Mods/Core/Maps/RockyHill_SW.png"
+dest_files=["res://.godot/imported/RockyHill_SW.png-4618588c4fc24b401406d5465730a46e.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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=1
diff --git a/Mods/Core/Maps/urbanroad.json b/Mods/Core/Maps/urbanroad.json
new file mode 100644
index 00000000..c8ffc442
--- /dev/null
+++ b/Mods/Core/Maps/urbanroad.json
@@ -0,0 +1,3145 @@
+{
+ "levels": [
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "furniture": {
+ "id": "Tree_00"
+ },
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_01"
+ },
+ {
+ "id": "grass_flowers_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_01"
+ },
+ {
+ "id": "grass_flowers_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "furniture": {
+ "id": "PineTree_00"
+ },
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_flowers_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "furniture": {
+ "id": "PineTree_00"
+ },
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "furniture": {
+ "id": "Tree_00"
+ },
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "furniture": {
+ "id": "WillowTree_00"
+ },
+ "id": "grass_flowers_01"
+ },
+ {
+ "id": "grass_flowers_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "furniture": {
+ "id": "Tree_00"
+ },
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "furniture": {
+ "id": "WillowTree_00"
+ },
+ "id": "grass_flowers_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_02"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_medium_dirt_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "furniture": {
+ "id": "Tree_00"
+ },
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "furniture": {
+ "id": "PineTree_00"
+ },
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_horizontal"
+ },
+ {
+ "id": "road_asphalt_horizontal"
+ },
+ {
+ "id": "road_asphalt_horizontal"
+ },
+ {
+ "id": "road_asphalt_horizontal"
+ },
+ {
+ "id": "road_asphalt_horizontal"
+ },
+ {
+ "id": "road_asphalt_horizontal"
+ },
+ {
+ "id": "road_asphalt_horizontal"
+ },
+ {
+ "id": "road_asphalt_horizontal"
+ },
+ {
+ "id": "road_asphalt_horizontal"
+ },
+ {
+ "id": "road_asphalt_horizontal"
+ },
+ {
+ "id": "road_asphalt_horizontal"
+ },
+ {
+ "id": "road_asphalt_horizontal"
+ },
+ {
+ "id": "road_asphalt_horizontal"
+ },
+ {
+ "id": "road_asphalt_horizontal"
+ },
+ {
+ "id": "road_asphalt_horizontal"
+ },
+ {
+ "id": "road_asphalt_horizontal"
+ },
+ {
+ "id": "road_asphalt_horizontal"
+ },
+ {
+ "id": "road_asphalt_horizontal"
+ },
+ {
+ "id": "road_asphalt_horizontal"
+ },
+ {
+ "id": "road_asphalt_horizontal"
+ },
+ {
+ "id": "road_asphalt_horizontal"
+ },
+ {
+ "id": "road_asphalt_horizontal"
+ },
+ {
+ "id": "road_asphalt_horizontal"
+ },
+ {
+ "id": "road_asphalt_horizontal"
+ },
+ {
+ "id": "road_asphalt_horizontal"
+ },
+ {
+ "id": "road_asphalt_horizontal"
+ },
+ {
+ "id": "road_asphalt_horizontal"
+ },
+ {
+ "id": "road_asphalt_horizontal"
+ },
+ {
+ "id": "road_asphalt_horizontal"
+ },
+ {
+ "id": "road_asphalt_horizontal"
+ },
+ {
+ "id": "road_asphalt_horizontal"
+ },
+ {
+ "id": "road_asphalt_horizontal"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "road_asphalt_basic"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_03"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "furniture": {
+ "id": "Tree_00"
+ },
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_02"
+ },
+ {
+ "id": "grass_flowers_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "furniture": {
+ "id": "PineTree_00"
+ },
+ "id": "grass_medium_dirt_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_flowers_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_01"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "furniture": {
+ "id": "WillowTree_00"
+ },
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_flowers_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_flowers_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_02"
+ },
+ {
+ "id": "grass_medium_dirt_01"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_dirt_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_03"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_flowers_02"
+ },
+ {
+ "id": "grass_flowers_00"
+ },
+ {
+ "furniture": {
+ "id": "WillowTree_00"
+ },
+ "id": "grass_flowers_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "furniture": {
+ "id": "Tree_00"
+ },
+ "id": "grass_flowers_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "furniture": {
+ "id": "PineTree_00"
+ },
+ "id": "grass_medium_dirt_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_02"
+ },
+ {
+ "id": "grass_flowers_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_medium_dirt_02"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_dirt_00"
+ },
+ {
+ "id": "grass_medium_dirt_00"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ },
+ {
+ "id": "grass_plain_01"
+ }
+ ],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ []
+ ],
+ "mapheight": 32,
+ "mapwidth": 32
+}
\ No newline at end of file
diff --git a/Mods/Core/Maps/urbanroad.png b/Mods/Core/Maps/urbanroad.png
new file mode 100644
index 00000000..4c8314c7
Binary files /dev/null and b/Mods/Core/Maps/urbanroad.png differ
diff --git a/Mods/Core/Tiles/7.png.import b/Mods/Core/Maps/urbanroad.png.import
similarity index 68%
rename from Mods/Core/Tiles/7.png.import
rename to Mods/Core/Maps/urbanroad.png.import
index 539db0dd..d9e86f63 100644
--- a/Mods/Core/Tiles/7.png.import
+++ b/Mods/Core/Maps/urbanroad.png.import
@@ -2,16 +2,16 @@
importer="texture"
type="CompressedTexture2D"
-uid="uid://creglbgcpdfkg"
-path="res://.godot/imported/7.png-7f620ec1220bbef0453ccb0c9cb379e9.ctex"
+uid="uid://xx1jwwitqnyp"
+path="res://.godot/imported/urbanroad.png-a627bc58d6f387047cc2b061013183f3.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://Mods/Core/Tiles/7.png"
-dest_files=["res://.godot/imported/7.png-7f620ec1220bbef0453ccb0c9cb379e9.ctex"]
+source_file="res://Mods/Core/Maps/urbanroad.png"
+dest_files=["res://.godot/imported/urbanroad.png-a627bc58d6f387047cc2b061013183f3.ctex"]
[params]
diff --git a/Mods/Core/Mobs/Mobs.json b/Mods/Core/Mobs/Mobs.json
new file mode 100644
index 00000000..c7603af9
--- /dev/null
+++ b/Mods/Core/Mobs/Mobs.json
@@ -0,0 +1,30 @@
+[
+ {
+ "description": "A small robot",
+ "health": "80",
+ "hearing_range": "1000",
+ "id": "scrapwalker",
+ "idle_move_speed": "0.5",
+ "melee_damage": "20",
+ "melee_range": "1.5",
+ "move_speed": "1.1",
+ "name": "Scrap walker",
+ "sense_range": "50",
+ "sight_range": "200",
+ "sprite": "scrapwalker64.png"
+ },
+ {
+ "description": "A slightly more advanced robot but still considered a weaker enemy in the robot faction. The Rust Sentinel stands tall and imposing, with a sturdy build. Its design incorporates rusted and recycled metal parts, giving it a rugged, battle-worn appearance.\n\nThe Rust Sentinel features a broad, slightly dome-shaped head with glowing red eyes that serve as visual sensors. Its torso is bulkier, reinforced with scrap metal plates, and it has two powerful arms ending in claws. The legs are designed for stability and power rather than speed. Its color scheme is a mix of rusted orange, steel gray, and hints of worn-out blue paint, suggesting it was once part of a larger machinery or vehicle.\n\nThe Rust Sentinel moves with deliberate, heavy steps, making it slower but more resilient. It's equipped with basic tools and weaponry, which it uses to scavenges and patrol.",
+ "health": "120",
+ "hearing_range": "1000",
+ "id": "rust_sentinel",
+ "idle_move_speed": "0.4",
+ "melee_damage": "20",
+ "melee_range": "1.5",
+ "move_speed": "0.8",
+ "name": "Rust sentinel",
+ "sense_range": "50",
+ "sight_range": "200",
+ "sprite": "rust_sentinel_72.png"
+ }
+]
\ No newline at end of file
diff --git a/Mods/Core/Mobs/rust_sentinel_72.png b/Mods/Core/Mobs/rust_sentinel_72.png
new file mode 100644
index 00000000..52b4c2f1
Binary files /dev/null and b/Mods/Core/Mobs/rust_sentinel_72.png differ
diff --git a/Mods/Core/Mobs/rust_sentinel_72.png.import b/Mods/Core/Mobs/rust_sentinel_72.png.import
new file mode 100644
index 00000000..6a42ded9
--- /dev/null
+++ b/Mods/Core/Mobs/rust_sentinel_72.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b51nqjd3iawap"
+path="res://.godot/imported/rust_sentinel_72.png-1dc7caa0dc4fb18d9b1b07a0de34b249.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Mods/Core/Mobs/rust_sentinel_72.png"
+dest_files=["res://.godot/imported/rust_sentinel_72.png-1dc7caa0dc4fb18d9b1b07a0de34b249.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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=1
diff --git a/Mods/Core/Mobs/scrapwalker64.png b/Mods/Core/Mobs/scrapwalker64.png
new file mode 100644
index 00000000..e1741077
Binary files /dev/null and b/Mods/Core/Mobs/scrapwalker64.png differ
diff --git a/Mods/Core/Tiles/dirtrampeast.png.import b/Mods/Core/Mobs/scrapwalker64.png.import
similarity index 67%
rename from Mods/Core/Tiles/dirtrampeast.png.import
rename to Mods/Core/Mobs/scrapwalker64.png.import
index 4d4fda4a..aa33d910 100644
--- a/Mods/Core/Tiles/dirtrampeast.png.import
+++ b/Mods/Core/Mobs/scrapwalker64.png.import
@@ -2,16 +2,16 @@
importer="texture"
type="CompressedTexture2D"
-uid="uid://buwgr46j20m6d"
-path="res://.godot/imported/dirtrampeast.png-b30e2f77904360d98bb54e697c4b7f2c.ctex"
+uid="uid://up85gn8oxq4q"
+path="res://.godot/imported/scrapwalker64.png-04b94deaac0c6a440b0f7db25c7d78a5.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://Mods/Core/Tiles/dirtrampeast.png"
-dest_files=["res://.godot/imported/dirtrampeast.png-b30e2f77904360d98bb54e697c4b7f2c.ctex"]
+source_file="res://Mods/Core/Mobs/scrapwalker64.png"
+dest_files=["res://.godot/imported/scrapwalker64.png-04b94deaac0c6a440b0f7db25c7d78a5.ctex"]
[params]
diff --git a/Mods/Core/OvermapTiles/1.png b/Mods/Core/OvermapTiles/1.png
new file mode 100644
index 00000000..10aeec41
Binary files /dev/null and b/Mods/Core/OvermapTiles/1.png differ
diff --git a/Mods/Core/Tiles/6.png.import b/Mods/Core/OvermapTiles/1.png.import
similarity index 75%
rename from Mods/Core/Tiles/6.png.import
rename to Mods/Core/OvermapTiles/1.png.import
index 4576d517..332e243f 100644
--- a/Mods/Core/Tiles/6.png.import
+++ b/Mods/Core/OvermapTiles/1.png.import
@@ -2,16 +2,16 @@
importer="texture"
type="CompressedTexture2D"
-uid="uid://dbde2knd5knko"
-path="res://.godot/imported/6.png-b93a556068129637c3ed0470ad61aff3.ctex"
+uid="uid://b1rxkkr3qwoa1"
+path="res://.godot/imported/1.png-113fc203e924f41987258f7bf69b8dab.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://Mods/Core/Tiles/6.png"
-dest_files=["res://.godot/imported/6.png-b93a556068129637c3ed0470ad61aff3.ctex"]
+source_file="res://Mods/Core/OvermapTiles/1.png"
+dest_files=["res://.godot/imported/1.png-113fc203e924f41987258f7bf69b8dab.ctex"]
[params]
diff --git a/Mods/Core/OvermapTiles/arcstones1.png b/Mods/Core/OvermapTiles/arcstones1.png
new file mode 100644
index 00000000..a13068ea
Binary files /dev/null and b/Mods/Core/OvermapTiles/arcstones1.png differ
diff --git a/Mods/Core/OvermapTiles/arcstones1.png.import b/Mods/Core/OvermapTiles/arcstones1.png.import
new file mode 100644
index 00000000..0dd2f1e2
--- /dev/null
+++ b/Mods/Core/OvermapTiles/arcstones1.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://br51vko5o7o6e"
+path="res://.godot/imported/arcstones1.png-f1c80d77cdb940353593822e678fe7c8.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Mods/Core/OvermapTiles/arcstones1.png"
+dest_files=["res://.godot/imported/arcstones1.png-f1c80d77cdb940353593822e678fe7c8.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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=1
diff --git a/Mods/Core/OvermapTiles/forestunderbrushscale5.png b/Mods/Core/OvermapTiles/forestunderbrushscale5.png
new file mode 100644
index 00000000..79bb0e96
Binary files /dev/null and b/Mods/Core/OvermapTiles/forestunderbrushscale5.png differ
diff --git a/Mods/Core/OvermapTiles/forestunderbrushscale5.png.import b/Mods/Core/OvermapTiles/forestunderbrushscale5.png.import
new file mode 100644
index 00000000..efff7ba4
--- /dev/null
+++ b/Mods/Core/OvermapTiles/forestunderbrushscale5.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d0gnamhtqsiv3"
+path="res://.godot/imported/forestunderbrushscale5.png-9156c85412ee766dbe54fbf681864d15.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Mods/Core/OvermapTiles/forestunderbrushscale5.png"
+dest_files=["res://.godot/imported/forestunderbrushscale5.png-9156c85412ee766dbe54fbf681864d15.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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=1
diff --git a/Mods/Core/OvermapTiles/rockyfloor4.png b/Mods/Core/OvermapTiles/rockyfloor4.png
new file mode 100644
index 00000000..45550738
Binary files /dev/null and b/Mods/Core/OvermapTiles/rockyfloor4.png differ
diff --git a/Mods/Core/OvermapTiles/rockyfloor4.png.import b/Mods/Core/OvermapTiles/rockyfloor4.png.import
new file mode 100644
index 00000000..42cfde53
--- /dev/null
+++ b/Mods/Core/OvermapTiles/rockyfloor4.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ivc6violj6vr"
+path="res://.godot/imported/rockyfloor4.png-91f26024c21cf174dcff99a521b7fd55.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Mods/Core/OvermapTiles/rockyfloor4.png"
+dest_files=["res://.godot/imported/rockyfloor4.png-91f26024c21cf174dcff99a521b7fd55.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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=1
diff --git a/Mods/Core/TacticalMaps/DefaultTacticalMap.json b/Mods/Core/TacticalMaps/DefaultTacticalMap.json
new file mode 100644
index 00000000..c3e3c4f4
--- /dev/null
+++ b/Mods/Core/TacticalMaps/DefaultTacticalMap.json
@@ -0,0 +1,42 @@
+{
+ "mapheight": 3,
+ "maps": [
+ {
+ "id": "Generichouse.json",
+ "rotation": 0
+ },
+ {
+ "id": "Generichouse.json",
+ "rotation": 0
+ },
+ {
+ "id": "Generichouse.json",
+ "rotation": 0
+ },
+ {
+ "id": "urbanroad.json",
+ "rotation": 0
+ },
+ {
+ "id": "urbanroad.json",
+ "rotation": 0
+ },
+ {
+ "id": "urbanroad.json",
+ "rotation": 0
+ },
+ {
+ "id": "Generichouse.json",
+ "rotation": 0
+ },
+ {
+ "id": "Generichouse.json",
+ "rotation": 0
+ },
+ {
+ "id": "Generichouse.json",
+ "rotation": 0
+ }
+ ],
+ "mapwidth": 3
+}
\ No newline at end of file
diff --git a/Mods/Core/TacticalMaps/RockyHill_00.json b/Mods/Core/TacticalMaps/RockyHill_00.json
new file mode 100644
index 00000000..05c6ca59
--- /dev/null
+++ b/Mods/Core/TacticalMaps/RockyHill_00.json
@@ -0,0 +1,22 @@
+{
+ "mapheight": 2,
+ "maps": [
+ {
+ "id": "RockyHill_NW.json",
+ "rotation": 0
+ },
+ {
+ "id": "RockyHill_NE.json",
+ "rotation": 0
+ },
+ {
+ "id": "RockyHill_SW.json",
+ "rotation": 0
+ },
+ {
+ "id": "RockyHill_SE.json",
+ "rotation": 0
+ }
+ ],
+ "mapwidth": 2
+}
\ No newline at end of file
diff --git a/Mods/Core/Tiles/5.png b/Mods/Core/Tiles/5.png
deleted file mode 100644
index 26791a77..00000000
Binary files a/Mods/Core/Tiles/5.png and /dev/null differ
diff --git a/Mods/Core/Tiles/6.png b/Mods/Core/Tiles/6.png
deleted file mode 100644
index 4f25ced3..00000000
Binary files a/Mods/Core/Tiles/6.png and /dev/null differ
diff --git a/Mods/Core/Tiles/7.png b/Mods/Core/Tiles/7.png
deleted file mode 100644
index 115b7794..00000000
Binary files a/Mods/Core/Tiles/7.png and /dev/null differ
diff --git a/Mods/Core/Tiles/Grassrampeast.png b/Mods/Core/Tiles/Grassrampeast.png
deleted file mode 100644
index 5401043e..00000000
Binary files a/Mods/Core/Tiles/Grassrampeast.png and /dev/null differ
diff --git a/Mods/Core/Tiles/Grassrampsouth.png b/Mods/Core/Tiles/Grassrampsouth.png
deleted file mode 100644
index d3e9e084..00000000
Binary files a/Mods/Core/Tiles/Grassrampsouth.png and /dev/null differ
diff --git a/Mods/Core/Tiles/Grassrampsouth.png.import b/Mods/Core/Tiles/Grassrampsouth.png.import
deleted file mode 100644
index a2732953..00000000
--- a/Mods/Core/Tiles/Grassrampsouth.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://diaababjulv45"
-path="res://.godot/imported/Grassrampsouth.png-c86243ec6a562158b0975a4e9fa4958f.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://Mods/Core/Tiles/Grassrampsouth.png"
-dest_files=["res://.godot/imported/Grassrampsouth.png-c86243ec6a562158b0975a4e9fa4958f.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-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=1
diff --git a/Mods/Core/Tiles/Grassrampwest.png b/Mods/Core/Tiles/Grassrampwest.png
deleted file mode 100644
index d54894ad..00000000
Binary files a/Mods/Core/Tiles/Grassrampwest.png and /dev/null differ
diff --git a/Mods/Core/Tiles/Grassrampwest.png.import b/Mods/Core/Tiles/Grassrampwest.png.import
deleted file mode 100644
index d2a44eaf..00000000
--- a/Mods/Core/Tiles/Grassrampwest.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://cgsyh5cfyonjl"
-path="res://.godot/imported/Grassrampwest.png-63833bfdddc21ade1f62da98e600ccb2.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://Mods/Core/Tiles/Grassrampwest.png"
-dest_files=["res://.godot/imported/Grassrampwest.png-63833bfdddc21ade1f62da98e600ccb2.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-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=1
diff --git a/Mods/Core/Tiles/Tiles.json b/Mods/Core/Tiles/Tiles.json
new file mode 100644
index 00000000..a712ea82
--- /dev/null
+++ b/Mods/Core/Tiles/Tiles.json
@@ -0,0 +1,1208 @@
+[
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "Field of grass",
+ "id": "grass_plain",
+ "name": "Plain grass",
+ "shape": "cube",
+ "sprite": "1.png"
+ },
+ {
+ "categories": [
+ "Floor"
+ ],
+ "description": "The floor is old and the boards are crooked",
+ "id": "floor_wood_shabby_00",
+ "name": "Low quality wood floor",
+ "shape": "cube",
+ "sprite": "woodboards.png"
+ },
+ {
+ "categories": [
+ "Floor"
+ ],
+ "description": "The floor is old and the boards are crooked",
+ "id": "floor_wood_shabby_01",
+ "name": "Low quality wood floor",
+ "sprite": "woodboards1.png"
+ },
+ {
+ "categories": [
+ "Floor"
+ ],
+ "description": "The floor is old and the boards are crooked",
+ "id": "floor_wood_shabby_02",
+ "name": "Low quality wood floor",
+ "sprite": "woodboards2.png"
+ },
+ {
+ "categories": [
+ "Floor"
+ ],
+ "description": "The floor is old and the boards are crooked",
+ "id": "floor_wood_shabby_dark_00",
+ "name": "Low quality wood floor",
+ "sprite": "woodboards3.png"
+ },
+ {
+ "categories": [
+ "Floor"
+ ],
+ "description": "The floor is old and the boards are crooked",
+ "id": "floor_wood_shabby_dark_01",
+ "name": "Low quality wood floor",
+ "sprite": "woodboards4.png"
+ },
+ {
+ "categories": [
+ "Floor"
+ ],
+ "description": "The floor is old and the boards are crooked",
+ "id": "floor_wood_shabby_dark_02",
+ "name": "Low quality wood floor",
+ "sprite": "woodboards5.png"
+ },
+ {
+ "categories": [
+ "Road"
+ ],
+ "description": "A smooth surface for vehicles to drive on",
+ "id": "road_asphalt_basic",
+ "name": "Basic asphalt road",
+ "sprite": "asphalt_basic.png"
+ },
+ {
+ "categories": [
+ "Road"
+ ],
+ "description": "A smooth surface for vehicles to drive on. It has diagonal markings",
+ "id": "road_asphalt_diagonal",
+ "name": "Asphalt road with diagonal markings",
+ "sprite": "asphalt_diag_middle.png"
+ },
+ {
+ "categories": [
+ "Road"
+ ],
+ "description": "A smooth surface for vehicles to drive on. It has markings indicating a north turn",
+ "id": "road_asphalt_turn_north",
+ "name": "Asphalt road with markings turning north",
+ "sprite": "asphalt_middle_downleft.png"
+ },
+ {
+ "categories": [
+ "Road"
+ ],
+ "description": "A smooth surface for vehicles to drive on. It has horizontal markings",
+ "id": "road_asphalt_horizontal",
+ "name": "Asphalt road with horizontal markings",
+ "sprite": "asphalt_middle_horizontal.png"
+ },
+ {
+ "categories": [
+ "Floor",
+ "Urban"
+ ],
+ "description": "A stone floor wihere the stones are shaped like an arch. Used in an urban environement.",
+ "id": "arc_stones_floor",
+ "name": "Arc stones floor",
+ "sprite": "arcstones.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "Field of grass",
+ "id": "grass_plain_01",
+ "name": "Plain grass",
+ "sprite": "basegrass1.png"
+ },
+ {
+ "categories": [
+ "Slopes",
+ "Urban"
+ ],
+ "description": "Wooden stairs that allow you to move up and down",
+ "id": "wood_stairs",
+ "name": "Wooden stairs",
+ "shape": "slope",
+ "sprite": "4.png"
+ },
+ {
+ "categories": [
+ "Urban",
+ "Wall"
+ ],
+ "description": "A solid wall made out of bricks",
+ "id": "brick_wall_00",
+ "name": "Brick wall",
+ "shape": "cube",
+ "sprite": "brickroad2.png"
+ },
+ {
+ "categories": [
+ "Floor",
+ "Urban"
+ ],
+ "description": "A warm red carpet",
+ "id": "red_carpet_00",
+ "name": "Red carpet",
+ "shape": "cube",
+ "sprite": "redcarpet.png"
+ },
+ {
+ "categories": [
+ "Floor",
+ "Urban"
+ ],
+ "description": "A warm blue carpet",
+ "id": "blue_carpet_00",
+ "name": "Blue carpet",
+ "shape": "cube",
+ "sprite": "bluecarpet.png"
+ },
+ {
+ "categories": [
+ "Floor",
+ "Urban"
+ ],
+ "description": "A warm orange carpet",
+ "id": "orange_carpet_00",
+ "name": "Orange carpet",
+ "shape": "cube",
+ "sprite": "browncarpet.png"
+ },
+ {
+ "categories": [
+ "Floor",
+ "Urban"
+ ],
+ "description": "A road made out of stones shaped like a beehive",
+ "id": "beehive_stones_00",
+ "name": "Beehive stones",
+ "shape": "cube",
+ "sprite": "beehive1.png"
+ },
+ {
+ "categories": [
+ "Floor",
+ "Urban"
+ ],
+ "description": "Simple wooden floor boards that may be laid in a decorative fasion",
+ "id": "floor_wood_boards_00",
+ "name": "Wooden floor boards",
+ "shape": "cube",
+ "sprite": "woodboards10.png"
+ },
+ {
+ "categories": [
+ "Floor",
+ "Urban"
+ ],
+ "description": "Simple wooden floor boards that may be laid in a decorative fasion",
+ "id": "floor_wood_boards_01",
+ "name": "Wooden floor boards",
+ "shape": "cube",
+ "sprite": "woodboards11.png"
+ },
+ {
+ "categories": [
+ "Floor",
+ "Urban"
+ ],
+ "description": "Simple wooden floor boards that may be laid in a decorative fasion",
+ "id": "floor_wood_boards_02",
+ "name": "Wooden floor boards",
+ "shape": "cube",
+ "sprite": "woodboards12.png"
+ },
+ {
+ "categories": [
+ "Floor",
+ "Urban"
+ ],
+ "description": "Simple wooden floor boards that may be laid in a decorative fasion",
+ "id": "floor_wood_boards_03",
+ "name": "Wooden floor boards",
+ "shape": "cube",
+ "sprite": "woodboards13.png"
+ },
+ {
+ "categories": [
+ "Floor",
+ "Urban"
+ ],
+ "description": "Simple wooden floor boards that may be laid in a decorative fasion",
+ "id": "floor_wood_boards_04",
+ "name": "Wooden floor boards",
+ "shape": "cube",
+ "sprite": "woodboards14.png"
+ },
+ {
+ "categories": [
+ "Floor",
+ "Urban"
+ ],
+ "description": "Simple wooden floor boards that may be laid in a decorative fasion",
+ "id": "floor_wood_boards_05",
+ "name": "Wooden floor boards",
+ "shape": "cube",
+ "sprite": "woodboards6.png"
+ },
+ {
+ "categories": [
+ "Floor",
+ "Urban"
+ ],
+ "description": "Simple wooden floor boards that may be laid in a decorative fasion",
+ "id": "floor_wood_boards_06",
+ "name": "Wooden floor boards",
+ "shape": "cube",
+ "sprite": "woodboards7.png"
+ },
+ {
+ "categories": [
+ "Floor",
+ "Urban"
+ ],
+ "description": "Simple wooden floor boards that may be laid in a decorative fasion",
+ "id": "floor_wood_boards_07",
+ "name": "Wooden floor boards",
+ "shape": "cube",
+ "sprite": "woodboards8.png"
+ },
+ {
+ "categories": [
+ "Floor",
+ "Urban"
+ ],
+ "description": "Simple wooden floor boards that may be laid in a decorative fasion",
+ "id": "floor_wood_boards_08",
+ "name": "Wooden floor boards",
+ "shape": "cube",
+ "sprite": "woodboards9.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "A place devoid of life. All that remains is dust and cracks in the ground",
+ "id": "wasteland_00",
+ "name": "Wasteland\t",
+ "shape": "cube",
+ "sprite": "wasteland.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "A place devoid of life. All that remains is dust and cracks in the ground",
+ "id": "wasteland_01",
+ "name": "Wasteland\t",
+ "shape": "cube",
+ "sprite": "wasteland11.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "A place devoid of life. All that remains is dust and cracks in the ground",
+ "id": "wasteland_02",
+ "name": "Wasteland\t",
+ "shape": "cube",
+ "sprite": "wasteland2.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "A place devoid of life. All that remains is dust and cracks in the ground. By some miracle one or two plants have managed to survive.",
+ "id": "wasteland_03",
+ "name": "Wasteland\t",
+ "shape": "cube",
+ "sprite": "wastelandveg.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "A place devoid of life. All that remains is dust and cracks in the ground. By some miracle one or two plants have managed to survive.",
+ "id": "wasteland_04",
+ "name": "Wasteland\t",
+ "shape": "cube",
+ "sprite": "wastelandveg1.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "A place devoid of life. All that remains is dust and cracks in the ground. By some miracle one or two plants have managed to survive.",
+ "id": "wasteland_05",
+ "name": "Wasteland\t",
+ "shape": "cube",
+ "sprite": "wastelandveg2.png"
+ },
+ {
+ "categories": [
+ "Hazards"
+ ],
+ "description": "Very dangerous! Some toxic waste was spilled here",
+ "id": "toxic_waste_00",
+ "name": "Toxic waste",
+ "shape": "cube",
+ "sprite": "toxicwaste.png"
+ },
+ {
+ "categories": [
+ "Hazards"
+ ],
+ "description": "Very dangerous! Some toxic waste was spilled here",
+ "id": "toxic_waste_01",
+ "name": "Toxic waste",
+ "shape": "cube",
+ "sprite": "toxicwaste1.png"
+ },
+ {
+ "categories": [
+ "Hazards"
+ ],
+ "description": "Very dangerous! Some toxic waste was spilled here",
+ "id": "toxic_waste_02",
+ "name": "Toxic waste",
+ "shape": "cube",
+ "sprite": "toxicwaste2.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "A blanket of snow covers the ground",
+ "id": "snow_00",
+ "name": "Snow",
+ "shape": "cube",
+ "sprite": "snow.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "A blanket of snow covers the ground",
+ "id": "snow_01",
+ "name": "Snow",
+ "shape": "cube",
+ "sprite": "snow1.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "A blanket of snow covers the ground",
+ "id": "snow_02",
+ "name": "Snow",
+ "shape": "cube",
+ "sprite": "snow2.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "There is only sand here",
+ "id": "sand_00",
+ "name": "Sand",
+ "shape": "cube",
+ "sprite": "sand.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "The ground is covered in fine sand",
+ "id": "sand_fine_00",
+ "name": "Fine sand",
+ "shape": "cube",
+ "sprite": "fineand.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "A hard suface with a dark color.",
+ "id": "rock_floor_00",
+ "name": "Rock floor",
+ "shape": "cube",
+ "sprite": "rockyfloor1.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "A hard suface with a dark color.",
+ "id": "rock_floor_01",
+ "name": "Rock floor",
+ "shape": "cube",
+ "sprite": "rockyfloor2.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "A hard suface with a dark color.",
+ "id": "rock_floor_02",
+ "name": "Rock floor",
+ "shape": "cube",
+ "sprite": "rockyfloor3.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "A hard suface with a dark color.",
+ "id": "rock_floor_03",
+ "name": "Rock floor",
+ "shape": "cube",
+ "sprite": "rockfloor.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "A hard suface with a dark color.",
+ "id": "rock_floor_04",
+ "name": "Rock floor",
+ "shape": "cube",
+ "sprite": "rockyfloor4.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "A hard suface with a dark color.",
+ "id": "rock_floor_05",
+ "name": "Rock floor",
+ "shape": "cube",
+ "sprite": "rockyfloor5.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "A hard suface with a dark color.",
+ "id": "rock_floor_06",
+ "name": "Rock floor",
+ "shape": "cube",
+ "sprite": "rockyfloor6.png"
+ },
+ {
+ "categories": [
+ "Slopes"
+ ],
+ "description": "A rocky surface allowing you to move up or down",
+ "id": "rock_slope_00",
+ "name": "Rock slope",
+ "shape": "slope",
+ "sprite": "rockyfloorrampnorth.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "A rocky surface that doesn't leave any footprints",
+ "id": "rocky_earth_00",
+ "name": "Rock floor",
+ "shape": "cube",
+ "sprite": "rockyearth.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "The terrain is made out of mud. Don't get stuck!",
+ "id": "mud_00",
+ "name": "Mud",
+ "shape": "cube",
+ "sprite": "mud.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "The terrain is made out of mud. Don't get stuck!",
+ "id": "mud_01",
+ "name": "Mud",
+ "shape": "cube",
+ "sprite": "mud1.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "The terrain is made out of mud. Don't get stuck!",
+ "id": "mud_02",
+ "name": "Mud",
+ "shape": "cube",
+ "sprite": "mud2.png"
+ },
+ {
+ "categories": [
+ "Wall"
+ ],
+ "description": "A sturdy metal wall. The surface seems scratched and a bit worn.",
+ "id": "metal_wall_00",
+ "name": "Metal wall",
+ "shape": "cube",
+ "sprite": "metalwall1.png"
+ },
+ {
+ "categories": [
+ "Floor",
+ "Urban"
+ ],
+ "description": "A tiled floor you would find in a kitchen. The tiles are painted yellow",
+ "id": "kitchen_tiles_yellow_00",
+ "name": "Kitchen tiles (yellow)",
+ "shape": "cube",
+ "sprite": "kitchentiles.png"
+ },
+ {
+ "categories": [
+ "Floor",
+ "Urban"
+ ],
+ "description": "A tiled floor you would find in a kitchen. The tiles are painted yellow",
+ "id": "kitchen_tiles_yellow_01",
+ "name": "Kitchen tiles (yellow)",
+ "shape": "cube",
+ "sprite": "kitchentiles1.png"
+ },
+ {
+ "categories": [
+ "Floor",
+ "Urban"
+ ],
+ "description": "A tiled floor you would find in a kitchen. The tiles are painted yellow",
+ "id": "kitchen_tiles_yellow_02",
+ "name": "Kitchen tiles (yellow)",
+ "shape": "cube",
+ "sprite": "Kitchentiles2.png"
+ },
+ {
+ "categories": [
+ "Floor",
+ "Urban"
+ ],
+ "description": "A tiled floor you would find in a kitchen. The tiles are painted mint",
+ "id": "kitchen_tiles_mint_00",
+ "name": "Kitchen tiles (mint)",
+ "shape": "cube",
+ "sprite": "kitchentilesblue.png"
+ },
+ {
+ "categories": [
+ "Floor",
+ "Urban"
+ ],
+ "description": "A tiled floor you would find in a kitchen. The tiles are painted mint",
+ "id": "kitchen_tiles_mint_01",
+ "name": "Kitchen tiles (mint)",
+ "shape": "cube",
+ "sprite": "kitchentilesblue1.png"
+ },
+ {
+ "categories": [
+ "Floor",
+ "Urban"
+ ],
+ "description": "A tiled floor you would find in a kitchen. The tiles are painted mint",
+ "id": "kitchen_tiles_mint_02",
+ "name": "Kitchen tiles (mint)",
+ "shape": "cube",
+ "sprite": "kitchentilesblue2.png"
+ },
+ {
+ "categories": [
+ "Floor",
+ "Urban"
+ ],
+ "description": "A tiled floor you would find in a kitchen. The tiles are painted mint",
+ "id": "kitchen_tiles_mint_03",
+ "name": "Kitchen tiles (mint)",
+ "shape": "cube",
+ "sprite": "kitchentilesblue3.png"
+ },
+ {
+ "categories": [
+ "Floor",
+ "Urban"
+ ],
+ "description": "A tiled floor you would find in a kitchen. The tiles are painted green",
+ "id": "kitchen_tiles_green_00",
+ "name": "Kitchen tiles (green)",
+ "shape": "cube",
+ "sprite": "kitchentilesgreen.png"
+ },
+ {
+ "categories": [
+ "Floor",
+ "Urban"
+ ],
+ "description": "A tiled floor you would find in a kitchen. The tiles are painted green",
+ "id": "kitchen_tiles_green_01",
+ "name": "Kitchen tiles (green)",
+ "shape": "cube",
+ "sprite": "kitchentilesgreen1.png"
+ },
+ {
+ "categories": [
+ "Floor",
+ "Urban"
+ ],
+ "description": "A tiled floor you would find in a kitchen. The tiles are painted green",
+ "id": "kitchen_tiles_green_02",
+ "name": "Kitchen tiles (green)",
+ "shape": "cube",
+ "sprite": "kitchentilesgreen2.png"
+ },
+ {
+ "categories": [
+ "Floor",
+ "Urban"
+ ],
+ "description": "A tiled floor you would find in a kitchen. The tiles are painted blue",
+ "id": "kitchen_tiles_blue_00",
+ "name": "Kitchen tiles (blue)",
+ "shape": "cube",
+ "sprite": "KitchentilesPurple.png"
+ },
+ {
+ "categories": [
+ "Floor",
+ "Urban"
+ ],
+ "description": "A tiled floor you would find in a kitchen. The tiles are painted blue",
+ "id": "kitchen_tiles_blue_01",
+ "name": "Kitchen tiles (blue)",
+ "shape": "cube",
+ "sprite": "kitchentilespurple1.png"
+ },
+ {
+ "categories": [
+ "Floor",
+ "Urban"
+ ],
+ "description": "A tiled floor you would find in a kitchen. The tiles are painted blue",
+ "id": "kitchen_tiles_blue_02",
+ "name": "Kitchen tiles (blue)",
+ "shape": "cube",
+ "sprite": "Kitchentilespurple2.png"
+ },
+ {
+ "categories": [
+ "Floor",
+ "Urban"
+ ],
+ "description": "A tiled floor you would find in a kitchen. The tiles are painted purple",
+ "id": "kitchen_tiles_purple_00",
+ "name": "Kitchen tiles (purple)",
+ "shape": "cube",
+ "sprite": "kitchentilespurple3.png"
+ },
+ {
+ "categories": [
+ "Floor",
+ "Urban"
+ ],
+ "description": "A tiled floor you would find in a kitchen. The tiles are painted purple",
+ "id": "kitchen_tiles_purple_01",
+ "name": "Kitchen tiles (purple)",
+ "shape": "cube",
+ "sprite": "kitchentilespurple4.png"
+ },
+ {
+ "categories": [
+ "Floor",
+ "Urban"
+ ],
+ "description": "A tiled floor you would find in a kitchen. The tiles are painted purple",
+ "id": "kitchen_tiles_purple_02",
+ "name": "Kitchen tiles (purple)",
+ "shape": "cube",
+ "sprite": "kitchentilespurple5.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "The ground is covered with small pebbles",
+ "id": "gravel_00",
+ "name": "Gravel",
+ "shape": "cube",
+ "sprite": "gravel.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "The ground is covered with small pebbles",
+ "id": "gravel_01",
+ "name": "Gravel",
+ "shape": "cube",
+ "sprite": "gravel1.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "The ground is covered with small pebbles",
+ "id": "gravel_02",
+ "name": "Gravel",
+ "shape": "cube",
+ "sprite": "gravel2.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "Dirt is barely visible trough the carpet of grass",
+ "id": "grass_dirt_00",
+ "name": "Grass with dirt",
+ "shape": "cube",
+ "sprite": "grassdirt.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "Dirt is barely visible trough the carpet of grass",
+ "id": "grass_dirt_01",
+ "name": "Grass with dirt",
+ "shape": "cube",
+ "sprite": "grassdirt1.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "Dirt is barely visible trough the carpet of grass",
+ "id": "grass_dirt_02",
+ "name": "Grass with dirt",
+ "shape": "cube",
+ "sprite": "grassdirt2.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "Dirt is visible trough the grass",
+ "id": "grass_medium_dirt_00",
+ "name": "Grass with dirt",
+ "shape": "cube",
+ "sprite": "grasssmalldirt.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "Dirt is visible trough the grass",
+ "id": "grass_medium_dirt_01",
+ "name": "Grass with dirt",
+ "shape": "cube",
+ "sprite": "grasssmalldirt1.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "Dirt is visible trough the grass",
+ "id": "grass_medium_dirt_02",
+ "name": "Grass with dirt",
+ "shape": "cube",
+ "sprite": "grasssmalldirt2.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "One side of the terrain is just dirt and no grass",
+ "id": "grass_dirt_north_00",
+ "name": "Grass with a patch of dirt",
+ "shape": "cube",
+ "sprite": "grassnorthdirt.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "The center of the terrain is just dirt and no grass",
+ "id": "grass_dirt_center_00",
+ "name": "Grass with a patch of dirt",
+ "shape": "cube",
+ "sprite": "grasscenterdirt.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "Some flowers are sprouting trough the grass",
+ "id": "grass_flowers_00",
+ "name": "Grass with flowers",
+ "shape": "cube",
+ "sprite": "grassflowers2.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "Some flowers are sprouting trough the grass",
+ "id": "grass_flowers_01",
+ "name": "Grass with flowers",
+ "shape": "cube",
+ "sprite": "grassflowers3.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "Some flowers are sprouting trough the grass",
+ "id": "grass_flowers_02",
+ "name": "Grass with flowers",
+ "shape": "cube",
+ "sprite": "grassflowers4.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "Some flowers are sprouting trough the grass",
+ "id": "grass_flowers_03",
+ "name": "Grass with flowers",
+ "shape": "cube",
+ "sprite": "grasslowers.png"
+ },
+ {
+ "categories": [
+ "Slopes"
+ ],
+ "description": "This ramp is covered with grass. You can go up and down here",
+ "id": "grass_ramp_00",
+ "name": "Grass ramp",
+ "shape": "slope",
+ "sprite": "Grassrampnorth1.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "The ground is littered with twigs, leaves, sticks and all kinds of plant matter. Very tipical of a forest floor",
+ "id": "forest_underbrush_00",
+ "name": "Forest underbrush",
+ "shape": "cube",
+ "sprite": "forestunderbrushscale.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "The ground is littered with twigs, leaves, sticks and all kinds of plant matter. Very tipical of a forest floor",
+ "id": "forest_underbrush_01",
+ "name": "Forest underbrush",
+ "shape": "cube",
+ "sprite": "forestunderbrushscale1.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "The ground is littered with twigs, leaves, sticks and all kinds of plant matter. Very tipical of a forest floor",
+ "id": "forest_underbrush_02",
+ "name": "Forest underbrush",
+ "shape": "cube",
+ "sprite": "forestunderbrushscale2.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "The ground is littered with twigs, leaves, sticks and all kinds of plant matter. Very tipical of a forest floor",
+ "id": "forest_underbrush_03",
+ "name": "Forest underbrush",
+ "shape": "cube",
+ "sprite": "forestunderbrushscale3.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "The ground is littered with twigs, leaves, sticks and all kinds of plant matter. Very tipical of a forest floor",
+ "id": "forest_underbrush_04",
+ "name": "Forest underbrush",
+ "shape": "cube",
+ "sprite": "forestunderbrushscale4.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "The ground is littered with twigs, leaves, sticks and all kinds of plant matter. Very tipical of a forest floor",
+ "id": "forest_underbrush_05",
+ "name": "Forest underbrush",
+ "shape": "cube",
+ "sprite": "forestunderbrushscale5.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "There is just dirt here. It's color is pretty dark",
+ "id": "dirt_dark_00",
+ "name": "Dirt",
+ "shape": "cube",
+ "sprite": "dirt.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "There is just dirt here. It's color is pretty dark",
+ "id": "dirt_dark_01",
+ "name": "Dirt",
+ "shape": "cube",
+ "sprite": "dirt1.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "There is just dirt here. It's color is pretty dark",
+ "id": "dirt_dark_02",
+ "name": "Dirt",
+ "shape": "cube",
+ "sprite": "dirt2.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "There is just dirt here. It's color is light",
+ "id": "dirt_light_00",
+ "name": "Dirt",
+ "shape": "cube",
+ "sprite": "dirt3.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "There is just dirt here. It's color is light",
+ "id": "dirt_light_01",
+ "name": "Dirt",
+ "shape": "cube",
+ "sprite": "dirt4.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "There is just dirt here. It's color is light",
+ "id": "dirt_light_02",
+ "name": "Dirt",
+ "shape": "cube",
+ "sprite": "dirt5.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "There is dirt here. Part of it is covered with grass",
+ "id": "dirt_light_grass_north_00",
+ "name": "Dirt with grass",
+ "shape": "cube",
+ "sprite": "dirtgrass.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "There is dirt here. Part of it is covered with grass",
+ "id": "dirt_light_grass_north_01",
+ "name": "Dirt with grass",
+ "shape": "cube",
+ "sprite": "dirt_grass_north.png"
+ },
+ {
+ "categories": [
+ "Slopes"
+ ],
+ "description": "A dirt slope. You can go up and down here. Be careful not to slip",
+ "id": "dirt_light_ramp_00",
+ "name": "Dirt ramp",
+ "shape": "slope",
+ "sprite": "dirtrampnorth1.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "This grass is dead and all that remains is dry straws",
+ "id": "grass_dead_00",
+ "name": "Dead grass",
+ "shape": "cube",
+ "sprite": "deadgrass.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "This grass is dead and all that remains is dry straws",
+ "id": "grass_dead_01",
+ "name": "Dead grass",
+ "shape": "cube",
+ "sprite": "deadgrass1.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "This grass is dead and all that remains is dry straws",
+ "id": "grass_dead_02",
+ "name": "Dead grass",
+ "shape": "cube",
+ "sprite": "deadgrass2.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "This grass is dead and all that remains is dry straws",
+ "id": "grass_dead_03",
+ "name": "Dead grass",
+ "shape": "cube",
+ "sprite": "deadgrassdirt.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "This grass is dead and all that remains is dry straws",
+ "id": "grass_dead_04",
+ "name": "Dead grass",
+ "shape": "cube",
+ "sprite": "deadgrassdirt1.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "This grass is dead and all that remains is dry straws",
+ "id": "grass_dead_05",
+ "name": "Dead grass",
+ "shape": "cube",
+ "sprite": "deadgrassdirt2.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "A tiled floor with colorful stones",
+ "id": "cobblestone_00",
+ "name": "Cobblestone",
+ "shape": "cube",
+ "sprite": "cobblestone.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "A tiled floor with colorful stones",
+ "id": "cobblestone_01",
+ "name": "Cobblestone",
+ "shape": "cube",
+ "sprite": "cobblestone2.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "A tiled floor with colorful stones",
+ "id": "cobblestone_02",
+ "name": "Cobblestone",
+ "shape": "cube",
+ "sprite": "cobblestone3.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "A tiled floor with colorful stones",
+ "id": "cobblestone_03",
+ "name": "Cobblestone",
+ "shape": "cube",
+ "sprite": "cobblestone4.png"
+ },
+ {
+ "categories": [
+ "Ground"
+ ],
+ "description": "A tiled floor with brown stones laid in a beautiful pattern",
+ "id": "cobblestone_04",
+ "name": "Cobblestone",
+ "shape": "cube",
+ "sprite": "cobblestone1.png"
+ },
+ {
+ "categories": [
+ "Urban",
+ "Wall"
+ ],
+ "description": "A solid wall made out of bricks",
+ "id": "brick_wall_01",
+ "name": "Brick wall",
+ "shape": "cube",
+ "sprite": "brickroad.png"
+ },
+ {
+ "categories": [
+ "Urban",
+ "Wall"
+ ],
+ "description": "A solid wall made out of bricks",
+ "id": "brick_wall_02",
+ "name": "Brick wall",
+ "shape": "cube",
+ "sprite": "brickroad1.png"
+ },
+ {
+ "categories": [
+ "Urban",
+ "Wall"
+ ],
+ "description": "A solid wall made out of bricks",
+ "id": "brick_wall_03",
+ "name": "Brick wall",
+ "shape": "cube",
+ "sprite": "brickroad3.png"
+ },
+ {
+ "categories": [
+ "Floor",
+ "Urban"
+ ],
+ "description": "A tiled floor you would find in a bathroom. The tiles are painted blue",
+ "id": "bathroom_tiles_blue_00",
+ "name": "Bathroom tiles (blue)",
+ "shape": "cube",
+ "sprite": "bathroomtiles.png"
+ },
+ {
+ "categories": [
+ "Floor",
+ "Urban"
+ ],
+ "description": "A stone floor wihere the stones are shaped like an arch. Used in an urban environement.",
+ "id": "arc_stones_floor_00",
+ "name": "Arc stones floor",
+ "shape": "cube",
+ "sprite": "arcstones1.png"
+ }
+]
\ No newline at end of file
diff --git a/Mods/Core/Tiles/asphalt_horizontal_middle_downleft.png b/Mods/Core/Tiles/asphalt_horizontal_middle_downleft.png
deleted file mode 100644
index c53336d8..00000000
Binary files a/Mods/Core/Tiles/asphalt_horizontal_middle_downleft.png and /dev/null differ
diff --git a/Mods/Core/Tiles/asphalt_horizontal_middle_downleft.png.import b/Mods/Core/Tiles/asphalt_horizontal_middle_downleft.png.import
deleted file mode 100644
index 12fc5594..00000000
--- a/Mods/Core/Tiles/asphalt_horizontal_middle_downleft.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://d0cp55fo13nes"
-path="res://.godot/imported/asphalt_horizontal_middle_downleft.png-78e8dac225da50c35dfa7c4775a242a3.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://Mods/Core/Tiles/asphalt_horizontal_middle_downleft.png"
-dest_files=["res://.godot/imported/asphalt_horizontal_middle_downleft.png-78e8dac225da50c35dfa7c4775a242a3.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-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=1
diff --git a/Mods/Core/Tiles/asphalt_horizontal_middle_upright.png b/Mods/Core/Tiles/asphalt_horizontal_middle_upright.png
deleted file mode 100644
index 442b8580..00000000
Binary files a/Mods/Core/Tiles/asphalt_horizontal_middle_upright.png and /dev/null differ
diff --git a/Mods/Core/Tiles/asphalt_horizontal_middle_upright.png.import b/Mods/Core/Tiles/asphalt_horizontal_middle_upright.png.import
deleted file mode 100644
index 0bcc7ff0..00000000
--- a/Mods/Core/Tiles/asphalt_horizontal_middle_upright.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://isj5e03iu8oh"
-path="res://.godot/imported/asphalt_horizontal_middle_upright.png-aac2573aa1e7d6ab5345673841f13699.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://Mods/Core/Tiles/asphalt_horizontal_middle_upright.png"
-dest_files=["res://.godot/imported/asphalt_horizontal_middle_upright.png-aac2573aa1e7d6ab5345673841f13699.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-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=1
diff --git a/Mods/Core/Tiles/asphalt_middle.png b/Mods/Core/Tiles/asphalt_middle.png
deleted file mode 100644
index 4abc755a..00000000
Binary files a/Mods/Core/Tiles/asphalt_middle.png and /dev/null differ
diff --git a/Mods/Core/Tiles/asphalt_middle.png.import b/Mods/Core/Tiles/asphalt_middle.png.import
deleted file mode 100644
index f6966c68..00000000
--- a/Mods/Core/Tiles/asphalt_middle.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://cqlsjlth3jlm5"
-path="res://.godot/imported/asphalt_middle.png-ea411751a4c72d4150662b9b2e955840.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://Mods/Core/Tiles/asphalt_middle.png"
-dest_files=["res://.godot/imported/asphalt_middle.png-ea411751a4c72d4150662b9b2e955840.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-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=1
diff --git a/Mods/Core/Tiles/asphalt_middle_upright.png b/Mods/Core/Tiles/asphalt_middle_upright.png
deleted file mode 100644
index 5d5f562a..00000000
Binary files a/Mods/Core/Tiles/asphalt_middle_upright.png and /dev/null differ
diff --git a/Mods/Core/Tiles/asphalt_middle_upright.png.import b/Mods/Core/Tiles/asphalt_middle_upright.png.import
deleted file mode 100644
index 5c8fb122..00000000
--- a/Mods/Core/Tiles/asphalt_middle_upright.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://dqku07vvqbhc0"
-path="res://.godot/imported/asphalt_middle_upright.png-baeaa48292ffb2e376d59ca5f7c73e10.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://Mods/Core/Tiles/asphalt_middle_upright.png"
-dest_files=["res://.godot/imported/asphalt_middle_upright.png-baeaa48292ffb2e376d59ca5f7c73e10.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-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=1
diff --git a/Mods/Core/Tiles/dirtrampeast.png b/Mods/Core/Tiles/dirtrampeast.png
deleted file mode 100644
index 9f2be334..00000000
Binary files a/Mods/Core/Tiles/dirtrampeast.png and /dev/null differ
diff --git a/Mods/Core/Tiles/dirtrampsouth.png b/Mods/Core/Tiles/dirtrampsouth.png
deleted file mode 100644
index 1278adda..00000000
Binary files a/Mods/Core/Tiles/dirtrampsouth.png and /dev/null differ
diff --git a/Mods/Core/Tiles/dirtrampwest.png b/Mods/Core/Tiles/dirtrampwest.png
deleted file mode 100644
index 371f445e..00000000
Binary files a/Mods/Core/Tiles/dirtrampwest.png and /dev/null differ
diff --git a/Mods/Core/Tiles/forestunderbrush.png b/Mods/Core/Tiles/forestunderbrush.png
deleted file mode 100644
index a518165a..00000000
Binary files a/Mods/Core/Tiles/forestunderbrush.png and /dev/null differ
diff --git a/Mods/Core/Tiles/forestunderbrush.png.import b/Mods/Core/Tiles/forestunderbrush.png.import
deleted file mode 100644
index f6bdd836..00000000
--- a/Mods/Core/Tiles/forestunderbrush.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://cnsf3hxfqi3re"
-path="res://.godot/imported/forestunderbrush.png-85e3281d606808e065a046d769ef4714.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://Mods/Core/Tiles/forestunderbrush.png"
-dest_files=["res://.godot/imported/forestunderbrush.png-85e3281d606808e065a046d769ef4714.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-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=1
diff --git a/Mods/Core/Tiles/forestunderbrush1.png b/Mods/Core/Tiles/forestunderbrush1.png
deleted file mode 100644
index fd9f28ef..00000000
Binary files a/Mods/Core/Tiles/forestunderbrush1.png and /dev/null differ
diff --git a/Mods/Core/Tiles/forestunderbrush1.png.import b/Mods/Core/Tiles/forestunderbrush1.png.import
deleted file mode 100644
index 2b0d759a..00000000
--- a/Mods/Core/Tiles/forestunderbrush1.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://1pg3ibp8uhwk"
-path="res://.godot/imported/forestunderbrush1.png-6c20242d6543ebaf355753511119b5c1.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://Mods/Core/Tiles/forestunderbrush1.png"
-dest_files=["res://.godot/imported/forestunderbrush1.png-6c20242d6543ebaf355753511119b5c1.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-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=1
diff --git a/Mods/Core/Tiles/forestunderbrush2.png b/Mods/Core/Tiles/forestunderbrush2.png
deleted file mode 100644
index 12fb54ee..00000000
Binary files a/Mods/Core/Tiles/forestunderbrush2.png and /dev/null differ
diff --git a/Mods/Core/Tiles/forestunderbrush2.png.import b/Mods/Core/Tiles/forestunderbrush2.png.import
deleted file mode 100644
index 199a2840..00000000
--- a/Mods/Core/Tiles/forestunderbrush2.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://d2i7kj3odhbgr"
-path="res://.godot/imported/forestunderbrush2.png-fd38928b9810fc55336175e33a5e0960.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://Mods/Core/Tiles/forestunderbrush2.png"
-dest_files=["res://.godot/imported/forestunderbrush2.png-fd38928b9810fc55336175e33a5e0960.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-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=1
diff --git a/Mods/Core/Tiles/forestunderbrush3.png b/Mods/Core/Tiles/forestunderbrush3.png
deleted file mode 100644
index 8f53d3c4..00000000
Binary files a/Mods/Core/Tiles/forestunderbrush3.png and /dev/null differ
diff --git a/Mods/Core/Tiles/forestunderbrush4.png b/Mods/Core/Tiles/forestunderbrush4.png
deleted file mode 100644
index a3b7210e..00000000
Binary files a/Mods/Core/Tiles/forestunderbrush4.png and /dev/null differ
diff --git a/Mods/Core/Tiles/forestunderbrush4.png.import b/Mods/Core/Tiles/forestunderbrush4.png.import
deleted file mode 100644
index da58c776..00000000
--- a/Mods/Core/Tiles/forestunderbrush4.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://cl0dw7d42yxs8"
-path="res://.godot/imported/forestunderbrush4.png-34872d2bff8059144690308d66fbf6ad.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://Mods/Core/Tiles/forestunderbrush4.png"
-dest_files=["res://.godot/imported/forestunderbrush4.png-34872d2bff8059144690308d66fbf6ad.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-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=1
diff --git a/Mods/Core/Tiles/grasseastdirt.png b/Mods/Core/Tiles/grasseastdirt.png
deleted file mode 100644
index 02146be4..00000000
Binary files a/Mods/Core/Tiles/grasseastdirt.png and /dev/null differ
diff --git a/Mods/Core/Tiles/grasseastdirt.png.import b/Mods/Core/Tiles/grasseastdirt.png.import
deleted file mode 100644
index e32d01ff..00000000
--- a/Mods/Core/Tiles/grasseastdirt.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://gdl1wodw13pc"
-path="res://.godot/imported/grasseastdirt.png-6bf70657828e9b3907bdae7cdc1d246d.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://Mods/Core/Tiles/grasseastdirt.png"
-dest_files=["res://.godot/imported/grasseastdirt.png-6bf70657828e9b3907bdae7cdc1d246d.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-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=1
diff --git a/Mods/Core/Tiles/grasssouthdirt.png b/Mods/Core/Tiles/grasssouthdirt.png
deleted file mode 100644
index bef338f1..00000000
Binary files a/Mods/Core/Tiles/grasssouthdirt.png and /dev/null differ
diff --git a/Mods/Core/Tiles/grasssouthdirt.png.import b/Mods/Core/Tiles/grasssouthdirt.png.import
deleted file mode 100644
index c879ac23..00000000
--- a/Mods/Core/Tiles/grasssouthdirt.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://0klc8fh8ale7"
-path="res://.godot/imported/grasssouthdirt.png-5d19b1fdb64b86e2caf7af0258c63503.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://Mods/Core/Tiles/grasssouthdirt.png"
-dest_files=["res://.godot/imported/grasssouthdirt.png-5d19b1fdb64b86e2caf7af0258c63503.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-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=1
diff --git a/Mods/Core/Tiles/grasswestdirt.png b/Mods/Core/Tiles/grasswestdirt.png
deleted file mode 100644
index 2246c802..00000000
Binary files a/Mods/Core/Tiles/grasswestdirt.png and /dev/null differ
diff --git a/Mods/Core/Tiles/grasswestdirt.png.import b/Mods/Core/Tiles/grasswestdirt.png.import
deleted file mode 100644
index fd2a3b5f..00000000
--- a/Mods/Core/Tiles/grasswestdirt.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://cd5ks4lgp524w"
-path="res://.godot/imported/grasswestdirt.png-e6b019b695a27f8b98f6b51cb061918d.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://Mods/Core/Tiles/grasswestdirt.png"
-dest_files=["res://.godot/imported/grasswestdirt.png-e6b019b695a27f8b98f6b51cb061918d.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-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=1
diff --git a/Mods/Core/Tiles/rockyfloorrampeast.png b/Mods/Core/Tiles/rockyfloorrampeast.png
deleted file mode 100644
index 7a1d7173..00000000
Binary files a/Mods/Core/Tiles/rockyfloorrampeast.png and /dev/null differ
diff --git a/Mods/Core/Tiles/rockyfloorrampeast.png.import b/Mods/Core/Tiles/rockyfloorrampeast.png.import
deleted file mode 100644
index 4ed8531f..00000000
--- a/Mods/Core/Tiles/rockyfloorrampeast.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://bqaci7yrcnjum"
-path="res://.godot/imported/rockyfloorrampeast.png-6cdf5361afb3e0f316b1cbe89a598e51.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://Mods/Core/Tiles/rockyfloorrampeast.png"
-dest_files=["res://.godot/imported/rockyfloorrampeast.png-6cdf5361afb3e0f316b1cbe89a598e51.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-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=1
diff --git a/Mods/Core/Tiles/rockyfloorrampsouth.png b/Mods/Core/Tiles/rockyfloorrampsouth.png
deleted file mode 100644
index 4f4a7adc..00000000
Binary files a/Mods/Core/Tiles/rockyfloorrampsouth.png and /dev/null differ
diff --git a/Mods/Core/Tiles/rockyfloorrampsouth.png.import b/Mods/Core/Tiles/rockyfloorrampsouth.png.import
deleted file mode 100644
index 76d49617..00000000
--- a/Mods/Core/Tiles/rockyfloorrampsouth.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://cc7cddqnjf610"
-path="res://.godot/imported/rockyfloorrampsouth.png-4a5616173e9da023a145bd8747a61ed9.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://Mods/Core/Tiles/rockyfloorrampsouth.png"
-dest_files=["res://.godot/imported/rockyfloorrampsouth.png-4a5616173e9da023a145bd8747a61ed9.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-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=1
diff --git a/Mods/Core/Tiles/rockyfloorrampwest.png b/Mods/Core/Tiles/rockyfloorrampwest.png
deleted file mode 100644
index 296281e5..00000000
Binary files a/Mods/Core/Tiles/rockyfloorrampwest.png and /dev/null differ
diff --git a/Mods/Core/Tiles/rockyfloorrampwest.png.import b/Mods/Core/Tiles/rockyfloorrampwest.png.import
deleted file mode 100644
index ec7b9d59..00000000
--- a/Mods/Core/Tiles/rockyfloorrampwest.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://dfhxgwsr63ok0"
-path="res://.godot/imported/rockyfloorrampwest.png-0006169a93943e9ba53d4e50f3905d8b.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://Mods/Core/Tiles/rockyfloorrampwest.png"
-dest_files=["res://.godot/imported/rockyfloorrampwest.png-0006169a93943e9ba53d4e50f3905d8b.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-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=1
diff --git a/Scenes/ContentManager/Custom_Editors/FurnitureEditor.tscn b/Scenes/ContentManager/Custom_Editors/FurnitureEditor.tscn
new file mode 100644
index 00000000..e46b8703
--- /dev/null
+++ b/Scenes/ContentManager/Custom_Editors/FurnitureEditor.tscn
@@ -0,0 +1,161 @@
+[gd_scene load_steps=5 format=3 uid="uid://cng4m3os6smj8"]
+
+[ext_resource type="Texture2D" uid="uid://c8ragmxitca47" path="res://Scenes/ContentManager/Mapeditor/Images/emptyTile.png" id="1_gm4uu"]
+[ext_resource type="Script" path="res://Scenes/ContentManager/Custom_Editors/Scripts/FurnitureEditor.gd" id="1_wqqit"]
+[ext_resource type="PackedScene" uid="uid://b8i6wfk3fngy4" path="res://Scenes/ContentManager/Custom_Widgets/Editable_Item_List.tscn" id="2_ekwf5"]
+[ext_resource type="PackedScene" uid="uid://d1h1rpwt8f807" path="res://Scenes/ContentManager/Custom_Widgets/Sprite_Selector_Popup.tscn" id="3_o3k3a"]
+
+[node name="FurnitureEditor" type="Control" node_paths=PackedStringArray("furnitureImageDisplay", "IDTextLabel", "NameTextEdit", "DescriptionTextEdit", "CategoriesList", "furnitureSelector", "imageNameStringLabel", "moveableCheckboxButton", "edgeSnappingOptionButton")]
+layout_mode = 3
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+script = ExtResource("1_wqqit")
+furnitureImageDisplay = NodePath("VBoxContainer/FormGrid/FurnitureImageDisplay")
+IDTextLabel = NodePath("VBoxContainer/FormGrid/IDTextLabel")
+NameTextEdit = NodePath("VBoxContainer/FormGrid/NameTextEdit")
+DescriptionTextEdit = NodePath("VBoxContainer/FormGrid/DescriptionTextEdit")
+CategoriesList = NodePath("VBoxContainer/FormGrid/Editable_Item_List")
+furnitureSelector = NodePath("Sprite_selector")
+imageNameStringLabel = NodePath("VBoxContainer/FormGrid/ImageNameStringLabel")
+moveableCheckboxButton = NodePath("VBoxContainer/FormGrid/UnmoveableCheckBox")
+edgeSnappingOptionButton = NodePath("VBoxContainer/FormGrid/SnappingOptionButton")
+
+[node name="VBoxContainer" type="VBoxContainer" parent="."]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+
+[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"]
+layout_mode = 2
+
+[node name="CloseButton" type="Button" parent="VBoxContainer/HBoxContainer"]
+layout_mode = 2
+text = "Close"
+
+[node name="SaveButton" type="Button" parent="VBoxContainer/HBoxContainer"]
+layout_mode = 2
+text = "Save"
+
+[node name="FormGrid" type="GridContainer" parent="VBoxContainer"]
+layout_mode = 2
+size_flags_vertical = 3
+columns = 2
+
+[node name="ImageLabel" type="Label" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+text = "Sprite:"
+
+[node name="FurnitureImageDisplay" type="TextureRect" parent="VBoxContainer/FormGrid"]
+custom_minimum_size = Vector2(128, 128)
+layout_mode = 2
+size_flags_horizontal = 0
+size_flags_stretch_ratio = 0.4
+focus_next = NodePath("../NameTextEdit")
+focus_previous = NodePath("../Editable_Item_List")
+focus_mode = 2
+texture = ExtResource("1_gm4uu")
+expand_mode = 3
+
+[node name="ImageNameLabel" type="Label" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+text = "Sprite name:"
+
+[node name="ImageNameStringLabel" type="Label" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+
+[node name="IDLabel" type="Label" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+text = "ID:"
+
+[node name="IDTextLabel" type="Label" parent="VBoxContainer/FormGrid"]
+custom_minimum_size = Vector2(0, 30)
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_stretch_ratio = 0.1
+
+[node name="NameLabel" type="Label" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+text = "Name"
+
+[node name="NameTextEdit" type="TextEdit" parent="VBoxContainer/FormGrid"]
+custom_minimum_size = Vector2(0, 30)
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_stretch_ratio = 0.1
+focus_next = NodePath("../DescriptionTextEdit")
+focus_previous = NodePath("../FurnitureImageDisplay")
+
+[node name="DescriptionLabel" type="Label" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+text = "Description"
+
+[node name="DescriptionTextEdit" type="TextEdit" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_vertical = 3
+size_flags_stretch_ratio = 0.9
+focus_next = NodePath("../Editable_Item_List")
+focus_previous = NodePath("../NameTextEdit")
+wrap_mode = 1
+
+[node name="CategoriesLabel" type="Label" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+text = "Categories:"
+
+[node name="Editable_Item_List" parent="VBoxContainer/FormGrid" instance=ExtResource("2_ekwf5")]
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_vertical = 3
+focus_next = NodePath("../FurnitureImageDisplay")
+focus_previous = NodePath("../DescriptionTextEdit")
+focus_mode = 2
+header = "Categories"
+
+[node name="MoveableLabel" type="Label" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+text = "Can move"
+
+[node name="UnmoveableCheckBox" type="CheckBox" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+tooltip_text = "Check this if the furniture should be moveable, like a chair. Leave this unchecked if the furniture should not move, like a fence"
+text = "Moveable"
+
+[node name="SnappingLabel" type="Label" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+text = "Edge snapping"
+
+[node name="SnappingOptionButton" type="OptionButton" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+tooltip_text = "Snapping direction for the furniture. This
+determines in what direction the furniture will
+snap to the edge of a block. The 'back' of the
+furniture determines the direction.
+For example, if a fridge sprite has the back on the
+north side, select north and the furniture will
+snap to the north edge. Selecting none will center the sprite"
+item_count = 5
+selected = 0
+popup/item_0/text = "None"
+popup/item_0/id = 0
+popup/item_1/text = "North"
+popup/item_1/id = 1
+popup/item_2/text = "East"
+popup/item_2/id = 2
+popup/item_3/text = "South"
+popup/item_3/id = 3
+popup/item_4/text = "West"
+popup/item_4/id = 4
+
+[node name="Sprite_selector" parent="." instance=ExtResource("3_o3k3a")]
+visible = false
+
+[connection signal="button_up" from="VBoxContainer/HBoxContainer/CloseButton" to="." method="_on_close_button_button_up"]
+[connection signal="button_up" from="VBoxContainer/HBoxContainer/SaveButton" to="." method="_on_save_button_button_up"]
+[connection signal="gui_input" from="VBoxContainer/FormGrid/FurnitureImageDisplay" to="." method="_on_furniture_image_display_gui_input"]
+[connection signal="sprite_selected_ok" from="Sprite_selector" to="." method="_on_sprite_selector_sprite_selected_ok"]
diff --git a/Scenes/ContentManager/Custom_Editors/ItemEditor/ItemAmmoEditor.tscn b/Scenes/ContentManager/Custom_Editors/ItemEditor/ItemAmmoEditor.tscn
new file mode 100644
index 00000000..f2cc5d5b
--- /dev/null
+++ b/Scenes/ContentManager/Custom_Editors/ItemEditor/ItemAmmoEditor.tscn
@@ -0,0 +1,27 @@
+[gd_scene load_steps=2 format=3 uid="uid://c2uiumyeepree"]
+
+[ext_resource type="Script" path="res://Scripts/ItemAmmoEditor.gd" id="1_5v06u"]
+
+[node name="ItemAmmoEditor" type="Control" node_paths=PackedStringArray("DamageNumberBox")]
+layout_mode = 3
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+script = ExtResource("1_5v06u")
+DamageNumberBox = NodePath("Ammo/DamageNumber")
+
+[node name="Ammo" type="GridContainer" parent="."]
+layout_mode = 0
+size_flags_vertical = 3
+columns = 2
+
+[node name="DamageLabel" type="Label" parent="Ammo"]
+layout_mode = 2
+text = "Damage"
+
+[node name="DamageNumber" type="SpinBox" parent="Ammo"]
+layout_mode = 2
+tooltip_text = "The width of this item in the inventory. A larger number means it will take up more horizontal inventory slots"
+value = 25.0
diff --git a/Scenes/ContentManager/Custom_Editors/ItemEditor/ItemEditor.tscn b/Scenes/ContentManager/Custom_Editors/ItemEditor/ItemEditor.tscn
new file mode 100644
index 00000000..1945abe5
--- /dev/null
+++ b/Scenes/ContentManager/Custom_Editors/ItemEditor/ItemEditor.tscn
@@ -0,0 +1,256 @@
+[gd_scene load_steps=7 format=3 uid="uid://dmpomdwta1pgq"]
+
+[ext_resource type="Script" path="res://Scripts/ItemEditor.gd" id="1_ef3j7"]
+[ext_resource type="Texture2D" uid="uid://c8ragmxitca47" path="res://Scenes/ContentManager/Mapeditor/Images/emptyTile.png" id="2_ghd7c"]
+[ext_resource type="PackedScene" uid="uid://d1h1rpwt8f807" path="res://Scenes/ContentManager/Custom_Widgets/Sprite_Selector_Popup.tscn" id="3_qb68r"]
+[ext_resource type="PackedScene" uid="uid://cbke1yb3m7dra" path="res://Scenes/ContentManager/Custom_Editors/ItemEditor/ItemRangedEditor.tscn" id="3_qqmud"]
+[ext_resource type="PackedScene" uid="uid://27f4k2pq2odn" path="res://Scenes/ContentManager/Custom_Editors/ItemEditor/ItemMagazineEditor.tscn" id="4_x8xa3"]
+[ext_resource type="PackedScene" uid="uid://c2uiumyeepree" path="res://Scenes/ContentManager/Custom_Editors/ItemEditor/ItemAmmoEditor.tscn" id="5_mr1dn"]
+
+[node name="ItemEditor" type="Control" node_paths=PackedStringArray("tabContainer", "itemImageDisplay", "IDTextLabel", "PathTextLabel", "NameTextEdit", "DescriptionTextEdit", "itemSelector", "VolumeNumberBox", "WeightNumberBox", "StackSizeNumberBox", "MaxStackSizeNumberBox", "typesContainer", "TwoHandedCheckBox")]
+layout_mode = 3
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+script = ExtResource("1_ef3j7")
+tabContainer = NodePath("VBoxContainer/TabContainer")
+itemImageDisplay = NodePath("VBoxContainer/TabContainer/Basic/ItemImageDisplay")
+IDTextLabel = NodePath("VBoxContainer/TabContainer/Basic/IDTextLabel")
+PathTextLabel = NodePath("VBoxContainer/TabContainer/Basic/PathTextLabel")
+NameTextEdit = NodePath("VBoxContainer/TabContainer/Basic/NameTextEdit")
+DescriptionTextEdit = NodePath("VBoxContainer/TabContainer/Basic/DescriptionTextEdit")
+itemSelector = NodePath("Sprite_selector")
+VolumeNumberBox = NodePath("VBoxContainer/TabContainer/Basic/VolumeNumber")
+WeightNumberBox = NodePath("VBoxContainer/TabContainer/Basic/WeightNumber")
+StackSizeNumberBox = NodePath("VBoxContainer/TabContainer/Basic/StackSizeNumber")
+MaxStackSizeNumberBox = NodePath("VBoxContainer/TabContainer/Basic/MaxStackSizeNumber")
+typesContainer = NodePath("VBoxContainer/TabContainer/Basic/TypesContainer")
+TwoHandedCheckBox = NodePath("VBoxContainer/TabContainer/Basic/TwoHandedCheckBox")
+
+[node name="VBoxContainer" type="VBoxContainer" parent="."]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+
+[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"]
+layout_mode = 2
+
+[node name="CloseButton" type="Button" parent="VBoxContainer/HBoxContainer"]
+layout_mode = 2
+text = "Close"
+
+[node name="SaveButton" type="Button" parent="VBoxContainer/HBoxContainer"]
+layout_mode = 2
+text = "Save"
+
+[node name="TabContainer" type="TabContainer" parent="VBoxContainer"]
+layout_mode = 2
+size_flags_vertical = 3
+
+[node name="Basic" type="GridContainer" parent="VBoxContainer/TabContainer"]
+layout_mode = 2
+size_flags_vertical = 3
+columns = 2
+
+[node name="ImageLabel" type="Label" parent="VBoxContainer/TabContainer/Basic"]
+layout_mode = 2
+text = "Sprite:"
+
+[node name="ItemImageDisplay" type="TextureRect" parent="VBoxContainer/TabContainer/Basic"]
+custom_minimum_size = Vector2(128, 128)
+layout_mode = 2
+size_flags_horizontal = 0
+size_flags_stretch_ratio = 0.4
+texture = ExtResource("2_ghd7c")
+expand_mode = 3
+
+[node name="PathLabel" type="Label" parent="VBoxContainer/TabContainer/Basic"]
+layout_mode = 2
+text = "Sprite name"
+
+[node name="PathTextLabel" type="Label" parent="VBoxContainer/TabContainer/Basic"]
+custom_minimum_size = Vector2(0, 30)
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_stretch_ratio = 0.1
+
+[node name="IDLabel" type="Label" parent="VBoxContainer/TabContainer/Basic"]
+layout_mode = 2
+text = "ID:"
+
+[node name="IDTextLabel" type="Label" parent="VBoxContainer/TabContainer/Basic"]
+custom_minimum_size = Vector2(0, 30)
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_stretch_ratio = 0.1
+
+[node name="NameLabel" type="Label" parent="VBoxContainer/TabContainer/Basic"]
+layout_mode = 2
+text = "Name"
+
+[node name="NameTextEdit" type="TextEdit" parent="VBoxContainer/TabContainer/Basic"]
+custom_minimum_size = Vector2(0, 30)
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_stretch_ratio = 0.1
+focus_next = NodePath("../DescriptionTextEdit")
+focus_previous = NodePath("../ItemImageDisplay")
+placeholder_text = "Scorpion "
+
+[node name="DescriptionLabel" type="Label" parent="VBoxContainer/TabContainer/Basic"]
+layout_mode = 2
+text = "Description"
+
+[node name="DescriptionTextEdit" type="TextEdit" parent="VBoxContainer/TabContainer/Basic"]
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_vertical = 3
+size_flags_stretch_ratio = 0.9
+focus_previous = NodePath("../NameTextEdit")
+placeholder_text = "A very dangerous land animal often found in dry climates"
+wrap_mode = 1
+
+[node name="VolumeLabel" type="Label" parent="VBoxContainer/TabContainer/Basic"]
+layout_mode = 2
+text = "Volume"
+
+[node name="VolumeNumber" type="SpinBox" parent="VBoxContainer/TabContainer/Basic"]
+layout_mode = 2
+tooltip_text = "The volume of this item. For reference, a grain of sand is 0.01, a bullet is 0,1 and a rifle is 300"
+min_value = 0.01
+max_value = 1000.0
+step = 0.01
+value = 1.0
+
+[node name="WeightLabel" type="Label" parent="VBoxContainer/TabContainer/Basic"]
+layout_mode = 2
+text = "Weight"
+
+[node name="WeightNumber" type="SpinBox" parent="VBoxContainer/TabContainer/Basic"]
+layout_mode = 2
+tooltip_text = "The weight of this item in kg"
+min_value = 0.01
+max_value = 500.0
+step = 0.01
+value = 1.0
+
+[node name="StackSizeLabel" type="Label" parent="VBoxContainer/TabContainer/Basic"]
+layout_mode = 2
+text = "Stack size"
+
+[node name="StackSizeNumber" type="SpinBox" parent="VBoxContainer/TabContainer/Basic"]
+layout_mode = 2
+tooltip_text = "The amount of this item that will spawn in a stack by default"
+min_value = 1.0
+value = 1.0
+
+[node name="MaxStackSizeLabel" type="Label" parent="VBoxContainer/TabContainer/Basic"]
+layout_mode = 2
+text = "Max stack size"
+
+[node name="MaxStackSizeNumber" type="SpinBox" parent="VBoxContainer/TabContainer/Basic"]
+layout_mode = 2
+tooltip_text = "The maximum number of this item that will fit in a stack"
+min_value = 1.0
+value = 1.0
+
+[node name="TwoHandedLabel" type="Label" parent="VBoxContainer/TabContainer/Basic"]
+layout_mode = 2
+text = "Two handed"
+
+[node name="TwoHandedCheckBox" type="CheckBox" parent="VBoxContainer/TabContainer/Basic"]
+layout_mode = 2
+tooltip_text = "Enable this if the item weapon occupies both hands when held. Disable this if the item occupies one hand when held"
+text = "Two handed"
+
+[node name="TypesLabel" type="Label" parent="VBoxContainer/TabContainer/Basic"]
+layout_mode = 2
+text = "Type(s)"
+
+[node name="TypesContainer" type="HFlowContainer" parent="VBoxContainer/TabContainer/Basic"]
+layout_mode = 2
+
+[node name="RangedWeaponCheck" type="CheckBox" parent="VBoxContainer/TabContainer/Basic/TypesContainer"]
+layout_mode = 2
+tooltip_text = "If this is checked, the item functions as a ranged weapon and the ranged properties tab will be visible. Otherwise, this item will not function as a ranged weapon and the ranged properties tab will not be visible"
+text = "Ranged"
+
+[node name="MeleeCheck" type="CheckBox" parent="VBoxContainer/TabContainer/Basic/TypesContainer"]
+layout_mode = 2
+tooltip_text = "If this is checked, the item functions as a melee weapon and the melee properties tab will be visible. Otherwise, this item will not function as a melee weapon and the melee properties tab will not be visible"
+text = "Melee"
+
+[node name="MedicalCheck" type="CheckBox" parent="VBoxContainer/TabContainer/Basic/TypesContainer"]
+layout_mode = 2
+tooltip_text = "If this is checked, the item functions as a medical item, for example to be used for healing and the medical properties tab will be visible. Otherwise, this item will not function as a medical item and the medical properties tab will not be visible"
+text = "Medical"
+
+[node name="MagazineCheck" type="CheckBox" parent="VBoxContainer/TabContainer/Basic/TypesContainer"]
+layout_mode = 2
+tooltip_text = "If this is checked, the item functions as a magazine for a gun or tool and the magazine properties tab will be visible. Otherwise, this item will not function as a magazine and the magazine properties tab will not be visible"
+text = "Magazine"
+
+[node name="AmmunitionCheck" type="CheckBox" parent="VBoxContainer/TabContainer/Basic/TypesContainer"]
+layout_mode = 2
+tooltip_text = "If this is checked, the item functions as ammo for a magazine and the ammo properties tab will be visible. Otherwise, this item will not function as ammo and the ammo properties tab will not be visible"
+text = "Ammo"
+
+[node name="BookCheck" type="CheckBox" parent="VBoxContainer/TabContainer/Basic/TypesContainer"]
+layout_mode = 2
+tooltip_text = "If this is checked, the item functions as a book and the book properties tab will be visible. Otherwise, this item will not function as a book and the book properties tab will not be visible"
+text = "Book"
+
+[node name="CraftableCheck" type="CheckBox" parent="VBoxContainer/TabContainer/Basic/TypesContainer"]
+layout_mode = 2
+tooltip_text = "If this is checked, the item can be crafted and recipe tab will be visible. Otherwise, this item cannot be crafted and the recipe tab will not be visible"
+text = "Craft"
+
+[node name="DisassembleCheck" type="CheckBox" parent="VBoxContainer/TabContainer/Basic/TypesContainer"]
+layout_mode = 2
+tooltip_text = "If this is checked, the item can be disassembled and disassembly tab will be visible. Otherwise, this item cannot be disassembled and the disassembly tab will not be visible"
+text = "Disassemble"
+
+[node name="ClothingCheck" type="CheckBox" parent="VBoxContainer/TabContainer/Basic/TypesContainer"]
+layout_mode = 2
+tooltip_text = "If this is checked, the item functions as clothing and the clothing properties tab will be visible. Otherwise, this item will not function as clothing and the clothing properties tab will not be visible"
+text = "Clothing"
+
+[node name="Food" type="CheckBox" parent="VBoxContainer/TabContainer/Basic/TypesContainer"]
+layout_mode = 2
+tooltip_text = "If this is checked, the item functions as food and the food properties tab will be visible. Otherwise, this item will not function as food and the food properties tab will not be visible"
+text = "Food"
+
+[node name="Ranged" parent="VBoxContainer/TabContainer" instance=ExtResource("3_qqmud")]
+visible = false
+layout_mode = 2
+
+[node name="Magazine" parent="VBoxContainer/TabContainer" instance=ExtResource("4_x8xa3")]
+visible = false
+layout_mode = 2
+
+[node name="Ammo" parent="VBoxContainer/TabContainer" instance=ExtResource("5_mr1dn")]
+visible = false
+layout_mode = 2
+
+[node name="Sprite_selector" parent="." instance=ExtResource("3_qb68r")]
+visible = false
+
+[connection signal="button_up" from="VBoxContainer/HBoxContainer/CloseButton" to="." method="_on_close_button_button_up"]
+[connection signal="button_up" from="VBoxContainer/HBoxContainer/SaveButton" to="." method="_on_save_button_button_up"]
+[connection signal="gui_input" from="VBoxContainer/TabContainer/Basic/ItemImageDisplay" to="." method="_on_item_image_display_gui_input"]
+[connection signal="button_up" from="VBoxContainer/TabContainer/Basic/TypesContainer/RangedWeaponCheck" to="." method="_on_type_check_button_up"]
+[connection signal="button_up" from="VBoxContainer/TabContainer/Basic/TypesContainer/MeleeCheck" to="." method="_on_type_check_button_up"]
+[connection signal="button_up" from="VBoxContainer/TabContainer/Basic/TypesContainer/MedicalCheck" to="." method="_on_type_check_button_up"]
+[connection signal="button_up" from="VBoxContainer/TabContainer/Basic/TypesContainer/MagazineCheck" to="." method="_on_type_check_button_up"]
+[connection signal="button_up" from="VBoxContainer/TabContainer/Basic/TypesContainer/AmmunitionCheck" to="." method="_on_type_check_button_up"]
+[connection signal="button_up" from="VBoxContainer/TabContainer/Basic/TypesContainer/BookCheck" to="." method="_on_type_check_button_up"]
+[connection signal="button_up" from="VBoxContainer/TabContainer/Basic/TypesContainer/CraftableCheck" to="." method="_on_type_check_button_up"]
+[connection signal="button_up" from="VBoxContainer/TabContainer/Basic/TypesContainer/DisassembleCheck" to="." method="_on_type_check_button_up"]
+[connection signal="button_up" from="VBoxContainer/TabContainer/Basic/TypesContainer/ClothingCheck" to="." method="_on_type_check_button_up"]
+[connection signal="button_up" from="VBoxContainer/TabContainer/Basic/TypesContainer/Food" to="." method="_on_type_check_button_up"]
+[connection signal="sprite_selected_ok" from="Sprite_selector" to="." method="_on_sprite_selector_sprite_selected_ok"]
diff --git a/Scenes/ContentManager/Custom_Editors/ItemEditor/ItemMagazineEditor.tscn b/Scenes/ContentManager/Custom_Editors/ItemEditor/ItemMagazineEditor.tscn
new file mode 100644
index 00000000..d1cffcaf
--- /dev/null
+++ b/Scenes/ContentManager/Custom_Editors/ItemEditor/ItemMagazineEditor.tscn
@@ -0,0 +1,39 @@
+[gd_scene load_steps=2 format=3 uid="uid://27f4k2pq2odn"]
+
+[ext_resource type="Script" path="res://Scripts/ItemMagazineEditor.gd" id="1_cgvqr"]
+
+[node name="ItemMagazineEditor" type="Control" node_paths=PackedStringArray("UsedAmmoTextEdit", "MaxAmmoNumberBox")]
+layout_mode = 3
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+script = ExtResource("1_cgvqr")
+UsedAmmoTextEdit = NodePath("Magazine/UsedAmmoTextEdit")
+MaxAmmoNumberBox = NodePath("Magazine/MaxAmmoNumber")
+
+[node name="Magazine" type="GridContainer" parent="."]
+layout_mode = 0
+size_flags_vertical = 3
+columns = 2
+
+[node name="UsedAmmoLabel" type="Label" parent="Magazine"]
+layout_mode = 2
+text = "Ammo"
+
+[node name="UsedAmmoTextEdit" type="TextEdit" parent="Magazine"]
+custom_minimum_size = Vector2(0, 30)
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_stretch_ratio = 0.1
+placeholder_text = "9mm"
+
+[node name="MaxAmmoLabel" type="Label" parent="Magazine"]
+layout_mode = 2
+text = "Max ammo"
+
+[node name="MaxAmmoNumber" type="SpinBox" parent="Magazine"]
+layout_mode = 2
+tooltip_text = "The width of this item in the inventory. A larger number means it will take up more horizontal inventory slots"
+value = 20.0
diff --git a/Scenes/ContentManager/Custom_Editors/ItemEditor/ItemRangedEditor.tscn b/Scenes/ContentManager/Custom_Editors/ItemEditor/ItemRangedEditor.tscn
new file mode 100644
index 00000000..219f960d
--- /dev/null
+++ b/Scenes/ContentManager/Custom_Editors/ItemEditor/ItemRangedEditor.tscn
@@ -0,0 +1,132 @@
+[gd_scene load_steps=2 format=3 uid="uid://cbke1yb3m7dra"]
+
+[ext_resource type="Script" path="res://Scripts/ItemRangedEditor.gd" id="1_my1v7"]
+
+[node name="ItemRangedEditor" type="Control" node_paths=PackedStringArray("UsedAmmoTextEdit", "UsedMagazineTextEdit", "RangeNumberBox", "SpreadNumberBox", "SwayNumberBox", "RecoilNumberBox", "UsedSkillTextEdit", "ReloadSpeedNumberBox", "FiringSpeedNumberBox")]
+layout_mode = 3
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+script = ExtResource("1_my1v7")
+UsedAmmoTextEdit = NodePath("Ranged/UsedAmmoTextEdit")
+UsedMagazineTextEdit = NodePath("Ranged/UsedMagazineTextEdit")
+RangeNumberBox = NodePath("Ranged/RangeNumber")
+SpreadNumberBox = NodePath("Ranged/SpreadNumber")
+SwayNumberBox = NodePath("Ranged/SwayNumber")
+RecoilNumberBox = NodePath("Ranged/RecoilNumber")
+UsedSkillTextEdit = NodePath("Ranged/UsedSkillTextEdit")
+ReloadSpeedNumberBox = NodePath("Ranged/ReloadSpeedNumber")
+FiringSpeedNumberBox = NodePath("Ranged/FiringSpeedNumber")
+
+[node name="Ranged" type="GridContainer" parent="."]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+size_flags_vertical = 3
+columns = 2
+
+[node name="UsedAmmoLabel" type="Label" parent="Ranged"]
+layout_mode = 2
+text = "Ammo"
+
+[node name="UsedAmmoTextEdit" type="TextEdit" parent="Ranged"]
+custom_minimum_size = Vector2(0, 30)
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_stretch_ratio = 0.1
+focus_next = NodePath("../UsedMagazineTextEdit")
+placeholder_text = "9mm"
+
+[node name="UsedMagazineLabel" type="Label" parent="Ranged"]
+layout_mode = 2
+text = "Magazine"
+
+[node name="UsedMagazineTextEdit" type="TextEdit" parent="Ranged"]
+custom_minimum_size = Vector2(0, 28)
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_stretch_ratio = 0.9
+focus_previous = NodePath("../UsedAmmoTextEdit")
+placeholder_text = "pistol_magazine"
+wrap_mode = 1
+
+[node name="RangeLabel" type="Label" parent="Ranged"]
+layout_mode = 2
+text = "Range"
+
+[node name="RangeNumber" type="SpinBox" parent="Ranged"]
+layout_mode = 2
+tooltip_text = "The width of this item in the inventory. A larger number means it will take up more horizontal inventory slots"
+min_value = 100.0
+max_value = 10000.0
+step = 100.0
+value = 1000.0
+
+[node name="SpreadLabel" type="Label" parent="Ranged"]
+layout_mode = 2
+text = "Spread"
+
+[node name="SpreadNumber" type="SpinBox" parent="Ranged"]
+layout_mode = 2
+tooltip_text = "The height of this item in the inventory. A larger number means it will take up more vertical inventory slots"
+min_value = 1.0
+value = 5.0
+
+[node name="SwayLabel" type="Label" parent="Ranged"]
+layout_mode = 2
+text = "Sway"
+
+[node name="SwayNumber" type="SpinBox" parent="Ranged"]
+layout_mode = 2
+tooltip_text = "The weight of this item in kg"
+value = 5.0
+
+[node name="RecoilLabel" type="Label" parent="Ranged"]
+layout_mode = 2
+text = "Recoil"
+
+[node name="RecoilNumber" type="SpinBox" parent="Ranged"]
+layout_mode = 2
+tooltip_text = "The amount of this item that will spawn in a stack by default"
+min_value = 1.0
+value = 20.0
+
+[node name="UsedSkillLabel" type="Label" parent="Ranged"]
+layout_mode = 2
+text = "Skill"
+
+[node name="UsedSkillTextEdit" type="TextEdit" parent="Ranged"]
+custom_minimum_size = Vector2(0, 28)
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_stretch_ratio = 0.9
+focus_previous = NodePath("../UsedAmmoTextEdit")
+placeholder_text = "short_guns"
+wrap_mode = 1
+
+[node name="ReloadSpeedLabel" type="Label" parent="Ranged"]
+layout_mode = 2
+text = "Reload speed"
+
+[node name="ReloadSpeedNumber" type="SpinBox" parent="Ranged"]
+layout_mode = 2
+tooltip_text = "The maximum number of this item that will fit in a stack"
+min_value = 0.1
+step = 0.1
+value = 2.5
+
+[node name="FiringSpeedLabel" type="Label" parent="Ranged"]
+layout_mode = 2
+text = "Firing speed"
+
+[node name="FiringSpeedNumber" type="SpinBox" parent="Ranged"]
+layout_mode = 2
+tooltip_text = "The maximum number of this item that will fit in a stack"
+min_value = 0.01
+step = 0.01
+value = 0.25
diff --git a/Scenes/ContentManager/Custom_Editors/MobEditor.tscn b/Scenes/ContentManager/Custom_Editors/MobEditor.tscn
new file mode 100644
index 00000000..7885b457
--- /dev/null
+++ b/Scenes/ContentManager/Custom_Editors/MobEditor.tscn
@@ -0,0 +1,195 @@
+[gd_scene load_steps=4 format=3 uid="uid://drby7yfu8t38e"]
+
+[ext_resource type="Script" path="res://Scenes/ContentManager/Custom_Editors/Scripts/MobEditor.gd" id="1_ubw0i"]
+[ext_resource type="Texture2D" uid="uid://c8ragmxitca47" path="res://Scenes/ContentManager/Mapeditor/Images/emptyTile.png" id="2_woy6i"]
+[ext_resource type="PackedScene" uid="uid://d1h1rpwt8f807" path="res://Scenes/ContentManager/Custom_Widgets/Sprite_Selector_Popup.tscn" id="3_847a0"]
+
+[node name="MobEditor" type="Control" node_paths=PackedStringArray("mobImageDisplay", "IDTextLabel", "PathTextLabel", "NameTextEdit", "DescriptionTextEdit", "mobSelector", "melee_damage_numedit", "melee_range_numedit", "health_numedit", "moveSpeed_numedit", "idle_move_speed_numedit", "sightRange_numedit", "senseRange_numedit", "hearingRange_numedit")]
+layout_mode = 3
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+script = ExtResource("1_ubw0i")
+mobImageDisplay = NodePath("VBoxContainer/FormGrid/MobImageDisplay")
+IDTextLabel = NodePath("VBoxContainer/FormGrid/IDTextLabel")
+PathTextLabel = NodePath("VBoxContainer/FormGrid/PathTextLabel")
+NameTextEdit = NodePath("VBoxContainer/FormGrid/NameTextEdit")
+DescriptionTextEdit = NodePath("VBoxContainer/FormGrid/DescriptionTextEdit")
+mobSelector = NodePath("Sprite_selector")
+melee_damage_numedit = NodePath("VBoxContainer/FormGrid/MeleeDamageSpinBox")
+melee_range_numedit = NodePath("VBoxContainer/FormGrid/MeleeRangeSpinbox")
+health_numedit = NodePath("VBoxContainer/FormGrid/HealthSpinBox")
+moveSpeed_numedit = NodePath("VBoxContainer/FormGrid/MoveSpeedSpinBox")
+idle_move_speed_numedit = NodePath("VBoxContainer/FormGrid/IdleMoveSpeedSpinBox")
+sightRange_numedit = NodePath("VBoxContainer/FormGrid/SightRangeSpinBox")
+senseRange_numedit = NodePath("VBoxContainer/FormGrid/SenseRangeSpinbox")
+hearingRange_numedit = NodePath("VBoxContainer/FormGrid/HearingRangeSpinbox")
+
+[node name="VBoxContainer" type="VBoxContainer" parent="."]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+
+[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"]
+layout_mode = 2
+
+[node name="CloseButton" type="Button" parent="VBoxContainer/HBoxContainer"]
+layout_mode = 2
+text = "Close"
+
+[node name="SaveButton" type="Button" parent="VBoxContainer/HBoxContainer"]
+layout_mode = 2
+text = "Save"
+
+[node name="FormGrid" type="GridContainer" parent="VBoxContainer"]
+layout_mode = 2
+size_flags_vertical = 3
+columns = 2
+
+[node name="ImageLabel" type="Label" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+text = "Sprite:"
+
+[node name="MobImageDisplay" type="TextureRect" parent="VBoxContainer/FormGrid"]
+custom_minimum_size = Vector2(128, 128)
+layout_mode = 2
+size_flags_horizontal = 0
+size_flags_stretch_ratio = 0.4
+texture = ExtResource("2_woy6i")
+expand_mode = 3
+
+[node name="PathLabel" type="Label" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+text = "Sprite name"
+
+[node name="PathTextLabel" type="Label" parent="VBoxContainer/FormGrid"]
+custom_minimum_size = Vector2(0, 30)
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_stretch_ratio = 0.1
+
+[node name="IDLabel" type="Label" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+text = "ID:"
+
+[node name="IDTextLabel" type="Label" parent="VBoxContainer/FormGrid"]
+custom_minimum_size = Vector2(0, 30)
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_stretch_ratio = 0.1
+
+[node name="NameLabel" type="Label" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+text = "Name"
+
+[node name="NameTextEdit" type="TextEdit" parent="VBoxContainer/FormGrid"]
+custom_minimum_size = Vector2(0, 30)
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_stretch_ratio = 0.1
+focus_next = NodePath("../DescriptionTextEdit")
+focus_previous = NodePath("../MobImageDisplay")
+placeholder_text = "Scorpion "
+
+[node name="DescriptionLabel" type="Label" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+text = "Description"
+
+[node name="DescriptionTextEdit" type="TextEdit" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_vertical = 3
+size_flags_stretch_ratio = 0.9
+focus_next = NodePath("../HealthSpinBox")
+focus_previous = NodePath("../NameTextEdit")
+placeholder_text = "A very dangerous land animal often found in dry climates"
+wrap_mode = 1
+
+[node name="HealthLabel" type="Label" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+text = "Health"
+
+[node name="HealthSpinBox" type="SpinBox" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+max_value = 1000.0
+value = 100.0
+
+[node name="MeleeDamageLabel" type="Label" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+text = "Melee damage"
+
+[node name="MeleeDamageSpinBox" type="SpinBox" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+value = 20.0
+
+[node name="MeleeRangeLabel" type="Label" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+text = "Melee range"
+
+[node name="MeleeRangeSpinbox" type="SpinBox" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+tooltip_text = "The maximum distance it can reach when attacking in melee"
+step = 0.5
+value = 1.5
+
+[node name="MoveSpeedLabel" type="Label" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+text = "Move speed"
+
+[node name="MoveSpeedSpinBox" type="SpinBox" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+tooltip_text = "The speed at which it moves"
+step = 0.1
+value = 1.0
+
+[node name="IdleMoveSpeedLabel" type="Label" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+text = "Idle move speed"
+
+[node name="IdleMoveSpeedSpinBox" type="SpinBox" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+tooltip_text = "The speed at which it moves when idle"
+step = 0.1
+value = 0.5
+
+[node name="SightRangeLabel" type="Label" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+text = "Sight range"
+
+[node name="SightRangeSpinBox" type="SpinBox" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+tooltip_text = "The maximum distance it can visually detect other entities"
+max_value = 500.0
+value = 200.0
+
+[node name="SenseRangeLabel" type="Label" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+text = "Sense range"
+
+[node name="SenseRangeSpinbox" type="SpinBox" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+tooltip_text = "The maximum distance at which it can detect entities with senses other then sight and hearing"
+value = 50.0
+
+[node name="HearingRangeLabel" type="Label" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+text = "Hearing range"
+
+[node name="HearingRangeSpinbox" type="SpinBox" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+tooltip_text = "The maximum distance at which it can detect entities trough hearing"
+max_value = 5000.0
+value = 1000.0
+
+[node name="Sprite_selector" parent="." instance=ExtResource("3_847a0")]
+visible = false
+
+[connection signal="button_up" from="VBoxContainer/HBoxContainer/CloseButton" to="." method="_on_close_button_button_up"]
+[connection signal="button_up" from="VBoxContainer/HBoxContainer/SaveButton" to="." method="_on_save_button_button_up"]
+[connection signal="gui_input" from="VBoxContainer/FormGrid/MobImageDisplay" to="." method="_on_mob_image_display_gui_input"]
+[connection signal="sprite_selected_ok" from="Sprite_selector" to="." method="_on_sprite_selector_sprite_selected_ok"]
diff --git a/Scenes/ContentManager/Custom_Editors/Scripts/FurnitureEditor.gd b/Scenes/ContentManager/Custom_Editors/Scripts/FurnitureEditor.gd
new file mode 100644
index 00000000..72b95ef4
--- /dev/null
+++ b/Scenes/ContentManager/Custom_Editors/Scripts/FurnitureEditor.gd
@@ -0,0 +1,108 @@
+extends Control
+
+#This scene is intended to be used inside the content editor
+#It is supposed to edit exactly one piece of furniture
+#It expects to save the data to a JSON file that contains all furniture data from a mod
+#To load data, provide the name of the furniture data file and an ID
+
+@export var furnitureImageDisplay: TextureRect = null
+@export var IDTextLabel: Label = null
+@export var NameTextEdit: TextEdit = null
+@export var DescriptionTextEdit: TextEdit = null
+@export var CategoriesList: Control = null
+@export var furnitureSelector: Popup = null
+@export var imageNameStringLabel: Label = null
+@export var moveableCheckboxButton: CheckBox = null
+@export var edgeSnappingOptionButton: OptionButton = null
+var control_elements: Array = []
+
+# This signal will be emitted when the user presses the save button
+# This signal should alert Gamedata that the furniture data array should be saved to disk
+# The content editor has connected this signal to Gamedata already
+signal data_changed()
+
+func _ready():
+ control_elements = [furnitureImageDisplay,NameTextEdit,DescriptionTextEdit]
+
+# The data that represents this furniture
+# The data is selected from the Gamedata.data.furniture.data array
+# based on the ID that the user has selected in the content editor
+var contentData: Dictionary = {}:
+ set(value):
+ contentData = value
+ load_furniture_data()
+ furnitureSelector.sprites_collection = Gamedata.data.furniture.sprites
+
+# This function updates the form based on the contentData that has been loaded
+func load_furniture_data():
+ if furnitureImageDisplay != null and contentData.has("sprite"):
+ furnitureImageDisplay.texture = Gamedata.data.furniture.sprites[contentData["sprite"]]
+ imageNameStringLabel.text = contentData["sprite"]
+ if IDTextLabel != null:
+ IDTextLabel.text = str(contentData["id"])
+ if NameTextEdit != null and contentData.has("name"):
+ NameTextEdit.text = contentData["name"]
+ if DescriptionTextEdit != null and contentData.has("description"):
+ DescriptionTextEdit.text = contentData["description"]
+ if CategoriesList != null and contentData.has("categories"):
+ CategoriesList.clear_list()
+ for category in contentData["categories"]:
+ CategoriesList.add_item_to_list(category)
+ if moveableCheckboxButton != null and contentData.has("moveable"):
+ moveableCheckboxButton.button_pressed = contentData["moveable"]
+ if edgeSnappingOptionButton != null and contentData.has("edgesnapping"):
+ self.select_option_by_string(contentData["edgesnapping"])
+
+#The editor is closed, destroy the instance
+#TODO: Check for unsaved changes
+func _on_close_button_button_up():
+ queue_free()
+
+
+# This function will select the option in the edgeSnappingOptionButton that matches the given string.
+# If no match is found, it does nothing.
+func select_option_by_string(option_string: String) -> void:
+ for i in range(edgeSnappingOptionButton.get_item_count()):
+ if edgeSnappingOptionButton.get_item_text(i) == option_string:
+ edgeSnappingOptionButton.selected = i
+ return
+ print_debug("No matching option found for the string: " + option_string)
+
+
+# This function takes all data from the form elements stores them in the contentData
+# Since contentData is a reference to an item in Gamedata.data.furniture.data
+# the central array for furnituredata is updated with the changes as well
+# The function will signal to Gamedata that the data has changed and needs to be saved
+func _on_save_button_button_up():
+ contentData["sprite"] = imageNameStringLabel.text
+ contentData["name"] = NameTextEdit.text
+ contentData["description"] = DescriptionTextEdit.text
+ contentData["categories"] = CategoriesList.get_items()
+ contentData["moveable"] = moveableCheckboxButton.button_pressed
+ contentData["edgesnapping"] = edgeSnappingOptionButton.get_item_text(edgeSnappingOptionButton.selected)
+ data_changed.emit()
+
+func _input(event):
+ if event.is_action_pressed("ui_focus_next"):
+ for myControl in control_elements:
+ if myControl.has_focus():
+ if Input.is_key_pressed(KEY_SHIFT): # Check if Shift key
+ if !myControl.focus_previous.is_empty():
+ myControl.get_node(myControl.focus_previous).grab_focus()
+ else:
+ if !myControl.focus_next.is_empty():
+ myControl.get_node(myControl.focus_next).grab_focus()
+ break
+ get_viewport().set_input_as_handled()
+
+#When the furnitureImageDisplay is clicked, the user will be prompted to select an image from
+# "res://Mods/Core/Furnitures/". The texture of the furnitureImageDisplay will change to the selected image
+func _on_furniture_image_display_gui_input(event):
+ if event is InputEventMouseButton and event.pressed:
+ furnitureSelector.show()
+
+func _on_sprite_selector_sprite_selected_ok(clicked_sprite) -> void:
+ var furnitureTexture: Resource = clicked_sprite.get_texture()
+ furnitureImageDisplay.texture = furnitureTexture
+ imageNameStringLabel.text = furnitureTexture.resource_path.get_file()
+
diff --git a/Scenes/ContentManager/Custom_Editors/Scripts/MobEditor.gd b/Scenes/ContentManager/Custom_Editors/Scripts/MobEditor.gd
new file mode 100644
index 00000000..9c8232a1
--- /dev/null
+++ b/Scenes/ContentManager/Custom_Editors/Scripts/MobEditor.gd
@@ -0,0 +1,98 @@
+extends Control
+
+#This scene is intended to be used inside the content editor
+#It is supposed to edit exactly one mob (friend and foe)
+#It expects to save the data to a JSON file that contains all data from a mod
+#To load data, provide the name of the mob data file and an ID
+
+@export var mobImageDisplay: TextureRect = null
+@export var IDTextLabel: Label = null
+@export var PathTextLabel: Label = null
+@export var NameTextEdit: TextEdit = null
+@export var DescriptionTextEdit: TextEdit = null
+@export var mobSelector: Popup = null
+@export var melee_damage_numedit: SpinBox
+@export var melee_range_numedit: SpinBox
+@export var health_numedit: SpinBox
+@export var moveSpeed_numedit: SpinBox
+@export var idle_move_speed_numedit: SpinBox
+@export var sightRange_numedit: SpinBox
+@export var senseRange_numedit: SpinBox
+@export var hearingRange_numedit: SpinBox
+# This signal will be emitted when the user presses the save button
+# This signal should alert Gamedata that the mob data array should be saved to disk
+# The content editor has connected this signal to Gamedata already
+signal data_changed()
+
+# The data that represents this mob
+# The data is selected from the Gamedata.data.mobs.data array
+# based on the ID that the user has selected in the content editor
+var contentData: Dictionary = {}:
+ set(value):
+ contentData = value
+ load_mob_data()
+ mobSelector.sprites_collection = Gamedata.data.mobs.sprites
+
+#This function update the form based on the contentData that has been loaded
+func load_mob_data() -> void:
+ if mobImageDisplay != null and contentData.has("sprite"):
+ mobImageDisplay.texture = Gamedata.data.mobs.sprites[contentData["sprite"]]
+ PathTextLabel.text = contentData["sprite"]
+ if IDTextLabel != null:
+ IDTextLabel.text = str(contentData["id"])
+ if NameTextEdit != null and contentData.has("name"):
+ NameTextEdit.text = contentData["name"]
+ if DescriptionTextEdit != null and contentData.has("description"):
+ DescriptionTextEdit.text = contentData["description"]
+ if melee_damage_numedit != null and contentData.has("melee_damage"):
+ melee_damage_numedit.get_line_edit().text = contentData["melee_damage"]
+ if melee_range_numedit != null and contentData.has("melee_range"):
+ melee_range_numedit.get_line_edit().text = contentData["melee_range"]
+ if health_numedit != null and contentData.has("health"):
+ health_numedit.get_line_edit().text = contentData["health"]
+ if moveSpeed_numedit != null and contentData.has("move_speed"):
+ moveSpeed_numedit.get_line_edit().text = contentData["move_speed"]
+ if idle_move_speed_numedit != null and contentData.has("idle_move_speed"):
+ idle_move_speed_numedit.get_line_edit().text = contentData["idle_move_speed"]
+ if sightRange_numedit != null and contentData.has("sight_range"):
+ sightRange_numedit.get_line_edit().text = contentData["sight_range"]
+ if senseRange_numedit != null and contentData.has("sense_range"):
+ senseRange_numedit.get_line_edit().text = contentData["sense_range"]
+ if hearingRange_numedit != null and contentData.has("hearing_range"):
+ hearingRange_numedit.get_line_edit().text = contentData["hearing_range"]
+
+
+#The editor is closed, destroy the instance
+#TODO: Check for unsaved changes
+func _on_close_button_button_up() -> void:
+ queue_free()
+
+# This function takes all data fro the form elements stores them in the contentData
+# Since contentData is a reference to an item in Gamedata.data.mobs.data
+# the central array for mobdata is updated with the changes as well
+# The function will signal to Gamedata that the data has changed and needs to be saved
+func _on_save_button_button_up() -> void:
+ contentData["sprite"] = PathTextLabel.text
+ contentData["name"] = NameTextEdit.text
+ contentData["description"] = DescriptionTextEdit.text
+ contentData["melee_damage"] = melee_damage_numedit.get_line_edit().text
+ contentData["melee_range"] = melee_range_numedit.get_line_edit().text
+ contentData["health"] = health_numedit.get_line_edit().text
+ contentData["move_speed"] = moveSpeed_numedit.get_line_edit().text
+ contentData["idle_move_speed"] = idle_move_speed_numedit.get_line_edit().text
+ contentData["sight_range"] = sightRange_numedit.get_line_edit().text
+ contentData["sense_range"] = senseRange_numedit.get_line_edit().text
+ contentData["hearing_range"] = hearingRange_numedit.get_line_edit().text
+ data_changed.emit()
+
+#When the mobImageDisplay is clicked, the user will be prompted to select an image from
+# "res://Mods/Core/mobs/". The texture of the mobImageDisplay will change to the selected image
+func _on_mob_image_display_gui_input(event) -> void:
+ if event is InputEventMouseButton and event.pressed:
+ mobSelector.show()
+
+
+func _on_sprite_selector_sprite_selected_ok(clicked_sprite) -> void:
+ var mobTexture: Resource = clicked_sprite.get_texture()
+ mobImageDisplay.texture = mobTexture
+ PathTextLabel.text = mobTexture.resource_path.get_file()
diff --git a/Scenes/ContentManager/Custom_Editors/Scripts/TerrainTileEditor.gd b/Scenes/ContentManager/Custom_Editors/Scripts/TerrainTileEditor.gd
new file mode 100644
index 00000000..8fcb871d
--- /dev/null
+++ b/Scenes/ContentManager/Custom_Editors/Scripts/TerrainTileEditor.gd
@@ -0,0 +1,124 @@
+extends Control
+
+#This scene is intended to be used inside the content editor
+#It is supposed to edit exactly one tile
+#It expects to save the data to a JSON file that contains all tile data from a mod
+#To load data, provide the name of the tile data file and an ID
+
+@export var tileImageDisplay: TextureRect = null
+@export var IDTextLabel: Label = null
+@export var NameTextEdit: TextEdit = null
+@export var DescriptionTextEdit: TextEdit = null
+@export var CategoriesList: Control = null
+@export var tileSelector: Popup = null
+@export var imageNameStringLabel: Label = null
+@export var cubeShapeCheckbox: Button = null
+@export var slopeShapeCheckbox: Button = null
+# This signal will be emitted when the user presses the save button
+# This signal should alert Gamedata that the tile data array should be saved to disk
+# The content editor has connected this signal to Gamedata already
+signal data_changed()
+
+var control_elements: Array = []
+# The data that represents this tile
+# The data is selected from the Gamedata.data.tiles.data array
+# based on the ID that the user has selected in the content editor
+var contentData: Dictionary = {}:
+ set(value):
+ contentData = value
+ load_tile_data()
+ tileSelector.sprites_collection = Gamedata.data.tiles.sprites
+
+
+func _ready():
+ control_elements = [
+ tileImageDisplay,
+ NameTextEdit,
+ DescriptionTextEdit,
+ CategoriesList,
+ cubeShapeCheckbox,
+ slopeShapeCheckbox
+ ]
+
+func _input(event):
+ if event.is_action_pressed("ui_focus_next"):
+ for myControl in control_elements:
+ if myControl.has_focus():
+ if Input.is_key_pressed(KEY_SHIFT): # Check if Shift key
+ if !myControl.focus_previous.is_empty():
+ myControl.get_node(myControl.focus_previous).grab_focus()
+ else:
+ if !myControl.focus_next.is_empty():
+ myControl.get_node(myControl.focus_next).grab_focus()
+ break
+ get_viewport().set_input_as_handled()
+
+# This function updates the form based on the contentData that has been loaded
+func load_tile_data():
+ if tileImageDisplay != null and contentData.has("sprite"):
+ var myTexture: Resource = Gamedata.data.tiles.sprites[contentData["sprite"]]
+ tileImageDisplay.texture = myTexture.albedo_texture
+ imageNameStringLabel.text = contentData["sprite"]
+ if IDTextLabel != null:
+ IDTextLabel.text = str(contentData["id"])
+ if NameTextEdit != null and contentData.has("name"):
+ NameTextEdit.text = contentData["name"]
+ if DescriptionTextEdit != null and contentData.has("description"):
+ DescriptionTextEdit.text = contentData["description"]
+ if CategoriesList != null and contentData.has("categories"):
+ CategoriesList.clear_list()
+ for category in contentData["categories"]:
+ CategoriesList.add_item_to_list(category)
+ if cubeShapeCheckbox != null and contentData.has("shape"):
+ # By default the cubeShapeCheckbox is selected so we only account for slope
+ if contentData["shape"] == "slope":
+ cubeShapeCheckbox.button_pressed = false
+ slopeShapeCheckbox.button_pressed = true
+
+#The editor is closed, destroy the instance
+#TODO: Check for unsaved changes
+func _on_close_button_button_up():
+ queue_free()
+
+# This function takes all data fro the form elements stores them in the contentData
+# Since contentData is a reference to an item in Gamedata.data.tiles.data
+# the central array for tiledata is updated with the changes as well
+# The function will signal to Gamedata that the data has changed and needs to be saved
+func _on_save_button_button_up():
+ contentData["sprite"] = imageNameStringLabel.text
+ contentData["name"] = NameTextEdit.text
+ contentData["description"] = DescriptionTextEdit.text
+ contentData["categories"] = CategoriesList.get_items()
+ contentData["shape"] = "cube"
+ if slopeShapeCheckbox.button_pressed:
+ contentData["shape"] = "slope"
+ data_changed.emit()
+
+#When the tileImageDisplay is clicked, the user will be prompted to select an image from
+# "res://Mods/Core/Tiles/". The texture of the tileImageDisplay will change to the selected image
+func _on_tile_image_display_gui_input(event):
+ if event is InputEventMouseButton and event.pressed:
+ tileSelector.show()
+
+func _on_sprite_selector_sprite_selected_ok(clicked_sprite) -> void:
+ var tileTexture: Resource = clicked_sprite.get_texture()
+ tileImageDisplay.texture = tileTexture
+ imageNameStringLabel.text = tileTexture.resource_path.get_file()
+
+# The tile can only be shaped like either a cube or a slope
+# If the user clicks the cube shape button then only the cube shape
+# button should be selected and no other shape buttons
+# Having all shape buttons deselected should not happen.
+func _on_cube_shape_check_box_button_up():
+ slopeShapeCheckbox.button_pressed = false
+ if !cubeShapeCheckbox.button_pressed:
+ cubeShapeCheckbox.button_pressed = true
+
+# The tile can only be shaped like either a cube or a slope
+# If the user clicks the slope shape button then only the slope shape
+# button should be selected and no other shape buttons.
+# Having all shape buttons deselected should not happen.
+func _on_slope_shape_check_box_button_up():
+ cubeShapeCheckbox.button_pressed = false
+ if !slopeShapeCheckbox.button_pressed:
+ slopeShapeCheckbox.button_pressed = true
diff --git a/Scenes/ContentManager/Custom_Editors/TacticalMapEditor/Scripts/EntitiesContainer.gd b/Scenes/ContentManager/Custom_Editors/TacticalMapEditor/Scripts/EntitiesContainer.gd
new file mode 100644
index 00000000..71bcacd5
--- /dev/null
+++ b/Scenes/ContentManager/Custom_Editors/TacticalMapEditor/Scripts/EntitiesContainer.gd
@@ -0,0 +1,56 @@
+extends VBoxContainer
+
+@export var scrolling_Flow_Container: PackedScene = null
+@export var tileBrush: PackedScene = null
+
+var instanced_brushes: Array[Node] = []
+
+signal tile_brush_selection_change(tilebrush: Control)
+var selected_brush: Control:
+ set(newBrush):
+ selected_brush = newBrush
+ tile_brush_selection_change.emit(selected_brush)
+
+func _ready():
+ loadMaps()
+
+
+# this function will read all files in Gamedata.data.tiles.data and creates tilebrushes for each tile in the list. It will make separate lists for each category that the tiles belong to.
+func loadMaps():
+ var mapsList: Array = Gamedata.data.maps.data
+ var newTilesList: Control = scrolling_Flow_Container.instantiate()
+ newTilesList.header = "maps"
+ add_child(newTilesList)
+
+ for map in mapsList:
+ # Extract the base name without the extension
+ var base_name = map.get_basename()
+ # If the file has an image to represent it's content, load it
+ if Gamedata.data.maps.sprites.has(base_name + ".png"):
+ var mySprite: Resource = Gamedata.data.maps.sprites[base_name + ".png"]
+ if mySprite:
+ # Create a TextureRect node
+ var brushInstance = tileBrush.instantiate()
+ # Assign the texture to the TextureRect
+ brushInstance.set_tile_texture(mySprite)
+ # Since the map editor needs to knw what tile ID is used,
+ # We store the tile id in a variable in the brush
+ brushInstance.mapID = map
+ brushInstance.tilebrush_clicked.connect(tilebrush_clicked)
+ # Add the TextureRect as a child to the TilesList
+ newTilesList.add_content_item(brushInstance)
+ instanced_brushes.append(brushInstance)
+
+#Mark the clicked tilebrush as selected, but only after deselecting all other brushes
+func tilebrush_clicked(tilebrush: Control) -> void:
+ deselect_all_brushes()
+ # If the clicked brush was not select it, we select it. Otherwise we deselect it
+ if selected_brush != tilebrush:
+ selected_brush = tilebrush
+ selected_brush.set_selected(true)
+ else:
+ selected_brush = null
+
+func deselect_all_brushes():
+ for child in instanced_brushes:
+ child.set_selected(false)
diff --git a/Scenes/ContentManager/Custom_Editors/TacticalMapEditor/Scripts/TacticalMapEditor.gd b/Scenes/ContentManager/Custom_Editors/TacticalMapEditor/Scripts/TacticalMapEditor.gd
new file mode 100644
index 00000000..1a564408
--- /dev/null
+++ b/Scenes/ContentManager/Custom_Editors/TacticalMapEditor/Scripts/TacticalMapEditor.gd
@@ -0,0 +1,38 @@
+extends Control
+
+
+@export var tileGrid: GridContainer = null
+@export var mapwidthTextEdit: TextEdit = null
+@export var mapheightTextEdit: TextEdit = null
+
+var tileSize: int = 128
+var mapHeight: int = 3
+var mapWidth: int = 3
+var contentSource: String = "":
+ set(newSource):
+ contentSource = newSource
+ tileGrid.load_tacticalmap_json_file()
+
+# In tacticalmapeditor.gd
+func _ready() -> void:
+ # Connect the signal from TileGrid to this script
+ tileGrid.connect("map_dimensions_changed",_on_map_dimensions_changed)
+
+func _on_map_height_text_changed() -> void:
+ mapHeight = int(mapheightTextEdit.text)
+ tileGrid.resetGrid()
+
+func _on_map_width_text_changed() -> void:
+ mapWidth = int(mapwidthTextEdit.text)
+ tileGrid.resetGrid()
+
+#The editor is closed, destroy the instance
+#TODO: Check for unsaved changes
+func _on_close_button_button_up() -> void:
+ queue_free()
+
+
+# Handler for the signal
+func _on_map_dimensions_changed(new_map_width: int, new_map_height: int) -> void:
+ mapwidthTextEdit.text = str(new_map_width)
+ mapheightTextEdit.text = str(new_map_height)
diff --git a/Scenes/ContentManager/Custom_Editors/TacticalMapEditor/Scripts/TacticalMapEditorTile.gd b/Scenes/ContentManager/Custom_Editors/TacticalMapEditor/Scripts/TacticalMapEditorTile.gd
new file mode 100644
index 00000000..2376adda
--- /dev/null
+++ b/Scenes/ContentManager/Custom_Editors/TacticalMapEditor/Scripts/TacticalMapEditorTile.gd
@@ -0,0 +1,60 @@
+extends Control
+
+#If a tile has no data, we save an empty object. Tiledata can have:
+# id, rotation, mob
+const defaultTileData: Dictionary = {}
+const defaultTexture: String = "res://Scenes/ContentManager/Mapeditor/Images/emptyTile.png"
+const aboveTexture: String = "res://Scenes/ContentManager/Mapeditor/Images/tileAbove.png"
+var tileData: Dictionary = defaultTileData.duplicate():
+ set(data):
+ tileData = data
+ if tileData.has("id") and tileData.id != "":
+ $TileSprite.texture = Gamedata.data.maps.sprites[tileData.id.replace("json", "png")]
+ if tileData.has("rotation"):
+ set_rotation_amount(tileData.rotation)
+ else:
+ $TileSprite.texture = load(defaultTexture)
+signal tile_clicked(clicked_tile: Control)
+
+func _on_texture_rect_gui_input(event: InputEvent) -> void:
+ if event is InputEventMouseButton:
+ match event.button_index:
+ MOUSE_BUTTON_LEFT:
+ if event.pressed:
+ tile_clicked.emit(self)
+
+func set_rotation_amount(amount: int) -> void:
+ $TileSprite.rotation_degrees = amount
+ tileData.rotation = amount
+
+func get_rotation_amount() -> int:
+ return $TileSprite.rotation_degrees
+
+func set_tile_id(id: String) -> void:
+ if id == "":
+ tileData.erase("id")
+ $TileSprite.texture = load(defaultTexture)
+ else:
+ tileData.id = id
+ $TileSprite.texture = Gamedata.data.maps.sprites[id.replace("json", "png")]
+
+func _on_texture_rect_mouse_entered() -> void:
+ if Input.is_mouse_button_pressed(MOUSE_BUTTON_LEFT):
+ tile_clicked.emit(self)
+
+func set_default() -> void:
+ tileData = defaultTileData.duplicate()
+
+func highlight() -> void:
+ $TileSprite.modulate = Color(0.227, 0.635, 0.757)
+
+func unhighlight() -> void:
+ $TileSprite.modulate = Color(1,1,1)
+
+func set_clickable(clickable: bool):
+ if !clickable:
+ mouse_filter = MOUSE_FILTER_IGNORE
+ $TileSprite.mouse_filter = MOUSE_FILTER_IGNORE
+
+func get_tile_texture():
+ return $TileSprite.texture
diff --git a/Scenes/ContentManager/Custom_Editors/TacticalMapEditor/Scripts/TacticalMapEditorTileBrush.gd b/Scenes/ContentManager/Custom_Editors/TacticalMapEditor/Scripts/TacticalMapEditorTileBrush.gd
new file mode 100644
index 00000000..0d22874c
--- /dev/null
+++ b/Scenes/ContentManager/Custom_Editors/TacticalMapEditor/Scripts/TacticalMapEditorTileBrush.gd
@@ -0,0 +1,25 @@
+extends Control
+
+signal tilebrush_clicked(clicked_tile: Control)
+var mapID: String = ""
+var selected: bool = false
+var entityType: String = "tile"
+
+#When the event was a left mouse button press, adjust the modulate property of the $TileSprite to be 3aa2c1
+func _on_texture_rect_gui_input(event):
+ if event is InputEventMouseButton and event.button_index == MOUSE_BUTTON_LEFT and event.pressed:
+ tilebrush_clicked.emit(self)
+
+func set_tile_texture(res: Resource) -> void:
+ $TileSprite.texture = res
+
+func get_texture() -> Resource:
+ return $TileSprite.texture
+
+#Mark the clicked tilebrush as selected
+func set_selected(is_selected: bool) -> void:
+ selected = is_selected
+ if selected:
+ modulate = Color(0.227, 0.635, 0.757)
+ else:
+ modulate = Color(1,1,1)
diff --git a/Scenes/ContentManager/Custom_Editors/TacticalMapEditor/Scripts/TileGrid.gd b/Scenes/ContentManager/Custom_Editors/TacticalMapEditor/Scripts/TileGrid.gd
new file mode 100644
index 00000000..4f3ef65e
--- /dev/null
+++ b/Scenes/ContentManager/Custom_Editors/TacticalMapEditor/Scripts/TileGrid.gd
@@ -0,0 +1,130 @@
+extends GridContainer
+
+signal map_dimensions_changed(new_map_width, new_map_height)
+@export var tileScene: PackedScene
+#This is the index of the level we are on. 0 is ground level. can be -10 to +10
+var currentLevel: int = 10
+#Contains the data of every tile in the current level, the ground level or level 0 by default
+var currentLevelData: Array = []
+@export var mapEditor: Control
+@export var buttonRotateRight: Button
+var selected_brush: Control
+
+var drawRectangle: bool = false
+var erase: bool = false
+var snapAmount: float
+# Initialize new mapdata with a 3x3 empty map grid
+var defaultMapData: Dictionary = {"mapwidth": 3, "mapheight": 3, "maps": [{},{},{},{},{},{},{},{},{}]}
+var rotationAmount: int = 0
+#Contains map metadata like size as well as the data on all levels
+var mapData: Dictionary = defaultMapData.duplicate():
+ set(data):
+ if data.is_empty():
+ mapData = defaultMapData.duplicate()
+ else:
+ mapData = data.duplicate()
+ loadLevel()
+
+func _ready():
+ createTiles()
+
+# This function will fill fill this GridContainer with a grid of 3x3 instances of "res://Scenes/ContentManager/Custom_Editors/TacticalMapEditor/TacticalMapEditorTile.tscn"
+func createTiles():
+ columns = mapEditor.mapWidth
+ for x in range(mapEditor.mapWidth):
+ for y in range(mapEditor.mapHeight):
+ var tileInstance: Control = tileScene.instantiate()
+ add_child(tileInstance)
+ tileInstance.connect("tile_clicked",grid_tile_clicked)
+
+func resetGrid():
+ # Clear the existing children
+ for child in get_children():
+ child.queue_free()
+
+ # Update mapData with new dimensions
+ mapData.mapwidth = mapEditor.mapWidth
+ mapData.mapheight = mapEditor.mapHeight
+ var newMapsArray = []
+ for x in range(mapEditor.mapWidth):
+ for y in range(mapEditor.mapHeight):
+ newMapsArray.append({}) # Add an empty dictionary for each tile
+
+ mapData.maps = newMapsArray
+
+ # Recreate tiles
+ createTiles()
+
+
+
+#When one of the grid tiles is clicked, we paint the tile accordingly
+func grid_tile_clicked(clicked_tile):
+ paint_single_tile(clicked_tile)
+
+
+# We paint a single tile if draw rectangle is not selected
+# Either erase the tile or paint it if a brush is selected.
+func paint_single_tile(clicked_tile):
+ if drawRectangle or !clicked_tile:
+ return
+ if erase:
+ if selected_brush:
+ clicked_tile.set_tile_id("")
+ clicked_tile.set_rotation_amount(0)
+ else:
+ clicked_tile.set_default()
+ elif selected_brush:
+ clicked_tile.set_tile_id(selected_brush.mapID)
+ clicked_tile.set_rotation_amount(rotationAmount)
+
+#This function takes the mapData property and saves all of it as a json file.
+func save_map_json_file():
+ # Convert the TileGrid.mapData to a JSON string
+ storeLevelData()
+ var map_data_json = JSON.stringify(mapData.duplicate(), "\t")
+ Helper.json_helper.write_json_file(mapEditor.contentSource, map_data_json)
+
+#When this function is called, loop over all the TileGrid's children and get the tileData property. Store this data in the currentLevelData array
+func storeLevelData():
+ currentLevelData.clear()
+ for child in get_children():
+ currentLevelData.append(child.tileData)
+ mapData.maps = currentLevelData.duplicate()
+
+func load_tacticalmap_json_file():
+ var fileToLoad: String = mapEditor.contentSource
+ mapData = Helper.json_helper.load_json_dictionary_file(fileToLoad)
+ # Notify about the change in map dimensions
+ map_dimensions_changed.emit(mapData.mapwidth, mapData.mapheight)
+
+func loadLevel():
+ if mapData.is_empty():
+ print_debug("Tried to load data from an empty mapData dictionary")
+ return
+
+ # Clear existing children
+ for child in get_children():
+ child.queue_free()
+
+ # Set the number of columns based on mapWidth
+ columns = mapData.mapwidth
+
+ # Recreate the grid based on mapData dimensions
+ var newLevelData: Array = mapData.maps
+ var index: int = 0
+ for x in range(mapData.mapwidth):
+ for y in range(mapData.mapheight):
+ var tileInstance: Control = tileScene.instantiate()
+ add_child(tileInstance)
+ tileInstance.connect("tile_clicked",grid_tile_clicked)
+
+ # Load tile data if available, otherwise use default data
+ if index < newLevelData.size():
+ tileInstance.tileData = newLevelData[index]
+ else:
+ tileInstance.set_default()
+ index += 1
+
+
+func _on_entities_container_tile_brush_selection_change(tilebrush):
+ selected_brush = tilebrush
diff --git a/Scenes/ContentManager/Custom_Editors/TacticalMapEditor/TacticalMapEditor.tscn b/Scenes/ContentManager/Custom_Editors/TacticalMapEditor/TacticalMapEditor.tscn
new file mode 100644
index 00000000..3d992a9e
--- /dev/null
+++ b/Scenes/ContentManager/Custom_Editors/TacticalMapEditor/TacticalMapEditor.tscn
@@ -0,0 +1,144 @@
+[gd_scene load_steps=16 format=3 uid="uid://0r8ni3u0dosg"]
+
+[ext_resource type="Script" path="res://Scenes/ContentManager/Custom_Editors/TacticalMapEditor/Scripts/TacticalMapEditor.gd" id="1_bfw3n"]
+[ext_resource type="Texture2D" uid="uid://b6m2bbbpmsyik" path="res://Images/Icons/IconRotateRightDark.png" id="2_qcvqe"]
+[ext_resource type="Texture2D" uid="uid://5fsf8rh6w0pb" path="res://Images/Icons/IconRectangleChecked.png" id="3_u7g7j"]
+[ext_resource type="Texture2D" uid="uid://cxhp6hye2ufp2" path="res://Images/Icons/IconRectangleUnchecked.png" id="4_no6mb"]
+[ext_resource type="Texture2D" uid="uid://7pbgyyv6lna1" path="res://Images/Icons/IconEraserChecked.png" id="5_142rt"]
+[ext_resource type="Texture2D" uid="uid://hik7bkdfc51t" path="res://Images/Icons/IconEraserUnchecked.png" id="6_w0gff"]
+[ext_resource type="Script" path="res://Scenes/ContentManager/Custom_Editors/TacticalMapEditor/Scripts/TileGrid.gd" id="7_ji7x2"]
+[ext_resource type="PackedScene" uid="uid://f6kl6bo0wsmk" path="res://Scenes/ContentManager/Custom_Editors/TacticalMapEditor/TacticalMapEditorTile.tscn" id="8_pt28t"]
+[ext_resource type="Script" path="res://Scenes/ContentManager/Custom_Editors/TacticalMapEditor/Scripts/EntitiesContainer.gd" id="9_u8o0i"]
+[ext_resource type="PackedScene" uid="uid://be62h2ytgw2kb" path="res://Scenes/ContentManager/Custom_Widgets/Scrolling_Flow_Container.tscn" id="10_lnsqy"]
+[ext_resource type="PackedScene" uid="uid://c28vw5hmwvmlf" path="res://Scenes/ContentManager/Custom_Editors/TacticalMapEditor/TacticalMapEditorTileBrush.tscn" id="11_bh5ke"]
+
+[sub_resource type="Gradient" id="Gradient_x1sdl"]
+
+[sub_resource type="GradientTexture2D" id="GradientTexture2D_rxahe"]
+gradient = SubResource("Gradient_x1sdl")
+width = 24
+
+[sub_resource type="InputEventKey" id="InputEventKey_nrfa0"]
+device = -1
+keycode = 82
+unicode = 114
+
+[sub_resource type="Shortcut" id="Shortcut_hehp2"]
+events = [SubResource("InputEventKey_nrfa0")]
+
+[node name="TacticalMapEditor" type="Control" node_paths=PackedStringArray("tileGrid", "mapwidthTextEdit", "mapheightTextEdit")]
+layout_mode = 3
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+script = ExtResource("1_bfw3n")
+tileGrid = NodePath("HSplitContainer/MapeditorContainer/HBoxContainer/TileGrid")
+mapwidthTextEdit = NodePath("HSplitContainer/MapeditorContainer/Toolbar/MapWidth")
+mapheightTextEdit = NodePath("HSplitContainer/MapeditorContainer/Toolbar/MapHeight")
+
+[node name="HSplitContainer" type="HSplitContainer" parent="."]
+layout_mode = 1
+anchors_preset = -1
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+theme_override_icons/grabber = SubResource("GradientTexture2D_rxahe")
+
+[node name="MapeditorContainer" type="VBoxContainer" parent="HSplitContainer"]
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_stretch_ratio = 0.5
+
+[node name="Toolbar" type="HBoxContainer" parent="HSplitContainer/MapeditorContainer"]
+clip_contents = true
+custom_minimum_size = Vector2(0, 24)
+layout_mode = 2
+size_flags_stretch_ratio = 0.05
+
+[node name="CloseButton" type="Button" parent="HSplitContainer/MapeditorContainer/Toolbar"]
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_stretch_ratio = 0.15
+text = "Close"
+
+[node name="SaveButton" type="Button" parent="HSplitContainer/MapeditorContainer/Toolbar"]
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_stretch_ratio = 0.15
+text = "Save"
+
+[node name="mapsizelabel" type="Label" parent="HSplitContainer/MapeditorContainer/Toolbar"]
+layout_mode = 2
+text = "Size: W:"
+
+[node name="MapWidth" type="TextEdit" parent="HSplitContainer/MapeditorContainer/Toolbar"]
+clip_contents = true
+custom_minimum_size = Vector2(40, 22)
+layout_mode = 2
+theme_override_constants/line_spacing = 0
+theme_override_font_sizes/font_size = 16
+text = "3"
+
+[node name="MapHeightLabel" type="Label" parent="HSplitContainer/MapeditorContainer/Toolbar"]
+layout_mode = 2
+text = "H:"
+
+[node name="MapHeight" type="TextEdit" parent="HSplitContainer/MapeditorContainer/Toolbar"]
+clip_contents = true
+custom_minimum_size = Vector2(40, 22)
+layout_mode = 2
+theme_override_constants/line_spacing = 0
+theme_override_font_sizes/font_size = 16
+text = "3"
+
+[node name="RotateRight" type="CheckBox" parent="HSplitContainer/MapeditorContainer/Toolbar"]
+layout_mode = 2
+tooltip_text = "Rotate the brush to paint with rotation"
+theme_override_icons/checked = ExtResource("2_qcvqe")
+theme_override_icons/unchecked = ExtResource("2_qcvqe")
+shortcut = SubResource("Shortcut_hehp2")
+text = "0"
+
+[node name="DrawRectangle" type="CheckBox" parent="HSplitContainer/MapeditorContainer/Toolbar"]
+layout_mode = 2
+tooltip_text = "Paint in a rectangle"
+theme_override_icons/checked = ExtResource("3_u7g7j")
+theme_override_icons/unchecked = ExtResource("4_no6mb")
+
+[node name="Erase" type="CheckBox" parent="HSplitContainer/MapeditorContainer/Toolbar"]
+layout_mode = 2
+tooltip_text = "Erase tiles on the map"
+theme_override_icons/checked = ExtResource("5_142rt")
+theme_override_icons/unchecked = ExtResource("6_w0gff")
+
+[node name="HBoxContainer" type="HBoxContainer" parent="HSplitContainer/MapeditorContainer"]
+layout_mode = 2
+size_flags_vertical = 3
+
+[node name="TileGrid" type="GridContainer" parent="HSplitContainer/MapeditorContainer/HBoxContainer" node_paths=PackedStringArray("mapEditor", "buttonRotateRight")]
+layout_mode = 2
+size_flags_horizontal = 3
+theme_override_constants/h_separation = 0
+theme_override_constants/v_separation = 0
+columns = 3
+script = ExtResource("7_ji7x2")
+tileScene = ExtResource("8_pt28t")
+mapEditor = NodePath("../../../..")
+buttonRotateRight = NodePath("../../Toolbar/RotateRight")
+
+[node name="EntitiesContainer" type="VBoxContainer" parent="HSplitContainer"]
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_stretch_ratio = 0.2
+script = ExtResource("9_u8o0i")
+scrolling_Flow_Container = ExtResource("10_lnsqy")
+tileBrush = ExtResource("11_bh5ke")
+
+[connection signal="button_up" from="HSplitContainer/MapeditorContainer/Toolbar/CloseButton" to="." method="_on_close_button_button_up"]
+[connection signal="button_up" from="HSplitContainer/MapeditorContainer/Toolbar/SaveButton" to="HSplitContainer/MapeditorContainer/HBoxContainer/TileGrid" method="save_map_json_file"]
+[connection signal="text_changed" from="HSplitContainer/MapeditorContainer/Toolbar/MapWidth" to="." method="_on_map_width_text_changed"]
+[connection signal="text_changed" from="HSplitContainer/MapeditorContainer/Toolbar/MapHeight" to="." method="_on_map_height_text_changed"]
+[connection signal="tile_brush_selection_change" from="HSplitContainer/EntitiesContainer" to="HSplitContainer/MapeditorContainer/HBoxContainer/TileGrid" method="_on_entities_container_tile_brush_selection_change"]
diff --git a/Scenes/ContentManager/Custom_Editors/TacticalMapEditor/TacticalMapEditorTile.tscn b/Scenes/ContentManager/Custom_Editors/TacticalMapEditor/TacticalMapEditorTile.tscn
new file mode 100644
index 00000000..42711f48
--- /dev/null
+++ b/Scenes/ContentManager/Custom_Editors/TacticalMapEditor/TacticalMapEditorTile.tscn
@@ -0,0 +1,26 @@
+[gd_scene load_steps=3 format=3 uid="uid://f6kl6bo0wsmk"]
+
+[ext_resource type="Script" path="res://Scenes/ContentManager/Custom_Editors/TacticalMapEditor/Scripts/TacticalMapEditorTile.gd" id="1_jobrn"]
+[ext_resource type="Texture2D" uid="uid://c31w0wuk8qabw" path="res://Defaults/Sprites/2.png" id="2_gashh"]
+
+[node name="TacticalMapEditorTile" type="Control"]
+custom_minimum_size = Vector2(16, 16)
+layout_mode = 3
+anchors_preset = 0
+offset_right = 128.0
+offset_bottom = 128.0
+size_flags_horizontal = 3
+size_flags_vertical = 3
+script = ExtResource("1_jobrn")
+
+[node name="TileSprite" type="TextureRect" parent="."]
+layout_mode = 1
+anchors_preset = -1
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+texture = ExtResource("2_gashh")
+expand_mode = 3
+
+[connection signal="gui_input" from="TileSprite" to="." method="_on_texture_rect_gui_input"]
diff --git a/Scenes/ContentManager/Custom_Editors/TacticalMapEditor/TacticalMapEditorTileBrush.tscn b/Scenes/ContentManager/Custom_Editors/TacticalMapEditor/TacticalMapEditorTileBrush.tscn
new file mode 100644
index 00000000..d57e586f
--- /dev/null
+++ b/Scenes/ContentManager/Custom_Editors/TacticalMapEditor/TacticalMapEditorTileBrush.tscn
@@ -0,0 +1,24 @@
+[gd_scene load_steps=3 format=3 uid="uid://c28vw5hmwvmlf"]
+
+[ext_resource type="Script" path="res://Scenes/ContentManager/Custom_Editors/TacticalMapEditor/Scripts/TacticalMapEditorTileBrush.gd" id="1_6xcxx"]
+[ext_resource type="Texture2D" uid="uid://c31w0wuk8qabw" path="res://Defaults/Sprites/2.png" id="2_82c4q"]
+
+[node name="TacticalMapEditorTileBrush" type="Control"]
+custom_minimum_size = Vector2(64, 64)
+layout_mode = 3
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+script = ExtResource("1_6xcxx")
+
+[node name="TileSprite" type="TextureRect" parent="."]
+custom_minimum_size = Vector2(64, 64)
+layout_mode = 0
+offset_right = 40.0
+offset_bottom = 40.0
+texture = ExtResource("2_82c4q")
+expand_mode = 3
+
+[connection signal="gui_input" from="TileSprite" to="." method="_on_texture_rect_gui_input"]
diff --git a/Scenes/ContentManager/Custom_Editors/TerrainTileEditor.tscn b/Scenes/ContentManager/Custom_Editors/TerrainTileEditor.tscn
new file mode 100644
index 00000000..9e99e61c
--- /dev/null
+++ b/Scenes/ContentManager/Custom_Editors/TerrainTileEditor.tscn
@@ -0,0 +1,143 @@
+[gd_scene load_steps=5 format=3 uid="uid://vfj2if40vf10"]
+
+[ext_resource type="Script" path="res://Scenes/ContentManager/Custom_Editors/Scripts/TerrainTileEditor.gd" id="1_wp6ou"]
+[ext_resource type="PackedScene" uid="uid://b8i6wfk3fngy4" path="res://Scenes/ContentManager/Custom_Widgets/Editable_Item_List.tscn" id="2_erosr"]
+[ext_resource type="Texture2D" uid="uid://c8ragmxitca47" path="res://Scenes/ContentManager/Mapeditor/Images/emptyTile.png" id="2_x7b0a"]
+[ext_resource type="PackedScene" uid="uid://d1h1rpwt8f807" path="res://Scenes/ContentManager/Custom_Widgets/Sprite_Selector_Popup.tscn" id="5_5ngda"]
+
+[node name="TerrainTileEditor" type="Control" node_paths=PackedStringArray("tileImageDisplay", "IDTextLabel", "NameTextEdit", "DescriptionTextEdit", "CategoriesList", "tileSelector", "imageNameStringLabel", "cubeShapeCheckbox", "slopeShapeCheckbox")]
+layout_mode = 3
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+script = ExtResource("1_wp6ou")
+tileImageDisplay = NodePath("VBoxContainer/FormGrid/TileImageDisplay")
+IDTextLabel = NodePath("VBoxContainer/FormGrid/IDTextLabel")
+NameTextEdit = NodePath("VBoxContainer/FormGrid/NameTextEdit")
+DescriptionTextEdit = NodePath("VBoxContainer/FormGrid/DescriptionTextEdit")
+CategoriesList = NodePath("VBoxContainer/FormGrid/Editable_Item_List")
+tileSelector = NodePath("Sprite_selector")
+imageNameStringLabel = NodePath("VBoxContainer/FormGrid/ImageNameStringLabel")
+cubeShapeCheckbox = NodePath("VBoxContainer/FormGrid/ShapeButtonContainer/CubeShapeCheckBox")
+slopeShapeCheckbox = NodePath("VBoxContainer/FormGrid/ShapeButtonContainer/SlopeShapeCheckBox")
+
+[node name="VBoxContainer" type="VBoxContainer" parent="."]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+
+[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"]
+layout_mode = 2
+
+[node name="CloseButton" type="Button" parent="VBoxContainer/HBoxContainer"]
+layout_mode = 2
+text = "Close"
+
+[node name="SaveButton" type="Button" parent="VBoxContainer/HBoxContainer"]
+layout_mode = 2
+text = "Save"
+
+[node name="FormGrid" type="GridContainer" parent="VBoxContainer"]
+layout_mode = 2
+size_flags_vertical = 3
+columns = 2
+
+[node name="ImageLabel" type="Label" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+text = "Sprite:"
+
+[node name="TileImageDisplay" type="TextureRect" parent="VBoxContainer/FormGrid"]
+custom_minimum_size = Vector2(128, 128)
+layout_mode = 2
+size_flags_horizontal = 0
+size_flags_stretch_ratio = 0.4
+tooltip_text = "Select a sprite that will be used to visualize this terrain. You can add sprites by putting the image in /mods/core/Tiles."
+texture = ExtResource("2_x7b0a")
+expand_mode = 3
+
+[node name="ImageNameLabel" type="Label" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+text = "Sprite name:"
+
+[node name="ImageNameStringLabel" type="Label" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+
+[node name="IDLabel" type="Label" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+text = "ID:"
+
+[node name="IDTextLabel" type="Label" parent="VBoxContainer/FormGrid"]
+custom_minimum_size = Vector2(0, 30)
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_stretch_ratio = 0.1
+
+[node name="NameLabel" type="Label" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+text = "Name"
+
+[node name="NameTextEdit" type="TextEdit" parent="VBoxContainer/FormGrid"]
+custom_minimum_size = Vector2(0, 30)
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_stretch_ratio = 0.1
+tooltip_text = "Give a descriptive name that best describes this terrain"
+focus_next = NodePath("../DescriptionTextEdit")
+focus_previous = NodePath("../TileImageDisplay")
+
+[node name="DescriptionLabel" type="Label" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+text = "Description"
+
+[node name="DescriptionTextEdit" type="TextEdit" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_vertical = 3
+size_flags_stretch_ratio = 0.9
+tooltip_text = "This description helps users understand how this terrain is used"
+focus_next = NodePath("../Editable_Item_List")
+focus_previous = NodePath("../NameTextEdit")
+
+[node name="CategoriesLabel" type="Label" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+text = "Categories:"
+
+[node name="Editable_Item_List" parent="VBoxContainer/FormGrid" instance=ExtResource("2_erosr")]
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_vertical = 3
+tooltip_text = "Categories used in the map editor to separate this terrain from terrain in other categories. For example Floor and Urban"
+header = "Categories"
+
+[node name="ShapeLabel" type="Label" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+text = "Shape:"
+
+[node name="ShapeButtonContainer" type="HBoxContainer" parent="VBoxContainer/FormGrid"]
+layout_mode = 2
+
+[node name="CubeShapeCheckBox" type="CheckBox" parent="VBoxContainer/FormGrid/ShapeButtonContainer"]
+layout_mode = 2
+tooltip_text = "Select this if this terrain is represented by a cube. This allows for it to be either a wall or a floor. This is the default value"
+button_pressed = true
+text = "Cube"
+
+[node name="SlopeShapeCheckBox" type="CheckBox" parent="VBoxContainer/FormGrid/ShapeButtonContainer"]
+layout_mode = 2
+tooltip_text = "Select this if this terrain should be represented by a slope. Tipically ised for stairs or ramps. The player can go one level up if approached from the right angle."
+text = "Slope"
+
+[node name="Sprite_selector" parent="." instance=ExtResource("5_5ngda")]
+visible = false
+
+[connection signal="button_up" from="VBoxContainer/HBoxContainer/CloseButton" to="." method="_on_close_button_button_up"]
+[connection signal="button_up" from="VBoxContainer/HBoxContainer/SaveButton" to="." method="_on_save_button_button_up"]
+[connection signal="gui_input" from="VBoxContainer/FormGrid/TileImageDisplay" to="." method="_on_tile_image_display_gui_input"]
+[connection signal="button_up" from="VBoxContainer/FormGrid/ShapeButtonContainer/CubeShapeCheckBox" to="." method="_on_cube_shape_check_box_button_up"]
+[connection signal="button_up" from="VBoxContainer/FormGrid/ShapeButtonContainer/SlopeShapeCheckBox" to="." method="_on_slope_shape_check_box_button_up"]
+[connection signal="sprite_selected_ok" from="Sprite_selector" to="." method="_on_sprite_selector_sprite_selected_ok"]
diff --git a/Scenes/ContentManager/Custom_Widgets/Editable_Item_List.tscn b/Scenes/ContentManager/Custom_Widgets/Editable_Item_List.tscn
new file mode 100644
index 00000000..fb41e1c4
--- /dev/null
+++ b/Scenes/ContentManager/Custom_Widgets/Editable_Item_List.tscn
@@ -0,0 +1,104 @@
+[gd_scene load_steps=2 format=3 uid="uid://b8i6wfk3fngy4"]
+
+[ext_resource type="Script" path="res://Scenes/ContentManager/Custom_Widgets/Scripts/Editable_Item_List.gd" id="1_nx0sy"]
+
+[node name="Editable_Item_List" type="Control" node_paths=PackedStringArray("contentItems", "collapseButton", "pupup_window", "popup_textedit")]
+layout_mode = 3
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+script = ExtResource("1_nx0sy")
+contentItems = NodePath("ListControls/ContentItems")
+collapseButton = NodePath("ListControls/HBoxContainer/CollapseButton")
+pupup_window = NodePath("New_Input")
+popup_textedit = NodePath("New_Input/VBoxContainer/InputStringTextEdit")
+
+[node name="ListControls" type="VBoxContainer" parent="."]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+
+[node name="HBoxContainer" type="HBoxContainer" parent="ListControls"]
+layout_mode = 2
+
+[node name="CollapseButton" type="Button" parent="ListControls/HBoxContainer"]
+layout_mode = 2
+size_flags_horizontal = 3
+focus_next = NodePath("../AddButton")
+text = "Items"
+
+[node name="AddButton" type="Button" parent="ListControls/HBoxContainer"]
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_stretch_ratio = 0.15
+focus_next = NodePath("../RemoveButton")
+focus_previous = NodePath("../CollapseButton")
+theme_override_font_sizes/font_size = 16
+text = "+"
+
+[node name="RemoveButton" type="Button" parent="ListControls/HBoxContainer"]
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_stretch_ratio = 0.15
+focus_next = NodePath("../../ContentItems")
+focus_previous = NodePath("../AddButton")
+theme_override_font_sizes/font_size = 16
+text = "-"
+
+[node name="ContentItems" type="ItemList" parent="ListControls"]
+layout_mode = 2
+size_flags_vertical = 3
+focus_next = NodePath("../HBoxContainer/CollapseButton")
+focus_previous = NodePath("../HBoxContainer/RemoveButton")
+
+[node name="New_Input" type="Popup" parent="."]
+title = "Input ID"
+initial_position = 2
+size = Vector2i(200, 150)
+unresizable = false
+borderless = false
+
+[node name="VBoxContainer" type="VBoxContainer" parent="New_Input"]
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+size_flags_horizontal = 3
+size_flags_vertical = 3
+
+[node name="InputStringLabel" type="Label" parent="New_Input/VBoxContainer"]
+layout_mode = 2
+text = "Input new item"
+
+[node name="InputStringTextEdit" type="TextEdit" parent="New_Input/VBoxContainer"]
+layout_mode = 2
+size_flags_vertical = 3
+scroll_fit_content_height = true
+
+[node name="OKCancelButtons" type="HBoxContainer" parent="New_Input/VBoxContainer"]
+layout_mode = 2
+size_flags_vertical = 3
+
+[node name="OK" type="Button" parent="New_Input/VBoxContainer/OKCancelButtons"]
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_vertical = 0
+text = "Ok"
+
+[node name="Cancel" type="Button" parent="New_Input/VBoxContainer/OKCancelButtons"]
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_vertical = 0
+text = "Cancel"
+
+[connection signal="button_up" from="ListControls/HBoxContainer/CollapseButton" to="." method="_on_collapse_button_button_up"]
+[connection signal="button_up" from="ListControls/HBoxContainer/AddButton" to="." method="_on_add_button_button_up"]
+[connection signal="button_up" from="ListControls/HBoxContainer/RemoveButton" to="." method="_on_delete_button_button_up"]
+[connection signal="button_up" from="New_Input/VBoxContainer/OKCancelButtons/OK" to="." method="_on_ok_button_up"]
+[connection signal="button_up" from="New_Input/VBoxContainer/OKCancelButtons/Cancel" to="." method="_on_cancel_button_up"]
diff --git a/Scenes/ContentManager/Custom_Widgets/Scripts/Editable_Item_List.gd b/Scenes/ContentManager/Custom_Widgets/Scripts/Editable_Item_List.gd
new file mode 100644
index 00000000..5335e6c8
--- /dev/null
+++ b/Scenes/ContentManager/Custom_Widgets/Scripts/Editable_Item_List.gd
@@ -0,0 +1,76 @@
+extends Control
+
+#This scene is a generic widget that allows users to add an item to the list
+#It is intended to be used in the content editor
+#After instantiating, set the header to indicate its contents
+#Use the get_items function to get an array of items
+#Emits signal "item_activated" when an item is doubleclicked
+
+@export var contentItems: ItemList = null
+@export var collapseButton: Button = null
+@export var pupup_window: Popup = null
+@export var popup_textedit: TextEdit = null
+signal item_activated(itemText: String)
+var is_collapsed: bool = true
+@export var header: String = "Items":
+ set(newName):
+ header = newName
+ collapseButton.text = header
+
+#This function will collapse and expand the $Content/ContentItems when the collapse button is pressed
+func _on_collapse_button_button_up():
+ contentItems.visible = is_collapsed
+ is_collapsed = !is_collapsed
+
+#This function will show a pop-up asking the user to input an ID
+func _on_add_button_button_up():
+ pupup_window.show()
+
+#Called after the user enters a string into the popup textbox and presses OK
+func _on_ok_button_up():
+ pupup_window.hide()
+ if popup_textedit.text == "":
+ return;
+ contentItems.add_item(popup_textedit.text)
+
+#Called after the users presses cancel on the popup asking for a string
+func _on_cancel_button_up():
+ pupup_window.hide()
+
+#Called when an item in the list is activated by doubleclick or enter
+func _on_content_items_item_activated(index):
+ var strItemText: String = contentItems.get_item_text(index)
+ if strItemText:
+ item_activated.emit(strItemText)
+ else:
+ print_debug("Tried to signal that item with index (" + str(index) + ") was activated,\
+ but the item has no text")
+
+func clear_list():
+ contentItems.clear()
+
+#This function returns all items in contentItems as an array
+func get_items():
+ var myArray: Array = []
+ for item in contentItems.item_count:
+ myArray.append(contentItems.get_item_text(item))
+ return myArray
+
+func add_item_to_list(itemText: String) -> void:
+ contentItems.add_item(itemText)
+
+
+func get_selected_item_text() -> String:
+ if !contentItems.is_anything_selected():
+ return ""
+ return contentItems.get_item_text(contentItems.get_selected_items()[0])
+
+
+#This function requires that an item from the list is selected
+#Once clicked, the selected item will be removed from contentItems
+#It will also remove the item from the json file specified by source
+func _on_delete_button_button_up():
+ var selected_id: String = get_selected_item_text()
+ if selected_id == "":
+ return
+ contentItems.remove_item(contentItems.get_selected_items()[0])
diff --git a/Scenes/ContentManager/Custom_Widgets/Scripts/Scrolling_Flow_Container.gd b/Scenes/ContentManager/Custom_Widgets/Scripts/Scrolling_Flow_Container.gd
new file mode 100644
index 00000000..80831bf1
--- /dev/null
+++ b/Scenes/ContentManager/Custom_Widgets/Scripts/Scrolling_Flow_Container.gd
@@ -0,0 +1,33 @@
+extends Control
+
+#This script belongs to the Scrolling_Flow_Container scene
+#It shows a flowcontianer in a scrollcontainer and optionally a collapse button
+#Once instanced, set the collapse button text to the text you want
+#If you set the header as empty it will hide the collapse button
+
+@export var contentItems: FlowContainer = null
+@export var collapseButton: Button = null
+var is_collapsed: bool = false
+@export var header: String = "Items":
+ set(newName):
+ header = newName
+ if newName == "":
+ collapseButton.hide()
+ else:
+ collapseButton.show()
+ collapseButton.text = header
+
+#This function will collapse and expand the $Content/ContentItems when the collapse button is pressed
+func _on_collapse_button_button_up():
+ contentItems.visible = is_collapsed
+ if is_collapsed:
+ size_flags_vertical = Control.SIZE_EXPAND_FILL
+ else:
+ size_flags_vertical = Control.SIZE_SHRINK_BEGIN
+ is_collapsed = !is_collapsed
+
+func add_content_item(item: Node):
+ contentItems.add_child(item)
+
+func get_content_items() -> Array[Node]:
+ return contentItems.get_children()
diff --git a/Scenes/ContentManager/Custom_Widgets/Scripts/Selectable_Sprite_Widget.gd b/Scenes/ContentManager/Custom_Widgets/Scripts/Selectable_Sprite_Widget.gd
new file mode 100644
index 00000000..6a65f81c
--- /dev/null
+++ b/Scenes/ContentManager/Custom_Widgets/Scripts/Selectable_Sprite_Widget.gd
@@ -0,0 +1,47 @@
+extends Control
+
+signal selectableSprite_clicked(clicked_sprite: Control)
+signal selectableSprite_double_clicked(clicked_sprite: Control)
+var selected: bool = false
+
+# Store the time of the last mouse click
+var last_click_time = 0.0
+
+#When the event was a left mouse button press, adjust emit a signal that it was clicked
+func _on_texture_rect_gui_input(event):
+ if event is InputEventMouseButton and event.button_index == MOUSE_BUTTON_LEFT:
+ if event.pressed:
+ var current_time = Time.get_ticks_msec() / 1000.0
+ if current_time - last_click_time < 0.3: # Check for double-click (300 ms threshold)
+ selectableSprite_double_clicked.emit(self)
+ else:
+ selectableSprite_clicked.emit(self)
+ last_click_time = current_time
+
+func set_sprite_texture(res: Resource) -> void:
+ var texture: Texture
+ if res is BaseMaterial3D:
+ texture = res.albedo_texture
+ else:
+ texture = res
+
+ if texture:
+ $SpriteImage.texture = texture
+ # Set the minimum size of the widget based on the texture size
+ var texture_size = texture.get_size()
+ custom_minimum_size = Vector2(texture_size.x, texture_size.y)
+ else:
+ $SpriteImage.texture = null
+ custom_minimum_size = Vector2(0, custom_minimum_size.y) # Reset to no minimum width
+
+func get_texture() -> Resource:
+ return $SpriteImage.texture
+
+#Mark the clicked spritebrush as selected
+func set_selected(is_selected: bool) -> void:
+ selected = is_selected
+ if selected:
+ modulate = Color(0.227, 0.635, 0.757)
+ else:
+ modulate = Color(1,1,1)
+
diff --git a/Scenes/ContentManager/Custom_Widgets/Scripts/Sprite_Selector_Popup.gd b/Scenes/ContentManager/Custom_Widgets/Scripts/Sprite_Selector_Popup.gd
new file mode 100644
index 00000000..fbd312c3
--- /dev/null
+++ b/Scenes/ContentManager/Custom_Widgets/Scripts/Sprite_Selector_Popup.gd
@@ -0,0 +1,70 @@
+extends Popup
+
+# This script is intended to be used in the Sprite_Selector_Popup widget.
+# The goal is to show the user a list of sprites that the user can select from
+# The user selects a sprite and presses OK or Cancel to confirm the choice
+# The parent interface will then receive the resource path of the selected sprite
+# In order to use the Sprite_Selector_Popup, set the Sprite Dir property to the
+# Directory where sprites should be loaded from. Each sprite will be represented
+# By a Selectable_Sprite_Widget that handles selecting and click signals
+
+#This will be instanced many times to make up the sprite list
+@export var selectable_Sprite_Widget: PackedScene
+#Reference to the Scrolling_flow_container that holds the sprites
+@export var spriteList: Control = null
+#Keep a reference to all the sprites that were instanced
+var instanced_sprites: Array[Node] = []
+# The parent control has to provide a dictionary. This dictionary
+# contains a list of textures with the name of the texture as a key
+var sprites_collection: Dictionary = {}:
+ set(value):
+ sprites_collection = value
+ populate_sprite_list()
+# Reference to one of the selectable_Sprite_Widgets that the user has selected
+var selectedSprite: Control = null
+#Will be sent when the user has selected a tile and pressed OK
+signal sprite_selected_ok(clicked_sprite: Control)
+
+
+# For each item in Gamedata.data.x.sprites it will create a
+# selectable_Sprite_Widget and assign the file as the texture of the selectable_Sprite_Widget.
+# Then it will add the selectable_Sprite_Widget as a child to spriteList
+func populate_sprite_list():
+ for filename in sprites_collection.keys():
+ var material = sprites_collection[filename]
+ var selectableSpriteInstance = selectable_Sprite_Widget.instantiate()
+ # Assign the texture to the TextureRect
+ selectableSpriteInstance.set_sprite_texture(material)
+ selectableSpriteInstance.selectableSprite_clicked.connect(sprite_clicked)
+ selectableSpriteInstance.selectableSprite_double_clicked.connect(\
+ _on_sprite_double_clicked)
+ spriteList.add_content_item(selectableSpriteInstance)
+ instanced_sprites.append(selectableSpriteInstance)
+
+# Called after the user selects a tile in the popup textbox and presses OK
+func _on_ok_button_up():
+ _emit_sprite_selected_and_close()
+
+# Called after the users presses cancel on the popup asking for a tile
+func _on_cancel_button_up():
+ hide()
+
+func deselect_all_sprites():
+ for child in instanced_sprites:
+ child.set_selected(false)
+
+# Mark the clicked selectedSprite as selected, but only after deselecting all other sprites
+func sprite_clicked(spite_selected: Control) -> void:
+ deselect_all_sprites()
+ selectedSprite = spite_selected
+ # If the clicked brush was not select it, we select it. Otherwise we deselect it
+ spite_selected.set_selected(true)
+
+func _on_sprite_double_clicked(sprite_selected: Control):
+ selectedSprite = sprite_selected
+ _emit_sprite_selected_and_close()
+
+func _emit_sprite_selected_and_close():
+ if selectedSprite:
+ sprite_selected_ok.emit(selectedSprite)
+ hide()
diff --git a/Scenes/ContentManager/Custom_Widgets/Scrolling_Flow_Container.tscn b/Scenes/ContentManager/Custom_Widgets/Scrolling_Flow_Container.tscn
new file mode 100644
index 00000000..619cb99f
--- /dev/null
+++ b/Scenes/ContentManager/Custom_Widgets/Scrolling_Flow_Container.tscn
@@ -0,0 +1,41 @@
+[gd_scene load_steps=2 format=3 uid="uid://be62h2ytgw2kb"]
+
+[ext_resource type="Script" path="res://Scenes/ContentManager/Custom_Widgets/Scripts/Scrolling_Flow_Container.gd" id="1_4knl7"]
+
+[node name="Scrolling_Flow_Container" type="Control" node_paths=PackedStringArray("contentItems", "collapseButton")]
+custom_minimum_size = Vector2(200, 35)
+layout_mode = 3
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+size_flags_horizontal = 3
+size_flags_vertical = 3
+script = ExtResource("1_4knl7")
+contentItems = NodePath("VBoxContainer/ScrollContainer/FlowContainer")
+collapseButton = NodePath("VBoxContainer/CollapseButton")
+
+[node name="VBoxContainer" type="VBoxContainer" parent="."]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+
+[node name="CollapseButton" type="Button" parent="VBoxContainer"]
+custom_minimum_size = Vector2(200, 30)
+layout_mode = 2
+text = "Items"
+
+[node name="ScrollContainer" type="ScrollContainer" parent="VBoxContainer"]
+layout_mode = 2
+size_flags_vertical = 3
+
+[node name="FlowContainer" type="FlowContainer" parent="VBoxContainer/ScrollContainer"]
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_vertical = 3
+
+[connection signal="button_up" from="VBoxContainer/CollapseButton" to="." method="_on_collapse_button_button_up"]
diff --git a/Scenes/ContentManager/Custom_Widgets/Selectable_Sprite_Widget.tscn b/Scenes/ContentManager/Custom_Widgets/Selectable_Sprite_Widget.tscn
new file mode 100644
index 00000000..5082f8fc
--- /dev/null
+++ b/Scenes/ContentManager/Custom_Widgets/Selectable_Sprite_Widget.tscn
@@ -0,0 +1,24 @@
+[gd_scene load_steps=3 format=3 uid="uid://vc1hpsum7b2u"]
+
+[ext_resource type="Script" path="res://Scenes/ContentManager/Custom_Widgets/Scripts/Selectable_Sprite_Widget.gd" id="1_ix6u3"]
+[ext_resource type="Texture2D" uid="uid://ttmfel3ylg0w" path="res://Mods/Core/Tiles/arcstones1.png" id="2_5qjrc"]
+
+[node name="SelectableSprite" type="Control"]
+custom_minimum_size = Vector2(64, 64)
+layout_mode = 3
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+script = ExtResource("1_ix6u3")
+
+[node name="SpriteImage" type="TextureRect" parent="."]
+custom_minimum_size = Vector2(64, 64)
+layout_mode = 0
+offset_right = 40.0
+offset_bottom = 40.0
+texture = ExtResource("2_5qjrc")
+stretch_mode = 2
+
+[connection signal="gui_input" from="SpriteImage" to="." method="_on_texture_rect_gui_input"]
diff --git a/Scenes/ContentManager/Custom_Widgets/Sprite_Selector_Popup.tscn b/Scenes/ContentManager/Custom_Widgets/Sprite_Selector_Popup.tscn
new file mode 100644
index 00000000..720dc601
--- /dev/null
+++ b/Scenes/ContentManager/Custom_Widgets/Sprite_Selector_Popup.tscn
@@ -0,0 +1,52 @@
+[gd_scene load_steps=4 format=3 uid="uid://d1h1rpwt8f807"]
+
+[ext_resource type="Script" path="res://Scenes/ContentManager/Custom_Widgets/Scripts/Sprite_Selector_Popup.gd" id="1_rag8d"]
+[ext_resource type="PackedScene" uid="uid://vc1hpsum7b2u" path="res://Scenes/ContentManager/Custom_Widgets/Selectable_Sprite_Widget.tscn" id="2_wjnk7"]
+[ext_resource type="PackedScene" uid="uid://be62h2ytgw2kb" path="res://Scenes/ContentManager/Custom_Widgets/Scrolling_Flow_Container.tscn" id="3_nkgi6"]
+
+[node name="Sprite_selector" type="Popup" node_paths=PackedStringArray("spriteList")]
+title = "Input ID"
+initial_position = 2
+size = Vector2i(600, 400)
+visible = true
+unresizable = false
+borderless = false
+min_size = Vector2i(500, 400)
+script = ExtResource("1_rag8d")
+selectable_Sprite_Widget = ExtResource("2_wjnk7")
+spriteList = NodePath("VBoxContainer/Scrolling_Flow_Container")
+
+[node name="VBoxContainer" type="VBoxContainer" parent="."]
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+size_flags_horizontal = 3
+size_flags_vertical = 3
+
+[node name="Label" type="Label" parent="VBoxContainer"]
+layout_mode = 2
+text = "Select a sprite"
+
+[node name="Scrolling_Flow_Container" parent="VBoxContainer" instance=ExtResource("3_nkgi6")]
+layout_mode = 2
+header = ""
+
+[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"]
+layout_mode = 2
+
+[node name="OK" type="Button" parent="VBoxContainer/HBoxContainer"]
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_vertical = 0
+text = "Ok"
+
+[node name="Cancel" type="Button" parent="VBoxContainer/HBoxContainer"]
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_vertical = 0
+text = "Cancel"
+
+[connection signal="button_up" from="VBoxContainer/HBoxContainer/OK" to="." method="_on_ok_button_up"]
+[connection signal="button_up" from="VBoxContainer/HBoxContainer/Cancel" to="." method="_on_cancel_button_up"]
diff --git a/Scenes/ContentManager/Mapeditor/Scripts/GridContainer.gd b/Scenes/ContentManager/Mapeditor/Scripts/GridContainer.gd
index f4f811e5..723e6012 100644
--- a/Scenes/ContentManager/Mapeditor/Scripts/GridContainer.gd
+++ b/Scenes/ContentManager/Mapeditor/Scripts/GridContainer.gd
@@ -1,13 +1,16 @@
extends GridContainer
-@onready var tileScene: PackedScene = preload("res://Scenes/ContentManager/Mapeditor/mapeditortile.tscn")
+@export var tileScene: PackedScene
#This is the index of the level we are on. 0 is ground level. can be -10 to +10
var currentLevel: int = 10
#Contains the data of every tile in the current level, the ground level or level 0 by default
-var currentLevelData: Array[Dictionary] = []
+var currentLevelData: Array = []
@export var mapEditor: Control
@export var LevelScrollBar: VScrollBar
@export var levelgrid_below: GridContainer
@export var levelgrid_above: GridContainer
+@export var mapScrollWindow: ScrollContainer
+@export var brushPreviewTexture: TextureRect
+@export var buttonRotateRight: Button
var selected_brush: Control
var drawRectangle: bool = false
@@ -15,18 +18,19 @@ var erase: bool = false
var showBelow: bool = false
var showAbove: bool = false
var snapAmount: float
+var defaultMapData: Dictionary = {"mapwidth": 32, "mapheight": 32, "levels": [[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]]}
+var rotationAmount: int = 0
#Contains map metadata like size as well as the data on all levels
-var mapData: Dictionary = {"mapwidth": 32, "mapheight": 32, "levels": [[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]]}:
+var mapData: Dictionary = defaultMapData.duplicate():
set(data):
- mapData = data.duplicate()
+ if data.is_empty():
+ mapData = defaultMapData.duplicate()
+ else:
+ mapData = data.duplicate()
loadLevelData(currentLevel)
signal zoom_level_changed(zoom_level: int)
func _on_mapeditor_ready():
-# mapEditor = $"../../../../../../.."
-# LevelScrollBar = $"../../../../Levelscroller/LevelScrollbar"
-# levelgrid_below = $"../Level_Below"
-# levelgrid_above = $"../Level_Above"
columns = mapEditor.mapWidth
levelgrid_below.columns = mapEditor.mapWidth
levelgrid_above.columns = mapEditor.mapWidth
@@ -34,7 +38,7 @@ func _on_mapeditor_ready():
snapAmount = 1.28*mapEditor.zoom_level
levelgrid_below.hide()
levelgrid_above.hide()
-
+ _on_zoom_level_changed(mapEditor.zoom_level)
# This function will fill fill this GridContainer with a grid of 32x32 instances of "res://Scenes/ContentManager/Mapeditor/mapeditortile.tscn"
func createTiles():
@@ -50,15 +54,24 @@ func createTiles():
tileAbove.set_clickable(false)
levelgrid_above.add_child(tileAbove)
-
var start_point = Vector2()
var end_point = Vector2()
var is_drawing = false
-var mouse_button_pressed: bool = false
var snapLevel: Vector2 = Vector2(snapAmount, snapAmount).round()
#When the user presses and holds the middle mousebutton and moves the mouse, change the parent's scroll_horizontal and scroll_vertical properties appropriately
func _input(event):
+ #The mapeditor may be invisible if the user selects another tab in the content editor
+ if !mapEditor.visible:
+ return
+
+ # Convert the mouse position to MapScrollWindow's local coordinate system
+ var local_mouse_pos = mapScrollWindow.get_local_mouse_position()
+ var mapScrollWindowRect = mapScrollWindow.get_rect()
+ # Check if the mouse is within the MapScrollWindow's rect
+ if !mapScrollWindowRect.has_point(local_mouse_pos):
+ return
+
if event is InputEventMouseButton:
match event.button_index:
MOUSE_BUTTON_WHEEL_UP:
@@ -76,53 +89,95 @@ func _input(event):
if Input.is_key_pressed(KEY_CTRL) or Input.is_key_pressed(KEY_ALT):
get_viewport().set_input_as_handled()
MOUSE_BUTTON_LEFT:
- if drawRectangle:
- if event.is_pressed():
- start_point = event.global_position.snapped(snapLevel)
- is_drawing = true
- else:
- end_point = event.global_position.snapped(snapLevel)
- is_drawing = false
- paint_in_rectangle()
+ if event.is_pressed():
+ is_drawing = true
+ start_point = event.global_position.snapped(snapLevel)
else:
+ end_point = event.global_position.snapped(snapLevel)
+ if is_drawing == true:
+ if drawRectangle:
+ paint_in_rectangle()
+ unhighlight_tiles()
is_drawing = false
-
+
#When the users presses and holds the mouse wheel, we scoll the grid
if event is InputEventMouseMotion:
+ end_point = event.global_position
if is_drawing:
- end_point = event.global_position
- update_rectangle()
+ if drawRectangle:
+ update_rectangle()
+
+ # Calculate new position for the brush preview
+ var new_position = event.position + brushPreviewTexture.get_rect().size / 2
+ # Get the boundaries of the mapScrollWindow
+ var scroll_global_pos = mapScrollWindow.get_global_position()
+ # Clamp the new position to the mapScrollWindow's boundaries
+ new_position.x = clamp(new_position.x, scroll_global_pos.x, scroll_global_pos.x + mapScrollWindowRect.size.x - brushPreviewTexture.get_rect().size.x)
+ new_position.y = clamp(new_position.y, scroll_global_pos.y, scroll_global_pos.y + mapScrollWindowRect.size.y - brushPreviewTexture.get_rect().size.y)
+ # Update the position of the brush preview
+ brushPreviewTexture.global_position = new_position
-#Change the color to be red
+# Highlight tiles that are in the rectangle that the user has drawn with the mouse
func update_rectangle():
- if is_drawing:
+ if is_drawing and drawRectangle:
highlight_tiles_in_rect()
- else:
- unhighlight_tiles()
#When one of the grid tiles is clicked, we paint the tile accordingly
func grid_tile_clicked(clicked_tile):
- paint_single_tile(clicked_tile)
-
-#We paint a single tile if draw rectangle is not selected
+ if is_drawing:
+ paint_single_tile(clicked_tile)
+
+# We paint a single tile if draw rectangle is not selected
# Either erase the tile or paint it if a brush is selected.
func paint_single_tile(clicked_tile):
- if drawRectangle:
+ if drawRectangle or !clicked_tile:
return
if erase:
- clicked_tile.set_default()
+ if selected_brush:
+ if selected_brush.entityType == "mob":
+ clicked_tile.set_mob_id("")
+ elif selected_brush.entityType == "furniture":
+ clicked_tile.set_furniture_id("")
+ else:
+ clicked_tile.set_tile_id("")
+ clicked_tile.set_rotation_amount(0)
+ else:
+ clicked_tile.set_default()
elif selected_brush:
- clicked_tile.set_texture(selected_brush.get_texture())
-
-#When this function is called, loop over all the TileGrid's children and get the tileData property. Store this data in the currentLevelData array
+ if selected_brush.entityType == "mob":
+ clicked_tile.set_mob_id(selected_brush.tileID)
+ clicked_tile.set_mob_rotation(rotationAmount)
+ elif selected_brush.entityType == "furniture":
+ clicked_tile.set_furniture_id(selected_brush.tileID)
+ clicked_tile.set_furniture_rotation(rotationAmount)
+ else:
+ clicked_tile.set_tile_id(selected_brush.tileID)
+ clicked_tile.set_rotation_amount(rotationAmount)
+
func storeLevelData():
currentLevelData.clear()
+ var has_significant_data = false
+
+ # First pass: Check if any tile has significant data
for child in get_children():
- currentLevelData.append(child.tileData)
+ if child.tileData and (child.tileData.has("id") or \
+ child.tileData.has("mob") or child.tileData.has("furniture")):
+ has_significant_data = true
+ break
+
+ # Second pass: Add all tiles to currentLevelData if any significant data is found
+ if has_significant_data:
+ for child in get_children():
+ currentLevelData.append(child.tileData)
+ else:
+ # If no tile has significant data, consider adding a special marker or log
+ print_debug("No significant tile data found for the current level")
+
mapData.levels[currentLevel] = currentLevelData.duplicate()
-
-#Loads the leveldata from the mapdata
-#If no data exists, use the default to create a new map
+
+
+# Loads the leveldata from the mapdata
+# If no data exists, use the default to create a new map
func loadLevelData(newLevel: int):
if newLevel > 0 and showBelow:
levelgrid_below.show()
@@ -137,8 +192,11 @@ func loadLevelData(newLevel: int):
else:
levelgrid_above.hide()
loadLevel(newLevel, self)
-
+
func loadLevel(level: int, grid: GridContainer):
+ if mapData.is_empty():
+ print_debug("Tried to load data from an empty mapData dictionary")
+ return;
var newLevelData: Array = mapData.levels[level]
var i: int = 0
# If any data exists on this level, we load it
@@ -165,26 +223,57 @@ func change_level(newlevel: int) -> void:
# We need to add 10 since the scrollbar starts at -10
func _on_level_scrollbar_value_changed(value):
change_level(10+0-value)
-
+
#This function takes two coordinates representing a rectangle. It will check which of the TileGrid's children's position falls inside this rectangle. It returns all the child tiles that fall inside this rectangle
+#func get_tiles_in_rectangle(rect_start: Vector2, rect_end: Vector2) -> Array:
+ #var tiles_in_rectangle: Array = []
+ #
+ ## Normalize the rectangle coordinates
+ #var normalized_start = Vector2(min(rect_start.x, rect_end.x), min(rect_start.y, rect_end.y))
+ #var normalized_end = Vector2(max(rect_start.x, rect_end.x), max(rect_start.y, rect_end.y))
+ #
+ #for tile in get_children():
+ #var tile_pos = tile.global_position + mapScrollWindow.global_position
+ #if tile_pos.x >= normalized_start.x and tile_pos.x <= normalized_end.x:
+ #if tile_pos.y >= normalized_start.y and tile_pos.y <= normalized_end.y:
+ #tiles_in_rectangle.append(tile)
+ #return tiles_in_rectangle
+
+
+# This function takes two coordinates representing a rectangle and the current zoom level.
+# It will check which of the TileGrid's children's positions fall inside this rectangle.
+# It returns all the child tiles that fall inside this rectangle.
func get_tiles_in_rectangle(rect_start: Vector2, rect_end: Vector2) -> Array:
var tiles_in_rectangle: Array = []
+
+ # Normalize the rectangle coordinates
+ var normalized_start = Vector2(min(rect_start.x, rect_end.x), min(rect_start.y, rect_end.y))
+ var normalized_end = Vector2(max(rect_start.x, rect_end.x), max(rect_start.y, rect_end.y))
+
+ # Adjust the rectangle coordinates based on the zoom level
+ normalized_start /= mapEditor.zoom_level
+ normalized_end /= mapEditor.zoom_level
+
for tile in get_children():
- if tile.global_position.x >= rect_start.x-(1*mapEditor.zoom_level) and tile.global_position.x <= rect_end.x:
- if tile.global_position.y >= rect_start.y-(1*mapEditor.zoom_level) and tile.global_position.y <= rect_end.y:
+ # Calculate the position of the tile accounting for the zoom level
+ var tile_pos = tile.get_global_position() / mapEditor.zoom_level
+ # Check if the tile's position is within the normalized rectangle
+ if tile_pos.x >= normalized_start.x and tile_pos.x <= normalized_end.x:
+ if tile_pos.y >= normalized_start.y and tile_pos.y <= normalized_end.y:
tiles_in_rectangle.append(tile)
return tiles_in_rectangle
-
+
+
func unhighlight_tiles():
for tile in get_children():
tile.unhighlight()
-
+
func highlight_tiles_in_rect():
unhighlight_tiles()
var tiles: Array = get_tiles_in_rectangle(start_point, end_point)
for tile in tiles:
tile.highlight()
-
+
#Paint every tile in the selected rectangle
#We always erase if erase is selected, even if no brush is selected
#Only paint if a brush is selected and erase is false
@@ -192,10 +281,25 @@ func paint_in_rectangle():
var tiles: Array = get_tiles_in_rectangle(start_point, end_point)
if erase:
for tile in tiles:
- tile.set_default()
+ if selected_brush:
+ if selected_brush.entityType == "mob":
+ tile.set_mob_id("")
+ elif selected_brush.entityType == "furniture":
+ tile.set_furniture_id("")
+ else:
+ tile.set_tile_id("")
+ tile.set_rotation_amount(0)
+ else:
+ tile.set_default()
elif selected_brush:
for tile in tiles:
- tile.set_texture(selected_brush.get_texture())
+ if selected_brush.entityType == "mob":
+ tile.set_mob_id(selected_brush.tileID)
+ elif selected_brush.entityType == "furniture":
+ tile.set_furniture_id(selected_brush.tileID)
+ else:
+ tile.set_tile_id(selected_brush.tileID)
+ tile.set_rotation_amount(rotationAmount)
update_rectangle()
#The user has pressed the erase toggle button in the editor
@@ -207,49 +311,14 @@ func _on_draw_rectangle_toggled(button_pressed):
func _on_tilebrush_list_tile_brush_selection_change(tilebrush):
selected_brush = tilebrush
-
-
-
-#This function takes the TileGrid.mapData property and saves all of it as a json file. The user will get a prompt asking for a file location.
-func _on_save_button_button_up():
- var folderName: String = "./Mods/Core"
- var fileName: String = "Generichouse.json"
- var saveLoc: String = folderName + "/Maps" + "/" + fileName
- # Convert the TileGrid.mapData to a JSON string
- storeLevelData()
- var map_data_json = str(mapData.duplicate())
-
- var dir = DirAccess.open(folderName)
- dir.make_dir("Maps")
-
- # Save the JSON string to the selected file location
- var file = FileAccess.open(saveLoc, FileAccess.WRITE)
- if file:
- file.store_string(map_data_json)
- else:
- print_debug("Unable to write file " + saveLoc)
-
-func _on_load_button_button_up():
- var folderName: String = "./Mods/Core"
- var fileName: String = "Generichouse.json"
- var loadLoc: String = folderName + "/Maps" + "/" + fileName
- # Convert the tileGrid.mapData to a JSON string
- storeLevelData()
-
- var dir = DirAccess.open(folderName)
- dir.make_dir("Maps")
-
- # Save the JSON string to the selected file location
- var file = FileAccess.open(loadLoc, FileAccess.READ)
- if file:
- var map_data_json: Dictionary
- map_data_json = JSON.parse_string(file.get_as_text())
- mapData = map_data_json
+ update_preview_texture()
+func update_preview_texture():
+ if selected_brush:
+ brushPreviewTexture.texture = selected_brush.get_texture()
+ brushPreviewTexture.visible = true
else:
- print_debug("Unable to load file " + loadLoc)
-
-
+ brushPreviewTexture.visible = false
func _on_show_below_toggled(button_pressed):
showBelow = button_pressed
@@ -258,10 +327,135 @@ func _on_show_below_toggled(button_pressed):
else:
levelgrid_below.hide()
-
func _on_show_above_toggled(button_pressed):
showAbove = button_pressed
if showAbove:
levelgrid_above.show()
else:
levelgrid_above.hide()
+
+#This function takes the mapData property and saves all of it as a json file.
+func save_map_json_file():
+ # Convert the TileGrid.mapData to a JSON string
+ storeLevelData()
+ var map_data_json = JSON.stringify(mapData.duplicate(), "\t")
+ Helper.json_helper.write_json_file(mapEditor.contentSource, map_data_json)
+
+func load_map_json_file():
+ var fileToLoad: String = mapEditor.contentSource
+ mapData = Helper.json_helper.load_json_dictionary_file(fileToLoad)
+
+
+func _on_zoom_level_changed(zoom_level: int):
+ # Calculate the new scale based on zoom level
+ var scale_factor = zoom_level * 0.01
+ brushPreviewTexture.scale = Vector2(scale_factor, scale_factor)
+ brushPreviewTexture.pivot_offset = brushPreviewTexture.size / 2
+ for tile in get_children():
+ tile.set_scale_amount(1.28*zoom_level)
+ for tile in levelgrid_below.get_children():
+ tile.set_scale_amount(1.28*zoom_level)
+ for tile in levelgrid_above.get_children():
+ tile.set_scale_amount(1.28*zoom_level)
+
+
+# When the user releases the mouse button on the rotate right button
+func _on_rotate_right_button_up():
+ rotationAmount += 90
+ rotationAmount = rotationAmount % 360 # Keep rotation within 0-359 degrees
+ buttonRotateRight.text = str(rotationAmount)
+ brushPreviewTexture.rotation_degrees = rotationAmount
+ brushPreviewTexture.pivot_offset = brushPreviewTexture.size / 2
+
+
+# Function to create a 128x128 miniature map of the current level
+func create_miniature_map_image() -> Image:
+ var map_width = mapEditor.mapWidth
+ var map_height = mapEditor.mapHeight
+ var tile_width = int(128 / map_width) # Calculate tile width for the miniature map
+ var tile_height = int(128 / map_height) # Calculate tile height for the miniature map
+
+ # Create a new Image with a size of 128x128 pixels
+ var image = Image.create(128, 128, false, Image.FORMAT_RGBA8)
+
+ # Iterate through each tile in the current level and draw it into the image
+ for x in range(map_width):
+ for y in range(map_height):
+ var tile = get_child(y * map_width + x)
+ var tile_texture = tile.get_tile_texture()
+ var tile_image = tile_texture.get_image()
+ # Resize the tile image to fit the miniature map
+ tile_image.resize(tile_width, tile_height)
+ # Convert the tile image to the same format as the main image
+ tile_image.convert(Image.FORMAT_RGBA8)
+ # Draw the resized tile image onto the main image
+ image.blit_rect(tile_image, Rect2(Vector2(), \
+ tile_image.get_size()), Vector2(x * tile_width, y * tile_height))
+ return image
+
+# Function to create and save a 128x128 miniature map of the current level
+func save_miniature_map_image():
+ # Call the function to create the image texture
+ var image_texture = create_miniature_map_image()
+ var image = image_texture
+ # Save the image to a file
+ var file_name = mapEditor.contentSource.get_file().replace("json", "png")
+ var file_path = Gamedata.data.maps.spritePath + file_name
+ image.save_png(file_path)
+
+func _on_create_preview_image_button_button_up():
+ save_miniature_map_image()
+
+
+# This function will loop over all levels and rotate them if they contain tile data.
+func rotate_map():
+ # Store the data of the current level before rotating the map
+ storeLevelData()
+
+ for i in range(mapData.levels.size()):
+ # Load each level's data into currentLevelData
+ currentLevelData = mapData.levels[i]
+ # Rotate the current level data
+ rotate_level_clockwise()
+ # Update the rotated data back into the mapData
+ mapData.levels[i] = currentLevelData.duplicate()
+
+ # After rotation, reload the current level's data
+ loadLevelData(currentLevel)
+
+
+# Rotates the current level 90 degrees clockwise.
+func rotate_level_clockwise():
+ # Check if currentLevelData has at least one item
+ if !currentLevelData.size() > 0:
+ return
+ var width = mapEditor.mapWidth
+ var height = mapEditor.mapHeight
+ var new_level_data: Array[Dictionary] = []
+
+ # Initialize new_level_data with empty dictionaries
+ for i in range(width * height):
+ new_level_data.append({})
+
+ # Rotate the tile data
+ for x in range(width):
+ for y in range(height):
+ var old_index = y * width + x
+ var new_x = width - y - 1
+ var new_y = x
+ var new_index = new_y * width + new_x
+ new_level_data[new_index] = currentLevelData[old_index].duplicate()
+
+ # Add rotation to the tile's data if it has an id
+ if new_level_data[new_index].has("id"):
+ var tile_rotation = int(new_level_data[new_index].get("rotation", 0))
+ new_level_data[new_index]["rotation"] = (tile_rotation + 90) % 360
+
+ # Rotate furniture if present, initializing rotation to 0 if not set
+ if new_level_data[new_index].has("furniture"):
+ var furniture_rotation = int(new_level_data[new_index].get("furniture").get("rotation", 0))
+ new_level_data[new_index]["furniture"]["rotation"] = (furniture_rotation + 90) % 360
+
+
+ # Update the current level data
+ currentLevelData = new_level_data
diff --git a/Scenes/ContentManager/Mapeditor/Scripts/TilebrushList.gd b/Scenes/ContentManager/Mapeditor/Scripts/TilebrushList.gd
index 02513572..71d43cd2 100644
--- a/Scenes/ContentManager/Mapeditor/Scripts/TilebrushList.gd
+++ b/Scenes/ContentManager/Mapeditor/Scripts/TilebrushList.gd
@@ -1,6 +1,9 @@
-extends HFlowContainer
+extends VBoxContainer
-@onready var tileBrush: PackedScene = preload("res://Scenes/ContentManager/Mapeditor/tilebrush.tscn")
+@export var scrolling_Flow_Container: PackedScene = null
+@export var tileBrush: PackedScene = null
+
+var instanced_brushes: Array[Node] = []
signal tile_brush_selection_change(tilebrush: Control)
var selected_brush: Control:
@@ -9,37 +12,98 @@ var selected_brush: Control:
tile_brush_selection_change.emit(selected_brush)
func _ready():
+ loadMobs()
loadTiles()
+ loadFurniture()
-# this function will read all files in "res://Mods/Core/Tiles/" and for each file it will create a texturerect and assign the file as the texture of the texturerect. Then it will add the texturerect as a child to $HSplitContainer/EntitiesContainer/TilesList
+# this function will read all files in Gamedata.data.tiles.data and creates tilebrushes for each tile in the list. It will make separate lists for each category that the tiles belong to.
+func loadMobs():
+ var mobList: Array = Gamedata.data.mobs.data
+ var newMobsList: Control = scrolling_Flow_Container.instantiate()
+ newMobsList.header = "Mobs"
+ add_child(newMobsList)
+ for item in mobList:
+ if item.has("sprite"):
+ var imagefileName: String = item["sprite"]
+ imagefileName = imagefileName.get_file()
+ # Get the texture from gamedata
+ var texture: Resource = Gamedata.data.mobs.sprites[imagefileName]
+ # Create a TextureRect node
+ var brushInstance = tileBrush.instantiate()
+ # Assign the texture to the TextureRect
+ brushInstance.set_tile_texture(texture)
+ # Since the map editor needs to knw what tile ID is used,
+ # We store the tile id in a variable in the brush
+ brushInstance.tileID = item.id
+ brushInstance.tilebrush_clicked.connect(tilebrush_clicked)
+ brushInstance.entityType = "mob"
+ # Add the TextureRect as a child to the TilesList
+ newMobsList.add_content_item(brushInstance)
+ instanced_brushes.append(brushInstance)
+
+func loadFurniture():
+ var furnitureList: Array = Gamedata.data.furniture.data
+ var newFurnitureList: Control = scrolling_Flow_Container.instantiate()
+ newFurnitureList.header = "Furniture"
+ add_child(newFurnitureList)
+
+ for item in furnitureList:
+ if item.has("sprite"):
+ var imagefileName: String = item["sprite"]
+ imagefileName = imagefileName.get_file()
+ var texture: Resource = Gamedata.data.furniture.sprites[imagefileName]
+ var brushInstance = tileBrush.instantiate()
+ brushInstance.set_tile_texture(texture)
+ brushInstance.tileID = item.id
+ brushInstance.tilebrush_clicked.connect(tilebrush_clicked)
+ brushInstance.entityType = "furniture"
+ newFurnitureList.add_content_item(brushInstance)
+ instanced_brushes.append(brushInstance)
+
+
+# this function will read all files in Gamedata.data.tiles.data and creates tilebrushes for each tile in the list. It will make separate lists for each category that the tiles belong to.
func loadTiles():
- var tilesDir = "res://Mods/Core/Tiles/"
+ var tileList: Array = Gamedata.data.tiles.data
+
+ for item in tileList:
+ if item.has("sprite"):
+ #We need to put the tiles the right catecory
+ #Each tile can have 0 or more categories
+ for category in item["categories"]:
+ #Check if the category was already added
+ var newTilesList: Control = find_list_by_category(category)
+ if !newTilesList:
+ newTilesList = scrolling_Flow_Container.instantiate()
+ newTilesList.header = category
+ add_child(newTilesList)
+ var imagefileName: String = item["sprite"]
+ imagefileName = imagefileName.get_file()
+ # Get the texture from gamedata
+ var texture: Resource = Gamedata.data.tiles.sprites[imagefileName].albedo_texture
+ # Create a TextureRect node
+ var brushInstance = tileBrush.instantiate()
+ # Assign the texture to the TextureRect
+ brushInstance.set_tile_texture(texture)
+ # Since the map editor needs to knw what tile ID is used,
+ # We store the tile id in a variable in the brush
+ brushInstance.tileID = item.id
+ brushInstance.tilebrush_clicked.connect(tilebrush_clicked)
+
+ # Add the TextureRect as a child to the TilesList
+ newTilesList.add_content_item(brushInstance)
+ instanced_brushes.append(brushInstance)
+
+#Find the list associated with the category
+func find_list_by_category(category: String) -> Control:
+ var currentCategories: Array[Node] = get_children()
+ var categoryFound: Control = null
+ #Check if the category was already added
+ for categoryList in currentCategories:
+ if categoryList.header == category:
+ categoryFound = categoryList
+ break
+ return categoryFound
- var dir = DirAccess.open(tilesDir)
- if dir:
- dir.list_dir_begin()
- var file_name = dir.get_next()
- while file_name != "":
- var extension = file_name.get_extension()
-
- if !dir.current_is_dir():
- if extension == "png":
- # Create a TextureRect node
- var brushInstance = tileBrush.instantiate()
-
- # Load the texture from file
- var texture: Resource = load(tilesDir + file_name)
-
- # Assign the texture to the TextureRect
- brushInstance.set_tile_texture(texture)
- brushInstance.tilebrush_clicked.connect(tilebrush_clicked)
-
- # Add the TextureRect as a child to the TilesList
- add_child(brushInstance)
- file_name = dir.get_next()
- else:
- print_debug("An error occurred when trying to access the path.")
- dir.list_dir_end()
#Mark the clicked tilebrush as selected, but only after deselecting all other brushes
func tilebrush_clicked(tilebrush: Control) -> void:
@@ -47,11 +111,10 @@ func tilebrush_clicked(tilebrush: Control) -> void:
# If the clicked brush was not select it, we select it. Otherwise we deselect it
if selected_brush != tilebrush:
selected_brush = tilebrush
- selected_brush.modulate = Color(0.227, 0.635, 0.757)
+ selected_brush.set_selected(true)
else:
selected_brush = null
func deselect_all_brushes():
- var children = get_children()
- for child in children:
- child.modulate = Color(1,1,1)
+ for child in instanced_brushes:
+ child.set_selected(false)
diff --git a/Scenes/ContentManager/Mapeditor/Scripts/mapeditor.gd b/Scenes/ContentManager/Mapeditor/Scripts/mapeditor.gd
index c644e359..88895f3a 100644
--- a/Scenes/ContentManager/Mapeditor/Scripts/mapeditor.gd
+++ b/Scenes/ContentManager/Mapeditor/Scripts/mapeditor.gd
@@ -1,23 +1,29 @@
extends Control
+@export var panWindow: Control = null
+@export var mapScrollWindow: ScrollContainer = null
+@export var gridContainer: ColorRect = null
+@export var tileGrid: GridContainer = null
+
signal zoom_level_changed(value: int)
var tileSize: int = 128
var mapHeight: int = 32
var mapWidth: int = 32
+var contentSource: String = "":
+ set(newSource):
+ contentSource = newSource
+ tileGrid.load_map_json_file()
-@export var panWindow: Control = null
-@export var mapScrollWindow: ScrollContainer = null
-@export var gridContainer: ColorRect = null
var zoom_level: int = 20:
set(val):
zoom_level = val
- adjust_scale(zoom_level)
zoom_level_changed.emit(zoom_level)
func _ready():
setPanWindowSize()
+ zoom_level = 20
func setPanWindowSize():
var panWindowWidth: float = 0.8*tileSize*mapWidth
@@ -48,10 +54,6 @@ func _on_map_scroll_window_ready():
await get_tree().create_timer(0.5).timeout
mapScrollWindow.scroll_horizontal = int(panWindow.custom_minimum_size.x/3.5)
mapScrollWindow.scroll_vertical = int(panWindow.custom_minimum_size.y/3.5)
- adjust_scale(20)
-
-func adjust_scale(zoom: int):
- gridContainer.custom_minimum_size = Vector2(mapWidth*1.28*zoom, mapHeight*1.28*zoom)
func _on_zoom_scroller_zoom_level_changed(value):
zoom_level = value
@@ -59,3 +61,11 @@ func _on_zoom_scroller_zoom_level_changed(value):
func _on_tile_grid_zoom_level_changed(value):
zoom_level = value
+#The editor is closed, destroy the instance
+#TODO: Check for unsaved changes
+func _on_close_button_button_up():
+ queue_free()
+
+
+func _on_rotate_map_button_up():
+ tileGrid.rotate_map()
diff --git a/Scenes/ContentManager/Mapeditor/Scripts/mapeditortile.gd b/Scenes/ContentManager/Mapeditor/Scripts/mapeditortile.gd
index 9de9cd17..51251ceb 100644
--- a/Scenes/ContentManager/Mapeditor/Scripts/mapeditortile.gd
+++ b/Scenes/ContentManager/Mapeditor/Scripts/mapeditortile.gd
@@ -1,15 +1,36 @@
extends Control
-const defaultTileData: Dictionary = {"texture": "", "rotation": 0}
+#If a tile has no data, we save an empty object. Tiledata can have:
+# id, rotation, mob
+const defaultTileData: Dictionary = {}
const defaultTexture: String = "res://Scenes/ContentManager/Mapeditor/Images/emptyTile.png"
const aboveTexture: String = "res://Scenes/ContentManager/Mapeditor/Images/tileAbove.png"
var tileData: Dictionary = defaultTileData.duplicate():
set(data):
tileData = data
- if tileData.texture != "":
- $TextureRect.texture = load("res://Mods/Core/Tiles/" + tileData.texture)
+ if tileData.has("id") and tileData.id != "":
+ $TileSprite.texture = Gamedata.get_sprite_by_id(Gamedata.data.tiles,\
+ tileData.id).albedo_texture
+ if tileData.has("rotation"):
+ set_rotation_amount(tileData.rotation)
+ $MobFurnitureSprite.hide()
+ $MobFurnitureSprite.rotation_degrees = 0
+ if tileData.has("mob"):
+ if tileData.mob.has("rotation"):
+ $MobFurnitureSprite.rotation_degrees = tileData.mob.rotation
+ $MobFurnitureSprite.texture = Gamedata.get_sprite_by_id(Gamedata.data.mobs,\
+ tileData.mob.id)
+ $MobFurnitureSprite.show()
+ elif tileData.has("furniture"):
+ if tileData.furniture.has("rotation"):
+ $MobFurnitureSprite.rotation_degrees = tileData.furniture.rotation
+ $MobFurnitureSprite.texture = Gamedata.get_sprite_by_id(\
+ Gamedata.data.furniture, tileData.furniture.id)
+ $MobFurnitureSprite.show()
else:
- $TextureRect.texture = load(defaultTexture)
+ $TileSprite.texture = load(defaultTexture)
+ $MobFurnitureSprite.texture = null
+ $MobFurnitureSprite.hide()
signal tile_clicked(clicked_tile: Control)
func _on_texture_rect_gui_input(event: InputEvent) -> void:
@@ -19,10 +40,71 @@ func _on_texture_rect_gui_input(event: InputEvent) -> void:
if event.pressed:
tile_clicked.emit(self)
-func set_texture(res: Resource) -> void:
- $TextureRect.texture = res
- var path: String = res.resource_path
- tileData.texture = path.replace("res://Mods/Core/Tiles/","")
+func set_rotation_amount(amount: int) -> void:
+ $TileSprite.rotation_degrees = amount
+ if amount == 0:
+ tileData.erase("rotation")
+ else:
+ tileData.rotation = amount
+
+func get_rotation_amount() -> int:
+ return $TileSprite.rotation_degrees
+
+func set_scale_amount(scaleAmount: int) -> void:
+ custom_minimum_size.x = scaleAmount
+ custom_minimum_size.y = scaleAmount
+
+func set_tile_id(id: String) -> void:
+ if id == "":
+ tileData.erase("id")
+ $TileSprite.texture = load(defaultTexture)
+ else:
+ tileData.id = id
+ $TileSprite.texture = Gamedata.get_sprite_by_id(Gamedata.data.tiles, id).albedo_texture
+
+func set_mob_id(id: String) -> void:
+ if id == "":
+ tileData.erase("mob")
+ if !tileData.has("furniture"):
+ $MobFurnitureSprite.hide()
+ else:
+ # A tile can either have a mob or furniture. If we add a mob, remove furniture
+ tileData.erase("furniture")
+ if tileData.has("mob"):
+ tileData.mob.id = id
+ else:
+ tileData.mob = {"id": id}
+ $MobFurnitureSprite.texture = Gamedata.get_sprite_by_id(Gamedata.data.mobs, id)
+ $MobFurnitureSprite.show()
+
+func set_furniture_id(id: String) -> void:
+ if id == "":
+ tileData.erase("furniture")
+ if !tileData.has("mob"):
+ $MobFurnitureSprite.hide()
+ else:
+ # A tile can either have a mob or furniture. If we add furniture, remove the mob
+ tileData.erase("mob")
+ if tileData.has("furniture"):
+ tileData.furniture.id = id
+ else:
+ tileData.furniture = {"id": id}
+ $MobFurnitureSprite.texture = Gamedata.get_sprite_by_id(Gamedata.data.furniture, id)
+ $MobFurnitureSprite.show()
+
+func set_mob_rotation(rotationDegrees):
+ $MobFurnitureSprite.rotation_degrees = rotationDegrees
+ if rotationDegrees == 0:
+ tileData.mob.erase("rotation")
+ else:
+ tileData.mob.rotation = rotationDegrees
+
+func set_furniture_rotation(rotationDegrees):
+ $MobFurnitureSprite.rotation_degrees = rotationDegrees
+ if rotationDegrees == 0:
+ tileData.furniture.erase("rotation")
+ else:
+ tileData.furniture.rotation = rotationDegrees
func _on_texture_rect_mouse_entered() -> void:
if Input.is_mouse_button_pressed(MOUSE_BUTTON_LEFT):
@@ -32,20 +114,30 @@ func set_default() -> void:
tileData = defaultTileData.duplicate()
func highlight() -> void:
- $TextureRect.modulate = Color(0.227, 0.635, 0.757)
-
+ $TileSprite.modulate = Color(0.227, 0.635, 0.757)
+
func unhighlight() -> void:
- $TextureRect.modulate = Color(1,1,1)
-
+ $TileSprite.modulate = Color(1,1,1)
+
func set_clickable(clickable: bool):
if !clickable:
mouse_filter = MOUSE_FILTER_IGNORE
- $TextureRect.mouse_filter = MOUSE_FILTER_IGNORE
+ $TileSprite.mouse_filter = MOUSE_FILTER_IGNORE
+ $MobFurnitureSprite.mouse_filter = MOUSE_FILTER_IGNORE
#This function sets the texture to some static resource that helps the user visualize that something is above
#If this tile has a texture in its data, set it to the above texture instead
func set_above():
- if tileData.texture != "":
- $TextureRect.texture = load(aboveTexture)
+ $MobFurnitureSprite.texture = null
+ $MobFurnitureSprite.hide()
+ if tileData.has("id") and tileData.id != "":
+ $TileSprite.texture = load(aboveTexture)
else:
- $TextureRect.texture = null
+ $TileSprite.texture = null
+
+func _on_texture_rect_resized():
+ $TileSprite.pivot_offset = size / 2
+ $MobFurnitureSprite.pivot_offset = size / 2
+
+func get_tile_texture():
+ return $TileSprite.texture
diff --git a/Scenes/ContentManager/Mapeditor/Scripts/tilebrush.gd b/Scenes/ContentManager/Mapeditor/Scripts/tilebrush.gd
index 7437278e..4c174129 100644
--- a/Scenes/ContentManager/Mapeditor/Scripts/tilebrush.gd
+++ b/Scenes/ContentManager/Mapeditor/Scripts/tilebrush.gd
@@ -1,15 +1,25 @@
extends Control
signal tilebrush_clicked(clicked_tile: Control)
+var tileID: String = ""
+var selected: bool = false
+var entityType: String = "tile"
#When the event was a left mouse button press, adjust the modulate property of the $TileSprite to be 3aa2c1
func _on_texture_rect_gui_input(event):
if event is InputEventMouseButton and event.button_index == MOUSE_BUTTON_LEFT and event.pressed:
tilebrush_clicked.emit(self)
-
+
func set_tile_texture(res: Resource) -> void:
$TileSprite.texture = res
-
+
func get_texture() -> Resource:
return $TileSprite.texture
-
+
+#Mark the clicked tilebrush as selected
+func set_selected(is_selected: bool) -> void:
+ selected = is_selected
+ if selected:
+ modulate = Color(0.227, 0.635, 0.757)
+ else:
+ modulate = Color(1,1,1)
diff --git a/Scenes/ContentManager/Mapeditor/mapeditor.tscn b/Scenes/ContentManager/Mapeditor/mapeditor.tscn
index d0e9af58..2eee8025 100644
--- a/Scenes/ContentManager/Mapeditor/mapeditor.tscn
+++ b/Scenes/ContentManager/Mapeditor/mapeditor.tscn
@@ -1,10 +1,23 @@
-[gd_scene load_steps=8 format=3 uid="uid://d3001f5xxpup1"]
+[gd_scene load_steps=23 format=3 uid="uid://d3001f5xxpup1"]
[ext_resource type="Script" path="res://Scenes/ContentManager/Mapeditor/Scripts/mapeditor.gd" id="1_0c7s4"]
[ext_resource type="PackedScene" uid="uid://bswccbbg6ijep" path="res://Scenes/ContentManager/Mapeditor/Toolbar/mapeditorzoomscroller.tscn" id="1_0ytmu"]
+[ext_resource type="Texture2D" uid="uid://dd700uhgg8oly" path="res://Images/Icons/IconCameraUnchecked.png" id="2_bib5l"]
[ext_resource type="Script" path="res://Scenes/ContentManager/Mapeditor/Scripts/GridContainer.gd" id="2_sf17m"]
+[ext_resource type="Texture2D" uid="uid://b6m2bbbpmsyik" path="res://Images/Icons/IconRotateRightDark.png" id="3_8q2iq"]
+[ext_resource type="Texture2D" uid="uid://cxhp6hye2ufp2" path="res://Images/Icons/IconRectangleUnchecked.png" id="3_70koh"]
+[ext_resource type="Texture2D" uid="uid://5fsf8rh6w0pb" path="res://Images/Icons/IconRectangleChecked.png" id="3_eu7pp"]
[ext_resource type="Script" path="res://Scenes/ContentManager/Mapeditor/Scripts/Levelscroller.gd" id="3_i1qbw"]
+[ext_resource type="PackedScene" uid="uid://3x0kjiu7lqg7" path="res://Scenes/ContentManager/Mapeditor/mapeditortile.tscn" id="4_lqbjy"]
[ext_resource type="Script" path="res://Scenes/ContentManager/Mapeditor/Scripts/TilebrushList.gd" id="5_he816"]
+[ext_resource type="Texture2D" uid="uid://7pbgyyv6lna1" path="res://Images/Icons/IconEraserChecked.png" id="5_n3fyt"]
+[ext_resource type="Texture2D" uid="uid://hik7bkdfc51t" path="res://Images/Icons/IconEraserUnchecked.png" id="6_6lnwx"]
+[ext_resource type="PackedScene" uid="uid://be62h2ytgw2kb" path="res://Scenes/ContentManager/Custom_Widgets/Scrolling_Flow_Container.tscn" id="6_onaby"]
+[ext_resource type="Texture2D" uid="uid://kjsnbbs2o68u" path="res://Images/Icons/IconArrowDownChecked.png" id="7_s4wos"]
+[ext_resource type="PackedScene" uid="uid://cccnrdolr1bfo" path="res://Scenes/ContentManager/Mapeditor/tilebrush.tscn" id="8_o4x7s"]
+[ext_resource type="Texture2D" uid="uid://bsxgq272ca2kw" path="res://Images/Icons/IconArrowDownUnchecked.png" id="8_xcusj"]
+[ext_resource type="Texture2D" uid="uid://dk8cdxff84idk" path="res://Images/Icons/IconArrowUpChecked.png" id="9_etume"]
+[ext_resource type="Texture2D" uid="uid://biircfcjvj7lp" path="res://Images/Icons/IconArrowUpUnchecked.png" id="10_0rhye"]
[sub_resource type="Gradient" id="Gradient_x1sdl"]
@@ -12,7 +25,15 @@
gradient = SubResource("Gradient_x1sdl")
width = 24
-[node name="mapeditor" type="Control" node_paths=PackedStringArray("panWindow", "mapScrollWindow", "gridContainer")]
+[sub_resource type="InputEventKey" id="InputEventKey_nrfa0"]
+device = -1
+keycode = 82
+unicode = 114
+
+[sub_resource type="Shortcut" id="Shortcut_1tryc"]
+events = [SubResource("InputEventKey_nrfa0")]
+
+[node name="mapeditor" type="Control" node_paths=PackedStringArray("panWindow", "mapScrollWindow", "gridContainer", "tileGrid")]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
@@ -23,6 +44,7 @@ script = ExtResource("1_0c7s4")
panWindow = NodePath("HSplitContainer/MapeditorContainer/HBoxContainer/MapScrollWindow/PanWindow")
mapScrollWindow = NodePath("HSplitContainer/MapeditorContainer/HBoxContainer/MapScrollWindow")
gridContainer = NodePath("HSplitContainer/MapeditorContainer/HBoxContainer/MapScrollWindow/PanWindow/GridContainer")
+tileGrid = NodePath("HSplitContainer/MapeditorContainer/HBoxContainer/MapScrollWindow/PanWindow/GridContainer/TileGrid")
[node name="HSplitContainer" type="HSplitContainer" parent="."]
layout_mode = 1
@@ -44,62 +66,67 @@ custom_minimum_size = Vector2(0, 24)
layout_mode = 2
size_flags_stretch_ratio = 0.05
-[node name="ZoomScroller" parent="HSplitContainer/MapeditorContainer/Toolbar" instance=ExtResource("1_0ytmu")]
+[node name="CloseButton" type="Button" parent="HSplitContainer/MapeditorContainer/Toolbar"]
layout_mode = 2
size_flags_horizontal = 3
+size_flags_stretch_ratio = 0.15
+text = "Close"
-[node name="mapsizelabel" type="Label" parent="HSplitContainer/MapeditorContainer/Toolbar"]
-layout_mode = 2
-text = "Size: W:"
-
-[node name="MapWidth" type="TextEdit" parent="HSplitContainer/MapeditorContainer/Toolbar"]
-clip_contents = true
-custom_minimum_size = Vector2(40, 22)
+[node name="SaveButton" type="Button" parent="HSplitContainer/MapeditorContainer/Toolbar"]
layout_mode = 2
-theme_override_constants/line_spacing = 0
-theme_override_font_sizes/font_size = 16
-text = "32"
+size_flags_horizontal = 3
+size_flags_stretch_ratio = 0.15
+text = "Save"
-[node name="MapHeightLabel" type="Label" parent="HSplitContainer/MapeditorContainer/Toolbar"]
+[node name="CreatePreviewImageButton" type="CheckBox" parent="HSplitContainer/MapeditorContainer/Toolbar"]
layout_mode = 2
-text = "H:"
+tooltip_text = "Creates a miniature image of the map in the /mods/core/maps folder. The file name will be the ID of the map + png. "
+theme_override_icons/checked = ExtResource("2_bib5l")
+theme_override_icons/unchecked = ExtResource("2_bib5l")
-[node name="MapHeight" type="TextEdit" parent="HSplitContainer/MapeditorContainer/Toolbar"]
-clip_contents = true
-custom_minimum_size = Vector2(40, 22)
+[node name="RotateMap" type="CheckBox" parent="HSplitContainer/MapeditorContainer/Toolbar"]
layout_mode = 2
-theme_override_constants/line_spacing = 0
-theme_override_font_sizes/font_size = 16
-text = "32"
+tooltip_text = "Rotate the brush to paint with rotation"
+theme_override_icons/checked = ExtResource("3_8q2iq")
+theme_override_icons/unchecked = ExtResource("3_8q2iq")
+shortcut = SubResource("Shortcut_1tryc")
+text = "0"
-[node name="SaveButton" type="Button" parent="HSplitContainer/MapeditorContainer/Toolbar"]
+[node name="ZoomScroller" parent="HSplitContainer/MapeditorContainer/Toolbar" instance=ExtResource("1_0ytmu")]
layout_mode = 2
size_flags_horizontal = 3
-size_flags_stretch_ratio = 0.15
-text = "Save"
-[node name="LoadButton" type="Button" parent="HSplitContainer/MapeditorContainer/Toolbar"]
+[node name="RotateRight" type="CheckBox" parent="HSplitContainer/MapeditorContainer/Toolbar"]
layout_mode = 2
-size_flags_horizontal = 3
-size_flags_stretch_ratio = 0.15
-text = "Load"
+tooltip_text = "Rotate the brush to paint with rotation"
+theme_override_icons/checked = ExtResource("3_8q2iq")
+theme_override_icons/unchecked = ExtResource("3_8q2iq")
+shortcut = SubResource("Shortcut_1tryc")
+text = "0"
[node name="DrawRectangle" type="CheckBox" parent="HSplitContainer/MapeditorContainer/Toolbar"]
layout_mode = 2
-text = "Rectangle"
+tooltip_text = "Paint in a rectangle"
+theme_override_icons/checked = ExtResource("3_eu7pp")
+theme_override_icons/unchecked = ExtResource("3_70koh")
[node name="Erase" type="CheckBox" parent="HSplitContainer/MapeditorContainer/Toolbar"]
layout_mode = 2
-text = "Erase"
+tooltip_text = "Erase tiles on the map"
+theme_override_icons/checked = ExtResource("5_n3fyt")
+theme_override_icons/unchecked = ExtResource("6_6lnwx")
[node name="ShowBelow" type="CheckBox" parent="HSplitContainer/MapeditorContainer/Toolbar"]
layout_mode = 2
-text = "Below"
+tooltip_text = "Show the level below"
+theme_override_icons/checked = ExtResource("7_s4wos")
+theme_override_icons/unchecked = ExtResource("8_xcusj")
[node name="ShowAbove" type="CheckBox" parent="HSplitContainer/MapeditorContainer/Toolbar"]
layout_mode = 2
-text = "Above
-"
+tooltip_text = "Show the level above"
+theme_override_icons/checked = ExtResource("9_etume")
+theme_override_icons/unchecked = ExtResource("10_0rhye")
[node name="HBoxContainer" type="HBoxContainer" parent="HSplitContainer/MapeditorContainer"]
layout_mode = 2
@@ -126,7 +153,7 @@ grow_horizontal = 2
grow_vertical = 2
color = Color(0.313726, 0.313726, 0.313726, 1)
-[node name="TileGrid" type="GridContainer" parent="HSplitContainer/MapeditorContainer/HBoxContainer/MapScrollWindow/PanWindow/GridContainer" node_paths=PackedStringArray("mapEditor", "LevelScrollBar", "levelgrid_below", "levelgrid_above")]
+[node name="TileGrid" type="GridContainer" parent="HSplitContainer/MapeditorContainer/HBoxContainer/MapScrollWindow/PanWindow/GridContainer" node_paths=PackedStringArray("mapEditor", "LevelScrollBar", "levelgrid_below", "levelgrid_above", "mapScrollWindow", "brushPreviewTexture", "buttonRotateRight")]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
@@ -137,13 +164,17 @@ theme_override_constants/h_separation = 0
theme_override_constants/v_separation = 0
columns = 32
script = ExtResource("2_sf17m")
+tileScene = ExtResource("4_lqbjy")
mapEditor = NodePath("../../../../../../..")
LevelScrollBar = NodePath("../../../../Levelscroller/LevelScrollbar")
levelgrid_below = NodePath("../Level_Below")
levelgrid_above = NodePath("../Level_Above")
+mapScrollWindow = NodePath("../../..")
+brushPreviewTexture = NodePath("../../../../../../../BrushPreviewTexture")
+buttonRotateRight = NodePath("../../../../../Toolbar/RotateRight")
[node name="Level_Below" type="GridContainer" parent="HSplitContainer/MapeditorContainer/HBoxContainer/MapScrollWindow/PanWindow/GridContainer"]
-modulate = Color(1, 1, 1, 0.0980392)
+modulate = Color(1, 1, 1, 0.117647)
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
@@ -151,6 +182,8 @@ anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
+theme_override_constants/h_separation = 0
+theme_override_constants/v_separation = 0
columns = 32
[node name="Level_Above" type="GridContainer" parent="HSplitContainer/MapeditorContainer/HBoxContainer/MapScrollWindow/PanWindow/GridContainer"]
@@ -162,6 +195,8 @@ anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
+theme_override_constants/h_separation = 0
+theme_override_constants/v_separation = 0
columns = 32
[node name="Levelscroller" type="VBoxContainer" parent="HSplitContainer/MapeditorContainer/HBoxContainer"]
@@ -195,23 +230,25 @@ rounded = true
layout_mode = 2
size_flags_horizontal = 3
size_flags_stretch_ratio = 0.2
-
-[node name="ScrollContainer" type="ScrollContainer" parent="HSplitContainer/EntitiesContainer"]
-layout_mode = 2
-size_flags_vertical = 3
-
-[node name="TilebrushList" type="HFlowContainer" parent="HSplitContainer/EntitiesContainer/ScrollContainer"]
-clip_contents = true
-layout_mode = 2
-size_flags_horizontal = 3
-size_flags_vertical = 3
script = ExtResource("5_he816")
+scrolling_Flow_Container = ExtResource("6_onaby")
+tileBrush = ExtResource("8_o4x7s")
+
+[node name="BrushPreviewTexture" type="TextureRect" parent="."]
+visible = false
+layout_mode = 0
+offset_right = 40.0
+offset_bottom = 40.0
[connection signal="ready" from="." to="HSplitContainer/MapeditorContainer/HBoxContainer/MapScrollWindow/PanWindow/GridContainer/TileGrid" method="_on_mapeditor_ready"]
[connection signal="zoom_level_changed" from="." to="HSplitContainer/MapeditorContainer/Toolbar/ZoomScroller" method="_on_mapeditor_zoom_level_changed"]
+[connection signal="zoom_level_changed" from="." to="HSplitContainer/MapeditorContainer/HBoxContainer/MapScrollWindow/PanWindow/GridContainer/TileGrid" method="_on_zoom_level_changed"]
+[connection signal="button_up" from="HSplitContainer/MapeditorContainer/Toolbar/CloseButton" to="." method="_on_close_button_button_up"]
+[connection signal="button_up" from="HSplitContainer/MapeditorContainer/Toolbar/SaveButton" to="HSplitContainer/MapeditorContainer/HBoxContainer/MapScrollWindow/PanWindow/GridContainer/TileGrid" method="save_map_json_file"]
+[connection signal="button_up" from="HSplitContainer/MapeditorContainer/Toolbar/CreatePreviewImageButton" to="HSplitContainer/MapeditorContainer/HBoxContainer/MapScrollWindow/PanWindow/GridContainer/TileGrid" method="_on_create_preview_image_button_button_up"]
+[connection signal="button_up" from="HSplitContainer/MapeditorContainer/Toolbar/RotateMap" to="." method="_on_rotate_map_button_up"]
[connection signal="zoom_level_changed" from="HSplitContainer/MapeditorContainer/Toolbar/ZoomScroller" to="." method="_on_zoom_scroller_zoom_level_changed"]
-[connection signal="button_up" from="HSplitContainer/MapeditorContainer/Toolbar/SaveButton" to="HSplitContainer/MapeditorContainer/HBoxContainer/MapScrollWindow/PanWindow/GridContainer/TileGrid" method="_on_save_button_button_up"]
-[connection signal="button_up" from="HSplitContainer/MapeditorContainer/Toolbar/LoadButton" to="HSplitContainer/MapeditorContainer/HBoxContainer/MapScrollWindow/PanWindow/GridContainer/TileGrid" method="_on_load_button_button_up"]
+[connection signal="button_up" from="HSplitContainer/MapeditorContainer/Toolbar/RotateRight" to="HSplitContainer/MapeditorContainer/HBoxContainer/MapScrollWindow/PanWindow/GridContainer/TileGrid" method="_on_rotate_right_button_up"]
[connection signal="toggled" from="HSplitContainer/MapeditorContainer/Toolbar/DrawRectangle" to="HSplitContainer/MapeditorContainer/HBoxContainer/MapScrollWindow/PanWindow/GridContainer/TileGrid" method="_on_draw_rectangle_toggled"]
[connection signal="toggled" from="HSplitContainer/MapeditorContainer/Toolbar/Erase" to="HSplitContainer/MapeditorContainer/HBoxContainer/MapScrollWindow/PanWindow/GridContainer/TileGrid" method="_on_erase_toggled"]
[connection signal="toggled" from="HSplitContainer/MapeditorContainer/Toolbar/ShowBelow" to="HSplitContainer/MapeditorContainer/HBoxContainer/MapScrollWindow/PanWindow/GridContainer/TileGrid" method="_on_show_below_toggled"]
@@ -220,4 +257,4 @@ script = ExtResource("5_he816")
[connection signal="zoom_level_changed" from="HSplitContainer/MapeditorContainer/HBoxContainer/MapScrollWindow/PanWindow/GridContainer/TileGrid" to="." method="_on_tile_grid_zoom_level_changed"]
[connection signal="value_changed" from="HSplitContainer/MapeditorContainer/HBoxContainer/Levelscroller/LevelScrollbar" to="HSplitContainer/MapeditorContainer/HBoxContainer/MapScrollWindow/PanWindow/GridContainer/TileGrid" method="_on_level_scrollbar_value_changed"]
[connection signal="value_changed" from="HSplitContainer/MapeditorContainer/HBoxContainer/Levelscroller/LevelScrollbar" to="HSplitContainer/MapeditorContainer/HBoxContainer/Levelscroller" method="_on_level_scrollbar_value_changed"]
-[connection signal="tile_brush_selection_change" from="HSplitContainer/EntitiesContainer/ScrollContainer/TilebrushList" to="HSplitContainer/MapeditorContainer/HBoxContainer/MapScrollWindow/PanWindow/GridContainer/TileGrid" method="_on_tilebrush_list_tile_brush_selection_change"]
+[connection signal="tile_brush_selection_change" from="HSplitContainer/EntitiesContainer" to="HSplitContainer/MapeditorContainer/HBoxContainer/MapScrollWindow/PanWindow/GridContainer/TileGrid" method="_on_tilebrush_list_tile_brush_selection_change"]
diff --git a/Scenes/ContentManager/Mapeditor/mapeditortile.tscn b/Scenes/ContentManager/Mapeditor/mapeditortile.tscn
index ddd9d8c2..9d521390 100644
--- a/Scenes/ContentManager/Mapeditor/mapeditortile.tscn
+++ b/Scenes/ContentManager/Mapeditor/mapeditortile.tscn
@@ -13,7 +13,7 @@ size_flags_horizontal = 3
size_flags_vertical = 3
script = ExtResource("1_7fypm")
-[node name="TextureRect" type="TextureRect" parent="."]
+[node name="TileSprite" type="TextureRect" parent="."]
layout_mode = 1
anchors_preset = -1
anchor_right = 1.0
@@ -23,5 +23,19 @@ grow_vertical = 2
texture = ExtResource("2_rued1")
expand_mode = 3
-[connection signal="gui_input" from="TextureRect" to="." method="_on_texture_rect_gui_input"]
-[connection signal="mouse_entered" from="TextureRect" to="." method="_on_texture_rect_mouse_entered"]
+[node name="MobFurnitureSprite" type="TextureRect" parent="."]
+visible = false
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+expand_mode = 2
+stretch_mode = 4
+
+[connection signal="gui_input" from="TileSprite" to="." method="_on_texture_rect_gui_input"]
+[connection signal="mouse_entered" from="TileSprite" to="." method="_on_texture_rect_mouse_entered"]
+[connection signal="resized" from="TileSprite" to="." method="_on_texture_rect_resized"]
+[connection signal="gui_input" from="MobFurnitureSprite" to="." method="_on_texture_rect_gui_input"]
+[connection signal="mouse_entered" from="MobFurnitureSprite" to="." method="_on_texture_rect_mouse_entered"]
diff --git a/Scenes/ContentManager/Mapeditor/tilebrush.tscn b/Scenes/ContentManager/Mapeditor/tilebrush.tscn
index be00e286..9a3e6e98 100644
--- a/Scenes/ContentManager/Mapeditor/tilebrush.tscn
+++ b/Scenes/ContentManager/Mapeditor/tilebrush.tscn
@@ -1,7 +1,7 @@
[gd_scene load_steps=3 format=3 uid="uid://cccnrdolr1bfo"]
[ext_resource type="Script" path="res://Scenes/ContentManager/Mapeditor/Scripts/tilebrush.gd" id="1_x2ml4"]
-[ext_resource type="Texture2D" uid="uid://ttmfel3ylg0w" path="res://Mods/Core/Tiles/arcstones1.png" id="2_7dvcp"]
+[ext_resource type="Texture2D" uid="uid://d0ec7u2d3yqqp" path="res://Mods/Core/Tiles/asphalt_middle_horizontal.png" id="2_0qm6c"]
[node name="TileBrush" type="Control"]
custom_minimum_size = Vector2(64, 64)
@@ -18,7 +18,8 @@ custom_minimum_size = Vector2(64, 64)
layout_mode = 0
offset_right = 40.0
offset_bottom = 40.0
-texture = ExtResource("2_7dvcp")
-expand_mode = 3
+texture = ExtResource("2_0qm6c")
+expand_mode = 2
+stretch_mode = 4
[connection signal="gui_input" from="TileSprite" to="." method="_on_texture_rect_gui_input"]
diff --git a/Scenes/ContentManager/Scripts/content_list.gd b/Scenes/ContentManager/Scripts/content_list.gd
new file mode 100644
index 00000000..de9eed19
--- /dev/null
+++ b/Scenes/ContentManager/Scripts/content_list.gd
@@ -0,0 +1,165 @@
+extends Control
+
+#This scene is a control which lists content from any loaded mods
+#It allows users to select content for editing and creating new content
+#This node should be used to load everything from one specific json file or one directory
+#The json file or directory is specified by setting the source variable
+#This node is intended to be used in the content editor
+
+@export var contentItems: ItemList = null
+@export var collapseButton: Button = null
+@export var pupup_ID: Popup = null
+@export var popup_textedit: TextEdit = null
+signal item_activated(data: Array, itemID: String)
+var is_collapsed: bool = false
+var popupAction: String = ""
+var contentData: Dictionary = {}:
+ set(newData):
+ contentData = newData
+ load_data()
+var header: String = "Items":
+ set(newName):
+ header = newName
+ collapseButton.text = header
+
+
+
+#This function adds items to the content list based on the provided path
+#If the path is a directory, it will list all the files in the directory
+#If the path is a json file, it will list all the items in the json file
+func load_data():
+ if contentData.is_empty():
+ return
+ contentItems.clear()
+ if !contentData.has("data"):
+ return
+ if contentData.data.is_empty():
+ return
+ #If the first item is a string, it's a list of files.
+ #Otherwise, it's a list of objects representing some kind of data
+ if contentData.data[0] is String:
+ make_file_list()
+ else:
+ make_item_list()
+
+# Loops over all the items in contentData.data (which are dictionaries)
+# Creates a new item in the list with the id of the item as text
+func make_item_list():
+ for item in contentData.data:
+ # get the id of the item, "missing_id" if not found
+ var item_id: String = item.get("id", "missing_id")
+ #Add the item and save the index number
+ var item_index: int = contentItems.add_item(item_id)
+ contentItems.set_item_metadata(item_index, item_id)
+
+ if item.has("sprite") and contentData.sprites.has(item["sprite"]):
+ var mySprite: Resource = contentData.sprites[item["sprite"]]
+ if mySprite is BaseMaterial3D:
+ contentItems.set_item_icon(item_index,mySprite.albedo_texture)
+ else:
+ contentItems.set_item_icon(item_index,mySprite)
+
+# Loops over the files in contentData.data (which are filenames)
+# For each file, a new item will be added to the list
+func make_file_list() -> void:
+ for file_name in contentData.data:
+ # Extract the base name without the extension
+ var base_name = file_name.get_basename()
+
+ # Add all the filenames to the ContentItems list as child nodes
+ var item_index: int = contentItems.add_item(base_name)
+ # Add the ID as metadata which can be used to load the item data
+ contentItems.set_item_metadata(item_index, base_name)
+
+ # If the file has an image to represent it's content, load it
+ if contentData.has("sprites") and contentData.sprites.has(base_name + ".png"):
+ var mySprite: Resource = contentData.sprites[base_name + ".png"]
+ if mySprite:
+ contentItems.set_item_icon(item_index, mySprite)
+
+
+# Executed when an item in ContentItems is double-clicked or
+# when the user selects an item in ContentItems and presses enter
+# Index is the position in the ContentItems list starting from 0
+func _on_content_items_item_activated(index: int):
+ # Get the id of the item from the metadata
+ var strItemID: String = contentItems.get_item_metadata(index)
+ if strItemID:
+ item_activated.emit(contentData, strItemID)
+ else:
+ print_debug("Tried to signal that item with ID (" + str(index) + ") was activated,\
+ but the item has no metadata")
+
+#This function will append an item to the game data
+func add_item_to_data(id: String):
+ Gamedata.add_id_to_data(contentData, id)
+ load_data()
+
+#This function will show a pop-up asking the user to input an ID
+func _on_add_button_button_up():
+ popupAction = "Add"
+ popup_textedit.text = ""
+ pupup_ID.show()
+
+#This function requires that an item from the list is selected
+#Once clicked, it will show pupup_ID to ask the user for a new ID
+#If the user enters an ID and presses OK, it will read the file from the source variable
+#And duplicate the item that has the same ID as the ID that was selected
+#The duplicate item will recieve the ID that the user has entered in the popup
+#Lastly, the new duplicated item will be added to contentItems
+func _on_duplicate_button_button_up():
+ var selected_id: String = get_selected_item_text()
+ if selected_id == "":
+ return
+ popupAction = "Duplicate"
+ popup_textedit.text = selected_id
+ pupup_ID.show()
+
+
+#Called after the user enters an ID into the popup textbox and presses OK
+func _on_ok_button_up():
+ pupup_ID.hide()
+ var myText = popup_textedit.text
+ if myText == "":
+ return;
+ if popupAction == "Add":
+ Gamedata.add_id_to_data(contentData, myText)
+ if popupAction == "Duplicate":
+ # This is true if contentData.data is an array of strings
+ # Else, it will be an array of dictionaries
+ if contentData.data[0] is String:
+ Gamedata.duplicate_file_in_data(contentData,get_selected_item_text(),myText)
+ else:
+ Gamedata.duplicate_item_in_data(contentData,get_selected_item_text(),myText)
+ popupAction = ""
+ load_data()
+
+#Called after the users presses cancel on the popup asking for an ID
+func _on_cancel_button_up():
+ pupup_ID.hide()
+ popupAction = ""
+
+#This function requires that an item from the list is selected
+#Once clicked, the selected item will be removed from contentItems
+#It will also remove the item from the json file specified by source
+func _on_delete_button_button_up():
+ var selected_id: String = get_selected_item_text()
+ if selected_id == "":
+ return
+ contentItems.remove_item(contentItems.get_selected_items()[0])
+ Gamedata.remove_item_from_data(contentData, selected_id)
+ load_data()
+
+func get_selected_item_text() -> String:
+ if !contentItems.is_anything_selected():
+ return ""
+ return contentItems.get_item_text(contentItems.get_selected_items()[0])
+
+#This function will collapse and expand the $Content/ContentItems when the collapse button is pressed
+func _on_collapse_button_button_up():
+ contentItems.visible = is_collapsed
+ if is_collapsed:
+ size_flags_vertical = Control.SIZE_EXPAND_FILL
+ else:
+ size_flags_vertical = Control.SIZE_SHRINK_BEGIN
+ is_collapsed = !is_collapsed
diff --git a/Scenes/ContentManager/Scripts/contenteditor.gd b/Scenes/ContentManager/Scripts/contenteditor.gd
new file mode 100644
index 00000000..f76cbbc2
--- /dev/null
+++ b/Scenes/ContentManager/Scripts/contenteditor.gd
@@ -0,0 +1,87 @@
+extends Control
+
+@export var contentList: PackedScene = null
+@export var mapEditor: PackedScene = null
+@export var tacticalmapEditor: PackedScene = null
+@export var terrainTileEditor: PackedScene = null
+@export var furnitureEditor: PackedScene = null
+@export var itemEditor: PackedScene = null
+@export var mobEditor: PackedScene = null
+@export var content: VBoxContainer = null
+@export var tabContainer: TabContainer = null
+var selectedMod: String = "Core"
+
+# Called when the node enters the scene tree for the first time.
+#This function will instatiate a tileScene, set the source property and add it as a child to the content VBoxContainer. The source property should be set to "./Mods/Core/Maps/"
+func _ready():
+ load_content_list(Gamedata.data.tacticalmaps, "Tactical Maps")
+ load_content_list(Gamedata.data.maps, "Maps")
+ load_content_list(Gamedata.data.items, "Items")
+ load_content_list(Gamedata.data.tiles, "Terrain Tiles")
+ load_content_list(Gamedata.data.mobs, "Mobs")
+ load_content_list(Gamedata.data.furniture, "Furniture")
+
+func load_content_list(data: Dictionary, strHeader: String):
+ # Instantiate a contentlist
+ var contentListInstance: Control = contentList.instantiate()
+
+ # Set the source property
+ contentListInstance.contentData = data
+ contentListInstance.header = strHeader
+ contentListInstance.connect("item_activated", _on_content_item_activated)
+
+ # Add it as a child to the content VBoxContainer
+ content.add_child(contentListInstance)
+
+func _on_back_button_button_up():
+ get_tree().change_scene_to_file("res://Scenes/ContentManager/contentmanager.tscn")
+
+#The user has doubleclicked or pressed enter on one of the items in the content lists
+#Depending on wether the source is a JSON file, we are going to load the relevant content
+#If strSource is a json file, we load an item from this file with the ID of itemText
+#If the strSource is not a json file, we will assume it's a directory.
+#If it's a directory, we will load the entire json file with the name of the item ID
+func _on_content_item_activated(data: Dictionary, itemID: String):
+ if data.is_empty() or itemID == "":
+ print_debug("Tried to load the selected contentitem, but either \
+ data (Array) or itemID ("+itemID+") is empty")
+ return
+ if data == Gamedata.data.tiles:
+ instantiate_editor(data, itemID, terrainTileEditor)
+ if data == Gamedata.data.furniture:
+ instantiate_editor(data, itemID, furnitureEditor)
+ if data == Gamedata.data.items:
+ instantiate_editor(data, itemID, itemEditor)
+ if data == Gamedata.data.mobs:
+ instantiate_editor(data, itemID, mobEditor)
+ if data == Gamedata.data.maps:
+ instantiate_editor(data, itemID, mapEditor)
+ if data == Gamedata.data.tacticalmaps:
+ instantiate_editor(data, itemID, tacticalmapEditor)
+
+#This will add an editor to the content editor tab view.
+#The editor that should be instantiated is passed trough in the newEditor parameter
+#It is important that the editor has the property contentSource or contentData so it can be set
+func instantiate_editor(data: Dictionary, itemID: String, newEditor: PackedScene):
+ var newContentEditor: Control = newEditor.instantiate()
+ newContentEditor.name = itemID
+ tabContainer.add_child(newContentEditor)
+ tabContainer.current_tab = tabContainer.get_child_count()-1
+ if data.dataPath.ends_with(".json"):
+ #We only pass the data for the specific id to the editor
+ newContentEditor.contentData = data.data[Gamedata.get_array_index_by_id(data,itemID)]
+ #Connect the data_changed signal to the Gamedata.on_data_changed function
+ #We pass trough the data collection that the changed data belongs to
+ newContentEditor.data_changed.connect(Gamedata.on_data_changed.bind(data))
+ newContentEditor.data_changed.connect(_on_editor_data_changed.bind(data))
+
+ else:
+ #If the data source does not end with json, it's a directory
+ #So now we pass in the file we want the editor to edit
+ newContentEditor.contentSource = data.dataPath + itemID + ".json"
+
+# function to handle data changes
+func _on_editor_data_changed(data: Dictionary):
+ for element in content.get_children():
+ if element.contentData == data:
+ element.load_data()
diff --git a/Scenes/ContentManager/Scripts/contentmanager.gd b/Scenes/ContentManager/Scripts/contentmanager.gd
new file mode 100644
index 00000000..19f8e10d
--- /dev/null
+++ b/Scenes/ContentManager/Scripts/contentmanager.gd
@@ -0,0 +1,9 @@
+extends Control
+
+
+func _on_back_button_button_up():
+ get_tree().change_scene_to_file("res://scene_selector.tscn")
+
+
+func _on_content_editor_button_button_up():
+ get_tree().change_scene_to_file("res://Scenes/ContentManager/contenteditor.tscn")
diff --git a/Scenes/ContentManager/content_list.tscn b/Scenes/ContentManager/content_list.tscn
new file mode 100644
index 00000000..711b5b22
--- /dev/null
+++ b/Scenes/ContentManager/content_list.tscn
@@ -0,0 +1,116 @@
+[gd_scene load_steps=2 format=3 uid="uid://bhh0v7x4fjsgi"]
+
+[ext_resource type="Script" path="res://Scenes/ContentManager/Scripts/content_list.gd" id="1_ly1kh"]
+
+[node name="ContentList" type="Control" node_paths=PackedStringArray("contentItems", "collapseButton", "pupup_ID", "popup_textedit")]
+custom_minimum_size = Vector2(200, 30)
+layout_mode = 3
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+size_flags_horizontal = 3
+size_flags_vertical = 3
+script = ExtResource("1_ly1kh")
+contentItems = NodePath("Content/ContentItems")
+collapseButton = NodePath("Content/HBoxContainer/CollapseButton")
+pupup_ID = NodePath("ID_Input")
+popup_textedit = NodePath("ID_Input/VBoxContainer/TextEdit")
+
+[node name="Content" type="VBoxContainer" parent="."]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+
+[node name="HBoxContainer" type="HBoxContainer" parent="Content"]
+layout_mode = 2
+
+[node name="CollapseButton" type="Button" parent="Content/HBoxContainer"]
+layout_mode = 2
+size_flags_horizontal = 3
+tooltip_text = "Click to collapse"
+text = "Items"
+
+[node name="AddButton" type="Button" parent="Content/HBoxContainer"]
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_stretch_ratio = 0.15
+tooltip_text = "Add item"
+theme_override_font_sizes/font_size = 16
+text = "+"
+
+[node name="DuplicateButton" type="Button" parent="Content/HBoxContainer"]
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_stretch_ratio = 0.15
+tooltip_text = "Duplicate item"
+theme_override_font_sizes/font_size = 16
+text = "D"
+
+[node name="DeleteButton" type="Button" parent="Content/HBoxContainer"]
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_stretch_ratio = 0.15
+tooltip_text = "Delete item"
+theme_override_font_sizes/font_size = 16
+text = "-"
+
+[node name="ContentItems" type="ItemList" parent="Content"]
+custom_minimum_size = Vector2(200, 30)
+layout_mode = 2
+size_flags_vertical = 3
+fixed_icon_size = Vector2i(32, 32)
+
+[node name="ID_Input" type="Popup" parent="."]
+title = "Input ID"
+initial_position = 2
+size = Vector2i(200, 150)
+unresizable = false
+borderless = false
+
+[node name="VBoxContainer" type="VBoxContainer" parent="ID_Input"]
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+size_flags_horizontal = 3
+size_flags_vertical = 3
+
+[node name="Label" type="Label" parent="ID_Input/VBoxContainer"]
+layout_mode = 2
+text = "Input an ID"
+
+[node name="TextEdit" type="TextEdit" parent="ID_Input/VBoxContainer"]
+layout_mode = 2
+size_flags_vertical = 3
+placeholder_text = "ex: pistol_9mm"
+scroll_fit_content_height = true
+
+[node name="HBoxContainer" type="HBoxContainer" parent="ID_Input/VBoxContainer"]
+layout_mode = 2
+size_flags_vertical = 3
+
+[node name="OK" type="Button" parent="ID_Input/VBoxContainer/HBoxContainer"]
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_vertical = 0
+text = "Ok"
+
+[node name="Cancel" type="Button" parent="ID_Input/VBoxContainer/HBoxContainer"]
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_vertical = 0
+text = "Cancel"
+
+[connection signal="button_up" from="Content/HBoxContainer/CollapseButton" to="." method="_on_collapse_button_button_up"]
+[connection signal="button_up" from="Content/HBoxContainer/AddButton" to="." method="_on_add_button_button_up"]
+[connection signal="button_up" from="Content/HBoxContainer/DuplicateButton" to="." method="_on_duplicate_button_button_up"]
+[connection signal="button_up" from="Content/HBoxContainer/DeleteButton" to="." method="_on_delete_button_button_up"]
+[connection signal="item_activated" from="Content/ContentItems" to="." method="_on_content_items_item_activated"]
+[connection signal="button_up" from="ID_Input/VBoxContainer/HBoxContainer/OK" to="." method="_on_ok_button_up"]
+[connection signal="button_up" from="ID_Input/VBoxContainer/HBoxContainer/Cancel" to="." method="_on_cancel_button_up"]
diff --git a/Scenes/ContentManager/contenteditor.tscn b/Scenes/ContentManager/contenteditor.tscn
index 446d96bc..825815b5 100644
--- a/Scenes/ContentManager/contenteditor.tscn
+++ b/Scenes/ContentManager/contenteditor.tscn
@@ -1,14 +1,31 @@
-[gd_scene load_steps=2 format=3 uid="uid://480xqusluqrk"]
+[gd_scene load_steps=9 format=3 uid="uid://480xqusluqrk"]
-[ext_resource type="PackedScene" uid="uid://d3001f5xxpup1" path="res://Scenes/ContentManager/Mapeditor/mapeditor.tscn" id="1_rwi67"]
+[ext_resource type="Script" path="res://Scenes/ContentManager/Scripts/contenteditor.gd" id="1_65sl4"]
+[ext_resource type="PackedScene" uid="uid://bhh0v7x4fjsgi" path="res://Scenes/ContentManager/content_list.tscn" id="2_4f21i"]
+[ext_resource type="PackedScene" uid="uid://d3001f5xxpup1" path="res://Scenes/ContentManager/Mapeditor/mapeditor.tscn" id="3_q062s"]
+[ext_resource type="PackedScene" uid="uid://0r8ni3u0dosg" path="res://Scenes/ContentManager/Custom_Editors/TacticalMapEditor/TacticalMapEditor.tscn" id="4_5du0w"]
+[ext_resource type="PackedScene" uid="uid://vfj2if40vf10" path="res://Scenes/ContentManager/Custom_Editors/TerrainTileEditor.tscn" id="4_5nnw0"]
+[ext_resource type="PackedScene" uid="uid://drby7yfu8t38e" path="res://Scenes/ContentManager/Custom_Editors/MobEditor.tscn" id="5_86se2"]
+[ext_resource type="PackedScene" uid="uid://cng4m3os6smj8" path="res://Scenes/ContentManager/Custom_Editors/FurnitureEditor.tscn" id="5_r1dle"]
+[ext_resource type="PackedScene" uid="uid://dmpomdwta1pgq" path="res://Scenes/ContentManager/Custom_Editors/ItemEditor/ItemEditor.tscn" id="7_i5608"]
-[node name="contenteditor" type="Control"]
+[node name="contenteditor" type="Control" node_paths=PackedStringArray("content", "tabContainer")]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
+script = ExtResource("1_65sl4")
+contentList = ExtResource("2_4f21i")
+mapEditor = ExtResource("3_q062s")
+tacticalmapEditor = ExtResource("4_5du0w")
+terrainTileEditor = ExtResource("4_5nnw0")
+furnitureEditor = ExtResource("5_r1dle")
+itemEditor = ExtResource("7_i5608")
+mobEditor = ExtResource("5_86se2")
+content = NodePath("HSplitContainer/ContentLists/TabContainer2/Content")
+tabContainer = NodePath("HSplitContainer/TabContainer")
[node name="HSplitContainer" type="HSplitContainer" parent="."]
layout_mode = 1
@@ -17,11 +34,37 @@ anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
+split_offset = 240
-[node name="TabContainer2" type="TabContainer" parent="HSplitContainer"]
+[node name="ContentLists" type="VBoxContainer" parent="HSplitContainer"]
layout_mode = 2
-[node name="Recent" type="ItemList" parent="HSplitContainer/TabContainer2"]
+[node name="BackButton" type="Button" parent="HSplitContainer/ContentLists"]
+layout_mode = 2
+text = "Back to menu"
+
+[node name="SelectMods" type="OptionButton" parent="HSplitContainer/ContentLists"]
+layout_mode = 2
+tooltip_text = "Select the mod you want edit"
+item_count = 3
+selected = 0
+popup/item_0/text = "Core"
+popup/item_0/id = 0
+popup/item_1/text = "MyArcheryMod"
+popup/item_1/id = 1
+popup/item_2/text = "MyFarmMod"
+popup/item_2/id = 2
+
+[node name="TabContainer2" type="TabContainer" parent="HSplitContainer/ContentLists"]
+layout_mode = 2
+size_flags_vertical = 3
+
+[node name="Content" type="VBoxContainer" parent="HSplitContainer/ContentLists/TabContainer2"]
+custom_minimum_size = Vector2(0, 200)
+layout_mode = 2
+
+[node name="Recent" type="ItemList" parent="HSplitContainer/ContentLists/TabContainer2"]
+visible = false
custom_minimum_size = Vector2(200, 200)
layout_mode = 2
item_count = 10
@@ -39,29 +82,23 @@ item_7/text = "snail"
item_8/text = "core"
item_9/text = "pistol_9mm"
-[node name="CurrentFile" type="ItemList" parent="HSplitContainer/TabContainer2"]
-visible = false
-custom_minimum_size = Vector2(200, 200)
-layout_mode = 2
-item_count = 6
-max_columns = 2
-item_0/text = "Core"
-item_1/text = "pistol_9mm"
-item_2/text = "core"
-item_3/text = "revolver_357"
-item_4/text = "core"
-item_5/text = "laser_rifle"
-
[node name="TabContainer" type="TabContainer" parent="HSplitContainer"]
layout_mode = 2
-[node name="9mm_pistol" type="Label" parent="HSplitContainer/TabContainer"]
+[node name="Editor_Home" type="RichTextLabel" parent="HSplitContainer/TabContainer"]
layout_mode = 2
+bbcode_enabled = true
+text = "[font_size=70]Content editor[/font_size]
-[node name="itemgroup_kitchen" type="Label" parent="HSplitContainer/TabContainer"]
-visible = false
-layout_mode = 2
+This is the content editor for CataX.
-[node name="generic_house" parent="HSplitContainer/TabContainer" instance=ExtResource("1_rwi67")]
-visible = false
-layout_mode = 2
+[font_size=22][b]Content selection[/b][/font_size]
+On the left side you can select one of the mods you want to work on. The content of the mod will be displayed in the selection lists below.
+[ul]Double click an item in the list: opens the appropriate editor to the right.
+Click the + sign: Allows you to add new content to the mod. Enter the name and a new item will be available to edit[/ul]
+
+
+[font_size=22][b]Content editing[/b][/font_size]
+On the right a content editor will be displayed that allows you to edit the selected item. Multiple editors can be opened in tabs. Use the controls to edit the content and press save to save your edits"
+
+[connection signal="button_up" from="HSplitContainer/ContentLists/BackButton" to="." method="_on_back_button_button_up"]
diff --git a/Scenes/ContentManager/contentmanager.tscn b/Scenes/ContentManager/contentmanager.tscn
index 1c4b3442..f913759e 100644
--- a/Scenes/ContentManager/contentmanager.tscn
+++ b/Scenes/ContentManager/contentmanager.tscn
@@ -1,5 +1,44 @@
-[gd_scene format=3 uid="uid://buahqv18qlohm"]
+[gd_scene load_steps=2 format=3 uid="uid://buahqv18qlohm"]
+
+[ext_resource type="Script" path="res://Scenes/ContentManager/Scripts/contentmanager.gd" id="1_lt3y0"]
[node name="contentmanager" type="Control"]
layout_mode = 3
-anchors_preset = 0
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+script = ExtResource("1_lt3y0")
+
+[node name="VBoxContainer" type="VBoxContainer" parent="."]
+layout_mode = 1
+anchors_preset = 8
+anchor_left = 0.5
+anchor_top = 0.5
+anchor_right = 0.5
+anchor_bottom = 0.5
+offset_left = -60.5
+offset_top = -33.0
+offset_right = 60.5
+offset_bottom = 33.0
+grow_horizontal = 2
+grow_vertical = 2
+
+[node name="ModManagerButton" type="Button" parent="VBoxContainer"]
+layout_mode = 2
+theme_override_font_sizes/font_size = 36
+text = "Mod manager"
+
+[node name="ContentEditorButton" type="Button" parent="VBoxContainer"]
+layout_mode = 2
+theme_override_font_sizes/font_size = 36
+text = "Content editor"
+
+[node name="BackButton" type="Button" parent="VBoxContainer"]
+layout_mode = 2
+theme_override_font_sizes/font_size = 36
+text = "Back"
+
+[connection signal="button_up" from="VBoxContainer/ContentEditorButton" to="." method="_on_content_editor_button_button_up"]
+[connection signal="button_up" from="VBoxContainer/BackButton" to="." method="_on_back_button_button_up"]
diff --git a/Scenes/GameOver.tscn b/Scenes/GameOver.tscn
new file mode 100644
index 00000000..c0755658
--- /dev/null
+++ b/Scenes/GameOver.tscn
@@ -0,0 +1,46 @@
+[gd_scene load_steps=2 format=3 uid="uid://ckuh2s0nvwg0x"]
+
+[ext_resource type="Script" path="res://Scripts/GameOver.gd" id="1_77h6a"]
+
+[node name="GameOver" type="Control"]
+layout_mode = 3
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+script = ExtResource("1_77h6a")
+
+[node name="ColorRect" type="ColorRect" parent="."]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+color = Color(0.129412, 0.14902, 0.180392, 1)
+
+[node name="VBoxContainer" type="VBoxContainer" parent="."]
+layout_mode = 1
+anchors_preset = 8
+anchor_left = 0.5
+anchor_top = 0.5
+anchor_right = 0.5
+anchor_bottom = 0.5
+offset_left = -94.5
+offset_top = -42.5
+offset_right = 94.5
+offset_bottom = 42.5
+grow_horizontal = 2
+grow_vertical = 2
+
+[node name="GameOverLabel" type="Label" parent="VBoxContainer"]
+layout_mode = 2
+theme_override_font_sizes/font_size = 36
+text = "Game over"
+
+[node name="ReturnButton" type="Button" parent="VBoxContainer"]
+layout_mode = 2
+text = "Return to main menu"
+
+[connection signal="button_up" from="VBoxContainer/ReturnButton" to="." method="_on_return_button_button_up"]
diff --git a/Scenes/InventoryContainerListItem.tscn b/Scenes/InventoryContainerListItem.tscn
new file mode 100644
index 00000000..1fefd468
--- /dev/null
+++ b/Scenes/InventoryContainerListItem.tscn
@@ -0,0 +1,24 @@
+[gd_scene load_steps=3 format=3 uid="uid://crck2fhgayxhn"]
+
+[ext_resource type="Script" path="res://Scripts/InventoryContainerListItem.gd" id="1_76xnu"]
+[ext_resource type="Texture2D" uid="uid://ttmfel3ylg0w" path="res://Mods/Core/Tiles/arcstones1.png" id="2_qnss5"]
+
+[node name="ContainerListItem" type="Control"]
+custom_minimum_size = Vector2(64, 64)
+layout_mode = 3
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+script = ExtResource("1_76xnu")
+
+[node name="ContainerSprite" type="TextureRect" parent="."]
+custom_minimum_size = Vector2(64, 64)
+layout_mode = 0
+offset_right = 40.0
+offset_bottom = 40.0
+texture = ExtResource("2_qnss5")
+expand_mode = 3
+
+[connection signal="gui_input" from="ContainerSprite" to="." method="_on_texture_rect_gui_input"]
diff --git a/Scenes/InventoryWindow.tscn b/Scenes/InventoryWindow.tscn
new file mode 100644
index 00000000..7397c471
--- /dev/null
+++ b/Scenes/InventoryWindow.tscn
@@ -0,0 +1,247 @@
+[gd_scene load_steps=14 format=3 uid="uid://e0ebcv1n8jnq"]
+
+[ext_resource type="Script" path="res://Scripts/InventoryWindow.gd" id="1_7kqbx"]
+[ext_resource type="PackedScene" uid="uid://crck2fhgayxhn" path="res://Scenes/InventoryContainerListItem.tscn" id="2_xfgb3"]
+[ext_resource type="Script" path="res://addons/gloot/core/inventory_stacked.gd" id="3_l8xgt"]
+[ext_resource type="Resource" uid="uid://clehtt4tyqvdy" path="res://ItemProtosets.tres" id="3_sqsc0"]
+[ext_resource type="Script" path="res://addons/gloot/core/inventory_item.gd" id="5_qidb6"]
+[ext_resource type="FontFile" uid="uid://chm7lbcdeyo0h" path="res://Roboto-Bold.ttf" id="6_xpf2l"]
+[ext_resource type="Script" path="res://addons/gloot/ui/ctrl_item_slot_ex.gd" id="7_kcmi5"]
+[ext_resource type="Texture2D" uid="uid://dfmrlie57qrbo" path="res://Mods/Core/Items/9mm.png" id="8_0yr0i"]
+[ext_resource type="Script" path="res://addons/gloot/ui/ctrl_inventory_stacked.gd" id="9_8a8sx"]
+[ext_resource type="Texture2D" uid="uid://df2n5aculnj82" path="res://addons/gloot/images/icon_inventory.svg" id="10_6ygdg"]
+[ext_resource type="Script" path="res://addons/gloot/core/item_ref_slot.gd" id="11_nqptt"]
+
+[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_hyt2o"]
+bg_color = Color(0.584314, 0.588235, 0.737255, 1)
+
+[sub_resource type="Theme" id="Theme_6v4rg"]
+default_font = ExtResource("6_xpf2l")
+default_font_size = 13
+
+[node name="InventoryWindow" type="Control" node_paths=PackedStringArray("proximity_inventory", "proximity_inventory_control", "inventory_control", "inventory", "containerList", "LeftHandEquipmentSlot", "RightHandEquipmentSlot", "tooltip", "tooltip_item_name", "tooltip_item_description")]
+layout_mode = 3
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+size_flags_horizontal = 3
+size_flags_vertical = 3
+script = ExtResource("1_7kqbx")
+proximity_inventory = NodePath("InventoryStackedProx")
+proximity_inventory_control = NodePath("HBoxContainer/VBoxContainer/CtrlInventoryStackedProx")
+inventory_control = NodePath("HBoxContainer/CtrlInventoryStacked")
+inventory = NodePath("InventoryStacked")
+containerList = NodePath("HBoxContainer/ContainersList")
+containerListItem = ExtResource("2_xfgb3")
+LeftHandEquipmentSlot = NodePath("HBoxContainer/EquipmentSlotList/LeftHandEquipment/LeftHandEquipmentRefSlot")
+RightHandEquipmentSlot = NodePath("HBoxContainer/EquipmentSlotList/RightHandEquipment/RightHandEquipmentRefSlot2")
+tooltip = NodePath("Tooltip")
+tooltip_item_name = NodePath("Tooltip/Panel/ItemName")
+tooltip_item_description = NodePath("Tooltip/Panel2/Description")
+
+[node name="ColorRect" type="ColorRect" parent="."]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+color = Color(0.698039, 0.729412, 0.788235, 1)
+
+[node name="InventoryStacked" type="Node" parent="."]
+script = ExtResource("3_l8xgt")
+capacity = 1000.0
+item_protoset = ExtResource("3_sqsc0")
+
+[node name="_Node_23278" type="Node" parent="InventoryStacked"]
+script = ExtResource("5_qidb6")
+protoset = ExtResource("3_sqsc0")
+prototype_id = "bullet_9mm"
+
+[node name="_Node_23288" type="Node" parent="InventoryStacked"]
+script = ExtResource("5_qidb6")
+protoset = ExtResource("3_sqsc0")
+prototype_id = "pistol_magazine"
+
+[node name="_Node_23298" type="Node" parent="InventoryStacked"]
+script = ExtResource("5_qidb6")
+protoset = ExtResource("3_sqsc0")
+prototype_id = "rifle_m4a1"
+
+[node name="_Node_23311" type="Node" parent="InventoryStacked"]
+script = ExtResource("5_qidb6")
+protoset = ExtResource("3_sqsc0")
+prototype_id = "pistol_9mm"
+
+[node name="_Node_65384" type="Node" parent="InventoryStacked"]
+script = ExtResource("5_qidb6")
+protoset = ExtResource("3_sqsc0")
+prototype_id = "pistol_9mm"
+
+[node name="InventoryStackedProx" type="Node" parent="."]
+script = ExtResource("3_l8xgt")
+capacity = 1000.0
+item_protoset = ExtResource("3_sqsc0")
+
+[node name="HBoxContainer" type="HBoxContainer" parent="."]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+
+[node name="ContainersList" type="VBoxContainer" parent="HBoxContainer"]
+custom_minimum_size = Vector2(64, 0)
+layout_mode = 2
+
+[node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer"]
+layout_mode = 2
+size_flags_horizontal = 3
+
+[node name="Label" type="Label" parent="HBoxContainer/VBoxContainer"]
+layout_mode = 2
+text = "Nearby container:"
+
+[node name="CtrlInventoryStackedProx" type="Control" parent="HBoxContainer/VBoxContainer"]
+visible = false
+custom_minimum_size = Vector2(300, 400)
+layout_mode = 2
+size_flags_horizontal = 3
+script = ExtResource("9_8a8sx")
+inventory_path = NodePath("../../../InventoryStackedProx")
+default_item_icon = ExtResource("10_6ygdg")
+
+[node name="HBoxContainer" type="VBoxContainer" parent="HBoxContainer"]
+layout_mode = 2
+
+[node name="TransferRightButton" type="Button" parent="HBoxContainer/HBoxContainer"]
+layout_mode = 2
+text = "->"
+
+[node name="TransferLeftButton" type="Button" parent="HBoxContainer/HBoxContainer"]
+layout_mode = 2
+text = "<-"
+
+[node name="CtrlInventoryStacked" type="Control" parent="HBoxContainer"]
+custom_minimum_size = Vector2(300, 400)
+layout_mode = 2
+size_flags_horizontal = 3
+script = ExtResource("9_8a8sx")
+inventory_path = NodePath("../../InventoryStacked")
+default_item_icon = ExtResource("10_6ygdg")
+
+[node name="EquipmentSlotList" type="VBoxContainer" parent="HBoxContainer"]
+custom_minimum_size = Vector2(64, 0)
+layout_mode = 2
+
+[node name="LeftHandEquipment" type="HBoxContainer" parent="HBoxContainer/EquipmentSlotList"]
+layout_mode = 2
+
+[node name="EquipLeftButton" type="Button" parent="HBoxContainer/EquipmentSlotList/LeftHandEquipment"]
+layout_mode = 2
+text = "->"
+
+[node name="LeftHandEquipmentRefSlot" type="Node" parent="HBoxContainer/EquipmentSlotList/LeftHandEquipment"]
+script = ExtResource("11_nqptt")
+inventory_path = NodePath("../../../../InventoryStacked")
+
+[node name="LeftHandEquipmentSlotControl" type="Control" parent="HBoxContainer/EquipmentSlotList/LeftHandEquipment"]
+custom_minimum_size = Vector2(32, 32)
+layout_mode = 2
+script = ExtResource("7_kcmi5")
+slot_style = SubResource("StyleBoxFlat_hyt2o")
+item_slot_path = NodePath("../LeftHandEquipmentRefSlot")
+default_item_icon = ExtResource("8_0yr0i")
+label_visible = false
+
+[node name="Label" type="Label" parent="HBoxContainer/EquipmentSlotList/LeftHandEquipment"]
+layout_mode = 2
+text = "Left hand"
+
+[node name="RightHandEquipment" type="HBoxContainer" parent="HBoxContainer/EquipmentSlotList"]
+layout_mode = 2
+
+[node name="RightHandEquipmentRefSlot2" type="Node" parent="HBoxContainer/EquipmentSlotList/RightHandEquipment"]
+script = ExtResource("11_nqptt")
+inventory_path = NodePath("../../../../InventoryStacked")
+
+[node name="EquipRightButton" type="Button" parent="HBoxContainer/EquipmentSlotList/RightHandEquipment"]
+layout_mode = 2
+text = "->"
+
+[node name="RightHandEquipmentSlotControl" type="Control" parent="HBoxContainer/EquipmentSlotList/RightHandEquipment"]
+custom_minimum_size = Vector2(32, 32)
+layout_mode = 2
+script = ExtResource("7_kcmi5")
+slot_style = SubResource("StyleBoxFlat_hyt2o")
+item_slot_path = NodePath("../RightHandEquipmentRefSlot2")
+default_item_icon = ExtResource("8_0yr0i")
+label_visible = false
+
+[node name="Label" type="Label" parent="HBoxContainer/EquipmentSlotList/RightHandEquipment"]
+layout_mode = 2
+text = "Right hand"
+
+[node name="Tooltip" type="Control" parent="."]
+visible = false
+layout_mode = 3
+anchors_preset = 0
+offset_right = 242.0
+offset_bottom = 115.0
+pivot_offset = Vector2(0, 173)
+size_flags_horizontal = 3
+size_flags_vertical = 3
+tooltip_text = "kjkgkjghkjjhkg"
+
+[node name="Panel" type="Panel" parent="Tooltip"]
+layout_mode = 2
+offset_left = 1.0
+offset_top = 1.0
+offset_right = 241.0
+offset_bottom = 33.0
+size_flags_vertical = 3
+
+[node name="ItemName" type="Label" parent="Tooltip/Panel"]
+layout_mode = 0
+offset_right = 240.0
+offset_bottom = 32.0
+theme_override_colors/font_color = Color(0.921569, 0.596078, 0, 1)
+theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
+theme_override_constants/outline_size = 4
+theme_override_fonts/font = ExtResource("6_xpf2l")
+theme_override_font_sizes/font_size = 20
+text = "Item name"
+horizontal_alignment = 1
+vertical_alignment = 1
+
+[node name="Panel2" type="Panel" parent="Tooltip"]
+layout_mode = 2
+offset_left = 1.0
+offset_top = 35.0
+offset_right = 241.0
+offset_bottom = 115.0
+size_flags_vertical = 3
+
+[node name="Description" type="Label" parent="Tooltip/Panel2"]
+layout_mode = 0
+offset_right = 240.0
+offset_bottom = 32.0
+theme = SubResource("Theme_6v4rg")
+theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
+theme_override_constants/outline_size = 4
+theme_override_fonts/font = ExtResource("6_xpf2l")
+theme_override_font_sizes/font_size = 13
+text = "Item description"
+autowrap_mode = 3
+
+[connection signal="button_up" from="HBoxContainer/HBoxContainer/TransferRightButton" to="." method="_on_transfer_right_button_button_up"]
+[connection signal="button_up" from="HBoxContainer/HBoxContainer/TransferLeftButton" to="." method="_on_transfer_left_button_button_up"]
+[connection signal="button_up" from="HBoxContainer/EquipmentSlotList/LeftHandEquipment/EquipLeftButton" to="." method="_on_equip_left_button_button_up"]
+[connection signal="cleared" from="HBoxContainer/EquipmentSlotList/LeftHandEquipment/LeftHandEquipmentRefSlot" to="." method="_on_left_hand_equipment_slot_cleared"]
+[connection signal="item_equipped" from="HBoxContainer/EquipmentSlotList/LeftHandEquipment/LeftHandEquipmentRefSlot" to="." method="_on_left_hand_equipment_slot_item_equipped"]
+[connection signal="cleared" from="HBoxContainer/EquipmentSlotList/RightHandEquipment/RightHandEquipmentRefSlot2" to="." method="_on_right_hand_equipment_slot_cleared"]
+[connection signal="item_equipped" from="HBoxContainer/EquipmentSlotList/RightHandEquipment/RightHandEquipmentRefSlot2" to="." method="_on_right_hand_equipment_slot_item_equipped"]
+[connection signal="button_up" from="HBoxContainer/EquipmentSlotList/RightHandEquipment/EquipRightButton" to="." method="_on_equip_right_button_button_up"]
diff --git a/Scenes/Overmap/Overmap.tscn b/Scenes/Overmap/Overmap.tscn
new file mode 100644
index 00000000..92f42054
--- /dev/null
+++ b/Scenes/Overmap/Overmap.tscn
@@ -0,0 +1,78 @@
+[gd_scene load_steps=3 format=3 uid="uid://bgswuol251m3u"]
+
+[ext_resource type="Script" path="res://Scenes/Overmap/Scripts/Overmap.gd" id="1_fmft1"]
+[ext_resource type="PackedScene" uid="uid://budsoodfdkaea" path="res://Scenes/Overmap/OvermapTile.tscn" id="3_uq0vr"]
+
+[node name="Overmap" type="Control" node_paths=PackedStringArray("positionLabel", "tilesContainer", "travelButton", "overmapTileLabel")]
+layout_mode = 3
+anchor_left = 0.2
+anchor_top = 0.2
+anchor_right = 0.8
+anchor_bottom = 0.8
+grow_horizontal = 2
+grow_vertical = 2
+script = ExtResource("1_fmft1")
+positionLabel = NodePath("MarginContainer/HBoxContainer/VBoxContainer/Label")
+tilesContainer = NodePath("MarginContainer/HBoxContainer/TilesContainer")
+overmapTile = ExtResource("3_uq0vr")
+travelButton = NodePath("MarginContainer/HBoxContainer/VBoxContainer/TravelButton")
+overmapTileLabel = NodePath("MarginContainer/HBoxContainer/VBoxContainer/OvermapTileLabel")
+
+[node name="ColorRect" type="ColorRect" parent="."]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+color = Color(0.129412, 0.14902, 0.180392, 1)
+
+[node name="MarginContainer" type="MarginContainer" parent="."]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+theme_override_constants/margin_left = 16
+theme_override_constants/margin_top = 16
+theme_override_constants/margin_right = 16
+theme_override_constants/margin_bottom = 16
+
+[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer"]
+clip_contents = true
+layout_mode = 2
+
+[node name="TilesContainer" type="Control" parent="MarginContainer/HBoxContainer"]
+clip_contents = true
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_stretch_ratio = 0.8
+
+[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/HBoxContainer"]
+layout_mode = 2
+size_flags_stretch_ratio = 0.2
+
+[node name="OvermapTileLabel" type="Label" parent="MarginContainer/HBoxContainer/VBoxContainer"]
+layout_mode = 2
+text = "Name: Urbanroad
+Environment: Forest
+Challenge: Easy"
+
+[node name="Label" type="Label" parent="MarginContainer/HBoxContainer/VBoxContainer"]
+layout_mode = 2
+theme_override_colors/font_color = Color(0, 0.898039, 0.356863, 1)
+text = "+"
+horizontal_alignment = 1
+vertical_alignment = 1
+
+[node name="TravelButton" type="Button" parent="MarginContainer/HBoxContainer/VBoxContainer"]
+layout_mode = 2
+text = "Travel to location"
+
+[node name="HomeButton" type="Button" parent="MarginContainer/HBoxContainer/VBoxContainer"]
+layout_mode = 2
+text = "Home"
+
+[connection signal="button_up" from="MarginContainer/HBoxContainer/VBoxContainer/TravelButton" to="." method="_on_travel_button_button_up"]
+[connection signal="button_up" from="MarginContainer/HBoxContainer/VBoxContainer/HomeButton" to="." method="_on_home_button_button_up"]
diff --git a/Scenes/Overmap/OvermapTile.tscn b/Scenes/Overmap/OvermapTile.tscn
new file mode 100644
index 00000000..daa755f9
--- /dev/null
+++ b/Scenes/Overmap/OvermapTile.tscn
@@ -0,0 +1,25 @@
+[gd_scene load_steps=2 format=3 uid="uid://budsoodfdkaea"]
+
+[ext_resource type="Script" path="res://Scenes/Overmap/Scripts/OvermapTile.gd" id="1_kxuyw"]
+
+[node name="OvermapTile" type="Control"]
+custom_minimum_size = Vector2(32, 32)
+layout_mode = 3
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+size_flags_horizontal = 3
+size_flags_vertical = 3
+script = ExtResource("1_kxuyw")
+
+[node name="TextureRect" type="TextureRect" parent="."]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+
+[connection signal="gui_input" from="TextureRect" to="." method="_on_texture_rect_gui_input"]
diff --git a/Scenes/Overmap/Scripts/Overmap.gd b/Scenes/Overmap/Scripts/Overmap.gd
new file mode 100644
index 00000000..758654b4
--- /dev/null
+++ b/Scenes/Overmap/Scripts/Overmap.gd
@@ -0,0 +1,277 @@
+extends Control
+
+@export var positionLabel: Label = null
+@export var tilesContainer: Control = null
+@export var overmapTile: PackedScene = null
+@export var travelButton: Button = null
+@export var overmapTileLabel: Label = null
+var last_position_coord: Vector2 = Vector2()
+var tiles: Array = ["1.png", "arcstones1.png", "forestunderbrushscale5.png", "rockyfloor4.png"]
+var noise = FastNoiseLite.new()
+var grid_chunks: Dictionary = {} # Stores references to grid containers (visual tilegrids)
+var chunk_width: int = 32
+var chunk_size = 32
+var tile_size = 32
+var grid_pixel_size = chunk_size*tile_size
+var selected_overmap_tile: Control = null
+# We will emit this signal when the position_coords change
+# Which happens when the user has panned the overmap
+signal position_coord_changed(delta)
+#Fires when the player has pressed the travel button
+signal change_level_pressed()
+
+func _ready():
+ var gameFileJson: Dictionary = Helper.json_helper.load_json_dictionary_file(\
+ Helper.save_helper.current_save_folder + "/game.json")
+ noise.seed = gameFileJson.mapseed
+ noise.fractal_octaves = 5
+ noise.fractal_gain = 0.5
+ noise.frequency = 0.04
+ noise.noise_type = FastNoiseLite.TYPE_SIMPLEX
+
+ update_chunks()
+ connect("position_coord_changed", on_position_coord_changed)
+
+# This function updates the chunks.
+# It loops through a 4x4 grid centered on the current position
+# generating new chunks at each position if they don't already exist.
+# After generating any necessary new chunks, it calls `unload_chunks()`
+# to unload any chunks that are no longer needed. The
+# `chunk_size` variable determines the size of each chunk,
+# and `position_coord` is the current position in the world
+func update_chunks():
+ # Convert the current position to grid coordinates based on the grid's pixel size
+ var grid_position: Vector2 = (Helper.position_coord / grid_pixel_size).floor() * grid_pixel_size
+ #The position is increase arbitrarily so it is more center of screen
+ grid_position.x += grid_pixel_size
+ grid_position.y += grid_pixel_size
+
+ for x in range(-1, 1):
+ for y in range(-1, 1):
+ var chunk_grid_position: Vector2 = grid_position + Vector2(x, y) * grid_pixel_size
+ # Use the separate noise_chunks Dictionary for retrieving the noise data
+ if not Helper.chunks.has(chunk_grid_position):
+ generate_chunk(chunk_grid_position)
+ # Retrieve the chunk data for the specific position.
+ var chunk_data = Helper.chunks[chunk_grid_position]
+
+ if not grid_chunks.has(chunk_grid_position):
+ # Use chunk data to create and fill the GridContainer.
+ var localized_x: float = chunk_grid_position.x-Helper.position_coord.x
+ var localized_y: float = chunk_grid_position.y-Helper.position_coord.y
+ var new_grid_container = create_and_fill_grid_container(chunk_data,\
+ Vector2(localized_x,localized_y))
+ tilesContainer.call_deferred("add_child",new_grid_container)
+ # tilesContainer.add_child(new_grid_container)
+ # Store the GridContainer using the grid position as the key.
+ grid_chunks[chunk_grid_position] = new_grid_container
+
+ # After generating new chunks, you may want to unload any that are off-screen.
+ unload_chunks()
+
+# This function creates terrain for a specific area on the overmap. It uses a grid_position
+# to determine where to generate the terrain. The function employs a noise algorithm
+# to select tile types from a predefined list, creating a chunk of terrain data.
+# This data is stored in a global dictionary for later use in rendering the overmap.
+func generate_chunk(grid_position: Vector2) -> void:
+ var chunk = []
+ for y in range(chunk_size): # x goes from 0 to chunk_size - 1
+ for x in range(chunk_size): # y goes from 0 to chunk_size - 1
+ # We calculate global coordinates by
+ # offsetting the local coordinates by the grid_position
+ var global_x = x + grid_position.x / tile_size
+ var global_y = y + grid_position.y / tile_size
+ var noise_value = noise.get_noise_2d(global_x, global_y)
+ # Scale noise_value to a valid index in the tiles array
+ # Ensure noise_value is scaled correctly based on the number of tiles.
+ var tile_index = int((noise_value + 1) / 2 * tiles.size()) % tiles.size()
+ if global_x == 0 and global_y == 0:
+ chunk.append({"tile": tiles[tile_index], "global_x": global_x, \
+ "global_y": global_y, "tacticalmap": Gamedata.data.tacticalmaps.data[0]})
+ else:
+ chunk.append({"tile": tiles[tile_index], "global_x": global_x, \
+ "global_y": global_y, "tacticalmap": get_random_mapname_1_in_100()})
+ # Store the chunk using the grid_position as the key.
+ Helper.chunks[grid_position] = chunk
+
+func get_random_mapname_1_in_100() -> String:
+ var random_file: String = ""
+ var chance = randi_range(0, 100)
+ if chance < 1:
+ var random_index = randi() % Gamedata.data.tacticalmaps.data.size()
+ random_file = Gamedata.data.tacticalmaps.data[random_index]
+ return random_file
+
+
+
+# The user will leave chunks behind as the map is panned around
+# Chunks that are too far from the current position will be destoroyed
+#This will only destroy the visual representation of the data stored in Helper.chunks
+func unload_chunks():
+ var dist = 0
+ var rangeLimit = 0
+ for chunk_position in grid_chunks.keys():
+ dist = chunk_position.distance_to(Helper.position_coord)
+ #Lowering this number 5 will cause newly created chunks
+ #to be instantly deleted and recreated
+ rangeLimit = 3 * grid_pixel_size
+ if dist > rangeLimit:
+ #Distroy the grid itself
+ grid_chunks[chunk_position].call_deferred("queue_free")
+ #Remove the reference to the grid
+ grid_chunks.erase(chunk_position)
+
+
+var mouse_button_pressed: bool = false
+func _input(event):
+ if !visible:
+ return
+ if event is InputEventMouseButton:
+ match event.button_index:
+ MOUSE_BUTTON_MIDDLE:
+ mouse_button_pressed = event.is_pressed()
+
+ if event is InputEventMouseMotion and mouse_button_pressed:
+ # Adjust the position based on the mouse movement, divided by 100 for sensitivity.
+ var motion = event.relative / 2
+ # Calculate the new position first.
+ var new_position_coord = Helper.position_coord - motion
+ # Round the new_position_coord to the nearest integer.
+ new_position_coord = new_position_coord.round()
+ # Calculate the delta based on the old and the rounded new positions.
+ var delta = new_position_coord - Helper.position_coord
+ if delta != Vector2.ZERO:
+ # Update position_coord to the new rounded position.
+ Helper.position_coord = new_position_coord
+ # Emit the signal to update other parts of the game that depend on the position.
+ emit_signal("position_coord_changed", delta)
+ # Update last_position_coord for the next input event.
+ last_position_coord = Helper.position_coord
+
+
+#This function will move all the tilegrids on screen when the position_coords change
+#This will make it look like the user pans across the map
+func update_tiles_position(delta):
+ for grid_container in tilesContainer.get_children():
+ # Update the grid container's position by subtracting the delta
+ grid_container.position -= delta
+
+#We will call this function when the position_coords change
+func on_position_coord_changed(delta):
+ update_tiles_position(delta)
+ update_chunks()
+ if positionLabel:
+ positionLabel.text = "Position: " + str(Helper.position_coord)
+
+# This function creates and populates a GridContainer with tiles based on chunk data.
+# It takes two arguments: chunk, an array containing data for each tile in the chunk,
+# and chunk_position, a Vector2 representing the chunk's position in the world.
+# The function generates a new GridContainer, sets its columns to chunk_width, and
+# ensures no space between tiles. It then iterates over the chunk array, creating
+# a tile for each entry. Each tile's metadata is set with global and local positions,
+# and additional data like map files if available. Tiles are added as children to
+# the GridContainer, which is positioned based on chunk_position. The function returns
+# the populated GridContainer. This process visually represents a section of the
+# overmap in a grid format.
+func create_and_fill_grid_container(chunk: Array, chunk_position: Vector2):
+ var grid_container = GridContainer.new()
+ grid_container.columns = chunk_width # Set the number of columns to chunk_width.
+ # Make sure there is no space between the tiles
+ grid_container.set("theme_override_constants/h_separation", 0)
+ grid_container.set("theme_override_constants/v_separation", 0)
+
+ # Variables to keep track of the row and column position
+ var row: int = 0
+ var column: int = 0
+
+ # Iterate over the chunk array to create and add TextureRects for each tile.
+ for i in range(chunk.size()):
+ if i > 0 and i % chunk_width == 0:
+ row += 1
+ column = 0 # Reset column at the start of a new row
+
+ var tile_type = chunk[i].tile
+ # Retrieve the texture based on the tile type.
+ var texture = Gamedata.data.overmaptiles.sprites[tile_type]
+ var tile = overmapTile.instantiate()
+ var local_x = column*tile_size
+ var local_y = row*tile_size
+ var global_x = chunk[i].global_x
+ var global_y = chunk[i].global_y
+ # Assign the tile's row and column information
+ tile.set_meta("global_pos", Vector2(global_x,global_y))
+ tile.set_meta("local_pos", Vector2(local_x,local_y))
+ if chunk[i].tacticalmap != "":
+ tile.set_meta("map_file", chunk[i].tacticalmap) # Set the metadata of the tile
+ tile.set_color(Color(1, 0.8, 0.8)) # Make the tile slightly red
+
+ if global_x == 0 and global_y == 0:
+ tile.set_color(Color(0.3, 0.3, 1)) # blue color
+
+ tile.set_texture(texture)
+ tile.connect("tile_clicked", _on_tile_clicked)
+ # Add the tile as a child to the grid container
+ grid_container.add_child(tile)
+
+ # Increase column count after placing each tile
+ column += 1
+
+ # Set the position of the grid container in pixel space.
+ grid_container.position = chunk_position
+
+ # Return the filled grid container.
+ return grid_container
+
+
+
+
+#This function will be connected to the signal of the tiles
+func _on_tile_clicked(clicked_tile):
+ if clicked_tile.has_meta("map_file"):
+ selected_overmap_tile = clicked_tile
+ var mapFile = clicked_tile.get_meta("map_file")
+ var tilePos = clicked_tile.get_meta("global_pos")
+ var posString: String = "Pos: (" + str(tilePos.x)+","+str(tilePos.y)+")"
+ var nameString: String = "\nName: " + mapFile
+ var envString: String = clicked_tile.tileData.texture
+ envString = envString.replace("res://Mods/Core/OvermapTiles/","")
+ envString = "\nEnvironment: " + envString
+ var challengeString: String = "\nChallenge: Easy"
+ overmapTileLabel.text = posString + nameString + envString + challengeString
+ travelButton.disabled = false
+ else:
+ selected_overmap_tile = null
+ travelButton.disabled = true
+ overmapTileLabel.text = "Select a valid target"
+
+
+func _on_travel_button_button_up():
+ change_level_pressed.emit()
+ var mapFile = selected_overmap_tile.get_meta("map_file")
+ var global_pos: Vector2 = selected_overmap_tile.get_meta("global_pos")
+ Helper.switch_level(mapFile, global_pos)
+
+
+func _on_home_button_button_up():
+ # Calculate the screen center offset
+ var screen_center_offset = get_viewport_rect().size * 0.5
+
+ # Convert screen center offset to world coordinates based on the tile size
+ var halfTileSize = tile_size/12
+ var world_center_offset = screen_center_offset / halfTileSize
+
+ # Calculate the new position as the negative of the world center offset
+ var new_position_coord = -world_center_offset
+
+ # Calculate the delta for moving the tiles
+ var delta = new_position_coord - Helper.position_coord
+
+ # Update position_coord to the new position
+ Helper.position_coord = new_position_coord
+
+ # Emit the signal to update the overmap's position and tiles
+ emit_signal("position_coord_changed", delta)
+
+ # Optionally, update the position label if it exists
+ if positionLabel:
+ positionLabel.text = "Position: (0, 0)"
diff --git a/Scenes/Overmap/Scripts/OvermapTile.gd b/Scenes/Overmap/Scripts/OvermapTile.gd
new file mode 100644
index 00000000..4eb1f9ea
--- /dev/null
+++ b/Scenes/Overmap/Scripts/OvermapTile.gd
@@ -0,0 +1,41 @@
+extends Control
+
+const defaultTileData: Dictionary = {"texture": ""}
+const defaultTexture: String = "./Scenes/ContentManager/Mapeditor/Images/emptyTile.png"
+var tileData: Dictionary = defaultTileData.duplicate():
+ set(data):
+ tileData = data
+ if tileData.texture != "":
+ $TextureRect.texture = load("./Mods/Core/OvermapTiles/" + tileData.texture)
+ else:
+ $TextureRect.texture = load(defaultTexture)
+signal tile_clicked(clicked_tile: Control)
+
+func _on_texture_rect_gui_input(event: InputEvent) -> void:
+ if event is InputEventMouseButton:
+ match event.button_index:
+ MOUSE_BUTTON_LEFT:
+ if event.pressed:
+ tile_clicked.emit(self)
+
+func set_texture(res: Resource) -> void:
+ $TextureRect.texture = res
+ var path: String = res.resource_path
+ tileData.texture = path.replace("./Mods/Core/OvermapTiles/","")
+
+func set_default() -> void:
+ tileData = defaultTileData.duplicate()
+
+func highlight() -> void:
+ $TextureRect.modulate = Color(0.227, 0.635, 0.757)
+
+func unhighlight() -> void:
+ $TextureRect.modulate = Color(1,1,1)
+
+func set_color(myColor: Color) -> void:
+ $TextureRect.modulate = myColor
+
+func set_clickable(clickable: bool):
+ if !clickable:
+ mouse_filter = MOUSE_FILTER_IGNORE
+ $TextureRect.mouse_filter = MOUSE_FILTER_IGNORE
diff --git a/Scripts/BuildManager.gd b/Scripts/BuildManager.gd
index ecb639b3..eea9deb3 100644
--- a/Scripts/BuildManager.gd
+++ b/Scripts/BuildManager.gd
@@ -25,7 +25,7 @@ func _ready():
# Called every frame. 'delta' is the elapsed time since the previous frame.
-func _process(delta):
+func _process(_delta):
if is_building:
ghost_sprite.visible = true
@@ -33,7 +33,7 @@ func _process(delta):
# ghost_sprite.global_position = get_global_mouse_position()
-func _input(event):
+func _input(_event):
#3D
# if Input.is_action_pressed("click") && is_building && get_node(hud).try_to_spend_item("plank", 2):
@@ -41,7 +41,7 @@ func _input(event):
# if get_node(player_path).check_if_visible(get_global_mouse_position()) && Vector2(get_node(player_path).global_position).distance_to(get_global_mouse_position()) <= build_range:
# tile_map.set_cell(0, tile_map.local_to_map(get_global_mouse_position()), 0, Vector2i(9,3))
- if Input.is_action_pressed("right_click") && is_building:
+ if Input.is_action_pressed("click_right") && is_building:
is_building = false
General.is_allowed_to_shoot = true
ghost_sprite.visible = false
@@ -49,7 +49,7 @@ func _input(event):
func make_tile_ghost():
pass
-func _on_hud_construction_chosen(construction: String):
+func _on_hud_construction_chosen(_construction: String):
print("Building test")
is_building = true
General.is_allowed_to_shoot = false
diff --git a/Scripts/Camera.gd b/Scripts/Camera.gd
index c43f1339..f5186ebe 100644
--- a/Scripts/Camera.gd
+++ b/Scripts/Camera.gd
@@ -1,16 +1,5 @@
extends Camera3D
-
-# Called when the node enters the scene tree for the first time.
-func _ready():
- pass # Replace with function body.
-
-
-# Called every frame. 'delta' is the elapsed time since the previous frame.
-func _process(delta):
- pass
-
-
func _input(event):
if event.is_action_pressed("zoom_in"):
size -= 2
diff --git a/Scripts/Components/ComponentInteract.gd b/Scripts/Components/ComponentInteract.gd
index 92626b91..dad6be0c 100644
--- a/Scripts/Components/ComponentInteract.gd
+++ b/Scripts/Components/ComponentInteract.gd
@@ -1,11 +1,11 @@
extends Node3D
-
-# Called when the node enters the scene tree for the first time.
-func _ready():
- pass # Replace with function body.
-
-
-# Called every frame. 'delta' is the elapsed time since the previous frame.
-func _process(delta):
- pass
+#
+## Called when the node enters the scene tree for the first time.
+#func _ready():
+ #pass # Replace with function body.
+#
+#
+## Called every frame. 'delta' is the elapsed time since the previous frame.
+#func _process(delta):
+ #pass
diff --git a/Scripts/CraftingMenu.gd b/Scripts/CraftingMenu.gd
index df4f85c1..12aae3ff 100644
--- a/Scripts/CraftingMenu.gd
+++ b/Scripts/CraftingMenu.gd
@@ -31,10 +31,6 @@ func _ready():
button.crafting_menu = [self]
-# Called every frame. 'delta' is the elapsed time since the previous frame.
-func _process(delta):
- pass
-
func item_craft_button_clicked(recipe):
active_recipe = recipe
diff --git a/Scripts/Detection.gd b/Scripts/Detection.gd
index f52d347d..132733a4 100644
--- a/Scripts/Detection.gd
+++ b/Scripts/Detection.gd
@@ -1,7 +1,7 @@
extends Node3D
@export var playerCol: Node3D
-@export var stats: NodePath
+@export var mob: CharacterBody3D
signal player_spotted
@@ -13,23 +13,26 @@ var melee_range
# Called when the node enters the scene tree for the first time.
func _ready():
- sightRange = get_node(stats).sightRange
- senseRange = get_node(stats).senseRange
- hearingRange = get_node(stats).hearingRange
+ sightRange = mob.sightRange
+ senseRange = mob.senseRange
+ hearingRange = mob.hearingRange
# Called every frame. 'delta' is the elapsed time since the previous frame.
-func _process(delta):
+func _process(_delta):
pass
#3d
# queue_redraw()
-func _physics_process(delta):
+func _physics_process(_delta):
var space_state = get_world_3d().direct_space_state
# TO-DO Change playerCol to group of players
- var query = PhysicsRayQueryParameters3D.create(global_position, get_tree().get_first_node_in_group("Players").global_position, pow(2, 1-1) + pow(2, 3-1),[self])
+ var playerInstance: CharacterBody3D = get_tree().get_first_node_in_group("Players")
+ if !playerInstance:
+ return
+ var query = PhysicsRayQueryParameters3D.create(global_position, playerInstance.global_position, int(pow(2, 1-1) + pow(2, 3-1)),[self])
var result = space_state.intersect_ray(query)
diff --git a/Scripts/Documentation.gd b/Scripts/Documentation.gd
index d8065964..892809ab 100644
--- a/Scripts/Documentation.gd
+++ b/Scripts/Documentation.gd
@@ -6,9 +6,6 @@ func _ready():
load_documentation_files()
$CategoryTree.item_selected.connect(_on_CategoryTree_item_selected)
-# Called every frame. 'delta' is the elapsed time since the previous frame.
-func _process(delta):
- pass
func load_documentation_files():
var resourceDir = "./Documentation"
@@ -66,11 +63,6 @@ func sanitize_filename(input: String) -> String:
modifiedString = modifiedString.replace(".md", "")
return modifiedString
-#This function will be called when the user clicks ona link in the documentation page
-func _on_document_display_meta_clicked(meta):
- #Open the link in the default browser on the user's OS
- OS.shell_open(str(meta))
-
#When the user clicks on the back button, return to the main menu
func _on_back_button_pressed():
get_tree().change_scene_to_file("res://scene_selector.tscn")
diff --git a/Scripts/Enemy.gd b/Scripts/Enemy.gd
deleted file mode 100644
index 4d482936..00000000
--- a/Scripts/Enemy.gd
+++ /dev/null
@@ -1,34 +0,0 @@
-extends CharacterBody3D
-
-var tween: Tween
-var original_scale
-
-@export var sprite: NodePath
-@export var stats: NodePath
-
-@export var corpse_scene: PackedScene
-
-@onready var nav_agent := $NavigationAgent3D as NavigationAgent3D
-
-func _ready():
- pass
- #3d
-# original_scale = get_node(sprite).scale
-
-func _get_hit(damage):
-
- #3d
-# tween = create_tween()
-# tween.tween_property(get_node(sprite), "scale", get_node(sprite).scale * 1.35, 0.1)
-# tween.tween_property(get_node(sprite), "scale", original_scale, 0.1)
-
- get_node(stats).current_health -= damage
- if get_node(stats).current_health <= 0:
- _die()
-
-func _die():
- var corpse = corpse_scene.instantiate()
- #$"../../../..".add_child(corpse)
- get_tree().get_root().call_deferred("add_child", corpse)
- corpse.global_position = global_position
- queue_free()
diff --git a/Scripts/EnemyFollow.gd b/Scripts/EnemyFollow.gd
deleted file mode 100644
index d795a405..00000000
--- a/Scripts/EnemyFollow.gd
+++ /dev/null
@@ -1,60 +0,0 @@
-extends State
-class_name EnemyFollow
-
-
-
-@export var nav_agent: NavigationAgent3D
-@export var enemy: CharacterBody3D
-@export var enemyCol: NodePath
-@export var stats: NodePath
-@export var pathfinding_timer: Timer
-
-var targeted_player
-
-@onready var target_location = enemy.position
-
-
-func Enter():
- print("Following the player")
- pathfinding_timer.start()
- makepath()
-
-func Exit():
- pathfinding_timer.stop()
-
-func Physics_Update(delta: float):
- var dir = enemy.to_local(nav_agent.get_next_path_position()).normalized()
- enemy.velocity = dir * get_node(stats).current_move_speed
- enemy.move_and_slide()
-
-
- var space_state = get_world_3d().direct_space_state
- # TO-DO Change playerCol to group of players
- var query = PhysicsRayQueryParameters3D.create(get_node(enemyCol).global_position, targeted_player.global_position, pow(2, 1-1) + pow(2, 3-1),[self])
- var result = space_state.intersect_ray(query)
-
-
- if result:
-
- if result.collider.is_in_group("Players")&& Vector3(get_node(enemyCol).global_position).distance_to(targeted_player.global_position) <= get_node(stats).melee_range / 2:
- print("changing state to enemyattack...")
- Transistioned.emit(self, "enemyattack")
-
-
-
-
- if Vector3(enemy.global_position).distance_to(target_location) <= 0.5:
- Transistioned.emit(self, "enemyidle")
-
-
-
-func makepath() -> void:
- nav_agent.target_position = target_location
-# print("From follow: ", target_location)
-
-func _on_timer_timeout():
- makepath()
-
-func _on_detection_player_spotted(player):
- target_location = player.position
- targeted_player = player
diff --git a/Scripts/EnemyIdle.gd b/Scripts/EnemyIdle.gd
deleted file mode 100644
index 76dd9f31..00000000
--- a/Scripts/EnemyIdle.gd
+++ /dev/null
@@ -1,60 +0,0 @@
-extends State
-class_name EnemyIdle
-
-var idle_speed
-
-@export var nav_agent: NavigationAgent3D
-@export var stats: NodePath
-@export var enemy: NodePath
-@export var move_distance: float
-
-@export var moving_timer: Timer
-
-
-@onready var target_location
-
-var is_looking_to_move = false
-
-var rng = RandomNumberGenerator.new()
-
-
-func Enter():
- print("Enemy idle")
- idle_speed = get_node(stats).idle_move_speed
- moving_timer.start()
-
-func Exit():
- moving_timer.stop()
-
-func Physics_Update(delta: float):
- if is_looking_to_move:
- var dir = get_node(enemy).to_local(nav_agent.get_next_path_position()).normalized()
- get_node(enemy).velocity = dir * get_node(stats).current_idle_move_speed
- get_node(enemy).move_and_slide()
-
-
- if Vector3(get_node(enemy).global_position).distance_to(target_location) <= 0.5:
- is_looking_to_move = false
-
-
-
-func _on_detection_player_spotted(player):
- Transistioned.emit(self, "enemyfollow")
-
-
-func makepath() -> void:
- nav_agent.target_position = target_location
- #print(nav_agent.target_position)
-
-func _on_moving_cooldown_timeout():
-
- var space_state = get_world_3d().direct_space_state
- var random_dir = Vector3(rng.randf_range(-1,1), get_node(enemy).global_position.y, rng.randf_range(-1, 1))
- var query = PhysicsRayQueryParameters3D.create(get_node(enemy).global_position, get_node(enemy).global_position + (random_dir * move_distance), pow(2, 1-1) + pow(2, 3-1),[self])
-
- var result = space_state.intersect_ray(query)
- if !result:
- is_looking_to_move = true
- target_location = get_node(enemy).global_position + (random_dir * move_distance)
- makepath()
-
diff --git a/Scripts/FurniturePhysics.gd b/Scripts/FurniturePhysics.gd
new file mode 100644
index 00000000..2e509132
--- /dev/null
+++ b/Scripts/FurniturePhysics.gd
@@ -0,0 +1,54 @@
+extends RigidBody3D
+
+# id for the furniture json. this will be used to load the data when creating a furniture
+# when saving a mob in between levels, we will use some static json defined by this id
+# and some dynamic json like the furniture health
+var id: String
+
+@export var corpse_scene: PackedScene
+var current_health: float = 10.0
+
+func _get_hit(damage):
+
+ #3d
+# tween = create_tween()
+# tween.tween_property(get_node(sprite), "scale", get_node(sprite).scale * 1.35, 0.1)
+# tween.tween_property(get_node(sprite), "scale", original_scale, 0.1)
+
+ current_health -= damage
+ if current_health <= 0:
+ _die()
+
+func _die():
+ add_corpse.call_deferred(global_position)
+ queue_free()
+
+func add_corpse(pos: Vector3):
+ var corpse = corpse_scene.instantiate()
+ get_tree().get_root().add_child(corpse)
+ corpse.global_position = pos
+ corpse.add_to_group("mapitems")
+
+func set_sprite(newSprite: Resource):
+ $Sprite3D.texture = newSprite
+ #var material := StandardMaterial3D.new()
+ #material.albedo_texture = newSprite # Set the texture of the material
+ #material.transparency = BaseMaterial3D.TRANSPARENCY_ALPHA
+ #$MeshInstance3D.mesh.surface_set_material(0, material)
+
+func set_new_rotation(amount: int):
+ if amount == 180:
+ $Sprite3D.rotation_degrees.y = amount-180
+ elif amount == 0:
+ $Sprite3D.rotation_degrees.y = amount+180
+ else:
+ $Sprite3D.rotation_degrees.y = amount-0
+
+func get_sprite_rotation() -> int:
+ var rot: int = $Sprite3D.rotation_degrees.y
+ if rot == 180:
+ return rot-180
+ elif rot == 0:
+ return rot+180
+ else:
+ return rot-0
diff --git a/Scripts/FurnitureStatic.gd b/Scripts/FurnitureStatic.gd
new file mode 100644
index 00000000..e4755cd4
--- /dev/null
+++ b/Scripts/FurnitureStatic.gd
@@ -0,0 +1,70 @@
+extends StaticBody3D
+
+
+# id for the furniture json. this will be used to load the data when creating a furniture
+# when saving a mob in between levels, we will use some static json defined by this id
+# and some dynamic json like the furniture health
+var id: String
+
+@export var corpse_scene: PackedScene
+var current_health: float = 10.0
+
+
+func _get_hit(damage):
+ current_health -= damage
+ if current_health <= 0:
+ _die()
+
+func _die():
+ add_corpse.call_deferred(global_position)
+ queue_free()
+
+func add_corpse(pos: Vector3):
+ var corpse = corpse_scene.instantiate()
+ get_tree().get_root().add_child(corpse)
+ corpse.global_position = pos
+ corpse.add_to_group("mapitems")
+
+func get_sprite_rotation() -> int:
+ return $Sprite3D.rotation_degrees.y
+
+func set_sprite(newSprite: Texture):
+ $Sprite3D.texture = newSprite
+
+ # Calculate new dimensions for the collision shape
+ var sprite_width = newSprite.get_width()
+ var sprite_height = newSprite.get_height()
+
+ var new_x = sprite_width / 100.0 # 0.1 units per 10 pixels in width
+ var new_z = sprite_height / 100.0 # 0.1 units per 10 pixels in height
+ var new_y = 0.5 # Fixed height for now
+
+ # Update the collision shape
+ var new_shape = BoxShape3D.new()
+ new_shape.extents = Vector3(new_x / 2.0, new_y / 2.0, new_z / 2.0) # BoxShape3D extents are half extents
+
+ var collision_shape_node = $CollisionShape3D
+ collision_shape_node.shape = new_shape
+
+func set_new_rotation(amount: int):
+ var rotation_amount = amount
+ if amount == 180:
+ rotation_amount = amount - 180
+ elif amount == 0:
+ rotation_amount = amount + 180
+ else:
+ rotation_amount = amount
+
+ # Rotate the entire StaticBody3D node, including its children
+ rotation_degrees.y = rotation_amount
+
+
+func get_my_rotation() -> int:
+ var rot: int = int(rotation_degrees.y)
+ if rot == 180:
+ return rot-180
+ elif rot == 0:
+ return rot+180
+ else:
+ return rot-0
+
diff --git a/Scripts/GameOver.gd b/Scripts/GameOver.gd
new file mode 100644
index 00000000..3575088b
--- /dev/null
+++ b/Scripts/GameOver.gd
@@ -0,0 +1,7 @@
+extends Control
+
+
+
+func _on_return_button_button_up():
+ Helper.reset()
+ get_tree().change_scene_to_file("res://scene_selector.tscn")
diff --git a/Scripts/Helper.gd b/Scripts/Helper.gd
index 4ab0f310..c6b2c147 100644
--- a/Scripts/Helper.gd
+++ b/Scripts/Helper.gd
@@ -1,21 +1,55 @@
extends Node3D
var current_level_name : String
+# Overmap data
+var chunks: Dictionary = {} #Stores references to tilegrids representing the overmap
+var current_level_pos: Vector2 = Vector2(0.1,0.1)
+var current_map_seed: int = 0
+var position_coord: Vector2 = Vector2(0, 0)
+# Helper scripts
+const json_Helper_Class = preload("res://Scripts/Helper/json_helper.gd")
+var json_helper: Node = null
+const save_Helper_Class = preload("res://Scripts/Helper/save_helper.gd")
+var save_helper: Node = null
# Called when the node enters the scene tree for the first time.
func _ready():
- pass # Replace with function body.
+ json_helper = json_Helper_Class.new()
+ save_helper = save_Helper_Class.new()
+ add_child(save_helper)
+# Called when the game is over and everything will need to be reset to default
+func reset():
+ chunks = {} #Stores references to tilegrids representing the overmap
+ current_level_pos = Vector2(0.1,0.1)
+ current_map_seed = 0
+ position_coord = Vector2(0, 0)
+ save_helper.current_save_folder = ""
+ var mapMobs = get_tree().get_nodes_in_group("mobs")
+ for mob in mapMobs:
+ mob.remove_from_group("mobs")
+ mob.queue_free()
+ var mapitems = get_tree().get_nodes_in_group("mapitems")
+ for item in mapitems:
+ item.remove_from_group("mapitems")
+ item.queue_free()
-# Called every frame. 'delta' is the elapsed time since the previous frame.
-func _process(delta):
- pass
-
-func switch_level(level_name):
+#Level_name is a filename in /mods/core/maps
+#global_pos is the absolute position on the overmap
+#see overmap.gd for how global_pos is used there
+func switch_level(level_name: String, global_pos: Vector2) -> void:
current_level_name = level_name
+ # This is only true if the game has just initialized
+ # In that case no level has once been loaded so there is no game to save
+ if current_level_pos != Vector2(0.1,0.1):
+ save_helper.save_current_level(current_level_pos)
+ save_helper.save_overmap_state()
+ save_helper.save_player_inventory()
+ save_helper.save_player_equipment()
+ save_helper.save_player_state(get_tree().get_first_node_in_group("Players"))
+ current_level_pos = global_pos
get_tree().change_scene_to_file("res://level_generation.tscn")
-
func line(pos1: Vector3, pos2: Vector3, color = Color.WHITE_SMOKE) -> MeshInstance3D:
var mesh_instance := MeshInstance3D.new()
@@ -23,7 +57,7 @@ func line(pos1: Vector3, pos2: Vector3, color = Color.WHITE_SMOKE) -> MeshInstan
var material := ORMMaterial3D.new()
mesh_instance.mesh = immediate_mesh
- mesh_instance.cast_shadow = 0
+ mesh_instance.cast_shadow = mesh_instance.SHADOW_CASTING_SETTING_OFF
immediate_mesh.surface_begin(Mesh.PRIMITIVE_LINES, material)
immediate_mesh.surface_add_vertex(pos1)
diff --git a/Scripts/Helper/json_helper.gd b/Scripts/Helper/json_helper.gd
new file mode 100644
index 00000000..380b131b
--- /dev/null
+++ b/Scripts/Helper/json_helper.gd
@@ -0,0 +1,148 @@
+extends Node
+
+#This script is a generic helper script to load and manipulate JSOn files.
+#In Helper.gd, this script is loaded on game start
+#It can be accessed trough Helper.json_helper
+
+
+#This function takes the path to a json file and returns its contents as an array
+#It should check if the contents is an array or not. If it is not an array,
+#it should return an empty array
+func load_json_array_file(source: String) -> Array:
+ var data_json: Array = []
+ var file = FileAccess.open(source, FileAccess.READ)
+ if file:
+ var parsed_data = JSON.parse_string(file.get_as_text())
+ if typeof(parsed_data) == TYPE_ARRAY:
+ data_json = parsed_data
+ else:
+ print_debug("The file does not contain a JSON array: " + source)
+ else:
+ print_debug("Unable to load file: " + source)
+ return data_json
+
+#This function takes the path to a json file and returns its contents as an array
+#It should check if the contents is an array or not. If it is not an array,
+#it should return an empty array
+func load_json_dictionary_file(source: String) -> Dictionary:
+ var data_json: Dictionary = {}
+ var file = FileAccess.open(source, FileAccess.READ)
+ if file:
+ var parsed_data = JSON.parse_string(file.get_as_text())
+ if typeof(parsed_data) == TYPE_DICTIONARY:
+ data_json = parsed_data
+ else:
+ print_debug("The file does not contain a JSON dictionary: " + source)
+ else:
+ print_debug("Unable to load file: " + source)
+ return data_json
+
+
+# This function lists all the files in a specified directory.
+# it takes two arguments: `dirName` (the path of the directory
+# to list files from) and `extensionFilter` (an optional
+# array of file extensions to filter by).
+# If the `extensionFilter` is empty, all filenames will be returned.
+# If not, it will only return filenames which file extentnion is in `extensionFilter`
+func file_names_in_dir(dirName: String, extensionFilter: Array = []) -> Array:
+ var fileNames: Array = []
+ var dir = DirAccess.open(dirName)
+ if dir:
+ dir.list_dir_begin()
+ var file_name = dir.get_next()
+ while file_name != "":
+ if !dir.current_is_dir():
+ if extensionFilter.is_empty():
+ fileNames.append(file_name)
+ elif file_name.get_extension() in extensionFilter:
+ fileNames.append(file_name)
+ file_name = dir.get_next()
+ else:
+ print_debug("An error occurred when trying to access the path: " + dirName)
+ dir.list_dir_end()
+ return fileNames
+
+
+# This function lists all the files in a specified directory.
+# it takes ne argument: `dirName` (the path of the directory
+# to list folders from)
+func folder_names_in_dir(path: String) -> Array:
+ var dirs: Array = []
+ var dir = DirAccess.open(path)
+ if dir:
+ dir.list_dir_begin()
+ var folder_name = dir.get_next()
+ while folder_name != "":
+ if dir.current_is_dir():
+ dirs.append(folder_name)
+ folder_name = dir.get_next()
+ else:
+ print("An error occurred when trying to access the path.")
+ return dirs
+
+#This function takes a json string and saves it as a json file.
+func write_json_file(path: String, json: String):
+ # Save the JSON string to the selected file location
+ var file = FileAccess.open(path, FileAccess.WRITE)
+ if file:
+ file.store_string(json)
+ file.close()
+ else:
+ print_debug("Unable to write file " + path)
+
+# This function will take a path and create a new json file with just {} or [] as the contents.
+#If the file already exists, we do not overwrite it
+func create_new_json_file(filename: String = "", isArray: bool = true):
+ # If no string was provided, return without doing anything.
+ if filename.is_empty():
+ return
+
+ # If the file already exists, alert the user that the file already exists.
+ if FileAccess.file_exists(filename):
+ return
+
+ var file = FileAccess.open(filename, FileAccess.WRITE)
+ #The file cen contain either one object or one array with a list of objects
+ if isArray:
+ file.store_string("[]")
+ else:
+ file.store_string("{}")
+ file.close()
+
+
+
+#This function enters a new item into the json file specified by the source variable
+#The item will just be an object like this: {"id": id}
+#If an item with that ID already exists in that file, do nothing
+func add_id_to_json_file(source: String, id: String):
+# If the source is not a JSON file, return without doing anything.
+ if !source.ends_with(".json"):
+ return
+
+ # If the file does not exist, create a new JSON file.
+ if !FileAccess.file_exists(source):
+ create_new_json_file(source, true)
+
+ var data_json: Array = load_json_array_file(source)
+
+ # Check if an item with the given ID already exists in the file.
+ for item in data_json:
+ if item.get("id", "") == id:
+ print_debug("An item with ID (" + id + ") already exists in the file.")
+ return
+
+ # If no item with the given ID exists, add a new item to the JSON data.
+ data_json.append({"id": id})
+ write_json_file(source, JSON.stringify(data_json, "\t"))
+
+
+#This function will take a path to a json file and delete it
+func delete_json_file(path: String):
+ var dir = DirAccess.open(path)
+ if dir:
+ # Delete the file
+ var err = dir.remove(path)
+ if err == OK:
+ print_debug("File deleted successfully: " + path)
+ else:
+ print_debug("An error occurred when trying to delete the file: " + path)
diff --git a/Scripts/Helper/save_helper.gd b/Scripts/Helper/save_helper.gd
new file mode 100644
index 00000000..47b0aa7d
--- /dev/null
+++ b/Scripts/Helper/save_helper.gd
@@ -0,0 +1,309 @@
+extends Node
+
+#This script is loaded in to the helper.gd autoload singleton
+#It can be accessed trough Helper.save_helper
+#This script provides functions to help transitioning between maps
+#It has functions to save the current map and the location of items, mobs and tiles
+#It also has functions to load saved data and place the items, mobs and tiles on the map
+
+var current_save_folder: String = ""
+
+# Function to save the current map state
+func save_current_level(global_pos: Vector2) -> void:
+ var dir = DirAccess.open(current_save_folder)
+ var map_folder = "map_x" + str(global_pos.x) + "_y" + str(global_pos.y)
+ var target_folder = current_save_folder+ "/" + map_folder
+ if !dir.dir_exists(map_folder):
+ if !dir.make_dir(map_folder) == OK:
+ print_debug("Failed to create a folder for the current map")
+ return
+
+ save_map_data(target_folder)
+ save_mob_data(target_folder)
+ save_item_data(target_folder)
+ save_furniture_data(target_folder)
+
+#Creates a new save folder. The name of this folder will be the current date and time
+#This is to make sure it is unique. The folder name is stored in order to perform
+#save and load actions. Also, the map seed is created and stored
+func create_new_save():
+ var dir = DirAccess.open("user://")
+ var unique_folder_path := "save/" + Time.get_datetime_string_from_system()
+ var sanitized_path = unique_folder_path.replace(":","")
+ if dir.make_dir_recursive(sanitized_path) == OK:
+ current_save_folder = "user://" + sanitized_path
+ Helper.json_helper.write_json_file(current_save_folder + "/game.json",\
+ JSON.stringify({"mapseed": randi()}))
+ else:
+ print_debug("Failed to create a unique folder for the demo.")
+
+# Save all the mobs and their current stats to the mobs file for this map
+func save_mob_data(target_folder: String) -> void:
+ var mobData: Array = []
+ var mapMobs = get_tree().get_nodes_in_group("mobs")
+ var newMobData: Dictionary
+ for mob in mapMobs:
+ mob.remove_from_group("mobs")
+ newMobData = {
+ "id": mob.id,
+ "global_position_x": mob.global_position.x,
+ "global_position_y": mob.global_position.y,
+ "global_position_z": mob.global_position.z,
+ "rotation": mob.rotation_degrees.y,
+ "melee_damage": mob.melee_damage,
+ "melee_range": mob.melee_range,
+ "health": mob.health,
+ "current_health": mob.current_health,
+ "move_speed": mob.moveSpeed,
+ "current_move_speed": mob.current_move_speed,
+ "idle_move_speed": mob.idle_move_speed,
+ "current_idle_move_speed": mob.current_idle_move_speed,
+ "sight_range": mob.sightRange,
+ "sense_range": mob.senseRange,
+ "hearing_range": mob.hearingRange
+ }
+ mobData.append(newMobData.duplicate())
+ mob.queue_free()
+ Helper.json_helper.write_json_file(target_folder + "/mobs.json", JSON.stringify(mobData))
+
+#Save the type and position of all mobs on the map
+func save_item_data(target_folder: String) -> void:
+ var itemData: Array = []
+ var defaultItem: Dictionary = {"itemid": "item1", \
+ "global_position_x": 0, "global_position_y": 0, "global_position_z": 0, "inventory": []}
+ var mapitems = get_tree().get_nodes_in_group("mapitems")
+ var newitemData: Dictionary
+ for item in mapitems:
+ item.remove_from_group("mapitems")
+ newitemData = defaultItem.duplicate()
+ newitemData["global_position_x"] = item.global_position.x
+ newitemData["global_position_y"] = item.global_position.y
+ newitemData["global_position_z"] = item.global_position.z
+ newitemData["inventory"] = item.get_node(item.inventory).serialize()
+ itemData.append(newitemData.duplicate())
+ item.queue_free()
+ Helper.json_helper.write_json_file(target_folder + "/items.json",\
+ JSON.stringify(itemData))
+
+
+func save_furniture_data(target_folder: String) -> void:
+ var furnitureData: Array = []
+ var mapFurniture = get_tree().get_nodes_in_group("furniture")
+ var newFurnitureData: Dictionary
+ var newRot: int
+ for furniture in mapFurniture:
+ furniture.remove_from_group("furniture")
+ if furniture is RigidBody3D:
+ newRot = furniture.rotation_degrees.y
+ else:
+ newRot = furniture.get_my_rotation()
+ newFurnitureData = {
+ "id": furniture.id,
+ "moveable": furniture is RigidBody3D,
+ "global_position_x": furniture.global_position.x,
+ "global_position_y": furniture.global_position.y,
+ "global_position_z": furniture.global_position.z,
+ "rotation": newRot, # Save the Y-axis rotation
+ "sprite_rotation": furniture.get_sprite_rotation()
+ }
+ furnitureData.append(newFurnitureData.duplicate())
+ furniture.queue_free()
+ Helper.json_helper.write_json_file(target_folder + "/furniture.json", JSON.stringify(furnitureData))
+
+
+# Saves all of the maplevels to disk
+# A maplevel is one 32x32 layer at a certain x,y and z position
+# This layer will contain 1024 blocks
+func save_map_data(target_folder: String) -> void:
+ var level_width: int = 32
+ var level_height: int = 32
+ var tacticalmapData: Dictionary = {"maplevels": []}
+ var tree: SceneTree = get_tree()
+ var mapLevels = tree.get_nodes_in_group("maplevels")
+
+ for level: Node3D in mapLevels:
+ level.remove_from_group("maplevels")
+ var level_node_data: Array = []
+ var level_node_dict: Dictionary = {
+ "map_x": level.global_position.x,
+ "map_y": level.global_position.y,
+ "map_z": level.global_position.z,
+ "blocks": level_node_data
+ }
+
+ # Iterate over each possible block position in the level
+ for h in range(level_height):
+ for w in range(level_width):
+ var block_data: Dictionary = get_block_data_at_position(level, Vector3(w, 0, h))
+ level_node_data.append(block_data)
+
+ tacticalmapData.maplevels.append(level_node_dict)
+
+ Helper.json_helper.write_json_file(target_folder + "/map.json", \
+ JSON.stringify(tacticalmapData))
+
+# Helper function to get block data at a specific position
+func get_block_data_at_position(level: Node3D, position: Vector3) -> Dictionary:
+ var block: StaticBody3D = find_block_at_position(level, position)
+ if block:
+ var blockRotation: int = block.rotation_degrees.y
+ var myRotation: int
+ if blockRotation == 90:
+ myRotation = blockRotation-90
+ else:
+ myRotation = blockRotation+90
+ return {"id": block.id, "rotation": myRotation}
+ return {}
+
+# Helper function to find a block at a specific position
+func find_block_at_position(level: Node3D, position: Vector3) -> StaticBody3D:
+ for child in level.get_children():
+ if child is StaticBody3D and child.position == position:
+ return child
+ return null
+
+
+# This function determines the saved map folder path for the current level.
+# It constructs this path using the current level's position and the current
+# save folder's path. If the map folder for the level exists, it returns
+# the full path to this folder; otherwise, it returns an empty string.
+# The current_save_folder is determined when the game is first started
+# and does not change unless the user start a new game.
+func get_saved_map_folder(level_pos: Vector2) -> String:
+ var dir = DirAccess.open(current_save_folder)
+ var map_folder = "map_x" + str(level_pos.x) + "_y" + str(level_pos.y)
+ var target_folder = current_save_folder+ "/" + map_folder
+ # For example, the target_folder could be: "C:\Users\User\AppData\Roaming\Godot\app_userdata\
+ # CataX\save\2024-01-08T202236\map_x0_y0"
+ if dir.dir_exists(map_folder):
+ return target_folder
+ return ""
+
+# Function to load game.json from a given saved game folder
+func load_game_from_folder(save_folder_name: String) -> void:
+ current_save_folder = "user://save/" + save_folder_name
+
+# Function to save the current state of the overmap
+func save_overmap_state() -> void:
+ var save_path = current_save_folder + "/overmap_state.json"
+ var save_data: Dictionary = {
+ "position_coord_x": Helper.position_coord.x,
+ "position_coord_y": Helper.position_coord.y,
+ "chunk_data": {}
+ }
+
+ # Convert Vector2 keys to strings
+ for key in Helper.chunks:
+ var key_str = str(key.x) + "," + str(key.y)
+ save_data["chunk_data"][key_str] = Helper.chunks[key]
+
+ Helper.json_helper.write_json_file(save_path, JSON.stringify(save_data))
+
+# Function to load the saved state of the overmap
+func load_overmap_state() -> void:
+ var overmap_path = current_save_folder + "/overmap_state.json"
+ var overmap_state_data = Helper.json_helper.load_json_dictionary_file(overmap_path)
+
+ if overmap_state_data:
+ Helper.position_coord = Vector2(overmap_state_data["position_coord_x"],\
+ overmap_state_data["position_coord_y"])
+ Helper.chunks.clear()
+
+ # Convert string keys back to Vector2
+ var chunk_data = overmap_state_data["chunk_data"]
+ for key_str in chunk_data:
+ var key_parts = key_str.split(",")
+ if key_parts.size() == 2:
+ var key = Vector2(float(key_parts[0]), float(key_parts[1]))
+ Helper.chunks[key] = chunk_data[key_str]
+
+ print_debug("Overmap state loaded from: ", overmap_path)
+ else:
+ print_debug("Failed to parse overmap state file: ", overmap_path)
+
+# Function to save the player's inventory to a JSON file.
+func save_player_inventory() -> void:
+ var save_path = current_save_folder + "/player_inventory.json"
+ var inventory_data = JSON.stringify(General.player_inventory_dict)
+ Helper.json_helper.write_json_file(save_path, inventory_data)
+
+# Function to save the player's equipment to a JSON file.
+func save_player_equipment() -> void:
+ var save_path = current_save_folder + "/player_equipment.json"
+ var equipment_data = JSON.stringify(General.player_equipment_dict)
+ Helper.json_helper.write_json_file(save_path, equipment_data)
+
+
+ # Function to load the player's inventory data
+func load_player_inventory() -> void:
+ var load_path = current_save_folder + "/player_inventory.json"
+
+ # Load the inventory data from the file
+ var loaded_inventory_data = Helper.json_helper.load_json_dictionary_file(load_path)
+
+ if loaded_inventory_data:
+ # Update the General.player_inventory_dict with the loaded data
+ General.player_inventory_dict = loaded_inventory_data
+ print_debug("Player inventory loaded from: " + load_path)
+ else:
+ print_debug("Failed to load player inventory from: " + load_path)
+
+ # Function to load the player's inventory data
+func load_player_equipment() -> void:
+ var load_path = current_save_folder + "/player_equipment.json"
+
+ # Load the equipment data from the file
+ var loaded_equipment_data = Helper.json_helper.load_json_dictionary_file(load_path)
+
+ if loaded_equipment_data:
+ # Update the General.player_inventory_dict with the loaded data
+ General.player_equipment_dict = loaded_equipment_data
+ print_debug("Player equipment loaded from: " + load_path)
+ else:
+ print_debug("Failed to load player equipment from: " + load_path)
+
+# Function to save the player's state to a JSON file.
+func save_player_state(player: CharacterBody3D) -> void:
+ if !player:
+ return
+ var save_path = current_save_folder + "/player_state.json"
+ var player_state: Dictionary = {
+ "is_alive": player.is_alive,
+ "left_arm_health": player.current_left_arm_health,
+ "right_arm_health": player.current_right_arm_health,
+ "head_health": player.current_head_health,
+ "torso_health": player.current_torso_health,
+ "left_leg_health": player.current_left_leg_health,
+ "right_leg_health": player.current_right_leg_health,
+ "stamina": player.current_stamina,
+ "hunger": player.current_hunger,
+ "thirst": player.current_thirst,
+ "nutrition": player.current_nutrition,
+ "pain": player.current_pain
+ }
+ Helper.json_helper.write_json_file(save_path, JSON.stringify(player_state))
+
+# Function to load the player's state from a JSON file.
+func load_player_state(player: CharacterBody3D) -> void:
+ var load_path = current_save_folder + "/player_state.json"
+ var player_state = Helper.json_helper.load_json_dictionary_file(load_path)
+
+ if player_state:
+ player.is_alive = player_state["is_alive"]
+ player.current_left_arm_health = player_state["left_arm_health"]
+ player.current_right_arm_health = player_state["right_arm_health"]
+ player.current_head_health = player_state["head_health"]
+ player.current_torso_health = player_state["torso_health"]
+ player.current_left_leg_health = player_state["left_leg_health"]
+ player.current_right_leg_health = player_state["right_leg_health"]
+ player.current_stamina = player_state["stamina"]
+ player.current_hunger = player_state["hunger"]
+ player.current_thirst = player_state["thirst"]
+ player.current_nutrition = player_state["nutrition"]
+ player.current_pain = player_state["pain"]
+ # Emit signals to update the HUD
+ player.update_doll.emit(player.current_head_health, player.current_right_arm_health, player.current_left_arm_health, player.current_torso_health, player.current_right_leg_health, player.current_left_leg_health)
+ player.update_stamina_HUD.emit(player.current_stamina)
+ else:
+ print_debug("Failed to load player state from: ", load_path)
+
diff --git a/Scripts/InventoryContainerListItem.gd b/Scripts/InventoryContainerListItem.gd
new file mode 100644
index 00000000..a42ddd55
--- /dev/null
+++ b/Scripts/InventoryContainerListItem.gd
@@ -0,0 +1,24 @@
+extends Control
+
+signal containerlistitem_clicked(clicked_item: Control)
+var containerInstance: Node3D = null
+var selected: bool = false
+
+#When the event was a left mouse button press, signal it was clicked
+func _on_texture_rect_gui_input(event):
+ if event is InputEventMouseButton and event.button_index == MOUSE_BUTTON_LEFT and event.pressed:
+ containerlistitem_clicked.emit(self)
+
+func set_item_texture(res: Resource) -> void:
+ $ContainerSprite.texture = res
+
+func get_texture() -> Resource:
+ return $ContainerSprite.texture
+
+#Mark the clicked containerlistitem as selected
+func set_selected(is_selected: bool) -> void:
+ selected = is_selected
+ if selected:
+ modulate = Color(0.227, 0.635, 0.757)
+ else:
+ modulate = Color(1,1,1)
diff --git a/Scripts/InventoryWindow.gd b/Scripts/InventoryWindow.gd
new file mode 100644
index 00000000..c3d5da1b
--- /dev/null
+++ b/Scripts/InventoryWindow.gd
@@ -0,0 +1,262 @@
+extends Control
+
+# This node holds the data of the items in the container that is selected in the containerList
+@export var proximity_inventory: InventoryStacked
+# This node visualizes the items in the container that is selected in the containerList
+@export var proximity_inventory_control: CtrlInventoryStacked
+
+# The node that visualizes the player inventory
+@export var inventory_control : CtrlInventoryStacked
+# The player inventory
+@export var inventory : InventoryStacked
+# Holds a list of containers represented by their sprite
+@export var containerList : VBoxContainer
+@export var containerListItem : PackedScene
+
+# Equipment
+@export var LeftHandEquipmentSlot : ItemRefSlot
+@export var RightHandEquipmentSlot : ItemRefSlot
+
+# The tooltip will show when the player hovers over an item
+@export var tooltip: Control
+var is_showing_tooltip = false
+@export var tooltip_item_name : Label
+@export var tooltip_item_description : Label
+
+signal item_was_equipped(equippedItem: InventoryItem, slotName: String)
+signal item_was_cleared(slotName: String)
+
+# Called when the node enters the scene tree for the first time.
+func _ready():
+ # The items that were in the player inventory when they exited
+ # the previous level are loaded back into the inventory
+ inventory.deserialize(General.player_inventory_dict)
+ if General.player_equipment_dict.has("LeftHandEquipmentSlot"):
+ LeftHandEquipmentSlot.deserialize(General.player_equipment_dict.LeftHandEquipmentSlot)
+ if General.player_equipment_dict.has("RightHandEquipmentSlot"):
+ RightHandEquipmentSlot.deserialize(General.player_equipment_dict.RightHandEquipmentSlot)
+
+# Called every frame. 'delta' is the elapsed time since the previous frame.
+func _process(_delta):
+ if is_showing_tooltip:
+ tooltip.visible = true
+ tooltip.global_position = tooltip.get_global_mouse_position() + Vector2(0, -5 - tooltip.size.y)
+ else:
+ tooltip.visible = false
+
+
+func _on_inventory_item_mouse_entered(item):
+ is_showing_tooltip = true
+ tooltip_item_name.text = str(item.get_property("name", ""))
+ tooltip_item_description.text = item.get_property("description", "")
+
+func _on_inventory_item_mouse_exited(_item):
+ is_showing_tooltip = false
+
+func check_if_resources_are_available(item_id, amount_to_spend: int):
+ var inventory_node = inventory
+ print("checking if we have the item id in inv")
+ if inventory_node.get_item_by_id(item_id):
+ print("we have the item id")
+ var item_total_amount : int = 0
+ var current_amount_to_spend = amount_to_spend
+ var items = inventory_node.get_items_by_id(item_id)
+ for item in items:
+ item_total_amount += InventoryStacked.get_item_stack_size(item)
+ if item_total_amount >= current_amount_to_spend:
+ return true
+ return false
+
+func try_to_spend_item(item_id, amount_to_spend : int):
+ var inventory_node = inventory
+ if inventory_node.get_item_by_id(item_id):
+ var item_total_amount : int = 0
+ var current_amount_to_spend = amount_to_spend
+ var items = inventory_node.get_items_by_id(item_id)
+
+ for item in items:
+ item_total_amount += InventoryStacked.get_item_stack_size(item)
+
+ if item_total_amount >= amount_to_spend:
+ merge_items_to_total_amount(items, inventory_node, item_total_amount - current_amount_to_spend)
+ return true
+ else:
+ return false
+ else:
+ return false
+
+func merge_items_to_total_amount(items, inventory_node, total_amount : int):
+ var current_total_amount = total_amount
+ for item in items:
+ if inventory_node.get_item_stack_size(item) < current_total_amount:
+ if inventory_node.get_item_stack_size(item) == item.get_property("max_stack_size"):
+ current_total_amount -= inventory_node.get_item_stack_size(item)
+ elif inventory_node.get_item_stack_size(item) < item.get_property("max_stack_size"):
+ current_total_amount -= item.get_property("max_stack_size") - inventory_node.get_item_stack_size(item)
+ inventory_node.set_item_stack_size(item, item.get_property("max_stack_size"))
+
+ elif inventory_node.get_item_stack_size(item) == current_total_amount:
+ current_total_amount = 0
+
+ elif inventory_node.get_item_stack_size(item) > current_total_amount:
+ inventory_node.set_item_stack_size(item, current_total_amount)
+ current_total_amount = 0
+
+ if inventory_node.get_item_stack_size(item) == 0:
+ inventory_node.remove_item(item)
+
+func _on_crafting_menu_start_craft(recipe):
+ if recipe:
+ #first we need to use required resources for the recipe
+ for required_item in recipe["required_resource"]:
+ try_to_spend_item(required_item, recipe["required_resource"][required_item])
+ #adding a new item(s) to the inventory based on the recipe
+ var item
+ item = inventory.create_and_add_item(recipe["crafts"])
+ InventoryStacked.set_item_stack_size(item, recipe["craft_amount"])
+
+
+# When an item is added to the player inventory
+# We check where it came from and delete it from that inventory
+# This happens when the player moves an item from $CtrlInventoryGridExProx
+func _on_inventory_grid_stacked_item_added(item):
+ if item.has_meta("original_parent"):
+ var original_parent = item.get_meta("original_parent")
+ var original_item = item.get_meta("original_item")
+ if original_parent and original_parent.has_method("remove_item"):
+ original_parent.remove_item(original_item) # Remove from original parent
+
+func get_inventory() -> InventoryStacked:
+ return inventory
+
+func get_equipment_dict() -> Dictionary:
+ var player_equipment: Dictionary = {
+ "LeftHandEquipmentSlot": LeftHandEquipmentSlot.serialize(),
+ "RightHandEquipmentSlot": RightHandEquipmentSlot.serialize()
+ }
+ return player_equipment
+
+# Signal handler for adding a container to the proximity
+func _on_item_detector_add_to_proximity_inventory(container: Node3D):
+ add_container_to_list(container)
+
+# Signal handler for removing a container from the proximity
+func _on_item_detector_remove_from_proximity_inventory(container: Node3D):
+ remove_container_from_list(container)
+
+# Function to add a container to the containerList
+func add_container_to_list(container: Node3D):
+ # Create a new instance of the containerlistitem node
+ var containerListItemInstance = containerListItem.instantiate()
+ # Assign the texture to the TextureRect
+ containerListItemInstance.set_item_texture(container.get_sprite())
+ # We save a reference to the container
+ containerListItemInstance.containerInstance = container
+ containerListItemInstance.containerlistitem_clicked.connect(_on_container_clicked)
+ containerList.add_child(containerListItemInstance)
+
+ # Check if this is the only container in the list
+ if containerList.get_child_count() == 1:
+ # Set the inventory of the proximity inventory control to this container's inventory
+ var container_inventory = containerListItemInstance.containerInstance.get_inventory()
+ if container_inventory:
+ proximity_inventory_control.inventory = container_inventory
+ # Make the proximity inventory control visible
+ proximity_inventory_control.visible = true
+
+
+# Function to update the proximity inventory control when a container is selected
+func _on_container_clicked(containerListItemInstance: Control):
+ if containerListItemInstance and containerListItemInstance.containerInstance:
+ var container_inventory = containerListItemInstance.containerInstance.get_inventory()
+ if container_inventory:
+ proximity_inventory_control.inventory = container_inventory
+
+# Function to remove a container from the containerList
+func remove_container_from_list(container: Node3D):
+ var was_selected = false
+ var first_container = null
+
+ # Check if the container being removed is the currently selected one
+ if proximity_inventory_control.inventory == container.get_inventory():
+ was_selected = true
+
+ # Remove the container from the list and count remaining containers
+ var remaining_containers = 0
+ for child in containerList.get_children():
+ if child.containerInstance == container:
+ child.queue_free()
+ elif not child.is_queued_for_deletion(): # Only count children not queued for deletion
+ remaining_containers += 1
+ if first_container == null:
+ first_container = child.containerInstance
+
+ # If the removed container was selected, update the inventory to the first remaining container's inventory
+ if was_selected and remaining_containers > 0:
+ var first_container_inventory = first_container.get_inventory()
+ if first_container_inventory:
+ proximity_inventory_control.inventory = first_container_inventory
+ elif was_selected or remaining_containers == 0:
+ # Reset the inventory to proximity_inventory and hide the control
+ proximity_inventory_control.inventory = proximity_inventory
+ proximity_inventory_control.visible = false
+
+
+# This function is called when an item is equipped in the left hand equipment slot
+func _on_left_hand_equipment_slot_item_equipped():
+ var equipped_item_left = LeftHandEquipmentSlot.get_item()
+ var equipped_item_right = RightHandEquipmentSlot.get_item()
+ # If we have a weapon in the right hand and it's a two handed weapon,
+ # We clear the left handed slot again
+ if equipped_item_right and equipped_item_right.get_property("two_handed", false):
+ LeftHandEquipmentSlot.clear()
+ item_was_cleared.emit("LeftHand")
+ return
+ # If the weapon we equip is a two handed weapon, clear the weapon in the other weapon slot
+ if equipped_item_left and equipped_item_left.get_property("two_handed", false):
+ # If the item is two-handed, clear the right hand slot
+ RightHandEquipmentSlot.clear()
+ item_was_cleared.emit("RightHand")
+ item_was_equipped.emit(equipped_item_left, "LeftHand")
+
+# This function is called when an item is equipped in the right hand equipment slot
+func _on_right_hand_equipment_slot_item_equipped():
+ var equipped_item_left = LeftHandEquipmentSlot.get_item()
+ var equipped_item_right = RightHandEquipmentSlot.get_item()
+ # If we have a weapon in the left hand and it's a two handed weapon,
+ # We clear the right handed slot again
+ if equipped_item_left and equipped_item_left.get_property("two_handed", false):
+ RightHandEquipmentSlot.clear()
+ item_was_cleared.emit("RightHand")
+ return
+ elif equipped_item_right and equipped_item_right.get_property("two_handed", false):
+ # If the item is two-handed, clear the left hand slot
+ LeftHandEquipmentSlot.clear()
+ item_was_cleared.emit("LeftHand")
+ item_was_equipped.emit(equipped_item_right, "RightHand")
+
+
+# This function is called when an item is removed from the left hand equipment slot
+func _on_left_hand_equipment_slot_cleared():
+ item_was_cleared.emit("LeftHand")
+
+# This function is called when an item is removed from the right hand equipment slot
+func _on_right_hand_equipment_slot_cleared():
+ item_was_cleared.emit("RightHand")
+
+
+func _on_equip_right_button_button_up():
+ RightHandEquipmentSlot.equip(inventory_control.get_selected_inventory_item())
+
+
+func _on_equip_left_button_button_up():
+ LeftHandEquipmentSlot.equip(inventory_control.get_selected_inventory_item())
+
+
+func _on_transfer_left_button_button_up():
+ inventory.transfer(inventory_control.get_selected_inventory_item(), proximity_inventory_control.inventory)
+
+
+func _on_transfer_right_button_button_up():
+ var selected_inventory_item: InventoryItem = proximity_inventory_control.get_selected_inventory_item()
+ proximity_inventory_control.inventory.transfer(selected_inventory_item, inventory)
diff --git a/Scripts/ItemAmmoEditor.gd b/Scripts/ItemAmmoEditor.gd
new file mode 100644
index 00000000..e7cf0158
--- /dev/null
+++ b/Scripts/ItemAmmoEditor.gd
@@ -0,0 +1,17 @@
+extends Control
+
+# This scene is intended to be used inside the item editor
+# It is supposed to edit exactly one type of ammo
+
+
+# Form elements
+@export var DamageNumberBox: SpinBox = null
+
+func get_properties() -> Dictionary:
+ return {
+ "damage": DamageNumberBox.get_line_edit().text
+ }
+
+func set_properties(properties: Dictionary) -> void:
+ if properties.has("damage"):
+ DamageNumberBox.get_line_edit().text = properties["damage"]
diff --git a/Scripts/ItemDetector.gd b/Scripts/ItemDetector.gd
index 4f3f07f0..7cf9280c 100644
--- a/Scripts/ItemDetector.gd
+++ b/Scripts/ItemDetector.gd
@@ -2,26 +2,16 @@ extends Area3D
signal add_to_proximity_inventory
signal remove_from_proximity_inventory
-# Called when the node enters the scene tree for the first time.
-func _ready():
- pass # Replace with function body.
-
-
-# Called every frame. 'delta' is the elapsed time since the previous frame.
-func _process(delta):
- pass
func _on_area_entered(area):
if area.get_owner().is_in_group("Containers"):
- add_to_proximity_inventory.emit(area.get_owner().get_items())
+ add_to_proximity_inventory.emit(area.get_owner())
#print(area.get_owner().get_items())
-
-
func _on_area_exited(area):
if area.get_owner().is_in_group("Containers"):
- remove_from_proximity_inventory.emit(area.get_owner().get_items())
+ remove_from_proximity_inventory.emit(area.get_owner())
diff --git a/Scripts/ItemEditor.gd b/Scripts/ItemEditor.gd
new file mode 100644
index 00000000..a9880074
--- /dev/null
+++ b/Scripts/ItemEditor.gd
@@ -0,0 +1,154 @@
+extends Control
+
+#This scene is intended to be used inside the content editor
+#It is supposed to edit exactly one item (friend and foe)
+#It expects to save the data to a JSON file that contains all data from a mod
+#To load data, provide the name of the item data file and an ID
+
+
+@export var tabContainer: TabContainer = null
+
+# Used to open the sprite selector popup
+@export var itemImageDisplay: TextureRect = null
+@export var IDTextLabel: Label = null
+
+# To show the name of the sprite
+@export var PathTextLabel: Label = null
+
+# Name and description of the item
+@export var NameTextEdit: TextEdit = null
+@export var DescriptionTextEdit: TextEdit = null
+
+#The actual sprite selector popup
+@export var itemSelector: Popup = null
+
+# Inventory propeties
+@export var VolumeNumberBox: SpinBox = null
+@export var WeightNumberBox: SpinBox = null
+@export var StackSizeNumberBox: SpinBox = null
+@export var MaxStackSizeNumberBox: SpinBox = null
+
+@export var typesContainer: HFlowContainer = null
+@export var TwoHandedCheckBox: CheckBox = null
+
+
+
+# This signal will be emitted when the user presses the save button
+# This signal should alert Gamedata that the item data array should be saved to disk
+# The content editor has connected this signal to Gamedata already
+signal data_changed()
+
+# The data that represents this item
+# The data is selected from the Gamedata.data.items.data array
+# based on the ID that the user has selected in the content editor
+var contentData: Dictionary = {}:
+ set(value):
+ contentData = value
+ load_item_data()
+ itemSelector.sprites_collection = Gamedata.data.items.sprites
+
+func _ready():
+ refresh_tab_visibility()
+
+#This function update the form based on the contentData that has been loaded
+func load_item_data() -> void:
+ if itemImageDisplay != null and contentData.has("sprite") and Gamedata.data.items.sprites.has(contentData["sprite"]):
+ itemImageDisplay.texture = Gamedata.data.items.sprites[contentData["sprite"]]
+ PathTextLabel.text = contentData["sprite"]
+ if IDTextLabel != null:
+ IDTextLabel.text = str(contentData["id"])
+ if NameTextEdit != null and contentData.has("name"):
+ NameTextEdit.text = contentData["name"]
+ if DescriptionTextEdit != null and contentData.has("description"):
+ DescriptionTextEdit.text = contentData["description"]
+ if VolumeNumberBox != null and contentData.has("volume"):
+ VolumeNumberBox.get_line_edit().text = contentData["volume"]
+ if WeightNumberBox != null and contentData.has("weight"):
+ WeightNumberBox.get_line_edit().text = contentData["weight"]
+ if StackSizeNumberBox != null and contentData.has("stack_size"):
+ StackSizeNumberBox.get_line_edit().text = contentData["stack_size"]
+ if MaxStackSizeNumberBox != null and contentData.has("max_stack_size"):
+ MaxStackSizeNumberBox.get_line_edit().text = contentData["max_stack_size"]
+ if TwoHandedCheckBox != null and contentData.has("two_handed"):
+ TwoHandedCheckBox.button_pressed = contentData["two_handed"]
+
+ # Loop through typesContainer children to load additional properties and set button_pressed
+ for i in range(typesContainer.get_child_count()):
+ var child = typesContainer.get_child(i)
+ if child is CheckBox:
+ var tabIndex = get_tab_by_title(child.text)
+ var tab = tabContainer.get_child(tabIndex)
+ if tab and tab.has_method("set_properties") and contentData.has(child.text):
+ tab.set_properties(contentData[child.text])
+ # Set button_pressed to true if contentData has the property
+ child.button_pressed = true
+ refresh_tab_visibility()
+
+#The editor is closed, destroy the instance
+#TODO: Check for unsaved changes
+func _on_close_button_button_up() -> void:
+ queue_free()
+
+# This function takes all data fro the form elements stores them in the contentData
+# Since contentData is a reference to an item in Gamedata.data.items.data
+# the central array for itemdata is updated with the changes as well
+# The function will signal to Gamedata that the data has changed and needs to be saved
+func _on_save_button_button_up() -> void:
+ contentData["sprite"] = PathTextLabel.text
+ # We add this image property only for the itemprotosets of gloot
+ contentData["image"] = Gamedata.data.items.spritePath + PathTextLabel.text
+ contentData["name"] = NameTextEdit.text
+ contentData["description"] = DescriptionTextEdit.text
+ contentData["volume"] = VolumeNumberBox.get_line_edit().text
+ contentData["weight"] = WeightNumberBox.get_line_edit().text
+ contentData["stack_size"] = StackSizeNumberBox.get_line_edit().text
+ contentData["max_stack_size"] = MaxStackSizeNumberBox.get_line_edit().text
+ contentData["two_handed"] = TwoHandedCheckBox.button_pressed
+
+ # Loop through typesContainer children to save additional properties
+ for i in range(typesContainer.get_child_count()):
+ var child = typesContainer.get_child(i)
+ # Check if the child is a CheckBox and its button_pressed is true
+ if child is CheckBox and child.button_pressed:
+ var tabIndex = get_tab_by_title(child.text)
+ var tab = tabContainer.get_child(tabIndex)
+ if tab and tab.has_method("get_properties"):
+ contentData[child.text] = tab.get_properties()
+ data_changed.emit()
+
+#When the itemImageDisplay is clicked, the user will be prompted to select an image from
+# "res://Mods/Core/items/". The texture of the itemImageDisplay will change to the selected image
+func _on_item_image_display_gui_input(event) -> void:
+ if event is InputEventMouseButton and event.pressed:
+ itemSelector.show()
+
+
+func _on_sprite_selector_sprite_selected_ok(clicked_sprite) -> void:
+ var itemTexture: Resource = clicked_sprite.get_texture()
+ itemImageDisplay.texture = itemTexture
+ PathTextLabel.text = itemTexture.resource_path.get_file()
+
+
+func _on_type_check_button_up():
+ refresh_tab_visibility()
+
+# This function loops over the checkboxes.
+# It will show corresponding tabs in the tab container if the box is checked.
+# It will hide the corresponding tabs in the tab container if the box is unchecked.
+func refresh_tab_visibility() -> void:
+ # Loop over all children of the typesContainer
+ for i in range(typesContainer.get_child_count()):
+ # Get the child node at index 'i'
+ var child = typesContainer.get_child(i)
+ # Check if the child is a CheckBox
+ if child is CheckBox:
+ # Find the tab in the TabContainer with the same name as the checkbox text
+ tabContainer.set_tab_hidden(get_tab_by_title(child.text),!child.button_pressed)
+
+# Returns the tab control with the given name
+func get_tab_by_title(tabName: String) -> int:
+ # Loop over all children of the typesContainer
+ for i in range(tabContainer.get_tab_count()):
+ if tabContainer.get_tab_title(i) == tabName:
+ return i
+ return -1
diff --git a/Scripts/ItemMagazineEditor.gd b/Scripts/ItemMagazineEditor.gd
new file mode 100644
index 00000000..87a34da1
--- /dev/null
+++ b/Scripts/ItemMagazineEditor.gd
@@ -0,0 +1,22 @@
+extends Control
+
+# This scene is intended to be used inside the item editor
+# It is supposed to edit exactly one magazine
+
+
+# Form elements
+@export var UsedAmmoTextEdit: TextEdit = null
+@export var MaxAmmoNumberBox: SpinBox = null
+
+
+func get_properties() -> Dictionary:
+ return {
+ "used_ammo": UsedAmmoTextEdit.text,
+ "max_ammo": MaxAmmoNumberBox.get_line_edit().text
+ }
+
+func set_properties(properties: Dictionary) -> void:
+ if properties.has("used_ammo"):
+ UsedAmmoTextEdit.text = properties["used_ammo"]
+ if properties.has("max_ammo"):
+ MaxAmmoNumberBox.get_line_edit().text = properties["max_ammo"]
diff --git a/Scripts/ItemRangedEditor.gd b/Scripts/ItemRangedEditor.gd
new file mode 100644
index 00000000..952da4d0
--- /dev/null
+++ b/Scripts/ItemRangedEditor.gd
@@ -0,0 +1,48 @@
+extends Control
+
+# This scene is intended to be used inside the item editor
+# It is supposed to edit exactly one ranged weapon
+
+# Ranged form elements
+@export var UsedAmmoTextEdit: TextEdit = null
+@export var UsedMagazineTextEdit: TextEdit = null
+@export var RangeNumberBox: SpinBox = null
+@export var SpreadNumberBox: SpinBox = null
+@export var SwayNumberBox: SpinBox = null
+@export var RecoilNumberBox: SpinBox = null
+@export var UsedSkillTextEdit: TextEdit = null
+@export var ReloadSpeedNumberBox: SpinBox = null
+@export var FiringSpeedNumberBox: SpinBox = null
+
+func get_properties() -> Dictionary:
+ return {
+ "used_ammo": UsedAmmoTextEdit.text,
+ "used_magazine": UsedMagazineTextEdit.text,
+ "range": RangeNumberBox.get_line_edit().text,
+ "spread": SpreadNumberBox.get_line_edit().text,
+ "sway": SwayNumberBox.get_line_edit().text,
+ "recoil": RecoilNumberBox.get_line_edit().text,
+ "used_skill": UsedSkillTextEdit.text,
+ "reload_speed": ReloadSpeedNumberBox.get_line_edit().text,
+ "firing_speed": FiringSpeedNumberBox.get_line_edit().text
+ }
+
+func set_properties(properties: Dictionary) -> void:
+ if properties.has("used_ammo"):
+ UsedAmmoTextEdit.text = properties["used_ammo"]
+ if properties.has("used_magazine"):
+ UsedMagazineTextEdit.text = properties["used_magazine"]
+ if properties.has("range"):
+ RangeNumberBox.get_line_edit().text = properties["range"]
+ if properties.has("spread"):
+ SpreadNumberBox.get_line_edit().text = properties["spread"]
+ if properties.has("sway"):
+ SwayNumberBox.get_line_edit().text = properties["sway"]
+ if properties.has("recoil"):
+ RecoilNumberBox.get_line_edit().text = properties["recoil"]
+ if properties.has("used_skill"):
+ UsedSkillTextEdit.text = properties["used_skill"]
+ if properties.has("reload_speed"):
+ ReloadSpeedNumberBox.get_line_edit().text = properties["reload_speed"]
+ if properties.has("firing_speed"):
+ FiringSpeedNumberBox.get_line_edit().text = properties["firing_speed"]
diff --git a/Scripts/Mob.gd b/Scripts/Mob.gd
new file mode 100644
index 00000000..10faea40
--- /dev/null
+++ b/Scripts/Mob.gd
@@ -0,0 +1,105 @@
+extends CharacterBody3D
+
+var tween: Tween
+var original_scale
+# id for the mob json. this will be used to load the data when creating a mob
+# when saving a mob in between levels, we will use some static json defined by this id
+# and some dynamic json like the mob health and buffs and debuffs
+var id: String
+
+
+var melee_damage: float = 20.0
+var melee_range: float = 1.5
+var health: float = 100.0
+var current_health: float
+var moveSpeed: float = 1.0
+var current_move_speed: float
+var idle_move_speed: float = 0.5
+var current_idle_move_speed: float
+var sightRange: float = 200.0
+var senseRange: float = 50.0
+var hearingRange: float = 1000.0
+
+@export var corpse_scene: PackedScene
+@onready var nav_agent := $NavigationAgent3D as NavigationAgent3D
+#
+#func _ready():
+ #pass
+ ##3d
+## original_scale = get_node(sprite).scale
+# Called when the node enters the scene tree for the first time.
+func _ready():
+ current_health = health
+ current_move_speed = moveSpeed
+ current_idle_move_speed = idle_move_speed
+
+func _get_hit(damage):
+
+ #3d
+# tween = create_tween()
+# tween.tween_property(get_node(sprite), "scale", get_node(sprite).scale * 1.35, 0.1)
+# tween.tween_property(get_node(sprite), "scale", original_scale, 0.1)
+
+ current_health -= damage
+ if current_health <= 0:
+ _die()
+
+func _die():
+ add_corpse.call_deferred(global_position)
+ queue_free()
+
+func add_corpse(pos: Vector3):
+ var corpse = corpse_scene.instantiate()
+ get_tree().get_root().add_child(corpse)
+ corpse.global_position = pos
+ corpse.add_to_group("mapitems")
+
+# Sets the sprite to the mob
+# TODO: In order to optimize this, instead of calling original_mesh.duplicate()
+# We should keep track of every unique mesh (one for each type of mob)
+# THen we check if there has already been a mesh created for a mob with this
+# id and assign that mesh. Right now every mob has it's own unique mesh
+func set_sprite(newSprite: Resource):
+ var original_mesh = $MeshInstance3D.mesh
+ var new_mesh = original_mesh.duplicate() # Clone the mesh
+ var material := StandardMaterial3D.new()
+ material.albedo_texture = newSprite
+ material.transparency = BaseMaterial3D.TRANSPARENCY_ALPHA
+ new_mesh.surface_set_material(0, material)
+ $MeshInstance3D.mesh = new_mesh # Set the new mesh to MeshInstance3D
+
+
+# Applies it's own data from the dictionary it received
+# If it is created as a new mob, it will spawn with the default stats
+# If it is created from a saved game, it might have lower health for example
+func apply_stats_from_json(json_data: Dictionary) -> void:
+ id = json_data.id
+ set_sprite(Gamedata.get_sprite_by_id(Gamedata.data.mobs,json_data.id))
+ if json_data.has("melee_damage"):
+ melee_damage = float(json_data["melee_damage"])
+ if json_data.has("melee_range"):
+ melee_range = float(json_data["melee_range"])
+ if json_data.has("health"):
+ health = float(json_data["health"])
+ if json_data.has("current_health"):
+ current_health = float(json_data["current_health"])
+ else: # Reset current health to max health
+ current_health = health
+ if json_data.has("move_speed"):
+ moveSpeed = float(json_data["move_speed"])
+ if json_data.has("current_move_speed"):
+ current_move_speed = float(json_data["current_move_speed"])
+ else: # Reset current moveSpeed to max moveSpeed
+ current_move_speed = moveSpeed
+ if json_data.has("idle_move_speed"):
+ idle_move_speed = float(json_data["idle_move_speed"])
+ if json_data.has("current_idle_move_speed"):
+ current_idle_move_speed = float(json_data["current_idle_move_speed"])
+ else: # Reset current idle_move_speed to max idle_move_speed
+ current_idle_move_speed = idle_move_speed
+ if json_data.has("sight_range"):
+ sightRange = float(json_data["sight_range"])
+ if json_data.has("sense_range"):
+ senseRange = float(json_data["sense_range"])
+ if json_data.has("hearing_range"):
+ hearingRange = float(json_data["hearing_range"])
diff --git a/Scripts/EnemyAttack.gd b/Scripts/MobAttack.gd
similarity index 52%
rename from Scripts/EnemyAttack.gd
rename to Scripts/MobAttack.gd
index 0992e819..07afbaf3 100644
--- a/Scripts/EnemyAttack.gd
+++ b/Scripts/MobAttack.gd
@@ -1,10 +1,9 @@
extends State
-class_name EnemyAttack
+class_name MobAttack
-@export var stats: NodePath
@export var attack_timer: Timer
-@export var enemy: NodePath
-@export var enemy_sprite: NodePath
+@export var mob: CharacterBody3D
+@export var mob_sprite: NodePath
var tween: Tween
@@ -19,18 +18,25 @@ func Enter():
func Exit():
pass
-func Physics_Update(delta: float):
+func Physics_Update(_delta: float):
+ # Rotation towards target using look_at
+ if targeted_player:
+ var mesh_instance = $"../../MeshInstance3D"
+ var target_position = targeted_player.global_position
+ target_position.y = mesh_instance.global_position.y # Align y-axis to avoid tilting
+ mesh_instance.look_at(target_position, Vector3.UP)
+
var space_state = get_world_3d().direct_space_state
# TO-DO Change playerCol to group of players
- var query = PhysicsRayQueryParameters3D.create(get_node(enemy).global_position, targeted_player.global_position, pow(2, 1-1) + pow(2, 3-1), [self])
+ var query = PhysicsRayQueryParameters3D.create(mob.global_position, targeted_player.global_position, int(pow(2, 1-1) + pow(2, 3-1)), [self])
var result = space_state.intersect_ray(query)
if result:
- if result.collider.is_in_group("Players") && Vector3(get_node(enemy).global_position).distance_to(targeted_player.global_position) <= get_node(stats).melee_range:
+ if result.collider.is_in_group("Players") && Vector3(mob.global_position).distance_to(targeted_player.global_position) <= mob.melee_range:
if !is_in_attack_mode:
is_in_attack_mode = true
@@ -53,21 +59,21 @@ func attack():
# print(Vector2(targeted_player.global_position))
# print(Vector2(to_local(targeted_player.position)))
# print(Vector2(to_local(targeted_player.global_position)))
-# print(Vector2(targeted_player.position - get_node(enemy).global_position))
+# print(Vector2(targeted_player.position - get_node(mob).global_position))
#3d
# tween = create_tween()
-# tween.tween_property(get_node(enemy_sprite), "position", targeted_player.position - get_node(enemy).global_position, 0.1 )
-# tween.tween_property(get_node(enemy_sprite), "position", Vector2(0,0), 0.1 )
+# tween.tween_property(get_node(mob_sprite), "position", targeted_player.position - get_node(mob).global_position, 0.1 )
+# tween.tween_property(get_node(mob_sprite), "position", Vector2(0,0), 0.1 )
if targeted_player.has_method("_get_hit"):
- targeted_player._get_hit(get_node(stats).melee_damage)
+ targeted_player._get_hit(mob.melee_damage)
func stop_attacking():
print("I stopped attacking")
attack_timer.stop()
- Transistioned.emit(self, "enemyfollow")
+ Transistioned.emit(self, "mobfollow")
func _on_detection_player_spotted(player):
diff --git a/Scripts/MobFollow.gd b/Scripts/MobFollow.gd
new file mode 100644
index 00000000..06f28225
--- /dev/null
+++ b/Scripts/MobFollow.gd
@@ -0,0 +1,62 @@
+extends State
+class_name MobFollow
+
+
+
+@export var nav_agent: NavigationAgent3D
+@export var mob: CharacterBody3D
+@export var mobCol: NodePath
+@export var pathfinding_timer: Timer
+
+var targeted_player
+
+@onready var target_location = mob.position
+
+
+func Enter():
+ print("Following the player")
+ pathfinding_timer.start()
+ makepath()
+
+func Exit():
+ pathfinding_timer.stop()
+
+func Physics_Update(_delta: float):
+ var dir = mob.to_local(nav_agent.get_next_path_position()).normalized()
+ mob.velocity = dir * mob.current_move_speed
+ mob.move_and_slide()
+
+ # Rotation towards target using look_at
+ if targeted_player:
+ var mesh_instance = $"../../MeshInstance3D"
+ var target_position = targeted_player.global_position
+ target_position.y = mesh_instance.global_position.y # Align y-axis to avoid tilting
+ mesh_instance.look_at(target_position, Vector3.UP)
+
+ if !targeted_player:
+ return
+ var space_state = get_world_3d().direct_space_state
+ # TO-DO Change playerCol to group of players
+ var query = PhysicsRayQueryParameters3D.create(get_node(mobCol).global_position, targeted_player.global_position, int(pow(2, 1-1) + pow(2, 3-1)),[self])
+ var result = space_state.intersect_ray(query)
+
+ if result:
+
+ if result.collider.is_in_group("Players")&& Vector3(get_node(mobCol).global_position).distance_to(targeted_player.global_position) <= mob.melee_range / 2:
+ print("changing state to mobattack...")
+ Transistioned.emit(self, "mobattack")
+
+ if Vector3(mob.global_position).distance_to(target_location) <= 0.5:
+ Transistioned.emit(self, "mobidle")
+
+
+func makepath() -> void:
+ nav_agent.target_position = target_location
+# print("From follow: ", target_location)
+
+func _on_timer_timeout():
+ makepath()
+
+func _on_detection_player_spotted(player):
+ target_location = player.position
+ targeted_player = player
diff --git a/Scripts/MobIdle.gd b/Scripts/MobIdle.gd
new file mode 100644
index 00000000..a994fc8f
--- /dev/null
+++ b/Scripts/MobIdle.gd
@@ -0,0 +1,59 @@
+extends State
+class_name MobIdle
+
+var idle_speed
+
+@export var nav_agent: NavigationAgent3D
+@export var mob: CharacterBody3D
+@export var move_distance: float
+
+@export var moving_timer: Timer
+
+
+@onready var target_location
+
+var is_looking_to_move = false
+
+var rng = RandomNumberGenerator.new()
+
+
+func Enter():
+ print("Mob idle")
+ idle_speed = mob.idle_move_speed
+ moving_timer.start()
+
+func Exit():
+ moving_timer.stop()
+
+func Physics_Update(_delta: float):
+ if is_looking_to_move:
+ var dir = mob.to_local(nav_agent.get_next_path_position()).normalized()
+ mob.velocity = dir * mob.current_idle_move_speed
+ mob.move_and_slide()
+
+
+ if Vector3(mob.global_position).distance_to(target_location) <= 0.5:
+ is_looking_to_move = false
+
+
+
+func _on_detection_player_spotted(_player):
+ Transistioned.emit(self, "mobfollow")
+
+
+func makepath() -> void:
+ nav_agent.target_position = target_location
+ #print(nav_agent.target_position)
+
+func _on_moving_cooldown_timeout():
+
+ var space_state = get_world_3d().direct_space_state
+ var random_dir = Vector3(rng.randf_range(-1,1), mob.global_position.y, rng.randf_range(-1, 1))
+ var query = PhysicsRayQueryParameters3D.create(mob.global_position, mob.global_position + (random_dir * move_distance), int(pow(2, 1-1) + pow(2, 3-1)),[self])
+
+ var result = space_state.intersect_ray(query)
+ if !result:
+ is_looking_to_move = true
+ target_location = mob.global_position + (random_dir * move_distance)
+ makepath()
+
diff --git a/Scripts/EnemyStats.gd b/Scripts/MobStats.gd
similarity index 96%
rename from Scripts/EnemyStats.gd
rename to Scripts/MobStats.gd
index 62fae365..fb3ab0d0 100644
--- a/Scripts/EnemyStats.gd
+++ b/Scripts/MobStats.gd
@@ -20,5 +20,5 @@ func _ready():
# Called every frame. 'delta' is the elapsed time since the previous frame.
-func _process(delta):
+func _process(_delta):
pass
diff --git a/Scripts/NonHUDclick.gd b/Scripts/NonHUDclick.gd
index 1c3ac3b1..878fe4ce 100644
--- a/Scripts/NonHUDclick.gd
+++ b/Scripts/NonHUDclick.gd
@@ -1,16 +1,6 @@
extends Control
-# Called when the node enters the scene tree for the first time.
-func _ready():
- pass # Replace with function body.
-
-
-# Called every frame. 'delta' is the elapsed time since the previous frame.
-func _process(delta):
- pass
-
-
func _on_mouse_entered():
General.is_mouse_outside_HUD = true
diff --git a/Scripts/PlayerShooting.gd b/Scripts/PlayerShooting.gd
index e86b7818..df0c608c 100644
--- a/Scripts/PlayerShooting.gd
+++ b/Scripts/PlayerShooting.gd
@@ -1,13 +1,20 @@
extends Node3D
-var weapon
-var magazine
-var ammo
-var current_ammo : int
-var max_ammo : int
+# Define properties for left-hand and right-hand weapons.
+var left_hand_weapon
+var right_hand_weapon
+var left_hand_magazine
+var right_hand_magazine
+var left_hand_ammo
+var right_hand_ammo
-signal ammo_changed
+var current_left_ammo : int
+var max_left_ammo : int
+var current_right_ammo : int
+var max_right_ammo : int
+
+signal ammo_changed(current_ammo: int, max_ammo: int, leftHand: bool)
@export var projectiles: NodePath
@export var bullet_speed: float
@@ -17,8 +24,11 @@ signal ammo_changed
@export var bullet_line_scene: PackedScene
-@export var attack_cooldown : Timer
-@export var reload_timer : Timer
+@export var left_attack_cooldown : Timer
+@export var right_attack_cooldown : Timer
+@export var left_reload_timer : Timer
+@export var right_reload_timer : Timer
+
@export var player: NodePath
@export var hud: NodePath
@@ -33,101 +43,183 @@ var damage = 25
func _input(event):
-
+ if not left_hand_weapon and not right_hand_weapon:
+ return # Return early if no weapon is equipped
if event.is_action_pressed("reload_weapon"):
- reload_timer.start()
- get_node(hud).start_progress_bar(reload_timer.time_left)
+ # Reload logic for both weapons with additional checks.
+ if left_hand_weapon and current_left_ammo < max_left_ammo and right_reload_timer.is_stopped():
+ reload_left_weapon()
+ elif right_hand_weapon and current_right_ammo < max_right_ammo and left_reload_timer.is_stopped():
+ reload_right_weapon()
+
+ # Handling left and right click for different weapons.
+ if event.is_action_pressed("click_left") and General.is_mouse_outside_HUD and General.is_allowed_to_shoot and left_hand_weapon:
+ fire_weapon(left_hand_weapon, current_left_ammo, "LeftHand")
+
+ if event.is_action_pressed("click_right") and General.is_mouse_outside_HUD and General.is_allowed_to_shoot and right_hand_weapon:
+ fire_weapon(right_hand_weapon, current_right_ammo, "RightHand")
+
+# New function to handle firing logic for a weapon.
+func fire_weapon(weapon, current_ammo, hand):
+ if not weapon or current_ammo <= 0:
+ return # Return if no weapon is equipped or no ammo.
- if event.is_action_pressed("click") && General.is_mouse_outside_HUD && General.is_allowed_to_shoot:
-
-# var space_state = get_world_2d().direct_space_state
-# var query = PhysicsRayQueryParameters2D.create(global_position, global_position + (get_global_mouse_position() - global_position).normalized() * 10000 , pow(2, 1-1) + pow(2, 2-1) + pow(2, 3-1),[self])
-#
-# var result = space_state.intersect_ray(query)
-#
-# if result:
-# print("hit")
-# var line = bullet_line_scene.instantiate()
-# get_node(projectiles).add_child(line)
-# line.add_point(global_position)
-# line.add_point(result.position)
-#
-# if result.collider.has_method("_get_hit"):
-# result.collider._get_hit(damage)
- if attack_cooldown.is_stopped() && current_ammo > 0 && reload_timer.is_stopped():
- attack_cooldown.start()
- current_ammo -= 1
- ammo_changed.emit(current_ammo, max_ammo)
- shoot_audio_player.stream = shoot_audio_randomizer
- shoot_audio_player.play()
+ var cooldown_timer = get_cooldown_timer(hand)
+ if cooldown_timer.is_stopped() and reload_timer_is_stopped(hand):
+ cooldown_timer.start()
+ # Update ammo and emit signal.
+ if hand == "LeftHand":
+ current_left_ammo -= 1
+ ammo_changed.emit(current_left_ammo, max_left_ammo, true)
+ elif hand == "RightHand":
+ current_right_ammo -= 1
+ ammo_changed.emit(current_right_ammo, max_right_ammo, false)
- var space_state = get_world_3d().direct_space_state
- var mouse_pos : Vector2 = get_viewport().get_mouse_position()
+
+ shoot_audio_player.stream = shoot_audio_randomizer
+ shoot_audio_player.play()
+
+ var space_state = get_world_3d().direct_space_state
+ var mouse_pos : Vector2 = get_viewport().get_mouse_position()
+
+ var layer = pow(2, 1-1) + pow(2, 2-1) + pow(2, 3-1)
+ var mouse_pos_in_world = Helper.raycast_from_mouse(mouse_pos, layer).position
+ var query = PhysicsRayQueryParameters3D.create(global_position, global_position + (Vector3(mouse_pos_in_world.x - global_position.x, 0, mouse_pos_in_world.z - global_position.z)).normalized() * 10000, layer, [self])
+
+ var result = space_state.intersect_ray(query)
+
+ if result:
+ print("hit")
+ Helper.line(global_position, result.position)
-# var dropPlane = Plane(Vector3(0, 0, 1), 1)
-# var position3D = dropPlane.intersects_ray(
-# get_tree().get_first_node_in_group("Camera").project_ray_origin(mouse_pos),
-# get_tree().get_first_node_in_group("Camera").project_ray_normal(mouse_pos))
-
-# var query = PhysicsRayQueryParameters3D.create(global_position, global_position + Vector3(mouse_pos.x - global_position.x, 0, mouse_pos.y - global_position.z).normalized() * 10000 , pow(2, 1-1) + pow(2, 2-1) + pow(2, 3-1),[self])
- #var query = PhysicsRayQueryParameters3D.create(global_position, global_position + (position3D - global_position).normalized() * 10000 , pow(2, 1-1) + pow(2, 2-1) + pow(2, 3-1),[self])
- var layer = pow(2, 1-1) + pow(2, 2-1) + pow(2, 3-1)
- var mouse_pos_in_world = Helper.raycast_from_mouse(mouse_pos, layer).position
- var query = PhysicsRayQueryParameters3D.create(global_position, global_position + (Vector3(mouse_pos_in_world.x - global_position.x, 0, mouse_pos_in_world.z - global_position.z)).normalized() * 10000, layer, [self])
-
- var result = space_state.intersect_ray(query)
-
- if result:
- print("hit")
-# var line = bullet_line_scene.instantiate()
-# get_node(projectiles).add_child(line)
-# line.add_point(global_position)
-# line.add_point(result.position)
- Helper.line(global_position, result.position)
-
- if result.collider.has_method("_get_hit"):
- result.collider._get_hit(damage)
-
-
-
-
+ if result.collider.has_method("_get_hit"):
+ result.collider._get_hit(damage)
+
+
+# Helper function to get the appropriate cooldown timer based on the hand.
+func get_cooldown_timer(hand: String) -> Timer:
+ if hand == "LeftHand":
+ return left_attack_cooldown
+ else:
+ return right_attack_cooldown
+
+# Helper function to check if reload timer is stopped based on the hand.
+func reload_timer_is_stopped(hand: String) -> bool:
+ if hand == "LeftHand":
+ return left_reload_timer.is_stopped()
+ else:
+ return right_reload_timer.is_stopped()
+
+# Called when the left weapon is reloaded
+# Since only one reload action can run at a time,
+# We check that the right reload timer is stopped
+func reload_left_weapon():
+ if right_reload_timer.is_stopped():
+ current_left_ammo = max_left_ammo
+ left_reload_timer.start() # Start the left reload timer
+ get_node(hud).start_progress_bar(left_reload_timer.time_left) # Start HUD progress bar for left-hand weapon
+
+# Called when the right weapon is reloaded
+# Since only one reload action can run at a time,
+# We check that the left reload timer is stopped
+func reload_right_weapon():
+ if left_reload_timer.is_stopped():
+ current_right_ammo = max_right_ammo
+ right_reload_timer.start() # Start the right reload timer
+ get_node(hud).start_progress_bar(right_reload_timer.time_left) # Start HUD progress bar for right-hand weapon
-# var bullet = bullet_scene.instantiate()
-# bullet.speed = bullet_speed
-# bullet.damage = bullet_damage
-# get_node(projectiles).add_child(bullet)
-# bullet.global_position = global_position
-# #bullet.rotation = (get_global_mouse_position() - global_position).normalized()
-# bullet.direction = (get_global_mouse_position() - global_position).normalized()
-
# Called when the node enters the scene tree for the first time.
func _ready():
- weapon = ItemManager.weapon
- magazine = ItemManager.magazine
- ammo = ItemManager.ammo
-
- max_ammo = int(magazine["max_ammo"])
- current_ammo = max_ammo
-
- ammo_changed.emit(current_ammo, max_ammo)
-
- attack_cooldown.wait_time = float(weapon["firing_speed"])
- reload_timer.wait_time = float(weapon["reload_speed"])
-
+ clear_weapon_properties("LeftHand")
+ clear_weapon_properties("RightHand")
# Called every frame. 'delta' is the elapsed time since the previous frame.
-func _process(delta):
-
- # Reloading sound logic, basically we want to play the sound during the reloading phase,
- # not before or after reloading so the end of reloading sounds will align with end of the reloading phase
- if reload_timer.time_left <= reload_audio_player.stream.get_length() && !reload_audio_player.playing && !reload_timer.is_stopped():
- reload_audio_player.play()
-
-
-func _on_reload_time_timeout():
- current_ammo = max_ammo
- ammo_changed.emit(current_ammo, max_ammo)
+func _process(_delta):
+ # Check if the left-hand weapon is reloading.
+ if not left_reload_timer.is_stopped() and left_reload_timer.time_left <= reload_audio_player.stream.get_length() and not reload_audio_player.playing:
+ reload_audio_player.play() # Play reload sound for left-hand weapon.
+
+ # Check if the right-hand weapon is reloading.
+ if not right_reload_timer.is_stopped() and right_reload_timer.time_left <= reload_audio_player.stream.get_length() and not reload_audio_player.playing:
+ reload_audio_player.play() # Play reload sound for right-hand weapon.
+
+
+
+# The weapon is reloaded once the timer has stopped
+func _on_left_reload_time_timeout():
+ if left_hand_weapon:
+ current_left_ammo = max_left_ammo
+ ammo_changed.emit(current_left_ammo, max_left_ammo, true)
+
+func _on_right_reload_time_timeout():
+ if right_hand_weapon:
+ current_right_ammo = max_right_ammo
+ ammo_changed.emit(current_right_ammo, max_right_ammo, false)
+
+
+# The player has equipped an item in one of the equipmentslots
+# equippedItem is an InventoryItem
+# slotName is a string, for example "LeftHand" or "RightHand"
+func _on_hud_item_was_equipped(equippedItem: InventoryItem, slotName: String):
+ # Adjust this function to handle dual-wielding.
+ var weaponID = equippedItem.prototype_id
+ var weaponData = Gamedata.get_data_by_id(Gamedata.data.items, weaponID)
+ if weaponData.has("Ranged"):
+ var newMagazineID = weaponData.Ranged.used_magazine
+ var newAmmoID = weaponData.Ranged.used_ammo
+ # Set the weapon for the corresponding hand.
+ if slotName == "LeftHand":
+ left_hand_weapon = weaponData
+ left_hand_magazine = Gamedata.get_data_by_id(Gamedata.data.items, newMagazineID)
+ left_hand_ammo = Gamedata.get_data_by_id(Gamedata.data.items, newAmmoID)
+ max_left_ammo = int(left_hand_magazine.Magazine["max_ammo"])
+ current_left_ammo = max_left_ammo
+ ammo_changed.emit(current_left_ammo, max_left_ammo, true)
+ elif slotName == "RightHand":
+ right_hand_weapon = weaponData
+ right_hand_magazine = Gamedata.get_data_by_id(Gamedata.data.items, newMagazineID)
+ right_hand_ammo = Gamedata.get_data_by_id(Gamedata.data.items, newAmmoID)
+ max_right_ammo = int(right_hand_magazine.Magazine["max_ammo"])
+ current_right_ammo = max_right_ammo
+ ammo_changed.emit(current_right_ammo, max_right_ammo, false)
+ else:
+ # Reset weapon, magazine, and ammo if the equipped item is not a weapon.
+ if slotName == "LeftHand":
+ left_hand_weapon = null
+ left_hand_magazine = null
+ left_hand_ammo = null
+ current_left_ammo = 0
+ max_left_ammo = 0
+ ammo_changed.emit(-1,-1, false)
+ elif slotName == "RightHand":
+ right_hand_weapon = null
+ right_hand_magazine = null
+ right_hand_ammo = null
+ current_right_ammo = 0
+ max_right_ammo = 0
+ ammo_changed.emit(-1,-1, true)
+
+# Called when an equipment slot was cleared
+# slotName can be "LeftHand" or "RightHand"
+func _on_hud_item_equipment_slot_was_cleared(slotName):
+ clear_weapon_properties(slotName)
+
+# Function to clear weapon properties for a specified hand
+func clear_weapon_properties(hand: String):
+ if hand == "LeftHand":
+ left_hand_weapon = null
+ left_hand_magazine = null
+ left_hand_ammo = null
+ current_left_ammo = 0
+ max_left_ammo = 0
+ elif hand == "RightHand":
+ right_hand_weapon = null
+ right_hand_magazine = null
+ right_hand_ammo = null
+ current_right_ammo = 0
+ max_right_ammo = 0
+ ammo_changed.emit(-1, -1, hand == "LeftHand") # Emit signal to indicate no weapon is equipped
diff --git a/Scripts/container.gd b/Scripts/container.gd
index 3bffa50a..fdfd2ff8 100644
--- a/Scripts/container.gd
+++ b/Scripts/container.gd
@@ -6,25 +6,20 @@ extends Node3D
# Called when the node enters the scene tree for the first time.
func _ready():
create_random_loot()
-
-
-# Called every frame. 'delta' is the elapsed time since the previous frame.
-func _process(delta):
- pass
-
func create_random_loot():
if get_node(inventory).get_children() == []:
- var item = get_node(inventory).create_and_add_item("plank")
- item.set_property("assigned_id", ItemManager.assign_id())
- item = get_node(inventory).create_and_add_item("9mm")
- item.set_property("assigned_id", ItemManager.assign_id())
+ var item = get_node(inventory).create_and_add_item("plank_2x4")
+ item = get_node(inventory).create_and_add_item("bullet_9mm")
item = get_node(inventory).create_and_add_item("pistol_magazine")
- item.set_property("assigned_id", ItemManager.assign_id())
item = get_node(inventory).create_and_add_item("steel_scrap")
- item.set_property("assigned_id", ItemManager.assign_id())
-
func get_items():
return get_node(inventory).get_children()
+
+func get_sprite():
+ return $Sprite3D.texture
+
+func get_inventory():
+ return get_node(inventory)
diff --git a/Scripts/crafting_recipes_manager.gd b/Scripts/crafting_recipes_manager.gd
index 4501f07c..f5f49c10 100644
--- a/Scripts/crafting_recipes_manager.gd
+++ b/Scripts/crafting_recipes_manager.gd
@@ -7,11 +7,6 @@ var crafting_recipes
func _ready():
get_crafting_recipes_from_json()
-
-# Called every frame. 'delta' is the elapsed time since the previous frame.
-func _process(delta):
- pass
-
func get_crafting_recipes_from_json():
var file = "res://JSON/crafting_recipes.json"
var json_as_text = FileAccess.get_file_as_string(file)
diff --git a/Scripts/gamedata.gd b/Scripts/gamedata.gd
new file mode 100644
index 00000000..d136d4c1
--- /dev/null
+++ b/Scripts/gamedata.gd
@@ -0,0 +1,231 @@
+extends Node
+
+#This autoload singleton loads all game data required to run the game
+#It can be accessed by using Gamedata.property
+var data: Dictionary = {}
+
+# We write down the associated paths for the files to load
+# Next, sprites are loaded from spritesPath into the .sprites property
+# Finally, the data is loaded from dataPath into the .data property
+# Maps tile sprites and map data are different so they
+# are loaded in using their respective functions
+func _ready():
+ data.tiles = {}
+ data.mobs = {}
+ data.overmaptiles = {}
+ data.maps = {}
+ data.tacticalmaps = {}
+ data.furniture = {}
+ data.items = {}
+ data.tiles.dataPath = "./Mods/Core/Tiles/Tiles.json"
+ data.tiles.spritePath = "./Mods/Core/Tiles/"
+ data.mobs.dataPath = "./Mods/Core/Mobs/Mobs.json"
+ data.mobs.spritePath = "./Mods/Core/Mobs/"
+ data.items.dataPath = "./Mods/Core/Items/Items.json"
+ data.items.spritePath = "./Mods/Core/Items/"
+ data.furniture.spritePath = "./Mods/Core/Furniture/"
+ data.furniture.dataPath = "./Mods/Core/Furniture/Furniture.json"
+ data.overmaptiles.spritePath = "./Mods/Core/OvermapTiles/"
+ data.tacticalmaps.dataPath = "./Mods/Core/TacticalMaps/"
+ data.maps.dataPath = "./Mods/Core/Maps/"
+ # Map preview images are stored in the same folder
+ data.maps.spritePath = "./Mods/Core/Maps/"
+ load_sprites()
+ load_tile_sprites()
+ load_data()
+ update_item_protoset_json_data("res://ItemProtosets.tres",JSON.stringify(data.items.data,"\t"))
+ data.maps.data = Helper.json_helper.file_names_in_dir(data.maps.dataPath, ["json"])
+ data.tacticalmaps.data = Helper.json_helper.file_names_in_dir(\
+ data.tacticalmaps.dataPath, ["json"])
+
+#Loads json data. If no json file exists, it will create an empty array in a new file
+func load_data() -> void:
+ for dict in data.keys():
+ if data[dict].has("dataPath"):
+ var dataPath: String = data[dict].dataPath
+ if FileAccess.file_exists(dataPath):
+ Helper.json_helper.create_new_json_file(dataPath)
+ data[dict].data = Helper.json_helper.load_json_array_file(dataPath)
+ else:
+ data[dict].data = []
+
+#This loads all the sprites and assigns them to the proper dictionary
+func load_sprites() -> void:
+ for dict in data.keys():
+ if data[dict].has("spritePath"):
+ var loaded_sprites: Dictionary = {} # Materials used to represent mobs
+ var spritesDir: String = data[dict].spritePath
+ var png_files: Array = Helper.json_helper.file_names_in_dir(spritesDir, ["png"])
+ for png_file in png_files:
+ # Load the .png file as a texture
+ var texture := load(spritesDir + png_file)
+ # Add the material to the dictionary
+ loaded_sprites[png_file] = texture
+ data[dict].sprites = loaded_sprites
+
+# This function reads all the files in "res://Mods/Core/Tiles/". It will check if the file is a .png file. If the file is a .png file, it will create a new material with that .png image as the texture. It will put all of the created materials in a dictionary with the name of the file as the key and the material as the value.
+func load_tile_sprites() -> void:
+ var tile_materials: Dictionary = {} # Materials used to represent tiles
+ var tilesDir = data.tiles.spritePath
+ var png_files: Array = Helper.json_helper.file_names_in_dir(tilesDir, ["png"])
+ for png_file in png_files:
+ var texture := load(tilesDir + png_file) # Load the .png file as a texture
+ var material := StandardMaterial3D.new()
+ material.albedo_texture = texture # Set the texture of the material
+ material.uv1_scale = Vector3(3,2,1)
+ tile_materials[png_file] = material # Add the material to the dictionary
+ data.tiles.sprites = tile_materials
+
+#This function will take two strings called ID and newID
+#It will find an item with this ID in a json file specified by the source variable
+#It will then duplicate that item into the json file and change the ID to newID
+func duplicate_item_in_data(contentData: Dictionary, id: String, newID: String):
+ if contentData.data.is_empty():
+ return
+
+ if contentData.dataPath.ends_with((".json")):
+ # Check if an item with the given ID exists in the file.
+ var item_index: int = get_array_index_by_id(contentData,id)
+ if item_index == -1:
+ return
+
+ # Duplicate the found item recursively
+ var item_to_duplicate = contentData.data[item_index].duplicate(true)
+
+ # If there is no item to duplicate, return without doing anything.
+ if item_to_duplicate == null:
+ return
+ # Change the ID of the duplicated item.
+ item_to_duplicate["id"] = newID
+ # Add the duplicated item to the JSON data.
+ contentData.data.append(item_to_duplicate)
+ Helper.json_helper.write_json_file(contentData.dataPath,JSON.stringify(contentData.data))
+ else:
+ print_debug("There should be code here for when a file in the gets duplicated")
+
+
+# This function will duplicate a file with the provided original ID
+# and save it under a new ID within the same directory.
+func duplicate_file_in_data(contentData: Dictionary, original_id: String, new_id: String) -> void:
+ var data_path: String = contentData.dataPath
+ var original_file_path: String = data_path + original_id + ".json"
+ var new_file_path: String = data_path + new_id + ".json"
+
+ if not FileAccess.file_exists(original_file_path):
+ print_debug("Original file not found: " + original_file_path)
+ return
+
+ # Load the original file content.
+ var original_content = Helper.json_helper.load_json_dictionary_file(original_file_path)
+
+ # Write the original content to a new file with the new ID.
+ var save_result = Helper.json_helper.write_json_file(new_file_path, JSON.stringify(original_content))
+ if save_result == OK:
+ print_debug("File duplicated successfully: " + new_file_path)
+ # Add the new ID to the data array if it's managed as an array of IDs.
+ if contentData.data is Array and typeof(contentData.data[0]) == TYPE_STRING:
+ contentData.data.append(new_id)
+ save_data_to_file(contentData) # Save the updated data array to file.
+ else:
+ print_debug("Failed to duplicate file to: " + new_file_path)
+
+
+
+# This function appends a new object to an existing array
+# Pass the contentData dictionary to this function and the value of the ID
+# If the data directory ends in .json, it will append an object
+# The object that will be appended will be nothing more then {"id": id}
+# if the data directory does not end in .json, a new file will be added
+# This file will get the name as specified by id, so for example "myhouse"
+# After the ID is added, the data array will be saved to disk
+func add_id_to_data(contentData: Dictionary, id: String):
+ if !contentData.has("data"):
+ return
+ if contentData.dataPath.ends_with((".json")):
+ if get_array_index_by_id(contentData,id) != -1:
+ print_debug("Tried to add an existing id to an array")
+ return
+ contentData.data.append({"id": id})
+ save_data_to_file(contentData)
+ else:
+ if id in contentData.data:
+ print_debug("Tried to add an existing file to a file array")
+ return
+ contentData.data.append(id)
+ #Create a new json file in the directory with only {} in the file
+ Helper.json_helper.create_new_json_file(contentData.dataPath + id + ".json", false)
+
+# Will remove an item from the data
+# If the first item in data is a dictionary, we remove an item that has the provided id
+# If the first item in data is a string, we remove the string and the associated json file
+func remove_item_from_data(contentData: Dictionary, id: String):
+ if contentData.data.is_empty():
+ return
+ if contentData.data[0] is Dictionary:
+ contentData.data.remove_at(get_array_index_by_id(contentData, id))
+ save_data_to_file(contentData)
+ elif contentData.data[0] is String:
+ contentData.data.erase(id)
+ Helper.json_helper.delete_json_file(contentData.dataPath, id)
+ else:
+ print_debug("Tried to remove item from data, but the data contains \
+ neither Dictionary nor String")
+
+func get_array_index_by_id(contentData: Dictionary, id: String) -> int:
+ # Iterate through the array
+ for i in range(len(contentData.data)):
+ # Check if the current item is a dictionary
+ if typeof(contentData.data[i]) == TYPE_DICTIONARY:
+ # Check if it has the 'id' key and matches the given ID
+ if contentData.data[i].has("id") and contentData.data[i]["id"] == id:
+ return i
+ # Check if the current item is a string and matches the given ID
+ elif typeof(contentData.data[i]) == TYPE_STRING and contentData.data[i] == id:
+ return i
+ # Return -1 if the ID is not found
+ return -1
+
+func save_data_to_file(contentData: Dictionary):
+ var datapath: String = contentData.dataPath
+ if datapath.ends_with(".json"):
+ Helper.json_helper.write_json_file(datapath,JSON.stringify(contentData.data,"\t"))
+
+# Takes contentdata and an id and returns the json that belongs to an id
+# For example, contentData can be Gamedata.data.tiles
+# and id can be "plain_grass" and it will return the json data for plain_grass
+func get_data_by_id(contentData: Dictionary, id: String) -> Dictionary:
+ return contentData.data[get_array_index_by_id(contentData,id)]
+
+#Takes contentData and an id and returns the sprite associated with the id
+# For example, contentData can be Gamedata.data.tiles
+# and id can be "plain_grass" and it will return the sprite for plain_grass
+func get_sprite_by_id(contentData: Dictionary, id: String) -> Resource:
+ var item_json = get_data_by_id(contentData, id)
+ return contentData.sprites[item_json.sprite]
+
+# This functino is called when an editor has changed data
+# The contenteditor (that initializes the individual editors)
+# connects the changed_data signal to this function
+# and binds the appropriate data array so it can be saved in this function
+func on_data_changed(contentData: Dictionary):
+ save_data_to_file(contentData)
+
+# This will update the given resource file with the provided json data
+# It is intended to save item data from json to the res://ItemProtosets.tres file
+# So we can use the item json data in-game
+func update_item_protoset_json_data(tres_path: String, new_json_data: String) -> void:
+ # Load the ItemProtoset resource
+ var item_protoset = load(tres_path) as ItemProtoset
+ if not item_protoset:
+ print("Failed to load ItemProtoset resource from:", tres_path)
+ return
+
+ # Update the json_data property
+ item_protoset.json_data = new_json_data
+
+ # Save the resource back to the .tres file
+ var save_result = ResourceSaver.save(item_protoset, tres_path)
+ if save_result != OK:
+ print("Failed to save updated ItemProtoset resource to:", tres_path)
+ else:
+ print("ItemProtoset resource updated and saved successfully to:", tres_path)
diff --git a/Scripts/general.gd b/Scripts/general.gd
index f9752fc9..d30b1640 100644
--- a/Scripts/general.gd
+++ b/Scripts/general.gd
@@ -3,12 +3,7 @@ extends Node
var is_mouse_outside_HUD = false
var is_allowed_to_shoot = true
-
-# Called when the node enters the scene tree for the first time.
-func _ready():
- pass # Replace with function body.
-
-
-# Called every frame. 'delta' is the elapsed time since the previous frame.
-func _process(delta):
- pass
+#This holds the inventory data of the player inventory between maps
+var player_inventory_dict: Dictionary
+# Equipment
+var player_equipment_dict : Dictionary
diff --git a/Scripts/hud.gd b/Scripts/hud.gd
index b13951f7..04d96a60 100644
--- a/Scripts/hud.gd
+++ b/Scripts/hud.gd
@@ -9,27 +9,21 @@ extends CanvasLayer
@export var stamina_HUD: NodePath
-@export var ammo_HUD: NodePath
+@export var ammo_HUD_left: NodePath
+@export var ammo_HUD_right: NodePath
@export var healthy_color: Color
@export var damaged_color: Color
-@export var proximity_inventory: NodePath
-@export var proximity_inventory_control: NodePath
-
-@export var inventory_control : NodePath
-@export var inventory : NodePath
+# This window shows the inventory to the player
+@export var inventoryWindow : Control
@export var building_menu: NodePath
@export var crafting_menu : NodePath
+@export var overmap: Control
var is_building_menu_open = false
-@export var tooltip: NodePath
-var is_showing_tooltip = false
-@export var tooltip_item_name : NodePath
-@export var tooltip_item_description : NodePath
-
@export var progress_bar : NodePath
@export var progress_bar_filling : NodePath
@@ -39,6 +33,8 @@ var progress_bar_timer_max_time : float
var is_progress_bar_well_progressing_i_guess = false
signal construction_chosen
+signal item_was_equipped(equippedItem: InventoryItem, slotName: String)
+signal item_equipment_slot_was_cleared(slotName: String)
@@ -46,7 +42,16 @@ signal construction_chosen
func test():
print("TESTING 123 123!")
+
+func _process(_delta):
+ if is_progress_bar_well_progressing_i_guess:
+ update_progress_bar()
+
+func update_progress_bar():
+ var progressBarNode = get_node(progress_bar_filling)
+ var timerNode = get_node(progress_bar_timer)
+ progressBarNode.scale.x = lerp(1, 0, timerNode.time_left / progress_bar_timer_max_time)
func _input(event):
if event.is_action_pressed("build_menu"):
@@ -59,30 +64,18 @@ func _input(event):
get_node(building_menu).set_visible(true)
if event.is_action_pressed("toggle_inventory"):
- get_node(inventory_control).visible = !get_node(inventory_control).visible
- get_node(proximity_inventory_control).visible = !get_node(proximity_inventory_control).visible
-
+ inventoryWindow.visible = !inventoryWindow.visible
+
if event.is_action_pressed("crafting_menu"):
get_node(crafting_menu).visible = !get_node(crafting_menu).visible
-
+ if event.is_action_pressed("overmap"):
+ if overmap.visible:
+ overmap.hide()
+ else:
+ overmap.show()
-# Called when the node enters the scene tree for the first time.
-func _ready():
- #temporary hack
- ItemManager.create_item_protoset(item_protoset)
-
-# Called every frame. 'delta' is the elapsed time since the previous frame.
-func _process(delta):
- if is_showing_tooltip:
- get_node(tooltip).visible = true
- get_node(tooltip).global_position = get_node(tooltip).get_global_mouse_position() + Vector2(0, -5 - get_node(tooltip).size.y)
- else:
- get_node(tooltip).visible = false
-
-
-
if is_progress_bar_well_progressing_i_guess:
get_node(progress_bar_filling).scale.x = lerp(1, 0, get_node(progress_bar_timer).time_left / progress_bar_timer_max_time)
@@ -95,37 +88,10 @@ func _on_player_update_doll(head, right_arm, left_arm, torso, right_leg, left_le
get_node(right_leg_health).modulate = lerp(damaged_color, healthy_color, right_leg/100)
get_node(left_leg_health).modulate = lerp(damaged_color, healthy_color, left_leg/100)
-
-
func _on_player_update_stamina_hud(stamina):
get_node(stamina_HUD).text = str(round(stamina)) + "%"
-
-
-func _on_item_detector_add_to_proximity_inventory(items):
- var duplicated_items = items
-
- for item in duplicated_items:
- var duplicated_item = item.duplicate()
- #duplicated_item.get_parent().remove_child(item)
- get_node(proximity_inventory).add_child(duplicated_item)
-
- #get_node(proximity_inventory_control).refresh()
-
-
-func _on_item_detector_remove_from_proximity_inventory(items):
-# for prox_item in get_node(proximity_inventory).get_children():
-# print("test")
-# if prox_item in items:
-# prox_item.queue_free()
-
- for prox_item in get_node(proximity_inventory).get_children():
- for item in items:
- if item.get_property("assigned_id") == prox_item.get_property("assigned_id"):
- prox_item.queue_free()
-
-
func _on_concrete_button_down():
construction_chosen.emit("concrete_wall")
@@ -134,36 +100,25 @@ func _on_concrete_button_down():
# get_node(ammo_HUD).text = str(current_ammo) + "/" + str(max_ammo)
-func _on_inventory_item_mouse_entered(item):
- is_showing_tooltip = true
- get_node(tooltip_item_name).text = str(item.get_property("name", ""))
- get_node(tooltip_item_description).text = item.get_property("description", "")
-
-func _on_inventory_item_mouse_exited(item):
- is_showing_tooltip = false
func check_if_resources_are_available(item_id, amount_to_spend: int):
-
- var inventory_node = get_node(inventory)
+ var inventory_node: InventoryStacked = inventoryWindow.get_inventory()
print("checking if we have the item id in inv")
if inventory_node.get_item_by_id(item_id):
print("we have the item id")
- var item_total_amount : int
+ var item_total_amount : int = 0
var current_amount_to_spend = amount_to_spend
var items = inventory_node.get_items_by_id(item_id)
-
for item in items:
item_total_amount += inventory_node.get_item_stack_size(item)
-
if item_total_amount >= current_amount_to_spend:
return true
-
return false
func try_to_spend_item(item_id, amount_to_spend : int):
- var inventory_node = get_node(inventory)
+ var inventory_node = inventoryWindow.get_inventory()
if inventory_node.get_item_by_id(item_id):
- var item_total_amount : int
+ var item_total_amount : int = 0
var current_amount_to_spend = amount_to_spend
var items = inventory_node.get_items_by_id(item_id)
@@ -177,7 +132,7 @@ func try_to_spend_item(item_id, amount_to_spend : int):
return false
else:
return false
-
+
func merge_items_to_total_amount(items, inventory, total_amount : int):
var current_total_amount = total_amount
for item in items:
@@ -187,17 +142,16 @@ func merge_items_to_total_amount(items, inventory, total_amount : int):
elif inventory.get_item_stack_size(item) < item.get_property("max_stack_size"):
current_total_amount -= item.get_property("max_stack_size") - inventory.get_item_stack_size(item)
inventory.set_item_stack_size(item, item.get_property("max_stack_size"))
-
+
elif inventory.get_item_stack_size(item) == current_total_amount:
current_total_amount = 0
-
+
elif inventory.get_item_stack_size(item) > current_total_amount:
inventory.set_item_stack_size(item, current_total_amount)
current_total_amount = 0
-
+
if inventory.get_item_stack_size(item) == 0:
inventory.remove_item(item)
-
func _on_crafting_menu_start_craft(recipe):
@@ -208,10 +162,8 @@ func _on_crafting_menu_start_craft(recipe):
#adding a new item(s) to the inventory based on the recipe
var item
- item = get_node(inventory).create_and_add_item(recipe["crafts"])
- get_node(inventory).set_item_stack_size(item, recipe["craft_amount"])
-
-
+ item = inventoryWindow.get_inventory().create_and_add_item(recipe["crafts"])
+ inventoryWindow.get_inventory().set_item_stack_size(item, recipe["craft_amount"])
func start_progress_bar(time : float):
get_node(progress_bar).visible = true
@@ -230,6 +182,37 @@ func interrupt_progress_bar():
func _on_progress_bar_timer_timeout():
interrupt_progress_bar()
+func _on_shooting_ammo_changed(current_ammo: int, max_ammo: int, leftHand:bool):
+ var ammo_HUD: Label = get_node(ammo_HUD_left)
+ var prefix: String = "L: "
+ if !leftHand:
+ ammo_HUD = get_node(ammo_HUD_right)
+ prefix = "R: "
+ if current_ammo == -1 and max_ammo == -1: # Assuming -1 is the value when no weapon is equipped
+ ammo_HUD.hide()
+ else:
+ ammo_HUD.text = prefix + str(current_ammo) + "/" + str(max_ammo)
+ ammo_HUD.show()
+
+
+# Called when the users presses the travel button on the overmap
+# We save the player inventory to a autoload singleton so we can load it on the next map
+func _on_overmap_change_level_pressed():
+ General.player_inventory_dict = inventoryWindow.get_inventory().serialize()
+ General.player_equipment_dict = inventoryWindow.get_equipment_dict()
+
+# The parameter container the inventory that has entered proximity
+func _on_item_detector_add_to_proximity_inventory(container):
+ inventoryWindow._on_item_detector_add_to_proximity_inventory(container)
+
+# The parameter container the inventory that has left proximity
+func _on_item_detector_remove_from_proximity_inventory(container):
+ inventoryWindow._on_item_detector_remove_from_proximity_inventory(container)
+
+# When an item in the inventorywindow was equipped, we pass on the signal
+func _on_inventory_window_item_was_equipped(equippedItem, slotName):
+ item_was_equipped.emit(equippedItem, slotName)
-func _on_shooting_ammo_changed(current_ammo, max_ammo):
- get_node(ammo_HUD).text = str(current_ammo) + "/" + str(max_ammo)
+# slotName can be "LeftHand" or "RightHand"
+func _on_inventory_window_item_was_cleared(slotName: String):
+ item_equipment_slot_was_cleared.emit(slotName)
diff --git a/Scripts/item_craft_button.gd b/Scripts/item_craft_button.gd
index 2e2404cd..ce25dd48 100644
--- a/Scripts/item_craft_button.gd
+++ b/Scripts/item_craft_button.gd
@@ -5,6 +5,6 @@ var recipe
var crafting_menu
-func _on_toggled(button_pressed):
- if button_pressed:
+func _on_toggled(currently_pressed: bool):
+ if currently_pressed:
get_tree().call_group("CraftingMenu","item_craft_button_clicked", recipe)
diff --git a/Scripts/item_manager.gd b/Scripts/item_manager.gd
index 8ae0dccc..1750c372 100644
--- a/Scripts/item_manager.gd
+++ b/Scripts/item_manager.gd
@@ -36,14 +36,6 @@ var item_protoset : ItemProtoset
"damage": "25"
}
-# Called when the node enters the scene tree for the first time.
-func _ready():
- pass
-
-# Called every frame. 'delta' is the elapsed time since the previous frame.
-func _process(delta):
- pass
-
func assign_id():
item_id_to_assign += 1
return item_id_to_assign
diff --git a/Scripts/player.gd b/Scripts/player.gd
index c69687e1..0d9918bc 100644
--- a/Scripts/player.gd
+++ b/Scripts/player.gd
@@ -66,21 +66,34 @@ func _ready():
current_right_leg_health = right_leg_health
current_head_health = head_health
current_torso_health = torso_health
-
current_stamina = stamina
-
-
-func _process(delta):
+ Helper.save_helper.load_player_state(self)
+
+
+
+
+func _process(_delta):
+ # Get the 2D screen position of the player
+ var camera = get_tree().get_first_node_in_group("Camera")
+ var player_screen_pos = camera.unproject_position(global_position)
+
+ # Get the mouse position in 2D screen space
+ var mouse_pos_2d = get_viewport().get_mouse_position()
+
+ # Calculate the direction vector from the player to the mouse position
+ var dir = (mouse_pos_2d - player_screen_pos).normalized()
+
+ # Calculate the angle between the player and the mouse position
+ # Since the sprite is rotating in the opposite direction, change the sign of the angle
+ var angle = atan2(-dir.y, -dir.x) # This negates both components of the direction vector
+
+ sprite.rotation.y = -angle # Inverts the angle for rotation
+ $CollisionShape3D.rotation.y = -angle # Inverts the angle for rotation
+
+
# if is_progress_bar_well_progressing_i_guess:
# get_node(progress_bar_filling).scale.x = lerp(1, 0, get_node(progress_bar_timer).time_left / progress_bar_timer_max_time)
-
- # player facing the mouse position
- var mouse_position : Vector3 = get_tree().get_first_node_in_group("Camera").project_ray_origin(get_viewport().get_mouse_position())
- if mouse_position.x > global_position.x:
- sprite.flip_h = true
- else:
- sprite.flip_h = false
func _physics_process(delta):
@@ -133,9 +146,11 @@ func _input(event):
print("Interact button pressed")
if result:
print("Found object")
- if result.collider.get_owner().has_method("interact"):
- print("collider has method")
- result.collider.get_owner().interact()
+ var myOwner = result.collider.get_owner()
+ if myOwner:
+ if myOwner.has_method("interact"):
+ print("collider has method")
+ myOwner.interact()
func _get_hit(damage: float):
@@ -191,24 +206,26 @@ func check_if_alive():
current_head_health = 0
die()
-
-func check_if_visible(target_position: Vector3):
-
- var space_state = get_world_3d().direct_space_state
- # TO-DO Change playerCol to group of players
- var query = PhysicsRayQueryParameters3D.create(global_position, target_position, pow(2, 1-1) + pow(2, 3-1) + pow(2, 2-1),[self])
- var result = space_state.intersect_ray(query)
-
- if result:
- print("I see something!")
- return false
- else:
- print("I see nothing!")
- return true
+#
+#func check_if_visible(target_position: Vector3):
+ #
+ #var space_state = get_world_3d().direct_space_state
+ ## TO-DO Change playerCol to group of players
+ #var query = PhysicsRayQueryParameters3D.create(global_position, target_position, pow(2, 1-1) + pow(2, 3-1) + pow(2, 2-1),[self])
+ #var result = space_state.intersect_ray(query)
+ #
+ #if result:
+ #print("I see something!")
+ #return false
+ #else:
+ #print("I see nothing!")
+ #return true
func die():
- print("Player died")
- is_alive = false
+ if is_alive:
+ print("Player died")
+ is_alive = false
+ $"../../../HUD".get_node("GameOver").show()
func transfer_damage_to_torso(damage: float):
current_torso_health -= damage
diff --git a/Scripts/scene_selector.gd b/Scripts/scene_selector.gd
index 95fde38d..7015adef 100644
--- a/Scripts/scene_selector.gd
+++ b/Scripts/scene_selector.gd
@@ -1,44 +1,37 @@
extends Control
-var level_files : Array
-@export var option_levels : OptionButton
-
-
-# Called when the node enters the scene tree for the first time.
+var saved_game_folders : Array
+@export var load_game_list : OptionButton
func _ready():
- dir_contents("user://levels")
-
- for level_file in level_files:
- option_levels.add_item(level_file)
-
-
-func dir_contents(path):
- var dir = DirAccess.open(path)
- if dir:
- dir.list_dir_begin()
- var file_name = dir.get_next()
- while file_name != "":
- if dir.current_is_dir():
- print("Found directory: " + file_name)
- else:
- print("Found file: " + file_name)
- level_files.append(file_name)
- file_name = dir.get_next()
- else:
- print("An error occurred when trying to access the path.")
-
-
-# Called every frame. 'delta' is the elapsed time since the previous frame.
-func _process(delta):
- pass
-
-
-func _on_view_level_pressed():
- Helper.switch_level(level_files[option_levels.get_selected_id()])
-
-
+ saved_game_folders = Helper.json_helper.folder_names_in_dir("user://save/")
+ # Reverse the order of the saved_game_folders array
+ saved_game_folders.reverse()
+
+ # Populate the load_game_list with the saved game folders
+ for saved_game in saved_game_folders:
+ load_game_list.add_item(saved_game)
+
+func _on_load_game_button_pressed():
+ var selected_game_folder = saved_game_folders[load_game_list.get_selected_id()]
+ Helper.save_helper.load_game_from_folder(selected_game_folder)
+ Helper.save_helper.load_overmap_state()
+ Helper.save_helper.load_player_inventory()
+ Helper.save_helper.load_player_equipment()
+ # We pass the name of the default map and coordinates
+ # If there is a saved game, it will not load the provided map
+ # but rather the one that was saved in the game that was loaded
+ Helper.switch_level("DefaultTacticalMap.json", Vector2(0, 0))
+
+# When the play demo button is pressed
+# Create a new folder in the user directory
+# The name of the folder should be the current date and time so it's unique
+# This unique folder will contain save data for this game and can be loaded later
func _on_play_demo_pressed():
- Helper.switch_level("")
+ Helper.save_helper.create_new_save()
+ Helper.switch_level("DefaultTacticalMap.json", Vector2(0, 0))
func _on_help_button_pressed():
get_tree().change_scene_to_file("res://documentation.tscn")
+
+func _on_content_manager_button_button_up():
+ get_tree().change_scene_to_file("res://Scenes/ContentManager/contentmanager.tscn")
diff --git a/Textures/Tiles/Actual textures/5.png b/Textures/Tiles/Actual textures/5.png
deleted file mode 100644
index 26791a77..00000000
Binary files a/Textures/Tiles/Actual textures/5.png and /dev/null differ
diff --git a/Textures/Tiles/Actual textures/5.png.import b/Textures/Tiles/Actual textures/5.png.import
deleted file mode 100644
index b4db05a4..00000000
--- a/Textures/Tiles/Actual textures/5.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://djm4muwbpkhon"
-path="res://.godot/imported/5.png-b05b0952cdf23746c187f7dacb5e45ba.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://Textures/Tiles/Actual textures/5.png"
-dest_files=["res://.godot/imported/5.png-b05b0952cdf23746c187f7dacb5e45ba.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-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=1
diff --git a/Textures/Tiles/Actual textures/6.png b/Textures/Tiles/Actual textures/6.png
deleted file mode 100644
index 4f25ced3..00000000
Binary files a/Textures/Tiles/Actual textures/6.png and /dev/null differ
diff --git a/Textures/Tiles/Actual textures/6.png.import b/Textures/Tiles/Actual textures/6.png.import
deleted file mode 100644
index 57e0870c..00000000
--- a/Textures/Tiles/Actual textures/6.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://dxwsqlxunc3i5"
-path="res://.godot/imported/6.png-e1e02d582d46dbda827c756129490f1a.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://Textures/Tiles/Actual textures/6.png"
-dest_files=["res://.godot/imported/6.png-e1e02d582d46dbda827c756129490f1a.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-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=1
diff --git a/Textures/Tiles/Actual textures/7.png b/Textures/Tiles/Actual textures/7.png
deleted file mode 100644
index 115b7794..00000000
Binary files a/Textures/Tiles/Actual textures/7.png and /dev/null differ
diff --git a/Textures/Tiles/Actual textures/7.png.import b/Textures/Tiles/Actual textures/7.png.import
deleted file mode 100644
index 6febc82e..00000000
--- a/Textures/Tiles/Actual textures/7.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://b8t3vfrl6fh1c"
-path="res://.godot/imported/7.png-4d01b8eff1f08c14becbcff4c9284871.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://Textures/Tiles/Actual textures/7.png"
-dest_files=["res://.godot/imported/7.png-4d01b8eff1f08c14becbcff4c9284871.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-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=1
diff --git a/Textures/Tiles/Actual textures/sprite_sheet.png b/Textures/Tiles/Actual textures/sprite_sheet.png
deleted file mode 100644
index 3cc98337..00000000
Binary files a/Textures/Tiles/Actual textures/sprite_sheet.png and /dev/null differ
diff --git a/Textures/Tiles/Actual textures/sprite_sheet.png.import b/Textures/Tiles/Actual textures/sprite_sheet.png.import
deleted file mode 100644
index 004ef296..00000000
--- a/Textures/Tiles/Actual textures/sprite_sheet.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://b7cce3duxh4do"
-path="res://.godot/imported/sprite_sheet.png-fb5f43d1080f194d6aa61666047f1a19.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://Textures/Tiles/Actual textures/sprite_sheet.png"
-dest_files=["res://.godot/imported/sprite_sheet.png-fb5f43d1080f194d6aa61666047f1a19.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-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=1
diff --git a/Textures/Tiles/GRASS+.png b/Textures/Tiles/GRASS+.png
deleted file mode 100644
index 2b6fb6a3..00000000
Binary files a/Textures/Tiles/GRASS+.png and /dev/null differ
diff --git a/Textures/Tiles/GRASS+.png.import b/Textures/Tiles/GRASS+.png.import
deleted file mode 100644
index daea16a3..00000000
--- a/Textures/Tiles/GRASS+.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://beqlsvo0hmpwu"
-path="res://.godot/imported/GRASS+.png-3c1fa86a185c9f16eaa40b60fe4b3d2d.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://Textures/Tiles/GRASS+.png"
-dest_files=["res://.godot/imported/GRASS+.png-3c1fa86a185c9f16eaa40b60fe4b3d2d.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-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=1
diff --git a/Textures/Tiles/doors.png b/Textures/Tiles/doors.png
deleted file mode 100644
index 8122682e..00000000
Binary files a/Textures/Tiles/doors.png and /dev/null differ
diff --git a/Textures/Tiles/grass4.png b/Textures/Tiles/grass4.png
deleted file mode 100644
index 68ac9b57..00000000
Binary files a/Textures/Tiles/grass4.png and /dev/null differ
diff --git a/Textures/Tiles/grass4.png.import b/Textures/Tiles/grass4.png.import
deleted file mode 100644
index a1ddc57b..00000000
--- a/Textures/Tiles/grass4.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://bwrhjixkpl3t1"
-path="res://.godot/imported/grass4.png-c3b3c17ebaabdb86dc5411e766bd9bc1.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://Textures/Tiles/grass4.png"
-dest_files=["res://.godot/imported/grass4.png-c3b3c17ebaabdb86dc5411e766bd9bc1.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-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=1
diff --git a/Textures/Tiles/grassV2.png b/Textures/Tiles/grassV2.png
deleted file mode 100644
index 917dc846..00000000
Binary files a/Textures/Tiles/grassV2.png and /dev/null differ
diff --git a/Textures/Tiles/grassV2.png.import b/Textures/Tiles/grassV2.png.import
deleted file mode 100644
index 041fd940..00000000
--- a/Textures/Tiles/grassV2.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://bdil6p380mtif"
-path="res://.godot/imported/grassV2.png-b6d97d3882bd033e41bba1f16bffd605.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://Textures/Tiles/grassV2.png"
-dest_files=["res://.godot/imported/grassV2.png-b6d97d3882bd033e41bba1f16bffd605.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-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=1
diff --git a/Textures/Tiles/grassv3.png b/Textures/Tiles/grassv3.png
deleted file mode 100644
index 3eb5e587..00000000
Binary files a/Textures/Tiles/grassv3.png and /dev/null differ
diff --git a/Textures/Tiles/grassv3.png.import b/Textures/Tiles/grassv3.png.import
deleted file mode 100644
index 3108a6d2..00000000
--- a/Textures/Tiles/grassv3.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://wm6nfo4h77k5"
-path="res://.godot/imported/grassv3.png-fd8b4dbf0696016c8cf51491f666580a.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://Textures/Tiles/grassv3.png"
-dest_files=["res://.godot/imported/grassv3.png-fd8b4dbf0696016c8cf51491f666580a.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-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=1
diff --git a/Textures/Tiles/grassv5.png b/Textures/Tiles/grassv5.png
deleted file mode 100644
index fefe4627..00000000
Binary files a/Textures/Tiles/grassv5.png and /dev/null differ
diff --git a/Textures/Tiles/grassv5.png.import b/Textures/Tiles/grassv5.png.import
deleted file mode 100644
index 8c198908..00000000
--- a/Textures/Tiles/grassv5.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://1xji6t8nmjv4"
-path="res://.godot/imported/grassv5.png-4f12d161bcef6ce4512119255874fdaf.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://Textures/Tiles/grassv5.png"
-dest_files=["res://.godot/imported/grassv5.png-4f12d161bcef6ce4512119255874fdaf.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-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=1
diff --git a/Textures/steel_scrap.png b/Textures/steel_scrap.png
index cef55666..4fde92c0 100644
Binary files a/Textures/steel_scrap.png and b/Textures/steel_scrap.png differ
diff --git a/addons/gloot/core/constraints/constraint_manager.gd b/addons/gloot/core/constraints/constraint_manager.gd
index 66b6d5f8..05dcc27a 100644
--- a/addons/gloot/core/constraints/constraint_manager.gd
+++ b/addons/gloot/core/constraints/constraint_manager.gd
@@ -1,3 +1,5 @@
+extends RefCounted
+
const KEY_WEIGHT_CONSTRAINT = "weight_constraint"
const KEY_STACKS_CONSTRAINT = "stacks_constraint"
const KEY_GRID_CONSTRAINT = "grid_constraint"
@@ -139,16 +141,40 @@ func _sg_get_space_for(item: InventoryItem) -> ItemCount:
func has_space_for(item: InventoryItem) -> bool:
- return not get_space_for(item).less(ItemCount.new(1))
+ match get_configuration():
+ Configuration.W:
+ return _weight_constraint.has_space_for(item)
+ Configuration.S:
+ return _stacks_constraint.has_space_for(item)
+ Configuration.G:
+ return _grid_constraint.has_space_for(item)
+ Configuration.WS:
+ return _weight_constraint.has_space_for(item)
+ Configuration.WG:
+ return _weight_constraint.has_space_for(item) && _grid_constraint.has_space_for(item)
+ Configuration.SG:
+ return _sg_has_space_for(item)
+ Configuration.WSG:
+ return _sg_has_space_for(item) && _weight_constraint.has_space_for(item)
+
+ return true
+
+
+func _sg_has_space_for(item: InventoryItem) -> bool:
+ if _grid_constraint.has_space_for(item):
+ return true
+ var stack_size := ItemCount.new(_stacks_constraint.get_item_stack_size(item))
+ var free_stacks_space := _stacks_constraint.get_free_stack_space_for(item)
+ return free_stacks_space.ge(stack_size)
-func enable_weight_constraint_(capacity: float = 0.0) -> void:
+func enable_weight_constraint(capacity: float = 0.0) -> void:
assert(_weight_constraint == null, "Weight constraint is already enabled")
_weight_constraint = WeightConstraint.new(inventory)
_weight_constraint.capacity = capacity
-func enable_stacks_constraint_() -> void:
+func enable_stacks_constraint() -> void:
assert(_stacks_constraint == null, "Stacks constraint is already enabled")
_stacks_constraint = StacksConstraint.new(inventory)
diff --git a/addons/gloot/core/constraints/grid_constraint.gd b/addons/gloot/core/constraints/grid_constraint.gd
index daa3fe72..fecb3ac0 100644
--- a/addons/gloot/core/constraints/grid_constraint.gd
+++ b/addons/gloot/core/constraints/grid_constraint.gd
@@ -45,9 +45,20 @@ func _fill_item_map() -> void:
func _on_inventory_set() -> void:
_refresh_item_map()
- inventory.item_added.connect(func(item: InventoryItem): _item_map.fill_rect(get_item_rect(item), item))
- inventory.item_removed.connect(func(item: InventoryItem): _item_map.clear_rect(get_item_rect(item)))
- inventory.item_modified.connect(func(_item: InventoryItem): _refresh_item_map())
+
+
+func _on_item_added(item: InventoryItem) -> void:
+ if item == null:
+ return
+ _item_map.fill_rect(get_item_rect(item), item)
+
+
+func _on_item_removed(item: InventoryItem) -> void:
+ _item_map.clear_rect(get_item_rect(item))
+
+
+func _on_item_modified(item: InventoryItem) -> void:
+ _refresh_item_map()
func _bounds_broken() -> bool:
@@ -116,7 +127,7 @@ func _get_prototype_size(prototype_id: String) -> Vector2i:
assert(inventory != null, "Inventory not set!")
assert(inventory.item_protoset != null, "Inventory protoset is null!")
var width: int = inventory.item_protoset.get_item_property(prototype_id, KEY_WIDTH, 1)
- var height: int = inventory.item_protoset.get_item_property(prototype_id, KEY_WIDTH, 1)
+ var height: int = inventory.item_protoset.get_item_property(prototype_id, KEY_HEIGHT, 1)
return Vector2i(width, height)
@@ -304,7 +315,7 @@ func sort() -> bool:
var item_array: Array[InventoryItem]
for item in inventory.get_items():
item_array.append(item)
- item_array.sort_custom(Callable(self, "_compare_items"))
+ item_array.sort_custom(_compare_items)
for item in item_array:
_move_item_to_unsafe(item, -get_item_size(item))
@@ -326,6 +337,9 @@ func _sort_if_needed() -> void:
func get_space_for(item: InventoryItem) -> ItemCount:
var occupied_rects: Array[Rect2i]
var item_size = get_item_size(item)
+ if item_size == Vector2i.ONE:
+ return ItemCount.new(_item_map.free_fields)
+
var free_space := find_free_space(item_size, occupied_rects)
while free_space.success:
occupied_rects.append(Rect2i(free_space.position, item_size))
@@ -333,6 +347,14 @@ func get_space_for(item: InventoryItem) -> ItemCount:
return ItemCount.new(occupied_rects.size())
+func has_space_for(item: InventoryItem) -> bool:
+ var item_size = get_item_size(item)
+ if item_size == Vector2i.ONE:
+ return _item_map.free_fields > 0
+
+ return find_free_space(item_size).success
+
+
# TODO: Check if find_free_place is needed
func find_free_space(item_size: Vector2i, occupied_rects: Array[Rect2i] = []) -> Dictionary:
var result := {success = false, position = Vector2i(-1, -1)}
diff --git a/addons/gloot/core/constraints/inventory_constraint.gd b/addons/gloot/core/constraints/inventory_constraint.gd
index cfaff6ac..54e4cf85 100644
--- a/addons/gloot/core/constraints/inventory_constraint.gd
+++ b/addons/gloot/core/constraints/inventory_constraint.gd
@@ -1,3 +1,5 @@
+extends Object
+
var inventory: Inventory = null :
get:
return inventory
@@ -17,6 +19,11 @@ func get_space_for(item: InventoryItem) -> ItemCount:
return ItemCount.zero()
+# Override this
+func has_space_for(item:InventoryItem) -> bool:
+ return false
+
+
# Override this
func reset() -> void:
pass
diff --git a/addons/gloot/core/constraints/item_map.gd b/addons/gloot/core/constraints/item_map.gd
index 73493222..27ed977b 100644
--- a/addons/gloot/core/constraints/item_map.gd
+++ b/addons/gloot/core/constraints/item_map.gd
@@ -1,4 +1,10 @@
var map: Array
+var _free_fields: int
+var free_fields :
+ get:
+ return _free_fields
+ set(new_free_fields):
+ assert(false, "free_fields is read-only!")
func _init(size: Vector2i) -> void:
@@ -11,6 +17,7 @@ func resize(size: Vector2i) -> void:
for i in map.size():
map[i] = []
map[i].resize(size.y)
+ _free_fields = size.x * size.y
func fill_rect(rect: Rect2i, value) -> void:
@@ -20,6 +27,7 @@ func fill_rect(rect: Rect2i, value) -> void:
if !contains(map_coords):
continue
map[map_coords.x][map_coords.y] = value
+ _free_fields -= 1
func clear_rect(rect: Rect2i) -> void:
@@ -44,6 +52,8 @@ func print() -> void:
func clear() -> void:
for column in map:
column.fill(null)
+ var size = get_size()
+ _free_fields = size.x * size.y
func contains(position: Vector2i) -> bool:
diff --git a/addons/gloot/core/constraints/stacks_constraint.gd b/addons/gloot/core/constraints/stacks_constraint.gd
index ee1307d7..31568b3b 100644
--- a/addons/gloot/core/constraints/stacks_constraint.gd
+++ b/addons/gloot/core/constraints/stacks_constraint.gd
@@ -35,13 +35,24 @@ static func get_item_max_stack_size(item: InventoryItem) -> int:
return item.get_property(KEY_MAX_STACK_SIZE, DEFAULT_MAX_STACK_SIZE)
-static func set_item_stack_size(item: InventoryItem, stack_size: int) -> void:
+static func set_item_stack_size(item: InventoryItem, stack_size: int) -> bool:
assert(item != null, "item is null!")
+ assert(stack_size >= 0, "stack_size can't be negative!")
+ if stack_size > get_item_max_stack_size(item):
+ return false
+ if stack_size == 0:
+ var inventory: Inventory = item.get_inventory()
+ if inventory != null:
+ inventory.remove_item(item)
+ item.queue_free()
+ return true
item.set_property(KEY_STACK_SIZE, stack_size)
+ return true
static func set_item_max_stack_size(item: InventoryItem, max_stack_size: int) -> void:
assert(item != null, "item is null!")
+ assert(max_stack_size > 0, "max_stack_size can't be less than 1!")
item.set_property(KEY_MAX_STACK_SIZE, max_stack_size)
@@ -115,22 +126,13 @@ func add_item_automerge(
var target_items = get_mergable_items(item)
for target_item in target_items:
- if _merge_stacks_autodelete(target_item, item) == MergeResult.SUCCESS:
+ if _merge_stacks(target_item, item) == MergeResult.SUCCESS:
return true
assert(inventory.add_item(item))
return true
-static func _merge_stacks_autodelete(item_dst: InventoryItem, item_src: InventoryItem) -> int:
- var result := _merge_stacks(item_dst, item_src)
- if result == MergeResult.SUCCESS:
- if item_src.get_inventory():
- item_src.get_inventory().remove_item(item_src)
- item_src.queue_free()
- return result
-
-
static func _merge_stacks(item_dst: InventoryItem, item_src: InventoryItem) -> int:
assert(item_dst != null, "item_dst is null!")
assert(item_src != null, "item_src is null!")
@@ -144,8 +146,8 @@ static func _merge_stacks(item_dst: InventoryItem, item_src: InventoryItem) -> i
if free_dst_stack_space <= 0:
return MergeResult.FAIL
- set_item_stack_size(item_src, max(src_size - free_dst_stack_space, 0))
- set_item_stack_size(item_dst, min(dst_size + src_size, dst_max_size))
+ assert(set_item_stack_size(item_src, max(src_size - free_dst_stack_space, 0)))
+ assert(set_item_stack_size(item_dst, min(dst_size + src_size, dst_max_size)))
if free_dst_stack_space >= src_size:
return MergeResult.SUCCESS
@@ -168,8 +170,8 @@ static func split_stack(item: InventoryItem, new_stack_size: int) -> InventoryIt
if new_item.get_parent():
new_item.get_parent().remove_child(new_item)
- set_item_stack_size(new_item, new_stack_size)
- set_item_stack_size(item, stack_size - new_stack_size)
+ assert(set_item_stack_size(new_item, new_stack_size))
+ assert(set_item_stack_size(item, stack_size - new_stack_size))
return new_item
@@ -192,7 +194,7 @@ func join_stacks(
return false
# TODO: Check if this can be an assertion
- _merge_stacks_autodelete(item_dst, item_src)
+ _merge_stacks(item_dst, item_src)
return true
@@ -218,6 +220,10 @@ func get_space_for(item: InventoryItem) -> ItemCount:
return ItemCount.inf()
+func has_space_for(item: InventoryItem) -> bool:
+ return true
+
+
func get_free_stack_space_for(item: InventoryItem) -> ItemCount:
assert(inventory != null, "Inventory not set!")
@@ -239,7 +245,7 @@ func pack_item(item: InventoryItem) -> void:
var mergable_items = get_mergable_items(item)
for mergable_item in mergable_items:
- var merge_result := _merge_stacks_autodelete(mergable_item, item)
+ var merge_result := _merge_stacks(mergable_item, item)
if merge_result == MergeResult.SUCCESS:
return
@@ -268,7 +274,7 @@ func transfer_autosplit(item: InventoryItem, destination: Inventory) -> Inventor
func _get_space_for_single_item(inventory: Inventory, item: InventoryItem) -> ItemCount:
var single_item := item.duplicate()
- set_item_stack_size(single_item, 1)
+ assert(set_item_stack_size(single_item, 1))
var count := inventory._constraint_manager.get_space_for(single_item)
single_item.free()
return count
diff --git a/addons/gloot/core/constraints/weight_constraint.gd b/addons/gloot/core/constraints/weight_constraint.gd
index 6dd701b7..9ca9b58e 100644
--- a/addons/gloot/core/constraints/weight_constraint.gd
+++ b/addons/gloot/core/constraints/weight_constraint.gd
@@ -102,6 +102,13 @@ func get_space_for(item: InventoryItem) -> ItemCount:
return ItemCount.new(floor(get_free_space() / unit_weight))
+func has_space_for(item: InventoryItem) -> bool:
+ if has_unlimited_capacity():
+ return true
+ var item_weight := get_item_weight(item)
+ return get_free_space() >= item_weight
+
+
func reset() -> void:
capacity = 0.0
diff --git a/addons/gloot/core/inventory.gd b/addons/gloot/core/inventory.gd
index e1628044..6c926c43 100644
--- a/addons/gloot/core/inventory.gd
+++ b/addons/gloot/core/inventory.gd
@@ -1,4 +1,5 @@
@tool
+@icon("res://addons/gloot/images/icon_inventory.svg")
extends Node
class_name Inventory
@@ -16,6 +17,7 @@ const ConstraintManager = preload("res://addons/gloot/core/constraints/constrain
set(new_item_protoset):
if new_item_protoset == item_protoset:
return
+ # TODO: Maybe the inventory should be cleared here?
if not _items.is_empty():
return
item_protoset = new_item_protoset
@@ -53,7 +55,7 @@ func _enter_tree():
func _exit_tree():
- _items.clear()
+ _items.clear()
func _init() -> void:
@@ -69,7 +71,8 @@ func _on_item_added(item: InventoryItem) -> void:
_items.append(item)
contents_changed.emit()
_connect_item_signals(item)
- _constraint_manager._on_item_added(item)
+ if _constraint_manager:
+ _constraint_manager._on_item_added(item)
item_added.emit(item)
@@ -77,7 +80,8 @@ func _on_item_removed(item: InventoryItem) -> void:
_items.erase(item)
contents_changed.emit()
_disconnect_item_signals(item)
- _constraint_manager._on_item_removed(item)
+ if _constraint_manager:
+ _constraint_manager._on_item_removed(item)
item_removed.emit(item)
@@ -105,21 +109,21 @@ func get_item_count() -> int:
func _connect_item_signals(item: InventoryItem) -> void:
- if !item.protoset_changed.is_connected(Callable(self, "_emit_item_modified")):
- item.protoset_changed.connect(Callable(self, "_emit_item_modified").bind(item))
- if !item.prototype_id_changed.is_connected(Callable(self, "_emit_item_modified")):
- item.prototype_id_changed.connect(Callable(self, "_emit_item_modified").bind(item))
- if !item.properties_changed.is_connected(Callable(self, "_emit_item_modified")):
- item.properties_changed.connect(Callable(self, "_emit_item_modified").bind(item))
+ if !item.protoset_changed.is_connected(_emit_item_modified):
+ item.protoset_changed.connect(_emit_item_modified.bind(item))
+ if !item.prototype_id_changed.is_connected(_emit_item_modified):
+ item.prototype_id_changed.connect(_emit_item_modified.bind(item))
+ if !item.properties_changed.is_connected(_emit_item_modified):
+ item.properties_changed.connect(_emit_item_modified.bind(item))
func _disconnect_item_signals(item:InventoryItem) -> void:
- if item.protoset_changed.is_connected(Callable(self, "_emit_item_modified")):
- item.protoset_changed.disconnect(Callable(self, "_emit_item_modified"))
- if item.prototype_id_changed.is_connected(Callable(self, "_emit_item_modified")):
- item.prototype_id_changed.disconnect(Callable(self, "_emit_item_modified"))
- if item.properties_changed.is_connected(Callable(self, "_emit_item_modified")):
- item.properties_changed.disconnect(Callable(self, "_emit_item_modified"))
+ if item.protoset_changed.is_connected(_emit_item_modified):
+ item.protoset_changed.disconnect(_emit_item_modified)
+ if item.prototype_id_changed.is_connected(_emit_item_modified):
+ item.prototype_id_changed.disconnect(_emit_item_modified)
+ if item.properties_changed.is_connected(_emit_item_modified):
+ item.properties_changed.disconnect(_emit_item_modified)
func _emit_item_modified(item: InventoryItem) -> void:
diff --git a/addons/gloot/core/inventory_grid.gd b/addons/gloot/core/inventory_grid.gd
index a28e94a3..8581cd5f 100644
--- a/addons/gloot/core/inventory_grid.gd
+++ b/addons/gloot/core/inventory_grid.gd
@@ -1,4 +1,5 @@
@tool
+@icon("res://addons/gloot/images/icon_inventory_grid.svg")
extends Inventory
class_name InventoryGrid
@@ -8,6 +9,10 @@ const DEFAULT_SIZE: Vector2i = Vector2i(10, 10)
@export var size: Vector2i = DEFAULT_SIZE :
get:
+ if _constraint_manager == null:
+ return DEFAULT_SIZE
+ if _constraint_manager.get_grid_constraint() == null:
+ return DEFAULT_SIZE
return _constraint_manager.get_grid_constraint().size
set(new_size):
_constraint_manager.get_grid_constraint().size = new_size
@@ -16,11 +21,7 @@ const DEFAULT_SIZE: Vector2i = Vector2i(10, 10)
func _init() -> void:
super._init()
_constraint_manager.enable_grid_constraint()
- _constraint_manager.get_grid_constraint().size_changed.connect(Callable(self, "_on_size_changed"))
-
-
-func _on_size_changed() -> void:
- size_changed.emit()
+ _constraint_manager.get_grid_constraint().size_changed.connect(func(): size_changed.emit())
func get_item_position(item: InventoryItem) -> Vector2i:
diff --git a/addons/gloot/core/inventory_grid_stacked.gd b/addons/gloot/core/inventory_grid_stacked.gd
index 640e4a13..d5091597 100644
--- a/addons/gloot/core/inventory_grid_stacked.gd
+++ b/addons/gloot/core/inventory_grid_stacked.gd
@@ -1,4 +1,5 @@
@tool
+@icon("res://addons/gloot/images/icon_inventory_grid_stacked.svg")
extends InventoryGrid
class_name InventoryGridStacked
@@ -6,62 +7,62 @@ const StacksConstraint = preload("res://addons/gloot/core/constraints/stacks_con
func _init() -> void:
- super._init()
- _constraint_manager.enable_stacks_constraint_()
+ super._init()
+ _constraint_manager.enable_stacks_constraint()
func has_place_for(item: InventoryItem) -> bool:
- return _constraint_manager.has_space_for(item)
+ return _constraint_manager.has_space_for(item)
func add_item_automerge(item: InventoryItem) -> bool:
- return _constraint_manager.get_stacks_constraint().add_item_automerge(item)
-
-
+ return _constraint_manager.get_stacks_constraint().add_item_automerge(item)
+
+
func split(item: InventoryItem, new_stack_size: int) -> InventoryItem:
- return _constraint_manager.get_stacks_constraint().split_stack_safe(item, new_stack_size)
+ return _constraint_manager.get_stacks_constraint().split_stack_safe(item, new_stack_size)
func join(item_dst: InventoryItem, item_src: InventoryItem) -> bool:
- return _constraint_manager.get_stacks_constraint().join_stacks(item_dst, item_src)
+ return _constraint_manager.get_stacks_constraint().join_stacks(item_dst, item_src)
static func get_item_stack_size(item: InventoryItem) -> int:
- return StacksConstraint.get_item_stack_size(item)
+ return StacksConstraint.get_item_stack_size(item)
-static func set_item_stack_size(item: InventoryItem, new_stack_size: int) -> void:
- StacksConstraint.set_item_stack_size(item, new_stack_size)
+static func set_item_stack_size(item: InventoryItem, new_stack_size: int) -> bool:
+ return StacksConstraint.set_item_stack_size(item, new_stack_size)
static func get_item_max_stack_size(item: InventoryItem) -> int:
- return StacksConstraint.get_item_max_stack_size(item)
+ return StacksConstraint.get_item_max_stack_size(item)
static func set_item_max_stack_size(item: InventoryItem, new_stack_size: int) -> void:
- StacksConstraint.set_item_max_stack_size(item, new_stack_size)
+ StacksConstraint.set_item_max_stack_size(item, new_stack_size)
func get_prototype_stack_size(prototype_id: String) -> int:
- return _constraint_manager.get_stacks_constraint().get_prototype_stack_size(item_protoset, prototype_id)
+ return _constraint_manager.get_stacks_constraint().get_prototype_stack_size(item_protoset, prototype_id)
func get_prototype_max_stack_size(prototype_id: String) -> int:
- return _constraint_manager.get_stacks_constraint().get_prototype_max_stack_size(item_protoset, prototype_id)
+ return _constraint_manager.get_stacks_constraint().get_prototype_max_stack_size(item_protoset, prototype_id)
func transfer_automerge(item: InventoryItem, destination: Inventory) -> bool:
- return _constraint_manager.get_stacks_constraint().transfer_automerge(item, destination)
+ return _constraint_manager.get_stacks_constraint().transfer_automerge(item, destination)
func transfer_autosplitmerge(item: InventoryItem, destination: Inventory) -> bool:
- return _constraint_manager.get_stacks_constraint().transfer_autosplitmerge(item, destination)
+ return _constraint_manager.get_stacks_constraint().transfer_autosplitmerge(item, destination)
func transfer_to(item: InventoryItem, destination: Inventory, position: Vector2i) -> bool:
- return _constraint_manager.get_grid_constraint().transfer_to(item, destination._constraint_manager.get_grid_constraint(), position)
+ return _constraint_manager.get_grid_constraint().transfer_to(item, destination._constraint_manager.get_grid_constraint(), position)
func _get_mergable_item_at(item: InventoryItem, position: Vector2i) -> InventoryItem:
- return _constraint_manager.get_grid_constraint()._get_mergable_item_at(item, position)
+ return _constraint_manager.get_grid_constraint()._get_mergable_item_at(item, position)
diff --git a/addons/gloot/core/inventory_grid_transfer.tscn b/addons/gloot/core/inventory_grid_transfer.tscn
deleted file mode 100644
index 37da785e..00000000
--- a/addons/gloot/core/inventory_grid_transfer.tscn
+++ /dev/null
@@ -1,141 +0,0 @@
-[gd_scene load_steps=9 format=3 uid="uid://jopigw4xplp4"]
-
-[ext_resource type="Resource" uid="uid://ddrmqwl3guset" path="res://tests/data/item_definitions_grid.tres" id="1"]
-[ext_resource type="Script" path="res://addons/gloot/core/inventory_grid.gd" id="2"]
-[ext_resource type="Script" path="res://addons/gloot/ui/ctrl_inventory_grid.gd" id="3"]
-[ext_resource type="Script" path="res://examples/inventory_grid_transfer.gd" id="4"]
-[ext_resource type="Texture2D" uid="uid://b2hkcwwq10cut" path="res://icon.png" id="5"]
-[ext_resource type="Script" path="res://addons/gloot/ui/ctrl_item_slot.gd" id="6"]
-[ext_resource type="Script" path="res://addons/gloot/core/item_slot.gd" id="7"]
-[ext_resource type="Script" path="res://addons/gloot/core/inventory_item.gd" id="8"]
-
-[node name="InventoryGridTransfer" type="Control"]
-layout_mode = 3
-anchors_preset = 15
-anchor_right = 1.0
-anchor_bottom = 1.0
-grow_horizontal = 2
-grow_vertical = 2
-script = ExtResource("4")
-
-[node name="VBoxContainer" type="VBoxContainer" parent="."]
-layout_mode = 0
-offset_right = 40.0
-offset_bottom = 40.0
-
-[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"]
-layout_mode = 2
-size_flags_horizontal = 0
-size_flags_vertical = 0
-
-[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer"]
-layout_mode = 2
-
-[node name="PanelContainer" type="PanelContainer" parent="VBoxContainer/HBoxContainer/VBoxContainer"]
-layout_mode = 2
-
-[node name="CtrlInventoryGridLeft" type="Container" parent="VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer"]
-texture_filter = 1
-custom_minimum_size = Vector2(160, 160)
-layout_mode = 2
-script = ExtResource("3")
-inventory_path = NodePath("../../../../../InventoryGridLeft")
-default_item_texture = ExtResource("5")
-
-[node name="BtnSortLeft" type="Button" parent="VBoxContainer/HBoxContainer/VBoxContainer"]
-layout_mode = 2
-size_flags_horizontal = 3
-text = "Sort"
-
-[node name="VBoxContainer2" type="VBoxContainer" parent="VBoxContainer/HBoxContainer"]
-layout_mode = 2
-
-[node name="PanelContainer2" type="PanelContainer" parent="VBoxContainer/HBoxContainer/VBoxContainer2"]
-layout_mode = 2
-
-[node name="CtrlInventoryGridRight" type="Container" parent="VBoxContainer/HBoxContainer/VBoxContainer2/PanelContainer2"]
-texture_filter = 1
-custom_minimum_size = Vector2(160, 160)
-layout_mode = 2
-script = ExtResource("3")
-inventory_path = NodePath("../../../../../InventoryGridRight")
-default_item_texture = ExtResource("5")
-
-[node name="BtnSortRight" type="Button" parent="VBoxContainer/HBoxContainer/VBoxContainer2"]
-layout_mode = 2
-size_flags_horizontal = 3
-text = "Sort"
-
-[node name="VBoxContainer3" type="VBoxContainer" parent="VBoxContainer/HBoxContainer"]
-layout_mode = 2
-
-[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer/VBoxContainer3"]
-layout_mode = 2
-text = "Item Slot:"
-
-[node name="PanelContainer" type="PanelContainer" parent="VBoxContainer/HBoxContainer/VBoxContainer3"]
-layout_mode = 2
-
-[node name="CtrlItemSlot" type="HBoxContainer" parent="VBoxContainer/HBoxContainer/VBoxContainer3/PanelContainer"]
-custom_minimum_size = Vector2(32, 32)
-layout_mode = 2
-script = ExtResource("6")
-item_slot_path = NodePath("../../../../../ItemSlot")
-label_visible = false
-
-[node name="BtnUnequip" type="Button" parent="VBoxContainer/HBoxContainer/VBoxContainer3"]
-layout_mode = 2
-text = "Unequip"
-
-[node name="Label" type="Label" parent="VBoxContainer"]
-layout_mode = 2
-text = "Drag and drop items to transfer them from one inventory to the other.
-Press the 'Sort' buttons to sort the inventories.
-Drag items from the right inventory onto the item slot to equip it.
-Use the 'Unequip' button to unequip it."
-
-[node name="InventoryGridLeft" type="Node" parent="."]
-script = ExtResource("2")
-size = Vector2i(5, 5)
-item_protoset = ExtResource("1")
-
-[node name="L_item_2x2" type="Node" parent="InventoryGridLeft"]
-script = ExtResource("8")
-protoset = ExtResource("1")
-prototype_id = "item_2x2"
-
-[node name="L_item_2x2_2" type="Node" parent="InventoryGridLeft"]
-script = ExtResource("8")
-protoset = ExtResource("1")
-prototype_id = "item_2x2"
-properties = {
-"grid_position": Vector2i(0, 2)
-}
-
-[node name="InventoryGridRight" type="Node" parent="."]
-script = ExtResource("2")
-size = Vector2i(5, 5)
-item_protoset = ExtResource("1")
-
-[node name="R_item_2x2" type="Node" parent="InventoryGridRight"]
-script = ExtResource("8")
-protoset = ExtResource("1")
-prototype_id = "item_2x2"
-
-[node name="R_item_1x1" type="Node" parent="InventoryGridRight"]
-script = ExtResource("8")
-protoset = ExtResource("1")
-prototype_id = "item_1x1"
-properties = {
-"grid_position": Vector2i(0, 2)
-}
-
-[node name="ItemSlot" type="Node" parent="."]
-script = ExtResource("7")
-inventory_path = NodePath("../InventoryGridRight")
-
-[node name="LblInfo" type="Label" parent="."]
-visible = false
-layout_mode = 0
-offset_right = 40.0
-offset_bottom = 14.0
diff --git a/addons/gloot/core/inventory_item.gd b/addons/gloot/core/inventory_item.gd
index aec3a313..a23a6624 100644
--- a/addons/gloot/core/inventory_item.gd
+++ b/addons/gloot/core/inventory_item.gd
@@ -1,10 +1,15 @@
@tool
+@icon("res://addons/gloot/images/icon_item.svg")
extends Node
class_name InventoryItem
signal protoset_changed
signal prototype_id_changed
signal properties_changed
+signal added_to_inventory(inventory)
+signal removed_from_inventory(inventory)
+signal equipped_in_slot(item_slot)
+signal removed_from_slot(item_slot)
@export var protoset: Resource :
get:
@@ -18,7 +23,7 @@ signal properties_changed
if new_protoset && new_protoset._prototypes && new_protoset._prototypes.keys().size() > 0:
self.prototype_id = new_protoset._prototypes.keys()[0]
- new_protoset.changed.connect(Callable(self, "_on_protoset_modified"))
+ new_protoset.changed.connect(func(): update_configuration_warnings())
protoset = new_protoset
protoset_changed.emit()
@@ -43,7 +48,8 @@ signal properties_changed
properties_changed.emit()
update_configuration_warnings()
-var _inventory: Node
+var _inventory: Inventory
+var _item_slot: ItemSlot
const KEY_PROTOSET: String = "protoset"
const KEY_PROTOTYE_ID: String = "prototype_id"
@@ -68,10 +74,6 @@ func _get_configuration_warnings() -> PackedStringArray:
return PackedStringArray()
-func _on_protoset_modified() -> void:
- update_configuration_warnings()
-
-
func reset_properties() -> void:
if !protoset || prototype_id.is_empty():
properties = {}
@@ -87,30 +89,63 @@ func reset_properties() -> void:
func _notification(what):
if what == NOTIFICATION_PARENTED:
- if !(get_parent() is Inventory):
- _inventory = null
- return
- _inventory = get_parent()
- var inv_item_protoset = get_parent().get("item_protoset")
- if inv_item_protoset:
- protoset = inv_item_protoset
- _on_item_added(get_parent())
+ _on_parented(get_parent())
elif what == NOTIFICATION_UNPARENTED:
- _on_item_removed(_inventory)
+ _on_unparented()
+
+
+func _on_parented(parent: Node) -> void:
+ if parent is Inventory:
+ _on_added_to_inventory(parent as Inventory)
+ else:
_inventory = null
+ if parent is ItemSlot:
+ _link_to_slot(parent as ItemSlot)
+ else:
+ _unlink_from_slot()
+
+
+func _on_added_to_inventory(inventory: Inventory) -> void:
+ assert(inventory != null)
+ _inventory = inventory
+ if _inventory.item_protoset:
+ protoset = _inventory.item_protoset
+
+ added_to_inventory.emit(_inventory)
+ _inventory._on_item_added(self)
-func _on_item_removed(obj: Object):
- if obj && obj.has_method("_on_item_removed"):
- obj._on_item_removed(self)
+func _on_unparented() -> void:
+ if _inventory:
+ _on_removed_from_inventory(_inventory)
+ _inventory = null
-func _on_item_added(obj: Object):
- if obj && obj.has_method("_on_item_added"):
- obj._on_item_added(self)
+ _unlink_from_slot()
+
+
+func _on_removed_from_inventory(inventory: Inventory) -> void:
+ if inventory:
+ removed_from_inventory.emit(inventory)
+ inventory._on_item_removed(self)
+
+
+func _link_to_slot(item_slot: ItemSlot) -> void:
+ _item_slot = item_slot
+ _item_slot._on_item_added(self)
+ equipped_in_slot.emit(item_slot)
+
+
+func _unlink_from_slot() -> void:
+ if _item_slot == null:
+ return
+ var temp_slot := _item_slot
+ _item_slot = null
+ temp_slot._on_item_removed()
+ removed_from_slot.emit(temp_slot)
-func get_inventory() -> Node:
+func get_inventory() -> Inventory:
return _inventory
diff --git a/addons/gloot/core/inventory_stacked.gd b/addons/gloot/core/inventory_stacked.gd
index 137c3f55..92dae13f 100644
--- a/addons/gloot/core/inventory_stacked.gd
+++ b/addons/gloot/core/inventory_stacked.gd
@@ -1,4 +1,5 @@
@tool
+@icon("res://addons/gloot/images/icon_inventory_stacked.svg")
extends Inventory
class_name InventoryStacked
@@ -8,88 +9,88 @@ signal capacity_changed
signal occupied_space_changed
@export var capacity: float :
- get:
- return _constraint_manager.get_weight_constraint().capacity
- set(new_capacity):
- _constraint_manager.get_weight_constraint().capacity = new_capacity
+ get:
+ if _constraint_manager == null:
+ return 0.0
+ if _constraint_manager.get_weight_constraint() == null:
+ return 0.0
+ return _constraint_manager.get_weight_constraint().capacity
+ set(new_capacity):
+ _constraint_manager.get_weight_constraint().capacity = new_capacity
var occupied_space: float :
- get:
- return _constraint_manager.get_weight_constraint().occupied_space
- set(new_occupied_space):
- assert(false, "occupied_space is read-only!")
+ get:
+ if _constraint_manager == null:
+ return 0.0
+ if _constraint_manager.get_weight_constraint() == null:
+ return 0.0
+ return _constraint_manager.get_weight_constraint().occupied_space
+ set(new_occupied_space):
+ assert(false, "occupied_space is read-only!")
func _init() -> void:
- super._init()
- _constraint_manager.enable_weight_constraint_()
- _constraint_manager.enable_stacks_constraint_()
- _constraint_manager.get_weight_constraint().capacity_changed.connect(Callable(self, "_on_capacity_changed"))
- _constraint_manager.get_weight_constraint().occupied_space_changed.connect(Callable(self, "_on_occupied_space_changed"))
-
-
-func _on_capacity_changed() -> void:
- capacity_changed.emit()
-
-
-func _on_occupied_space_changed() -> void:
- occupied_space_changed.emit()
+ super._init()
+ _constraint_manager.enable_weight_constraint()
+ _constraint_manager.enable_stacks_constraint()
+ _constraint_manager.get_weight_constraint().capacity_changed.connect(func(): capacity_changed.emit())
+ _constraint_manager.get_weight_constraint().occupied_space_changed.connect(func(): occupied_space_changed.emit())
func has_unlimited_capacity() -> bool:
- return _constraint_manager.get_weight_constraint().has_unlimited_capacity()
+ return _constraint_manager.get_weight_constraint().has_unlimited_capacity()
func get_free_space() -> float:
- return _constraint_manager.get_weight_constraint().get_free_space()
+ return _constraint_manager.get_weight_constraint().get_free_space()
func has_place_for(item: InventoryItem) -> bool:
- return _constraint_manager.has_space_for(item)
+ return _constraint_manager.has_space_for(item)
func add_item_automerge(item: InventoryItem) -> bool:
- return _constraint_manager.get_stacks_constraint().add_item_automerge(item)
+ return _constraint_manager.get_stacks_constraint().add_item_automerge(item)
func split(item: InventoryItem, new_stack_size: int) -> InventoryItem:
- return _constraint_manager.get_stacks_constraint().split_stack_safe(item, new_stack_size)
+ return _constraint_manager.get_stacks_constraint().split_stack_safe(item, new_stack_size)
func join(item_dst: InventoryItem, item_src: InventoryItem) -> bool:
- return _constraint_manager.get_stacks_constraint().join_stacks(item_dst, item_src)
+ return _constraint_manager.get_stacks_constraint().join_stacks(item_dst, item_src)
static func get_item_stack_size(item: InventoryItem) -> int:
- return StacksConstraint.get_item_stack_size(item)
+ return StacksConstraint.get_item_stack_size(item)
-static func set_item_stack_size(item: InventoryItem, new_stack_size: int) -> void:
- return StacksConstraint.set_item_stack_size(item, new_stack_size)
+static func set_item_stack_size(item: InventoryItem, new_stack_size: int) -> bool:
+ return StacksConstraint.set_item_stack_size(item, new_stack_size)
static func get_item_max_stack_size(item: InventoryItem) -> int:
- return StacksConstraint.get_item_max_stack_size(item)
+ return StacksConstraint.get_item_max_stack_size(item)
static func set_item_max_stack_size(item: InventoryItem, new_stack_size: int) -> void:
- return StacksConstraint.set_item_max_stack_size(item, new_stack_size)
+ StacksConstraint.set_item_max_stack_size(item, new_stack_size)
func get_prototype_stack_size(prototype_id: String) -> int:
- return StacksConstraint.get_prototype_stack_size(item_protoset, prototype_id)
+ return StacksConstraint.get_prototype_stack_size(item_protoset, prototype_id)
func get_prototype_max_stack_size(prototype_id: String) -> int:
- return StacksConstraint.get_prototype_max_stack_size(item_protoset, prototype_id)
+ return StacksConstraint.get_prototype_max_stack_size(item_protoset, prototype_id)
func transfer_autosplit(item: InventoryItem, destination: InventoryStacked) -> bool:
- return _constraint_manager.get_stacks_constraint().transfer_autosplit(item, destination) != null
+ return _constraint_manager.get_stacks_constraint().transfer_autosplit(item, destination) != null
func transfer_automerge(item: InventoryItem, destination: InventoryStacked) -> bool:
- return _constraint_manager.get_stacks_constraint().transfer_automerge(item, destination)
+ return _constraint_manager.get_stacks_constraint().transfer_automerge(item, destination)
func transfer_autosplitmerge(item: InventoryItem, destination: InventoryStacked) -> bool:
- return _constraint_manager.get_stacks_constraint().transfer_autosplitmerge(item, destination)
+ return _constraint_manager.get_stacks_constraint().transfer_autosplitmerge(item, destination)
diff --git a/addons/gloot/core/item_count.gd b/addons/gloot/core/item_count.gd
index 1829991c..28a0fc9d 100644
--- a/addons/gloot/core/item_count.gd
+++ b/addons/gloot/core/item_count.gd
@@ -3,108 +3,114 @@ class_name ItemCount
const Inf: int = -1
@export var count: int = 0 :
- get:
- return count
- set(new_count):
- if new_count < 0:
- new_count = -1
- count = new_count
+ get:
+ return count
+ set(new_count):
+ if new_count < 0:
+ new_count = -1
+ count = new_count
func _init(count_: int = 0) -> void:
- if count_ < 0:
- count_ = -1
- count = count_
+ if count_ < 0:
+ count_ = -1
+ count = count_
func is_inf() -> bool:
- return count < 0
+ return count < 0
func add(item_count_: ItemCount) -> ItemCount:
- if item_count_.is_inf():
- count = Inf
- elif !self.is_inf():
- count += item_count_.count
+ if item_count_.is_inf():
+ count = Inf
+ elif !self.is_inf():
+ count += item_count_.count
- return self
+ return self
func mul(item_count_: ItemCount) -> ItemCount:
- if (count == 0):
- return self
- if item_count_.is_inf():
- count = Inf
- return self
- if item_count_.count == 0:
- count = 0
- return self
- if self.is_inf():
- return self
+ if (count == 0):
+ return self
+ if item_count_.is_inf():
+ count = Inf
+ return self
+ if item_count_.count == 0:
+ count = 0
+ return self
+ if self.is_inf():
+ return self
- count *= item_count_.count
- return self
+ count *= item_count_.count
+ return self
func div(item_count_: ItemCount) -> ItemCount:
- assert(item_count_.count > 0 || item_count_.is_inf(), "Can't devide by zero!")
- if (count == 0):
- return self
- if item_count_.is_inf() && self.is_inf():
- count = 1
- return self
- if self.is_inf():
- return self
- if item_count_.is_inf():
- count = 0
- return self
-
- count /= item_count_.count
- return self
+ assert(item_count_.count > 0 || item_count_.is_inf(), "Can't devide by zero!")
+ if (count == 0):
+ return self
+ if item_count_.is_inf() && self.is_inf():
+ count = 1
+ return self
+ if self.is_inf():
+ return self
+ if item_count_.is_inf():
+ count = 0
+ return self
+
+ count /= item_count_.count
+ return self
func eq(item_count_: ItemCount) -> bool:
- return item_count_.count == count
+ return item_count_.count == count
func less(item_count_: ItemCount) -> bool:
- if item_count_.is_inf():
- if self.is_inf():
- return false
- return true
+ if item_count_.is_inf():
+ if self.is_inf():
+ return false
+ return true
- if self.is_inf():
- return false
+ if self.is_inf():
+ return false
- return count < item_count_.count
+ return count < item_count_.count
+
+
+func le(item_count_: ItemCount) -> bool:
+ return self.less(item_count_) || self.eq(item_count_)
func gt(item_count_: ItemCount) -> bool:
- if item_count_.is_inf():
- if self.is_inf():
- return false
- return false
+ if item_count_.is_inf():
+ if self.is_inf():
+ return false
+ return false
+
+ if self.is_inf():
+ return true
+
+ return count > item_count_.count
- if self.is_inf():
- return true
- return count > item_count_.count
+func ge(item_count_: ItemCount) -> bool:
+ return self.gt(item_count_) || self.eq(item_count_)
static func min(item_count_l: ItemCount, item_count_r: ItemCount) -> ItemCount:
- if item_count_l.less(item_count_r):
- return item_count_l
- return item_count_r
+ if item_count_l.less(item_count_r):
+ return item_count_l
+ return item_count_r
static func inf() -> ItemCount:
- return ItemCount.new(Inf)
+ return ItemCount.new(Inf)
static func zero() -> ItemCount:
- return ItemCount.new(0)
+ return ItemCount.new(0)
-# TODO: Implement le()
-# TODO: Implement ge()
# TODO: Implement max()
diff --git a/addons/gloot/core/item_protoset.gd b/addons/gloot/core/item_protoset.gd
index 14ac2a0d..bf6c48ad 100644
--- a/addons/gloot/core/item_protoset.gd
+++ b/addons/gloot/core/item_protoset.gd
@@ -1,128 +1,139 @@
@tool
+@icon("res://addons/gloot/images/icon_item_protoset.svg")
class_name ItemProtoset
extends Resource
const KEY_ID: String = "id"
@export_multiline var json_data :
- get:
- return json_data
- set(new_json_data):
- json_data = new_json_data
- if !json_data.is_empty():
- parse(json_data)
- _save()
+ get:
+ return json_data
+ set(new_json_data):
+ json_data = new_json_data
+ if !json_data.is_empty():
+ parse(json_data)
+ _save()
var _prototypes: Dictionary = {} :
- get:
- return _prototypes
- set(new_prototypes):
- _prototypes = new_prototypes
- _update_json_data()
- _save()
+ get:
+ return _prototypes
+ set(new_prototypes):
+ _prototypes = new_prototypes
+ _update_json_data()
+ _save()
func parse(json: String) -> void:
- _prototypes.clear()
+ _prototypes.clear()
- var test_json_conv: JSON = JSON.new()
- assert(test_json_conv.parse(json) == OK, "Failed to parse JSON!")
- var parse_result = test_json_conv.data
- assert(parse_result is Array, "JSON file must contain an array!")
+ var test_json_conv: JSON = JSON.new()
+ assert(test_json_conv.parse(json) == OK, "Failed to parse JSON!")
+ var parse_result = test_json_conv.data
+ assert(parse_result is Array, "JSON file must contain an array!")
- for prototype in parse_result:
- assert(prototype is Dictionary, "Item definition must be a dictionary!")
- assert(prototype.has(KEY_ID), "Item definition must have an '%s' property!" % KEY_ID)
- assert(prototype[KEY_ID] is String, "'%s' property must be a string!" % KEY_ID)
+ for prototype in parse_result:
+ assert(prototype is Dictionary, "Item prototype must be a dictionary!")
+ assert(prototype.has(KEY_ID), "Item prototype must have an '%s' property!" % KEY_ID)
+ assert(prototype[KEY_ID] is String, "'%s' property must be a string!" % KEY_ID)
- var id = prototype[KEY_ID]
- assert(!_prototypes.has(id), "Item definition ID '%s' already in use!")
- _prototypes[id] = prototype
- _unstringify_prototype(_prototypes[id])
+ var id = prototype[KEY_ID]
+ assert(!_prototypes.has(id), "Item prototype ID '%s' already in use!" % id)
+ _prototypes[id] = prototype
+ _unstringify_prototype(_prototypes[id])
func _to_json() -> String:
- var result: Array[Dictionary]
- for prototype_id in _prototypes.keys():
- result.append(get_prototype(prototype_id))
+ var result: Array[Dictionary]
+ for prototype_id in _prototypes.keys():
+ result.append(get_prototype(prototype_id))
- for prototype in result:
- _stringify_prototype(prototype)
+ for prototype in result:
+ _stringify_prototype(prototype)
- # TODO: Add plugin settings for this
- return JSON.stringify(result, " ")
+ # TODO: Add plugin settings for this
+ return JSON.stringify(result, " ")
func _stringify_prototype(prototype: Dictionary) -> void:
- for key in prototype.keys():
- var type = typeof(prototype[key])
- if (type != TYPE_STRING) and (type != TYPE_FLOAT):
- prototype[key] = var_to_str(prototype[key])
+ for key in prototype.keys():
+ var type = typeof(prototype[key])
+ if (type != TYPE_STRING) and (type != TYPE_FLOAT):
+ prototype[key] = var_to_str(prototype[key])
func _unstringify_prototype(prototype: Dictionary) -> void:
- for key in prototype.keys():
- var type = typeof(prototype[key])
- if type == TYPE_STRING:
- var variant = str_to_var(prototype[key])
- if variant != null:
- prototype[key] = variant
+ for key in prototype.keys():
+ var type = typeof(prototype[key])
+ if type == TYPE_STRING:
+ var variant = str_to_var(prototype[key])
+ if variant != null:
+ prototype[key] = variant
func _update_json_data() -> void:
- json_data = _to_json()
+ json_data = _to_json()
func _save() -> void:
- emit_changed()
- if !resource_path.is_empty():
- ResourceSaver.save(self)
+ emit_changed()
+ if !resource_path.is_empty():
+ ResourceSaver.save(self)
func get_prototype(id: StringName) -> Variant:
- assert(has_prototype(id), "No prototype")
- return _prototypes[id]
+ assert(has_prototype(id), "No prototype")
+ return _prototypes[id]
func add_prototype(id: String) -> void:
- assert(!has_prototype(id), "Prototype with ID already exists")
- _prototypes[id] = {KEY_ID: id}
- _update_json_data()
- _save()
+ assert(!has_prototype(id), "Prototype with ID already exists")
+ _prototypes[id] = {KEY_ID: id}
+ _update_json_data()
+ _save()
func remove_prototype(id: String) -> void:
- assert(has_prototype(id), "No prototype for ID")
- _prototypes.erase(id)
- _update_json_data()
- _save()
+ assert(has_prototype(id), "No prototype for ID")
+ _prototypes.erase(id)
+ _update_json_data()
+ _save()
+
+
+func duplicate_prototype(id: String) -> void:
+ assert(has_prototype(id), "No prototype for ID")
+ var new_id = "%s_duplicate" % id
+ var new_dict = _prototypes[id].duplicate()
+ new_dict[KEY_ID] = new_id
+ _prototypes[new_id] = new_dict
+ _update_json_data()
+ _save()
func rename_prototype(id: String, new_id: String) -> void:
- assert(has_prototype(id), "No prototype for ID")
- assert(!has_prototype(new_id), "Prototype with ID already exists")
- add_prototype(new_id)
- _prototypes[new_id] = _prototypes[id].duplicate()
- _prototypes[new_id][KEY_ID] = new_id
- remove_prototype(id)
- _update_json_data()
- _save()
+ assert(has_prototype(id), "No prototype for ID")
+ assert(!has_prototype(new_id), "Prototype with ID already exists")
+ add_prototype(new_id)
+ _prototypes[new_id] = _prototypes[id].duplicate()
+ _prototypes[new_id][KEY_ID] = new_id
+ remove_prototype(id)
+ _update_json_data()
+ _save()
func set_prototype_properties(id: String, new_properties: Dictionary) -> void:
- _prototypes[id] = new_properties
- _update_json_data()
- _save()
+ _prototypes[id] = new_properties
+ _update_json_data()
+ _save()
func has_prototype(id: String) -> bool:
- return _prototypes.has(id)
+ return _prototypes.has(id)
func get_item_property(id: String, property_name: String, default_value = null) -> Variant:
- if has_prototype(id):
- var prototype = get_prototype(id)
- if !prototype.is_empty() && prototype.has(property_name):
- return prototype[property_name]
-
- return default_value
+ if has_prototype(id):
+ var prototype = get_prototype(id)
+ if !prototype.is_empty() && prototype.has(property_name):
+ return prototype[property_name]
+
+ return default_value
diff --git a/addons/gloot/core/item_ref_slot.gd b/addons/gloot/core/item_ref_slot.gd
new file mode 100644
index 00000000..71f7880e
--- /dev/null
+++ b/addons/gloot/core/item_ref_slot.gd
@@ -0,0 +1,193 @@
+@tool
+@icon("res://addons/gloot/images/icon_item_ref_slot.svg")
+class_name ItemRefSlot
+extends "res://addons/gloot/core/item_slot_base.gd"
+
+signal inventory_changed
+
+const Verify = preload("res://addons/gloot/core/verify.gd")
+const KEY_ITEM_INDEX: String = "item_index"
+const EMPTY_SLOT = -1
+
+@export var inventory_path: NodePath :
+ get:
+ return inventory_path
+ set(new_inv_path):
+ if inventory_path == new_inv_path:
+ return
+ inventory_path = new_inv_path
+ update_configuration_warnings()
+ _set_inventory_from_path(inventory_path)
+
+var _wr_item: WeakRef = weakref(null)
+var _wr_inventory: WeakRef = weakref(null)
+@export var _equipped_item: int = EMPTY_SLOT :
+ get = _get_equipped_item_index, set = _set_equipped_item_index
+var inventory: Inventory = null :
+ get = _get_inventory, set = _set_inventory
+
+
+func _get_configuration_warnings() -> PackedStringArray:
+ if inventory_path.is_empty():
+ return PackedStringArray([
+ "Inventory path not set! Inventory path needs to point to an inventory node, so " +\
+ "items from that inventory can be equipped in the slot."])
+ return PackedStringArray()
+
+
+func _get_equipped_item_index() -> int:
+ return _equipped_item
+
+
+func _set_equipped_item_index(new_value: int) -> void:
+ _equipped_item = new_value
+ equip_by_index(new_value)
+
+
+func _ready() -> void:
+ _set_inventory_from_path(inventory_path)
+ equip_by_index(_equipped_item)
+
+
+func _set_inventory_from_path(path: NodePath) -> bool:
+ if path.is_empty():
+ return false
+
+ var node: Node = null
+
+ if is_inside_tree():
+ node = get_node_or_null(inventory_path)
+
+ if node == null || !(node is Inventory):
+ return false
+
+ clear()
+ _set_inventory(node)
+ return true
+
+
+func _set_inventory(inventory: Inventory) -> void:
+ if inventory == _wr_inventory.get_ref():
+ return
+
+ if _get_inventory() != null:
+ _disconnect_inventory_signals()
+
+ clear()
+ _wr_inventory = weakref(inventory)
+ inventory_changed.emit()
+
+ if _get_inventory() != null:
+ _connect_inventory_signals()
+
+
+func _connect_inventory_signals() -> void:
+ if _get_inventory() == null:
+ return
+
+ if !_get_inventory().item_removed.is_connected(_on_item_removed):
+ _get_inventory().item_removed.connect(_on_item_removed)
+
+
+func _disconnect_inventory_signals() -> void:
+ if _get_inventory() == null:
+ return
+
+ if _get_inventory().item_removed.is_connected(_on_item_removed):
+ _get_inventory().item_removed.disconnect(_on_item_removed)
+
+
+func _on_item_removed(item: InventoryItem) -> void:
+ clear()
+
+
+func _get_inventory() -> Inventory:
+ return _wr_inventory.get_ref()
+
+
+func equip(item: InventoryItem) -> bool:
+ if !can_hold_item(item):
+ return false
+
+ if _wr_item.get_ref() == item:
+ return false
+
+ if get_item() != null && !clear():
+ return false
+
+ _wr_item = weakref(item)
+ _equipped_item = _get_inventory().get_item_index(item)
+ item_equipped.emit()
+ return true
+
+
+func equip_by_index(index: int) -> bool:
+ if _get_inventory() == null:
+ return false
+ if index < 0:
+ return false
+ if index >= _get_inventory().get_item_count():
+ return false
+ return equip(_get_inventory().get_items()[index])
+
+
+func clear() -> bool:
+ if get_item() == null:
+ return false
+
+ _wr_item = weakref(null)
+ _equipped_item = EMPTY_SLOT
+ cleared.emit()
+ return true
+
+
+func get_item() -> InventoryItem:
+ return _wr_item.get_ref()
+
+
+func can_hold_item(item: InventoryItem) -> bool:
+ if item == null:
+ return false
+
+ if _get_inventory() == null || !_get_inventory().has_item(item):
+ return false
+
+ return true
+
+
+func reset() -> void:
+ clear()
+
+
+func serialize() -> Dictionary:
+ var result: Dictionary = {}
+ var item : InventoryItem = _wr_item.get_ref()
+
+ if item != null && item.get_inventory() != null:
+ result[KEY_ITEM_INDEX] = item.get_inventory().get_item_index(item)
+
+ return result
+
+
+func deserialize(source: Dictionary) -> bool:
+ if !Verify.dict(source, false, KEY_ITEM_INDEX, [TYPE_INT, TYPE_FLOAT]):
+ return false
+
+ reset()
+
+ if source.has(KEY_ITEM_INDEX):
+ var item_index: int = source[KEY_ITEM_INDEX]
+ if !_equip_item_with_index(item_index):
+ return false
+
+ return true
+
+
+func _equip_item_with_index(item_index: int) -> bool:
+ if _get_inventory() == null:
+ return false
+ if item_index >= _get_inventory().get_item_count():
+ return false
+ equip(_get_inventory().get_items()[item_index])
+ return true
+
diff --git a/addons/gloot/core/item_slot.gd b/addons/gloot/core/item_slot.gd
index 730274f6..e297681a 100644
--- a/addons/gloot/core/item_slot.gd
+++ b/addons/gloot/core/item_slot.gd
@@ -1,181 +1,132 @@
@tool
-extends Node
+@icon("res://addons/gloot/images/icon_item_slot.svg")
class_name ItemSlot
+extends "res://addons/gloot/core/item_slot_base.gd"
-signal item_set(item)
-signal item_cleared
-signal inventory_changed(inventory)
+signal protoset_changed
+const Verify = preload("res://addons/gloot/core/verify.gd")
+const KEY_ITEM: String = "item"
-@export var inventory_path: NodePath :
- get:
- return inventory_path
- set(new_inv_path):
- inventory_path = new_inv_path
- update_configuration_warnings()
- var node: Node = get_node_or_null(inventory_path)
-
- if is_inside_tree() && node:
- assert(node is Inventory)
-
- if node == null:
- return
-
- self.inventory = node
-
-@export var equipped_item: int = -1 :
- get:
- return equipped_item
- set(new_equipped_item):
- equipped_item = new_equipped_item
- if equipped_item < 0:
- self.item = null
- return
- if inventory:
- var items = inventory.get_items()
- if equipped_item < items.size() && can_hold_item(items[equipped_item]):
- self.item = items[equipped_item]
-
-var _inventory
-var inventory :
+@export var item_protoset: ItemProtoset:
get:
- if !_inventory && !inventory_path.is_empty():
- self._inventory = get_node_or_null(inventory_path)
-
- return _inventory
- set(new_inv):
- if new_inv == _inventory:
+ return item_protoset
+ set(new_item_protoset):
+ if new_item_protoset == item_protoset:
return
+ if _item:
+ _item = null
+ item_protoset = new_item_protoset
+ protoset_changed.emit()
+ update_configuration_warnings()
+@export var remember_source_inventory: bool = true
- _disconnect_inventory_signals()
- self.item = null
- _inventory = new_inv
- _connect_inventory_signals()
+var _wr_source_inventory: WeakRef = weakref(null)
+var _item: InventoryItem
- inventory_changed.emit(inventory)
-
-var item: InventoryItem :
- get:
- return item
- set(new_item):
- assert(can_hold_item(new_item))
- if inventory == null:
- return
- if new_item && !inventory.has_item(new_item):
- return
+func _get_configuration_warnings() -> PackedStringArray:
+ if item_protoset == null:
+ return PackedStringArray([
+ "This item slot has no protoset. Set the 'item_protoset' field to be able to equip items."])
+ return PackedStringArray()
- if item != null:
- item.tree_exiting.disconnect(Callable(self, "_on_item_tree_exiting"))
- item = new_item
- if item != null:
- item.tree_exiting.connect(Callable(self, "_on_item_tree_exiting"))
- item_set.emit(item)
- else:
- item_cleared.emit()
+func equip(item: InventoryItem) -> bool:
+ if !can_hold_item(item):
+ return false
-const KEY_INVENTORY: String = "inventory"
-const KEY_ITEM: String = "item"
-const Verify = preload("res://addons/gloot/core/verify.gd")
+ if item.get_parent() == self:
+ return false
+ if get_item() != null && !clear():
+ return false
-func _get_configuration_warnings() -> PackedStringArray:
- if inventory_path.is_empty():
- return PackedStringArray([
- "Inventory path not set! Inventory path needs to point to an inventory node, so " +\
- "items from that inventory can be equipped in the slot."])
- return PackedStringArray()
+ _wr_source_inventory = weakref(item.get_inventory())
+ if item.get_parent():
+ item.get_parent().remove_child(item)
-func _connect_inventory_signals() -> void:
- if !inventory:
- return
+ add_child(item)
+ if Engine.is_editor_hint():
+ item.owner = get_tree().edited_scene_root
+ return true
- if !inventory.tree_exiting.is_connected(Callable(self, "_on_inventory_tree_exiting")):
- inventory.tree_exiting.connect(Callable(self, "_on_inventory_tree_exiting"))
- if !inventory.item_removed.is_connected(Callable(self, "_on_item_removed")):
- inventory.item_removed.connect(Callable(self, "_on_item_removed"))
+func _on_item_added(item: InventoryItem) -> void:
+ _item = item
+ item_equipped.emit()
-func _disconnect_inventory_signals() -> void:
- if !inventory:
- return
- if inventory.tree_exiting.is_connected(Callable(self, "_on_inventory_tree_exiting")):
- inventory.tree_exiting.disconnect(Callable(self, "_on_inventory_tree_exiting"))
- if inventory.item_removed.is_connected(Callable(self, "_on_item_removed")):
- inventory.item_removed.disconnect(Callable(self, "_on_item_removed"))
+func clear() -> bool:
+ return _clear_impl(remember_source_inventory)
-func can_hold_item(new_item: InventoryItem) -> bool:
- if new_item == null:
- return true
- if inventory == null:
+func _clear_impl(return_item: bool) -> bool:
+ if get_item() == null:
return false
- if !inventory.has_item(new_item):
- return false
-
+
+ if return_item:
+ _return_item_to_source_inventory()
+
+ remove_child(get_item())
return true
-func _ready():
- self.inventory = get_node_or_null(inventory_path)
- if equipped_item >= 0 && inventory:
- var items = inventory.get_items()
- if equipped_item < items.size() && can_hold_item(items[equipped_item]):
- self.item = items[equipped_item]
+func _return_item_to_source_inventory() -> bool:
+ var inventory: Inventory = (_wr_source_inventory.get_ref() as Inventory)
+ if inventory != null:
+ if inventory.add_item(get_item()):
+ return true
+ return false
+
+func _on_item_removed() -> void:
+ _item = null
+ _wr_source_inventory = weakref(null)
+ cleared.emit()
-func _on_inventory_tree_exiting():
- inventory = null
- self.item = null
+func get_item() -> InventoryItem:
+ return _item
-func _on_item_removed(pItem: InventoryItem) -> void:
- if pItem == item:
- self.item = null
+func can_hold_item(item: InventoryItem) -> bool:
+ assert(item_protoset != null, "Item protoset not set!")
+ if item == null:
+ return false
+ if item_protoset != item.protoset:
+ return false
-func _on_item_tree_exiting():
- self.item = null
+ return true
-func reset():
- self.inventory = null
- self.item = null
+func reset() -> void:
+ if _item:
+ _item.queue_free()
+ _clear_impl(false)
func serialize() -> Dictionary:
var result: Dictionary = {}
- # TODO: Find a better way to serialize inventory and item references
- if inventory:
- result[KEY_INVENTORY] = inventory.get_instance_id()
- if item:
- result[KEY_ITEM] = item.get_instance_id()
+ if _item != null:
+ result[KEY_ITEM] = _item.serialize()
return result
func deserialize(source: Dictionary) -> bool:
- if !Verify.dict(source, false, KEY_INVENTORY, [TYPE_INT, TYPE_FLOAT]):
- return false
- if !Verify.dict(source, false, KEY_ITEM, [TYPE_INT, TYPE_FLOAT]):
+ if !Verify.dict(source, false, KEY_ITEM, [TYPE_DICTIONARY]):
return false
reset()
- if source.has(KEY_INVENTORY):
- inventory = instance_from_id(source[KEY_INVENTORY])
- if inventory == null:
- print("Warning: Node not found (%s)!" % source[KEY_INVENTORY])
- return false
if source.has(KEY_ITEM):
- item = instance_from_id(source[KEY_ITEM])
- if item == null:
- print("Warning: Node not found (%s)!" % source[KEY_ITEM])
+ var item := InventoryItem.new()
+ if !item.deserialize(source[KEY_ITEM]):
return false
+ equip(item)
return true
diff --git a/addons/gloot/core/item_slot_base.gd b/addons/gloot/core/item_slot_base.gd
new file mode 100644
index 00000000..0c9679ed
--- /dev/null
+++ b/addons/gloot/core/item_slot_base.gd
@@ -0,0 +1,42 @@
+@tool
+@icon("res://addons/gloot/images/icon_item_slot.svg")
+class_name ItemSlotBase
+extends Node
+
+signal item_equipped
+signal cleared
+
+
+# Override this
+func equip(item: InventoryItem) -> bool:
+ return false
+
+
+# Override this
+func clear() -> bool:
+ return false
+
+
+# Override this
+func get_item() -> InventoryItem:
+ return null
+
+
+# Override this
+func can_hold_item(item: InventoryItem) -> bool:
+ return false
+
+
+# Override this
+func reset() -> void:
+ pass
+
+
+# Override this
+func serialize() -> Dictionary:
+ return {}
+
+
+# Override this
+func deserialize(source: Dictionary) -> bool:
+ return false
\ No newline at end of file
diff --git a/addons/gloot/core/verify.gd b/addons/gloot/core/verify.gd
index cbf8a770..db6679d4 100644
--- a/addons/gloot/core/verify.gd
+++ b/addons/gloot/core/verify.gd
@@ -90,7 +90,7 @@ static func create_var(type: int):
TYPE_RID:
return RID()
TYPE_OBJECT:
- return Object()
+ return Object.new()
TYPE_DICTIONARY:
return {}
TYPE_ARRAY:
diff --git a/addons/gloot/editor/common/choice_filter.gd b/addons/gloot/editor/common/choice_filter.gd
index bc0168f7..de8b0a81 100644
--- a/addons/gloot/editor/common/choice_filter.gd
+++ b/addons/gloot/editor/common/choice_filter.gd
@@ -76,10 +76,10 @@ func _populate() -> void:
func _ready() -> void:
- btn_pick.pressed.connect(Callable(self, "_on_btn_pick"))
- line_edit.text_changed.connect(Callable(self, "_on_filter_text_changed"))
- item_list.item_activated.connect(Callable(self, "_on_item_activated"))
- item_list.item_selected.connect(Callable(self, "_on_item_selected"))
+ btn_pick.pressed.connect(_on_btn_pick)
+ line_edit.text_changed.connect(_on_filter_text_changed)
+ item_list.item_activated.connect(_on_item_activated)
+ item_list.item_selected.connect(_on_item_selected)
refresh()
if btn_pick:
btn_pick.text = pick_text
diff --git a/addons/gloot/editor/common/dict_editor.gd b/addons/gloot/editor/common/dict_editor.gd
index 706ee2a1..d2f4d733 100644
--- a/addons/gloot/editor/common/dict_editor.gd
+++ b/addons/gloot/editor/common/dict_editor.gd
@@ -65,8 +65,8 @@ const supported_types: Array[int] = [
func _ready() -> void:
- btn_add.pressed.connect(Callable(self, "_on_btn_add"))
- edt_property_name.text_submitted.connect(Callable(self, "_on_text_entered"))
+ btn_add.pressed.connect(_on_btn_add)
+ edt_property_name.text_submitted.connect(_on_text_entered)
refresh()
@@ -150,7 +150,7 @@ func _add_value_editor(key: String) -> void:
value_editor.value = dictionary[key]
value_editor.size_flags_horizontal = SIZE_EXPAND_FILL
value_editor.enabled = (not key in immutable_keys)
- value_editor.value_changed.connect(Callable(self, "_on_value_changed").bind(key, value_editor))
+ value_editor.value_changed.connect(_on_value_changed.bind(key, value_editor))
grid_container.add_child(value_editor)
@@ -166,7 +166,7 @@ func _add_remove_button(key: String) -> void:
button.text = remove_button_map[key].text
button.disabled = remove_button_map[key].disabled
button.icon = remove_button_map[key].icon
- button.pressed.connect(Callable(self, "_on_remove_button").bind(key))
+ button.pressed.connect(_on_remove_button.bind(key))
grid_container.add_child(button)
diff --git a/addons/gloot/editor/common/editor_icons.gd b/addons/gloot/editor/common/editor_icons.gd
index bd5a66a8..faed61e3 100644
--- a/addons/gloot/editor/common/editor_icons.gd
+++ b/addons/gloot/editor/common/editor_icons.gd
@@ -1,7 +1,6 @@
-static func get_icon(editor_interface: EditorInterface, icon_name: String) -> Texture2D:
- if editor_interface:
- var gui = editor_interface.get_base_control()
- var icon = gui.get_theme_icon(icon_name, "EditorIcons")
- return icon
+@tool
- return null
+static func get_icon(icon_name: String) -> Texture2D:
+ var gui = EditorInterface.get_base_control()
+ var icon = gui.get_theme_icon(icon_name, "EditorIcons")
+ return icon
diff --git a/addons/gloot/editor/common/multivalue_editor.gd b/addons/gloot/editor/common/multivalue_editor.gd
index 66112da8..6df449fb 100644
--- a/addons/gloot/editor/common/multivalue_editor.gd
+++ b/addons/gloot/editor/common/multivalue_editor.gd
@@ -35,8 +35,8 @@ func _ready() -> void:
var line_edit: LineEdit = LineEdit.new()
line_edit.text = var_to_str(values[i])
line_edit.size_flags_horizontal = SIZE_EXPAND_FILL
- line_edit.text_submitted.connect(Callable(self, "_on_line_edit_value_entered").bind(line_edit, i))
- line_edit.focus_exited.connect(Callable(self, "_on_line_edit_focus_exited").bind(line_edit, i))
+ line_edit.text_submitted.connect(_on_line_edit_value_entered.bind(line_edit, i))
+ line_edit.focus_exited.connect(_on_line_edit_focus_exited.bind(line_edit, i))
line_edit.editable = enabled
hbox.add_child(line_edit)
diff --git a/addons/gloot/editor/common/value_editor.gd b/addons/gloot/editor/common/value_editor.gd
index 6efe66f1..bf14bda1 100644
--- a/addons/gloot/editor/common/value_editor.gd
+++ b/addons/gloot/editor/common/value_editor.gd
@@ -65,8 +65,8 @@ func _create_line_edit() -> LineEdit:
line_edit.text = var_to_str(value)
line_edit.editable = enabled
_expand_control(line_edit)
- line_edit.text_submitted.connect(Callable(self, "_on_line_edit_value_entered").bind(line_edit))
- line_edit.focus_exited.connect(Callable(self, "_on_line_edit_focus_exited").bind(line_edit))
+ line_edit.text_submitted.connect(_on_line_edit_value_entered.bind(line_edit))
+ line_edit.focus_exited.connect(_on_line_edit_focus_exited.bind(line_edit))
return line_edit
@@ -88,7 +88,7 @@ func _create_color_picker() -> ColorPickerButton:
picker.color = value
picker.disabled = !enabled
_expand_control(picker)
- picker.popup_closed.connect(Callable(self, "_on_color_picked").bind(picker))
+ picker.popup_closed.connect(_on_color_picked.bind(picker))
return picker
@@ -102,7 +102,7 @@ func _create_checkbox() -> CheckButton:
checkbox.button_pressed = value
checkbox.disabled = !enabled
_expand_control(checkbox)
- checkbox.pressed.connect(Callable(self, "_on_checkbox").bind(checkbox))
+ checkbox.pressed.connect(_on_checkbox.bind(checkbox))
return checkbox
@@ -114,14 +114,14 @@ func _on_checkbox(checkbox: CheckButton) -> void:
func _create_v2_editor() -> Control:
var values = [value.x, value.y]
var titles = ["X", "Y"]
- var v2_editor = _create_multifloat_editor(2, enabled, values, titles, "_on_v2_value_changed")
+ var v2_editor = _create_multifloat_editor(2, enabled, values, titles, _on_v2_value_changed)
return v2_editor
func _create_v2i_editor() -> Control:
var values = [value.x, value.y]
var titles = ["X", "Y"]
- var v2_editor = _create_multiint_editor(2, enabled, values, titles, "_on_v2_value_changed")
+ var v2_editor = _create_multiint_editor(2, enabled, values, titles, _on_v2_value_changed)
return v2_editor
@@ -134,14 +134,14 @@ func _on_v2_value_changed(_idx: int, v2_editor: Control) -> void:
func _create_v3_editor() -> Control:
var values = [value.x, value.y, value.z]
var titles = ["X", "Y", "Z"]
- var v3_editor = _create_multifloat_editor(3, enabled, values, titles, "_on_v3_value_changed")
+ var v3_editor = _create_multifloat_editor(3, enabled, values, titles, _on_v3_value_changed)
return v3_editor
func _create_v3i_editor() -> Control:
var values = [value.x, value.y, value.z]
var titles = ["X", "Y", "Z"]
- var v3_editor = _create_multiint_editor(3, enabled, values, titles, "_on_v3_value_changed")
+ var v3_editor = _create_multiint_editor(3, enabled, values, titles, _on_v3_value_changed)
return v3_editor
@@ -155,14 +155,14 @@ func _on_v3_value_changed(_idx: int, v3_editor: Control) -> void:
func _create_r2_editor() -> Control:
var values = [value.position.x, value.position.y, value.size.x, value.size.y]
var titles = ["Position X", "Position Y", "Size X", "Size Y"]
- var r2_editor = _create_multifloat_editor(2, enabled, values, titles, "_on_r2_value_changed")
+ var r2_editor = _create_multifloat_editor(2, enabled, values, titles, _on_r2_value_changed)
return r2_editor
func _create_r2i_editor() -> Control:
var values = [value.position.x, value.position.y, value.size.x, value.size.y]
var titles = ["Position X", "Position Y", "Size X", "Size Y"]
- var r2_editor = _create_multiint_editor(2, enabled, values, titles, "_on_r2_value_changed")
+ var r2_editor = _create_multiint_editor(2, enabled, values, titles, _on_r2_value_changed)
return r2_editor
@@ -177,7 +177,7 @@ func _on_r2_value_changed(_idx: int, r2_editor: Control) -> void:
func _create_plane_editor() -> Control:
var values = [value.x, value.y, value.z, value.d]
var titles = ["X", "Y", "Z", "D"]
- var editor = _create_multifloat_editor(2, enabled, values, titles, "_on_plane_value_changed")
+ var editor = _create_multifloat_editor(2, enabled, values, titles, _on_plane_value_changed)
return editor
@@ -192,7 +192,7 @@ func _on_plane_value_changed(_idx: int, plane_editor: Control) -> void:
func _create_quat_editor() -> Control:
var values = [value.x, value.y, value.z, value.w]
var titles = ["X", "Y", "Z", "W"]
- var editor = _create_multifloat_editor(2, enabled, values, titles, "_on_quat_value_changed")
+ var editor = _create_multifloat_editor(2, enabled, values, titles, _on_quat_value_changed)
return editor
@@ -208,7 +208,7 @@ func _create_aabb_editor() -> Control:
var values = [value.position.x, value.position.y, value.position.z, \
value.size.x, value.size.y, value.size.z]
var titles = ["Position X", "Position Y", "Position Z", "Size X", "Size Y", "Size Z"]
- var editor = _create_multifloat_editor(3, enabled, values, titles, "_on_aabb_value_changed")
+ var editor = _create_multifloat_editor(3, enabled, values, titles, _on_aabb_value_changed)
return editor
@@ -227,7 +227,7 @@ func _create_multifloat_editor(
enabled: bool,
values: Array,
titles: Array,
- value_changed_handler: String) -> Control:
+ value_changed_handler: Callable) -> Control:
return _create_multivalue_editor(columns, enabled, TYPE_FLOAT, values, titles, value_changed_handler)
@@ -236,7 +236,7 @@ func _create_multiint_editor(
enabled: bool,
values: Array,
titles: Array,
- value_changed_handler: String) -> Control:
+ value_changed_handler: Callable) -> Control:
return _create_multivalue_editor(columns, enabled, TYPE_INT, values, titles, value_changed_handler)
@@ -246,7 +246,7 @@ func _create_multivalue_editor(
type: int,
values: Array,
titles: Array,
- value_changed_handler: String) -> Control:
+ value_changed_handler: Callable) -> Control:
var multivalue_editor = MultivalueEditor.new()
multivalue_editor.columns = columns
multivalue_editor.enabled = enabled
@@ -254,7 +254,7 @@ func _create_multivalue_editor(
multivalue_editor.values = values
multivalue_editor.titles = titles
_expand_control(multivalue_editor)
- multivalue_editor.value_changed.connect(Callable(self, value_changed_handler).bind(multivalue_editor))
+ multivalue_editor.value_changed.connect(value_changed_handler.bind(multivalue_editor))
return multivalue_editor
diff --git a/addons/gloot/editor/gloot_undo_redo.gd b/addons/gloot/editor/gloot_undo_redo.gd
index cfffc675..3f036003 100644
--- a/addons/gloot/editor/gloot_undo_redo.gd
+++ b/addons/gloot/editor/gloot_undo_redo.gd
@@ -1,9 +1,19 @@
+@tool
extends Object
-var undo_redo_manager: EditorUndoRedoManager
+const GlootUndoRedo = preload("res://addons/gloot/editor/gloot_undo_redo.gd")
-func add_inventory_item(inventory: Inventory, prototype_id: String) -> void:
+
+static func _get_undo_redo_manager() -> EditorUndoRedoManager:
+ var gloot = load("res://addons/gloot/gloot.gd")
+ assert(gloot.instance())
+ var undo_redo_manager = gloot.instance().get_undo_redo()
assert(undo_redo_manager)
+ return undo_redo_manager
+
+
+static func add_inventory_item(inventory: Inventory, prototype_id: String) -> void:
+ var undo_redo_manager = _get_undo_redo_manager()
var old_inv_state := inventory.serialize()
if inventory.create_and_add_item(prototype_id) == null:
@@ -11,13 +21,13 @@ func add_inventory_item(inventory: Inventory, prototype_id: String) -> void:
var new_inv_state := inventory.serialize()
undo_redo_manager.create_action("Add Inventory Item")
- undo_redo_manager.add_do_method(self, "_set_inventory", inventory, new_inv_state)
- undo_redo_manager.add_undo_method(self, "_set_inventory", inventory, old_inv_state)
+ undo_redo_manager.add_do_method(GlootUndoRedo, "_set_inventory", inventory, new_inv_state)
+ undo_redo_manager.add_undo_method(GlootUndoRedo, "_set_inventory", inventory, old_inv_state)
undo_redo_manager.commit_action()
-func remove_inventory_item(inventory: Inventory, item: InventoryItem) -> void:
- assert(undo_redo_manager)
+static func remove_inventory_item(inventory: Inventory, item: InventoryItem) -> void:
+ var undo_redo_manager = _get_undo_redo_manager()
var old_inv_state := inventory.serialize()
if !inventory.remove_item(item):
@@ -25,13 +35,13 @@ func remove_inventory_item(inventory: Inventory, item: InventoryItem) -> void:
var new_inv_state := inventory.serialize()
undo_redo_manager.create_action("Remove Inventory Item")
- undo_redo_manager.add_do_method(self, "_set_inventory", inventory, new_inv_state)
- undo_redo_manager.add_undo_method(self, "_set_inventory", inventory, old_inv_state)
+ undo_redo_manager.add_do_method(GlootUndoRedo, "_set_inventory", inventory, new_inv_state)
+ undo_redo_manager.add_undo_method(GlootUndoRedo, "_set_inventory", inventory, old_inv_state)
undo_redo_manager.commit_action()
-func remove_inventory_items(inventory: Inventory, items: Array[InventoryItem]) -> void:
- assert(undo_redo_manager)
+static func remove_inventory_items(inventory: Inventory, items: Array[InventoryItem]) -> void:
+ var undo_redo_manager = _get_undo_redo_manager()
var old_inv_state := inventory.serialize()
for item in items:
@@ -39,19 +49,19 @@ func remove_inventory_items(inventory: Inventory, items: Array[InventoryItem]) -
var new_inv_state := inventory.serialize()
undo_redo_manager.create_action("Remove Inventory Items")
- undo_redo_manager.add_do_method(self, "_set_inventory", inventory, new_inv_state)
- undo_redo_manager.add_undo_method(self, "_set_inventory", inventory, old_inv_state)
+ undo_redo_manager.add_do_method(GlootUndoRedo, "_set_inventory", inventory, new_inv_state)
+ undo_redo_manager.add_undo_method(GlootUndoRedo, "_set_inventory", inventory, old_inv_state)
undo_redo_manager.commit_action()
-func set_item_properties(item: InventoryItem, new_properties: Dictionary) -> void:
- assert(undo_redo_manager)
+static func set_item_properties(item: InventoryItem, new_properties: Dictionary) -> void:
+ var undo_redo_manager = _get_undo_redo_manager()
var inventory: Inventory = item.get_inventory()
if inventory:
undo_redo_manager.create_action("Set item properties")
- undo_redo_manager.add_do_method(self, "_set_item_properties", inventory, inventory.get_item_index(item), new_properties)
- undo_redo_manager.add_undo_method(self, "_set_item_properties", inventory, inventory.get_item_index(item), item.properties)
+ undo_redo_manager.add_do_method(GlootUndoRedo, "_set_item_properties", inventory, inventory.get_item_index(item), new_properties)
+ undo_redo_manager.add_undo_method(GlootUndoRedo, "_set_item_properties", inventory, inventory.get_item_index(item), item.properties)
undo_redo_manager.commit_action()
else:
undo_redo_manager.create_action("Set item properties")
@@ -60,14 +70,14 @@ func set_item_properties(item: InventoryItem, new_properties: Dictionary) -> voi
undo_redo_manager.commit_action()
-func set_item_prototype_id(item: InventoryItem, new_prototype_id: String) -> void:
- assert(undo_redo_manager)
+static func set_item_prototype_id(item: InventoryItem, new_prototype_id: String) -> void:
+ var undo_redo_manager = _get_undo_redo_manager()
var inventory: Inventory = item.get_inventory()
if inventory:
undo_redo_manager.create_action("Set prototype_id")
- undo_redo_manager.add_do_method(self, "_set_item_prototype_id", inventory, inventory.get_item_index(item), new_prototype_id)
- undo_redo_manager.add_undo_method(self, "_set_item_prototype_id", inventory, inventory.get_item_index(item), item.prototype_id)
+ undo_redo_manager.add_do_method(GlootUndoRedo, "_set_item_prototype_id", inventory, inventory.get_item_index(item), new_prototype_id)
+ undo_redo_manager.add_undo_method(GlootUndoRedo, "_set_item_prototype_id", inventory, inventory.get_item_index(item), item.prototype_id)
undo_redo_manager.commit_action()
else:
undo_redo_manager.create_action("Set prototype_id")
@@ -76,31 +86,54 @@ func set_item_prototype_id(item: InventoryItem, new_prototype_id: String) -> voi
undo_redo_manager.commit_action()
-func _set_inventory(inventory: Inventory, inventory_data: Dictionary) -> void:
+static func _set_inventory(inventory: Inventory, inventory_data: Dictionary) -> void:
inventory.deserialize(inventory_data)
-func _set_item_prototype_id(inventory: Inventory, item_index: int, new_prototype_id: String):
+static func _set_item_prototype_id(inventory: Inventory, item_index: int, new_prototype_id: String):
assert(item_index < inventory.get_item_count())
inventory.get_items()[item_index].prototype_id = new_prototype_id
-func _set_item_properties(inventory: Inventory, item_index: int, new_properties: Dictionary):
+static func _set_item_properties(inventory: Inventory, item_index: int, new_properties: Dictionary):
assert(item_index < inventory.get_item_count())
inventory.get_items()[item_index].properties = new_properties.duplicate()
-func set_item_slot_equipped_item(item_slot: ItemSlot, new_equipped_item: int) -> void:
- assert(undo_redo_manager)
+static func equip_item_in_item_slot(item_slot: ItemSlotBase, item: InventoryItem) -> void:
+ var undo_redo_manager = _get_undo_redo_manager()
+
+ var old_slot_state := item_slot.serialize()
+ if !item_slot.equip(item):
+ return
+ var new_slot_state := item_slot.serialize()
+
+ undo_redo_manager.create_action("Equip Inventory Item")
+ undo_redo_manager.add_do_method(GlootUndoRedo, "_set_item_slot", item_slot, new_slot_state)
+ undo_redo_manager.add_undo_method(GlootUndoRedo, "_set_item_slot", item_slot, old_slot_state)
+ undo_redo_manager.commit_action()
+
+
+static func clear_item_slot(item_slot: ItemSlotBase) -> void:
+ var undo_redo_manager = _get_undo_redo_manager()
+
+ var old_slot_state := item_slot.serialize()
+ if !item_slot.clear():
+ return
+ var new_slot_state := item_slot.serialize()
- undo_redo_manager.create_action("Set equipped_item")
- undo_redo_manager.add_undo_property(item_slot, "equipped_item", item_slot.equipped_item)
- undo_redo_manager.add_do_property(item_slot, "equipped_item", new_equipped_item)
+ undo_redo_manager.create_action("Clear Inventory Item")
+ undo_redo_manager.add_do_method(GlootUndoRedo, "_set_item_slot", item_slot, new_slot_state)
+ undo_redo_manager.add_undo_method(GlootUndoRedo, "_set_item_slot", item_slot, old_slot_state)
undo_redo_manager.commit_action()
-func move_inventory_item(inventory: InventoryGrid, item: InventoryItem, to: Vector2i) -> void:
- assert(undo_redo_manager)
+static func _set_item_slot(item_slot: ItemSlotBase, item_slot_data: Dictionary) -> void:
+ item_slot.deserialize(item_slot_data)
+
+
+static func move_inventory_item(inventory: InventoryGrid, item: InventoryItem, to: Vector2i) -> void:
+ var undo_redo_manager = _get_undo_redo_manager()
var old_position := inventory.get_item_position(item)
if old_position == to:
@@ -108,23 +141,23 @@ func move_inventory_item(inventory: InventoryGrid, item: InventoryItem, to: Vect
var item_index := inventory.get_item_index(item)
undo_redo_manager.create_action("Move Inventory Item")
- undo_redo_manager.add_do_method(self, "_move_item", inventory, item_index, to)
- undo_redo_manager.add_undo_method(self, "_move_item", inventory, item_index, old_position)
+ undo_redo_manager.add_do_method(GlootUndoRedo, "_move_item", inventory, item_index, to)
+ undo_redo_manager.add_undo_method(GlootUndoRedo, "_move_item", inventory, item_index, old_position)
undo_redo_manager.commit_action()
-func _move_item(inventory: InventoryGrid, item_index: int, to: Vector2i) -> void:
+static func _move_item(inventory: InventoryGrid, item_index: int, to: Vector2i) -> void:
assert(item_index >= 0 && item_index < inventory.get_item_count())
var item = inventory.get_items()[item_index]
inventory.move_item_to(item, to)
-func join_inventory_items(
+static func join_inventory_items(
inventory: InventoryGridStacked,
item_dst: InventoryItem,
item_src: InventoryItem
) -> void:
- assert(undo_redo_manager)
+ var undo_redo_manager = _get_undo_redo_manager()
var old_inv_state := inventory.serialize()
if !inventory.join(item_dst, item_src):
@@ -132,59 +165,70 @@ func join_inventory_items(
var new_inv_state := inventory.serialize()
undo_redo_manager.create_action("Join Inventory Items")
- undo_redo_manager.add_do_method(self, "_set_inventory", inventory, new_inv_state)
- undo_redo_manager.add_undo_method(self, "_set_inventory", inventory, old_inv_state)
+ undo_redo_manager.add_do_method(GlootUndoRedo, "_set_inventory", inventory, new_inv_state)
+ undo_redo_manager.add_undo_method(GlootUndoRedo, "_set_inventory", inventory, old_inv_state)
undo_redo_manager.commit_action()
-func rename_prototype(protoset: ItemProtoset, id: String, new_id: String) -> void:
- assert(undo_redo_manager)
+static func rename_prototype(protoset: ItemProtoset, id: String, new_id: String) -> void:
+ var undo_redo_manager = _get_undo_redo_manager()
var old_prototypes = _prototypes_deep_copy(protoset)
undo_redo_manager.create_action("Rename Prototype")
- undo_redo_manager.add_undo_method(self, "_set_prototypes", protoset, old_prototypes)
+ undo_redo_manager.add_undo_method(GlootUndoRedo, "_set_prototypes", protoset, old_prototypes)
undo_redo_manager.add_do_method(protoset, "rename_prototype", id, new_id)
undo_redo_manager.commit_action()
-func add_prototype(protoset: ItemProtoset, id: String) -> void:
- assert(undo_redo_manager)
+static func add_prototype(protoset: ItemProtoset, id: String) -> void:
+ var undo_redo_manager = _get_undo_redo_manager()
var old_prototypes = _prototypes_deep_copy(protoset)
undo_redo_manager.create_action("Add Prototype")
- undo_redo_manager.add_undo_method(self, "_set_prototypes", protoset, old_prototypes)
+ undo_redo_manager.add_undo_method(GlootUndoRedo, "_set_prototypes", protoset, old_prototypes)
undo_redo_manager.add_do_method(protoset, "add_prototype", id)
undo_redo_manager.commit_action()
-func remove_prototype(protoset: ItemProtoset, id: String) -> void:
- assert(undo_redo_manager)
+static func remove_prototype(protoset: ItemProtoset, id: String) -> void:
+ var undo_redo_manager = _get_undo_redo_manager()
var old_prototypes = _prototypes_deep_copy(protoset)
undo_redo_manager.create_action("Remove Prototype")
- undo_redo_manager.add_undo_method(self, "_set_prototypes", protoset, old_prototypes)
+ undo_redo_manager.add_undo_method(GlootUndoRedo, "_set_prototypes", protoset, old_prototypes)
undo_redo_manager.add_do_method(protoset, "remove_prototype", id)
undo_redo_manager.commit_action()
-func _prototypes_deep_copy(protoset: ItemProtoset) -> Dictionary:
+static func duplicate_prototype(protoset: ItemProtoset, id: String) -> void:
+ var undo_redo_manager = _get_undo_redo_manager()
+
+ var old_prototypes = _prototypes_deep_copy(protoset)
+
+ undo_redo_manager.create_action("Duplicate Prototype")
+ undo_redo_manager.add_undo_method(GlootUndoRedo, "_set_prototypes", protoset, old_prototypes)
+ undo_redo_manager.add_do_method(protoset, "duplicate_prototype", id)
+ undo_redo_manager.commit_action()
+
+
+static func _prototypes_deep_copy(protoset: ItemProtoset) -> Dictionary:
var result = protoset._prototypes.duplicate()
for prototype_id in result.keys():
result[prototype_id] = protoset._prototypes[prototype_id].duplicate()
return result
-func _set_prototypes(protoset: ItemProtoset, prototypes: Dictionary) -> void:
+static func _set_prototypes(protoset: ItemProtoset, prototypes: Dictionary) -> void:
protoset._prototypes = prototypes
-func set_prototype_properties(protoset: ItemProtoset,
+static func set_prototype_properties(protoset: ItemProtoset,
prototype_id: String,
new_properties: Dictionary) -> void:
- assert(undo_redo_manager)
+ var undo_redo_manager = _get_undo_redo_manager()
assert(protoset.has_prototype(prototype_id))
var old_properties = protoset.get_prototype(prototype_id).duplicate()
diff --git a/addons/gloot/editor/inventory_editor/inventory_editor.gd b/addons/gloot/editor/inventory_editor/inventory_editor.gd
index a4c85eb1..56c5e266 100644
--- a/addons/gloot/editor/inventory_editor/inventory_editor.gd
+++ b/addons/gloot/editor/inventory_editor/inventory_editor.gd
@@ -1,6 +1,7 @@
@tool
extends Control
+const GlootUndoRedo = preload("res://addons/gloot/editor/gloot_undo_redo.gd")
const EditorIcons = preload("res://addons/gloot/editor/common/editor_icons.gd")
@onready var hsplit_container = $HSplitContainer
@@ -10,126 +11,113 @@ const EditorIcons = preload("res://addons/gloot/editor/common/editor_icons.gd")
@onready var btn_remove = $HSplitContainer/VBoxContainer/HBoxContainer/BtnRemove
@onready var scroll_container = $HSplitContainer/VBoxContainer/ScrollContainer
var inventory: Inventory :
- get:
- return inventory
- set(new_inventory):
- disconnect_inventory_signals()
- inventory = new_inventory
- connect_inventory_signals()
-
- _refresh()
-var editor_interface: EditorInterface
-var gloot_undo_redo :
- get:
- return gloot_undo_redo
- set(new_gloot_undo_redo):
- gloot_undo_redo = new_gloot_undo_redo
- if _inventory_control is CtrlInventoryGrid:
- _inventory_control._gloot_undo_redo = gloot_undo_redo
+ get:
+ return inventory
+ set(new_inventory):
+ disconnect_inventory_signals()
+ inventory = new_inventory
+ connect_inventory_signals()
+
+ _refresh()
var _inventory_control: Control
func connect_inventory_signals():
- if !inventory:
- return
+ if !inventory:
+ return
- if inventory is InventoryStacked:
- inventory.capacity_changed.connect(Callable(self, "_refresh"))
- if inventory is InventoryGrid:
- inventory.size_changed.connect(Callable(self, "_refresh"))
- inventory.protoset_changed.connect(Callable(self, "_refresh"))
+ if inventory is InventoryStacked:
+ inventory.capacity_changed.connect(_refresh)
+ if inventory is InventoryGrid:
+ inventory.size_changed.connect(_refresh)
+ inventory.protoset_changed.connect(_refresh)
- if !inventory.item_protoset:
- return
- inventory.item_protoset.changed.connect(Callable(self, "_refresh"))
+ if !inventory.item_protoset:
+ return
+ inventory.item_protoset.changed.connect(_refresh)
func disconnect_inventory_signals():
- if !inventory:
- return
-
- if inventory is InventoryStacked:
- inventory.capacity_changed.disconnect(Callable(self, "_refresh"))
- if inventory is InventoryGrid:
- inventory.size_changed.disconnect(Callable(self, "_refresh"))
- inventory.protoset_changed.disconnect(Callable(self, "_refresh"))
+ if !inventory:
+ return
+
+ if inventory is InventoryStacked:
+ inventory.capacity_changed.disconnect(_refresh)
+ if inventory is InventoryGrid:
+ inventory.size_changed.disconnect(_refresh)
+ inventory.protoset_changed.disconnect(_refresh)
- if !inventory.item_protoset:
- return
- inventory.item_protoset.changed.disconnect(Callable(self, "_refresh"))
+ if !inventory.item_protoset:
+ return
+ inventory.item_protoset.changed.disconnect(_refresh)
func _refresh() -> void:
- if !is_inside_tree() || inventory == null || inventory.item_protoset == null:
- return
-
- # Remove the inventory control, if present
- if _inventory_control:
- scroll_container.remove_child(_inventory_control)
- _inventory_control.queue_free()
- _inventory_control = null
-
- # Create the appropriate inventory control and populate it
- if inventory is InventoryGrid:
- _inventory_control = CtrlInventoryGrid.new()
- _inventory_control.grid_color = Color.GRAY
- _inventory_control.draw_selections = true
- # TODO: Find a better way for undoing/redoing item movements:
- _inventory_control._gloot_undo_redo = gloot_undo_redo
- elif inventory is InventoryStacked:
- _inventory_control = CtrlInventoryStacked.new()
- elif inventory is Inventory:
- _inventory_control = CtrlInventory.new()
- _inventory_control.size_flags_horizontal = SIZE_EXPAND_FILL
- _inventory_control.size_flags_vertical = SIZE_EXPAND_FILL
- _inventory_control.inventory = inventory
- _inventory_control.inventory_item_activated.connect(Callable(self, "_on_inventory_item_activated"))
-
- scroll_container.add_child(_inventory_control)
-
- # Set prototype_id_filter values
- prototype_id_filter.set_values(inventory.item_protoset._prototypes.keys())
+ if !is_inside_tree() || inventory == null || inventory.item_protoset == null:
+ return
+
+ # Remove the inventory control, if present
+ if _inventory_control:
+ scroll_container.remove_child(_inventory_control)
+ _inventory_control.queue_free()
+ _inventory_control = null
+
+ # Create the appropriate inventory control and populate it
+ if inventory is InventoryGrid:
+ _inventory_control = CtrlInventoryGrid.new()
+ _inventory_control.grid_color = Color.GRAY
+ _inventory_control.draw_selections = true
+ elif inventory is InventoryStacked:
+ _inventory_control = CtrlInventoryStacked.new()
+ elif inventory is Inventory:
+ _inventory_control = CtrlInventory.new()
+ _inventory_control.size_flags_horizontal = SIZE_EXPAND_FILL
+ _inventory_control.size_flags_vertical = SIZE_EXPAND_FILL
+ _inventory_control.inventory = inventory
+ _inventory_control.inventory_item_activated.connect(_on_inventory_item_activated)
+
+ scroll_container.add_child(_inventory_control)
+
+ # Set prototype_id_filter values
+ prototype_id_filter.set_values(inventory.item_protoset._prototypes.keys())
func _on_inventory_item_activated(item: InventoryItem) -> void:
- assert(gloot_undo_redo)
- gloot_undo_redo.remove_inventory_item(inventory, item)
+ GlootUndoRedo.remove_inventory_item(inventory, item)
func _ready() -> void:
- prototype_id_filter.pick_icon = EditorIcons.get_icon(editor_interface, "Add")
- prototype_id_filter.filter_icon = EditorIcons.get_icon(editor_interface, "Search")
- btn_edit.icon = EditorIcons.get_icon(editor_interface, "Edit")
- btn_remove.icon = EditorIcons.get_icon(editor_interface, "Remove")
+ prototype_id_filter.pick_icon = EditorIcons.get_icon("Add")
+ prototype_id_filter.filter_icon = EditorIcons.get_icon("Search")
+ btn_edit.icon = EditorIcons.get_icon("Edit")
+ btn_remove.icon = EditorIcons.get_icon("Remove")
- prototype_id_filter.choice_picked.connect(Callable(self, "_on_prototype_id_picked"))
- btn_edit.pressed.connect(Callable(self, "_on_btn_edit"))
- btn_remove.pressed.connect(Callable(self, "_on_btn_remove"))
- _refresh()
+ prototype_id_filter.choice_picked.connect(_on_prototype_id_picked)
+ btn_edit.pressed.connect(_on_btn_edit)
+ btn_remove.pressed.connect(_on_btn_remove)
+ _refresh()
func _on_prototype_id_picked(index: int) -> void:
- assert(gloot_undo_redo)
- var prototype_id = prototype_id_filter.values[index]
- gloot_undo_redo.add_inventory_item(inventory, prototype_id)
-
+ var prototype_id = prototype_id_filter.values[index]
+ GlootUndoRedo.add_inventory_item(inventory, prototype_id)
+
func _on_btn_edit() -> void:
- var selected_item: InventoryItem = _inventory_control.get_selected_inventory_item()
- if selected_item != null:
- # Call it deferred, so that the control can clean up
- call_deferred("_select_node", editor_interface, selected_item)
+ var selected_item: InventoryItem = _inventory_control.get_selected_inventory_item()
+ if selected_item != null:
+ # Call it deferred, so that the control can clean up
+ call_deferred("_select_node", selected_item)
func _on_btn_remove() -> void:
- assert(gloot_undo_redo)
- var selected_item: InventoryItem = _inventory_control.get_selected_inventory_item()
- if selected_item != null:
- gloot_undo_redo.remove_inventory_item(inventory, selected_item)
+ var selected_item: InventoryItem = _inventory_control.get_selected_inventory_item()
+ if selected_item != null:
+ GlootUndoRedo.remove_inventory_item(inventory, selected_item)
-static func _select_node(editor_interface: EditorInterface, node: Node) -> void:
- editor_interface.get_selection().clear()
- editor_interface.get_selection().add_node(node)
- editor_interface.edit_node(node)
+static func _select_node(node: Node) -> void:
+ EditorInterface.get_selection().clear()
+ EditorInterface.get_selection().add_node(node)
+ EditorInterface.edit_node(node)
diff --git a/addons/gloot/editor/inventory_editor/inventory_inspector.gd b/addons/gloot/editor/inventory_editor/inventory_inspector.gd
index f43ed124..f2e572a1 100644
--- a/addons/gloot/editor/inventory_editor/inventory_inspector.gd
+++ b/addons/gloot/editor/inventory_editor/inventory_inspector.gd
@@ -15,43 +15,23 @@ var inventory: Inventory :
inventory = new_inventory
if inventory_editor:
inventory_editor.inventory = inventory
-var editor_interface: EditorInterface :
- get:
- return editor_interface
- set(new_editor_interface):
- editor_interface = new_editor_interface
- if inventory_editor:
- inventory_editor.editor_interface = editor_interface
-var gloot_undo_redo :
- get:
- return gloot_undo_redo
- set(new_gloot_undo_redo):
- gloot_undo_redo = new_gloot_undo_redo
- if inventory_editor:
- inventory_editor.gloot_undo_redo = gloot_undo_redo
-func init(inventory_: Inventory, gloot_undo_redo_, editor_interface_: EditorInterface) -> void:
+func init(inventory_: Inventory) -> void:
inventory = inventory_
- gloot_undo_redo = gloot_undo_redo_
- editor_interface = editor_interface_
func _ready() -> void:
if inventory_editor:
inventory_editor.inventory = inventory
- inventory_editor.editor_interface = editor_interface
- inventory_editor.gloot_undo_redo = gloot_undo_redo
_apply_editor_settings()
- btn_expand.icon = EditorIcons.get_icon(editor_interface, "DistractionFree")
- btn_expand.pressed.connect(Callable(self, "on_btn_expand"))
+ btn_expand.icon = EditorIcons.get_icon("DistractionFree")
+ btn_expand.pressed.connect(on_btn_expand)
_window_dialog.close_requested.connect(func(): _window_dialog.hide())
func on_btn_expand() -> void:
_inventory_editor.inventory = inventory
- _inventory_editor.gloot_undo_redo = gloot_undo_redo
- _inventory_editor.editor_interface = editor_interface
_window_dialog.popup_centered()
diff --git a/addons/gloot/editor/inventory_inspector_plugin.gd b/addons/gloot/editor/inventory_inspector_plugin.gd
index d6dacb64..fa09e9f7 100644
--- a/addons/gloot/editor/inventory_inspector_plugin.gd
+++ b/addons/gloot/editor/inventory_inspector_plugin.gd
@@ -1,42 +1,33 @@
extends EditorInspectorPlugin
-var EditProtosetButton = preload("res://addons/gloot/editor/protoset_editor/edit_protoset_button.tscn")
-var InventoryInspector = preload("res://addons/gloot/editor/inventory_editor/inventory_inspector.tscn")
-var EditPropertiesButton = preload("res://addons/gloot/editor/item_editor/edit_properties_button.gd")
-var EditPrototypeIdButton = preload("res://addons/gloot/editor/item_editor/edit_prototype_id_button.gd")
-var EditEquippedItemButton = preload("res://addons/gloot/editor/item_slot_editor/edit_equipped_item_button.gd")
-var GlootUndoRedo = preload("res://addons/gloot/editor/gloot_undo_redo.gd")
-var editor_interface: EditorInterface = null
-var undo_redo_manager: EditorUndoRedoManager = null :
- get:
- return undo_redo_manager
- set(new_undo_redo):
- undo_redo_manager = new_undo_redo
- if gloot_undo_redo:
- gloot_undo_redo.undo_redo_manager = undo_redo_manager
-var gloot_undo_redo = null
-
-
-func _init():
- gloot_undo_redo = GlootUndoRedo.new()
- gloot_undo_redo.undo_redo_manager = undo_redo_manager
+const EditProtosetButton = preload("res://addons/gloot/editor/protoset_editor/edit_protoset_button.tscn")
+const InventoryInspector = preload("res://addons/gloot/editor/inventory_editor/inventory_inspector.tscn")
+const ItemSlotInspector = preload("res://addons/gloot/editor/item_slot_editor/item_slot_inspector.tscn")
+const ItemRefSlotButton = preload("res://addons/gloot/editor/item_slot_editor/item_ref_slot_button.gd")
+const EditPropertiesButton = preload("res://addons/gloot/editor/item_editor/edit_properties_button.gd")
+const EditPrototypeIdButton = preload("res://addons/gloot/editor/item_editor/edit_prototype_id_button.gd")
func _can_handle(object: Object) -> bool:
return (object is Inventory) || \
(object is InventoryItem) || \
(object is ItemSlot) || \
+ (object is ItemRefSlot) || \
(object is ItemProtoset)
func _parse_begin(object: Object) -> void:
if object is Inventory:
var inventory_inspector := InventoryInspector.instantiate()
- inventory_inspector.init(object as Inventory, gloot_undo_redo, editor_interface)
+ inventory_inspector.init(object as Inventory)
add_custom_control(inventory_inspector)
+ if object is ItemSlot:
+ var item_slot_inspector := ItemSlotInspector.instantiate()
+ item_slot_inspector.init(object as ItemSlot)
+ add_custom_control(item_slot_inspector)
if object is ItemProtoset:
var edit_protoset_button := EditProtosetButton.instantiate()
- edit_protoset_button.init(object as ItemProtoset, gloot_undo_redo, editor_interface)
+ edit_protoset_button.init(object as ItemProtoset)
add_custom_control(edit_protoset_button)
@@ -48,17 +39,13 @@ func _parse_property(object: Object,
usage: int,
wide: bool) -> bool:
if (object is InventoryItem) && name == "properties":
- var item_property_editor = EditPropertiesButton.new(gloot_undo_redo, editor_interface)
- add_property_editor(name, item_property_editor)
+ add_property_editor(name, EditPropertiesButton.new())
return true
if (object is InventoryItem) && name == "prototype_id":
- var item_prototype_id_editor = EditPrototypeIdButton.new(gloot_undo_redo, editor_interface)
- add_property_editor(name, item_prototype_id_editor)
+ add_property_editor(name, EditPrototypeIdButton.new())
return true
- if (object is ItemSlot) && name == "equipped_item":
- var item_slot_equipped_item_editor = EditEquippedItemButton.new()
- item_slot_equipped_item_editor.gloot_undo_redo = gloot_undo_redo
- add_property_editor(name, item_slot_equipped_item_editor)
+ if (object is ItemRefSlot) && name == "_equipped_item":
+ add_property_editor(name, ItemRefSlotButton.new())
return true
return false
diff --git a/addons/gloot/editor/item_editor/edit_properties_button.gd b/addons/gloot/editor/item_editor/edit_properties_button.gd
index f1a89581..e0d53423 100644
--- a/addons/gloot/editor/item_editor/edit_properties_button.gd
+++ b/addons/gloot/editor/item_editor/edit_properties_button.gd
@@ -6,34 +6,31 @@ const POPUP_SIZE = Vector2i(800, 300)
var current_value: Dictionary
var updating: bool = false
-var editor_interface: EditorInterface
var _btn_prototype_id: Button
var _properties_editor: Window
-func _init(gloot_undo_redo_, editor_interface_: EditorInterface):
+func _init():
_properties_editor = PropertiesEditor.instantiate()
- _properties_editor.init(gloot_undo_redo_, editor_interface_)
add_child(_properties_editor)
_btn_prototype_id = Button.new()
_btn_prototype_id.text = "Edit Properties"
- _btn_prototype_id.pressed.connect(Callable(self, "_on_btn_edit"))
+ _btn_prototype_id.pressed.connect(_on_btn_edit)
+ _btn_prototype_id.icon = EditorIcons.get_icon("Edit")
add_child(_btn_prototype_id)
func _ready() -> void:
- _btn_prototype_id.icon = EditorIcons.get_icon(editor_interface, "Edit")
-
var item: InventoryItem = get_edited_object()
if !item:
return
_properties_editor.item = item
- item.properties_changed.connect(Callable(self, "update_property"))
+ item.properties_changed.connect(update_property)
if !item.protoset:
return
- item.protoset.changed.connect(Callable(self, "_on_protoset_changed"))
+ item.protoset.changed.connect(_on_protoset_changed)
_refresh_button()
diff --git a/addons/gloot/editor/item_editor/edit_prototype_id_button.gd b/addons/gloot/editor/item_editor/edit_prototype_id_button.gd
index 7e2a806f..1ac4e696 100644
--- a/addons/gloot/editor/item_editor/edit_prototype_id_button.gd
+++ b/addons/gloot/editor/item_editor/edit_prototype_id_button.gd
@@ -10,23 +10,22 @@ var _prototype_id_editor: Window
var _btn_prototype_id: Button
-func _init(gloot_undo_redo_, editor_interface_: EditorInterface):
+func _init():
_prototype_id_editor = PrototypeIdEditor.instantiate()
- _prototype_id_editor.init(gloot_undo_redo_, editor_interface_)
add_child(_prototype_id_editor)
_btn_prototype_id = Button.new()
_btn_prototype_id.text = "Prototype ID"
- _btn_prototype_id.pressed.connect(Callable(self, "_on_btn_prototype_id"))
+ _btn_prototype_id.pressed.connect(_on_btn_prototype_id)
add_child(_btn_prototype_id)
func _ready() -> void:
var item: InventoryItem = get_edited_object()
_prototype_id_editor.item = item
- item.prototype_id_changed.connect(Callable(self, "_on_prototype_id_changed"))
+ item.prototype_id_changed.connect(_refresh_button)
if item.protoset:
- item.protoset.changed.connect(Callable(self, "_on_protoset_changed"))
+ item.protoset.changed.connect(_refresh_button)
_refresh_button()
@@ -50,14 +49,6 @@ func _get_popup_at_mouse_position(size: Vector2i) -> Vector2i:
return popup_pos
-func _on_prototype_id_changed() -> void:
- _refresh_button()
-
-
-func _on_protoset_changed() -> void:
- _refresh_button()
-
-
func update_property() -> void:
var new_value = get_edited_object()[get_edited_property()]
if new_value == current_value:
diff --git a/addons/gloot/editor/item_editor/properties_editor.gd b/addons/gloot/editor/item_editor/properties_editor.gd
index 04b575f8..60a6e45f 100644
--- a/addons/gloot/editor/item_editor/properties_editor.gd
+++ b/addons/gloot/editor/item_editor/properties_editor.gd
@@ -1,6 +1,7 @@
@tool
extends Window
+const GlootUndoRedo = preload("res://addons/gloot/editor/gloot_undo_redo.gd")
const GridConstraint = preload("res://addons/gloot/core/constraints/grid_constraint.gd")
const DictEditor = preload("res://addons/gloot/editor/common/dict_editor.tscn")
const EditorIcons = preload("res://addons/gloot/editor/common/editor_icons.gd")
@@ -10,8 +11,6 @@ var IMMUTABLE_KEYS: Array[String] = [ItemProtoset.KEY_ID, GridConstraint.KEY_GRI
@onready var _margin_container: MarginContainer = $"MarginContainer"
@onready var _dict_editor: Control = $"MarginContainer/DictEditor"
-var gloot_undo_redo = null
-var editor_interface: EditorInterface
var item: InventoryItem = null :
get:
return item
@@ -21,17 +20,10 @@ var item: InventoryItem = null :
assert(item == null, "Item already set!")
item = new_item
if item.protoset:
- item.protoset.changed.connect(Callable(self, "_refresh"))
+ item.protoset.changed.connect(_refresh)
_refresh()
-func init(gloot_undo_redo_, editor_interface_: EditorInterface) -> void:
- assert(gloot_undo_redo_, "gloot_undo_redo_ is null!")
- assert(editor_interface_, "editor_interface_ is null!")
- gloot_undo_redo = gloot_undo_redo_
- editor_interface = editor_interface_
-
-
func _ready() -> void:
about_to_popup.connect(func(): _refresh())
close_requested.connect(func(): hide())
@@ -51,7 +43,7 @@ func _on_value_changed(key: String, new_value) -> void:
if new_properties.hash() == item.properties.hash():
return
- gloot_undo_redo.set_item_properties(item, new_properties)
+ GlootUndoRedo.set_item_properties(item, new_properties)
_refresh()
@@ -62,13 +54,13 @@ func _on_value_removed(key: String) -> void:
if new_properties.hash() == item.properties.hash():
return
- gloot_undo_redo.set_item_properties(item, new_properties)
+ GlootUndoRedo.set_item_properties(item, new_properties)
_refresh()
func _refresh() -> void:
if _dict_editor.btn_add:
- _dict_editor.btn_add.icon = EditorIcons.get_icon(editor_interface, "Add")
+ _dict_editor.btn_add.icon = EditorIcons.get_icon("Add")
_dict_editor.dictionary = _get_dictionary()
_dict_editor.color_map = _get_color_map()
_dict_editor.remove_button_map = _get_remove_button_map()
@@ -123,10 +115,10 @@ func _get_remove_button_map() -> Dictionary:
result[key] = {}
if item.protoset.get_prototype(item.prototype_id).has(key):
result[key]["text"] = ""
- result[key]["icon"] = EditorIcons.get_icon(editor_interface, "Reload")
+ result[key]["icon"] = EditorIcons.get_icon("Reload")
else:
result[key]["text"] = ""
- result[key]["icon"] = EditorIcons.get_icon(editor_interface, "Remove")
+ result[key]["icon"] = EditorIcons.get_icon("Remove")
result[key]["disabled"] = (not key in item.properties) or (key in IMMUTABLE_KEYS)
return result
diff --git a/addons/gloot/editor/item_editor/prototype_id_editor.gd b/addons/gloot/editor/item_editor/prototype_id_editor.gd
index 8ccd860f..b6168d94 100644
--- a/addons/gloot/editor/item_editor/prototype_id_editor.gd
+++ b/addons/gloot/editor/item_editor/prototype_id_editor.gd
@@ -1,14 +1,13 @@
@tool
extends Window
+const GlootUndoRedo = preload("res://addons/gloot/editor/gloot_undo_redo.gd")
const ChoiceFilter = preload("res://addons/gloot/editor/common/choice_filter.tscn")
const EditorIcons = preload("res://addons/gloot/editor/common/editor_icons.gd")
const POPUP_MARGIN = 10
@onready var _margin_container: MarginContainer = $"MarginContainer"
@onready var _choice_filter: Control = $"MarginContainer/ChoiceFilter"
-var gloot_undo_redo = null
-var editor_interface: EditorInterface
var item: InventoryItem = null :
get:
return item
@@ -18,19 +17,12 @@ var item: InventoryItem = null :
assert(item == null, "Item already set!")
item = new_item
if item.protoset:
- item.protoset.changed.connect(Callable(self, "_refresh"))
+ item.protoset.changed.connect(_refresh)
_refresh()
-func init(gloot_undo_redo_, editor_interface_: EditorInterface) -> void:
- assert(gloot_undo_redo_, "gloot_undo_redo_ is null!")
- assert(editor_interface_, "editor_interface_ is null!")
- gloot_undo_redo = gloot_undo_redo_
- editor_interface = editor_interface_
-
-
func _ready() -> void:
- _choice_filter.filter_icon = EditorIcons.get_icon(editor_interface, "Search")
+ _choice_filter.filter_icon = EditorIcons.get_icon("Search")
about_to_popup.connect(func(): _refresh())
close_requested.connect(func(): hide())
_choice_filter.choice_picked.connect(func(value_index: int): _on_choice_picked(value_index))
@@ -41,7 +33,7 @@ func _on_choice_picked(value_index: int) -> void:
assert(item, "Item not set!")
var new_prototype_id = _choice_filter.values[value_index]
if new_prototype_id != item.prototype_id:
- gloot_undo_redo.set_item_prototype_id(item, new_prototype_id)
+ GlootUndoRedo.set_item_prototype_id(item, new_prototype_id)
hide()
diff --git a/addons/gloot/editor/item_slot_editor/edit_equipped_item_button.gd b/addons/gloot/editor/item_slot_editor/edit_equipped_item_button.gd
deleted file mode 100644
index f1db473f..00000000
--- a/addons/gloot/editor/item_slot_editor/edit_equipped_item_button.gd
+++ /dev/null
@@ -1,77 +0,0 @@
-extends EditorProperty
-
-var updating: bool = false
-var _option_button: OptionButton
-var gloot_undo_redo = null
-
-
-func _init():
- _option_button = OptionButton.new()
- add_child(_option_button)
- add_focusable(_option_button)
- _option_button.item_selected.connect(Callable(self, "_on_item_selected"))
-
-
-func _ready() -> void:
- var item_slot: ItemSlot = get_edited_object()
- item_slot.inventory_changed.connect(Callable(self, "_on_inventory_changed"))
- item_slot.item_set.connect(Callable(self, "_on_item_set"))
- item_slot.item_cleared.connect(Callable(self, "_on_item_cleared"))
- _refresh_option_button()
-
-
-func _on_inventory_changed(inventory: Inventory) -> void:
- _refresh_option_button()
-
-
-func _on_item_set(item: InventoryItem) -> void:
- _refresh_option_button()
-
-
-func _on_item_cleared() -> void:
- _refresh_option_button()
-
-
-func _refresh_option_button() -> void:
- _clear_option_button()
- _populate_option_button()
-
-
-func _clear_option_button() -> void:
- _option_button.clear()
- _option_button.add_item("NONE")
- _option_button.set_item_metadata(0, -1)
- _option_button.select(0)
-
-
-func _populate_option_button() -> void:
- if !get_edited_object():
- return
-
- var item_slot: ItemSlot = get_edited_object()
- if !item_slot.inventory:
- return
-
- var selected_item_index = 0
- for inventory_item_index in range(item_slot.inventory.get_item_count()):
- var item = item_slot.inventory.get_items()[inventory_item_index]
- _option_button.add_icon_item(item.get_texture(), item.get_title())
- var current_item_index = _option_button.get_item_count() - 1
- _option_button.set_item_metadata(current_item_index, inventory_item_index)
- if item == item_slot.item:
- selected_item_index = current_item_index
-
- _option_button.select(selected_item_index)
-
-
-func _on_item_selected(item_index: int) -> void:
- if !get_edited_object() || updating:
- return
-
- updating = true
- var item_slot: ItemSlot = get_edited_object()
- var new_equipped_item = _option_button.get_item_metadata(item_index)
- if item_slot.equipped_item != new_equipped_item:
- gloot_undo_redo.set_item_slot_equipped_item(item_slot, new_equipped_item)
- updating = false
-
diff --git a/addons/gloot/editor/item_slot_editor/item_ref_slot_button.gd b/addons/gloot/editor/item_slot_editor/item_ref_slot_button.gd
new file mode 100644
index 00000000..0e1abfea
--- /dev/null
+++ b/addons/gloot/editor/item_slot_editor/item_ref_slot_button.gd
@@ -0,0 +1,67 @@
+extends EditorProperty
+
+const GlootUndoRedo = preload("res://addons/gloot/editor/gloot_undo_redo.gd")
+
+var updating: bool = false
+var _option_button: OptionButton
+
+
+func _init():
+ _option_button = OptionButton.new()
+ add_child(_option_button)
+ add_focusable(_option_button)
+ _option_button.item_selected.connect(_on_item_selected)
+
+
+func _ready() -> void:
+ var item_ref_slot: ItemRefSlot = get_edited_object()
+ item_ref_slot.inventory_changed.connect(_refresh_option_button)
+ item_ref_slot.item_equipped.connect(_refresh_option_button)
+ item_ref_slot.cleared.connect(_refresh_option_button)
+ _refresh_option_button()
+
+
+func _refresh_option_button() -> void:
+ _clear_option_button()
+ _populate_option_button()
+
+
+func _clear_option_button() -> void:
+ _option_button.clear()
+ _option_button.add_item("None")
+ _option_button.set_item_metadata(0, null)
+ _option_button.select(0)
+
+
+func _populate_option_button() -> void:
+ if !get_edited_object():
+ return
+
+ var item_ref_slot: ItemRefSlot = get_edited_object()
+ if !item_ref_slot.inventory:
+ return
+
+ var equipped_item_index := 0
+ for item in item_ref_slot.inventory.get_items():
+ _option_button.add_icon_item(item.get_texture(), item.get_title())
+ var option_item_index = _option_button.get_item_count() - 1
+ _option_button.set_item_metadata(option_item_index, item)
+ if item == item_ref_slot.get_item():
+ equipped_item_index = option_item_index
+
+ _option_button.select(equipped_item_index)
+
+
+func _on_item_selected(item_index: int) -> void:
+ if !get_edited_object() || updating:
+ return
+
+ updating = true
+ var item_ref_slot: ItemRefSlot = get_edited_object()
+ var selected_item: InventoryItem = _option_button.get_item_metadata(item_index)
+ if item_ref_slot.get_item() != selected_item:
+ if selected_item == null:
+ GlootUndoRedo.clear_item_slot(item_ref_slot)
+ else:
+ GlootUndoRedo.equip_item_in_item_slot(item_ref_slot, selected_item)
+ updating = false
diff --git a/addons/gloot/editor/item_slot_editor/item_slot_editor.gd b/addons/gloot/editor/item_slot_editor/item_slot_editor.gd
new file mode 100644
index 00000000..8c640523
--- /dev/null
+++ b/addons/gloot/editor/item_slot_editor/item_slot_editor.gd
@@ -0,0 +1,108 @@
+@tool
+extends Control
+
+const GlootUndoRedo = preload("res://addons/gloot/editor/gloot_undo_redo.gd")
+const EditorIcons = preload("res://addons/gloot/editor/common/editor_icons.gd")
+
+@onready var hsplit_container = $HSplitContainer
+@onready var prototype_id_filter = $HSplitContainer/ChoiceFilter
+@onready var btn_edit = $HSplitContainer/VBoxContainer/HBoxContainer/BtnEdit
+@onready var btn_clear = $HSplitContainer/VBoxContainer/HBoxContainer/BtnClear
+@onready var ctrl_item_slot = $HSplitContainer/VBoxContainer/CtrlItemSlot
+
+var item_slot: ItemSlot :
+ get:
+ return item_slot
+ set(new_item_slot):
+ disconnect_item_slot_signals()
+ item_slot = new_item_slot
+ ctrl_item_slot.item_slot = item_slot
+ connect_item_slot_signals()
+
+ _refresh()
+
+
+func connect_item_slot_signals():
+ if !item_slot:
+ return
+
+ item_slot.item_equipped.connect(_refresh)
+ item_slot.cleared.connect(_refresh)
+
+ if !item_slot.item_protoset:
+ return
+ item_slot.item_protoset.changed.connect(_refresh)
+ item_slot.protoset_changed.connect(_refresh)
+
+
+func disconnect_item_slot_signals():
+ if !item_slot:
+ return
+
+ item_slot.item_equipped.disconnect(_refresh)
+ item_slot.cleared.disconnect(_refresh)
+
+ if !item_slot.item_protoset:
+ return
+ item_slot.item_protoset.changed.disconnect(_refresh)
+ item_slot.protoset_changed.disconnect(_refresh)
+
+
+func init(item_slot_: ItemSlot) -> void:
+ item_slot = item_slot_
+
+
+func _refresh() -> void:
+ if !is_inside_tree() || item_slot == null || item_slot.item_protoset == null:
+ return
+ prototype_id_filter.set_values(item_slot.item_protoset._prototypes.keys())
+
+
+func _ready() -> void:
+ _apply_editor_settings()
+
+ prototype_id_filter.pick_icon = EditorIcons.get_icon("Add")
+ prototype_id_filter.filter_icon = EditorIcons.get_icon("Search")
+ btn_edit.icon = EditorIcons.get_icon("Edit")
+ btn_clear.icon = EditorIcons.get_icon("Remove")
+
+ prototype_id_filter.choice_picked.connect(_on_prototype_id_picked)
+ btn_edit.pressed.connect(_on_btn_edit)
+ btn_clear.pressed.connect(_on_btn_clear)
+
+ ctrl_item_slot.item_slot = item_slot
+ _refresh()
+
+
+func _apply_editor_settings() -> void:
+ var control_height: int = ProjectSettings.get_setting("gloot/inspector_control_height")
+ custom_minimum_size.y = control_height
+
+
+func _on_prototype_id_picked(index: int) -> void:
+ var prototype_id = prototype_id_filter.values[index]
+ var item := InventoryItem.new()
+ if item_slot.get_item() != null:
+ item_slot.get_item().queue_free()
+ item.protoset = item_slot.item_protoset
+ item.prototype_id = prototype_id
+ GlootUndoRedo.equip_item_in_item_slot(item_slot, item)
+
+
+func _on_btn_edit() -> void:
+ if item_slot.get_item() != null:
+ # Call it deferred, so that the control can clean up
+ call_deferred("_select_node", item_slot.get_item())
+
+
+func _on_btn_clear() -> void:
+ if item_slot.get_item() != null:
+ item_slot.get_item().queue_free()
+ GlootUndoRedo.clear_item_slot(item_slot)
+
+
+static func _select_node(node: Node) -> void:
+ EditorInterface.get_selection().clear()
+ EditorInterface.get_selection().add_node(node)
+ EditorInterface.edit_node(node)
+
diff --git a/addons/gloot/editor/item_slot_editor/item_slot_editor.tscn b/addons/gloot/editor/item_slot_editor/item_slot_editor.tscn
new file mode 100644
index 00000000..67a00ff3
--- /dev/null
+++ b/addons/gloot/editor/item_slot_editor/item_slot_editor.tscn
@@ -0,0 +1,103 @@
+[gd_scene load_steps=12 format=3 uid="uid://bgs0xwufm4k6k"]
+
+[ext_resource type="Script" path="res://addons/gloot/editor/item_slot_editor/item_slot_editor.gd" id="1_d7a2m"]
+[ext_resource type="PackedScene" uid="uid://dj577duf8yjeb" path="res://addons/gloot/editor/common/choice_filter.tscn" id="2_lcnj8"]
+[ext_resource type="Script" path="res://addons/gloot/ui/ctrl_item_slot.gd" id="3_421wi"]
+
+[sub_resource type="Image" id="Image_ktvjb"]
+data = {
+"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0),
+"format": "RGBA8",
+"height": 16,
+"mipmaps": false,
+"width": 16
+}
+
+[sub_resource type="ImageTexture" id="ImageTexture_t45ni"]
+image = SubResource("Image_ktvjb")
+
+[sub_resource type="Image" id="Image_rhg3a"]
+data = {
+"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 225, 225, 225, 68, 224, 224, 224, 184, 224, 224, 224, 240, 224, 224, 224, 232, 224, 224, 224, 186, 227, 227, 227, 62, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 129, 224, 224, 224, 254, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 122, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 225, 225, 225, 68, 224, 224, 224, 254, 224, 224, 224, 254, 224, 224, 224, 123, 224, 224, 224, 32, 224, 224, 224, 33, 225, 225, 225, 125, 224, 224, 224, 254, 224, 224, 224, 254, 226, 226, 226, 69, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 184, 224, 224, 224, 255, 224, 224, 224, 123, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 225, 225, 225, 125, 224, 224, 224, 255, 225, 225, 225, 174, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 240, 224, 224, 224, 255, 231, 231, 231, 31, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 226, 226, 226, 35, 224, 224, 224, 255, 224, 224, 224, 233, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 232, 224, 224, 224, 255, 224, 224, 224, 32, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 228, 228, 228, 37, 224, 224, 224, 255, 224, 224, 224, 228, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 186, 224, 224, 224, 255, 224, 224, 224, 123, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 130, 224, 224, 224, 255, 224, 224, 224, 173, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 227, 227, 227, 62, 224, 224, 224, 255, 224, 224, 224, 254, 225, 225, 225, 126, 225, 225, 225, 34, 227, 227, 227, 36, 224, 224, 224, 131, 224, 224, 224, 255, 224, 224, 224, 255, 226, 226, 226, 77, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 122, 224, 224, 224, 254, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 210, 231, 231, 231, 21, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 226, 226, 226, 69, 225, 225, 225, 174, 224, 224, 224, 233, 224, 224, 224, 228, 224, 224, 224, 173, 226, 226, 226, 77, 224, 224, 224, 210, 224, 224, 224, 255, 224, 224, 224, 210, 231, 231, 231, 21, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 210, 224, 224, 224, 255, 224, 224, 224, 210, 231, 231, 231, 21, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 210, 224, 224, 224, 255, 224, 224, 224, 210, 231, 231, 231, 21, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 210, 224, 224, 224, 227, 225, 225, 225, 34, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 225, 225, 225, 34, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0),
+"format": "RGBA8",
+"height": 16,
+"mipmaps": false,
+"width": 16
+}
+
+[sub_resource type="ImageTexture" id="ImageTexture_3hnnf"]
+image = SubResource("Image_rhg3a")
+
+[sub_resource type="Image" id="Image_8ww1c"]
+data = {
+"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 225, 225, 225, 182, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 180, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 171, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 170, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 234, 224, 224, 224, 234, 231, 231, 231, 21, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 225, 225, 225, 85, 225, 225, 225, 85, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0),
+"format": "RGBA8",
+"height": 16,
+"mipmaps": false,
+"width": 16
+}
+
+[sub_resource type="ImageTexture" id="ImageTexture_yqex5"]
+image = SubResource("Image_8ww1c")
+
+[sub_resource type="Image" id="Image_240jw"]
+data = {
+"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 227, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 225, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 73, 224, 224, 224, 226, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 225, 226, 226, 226, 70, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0),
+"format": "RGBA8",
+"height": 16,
+"mipmaps": false,
+"width": 16
+}
+
+[sub_resource type="ImageTexture" id="ImageTexture_ip6wh"]
+image = SubResource("Image_240jw")
+
+[node name="ItemSlotEditor" type="Control"]
+custom_minimum_size = Vector2(0, 200)
+layout_mode = 3
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+script = ExtResource("1_d7a2m")
+
+[node name="HSplitContainer" type="HSplitContainer" parent="."]
+layout_mode = 0
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+
+[node name="ChoiceFilter" parent="HSplitContainer" instance=ExtResource("2_lcnj8")]
+layout_mode = 2
+pick_text = "Equip"
+pick_icon = SubResource("ImageTexture_t45ni")
+filter_text = "Filter Prototypes:"
+filter_icon = SubResource("ImageTexture_3hnnf")
+
+[node name="VBoxContainer" type="VBoxContainer" parent="HSplitContainer"]
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_vertical = 3
+
+[node name="CtrlItemSlot" type="Control" parent="HSplitContainer/VBoxContainer"]
+custom_minimum_size = Vector2(32, 32)
+layout_mode = 2
+size_flags_vertical = 3
+script = ExtResource("3_421wi")
+
+[node name="HBoxContainer" type="HBoxContainer" parent="HSplitContainer/VBoxContainer"]
+layout_mode = 2
+
+[node name="BtnEdit" type="Button" parent="HSplitContainer/VBoxContainer/HBoxContainer"]
+layout_mode = 2
+size_flags_horizontal = 3
+text = "Edit"
+icon = SubResource("ImageTexture_yqex5")
+
+[node name="BtnClear" type="Button" parent="HSplitContainer/VBoxContainer/HBoxContainer"]
+layout_mode = 2
+size_flags_horizontal = 3
+text = "Clear"
+icon = SubResource("ImageTexture_ip6wh")
diff --git a/addons/gloot/editor/item_slot_editor/item_slot_inspector.gd b/addons/gloot/editor/item_slot_editor/item_slot_inspector.gd
new file mode 100644
index 00000000..7cdee922
--- /dev/null
+++ b/addons/gloot/editor/item_slot_editor/item_slot_inspector.gd
@@ -0,0 +1,40 @@
+@tool
+extends Control
+
+const EditorIcons = preload("res://addons/gloot/editor/common/editor_icons.gd")
+
+@onready var item_slot_editor: Control = $HBoxContainer/ItemSlotEditor
+@onready var btn_expand: Button = $HBoxContainer/BtnExpand
+@onready var _window_dialog: Window = $Window
+@onready var _item_slot_editor: Control = $Window/MarginContainer/ItemSlotEditor
+
+var item_slot: ItemSlot :
+ get:
+ return item_slot
+ set(new_item_slot):
+ item_slot = new_item_slot
+ if item_slot_editor:
+ item_slot_editor.item_slot = item_slot
+
+
+func init(item_slot_: ItemSlot) -> void:
+ item_slot = item_slot_
+
+
+func _ready() -> void:
+ if item_slot_editor:
+ item_slot_editor.item_slot = item_slot
+ _apply_editor_settings()
+ btn_expand.icon = EditorIcons.get_icon("DistractionFree")
+ btn_expand.pressed.connect(on_btn_expand)
+ _window_dialog.close_requested.connect(func(): _window_dialog.hide())
+
+
+func on_btn_expand() -> void:
+ _item_slot_editor.item_slot = item_slot
+ _window_dialog.popup_centered()
+
+
+func _apply_editor_settings() -> void:
+ var control_height: int = ProjectSettings.get_setting("gloot/inspector_control_height")
+ custom_minimum_size.y = control_height
diff --git a/addons/gloot/editor/item_slot_editor/item_slot_inspector.tscn b/addons/gloot/editor/item_slot_editor/item_slot_inspector.tscn
new file mode 100644
index 00000000..d5fcc8f1
--- /dev/null
+++ b/addons/gloot/editor/item_slot_editor/item_slot_inspector.tscn
@@ -0,0 +1,66 @@
+[gd_scene load_steps=5 format=3 uid="uid://b8bv63d2djwv3"]
+
+[ext_resource type="Script" path="res://addons/gloot/editor/item_slot_editor/item_slot_inspector.gd" id="1_4gsgr"]
+[ext_resource type="PackedScene" uid="uid://bgs0xwufm4k6k" path="res://addons/gloot/editor/item_slot_editor/item_slot_editor.tscn" id="2_ysqy6"]
+
+[sub_resource type="Image" id="Image_ump51"]
+data = {
+"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 4, 255, 255, 255, 4, 255, 255, 255, 4, 255, 255, 255, 4, 255, 255, 255, 3, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 123, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 225, 225, 225, 127, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 225, 225, 225, 135, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 140, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 213, 232, 232, 232, 22, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 24, 224, 224, 224, 216, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 136, 224, 224, 224, 213, 224, 224, 224, 255, 224, 224, 224, 213, 232, 232, 232, 22, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 24, 224, 224, 224, 216, 224, 224, 224, 255, 224, 224, 224, 210, 224, 224, 224, 138, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 225, 225, 225, 126, 255, 255, 255, 0, 232, 232, 232, 22, 224, 224, 224, 213, 224, 224, 224, 255, 226, 226, 226, 103, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 107, 224, 224, 224, 255, 224, 224, 224, 210, 230, 230, 230, 20, 255, 255, 255, 0, 225, 225, 225, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 232, 232, 232, 22, 226, 226, 226, 103, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 105, 230, 230, 230, 20, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 24, 224, 224, 224, 107, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 225, 225, 225, 109, 232, 232, 232, 22, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 225, 225, 225, 127, 255, 255, 255, 0, 224, 224, 224, 24, 224, 224, 224, 216, 224, 224, 224, 255, 224, 224, 224, 105, 255, 255, 255, 0, 255, 255, 255, 0, 225, 225, 225, 109, 224, 224, 224, 255, 224, 224, 224, 213, 232, 232, 232, 22, 255, 255, 255, 0, 224, 224, 224, 129, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 140, 224, 224, 224, 216, 224, 224, 224, 255, 224, 224, 224, 210, 230, 230, 230, 20, 255, 255, 255, 0, 255, 255, 255, 0, 232, 232, 232, 22, 224, 224, 224, 213, 224, 224, 224, 255, 224, 224, 224, 213, 225, 225, 225, 142, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 210, 230, 230, 230, 20, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 232, 232, 232, 22, 224, 224, 224, 213, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 138, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 225, 225, 225, 142, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 225, 225, 225, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 129, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0),
+"format": "RGBA8",
+"height": 16,
+"mipmaps": false,
+"width": 16
+}
+
+[sub_resource type="ImageTexture" id="ImageTexture_eojh7"]
+image = SubResource("Image_ump51")
+
+[node name="ItemSlotInspector" type="Control"]
+custom_minimum_size = Vector2(0, 200)
+layout_mode = 3
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+script = ExtResource("1_4gsgr")
+
+[node name="HBoxContainer" type="HBoxContainer" parent="."]
+layout_mode = 0
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+size_flags_horizontal = 3
+size_flags_vertical = 3
+
+[node name="ItemSlotEditor" parent="HBoxContainer" instance=ExtResource("2_ysqy6")]
+layout_mode = 2
+size_flags_horizontal = 3
+
+[node name="BtnExpand" type="Button" parent="HBoxContainer"]
+layout_mode = 2
+icon = SubResource("ImageTexture_eojh7")
+
+[node name="Window" type="Window" parent="."]
+title = "Edit Item Slot"
+size = Vector2i(800, 600)
+visible = false
+exclusive = true
+min_size = Vector2i(400, 300)
+
+[node name="MarginContainer" type="MarginContainer" parent="Window"]
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+size_flags_horizontal = 3
+size_flags_vertical = 3
+theme_override_constants/margin_left = 10
+theme_override_constants/margin_top = 10
+theme_override_constants/margin_right = 10
+theme_override_constants/margin_bottom = 10
+
+[node name="ItemSlotEditor" parent="Window/MarginContainer" instance=ExtResource("2_ysqy6")]
+layout_mode = 2
diff --git a/addons/gloot/editor/protoset_editor/edit_protoset_button.gd b/addons/gloot/editor/protoset_editor/edit_protoset_button.gd
index 5fffc7e3..71990bbc 100644
--- a/addons/gloot/editor/protoset_editor/edit_protoset_button.gd
+++ b/addons/gloot/editor/protoset_editor/edit_protoset_button.gd
@@ -13,40 +13,15 @@ var protoset: ItemProtoset :
protoset = new_protoset
if protoset_editor:
protoset_editor.protoset = protoset
-var gloot_undo_redo = null :
- get:
- return gloot_undo_redo
- set(new_gloot_undo_redo):
- gloot_undo_redo = new_gloot_undo_redo
- if protoset_editor:
- protoset_editor.gloot_undo_redo = gloot_undo_redo
-var editor_interface: EditorInterface :
- get:
- return editor_interface
- set(new_editor_interface):
- editor_interface = new_editor_interface
- if protoset_editor:
- protoset_editor.editor_interface = editor_interface
-func init(protoset_: ItemProtoset, gloot_undo_redo_, editor_interface_: EditorInterface) -> void:
+func init(protoset_: ItemProtoset) -> void:
protoset = protoset_
- gloot_undo_redo = gloot_undo_redo_
- editor_interface = editor_interface_
func _ready() -> void:
- icon = EditorIcons.get_icon(editor_interface, "Edit")
- window_dialog.close_requested.connect(Callable(self, "_on_close_requested"))
+ icon = EditorIcons.get_icon("Edit")
+ window_dialog.close_requested.connect(func(): protoset.notify_property_list_changed())
protoset_editor.protoset = protoset
- protoset_editor.gloot_undo_redo = gloot_undo_redo
- protoset_editor.editor_interface = editor_interface
- pressed.connect(Callable(self, "_on_pressed"))
-
-
-func _on_close_requested() -> void:
- protoset.notify_property_list_changed()
-
+ pressed.connect(func(): window_dialog.popup_centered(window_dialog.size))
-func _on_pressed() -> void:
- window_dialog.popup_centered(window_dialog.size)
diff --git a/addons/gloot/editor/protoset_editor/edit_protoset_button.tscn b/addons/gloot/editor/protoset_editor/edit_protoset_button.tscn
index 721f40d6..57d03d32 100644
--- a/addons/gloot/editor/protoset_editor/edit_protoset_button.tscn
+++ b/addons/gloot/editor/protoset_editor/edit_protoset_button.tscn
@@ -1,8 +1,20 @@
-[gd_scene load_steps=3 format=3 uid="uid://bjme7iuv3j6yb"]
+[gd_scene load_steps=5 format=3 uid="uid://bjme7iuv3j6yb"]
[ext_resource type="PackedScene" uid="uid://cyj0avrwjowl" path="res://addons/gloot/editor/protoset_editor/protoset_editor.tscn" id="1"]
[ext_resource type="Script" path="res://addons/gloot/editor/protoset_editor/edit_protoset_button.gd" id="2"]
+[sub_resource type="Image" id="Image_tnk37"]
+data = {
+"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 225, 225, 225, 182, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 180, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 171, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 170, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 234, 224, 224, 224, 234, 231, 231, 231, 21, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 225, 225, 225, 85, 225, 225, 225, 85, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0),
+"format": "RGBA8",
+"height": 16,
+"mipmaps": false,
+"width": 16
+}
+
+[sub_resource type="ImageTexture" id="ImageTexture_18gso"]
+image = SubResource("Image_tnk37")
+
[node name="EditProtosetButton" type="Button"]
anchors_preset = 15
anchor_right = 1.0
@@ -10,19 +22,16 @@ anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
text = "Edit Protoset"
+icon = SubResource("ImageTexture_18gso")
script = ExtResource("2")
[node name="Window" type="Window" parent="."]
unique_name_in_owner = true
title = "Edit Protoset"
-size = Vector2i(800, 600)
+size = Vector2i(1000, 600)
visible = false
exclusive = true
-min_size = Vector2i(600, 200)
+min_size = Vector2i(800, 200)
[node name="ProtosetEditor" parent="Window" instance=ExtResource("1")]
unique_name_in_owner = true
-layout_mode = 3
-anchors_preset = 15
-grow_horizontal = 2
-grow_vertical = 2
diff --git a/addons/gloot/editor/protoset_editor/protoset_editor.gd b/addons/gloot/editor/protoset_editor/protoset_editor.gd
index 231025d5..0cfca1c5 100644
--- a/addons/gloot/editor/protoset_editor/protoset_editor.gd
+++ b/addons/gloot/editor/protoset_editor/protoset_editor.gd
@@ -1,12 +1,14 @@
@tool
extends Control
+const GlootUndoRedo = preload("res://addons/gloot/editor/gloot_undo_redo.gd")
const EditorIcons = preload("res://addons/gloot/editor/common/editor_icons.gd")
@onready var prototype_filter = $"%PrototypeFilter"
@onready var property_editor = $"%PropertyEditor"
@onready var txt_prototype_id = $"%TxtPrototypeName"
@onready var btn_add_prototype = $"%BtnAddPrototype"
+@onready var btn_duplicate_prototype = $"%BtnDuplicatePrototype"
@onready var btn_remove_prototype = $"%BtnRemovePrototype"
@onready var btn_rename_prototype = $"%BtnRenamePrototype"
@@ -16,30 +18,27 @@ var protoset: ItemProtoset :
set(new_protoset):
protoset = new_protoset
if protoset:
- protoset.changed.connect(Callable(self, "_on_protoset_changed"))
- _refresh()
-var gloot_undo_redo = null
-var editor_interface: EditorInterface :
- get:
- return editor_interface
- set(new_editor_interface):
- editor_interface = new_editor_interface
- btn_add_prototype.icon = EditorIcons.get_icon(editor_interface, "Add")
- btn_rename_prototype.icon = EditorIcons.get_icon(editor_interface, "Edit")
- btn_remove_prototype.icon = EditorIcons.get_icon(editor_interface, "Remove")
- prototype_filter.filter_icon = EditorIcons.get_icon(editor_interface, "Search")
+ protoset.changed.connect(_on_protoset_changed)
+ _refresh()
var selected_prototype_id: String = ""
-
+
func _ready() -> void:
- prototype_filter.choice_selected.connect(Callable(self, "_on_prototype_selected"))
- property_editor.value_changed.connect(Callable(self, "_on_property_changed"))
- property_editor.value_removed.connect(Callable(self, "_on_property_removed"))
- txt_prototype_id.text_changed.connect(Callable(self, "_on_prototype_id_changed"))
- txt_prototype_id.text_submitted.connect(Callable(self, "_on_prototype_id_entered"))
- btn_add_prototype.pressed.connect(Callable(self, "_on_btn_add_prototype"))
- btn_rename_prototype.pressed.connect(Callable(self, "_on_btn_rename_prototype"))
- btn_remove_prototype.pressed.connect(Callable(self, "_on_btn_remove_prototype"))
+ prototype_filter.choice_selected.connect(_on_prototype_selected)
+ property_editor.value_changed.connect(_on_property_changed)
+ property_editor.value_removed.connect(_on_property_removed)
+ txt_prototype_id.text_changed.connect(_on_prototype_id_changed)
+ txt_prototype_id.text_submitted.connect(_on_prototype_id_entered)
+ btn_add_prototype.pressed.connect(_on_btn_add_prototype)
+ btn_duplicate_prototype.pressed.connect(_on_btn_duplicate_prototype)
+ btn_rename_prototype.pressed.connect(_on_btn_rename_prototype)
+ btn_remove_prototype.pressed.connect(_on_btn_remove_prototype)
+
+ btn_add_prototype.icon = EditorIcons.get_icon("Add")
+ btn_duplicate_prototype.icon = EditorIcons.get_icon("Duplicate")
+ btn_rename_prototype.icon = EditorIcons.get_icon("Edit")
+ btn_remove_prototype.icon = EditorIcons.get_icon("Remove")
+ prototype_filter.filter_icon = EditorIcons.get_icon("Search")
_refresh()
@@ -52,6 +51,7 @@ func _refresh() -> void:
_refresh_btn_add_prototype()
_refresh_btn_rename_prototype()
_refresh_btn_remove_prototype()
+ _refresh_btn_duplicate_prototype()
_inspect_prototype_id(selected_prototype_id)
@@ -81,6 +81,10 @@ func _refresh_btn_remove_prototype() -> void:
btn_remove_prototype.disabled = prototype_filter.get_selected_text().is_empty()
+func _refresh_btn_duplicate_prototype() -> void:
+ btn_duplicate_prototype.disabled = prototype_filter.get_selected_text().is_empty()
+
+
func _on_protoset_changed() -> void:
_refresh()
@@ -89,6 +93,7 @@ func _on_prototype_selected(index: int) -> void:
selected_prototype_id = prototype_filter.values[index]
_inspect_prototype_id(selected_prototype_id)
_refresh_btn_remove_prototype()
+ _refresh_btn_duplicate_prototype()
func _inspect_prototype_id(prototype_id: String) -> void:
@@ -105,7 +110,7 @@ func _inspect_prototype_id(prototype_id: String) -> void:
property_editor.set_remove_button_config(property_name, {
"text": "",
"disabled": property_name == ItemProtoset.KEY_ID,
- "icon": EditorIcons.get_icon(editor_interface, "Remove"),
+ "icon": EditorIcons.get_icon("Remove"),
})
@@ -118,7 +123,7 @@ func _on_property_changed(property_name: String, new_value) -> void:
if new_properties.hash() == protoset.get_prototype(selected_prototype_id).hash():
return
- gloot_undo_redo.set_prototype_properties(protoset, selected_prototype_id, new_properties)
+ GlootUndoRedo.set_prototype_properties(protoset, selected_prototype_id, new_properties)
func _on_property_removed(property_name: String) -> void:
@@ -127,10 +132,10 @@ func _on_property_removed(property_name: String) -> void:
var new_properties = protoset.get_prototype(selected_prototype_id).duplicate()
new_properties.erase(property_name)
- gloot_undo_redo.set_prototype_properties(protoset, selected_prototype_id, new_properties)
+ GlootUndoRedo.set_prototype_properties(protoset, selected_prototype_id, new_properties)
-func _on_prototype_id_changed() -> void:
+func _on_prototype_id_changed(_prototype_id: String) -> void:
_refresh_btn_add_prototype()
_refresh_btn_rename_prototype()
@@ -143,28 +148,29 @@ func _on_btn_add_prototype() -> void:
_add_prototype_id(txt_prototype_id.text)
+func _on_btn_duplicate_prototype() -> void:
+ GlootUndoRedo.duplicate_prototype(protoset, selected_prototype_id)
+
+
func _on_btn_rename_prototype() -> void:
- assert(gloot_undo_redo)
if selected_prototype_id.is_empty():
return
- gloot_undo_redo.rename_prototype(protoset,
+ GlootUndoRedo.rename_prototype(protoset,
selected_prototype_id,
txt_prototype_id.text)
txt_prototype_id.text = ""
func _add_prototype_id(prototype_id: String) -> void:
- assert(gloot_undo_redo)
- gloot_undo_redo.add_prototype(protoset, prototype_id)
+ GlootUndoRedo.add_prototype(protoset, prototype_id)
txt_prototype_id.text = ""
func _on_btn_remove_prototype() -> void:
- assert(gloot_undo_redo)
if selected_prototype_id.is_empty():
return
var prototype_id = selected_prototype_id
if !prototype_id.is_empty():
- gloot_undo_redo.remove_prototype(protoset, prototype_id)
+ GlootUndoRedo.remove_prototype(protoset, prototype_id)
diff --git a/addons/gloot/editor/protoset_editor/protoset_editor.tscn b/addons/gloot/editor/protoset_editor/protoset_editor.tscn
index d7bf73da..77aca4e0 100644
--- a/addons/gloot/editor/protoset_editor/protoset_editor.tscn
+++ b/addons/gloot/editor/protoset_editor/protoset_editor.tscn
@@ -1,14 +1,76 @@
-[gd_scene load_steps=4 format=3 uid="uid://cyj0avrwjowl"]
+[gd_scene load_steps=14 format=3 uid="uid://cyj0avrwjowl"]
-[ext_resource type="PackedScene" path="res://addons/gloot/editor/common/choice_filter.tscn" id="1"]
+[ext_resource type="PackedScene" uid="uid://dj577duf8yjeb" path="res://addons/gloot/editor/common/choice_filter.tscn" id="1"]
[ext_resource type="PackedScene" uid="uid://digtudobrw3xb" path="res://addons/gloot/editor/common/dict_editor.tscn" id="2"]
[ext_resource type="Script" path="res://addons/gloot/editor/protoset_editor/protoset_editor.gd" id="3"]
+[sub_resource type="Image" id="Image_3d3lf"]
+data = {
+"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 225, 225, 225, 68, 224, 224, 224, 184, 224, 224, 224, 240, 224, 224, 224, 232, 224, 224, 224, 186, 227, 227, 227, 62, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 129, 224, 224, 224, 254, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 122, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 225, 225, 225, 68, 224, 224, 224, 254, 224, 224, 224, 254, 224, 224, 224, 123, 224, 224, 224, 32, 224, 224, 224, 33, 225, 225, 225, 125, 224, 224, 224, 254, 224, 224, 224, 254, 226, 226, 226, 69, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 184, 224, 224, 224, 255, 224, 224, 224, 123, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 225, 225, 225, 125, 224, 224, 224, 255, 225, 225, 225, 174, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 240, 224, 224, 224, 255, 231, 231, 231, 31, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 226, 226, 226, 35, 224, 224, 224, 255, 224, 224, 224, 233, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 232, 224, 224, 224, 255, 224, 224, 224, 32, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 228, 228, 228, 37, 224, 224, 224, 255, 224, 224, 224, 228, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 186, 224, 224, 224, 255, 224, 224, 224, 123, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 130, 224, 224, 224, 255, 224, 224, 224, 173, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 227, 227, 227, 62, 224, 224, 224, 255, 224, 224, 224, 254, 225, 225, 225, 126, 225, 225, 225, 34, 227, 227, 227, 36, 224, 224, 224, 131, 224, 224, 224, 255, 224, 224, 224, 255, 226, 226, 226, 77, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 122, 224, 224, 224, 254, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 210, 231, 231, 231, 21, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 226, 226, 226, 69, 225, 225, 225, 174, 224, 224, 224, 233, 224, 224, 224, 228, 224, 224, 224, 173, 226, 226, 226, 77, 224, 224, 224, 210, 224, 224, 224, 255, 224, 224, 224, 210, 231, 231, 231, 21, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 210, 224, 224, 224, 255, 224, 224, 224, 210, 231, 231, 231, 21, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 210, 224, 224, 224, 255, 224, 224, 224, 210, 231, 231, 231, 21, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 210, 224, 224, 224, 227, 225, 225, 225, 34, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 225, 225, 225, 34, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0),
+"format": "RGBA8",
+"height": 16,
+"mipmaps": false,
+"width": 16
+}
+
+[sub_resource type="ImageTexture" id="ImageTexture_ooqbn"]
+image = SubResource("Image_3d3lf")
+
+[sub_resource type="Image" id="Image_7dqyh"]
+data = {
+"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0),
+"format": "RGBA8",
+"height": 16,
+"mipmaps": false,
+"width": 16
+}
+
+[sub_resource type="ImageTexture" id="ImageTexture_dehry"]
+image = SubResource("Image_7dqyh")
+
+[sub_resource type="Image" id="Image_nsl4i"]
+data = {
+"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 225, 225, 225, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 224, 224, 224, 255, 225, 225, 225, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 225, 225, 225, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 225, 225, 225, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0),
+"format": "RGBA8",
+"height": 16,
+"mipmaps": false,
+"width": 16
+}
+
+[sub_resource type="ImageTexture" id="ImageTexture_cfl22"]
+image = SubResource("Image_nsl4i")
+
+[sub_resource type="Image" id="Image_o82dw"]
+data = {
+"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 225, 225, 225, 182, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 180, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 171, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 170, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 234, 224, 224, 224, 234, 231, 231, 231, 21, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 225, 225, 225, 85, 225, 225, 225, 85, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0),
+"format": "RGBA8",
+"height": 16,
+"mipmaps": false,
+"width": 16
+}
+
+[sub_resource type="ImageTexture" id="ImageTexture_qoier"]
+image = SubResource("Image_o82dw")
+
+[sub_resource type="Image" id="Image_ey4cw"]
+data = {
+"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 227, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 225, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 73, 224, 224, 224, 226, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 225, 226, 226, 226, 70, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0),
+"format": "RGBA8",
+"height": 16,
+"mipmaps": false,
+"width": 16
+}
+
+[sub_resource type="ImageTexture" id="ImageTexture_i8glk"]
+image = SubResource("Image_ey4cw")
+
[node name="ProtosetEditor" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
script = ExtResource("3")
[node name="Gui" type="HSplitContainer" parent="."]
@@ -36,6 +98,7 @@ unique_name_in_owner = true
layout_mode = 2
pick_button_visible = false
filter_text = "Prototype Filter:"
+filter_icon = SubResource("ImageTexture_ooqbn")
[node name="HBoxContainer2" type="HBoxContainer" parent="Gui/VBoxContainer"]
layout_mode = 2
@@ -52,6 +115,15 @@ layout_mode = 2
tooltip_text = "Add a new prototype with the entered ID"
disabled = true
text = "Add"
+icon = SubResource("ImageTexture_dehry")
+
+[node name="BtnDuplicatePrototype" type="Button" parent="Gui/VBoxContainer/HBoxContainer2"]
+unique_name_in_owner = true
+layout_mode = 2
+tooltip_text = "Duplicate the selected prototype"
+disabled = true
+text = "Duplicate"
+icon = SubResource("ImageTexture_cfl22")
[node name="BtnRenamePrototype" type="Button" parent="Gui/VBoxContainer/HBoxContainer2"]
unique_name_in_owner = true
@@ -59,6 +131,7 @@ layout_mode = 2
tooltip_text = "Rename the selected prototype"
disabled = true
text = "Rename"
+icon = SubResource("ImageTexture_qoier")
[node name="BtnRemovePrototype" type="Button" parent="Gui/VBoxContainer/HBoxContainer2"]
unique_name_in_owner = true
@@ -66,6 +139,7 @@ layout_mode = 2
tooltip_text = "Remove the selected prototype"
disabled = true
text = "Remove"
+icon = SubResource("ImageTexture_i8glk")
[node name="VBoxContainer2" type="VBoxContainer" parent="Gui"]
layout_mode = 2
diff --git a/addons/gloot/gloot.gd b/addons/gloot/gloot.gd
index 64093f7d..ad9cd79b 100644
--- a/addons/gloot/gloot.gd
+++ b/addons/gloot/gloot.gd
@@ -2,72 +2,38 @@
extends EditorPlugin
var inspector_plugin: EditorInspectorPlugin
+static var _instance: EditorPlugin
-func _enter_tree() -> void:
- add_custom_type("ItemProtoset", "Resource", preload("core/item_protoset.gd"), preload("images/icon_item_protoset.svg"))
-
- add_custom_type("InventoryItem", "Node", preload("core/inventory_item.gd"), preload("images/icon_item.svg"))
-
- add_custom_type("Inventory", "Node", preload("core/inventory.gd"), preload("images/icon_inventory.svg"))
- add_custom_type("InventoryStacked", "Node", preload("core/inventory_stacked.gd"), preload("images/icon_inventory_stacked.svg"))
- add_custom_type("InventoryGrid", "Node", preload("core/inventory_grid.gd"), preload("images/icon_inventory_grid.svg"))
- add_custom_type("InventoryGridStacked", "Node", preload("core/inventory_grid_stacked.gd"), preload("images/icon_inventory_grid_stacked.svg"))
+func _init() -> void:
+ _instance = self
- add_custom_type("ItemSlot", "Node", preload("core/item_slot.gd"), preload("images/icon_item_slot.svg"))
- add_custom_type("CtrlInventory", "Control", preload("ui/ctrl_inventory.gd"), preload("images/icon_ctrl_inventory.svg"))
- add_custom_type("CtrlInventoryStacked", "Control", preload("ui/ctrl_inventory_stacked.gd"), preload("images/icon_ctrl_inventory_stacked.svg"))
- add_custom_type("CtrlInventoryGrid", "Control", preload("ui/ctrl_inventory_grid.gd"), preload("images/icon_ctrl_inventory_grid.svg"))
- add_custom_type("CtrlInventoryGridEx", "Control", preload("ui/ctrl_inventory_grid_ex.gd"), preload("images/icon_ctrl_inventory_grid.svg"))
- add_custom_type("CtrlItemSlot", "Control", preload("ui/ctrl_item_slot.gd"), preload("images/icon_ctrl_item_slot.svg"))
- add_custom_type("CtrlItemSlotEx", "Control", preload("ui/ctrl_item_slot_ex.gd"), preload("images/icon_ctrl_item_slot.svg"))
+static func instance() -> EditorPlugin:
+ return _instance
- inspector_plugin = preload("res://addons/gloot/editor/inventory_inspector_plugin.gd").new()
- inspector_plugin.editor_interface = get_editor_interface()
- inspector_plugin.undo_redo_manager = get_undo_redo()
- add_inspector_plugin(inspector_plugin)
- add_autoload_singleton("GLoot", "res://addons/gloot/gloot_autoload.gd")
+func _enter_tree() -> void:
+ inspector_plugin = preload("res://addons/gloot/editor/inventory_inspector_plugin.gd").new()
+ add_inspector_plugin(inspector_plugin)
- _add_settings()
+ _add_settings()
func _exit_tree() -> void:
- remove_autoload_singleton("GLoot")
-
- remove_inspector_plugin(inspector_plugin)
-
- remove_custom_type("ItemProtoset")
-
- remove_custom_type("InventoryItem")
-
- remove_custom_type("Inventory")
- remove_custom_type("InventoryStacked")
- remove_custom_type("InventoryGrid")
- remove_custom_type("InventoryGridStacked")
-
- remove_custom_type("ItemSlot")
-
- remove_custom_type("CtrlInventory")
- remove_custom_type("CtrlInventoryStacked")
- remove_custom_type("CtrlInventoryGrid")
- remove_custom_type("CtrlInventoryGridEx")
- remove_custom_type("CtrlItemSlot")
- remove_custom_type("CtrlItemSlotEx")
-
+ remove_inspector_plugin(inspector_plugin)
func _add_settings() -> void:
- _add_setting("gloot/inspector_control_height", TYPE_INT, 200)
+ _add_setting("gloot/inspector_control_height", TYPE_INT, 200)
func _add_setting(name: String, type: int, value) -> void:
- if !ProjectSettings.has_setting(name):
- ProjectSettings.set(name, value)
-
- var property_info = {
- "name": name,
- "type": type
- }
- ProjectSettings.add_property_info(property_info)
- ProjectSettings.set_initial_value(name, value)
+ if !ProjectSettings.has_setting(name):
+ ProjectSettings.set(name, value)
+
+ var property_info = {
+ "name": name,
+ "type": type
+ }
+ ProjectSettings.add_property_info(property_info)
+ ProjectSettings.set_initial_value(name, value)
diff --git a/addons/gloot/images/icon_inventory.svg.import b/addons/gloot/images/icon_inventory.svg.import
index 2af2f081..dadd7032 100644
--- a/addons/gloot/images/icon_inventory.svg.import
+++ b/addons/gloot/images/icon_inventory.svg.import
@@ -3,26 +3,25 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://df2n5aculnj82"
-path.s3tc="res://.godot/imported/icon_inventory.svg-50bec89eff0070d5b4c81ef749399472.s3tc.ctex"
+path="res://.godot/imported/icon_inventory.svg-50bec89eff0070d5b4c81ef749399472.ctex"
metadata={
-"imported_formats": ["s3tc_bptc"],
-"vram_texture": true
+"vram_texture": false
}
[deps]
source_file="res://addons/gloot/images/icon_inventory.svg"
-dest_files=["res://.godot/imported/icon_inventory.svg-50bec89eff0070d5b4c81ef749399472.s3tc.ctex"]
+dest_files=["res://.godot/imported/icon_inventory.svg-50bec89eff0070d5b4c81ef749399472.ctex"]
[params]
-compress/mode=2
+compress/mode=0
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/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
@@ -32,7 +31,7 @@ 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
+detect_3d/compress_to=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false
diff --git a/addons/gloot/images/icon_item.svg.import b/addons/gloot/images/icon_item.svg.import
index c8dd2142..87f2f070 100644
--- a/addons/gloot/images/icon_item.svg.import
+++ b/addons/gloot/images/icon_item.svg.import
@@ -3,26 +3,25 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://qlt0i7muj2tj"
-path.s3tc="res://.godot/imported/icon_item.svg-19f0c54092b35b57bc3510f8accf9092.s3tc.ctex"
+path="res://.godot/imported/icon_item.svg-19f0c54092b35b57bc3510f8accf9092.ctex"
metadata={
-"imported_formats": ["s3tc_bptc"],
-"vram_texture": true
+"vram_texture": false
}
[deps]
source_file="res://addons/gloot/images/icon_item.svg"
-dest_files=["res://.godot/imported/icon_item.svg-19f0c54092b35b57bc3510f8accf9092.s3tc.ctex"]
+dest_files=["res://.godot/imported/icon_item.svg-19f0c54092b35b57bc3510f8accf9092.ctex"]
[params]
-compress/mode=2
+compress/mode=0
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/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
@@ -32,7 +31,7 @@ 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
+detect_3d/compress_to=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false
diff --git a/addons/gloot/images/icon_item_ref_slot.svg b/addons/gloot/images/icon_item_ref_slot.svg
new file mode 100644
index 00000000..c5da49e5
--- /dev/null
+++ b/addons/gloot/images/icon_item_ref_slot.svg
@@ -0,0 +1,77 @@
+
+
diff --git a/addons/gloot/images/icon_item_ref_slot.svg.import b/addons/gloot/images/icon_item_ref_slot.svg.import
new file mode 100644
index 00000000..ceb9a0dd
--- /dev/null
+++ b/addons/gloot/images/icon_item_ref_slot.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dagqmcoxvm3m6"
+path="res://.godot/imported/icon_item_ref_slot.svg-c8a8d9826d793965417f19dda840f923.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://addons/gloot/images/icon_item_ref_slot.svg"
+dest_files=["res://.godot/imported/icon_item_ref_slot.svg-c8a8d9826d793965417f19dda840f923.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/addons/gloot/plugin.cfg b/addons/gloot/plugin.cfg
index 6bcf22ff..1daa2975 100644
--- a/addons/gloot/plugin.cfg
+++ b/addons/gloot/plugin.cfg
@@ -3,5 +3,5 @@
name="GLoot"
description="A universal inventory system for the Godot game engine"
author="Peter Kish"
-version="2.3.5"
+version="2.4.0"
script="gloot.gd"
diff --git a/addons/gloot/ui/ctrl_dragable.gd b/addons/gloot/ui/ctrl_dragable.gd
new file mode 100644
index 00000000..f34975de
--- /dev/null
+++ b/addons/gloot/ui/ctrl_dragable.gd
@@ -0,0 +1,111 @@
+@tool
+extends Control
+
+const CtrlDragable = preload("res://addons/gloot/ui/ctrl_dragable.gd")
+const CtrlDropZone = preload("res://addons/gloot/ui/ctrl_drop_zone.gd")
+
+# Somewhat hacky way to do static signals:
+# https://stackoverflow.com/questions/77026156/how-to-write-a-static-event-emitter-in-gdscript/77026952#77026952
+
+static var dragable_grabbed: Signal = (func():
+ (CtrlDragable as Object).add_user_signal("dragable_grabbed")
+ return Signal(CtrlDragable, "dragable_grabbed")
+).call()
+
+static var dragable_dropped: Signal = (func():
+ (CtrlDragable as Object).add_user_signal("dragable_dropped")
+ return Signal(CtrlDragable, "dragable_dropped")
+).call()
+
+signal grabbed(position)
+signal dropped(zone, position)
+
+static var _grabbed_dragable: CtrlDragable = null
+static var _grab_offset: Vector2
+
+var drag_preview: Control
+var _preview_node := Node2D.new()
+var drag_z_index := 1
+
+
+static func grab(dragable: CtrlDragable) -> void:
+ _grabbed_dragable = dragable
+ _grab_offset = dragable.get_global_mouse_position() - dragable.global_position
+
+ dragable.mouse_filter = Control.MOUSE_FILTER_IGNORE
+ dragable.grabbed.emit(_grab_offset)
+ dragable_grabbed.emit(dragable, _grab_offset)
+ dragable.drag_start()
+
+
+static func release() -> void:
+ _drop(null)
+
+
+static func release_on(zone: CtrlDropZone) -> void:
+ _drop(zone)
+
+
+static func _drop(zone: CtrlDropZone) -> void:
+ var grabbed_dragable := _grabbed_dragable
+ var grab_offset := _grab_offset
+ _grabbed_dragable = null
+ _grab_offset = Vector2.ZERO
+ grabbed_dragable.mouse_filter = Control.MOUSE_FILTER_PASS
+ var local_drop_position := Vector2.ZERO
+ if zone != null:
+ local_drop_position = zone.get_local_mouse_position() - grab_offset
+
+ grabbed_dragable.drag_end()
+ grabbed_dragable.dropped.emit(zone, local_drop_position)
+ dragable_dropped.emit(grabbed_dragable, zone, local_drop_position)
+
+
+static func get_grabbed_dragable() -> CtrlDragable:
+ return _grabbed_dragable
+
+
+static func get_grab_offset() -> Vector2:
+ return _grab_offset
+
+
+func drag_start() -> void:
+ if drag_preview == null:
+ return
+
+ drag_preview.mouse_filter = Control.MOUSE_FILTER_IGNORE
+ drag_preview.global_position = get_global_mouse_position() - get_grab_offset()
+ add_child(_preview_node)
+ _preview_node.add_child(drag_preview)
+ _preview_node.z_index = drag_z_index
+
+
+func drag_end() -> void:
+ if drag_preview == null:
+ return
+
+ _preview_node.remove_child(drag_preview)
+ remove_child(_preview_node)
+ drag_preview.mouse_filter = Control.MOUSE_FILTER_PASS
+
+
+func _process(_delta) -> void:
+ if drag_preview:
+ drag_preview.global_position = get_global_mouse_position() - get_grab_offset()
+
+
+func _gui_input(event: InputEvent) -> void:
+ if !(event is InputEventMouseButton):
+ return
+
+ var mb_event: InputEventMouseButton = event
+ if mb_event.button_index != MOUSE_BUTTON_LEFT:
+ return
+
+ if mb_event.is_pressed():
+ grab(self)
+
+
+func is_dragged() -> bool:
+ return _grabbed_dragable == self
+
diff --git a/addons/gloot/ui/ctrl_drop_zone.gd b/addons/gloot/ui/ctrl_drop_zone.gd
new file mode 100644
index 00000000..992c6331
--- /dev/null
+++ b/addons/gloot/ui/ctrl_drop_zone.gd
@@ -0,0 +1,64 @@
+@tool
+extends Control
+
+signal dragable_dropped(dragable, position)
+
+const CtrlDragable = preload("res://addons/gloot/ui/ctrl_dragable.gd")
+const CtrlDropZone = preload("res://addons/gloot/ui/ctrl_drop_zone.gd")
+
+var _mouse_inside := false
+static var _drop_event: Dictionary = {}
+
+
+func _process(_delta) -> void:
+ if _drop_event.is_empty():
+ return
+
+ if _drop_event.zone == null:
+ CtrlDragable.release()
+ else:
+ if _drop_event.zone != self:
+ return
+ _drop_event.zone.dragable_dropped.emit(
+ CtrlDragable.get_grabbed_dragable(),
+ get_local_mouse_position() - CtrlDragable.get_grab_offset()
+ )
+ CtrlDragable.release_on(self)
+
+ _drop_event = {}
+
+
+func _input(event: InputEvent) -> void:
+ if !(event is InputEventMouseButton):
+ return
+
+ var mb_event: InputEventMouseButton = event
+ if mb_event.is_pressed() || mb_event.button_index != MOUSE_BUTTON_LEFT:
+ return
+
+ if CtrlDragable.get_grabbed_dragable() == null:
+ return
+
+ if _mouse_inside:
+ _drop_event = {zone = self}
+ elif _drop_event.is_empty():
+ _drop_event = {zone = null}
+
+
+func activate() -> void:
+ mouse_filter = Control.MOUSE_FILTER_PASS
+
+
+func deactivate() -> void:
+ mouse_filter = Control.MOUSE_FILTER_IGNORE
+ _mouse_inside = false
+
+
+func is_active() -> bool:
+ return (mouse_filter != Control.MOUSE_FILTER_IGNORE)
+
+
+func _ready() -> void:
+ mouse_entered.connect(func(): _mouse_inside = true)
+ mouse_exited.connect(func(): _mouse_inside = false)
+
diff --git a/addons/gloot/ui/ctrl_inventory.gd b/addons/gloot/ui/ctrl_inventory.gd
index a3396312..da7aa2d2 100644
--- a/addons/gloot/ui/ctrl_inventory.gd
+++ b/addons/gloot/ui/ctrl_inventory.gd
@@ -1,39 +1,40 @@
@tool
+@icon("res://addons/gloot/images/icon_ctrl_inventory.svg")
class_name CtrlInventory
extends Control
signal inventory_item_activated(item)
@export var inventory_path: NodePath :
- get:
- return inventory_path
- set(new_inv_path):
- inventory_path = new_inv_path
- var node: Node = get_node_or_null(inventory_path)
+ get:
+ return inventory_path
+ set(new_inv_path):
+ inventory_path = new_inv_path
+ var node: Node = get_node_or_null(inventory_path)
- if node == null:
- return
+ if node == null:
+ return
- if is_inside_tree():
- assert(node is Inventory)
-
- self.inventory = node
- update_configuration_warnings()
+ if is_inside_tree():
+ assert(node is Inventory)
+
+ self.inventory = node
+ update_configuration_warnings()
@export var default_item_icon: Texture2D
var inventory: Inventory = null :
- get:
- return inventory
- set(new_inventory):
- if new_inventory == inventory:
- return
-
- _disconnect_inventory_signals()
- inventory = new_inventory
- _connect_inventory_signals()
-
- _refresh()
+ get:
+ return inventory
+ set(new_inventory):
+ if new_inventory == inventory:
+ return
+
+ _disconnect_inventory_signals()
+ inventory = new_inventory
+ _connect_inventory_signals()
+
+ _refresh()
var _vbox_container: VBoxContainer
var _item_list: ItemList
@@ -42,124 +43,124 @@ const KEY_NAME = "name"
func _get_configuration_warnings() -> PackedStringArray:
- if inventory_path.is_empty():
- return PackedStringArray([
- "This node is not linked to an inventory, so it can't display any content.\n" + \
- "Set the inventory_path property to point to an Inventory node."])
- return PackedStringArray()
+ if inventory_path.is_empty():
+ return PackedStringArray([
+ "This node is not linked to an inventory, so it can't display any content.\n" + \
+ "Set the inventory_path property to point to an Inventory node."])
+ return PackedStringArray()
func _ready():
- if Engine.is_editor_hint():
- # Clean up, in case it is duplicated in the editor
- if _vbox_container:
- _vbox_container.queue_free()
+ if Engine.is_editor_hint():
+ # Clean up, in case it is duplicated in the editor
+ if _vbox_container:
+ _vbox_container.queue_free()
- _vbox_container = VBoxContainer.new()
- _vbox_container.size_flags_horizontal = SIZE_EXPAND_FILL
- _vbox_container.size_flags_vertical = SIZE_EXPAND_FILL
- _vbox_container.anchor_right = 1.0
- _vbox_container.anchor_bottom = 1.0
- add_child(_vbox_container)
+ _vbox_container = VBoxContainer.new()
+ _vbox_container.size_flags_horizontal = SIZE_EXPAND_FILL
+ _vbox_container.size_flags_vertical = SIZE_EXPAND_FILL
+ _vbox_container.anchor_right = 1.0
+ _vbox_container.anchor_bottom = 1.0
+ add_child(_vbox_container)
- _item_list = ItemList.new()
- _item_list.size_flags_horizontal = SIZE_EXPAND_FILL
- _item_list.size_flags_vertical = SIZE_EXPAND_FILL
- _item_list.item_activated.connect(Callable(self, "_on_list_item_activated"))
- _vbox_container.add_child(_item_list)
+ _item_list = ItemList.new()
+ _item_list.size_flags_horizontal = SIZE_EXPAND_FILL
+ _item_list.size_flags_vertical = SIZE_EXPAND_FILL
+ _item_list.item_activated.connect(_on_list_item_activated)
+ _vbox_container.add_child(_item_list)
- if has_node(inventory_path):
- self.inventory = get_node(inventory_path)
+ if has_node(inventory_path):
+ self.inventory = get_node(inventory_path)
- _refresh()
+ _refresh()
func _connect_inventory_signals() -> void:
- if !inventory:
- return
+ if !inventory:
+ return
- if !inventory.contents_changed.is_connected(Callable(self, "_refresh")):
- inventory.contents_changed.connect(Callable(self, "_refresh"))
- if !inventory.item_modified.is_connected(Callable(self, "_on_item_modified")):
- inventory.item_modified.connect(Callable(self, "_on_item_modified"))
+ if !inventory.contents_changed.is_connected(_refresh):
+ inventory.contents_changed.connect(_refresh)
+ if !inventory.item_modified.is_connected(_on_item_modified):
+ inventory.item_modified.connect(_on_item_modified)
func _disconnect_inventory_signals() -> void:
- if !inventory:
- return
+ if !inventory:
+ return
- if inventory.contents_changed.is_connected(Callable(self, "_refresh")):
- inventory.contents_changed.disconnect(Callable(self, "_refresh"))
- if inventory.item_modified.is_connected(Callable(self, "_on_item_modified")):
- inventory.item_modified.disconnect(Callable(self, "_on_item_modified"))
+ if inventory.contents_changed.is_connected(_refresh):
+ inventory.contents_changed.disconnect(_refresh)
+ if inventory.item_modified.is_connected(_on_item_modified):
+ inventory.item_modified.disconnect(_on_item_modified)
func _on_list_item_activated(index: int) -> void:
- inventory_item_activated.emit(_get_inventory_item(index))
+ inventory_item_activated.emit(_get_inventory_item(index))
func _on_item_modified(_item: InventoryItem) -> void:
- _refresh()
+ _refresh()
func _refresh() -> void:
- if is_inside_tree():
- _clear_list()
- _populate_list()
+ if is_inside_tree():
+ _clear_list()
+ _populate_list()
func _clear_list() -> void:
- if _item_list:
- _item_list.clear()
+ if _item_list:
+ _item_list.clear()
func _populate_list() -> void:
- if inventory == null:
- return
+ if inventory == null:
+ return
- for item in inventory.get_items():
- var texture := item.get_texture()
- if !texture:
- texture = default_item_icon
- _item_list.add_item(_get_item_title(item), texture)
- _item_list.set_item_metadata(_item_list.get_item_count() - 1, item)
+ for item in inventory.get_items():
+ var texture := item.get_texture()
+ if !texture:
+ texture = default_item_icon
+ _item_list.add_item(_get_item_title(item), texture)
+ _item_list.set_item_metadata(_item_list.get_item_count() - 1, item)
func _get_item_title(item: InventoryItem) -> String:
- if item == null:
- return ""
+ if item == null:
+ return ""
- var title = item.get_title()
- var stack_size: int = InventoryStacked.get_item_stack_size(item)
- if stack_size > 1:
- title = "%s (x%d)" % [title, stack_size]
+ var title = item.get_title()
+ var stack_size: int = InventoryStacked.get_item_stack_size(item)
+ if stack_size > 1:
+ title = "%s (x%d)" % [title, stack_size]
- return title
+ return title
func get_selected_inventory_item() -> InventoryItem:
- if _item_list.get_selected_items().is_empty():
- return null
+ if _item_list.get_selected_items().is_empty():
+ return null
- return _get_inventory_item(_item_list.get_selected_items()[0])
+ return _get_inventory_item(_item_list.get_selected_items()[0])
func _get_inventory_item(index: int) -> InventoryItem:
- assert(index >= 0)
- assert(index < _item_list.get_item_count())
+ assert(index >= 0)
+ assert(index < _item_list.get_item_count())
- return _item_list.get_item_metadata(index)
+ return _item_list.get_item_metadata(index)
func deselect_inventory_item() -> void:
- _item_list.deselect_all()
+ _item_list.deselect_all()
func select_inventory_item(item: InventoryItem) -> void:
- _item_list.deselect_all()
- for index in _item_list.item_count:
- if _item_list.get_item_metadata(index) != item:
- continue
- _item_list.select(index)
- return
+ _item_list.deselect_all()
+ for index in _item_list.item_count:
+ if _item_list.get_item_metadata(index) != item:
+ continue
+ _item_list.select(index)
+ return
diff --git a/addons/gloot/ui/ctrl_inventory_grid.gd b/addons/gloot/ui/ctrl_inventory_grid.gd
index 64016a4b..ed10f7fa 100644
--- a/addons/gloot/ui/ctrl_inventory_grid.gd
+++ b/addons/gloot/ui/ctrl_inventory_grid.gd
@@ -1,4 +1,5 @@
@tool
+@icon("res://addons/gloot/images/icon_ctrl_inventory_grid.svg")
class_name CtrlInventoryGrid
extends Control
@@ -8,493 +9,444 @@ signal inventory_item_activated(item)
signal item_mouse_entered(item)
signal item_mouse_exited(item)
+const GlootUndoRedo = preload("res://addons/gloot/editor/gloot_undo_redo.gd")
+const CtrlInventoryItemRect = preload("res://addons/gloot/ui/ctrl_inventory_item_rect.gd")
+const CtrlDropZone = preload("res://addons/gloot/ui/ctrl_drop_zone.gd")
+const CtrlDragable = preload("res://addons/gloot/ui/ctrl_dragable.gd")
+
@export var field_dimensions: Vector2 = Vector2(32, 32) :
- get:
- return field_dimensions
- set(new_field_dimensions):
- field_dimensions = new_field_dimensions
- _refresh_grid_container()
+ get:
+ return field_dimensions
+ set(new_field_dimensions):
+ field_dimensions = new_field_dimensions
+ _refresh_grid_container()
@export var item_spacing: int = 0 :
- get:
- return item_spacing
- set(new_item_spacing):
- item_spacing = new_item_spacing
- _refresh()
+ get:
+ return item_spacing
+ set(new_item_spacing):
+ item_spacing = new_item_spacing
+ _refresh()
@export var draw_grid: bool = true :
- get:
- return draw_grid
- set(new_draw_grid):
- draw_grid = new_draw_grid
- _refresh()
+ get:
+ return draw_grid
+ set(new_draw_grid):
+ draw_grid = new_draw_grid
+ _refresh()
@export var grid_color: Color = Color.BLACK :
- get:
- return grid_color
- set(new_grid_color):
- grid_color = new_grid_color
- _refresh()
+ get:
+ return grid_color
+ set(new_grid_color):
+ grid_color = new_grid_color
+ _refresh()
@export var draw_selections: bool = false :
- get:
- return draw_selections
- set(new_draw_selections):
- draw_selections = new_draw_selections
+ get:
+ return draw_selections
+ set(new_draw_selections):
+ draw_selections = new_draw_selections
@export var selection_color: Color = Color.GRAY
@export var inventory_path: NodePath :
- get:
- return inventory_path
- set(new_inv_path):
- inventory_path = new_inv_path
- var node: Node = get_node_or_null(inventory_path)
-
- if node == null:
- return
-
- if is_inside_tree():
- assert(node is InventoryGrid)
-
- self.inventory = node
- update_configuration_warnings()
+ get:
+ return inventory_path
+ set(new_inv_path):
+ inventory_path = new_inv_path
+ var node: Node = get_node_or_null(inventory_path)
+
+ if node == null:
+ return
+
+ if is_inside_tree():
+ assert(node is InventoryGrid)
+
+ self.inventory = node
+ update_configuration_warnings()
@export var default_item_texture: Texture2D :
- get:
- return default_item_texture
- set(new_default_item_texture):
- default_item_texture = new_default_item_texture
- _refresh()
+ get:
+ return default_item_texture
+ set(new_default_item_texture):
+ default_item_texture = new_default_item_texture
+ _refresh()
@export var stretch_item_sprites: bool = true :
- get:
- return stretch_item_sprites
- set(new_stretch_item_sprites):
- stretch_item_sprites = new_stretch_item_sprites
- _refresh()
+ get:
+ return stretch_item_sprites
+ set(new_stretch_item_sprites):
+ stretch_item_sprites = new_stretch_item_sprites
+ _refresh()
@export var drag_sprite_z_index: int = 1
var inventory: InventoryGrid = null :
- get:
- return inventory
- set(new_inventory):
- if inventory == new_inventory:
- return
-
- _select(null)
-
- _disconnect_inventory_signals()
- inventory = new_inventory
- _connect_inventory_signals()
-
- _refresh()
-var _gloot_undo_redo = null
-var _grabbed_ctrl_inventory_item = null
-var _grab_offset: Vector2
-var _ctrl_inventory_item_script = preload("ctrl_inventory_item_rect.gd")
-var _drag_sprite: WeakRef = weakref(null)
+ get:
+ return inventory
+ set(new_inventory):
+ if inventory == new_inventory:
+ return
+
+ _select(null)
+
+ _disconnect_inventory_signals()
+ inventory = new_inventory
+ _connect_inventory_signals()
+
+ _refresh()
var _ctrl_item_container: WeakRef = weakref(null)
+var _ctrl_drop_zone: CtrlDropZone
var _selected_item: InventoryItem = null
-var _gloot: Node = null
func _get_configuration_warnings() -> PackedStringArray:
- if inventory_path.is_empty():
- return PackedStringArray([
- "This node is not linked to an inventory, so it can't display any content.\n" + \
- "Set the inventory_path property to point to an InventoryGrid node."])
- return PackedStringArray()
+ if inventory_path.is_empty():
+ return PackedStringArray([
+ "This node is not linked to an inventory, so it can't display any content.\n" + \
+ "Set the inventory_path property to point to an InventoryGrid node."])
+ return PackedStringArray()
func _ready() -> void:
- _gloot = _get_gloot()
-
- if Engine.is_editor_hint():
- # Clean up, in case it is duplicated in the editor
- var ctrl_item_container = _ctrl_item_container.get_ref()
- if ctrl_item_container:
- ctrl_item_container.queue_free()
- if _drag_sprite.get_ref():
- _drag_sprite.get_ref().queue_free()
-
- var ctrl_item_container = Control.new()
- ctrl_item_container.size_flags_horizontal = SIZE_EXPAND_FILL
- ctrl_item_container.size_flags_vertical = SIZE_EXPAND_FILL
- ctrl_item_container.anchor_right = 1.0
- ctrl_item_container.anchor_bottom = 1.0
- add_child(ctrl_item_container)
- _ctrl_item_container = weakref(ctrl_item_container)
-
- var drag_sprite = Sprite2D.new()
- drag_sprite.centered = false
- drag_sprite.z_index = drag_sprite_z_index
- drag_sprite.hide()
- add_child(drag_sprite)
- _drag_sprite = weakref(drag_sprite)
-
- if has_node(inventory_path):
- self.inventory = get_node_or_null(inventory_path)
-
- _refresh()
- if !Engine.is_editor_hint() && _gloot:
- _gloot.item_dropped.connect(Callable(self, "_on_item_dropped"))
-
-
-func _get_gloot() -> Node:
- # This is a "temporary" hack until a better solution is found!
- # This is a tool script that is also executed inside the editor, where the "GLoot" singleton is
- # not visible - leading to errors inside the editor.
- # To work around that, we obtain the singleton by name.
- return get_tree().root.get_node_or_null("GLoot")
+ if Engine.is_editor_hint():
+ # Clean up, in case it is duplicated in the editor
+ var ctrl_item_container = _ctrl_item_container.get_ref()
+ if ctrl_item_container:
+ ctrl_item_container.queue_free()
+
+ var ctrl_item_container = Control.new()
+ ctrl_item_container.size_flags_horizontal = SIZE_EXPAND_FILL
+ ctrl_item_container.size_flags_vertical = SIZE_EXPAND_FILL
+ ctrl_item_container.anchor_right = 1.0
+ ctrl_item_container.anchor_bottom = 1.0
+ add_child(ctrl_item_container)
+ _ctrl_item_container = weakref(ctrl_item_container)
+
+ _ctrl_drop_zone = CtrlDropZone.new()
+ _ctrl_drop_zone.dragable_dropped.connect(_on_dragable_dropped)
+ _ctrl_drop_zone.size = size
+ resized.connect(func(): _ctrl_drop_zone.size = size)
+ CtrlDragable.dragable_grabbed.connect(func(dragable: CtrlDragable, grab_position: Vector2):
+ _ctrl_drop_zone.activate()
+ )
+ CtrlDragable.dragable_dropped.connect(func(dragable: CtrlDragable, zone: CtrlDropZone, drop_position: Vector2):
+ _ctrl_drop_zone.deactivate()
+ )
+ _ctrl_drop_zone.mouse_entered.connect(_on_drop_zone_mouse_entered)
+ _ctrl_drop_zone.mouse_exited.connect(_on_drop_zone_mouse_exited)
+ add_child(_ctrl_drop_zone)
+ _ctrl_drop_zone.deactivate()
+
+ ctrl_item_container.resized.connect(func(): _ctrl_drop_zone.size = ctrl_item_container.size)
+
+ if has_node(inventory_path):
+ self.inventory = get_node_or_null(inventory_path)
+
+ _refresh()
func _connect_inventory_signals() -> void:
- if !inventory:
- return
+ if !inventory:
+ return
- if !inventory.contents_changed.is_connected(Callable(self, "_refresh")):
- inventory.contents_changed.connect(Callable(self, "_refresh"))
- if !inventory.item_modified.is_connected(Callable(self, "_on_item_modified")):
- inventory.item_modified.connect(Callable(self, "_on_item_modified"))
- if !inventory.size_changed.is_connected(Callable(self, "_on_inventory_resized")):
- inventory.size_changed.connect(Callable(self, "_on_inventory_resized"))
- if !inventory.item_removed.is_connected(Callable(self, "_on_item_removed")):
- inventory.item_removed.connect(Callable(self, "_on_item_removed"))
+ if !inventory.contents_changed.is_connected(_refresh):
+ inventory.contents_changed.connect(_refresh)
+ if !inventory.item_modified.is_connected(_on_item_modified):
+ inventory.item_modified.connect(_on_item_modified)
+ if !inventory.size_changed.is_connected(_on_inventory_resized):
+ inventory.size_changed.connect(_on_inventory_resized)
+ if !inventory.item_removed.is_connected(_on_item_removed):
+ inventory.item_removed.connect(_on_item_removed)
func _disconnect_inventory_signals() -> void:
- if !inventory:
- return
+ if !inventory:
+ return
- if inventory.contents_changed.is_connected(Callable(self, "_refresh")):
- inventory.contents_changed.disconnect(Callable(self, "_refresh"))
- if inventory.item_modified.is_connected(Callable(self, "_on_item_modified")):
- inventory.item_modified.disconnect(Callable(self, "_on_item_modified"))
- if inventory.size_changed.is_connected(Callable(self, "_on_inventory_resized")):
- inventory.size_changed.disconnect(Callable(self, "_on_inventory_resized"))
- if inventory.item_removed.is_connected(Callable(self, "_on_item_removed")):
- inventory.item_removed.disconnect(Callable(self, "_on_item_removed"))
+ if inventory.contents_changed.is_connected(_refresh):
+ inventory.contents_changed.disconnect(_refresh)
+ if inventory.item_modified.is_connected(_on_item_modified):
+ inventory.item_modified.disconnect(_on_item_modified)
+ if inventory.size_changed.is_connected(_on_inventory_resized):
+ inventory.size_changed.disconnect(_on_inventory_resized)
+ if inventory.item_removed.is_connected(_on_item_removed):
+ inventory.item_removed.disconnect(_on_item_removed)
func _on_item_modified(_item: InventoryItem) -> void:
- _refresh()
+ _refresh()
func _on_inventory_resized() -> void:
- _refresh()
+ _refresh()
func _on_item_removed(_item: InventoryItem) -> void:
- if _item == _selected_item:
- _select(null)
+ if _item == _selected_item:
+ _select(null)
func _refresh() -> void:
- _refresh_grid_container()
- _clear_list()
- _populate_list()
- queue_redraw()
-
-
-func _process(_delta) -> void:
- var drag_sprite = _drag_sprite.get_ref()
- if drag_sprite && drag_sprite.visible:
- drag_sprite.global_position = get_global_mouse_position() - _grab_offset
+ _refresh_grid_container()
+ _clear_list()
+ _populate_list()
+ queue_redraw()
func _draw() -> void:
- if !inventory:
- return
- if draw_grid:
- _draw_grid(Vector2.ZERO, inventory.size.x, inventory.size.y, field_dimensions, item_spacing)
+ if !inventory:
+ return
+ if draw_grid:
+ _draw_grid(Vector2.ZERO, inventory.size.x, inventory.size.y, field_dimensions, item_spacing)
func _draw_grid(pos: Vector2, w: int, h: int, fsize: Vector2, spacing: int) -> void:
- if w <= 0 || h <= 0 || spacing < 0:
- return
-
- if spacing <= 1:
- var rect = Rect2(pos, _get_inventory_size_px())
- draw_rect(rect, grid_color, false)
- for i in range(w):
- var from: Vector2 = Vector2(i * fsize.x, 0) + pos
- var to: Vector2 = Vector2(i * fsize.x, rect.size.y) + pos
- from += Vector2(spacing, 0)
- to += Vector2(spacing, 0)
- draw_line(from, to, grid_color)
- for j in range(h):
- var from: Vector2 = Vector2(0, j * fsize.y) + pos
- var to: Vector2 = Vector2(rect.size.x, j * fsize.y) + pos
- from += Vector2(0, spacing)
- to += Vector2(0, spacing)
- draw_line(from, to, grid_color)
- else:
- for i in range(w):
- for j in range(h):
- var field_pos = pos + Vector2(i * fsize.x, j * fsize.y) + Vector2(i, j) * spacing
- var field_rect = Rect2(field_pos, fsize)
- draw_rect(field_rect, grid_color, false)
+ if w <= 0 || h <= 0 || spacing < 0:
+ return
+
+ if spacing <= 1:
+ var rect = Rect2(pos, _get_inventory_size_px())
+ draw_rect(rect, grid_color, false)
+ for i in range(w):
+ var from: Vector2 = Vector2(i * fsize.x, 0) + pos
+ var to: Vector2 = Vector2(i * fsize.x, rect.size.y) + pos
+ from += Vector2(spacing, 0)
+ to += Vector2(spacing, 0)
+ draw_line(from, to, grid_color)
+ for j in range(h):
+ var from: Vector2 = Vector2(0, j * fsize.y) + pos
+ var to: Vector2 = Vector2(rect.size.x, j * fsize.y) + pos
+ from += Vector2(0, spacing)
+ to += Vector2(0, spacing)
+ draw_line(from, to, grid_color)
+ else:
+ for i in range(w):
+ for j in range(h):
+ var field_pos = pos + Vector2(i * fsize.x, j * fsize.y) + Vector2(i, j) * spacing
+ var field_rect = Rect2(field_pos, fsize)
+ draw_rect(field_rect, grid_color, false)
func _get_inventory_size_px() -> Vector2:
- var result := Vector2(inventory.size.x * field_dimensions.x, \
- inventory.size.y * field_dimensions.y)
+ var result := Vector2(inventory.size.x * field_dimensions.x, \
+ inventory.size.y * field_dimensions.y)
- # Also take item spacing into consideration
- result += Vector2(inventory.size - Vector2i.ONE) * item_spacing
+ # Also take item spacing into consideration
+ result += Vector2(inventory.size - Vector2i.ONE) * item_spacing
- return result
+ return result
func _refresh_grid_container() -> void:
- if !inventory:
- return
+ if !inventory:
+ return
- custom_minimum_size = _get_inventory_size_px()
- size = custom_minimum_size
+ custom_minimum_size = _get_inventory_size_px()
+ size = custom_minimum_size
func _clear_list() -> void:
- var ctrl_item_container = _ctrl_item_container.get_ref()
- if !ctrl_item_container:
- return
+ var ctrl_item_container = _ctrl_item_container.get_ref()
+ if !ctrl_item_container:
+ return
- for ctrl_inventory_item in ctrl_item_container.get_children():
- ctrl_item_container.remove_child(ctrl_inventory_item)
- ctrl_inventory_item.queue_free()
-
- _grabbed_ctrl_inventory_item = null
+ for ctrl_inventory_item in ctrl_item_container.get_children():
+ ctrl_item_container.remove_child(ctrl_inventory_item)
+ ctrl_inventory_item.queue_free()
func _populate_list() -> void:
- var ctrl_item_container = _ctrl_item_container.get_ref()
- if inventory == null || ctrl_item_container == null:
- return
-
- for item in inventory.get_items():
- var ctrl_inventory_item = _ctrl_inventory_item_script.new()
- ctrl_inventory_item.ctrl_inventory = self
- ctrl_inventory_item.texture = default_item_texture
- ctrl_inventory_item.item = item
- ctrl_inventory_item.grabbed.connect(Callable(self, "_on_item_grab"))
- ctrl_inventory_item.activated.connect(Callable(self, "_on_item_activated"))
- ctrl_inventory_item.mouse_entered.connect(Callable(self, "_on_item_mouse_entered").bind(ctrl_inventory_item))
- ctrl_inventory_item.mouse_exited.connect(Callable(self, "_on_item_mouse_exited").bind(ctrl_inventory_item))
- ctrl_item_container.add_child(ctrl_inventory_item)
-
- _refresh_selection()
+ var ctrl_item_container = _ctrl_item_container.get_ref()
+ if inventory == null || ctrl_item_container == null:
+ return
+
+ for item in inventory.get_items():
+ var ctrl_inventory_item = CtrlInventoryItemRect.new()
+ ctrl_inventory_item.texture = default_item_texture
+ ctrl_inventory_item.item = item
+ ctrl_inventory_item.drag_z_index = drag_sprite_z_index
+ ctrl_inventory_item.grabbed.connect(_on_item_grab.bind(ctrl_inventory_item))
+ ctrl_inventory_item.dropped.connect(_on_item_drop.bind(ctrl_inventory_item))
+ ctrl_inventory_item.activated.connect(_on_item_activated.bind(ctrl_inventory_item))
+ ctrl_inventory_item.mouse_entered.connect(_on_item_mouse_entered.bind(ctrl_inventory_item))
+ ctrl_inventory_item.mouse_exited.connect(_on_item_mouse_exited.bind(ctrl_inventory_item))
+ ctrl_inventory_item.size = _get_item_sprite_size(item)
+
+ ctrl_inventory_item.position = _get_field_position(inventory.get_item_position(item))
+ if !stretch_item_sprites:
+ # Position the item centered when it's not streched
+ ctrl_inventory_item.position += _get_unstreched_sprite_offset(item)
+
+ ctrl_item_container.add_child(ctrl_inventory_item)
+
+ _refresh_selection()
func _refresh_selection() -> void:
- if !draw_selections:
- return
-
- if !_ctrl_item_container.get_ref():
- return
-
- for ctrl_item in _ctrl_item_container.get_ref().get_children():
- ctrl_item.selected = ctrl_item.item && (ctrl_item.item == _selected_item)
- ctrl_item.selection_bg_color = selection_color
-
-
-func _on_item_grab(ctrl_inventory_item, offset: Vector2) -> void:
- _select(null)
- _grabbed_ctrl_inventory_item = ctrl_inventory_item
- _grabbed_ctrl_inventory_item.hide()
- _grab_offset = offset
- if _gloot:
- _gloot._grabbed_inventory_item = get_grabbed_item()
- _gloot._grab_offset = _grab_offset
- var drag_sprite = _drag_sprite.get_ref()
- if drag_sprite:
- drag_sprite.texture = ctrl_inventory_item.texture
- if drag_sprite.texture == null:
- drag_sprite.texture = default_item_texture
- if stretch_item_sprites:
- var texture_size: Vector2 = drag_sprite.texture.get_size()
- var streched_size: Vector2 = _get_streched_item_sprite_size(ctrl_inventory_item.item)
- drag_sprite.scale = streched_size / texture_size
- drag_sprite.show()
-
-
-func _get_streched_item_sprite_size(item: InventoryItem) -> Vector2:
- var item_size := inventory.get_item_size(item)
- var sprite_size := Vector2(item_size) * field_dimensions
+ if !draw_selections:
+ return
- # Also take item spacing into consideration
- sprite_size += (Vector2(item_size) - Vector2.ONE) * item_spacing
+ if !_ctrl_item_container.get_ref():
+ return
- return sprite_size
+ for ctrl_item in _ctrl_item_container.get_ref().get_children():
+ ctrl_item.selected = ctrl_item.item && (ctrl_item.item == _selected_item)
+ ctrl_item.selection_bg_color = selection_color
-func _on_item_activated(ctrl_inventory_item) -> void:
- var item = ctrl_inventory_item.item
- if !item:
- return
+func _on_item_grab(offset: Vector2, ctrl_inventory_item: CtrlInventoryItemRect) -> void:
+ _select(null)
- _grabbed_ctrl_inventory_item = null
- if _drag_sprite.get_ref():
- _drag_sprite.get_ref().hide()
- inventory_item_activated.emit(item)
+func _on_item_drop(zone: CtrlDropZone, drop_position: Vector2, ctrl_inventory_item: CtrlInventoryItemRect) -> void:
+ var item = ctrl_inventory_item.item
+ # The item might have been freed in case the item stack has been moved and merged with another
+ # stack.
+ if is_instance_valid(item) and inventory.has_item(item):
+ _select(item)
-func _on_item_mouse_entered(ctrl_inventory_item) -> void:
- item_mouse_entered.emit(ctrl_inventory_item.item)
+func _get_item_sprite_size(item: InventoryItem) -> Vector2:
+ if stretch_item_sprites:
+ return _get_streched_item_sprite_size(item)
+ else:
+ return item.get_texture().get_size()
-func _on_item_mouse_exited(ctrl_inventory_item) -> void:
- item_mouse_exited.emit(ctrl_inventory_item.item)
-
-
-func _select(item: InventoryItem) -> void:
- if item == _selected_item:
- return
-
- _selected_item = item
- _refresh_selection()
- selection_changed.emit()
+func _get_streched_item_sprite_size(item: InventoryItem) -> Vector2:
+ var item_size := inventory.get_item_size(item)
+ var sprite_size := Vector2(item_size) * field_dimensions
+ # Also take item spacing into consideration
+ sprite_size += (Vector2(item_size) - Vector2.ONE) * item_spacing
-# Using _input instead of _gui_input because _gui_input is only called for "mouse released"
-# (InputEventMouseButton.pressed==false) events if the same control previously triggered the "mouse
-# pressed" event (InputEventMouseButton.pressed==true).
-# This makes dragging items from one CtrlInventoryGrid to another impossible to implement with
-# _gui_input.
-func _input(event: InputEvent) -> void:
- if !(event is InputEventMouseButton):
- return
+ return sprite_size
- if !_grabbed_ctrl_inventory_item:
- return
- var mb_event: InputEventMouseButton = event
- if mb_event.is_pressed() || mb_event.button_index != MOUSE_BUTTON_LEFT:
- return
+func _get_unstreched_sprite_offset(item: InventoryItem) -> Vector2:
+ var texture = item.get_texture()
+ if texture == null:
+ texture = default_item_texture
+ if texture == null:
+ return Vector2.ZERO
+ return (_get_streched_item_sprite_size(item) - texture.get_size()) / 2
- _handle_item_release(_grabbed_ctrl_inventory_item.item)
+func _on_item_activated(ctrl_inventory_item: CtrlInventoryItemRect) -> void:
+ var item = ctrl_inventory_item.item
+ if !item:
+ return
-func _handle_item_release(item: InventoryItem) -> void:
- _grabbed_ctrl_inventory_item.show()
+ inventory_item_activated.emit(item)
- if _gloot:
- _gloot._grabbed_inventory_item = null
- var global_grabbed_item_pos := _get_grabbed_item_global_pos()
- if _is_hovering(global_grabbed_item_pos):
- _handle_item_move(item, global_grabbed_item_pos)
- else:
- _handle_item_drop(item, global_grabbed_item_pos)
+func _on_item_mouse_entered(ctrl_inventory_item) -> void:
+ item_mouse_entered.emit(ctrl_inventory_item.item)
- # The item might have been freed in case the item stack has been moved and merged with another
- # stack.
- if is_instance_valid(item) and inventory.has_item(item):
- _select(item)
- _grabbed_ctrl_inventory_item = null
- if _drag_sprite.get_ref():
- _drag_sprite.get_ref().hide()
+func _on_item_mouse_exited(ctrl_inventory_item) -> void:
+ item_mouse_exited.emit(ctrl_inventory_item.item)
-func _handle_item_move(item: InventoryItem, global_grabbed_item_pos: Vector2) -> void:
- var field_coords = get_field_coords(global_grabbed_item_pos)
- if inventory.rect_free(Rect2i(field_coords, inventory.get_item_size(item)), item):
- _move_item(item, field_coords)
- elif inventory is InventoryGridStacked:
- _merge_item(item, field_coords)
+func _select(item: InventoryItem) -> void:
+ if item == _selected_item:
+ return
+ _selected_item = item
+ _refresh_selection()
+ selection_changed.emit()
-func _handle_item_drop(item: InventoryItem, global_grabbed_item_pos: Vector2) -> void:
- # Using WeakRefs for the item_dropped signals, as items might be freed at some point of dropping
- # (when merging with other items)
- var wr_item := weakref(item)
- item_dropped.emit(wr_item, global_grabbed_item_pos)
- if !Engine.is_editor_hint() && _gloot:
- _gloot.item_dropped.emit(wr_item, global_grabbed_item_pos)
+func _on_drop_zone_mouse_entered() -> void:
+ if CtrlDragable._grabbed_dragable == null:
+ return
+ var _grabbed_ctrl := (CtrlDragable._grabbed_dragable as CtrlInventoryItemRect)
+ if _grabbed_ctrl == null || _grabbed_ctrl.item == null:
+ return
+ CtrlInventoryItemRect.override_preview_size(_get_item_sprite_size(_grabbed_ctrl.item))
-func _get_grabbed_item_global_pos() -> Vector2:
- return get_global_mouse_position() - _grab_offset + (field_dimensions / 2)
+func _on_drop_zone_mouse_exited() -> void:
+ CtrlInventoryItemRect.restore_preview_size()
-func _on_item_dropped(wr_item: WeakRef, global_drop_pos: Vector2) -> void:
- var item: InventoryItem = wr_item.get_ref()
- if item == null:
- return
- if !_is_hovering(global_drop_pos):
- return
+func _on_dragable_dropped(dragable: CtrlDragable, drop_position: Vector2) -> void:
+ var item: InventoryItem = dragable.item
+ if item == null:
+ return
- if !inventory:
- return
+ if !inventory:
+ return
- var source_inventory: InventoryGrid = item.get_inventory()
- if source_inventory.item_protoset != inventory.item_protoset:
- return
+ if inventory.has_item(item):
+ _handle_item_move(item, drop_position)
+ else:
+ _handle_item_transfer(item, drop_position)
- var field_coords = get_field_coords(global_drop_pos)
- source_inventory.transfer_to(item, inventory, field_coords)
+func _handle_item_move(item: InventoryItem, drop_position: Vector2) -> void:
+ var field_coords = get_field_coords(drop_position + (field_dimensions / 2))
+ if inventory.rect_free(Rect2i(field_coords, inventory.get_item_size(item)), item):
+ _move_item(item, field_coords)
+ elif inventory is InventoryGridStacked:
+ _merge_item(item, field_coords)
-func _is_hovering(global_pos: Vector2) -> bool:
- return get_global_rect().has_point(global_pos)
+func _handle_item_transfer(item: InventoryItem, drop_position: Vector2) -> void:
+ var source_inventory: InventoryGrid = item.get_inventory()
+
+ var field_coords = get_field_coords(drop_position + (field_dimensions / 2))
+ if source_inventory != null:
+ if source_inventory.item_protoset != inventory.item_protoset:
+ return
+ source_inventory.transfer_to(item, inventory, field_coords)
+ else:
+ inventory.add_item_at(item, field_coords)
-func get_field_coords(global_pos: Vector2) -> Vector2i:
- var local_pos = global_pos - get_global_rect().position
- # We have to consider the item spacing when calculating field coordinates, thus we expand the
- # size of each field by Vector2(item_spacing, item_spacing).
- var field_dimensions_ex = field_dimensions + Vector2(item_spacing, item_spacing)
+func get_field_coords(local_pos: Vector2) -> Vector2i:
+ # We have to consider the item spacing when calculating field coordinates, thus we expand the
+ # size of each field by Vector2(item_spacing, item_spacing).
+ var field_dimensions_ex = field_dimensions + Vector2(item_spacing, item_spacing)
- # We also don't want the item spacing to disturb snapping to the closest field, so we add half
- # the spacing to the local coordinates.
- var local_pos_ex = local_pos + Vector2(item_spacing, item_spacing) / 2
+ # We also don't want the item spacing to disturb snapping to the closest field, so we add half
+ # the spacing to the local coordinates.
+ var local_pos_ex = local_pos + (Vector2(item_spacing, item_spacing) / 2)
- var x: int = local_pos_ex.x / (field_dimensions_ex.x)
- var y: int = local_pos_ex.y / (field_dimensions_ex.y)
- return Vector2i(x, y)
+ var x: int = local_pos_ex.x / (field_dimensions_ex.x)
+ var y: int = local_pos_ex.y / (field_dimensions_ex.y)
+ return Vector2i(x, y)
func get_selected_inventory_item() -> InventoryItem:
- return _selected_item
+ return _selected_item
-# TODO: Find a better way for undoing/redoing item movements
-func _move_item(item: InventoryItem, position: Vector2i) -> void:
- if _gloot_undo_redo:
- _gloot_undo_redo.move_inventory_item(inventory, item, position)
- else:
- inventory.move_item_to(item, position)
+func _move_item(item: InventoryItem, move_position: Vector2i) -> void:
+ if Engine.is_editor_hint():
+ GlootUndoRedo.move_inventory_item(inventory, item, move_position)
+ else:
+ inventory.move_item_to(item, move_position)
-
-# TODO: Find a better way for undoing/redoing item merges
+
func _merge_item(item_src: InventoryItem, position: Vector2i) -> void:
- var item_dst = (inventory as InventoryGridStacked)._get_mergable_item_at(item_src, position)
- if item_dst == null:
- return
+ var item_dst = (inventory as InventoryGridStacked)._get_mergable_item_at(item_src, position)
+ if item_dst == null:
+ return
- if _gloot_undo_redo:
- _gloot_undo_redo.join_inventory_items(inventory, item_dst, item_src)
- else:
- (inventory as InventoryGridStacked).join(item_dst, item_src)
+ if Engine.is_editor_hint():
+ GlootUndoRedo.join_inventory_items(inventory, item_dst, item_src)
+ else:
+ (inventory as InventoryGridStacked).join(item_dst, item_src)
func _get_field_position(field_coords: Vector2i) -> Vector2:
- var field_position = Vector2(field_coords.x * field_dimensions.x, \
- field_coords.y * field_dimensions.y)
- field_position += Vector2(item_spacing * field_coords)
- return field_position
+ var field_position = Vector2(field_coords.x * field_dimensions.x, \
+ field_coords.y * field_dimensions.y)
+ field_position += Vector2(item_spacing * field_coords)
+ return field_position
func _get_global_field_position(field_coords: Vector2i) -> Vector2:
- return _get_field_position(field_coords) + global_position
-
-
-func get_grabbed_item() -> InventoryItem:
- if _grabbed_ctrl_inventory_item:
- return _grabbed_ctrl_inventory_item.item
-
- return null
+ return _get_field_position(field_coords) + global_position
func deselect_inventory_item() -> void:
- _select(null)
+ _select(null)
func select_inventory_item(item: InventoryItem) -> void:
- _select(item)
+ _select(item)
diff --git a/addons/gloot/ui/ctrl_inventory_grid_ex.gd b/addons/gloot/ui/ctrl_inventory_grid_ex.gd
index 74368044..5344e3f3 100644
--- a/addons/gloot/ui/ctrl_inventory_grid_ex.gd
+++ b/addons/gloot/ui/ctrl_inventory_grid_ex.gd
@@ -1,4 +1,5 @@
@tool
+@icon("res://addons/gloot/images/icon_ctrl_inventory_grid.svg")
class_name CtrlInventoryGridEx
extends CtrlInventoryGrid
@@ -48,6 +49,7 @@ func _dequeue_highlight():
func _refresh() -> void:
super._refresh()
+ _refresh_field_background_grid()
func _refresh_selection() -> void:
@@ -101,16 +103,8 @@ func _create_selection_panel() -> void:
_set_panel_style(_selection_panel, selection_style)
_selection_panel.visible = (_selected_item != null) && (selection_style != null)
_selection_panel.mouse_filter = Control.MOUSE_FILTER_IGNORE
- _selection_panel.mouse_entered.connect(Callable(self, "_on_selection_mouse_entered"))
- _selection_panel.mouse_exited.connect(Callable(self, "_on_selection_mouse_exited"))
-
-
-func _on_selection_mouse_entered() -> void:
- item_mouse_entered.emit(_selected_item)
-
-
-func _on_selection_mouse_exited() -> void:
- item_mouse_exited.emit(_selected_item)
+ _selection_panel.mouse_entered.connect(func(): item_mouse_entered.emit(_selected_item))
+ _selection_panel.mouse_exited.connect(func(): item_mouse_exited.emit(_selected_item))
func _set_panel_style(panel: Panel, style: StyleBox) -> void:
@@ -124,7 +118,7 @@ func _ready() -> void:
_create_selection_panel()
_create_field_background_grid()
- selection_changed.connect(Callable(self, "_on_selection_changed"))
+ selection_changed.connect(_on_selection_changed)
func _on_selection_changed() -> void:
@@ -145,16 +139,14 @@ func _on_inventory_resized() -> void:
func _input(event) -> void:
- super._input(event)
-
if !(event is InputEventMouseMotion):
return
if !inventory:
return
var hovered_field_coords := Vector2i(-1, -1)
- if _is_hovering(get_global_mouse_position()):
- hovered_field_coords = get_field_coords(get_global_mouse_position())
+ if _is_hovering(get_local_mouse_position()):
+ hovered_field_coords = get_field_coords(get_local_mouse_position())
_reset_highlights()
if !field_highlighted_style:
@@ -187,17 +179,21 @@ func _highlight_grabbed_item(style: StyleBox) -> bool:
if !grabbed_item:
return false
- var global_grabbed_item_pos: Vector2 = _get_global_grabbed_item_global_pos()
+ var global_grabbed_item_pos: Vector2 = _get_global_grabbed_item_local_pos()
if !_is_hovering(global_grabbed_item_pos):
return false
- var grabbed_item_coords := get_field_coords(global_grabbed_item_pos)
+ var grabbed_item_coords := get_field_coords(global_grabbed_item_pos + (field_dimensions / 2))
var item_size := inventory.get_item_size(grabbed_item)
var rect := Rect2i(grabbed_item_coords, item_size)
_highlight_rect(rect, style, true)
return true
+func _is_hovering(local_pos: Vector2) -> bool:
+ return get_rect().has_point(local_pos)
+
+
func _highlight_item(item: InventoryItem, style: StyleBox) -> bool:
if !item || !style:
return false
@@ -228,14 +224,13 @@ func _highlight_rect(rect: Rect2i, style: StyleBox, queue_for_reset: bool) -> vo
func _get_global_grabbed_item() -> InventoryItem:
- var grabbed_item: InventoryItem = get_grabbed_item()
- if !grabbed_item && _gloot:
- grabbed_item = _gloot._grabbed_inventory_item
- return grabbed_item
+ if CtrlDragable.get_grabbed_dragable() == null:
+ return null
+ return (CtrlDragable.get_grabbed_dragable() as CtrlInventoryItemRect).item
-func _get_global_grabbed_item_global_pos() -> Vector2:
- if _gloot && _gloot._grabbed_inventory_item:
- return get_global_mouse_position() - _gloot._grab_offset + (field_dimensions / 2)
+func _get_global_grabbed_item_local_pos() -> Vector2:
+ if CtrlDragable.get_grabbed_dragable():
+ return get_local_mouse_position() - CtrlDragable.get_grab_offset()
return Vector2(-1, -1)
diff --git a/addons/gloot/ui/ctrl_inventory_item_rect.gd b/addons/gloot/ui/ctrl_inventory_item_rect.gd
index 971befc6..60512568 100644
--- a/addons/gloot/ui/ctrl_inventory_item_rect.gd
+++ b/addons/gloot/ui/ctrl_inventory_item_rect.gd
@@ -1,66 +1,78 @@
class_name CtrlInventoryItemRect
-extends Control
+extends "res://addons/gloot/ui/ctrl_dragable.gd"
const StacksConstraint = preload("res://addons/gloot/core/constraints/stacks_constraint.gd")
-signal grabbed(offset)
signal activated
var item: InventoryItem :
get:
return item
set(new_item):
+ if item == new_item:
+ return
+
+ _disconnect_item_signals()
+ _connect_item_signals(new_item)
+
item = new_item
- if item && ctrl_inventory:
- var texture_path = item.get_property(CtrlInventory.KEY_IMAGE)
- if texture_path:
- texture = load(texture_path)
- _refresh()
-var ctrl_inventory
+ if item:
+ texture = item.get_texture()
+ else:
+ texture = null
var texture: Texture2D :
get:
return texture
set(new_texture):
+ if new_texture == texture:
+ return
texture = new_texture
+ if texture != null:
+ size = texture.get_size()
queue_redraw()
var selected: bool = false :
get:
return selected
set(new_selected):
+ if new_selected == selected:
+ return
selected = new_selected
queue_redraw()
var selection_bg_color: Color = Color.GRAY :
get:
return selection_bg_color
set(new_selection_bg_color):
+ if new_selection_bg_color == selection_bg_color:
+ return
selection_bg_color = new_selection_bg_color
queue_redraw()
+var item_slot: ItemSlot
+static var _stored_preview_size: Vector2
+static var _stored_preview_offset: Vector2
-func _refresh() -> void:
- _refresh_size()
- _refresh_pos()
-
-
-func _refresh_size() -> void:
- if ctrl_inventory.stretch_item_sprites:
- size = ctrl_inventory._get_streched_item_sprite_size(item)
- else:
- size = texture.get_size()
-
-
-func _refresh_pos() -> void:
- var item_pos: Vector2 = _get_item_position()
+func _connect_item_signals(new_item: InventoryItem) -> void:
+ if new_item == null:
+ return
- position = ctrl_inventory._get_field_position(item_pos)
+ if !new_item.protoset_changed.is_connected(queue_redraw):
+ new_item.protoset_changed.connect(queue_redraw)
+ if !new_item.prototype_id_changed.is_connected(queue_redraw):
+ new_item.prototype_id_changed.connect(queue_redraw)
+ if !new_item.properties_changed.is_connected(queue_redraw):
+ new_item.properties_changed.connect(queue_redraw)
- if !ctrl_inventory.stretch_item_sprites:
- # Position the item centered when it's not streched
- position += _get_unstreched_sprite_offset()
+func _disconnect_item_signals() -> void:
+ if item == null:
+ return
-func _get_unstreched_sprite_offset() -> Vector2:
- return (ctrl_inventory._get_streched_item_sprite_size(item) - texture.get_size()) / 2
+ if item.protoset_changed.is_connected(queue_redraw):
+ item.protoset_changed.disconnect(queue_redraw)
+ if item.prototype_id_changed.is_connected(queue_redraw):
+ item.prototype_id_changed.disconnect(queue_redraw)
+ if item.properties_changed.is_connected(queue_redraw):
+ item.properties_changed.disconnect(queue_redraw)
func _get_item_size() -> Vector2:
@@ -76,11 +88,42 @@ func _get_item_position() -> Vector2:
func _ready() -> void:
- if item && ctrl_inventory:
- _refresh()
+ drag_preview = CtrlInventoryItemRect.new()
+
+
+func drag_start() -> void:
+ if drag_preview != null:
+ drag_preview.item = item
+ drag_preview.texture = texture
+ drag_preview.size = size
+ super.drag_start()
+
+
+static func override_preview_size(s: Vector2) -> void:
+ if CtrlDragable._grabbed_dragable == null:
+ return
+ var _grabbed_ctrl := (CtrlDragable._grabbed_dragable as CtrlInventoryItemRect)
+ if _grabbed_ctrl.item == null || _grabbed_ctrl.drag_preview == null:
+ return
+ _stored_preview_size = _grabbed_ctrl.drag_preview.size
+ _stored_preview_offset = CtrlDragable._grab_offset
+ CtrlDragable._grab_offset *= s/_grabbed_ctrl.drag_preview.size
+ _grabbed_ctrl.drag_preview.size = s
+
+
+static func restore_preview_size() -> void:
+ if CtrlDragable._grabbed_dragable == null:
+ return
+ var _grabbed_ctrl := (CtrlDragable._grabbed_dragable as CtrlInventoryItemRect)
+ if _grabbed_ctrl.item == null || _grabbed_ctrl.drag_preview == null:
+ return
+ _grabbed_ctrl.drag_preview.size = _stored_preview_size
+ CtrlDragable._grab_offset = _stored_preview_offset
func _draw() -> void:
+ if is_dragged():
+ return
var rect = Rect2(Vector2.ZERO, size)
_draw_selection(rect)
_draw_texture(rect)
@@ -96,8 +139,6 @@ func _draw_texture(rect: Rect2):
if texture:
var src_rect: Rect2 = Rect2(0, 0, texture.get_width(), texture.get_height())
draw_texture_rect_region(texture, rect, src_rect)
- else:
- draw_rect(rect, Color.WHITE, false)
func _draw_stack_size(rect: Rect2):
@@ -122,6 +163,7 @@ func _draw_stack_size(rect: Rect2):
func _gui_input(event: InputEvent) -> void:
+ super._gui_input(event)
if !(event is InputEventMouseButton):
return
@@ -131,8 +173,4 @@ func _gui_input(event: InputEvent) -> void:
if mb_event.double_click:
if get_global_rect().has_point(get_global_mouse_position()):
- activated.emit(self)
- elif mb_event.is_pressed():
- if get_global_rect().has_point(get_global_mouse_position()):
- var offset: Vector2 = get_global_mouse_position() - get_global_rect().position
- grabbed.emit(self, offset)
+ activated.emit()
diff --git a/addons/gloot/ui/ctrl_inventory_stacked.gd b/addons/gloot/ui/ctrl_inventory_stacked.gd
index f1452b2f..67ea8bd5 100644
--- a/addons/gloot/ui/ctrl_inventory_stacked.gd
+++ b/addons/gloot/ui/ctrl_inventory_stacked.gd
@@ -1,77 +1,78 @@
@tool
+@icon("res://addons/gloot/images/icon_ctrl_inventory_stacked.svg")
class_name CtrlInventoryStacked
extends CtrlInventory
@export var progress_bar_visible: bool = true :
- get:
- return progress_bar_visible
- set(new_progress_bar_visible):
- progress_bar_visible = new_progress_bar_visible
- if _progress_bar:
- _progress_bar.visible = progress_bar_visible
+ get:
+ return progress_bar_visible
+ set(new_progress_bar_visible):
+ progress_bar_visible = new_progress_bar_visible
+ if _progress_bar:
+ _progress_bar.visible = progress_bar_visible
@export var label_visible: bool = true :
- get:
- return label_visible
- set(new_label_visible):
- label_visible = new_label_visible
- if _label:
- _label.visible = label_visible
+ get:
+ return label_visible
+ set(new_label_visible):
+ label_visible = new_label_visible
+ if _label:
+ _label.visible = label_visible
var _progress_bar: ProgressBar
var _label: Label
func _ready():
- super._ready()
-
- _progress_bar = ProgressBar.new()
- _progress_bar.size_flags_horizontal = SIZE_EXPAND_FILL
- _progress_bar.show_percentage = false
- _progress_bar.visible = progress_bar_visible
- _progress_bar.custom_minimum_size.y = 20
- _vbox_container.add_child(_progress_bar)
+ super._ready()
+
+ _progress_bar = ProgressBar.new()
+ _progress_bar.size_flags_horizontal = SIZE_EXPAND_FILL
+ _progress_bar.show_percentage = false
+ _progress_bar.visible = progress_bar_visible
+ _progress_bar.custom_minimum_size.y = 20
+ _vbox_container.add_child(_progress_bar)
- _label = Label.new()
- _label.anchor_right = 1.0
- _label.anchor_bottom = 1.0
- _label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER
- _label.vertical_alignment = VERTICAL_ALIGNMENT_CENTER
- _progress_bar.add_child(_label)
+ _label = Label.new()
+ _label.anchor_right = 1.0
+ _label.anchor_bottom = 1.0
+ _label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER
+ _label.vertical_alignment = VERTICAL_ALIGNMENT_CENTER
+ _progress_bar.add_child(_label)
- _refresh()
+ _refresh()
func _connect_inventory_signals() -> void:
- if !inventory:
- return
+ if !inventory:
+ return
- super._connect_inventory_signals()
+ super._connect_inventory_signals()
- if !inventory.capacity_changed.is_connected(Callable(self, "_refresh")):
- inventory.capacity_changed.connect(Callable(self, "_refresh"))
- if !inventory.occupied_space_changed.is_connected(Callable(self, "_refresh")):
- inventory.occupied_space_changed.connect(Callable(self, "_refresh"))
+ if !inventory.capacity_changed.is_connected(_refresh):
+ inventory.capacity_changed.connect(_refresh)
+ if !inventory.occupied_space_changed.is_connected(_refresh):
+ inventory.occupied_space_changed.connect(_refresh)
func _disconnect_inventory_signals() -> void:
- if !inventory:
- return
+ if !inventory:
+ return
- super._disconnect_inventory_signals()
+ super._disconnect_inventory_signals()
- if !inventory.capacity_changed.is_connected(Callable(self, "_refresh")):
- inventory.capacity_changed.disconnect(Callable(self, "_refresh"))
- if !inventory.occupied_space_changed.is_connected(Callable(self, "_refresh")):
- inventory.occupied_space_changed.disconnect(Callable(self, "_refresh"))
+ if !inventory.capacity_changed.is_connected(_refresh):
+ inventory.capacity_changed.disconnect(_refresh)
+ if !inventory.occupied_space_changed.is_connected(_refresh):
+ inventory.occupied_space_changed.disconnect(_refresh)
func _refresh():
- super._refresh()
- if _label:
- _label.visible = label_visible
- _label.text = "%d/%d" % [inventory.occupied_space, inventory.capacity]
- if _progress_bar:
- _progress_bar.visible = progress_bar_visible
- _progress_bar.min_value = 0
- _progress_bar.max_value = inventory.capacity
- _progress_bar.value = inventory.occupied_space
+ super._refresh()
+ if _label:
+ _label.visible = label_visible
+ _label.text = "%d/%d" % [inventory.occupied_space, inventory.capacity]
+ if _progress_bar:
+ _progress_bar.visible = progress_bar_visible
+ _progress_bar.min_value = 0
+ _progress_bar.max_value = inventory.capacity
+ _progress_bar.value = inventory.occupied_space
diff --git a/addons/gloot/ui/ctrl_item_slot.gd b/addons/gloot/ui/ctrl_item_slot.gd
index 6f43db9e..ef4a8309 100644
--- a/addons/gloot/ui/ctrl_item_slot.gd
+++ b/addons/gloot/ui/ctrl_item_slot.gd
@@ -1,44 +1,68 @@
@tool
+@icon("res://addons/gloot/images/icon_ctrl_item_slot.svg")
class_name CtrlItemSlot
extends Control
+const CtrlInventoryRect = preload("res://addons/gloot/ui/ctrl_inventory_item_rect.gd")
+const CtrlDropZone = preload("res://addons/gloot/ui/ctrl_drop_zone.gd")
+const CtrlDragable = preload("res://addons/gloot/ui/ctrl_dragable.gd")
+
@export var item_slot_path: NodePath :
get:
return item_slot_path
set(new_item_slot_path):
+ if item_slot_path == new_item_slot_path:
+ return
item_slot_path = new_item_slot_path
var node: Node = get_node_or_null(item_slot_path)
if node == null:
+ _clear()
return
if is_inside_tree():
- assert(node is ItemSlot)
+ assert(node is ItemSlotBase)
- self.item_slot = node
+ item_slot = node
+ _refresh()
update_configuration_warnings()
@export var default_item_icon: Texture2D :
get:
return default_item_icon
set(new_default_item_icon):
+ if default_item_icon == new_default_item_icon:
+ return
default_item_icon = new_default_item_icon
_refresh()
+@export var icon_scaling: Vector2 = Vector2.ONE :
+ get:
+ return icon_scaling
+ set(new_icon_scaling):
+ if icon_scaling == new_icon_scaling:
+ return
+ icon_scaling = new_icon_scaling
+ if _ctrl_inventory_item_rect && _ctrl_inventory_item_rect.texture:
+ _ctrl_inventory_item_rect.custom_minimum_size = _ctrl_inventory_item_rect.texture.get_size() * icon_scaling
@export var item_texture_visible: bool = true :
get:
return item_texture_visible
set(new_item_texture_visible):
+ if item_texture_visible == new_item_texture_visible:
+ return
item_texture_visible = new_item_texture_visible
- if _texture_rect:
- _texture_rect.visible = item_texture_visible
+ if _ctrl_inventory_item_rect:
+ _ctrl_inventory_item_rect.visible = item_texture_visible
@export var label_visible: bool = true :
get:
return label_visible
set(new_label_visible):
+ if label_visible == new_label_visible:
+ return
label_visible = new_label_visible
if _label:
_label.visible = label_visible
-var item_slot: ItemSlot :
+var item_slot: ItemSlotBase :
get:
return item_slot
set(new_item_slot):
@@ -51,16 +75,16 @@ var item_slot: ItemSlot :
_refresh()
var _hbox_container: HBoxContainer
-var _texture_rect: TextureRect
+var _ctrl_inventory_item_rect: CtrlInventoryRect
var _label: Label
-var _gloot: Node = null
+var _ctrl_drop_zone: CtrlDropZone
func _get_configuration_warnings() -> PackedStringArray:
if item_slot_path.is_empty():
return PackedStringArray([
"This node is not linked to an item slot, so it can't display any content.\n" + \
- "Set the item_slot_path property to point to an ItemSlot node."])
+ "Set the item_slot_path property to point to an ItemSlotBase node."])
return PackedStringArray()
@@ -68,87 +92,114 @@ func _connect_item_slot_signals() -> void:
if !item_slot:
return
- if !item_slot.item_set.is_connected(Callable(self, "_on_item_set")):
- item_slot.item_set.connect(Callable(self, "_on_item_set"))
- if !item_slot.item_cleared.is_connected(Callable(self, "_refresh")):
- item_slot.item_cleared.connect(Callable(self, "_refresh"))
- if !item_slot.inventory_changed.is_connected(Callable(self, "_on_inventory_changed")):
- item_slot.inventory_changed.connect(Callable(self, "_on_inventory_changed"))
+ if !item_slot.item_equipped.is_connected(_refresh):
+ item_slot.item_equipped.connect(_refresh)
+ if !item_slot.cleared.is_connected(_refresh):
+ item_slot.cleared.connect(_refresh)
func _disconnect_item_slot_signals() -> void:
if !item_slot:
return
- if item_slot.item_set.is_connected(Callable(self, "_on_item_set")):
- item_slot.item_set.disconnect(Callable(self, "_on_item_set"))
- if item_slot.item_cleared.is_connected(Callable(self, "_refresh")):
- item_slot.item_cleared.disconnect(Callable(self, "_refresh"))
- if item_slot.inventory_changed.is_connected(Callable(self, "_on_inventory_changed")):
- item_slot.inventory_changed.disconnect(Callable(self, "_on_inventory_changed"))
-
-
-func _on_item_set(_item: InventoryItem) -> void:
- _refresh()
-
-
-func _on_inventory_changed(_inventory: Inventory) -> void:
- _refresh()
+ if item_slot.item_equipped.is_connected(_refresh):
+ item_slot.item_equipped.disconnect(_refresh)
+ if item_slot.cleared.is_connected(_refresh):
+ item_slot.cleared.disconnect(_refresh)
func _ready():
- _gloot = _get_gloot()
-
if Engine.is_editor_hint():
# Clean up, in case it is duplicated in the editor
if _hbox_container:
_hbox_container.queue_free()
+ var node: Node = get_node_or_null(item_slot_path)
+ if is_inside_tree() && node:
+ assert(node is ItemSlotBase)
+ item_slot = node
+
_hbox_container = HBoxContainer.new()
_hbox_container.size_flags_horizontal = SIZE_EXPAND_FILL
_hbox_container.size_flags_vertical = SIZE_EXPAND_FILL
add_child(_hbox_container)
-
- _texture_rect = TextureRect.new()
- _texture_rect.visible = item_texture_visible
- _hbox_container.add_child(_texture_rect)
+ _hbox_container.resized.connect(func(): size = _hbox_container.size)
+
+ _ctrl_inventory_item_rect = CtrlInventoryRect.new()
+ _ctrl_inventory_item_rect.visible = item_texture_visible
+ _ctrl_inventory_item_rect.size_flags_horizontal = Control.SIZE_SHRINK_BEGIN
+ _ctrl_inventory_item_rect.size_flags_vertical = Control.SIZE_SHRINK_BEGIN
+ _ctrl_inventory_item_rect.item_slot = item_slot
+ _ctrl_inventory_item_rect.resized.connect(func():
+ custom_minimum_size = _ctrl_inventory_item_rect.size
+ size = _ctrl_inventory_item_rect.size
+ )
+ _hbox_container.add_child(_ctrl_inventory_item_rect)
+
+ _ctrl_drop_zone = CtrlDropZone.new()
+ _ctrl_drop_zone.dragable_dropped.connect(_on_dragable_dropped)
+ _ctrl_drop_zone.size = size
+ resized.connect(func(): _ctrl_drop_zone.size = size)
+ _ctrl_drop_zone.mouse_entered.connect(_on_drop_zone_mouse_entered)
+ _ctrl_drop_zone.mouse_exited.connect(_on_drop_zone_mouse_exited)
+ CtrlDragable.dragable_grabbed.connect(_on_any_dragable_grabbed)
+ CtrlDragable.dragable_dropped.connect(_on_any_dragable_dropped)
+ add_child(_ctrl_drop_zone)
+ _ctrl_drop_zone.deactivate()
_label = Label.new()
_label.visible = label_visible
_hbox_container.add_child(_label)
- var node: Node = get_node_or_null(item_slot_path)
- if is_inside_tree() && node:
- assert(node is ItemSlot)
- self.item_slot = node
+ size = _hbox_container.size
+ _hbox_container.resized.connect(func(): size = _hbox_container.size)
_refresh()
- if !Engine.is_editor_hint() && _gloot:
- _gloot.item_dropped.connect(Callable(self, "_on_item_dropped"))
-func _get_gloot() -> Node:
- # This is a "temporary" hack until a better solution is found!
- # This is a tool script that is also executed inside the editor, where the "GLoot" singleton is
- # not visible - leading to errors inside the editor.
- # To work around that, we obtain the singleton by name.
- return get_tree().root.get_node_or_null("GLoot")
+func _on_dragable_dropped(dragable: CtrlDragable, drop_position: Vector2) -> void:
+ var item = (dragable as CtrlInventoryItemRect).item
-
-func _get_singleton() -> Node:
- return null
-
-
-func _on_item_dropped(wr_item: WeakRef, global_drop_pos: Vector2) -> void:
- var item: InventoryItem = wr_item.get_ref()
if !item:
return
if !item_slot:
return
- var slot_rect = get_global_rect()
- if slot_rect.has_point(get_global_mouse_position()) && item_slot.can_hold_item(item):
- item_slot.item = item
+ if !item_slot.can_hold_item(item):
+ return
+
+ if item == item_slot.get_item():
+ return
+
+ item_slot.equip(item)
+
+
+func _on_drop_zone_mouse_entered() -> void:
+ if CtrlDragable._grabbed_dragable == null:
+ return
+ var _grabbed_ctrl := (CtrlDragable._grabbed_dragable as CtrlInventoryItemRect)
+ if _grabbed_ctrl == null || _grabbed_ctrl.texture == null:
+ return
+ CtrlInventoryItemRect.override_preview_size(_grabbed_ctrl.texture.get_size() * icon_scaling)
+
+
+func _on_drop_zone_mouse_exited() -> void:
+ CtrlInventoryItemRect.restore_preview_size()
+
+
+func _on_any_dragable_grabbed(dragable: CtrlDragable, grab_position: Vector2):
+ _ctrl_drop_zone.activate()
+
+
+func _on_any_dragable_dropped(dragable: CtrlDragable, zone: CtrlDropZone, drop_position: Vector2):
+ _ctrl_drop_zone.deactivate()
+
+ # Unequip from other slots
+ if zone == _ctrl_drop_zone || zone == null:
+ return
+ var ctrl_inventory_item_rect := (dragable as CtrlInventoryItemRect)
+ if ctrl_inventory_item_rect.item_slot:
+ ctrl_inventory_item_rect.item_slot.clear()
func _refresh() -> void:
@@ -157,19 +208,26 @@ func _refresh() -> void:
if item_slot == null:
return
- if item_slot.item == null:
+ if item_slot.get_item() == null:
return
- var item = item_slot.item
+ var item = item_slot.get_item()
if _label:
_label.text = item.get_property(CtrlInventory.KEY_NAME, item.prototype_id)
- if _texture_rect:
- _texture_rect.texture = item.get_texture()
+ if _ctrl_inventory_item_rect:
+ _ctrl_inventory_item_rect.item = item
+ if item.get_texture():
+ _ctrl_inventory_item_rect.texture = item.get_texture()
+ else:
+ _ctrl_inventory_item_rect.texture = default_item_icon
+
+ if _ctrl_inventory_item_rect.texture:
+ _ctrl_inventory_item_rect.custom_minimum_size = _ctrl_inventory_item_rect.texture.get_size() * icon_scaling
func _clear() -> void:
if _label:
_label.text = ""
- if _texture_rect:
- _texture_rect.texture = null
+ if _ctrl_inventory_item_rect:
+ _ctrl_inventory_item_rect.item = null
diff --git a/addons/gloot/ui/ctrl_item_slot_ex.gd b/addons/gloot/ui/ctrl_item_slot_ex.gd
index 3e111e4e..eb8df188 100644
--- a/addons/gloot/ui/ctrl_item_slot_ex.gd
+++ b/addons/gloot/ui/ctrl_item_slot_ex.gd
@@ -1,4 +1,5 @@
@tool
+@icon("res://addons/gloot/images/icon_ctrl_item_slot.svg")
class_name CtrlItemSlotEx
extends CtrlItemSlot
@@ -17,6 +18,14 @@ extends CtrlItemSlot
var _background_panel: Panel
+func _ready():
+ super._ready()
+ resized.connect(func():
+ if _background_panel:
+ _background_panel.size = size
+ )
+
+
func _refresh() -> void:
super._refresh()
_update_background()
diff --git a/addons/markdownlabel/LICENSE b/addons/markdownlabel/LICENSE
new file mode 100644
index 00000000..78503da8
--- /dev/null
+++ b/addons/markdownlabel/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2023 Daenvil
+
+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/markdownlabel/README.md b/addons/markdownlabel/README.md
index b68508ed..35265970 100644
--- a/addons/markdownlabel/README.md
+++ b/addons/markdownlabel/README.md
@@ -46,8 +46,7 @@ My initial use case that lead me to do this was to directly include text from fi
Simply add a MarkdownLabel to the scene and write its `markdown_text` field in Markdown format.
In the RichTextLabel properties:
-- **`bbcode_enabled` property must be enabled**.
-- Do not touch the `text` property, since it's internally used by MarkdownLabel to properly format its text.
+- Do not touch neither the `bbcode_enabled` nor the `text` property, since they are internally used by MarkdownLabel to properly format its text. Both properties are hidden from the editor to prevent mistakenly editing them.
- You can use the rest of its properties as normal.
You can still use BBCode tags that don't have a Markdown equivalent, such as `[color=green]underlined text[/color]`, allowing you to have the full functionality of RichTextLabel with the simplicity and readibility of Markdown.
@@ -58,7 +57,6 @@ You can still use BBCode tags that don't have a Markdown equivalent, such as `[c
### Basic syntax
The basic Markdown syntax works in the standard way:
-
```
Markdown text ................ -> BBCode equivalent
-------------------------------||------------------
@@ -92,7 +90,7 @@ multiline codeblock .......... -> multiline codeblock
MarkdownLabel supports headers, although RichTextLabel doesn't. By default, a line defined as a header will have its font size scaled by a pre-defined amount.
-To define a line as a header, begin it with any number of consecutive hash symbols (#) and follow it with the title of your header. The number of hash symbols defines the level of the header. The maximum supported level is six..
+To define a line as a header, begin it with any number of consecutive hash symbols (#) and follow it with the title of your header. The number of hash symbols defines the level of the header. The maximum supported level is six.
Example:
```
@@ -113,19 +111,25 @@ Of course, you can also use basic formatting within the headers (e.g. `### Heade
### Links
-Links follow the standard Markdown syntax of `[text to display](example.com)`. Additionally, you can add tooltips to your links with `[text to display](example.com "Some tooltip")`.
+Links follow the standard Markdown syntax of `[text to display](https://example.com)`. Additionally, you can add tooltips to your links with `[text to display](https://example.com "Some tooltip")`.
+
+"Autolinks" are also supported with their standard syntax: ``, and `` for mail autolinks.
+
+Links created this way will be automatically handled by MarkdownLabel, implemented their expected behaviour:
-"Autolinks" are also supported with their standard syntax: ``, and `` for mail autolinks.
+- Valid header anchors (such as the ones in [Contents](#contents)) will make MarkdownLabel scroll to their header's position.
+- Valid URLs and emails will be opened according to the user's settings (usually, using their default browser).
+- Links that do not match any of the above conditions will be interpreted as a URL by prefixing them with "https://". E.g. `[link](example.com)` will link to "https://example.com".
-Keep in mind that, in Godot, **links do nothing by default**. MarkdownLabel treats them the say way (may be changed in the future). See the [RichTextLabel reference](https://docs.godotengine.org/en/stable/tutorials/ui/bbcode_in_richtextlabel.html#doc-bbcode-in-richtextlabel-handling-url-tag-clicks) for more info.
+This behavior can be disabled using the `automatic_links` property (enabled by default).
```
Markdown text .............................. -> BBCode equivalent
---------------------------------------------||------------------
-[this is a link](example.com) .............. -> [url=example.com]this is a link[/url]
-[this is a link](example.com "Example page") -> [hint=Example url][url=example.com]this is a link[/url][/hint]
- .............................. -> [url]example.com[/url]
- ......................... -> [url=mailto:mail@example.com]mail@example.com[/url]
+[this is a link](https://example.com) .............. -> [url=https://example.com]this is a link[/url]
+[this is a link](https://example.com "Example page") -> [hint=Example url][url=https://example.com]this is a link[/url][/hint]
+ .............................. -> [url]https://example.com[/url]
+ ................................. -> [url=mailto:mail@example.com]mail@example.com[/url]
```
### Images
diff --git a/addons/markdownlabel/markdownlabel.gd b/addons/markdownlabel/markdownlabel.gd
index ca88cfa9..a48e0008 100644
--- a/addons/markdownlabel/markdownlabel.gd
+++ b/addons/markdownlabel/markdownlabel.gd
@@ -20,10 +20,13 @@ const _ESCAPE_PLACEHOLDER := ";$\uFFFD:%s$;"
const _ESCAPEABLE_CHARACTERS := "\\*_~`[]()\"<>#-+.!"
const _ESCAPEABLE_CHARACTERS_REGEX := "[\\\\\\*\\_\\~`\\[\\]\\(\\)\\\"\\<\\>#\\-\\+\\.\\!]"
-# Public:
+#region Public:
## The text to be displayed in Markdown format.
@export_multiline var markdown_text: String : set = _set_markdown_text
+## If enabled, links will be automatically handled by this node, without needing to manually connect them. Valid header anchors will make the label scroll to that header's position. Valid URLs and e-mails will be opened according to the user's default settings.
+@export var automatic_links := true
+
@export_group("Header formats")
## Formatting options for level-1 headers
@export var h1 := H1Format.new() : set = _set_h1_format
@@ -37,20 +40,27 @@ const _ESCAPEABLE_CHARACTERS_REGEX := "[\\\\\\*\\_\\~`\\[\\]\\(\\)\\\"\\<\\>#\\-
@export var h5 := H5Format.new() : set = _set_h5_format
## Formatting options for level-6 headers
@export var h6 := H6Format.new() : set = _set_h6_format
+#endregion
-# Private:
+#region Private:
var _converted_text: String
var _indent_level: int
var _escaped_characters_map := {}
+var _current_paragraph: int = 0
+var _header_anchor_paragraph := {}
+var _header_anchor_count := {}
var _within_table := false
var _table_row := -1
var _line_break := true
var _debug_mode := false
+#endregion
-# Built-in methods:
+#region Built-in methods:
func _init(markdown_text: String = "") -> void:
bbcode_enabled = true
self.markdown_text = markdown_text
+ if automatic_links:
+ meta_clicked.connect(_on_meta_clicked)
func _ready() -> void:
h1.connect("_updated",_update)
@@ -70,18 +80,39 @@ func _ready() -> void:
#else:
#pass
-# Should hide properties in the editor, not working for some reason:
-#func _validate_property(property: Dictionary):
-# print(property.name)
-# if property.name in ["bbcode_enabled", "text"]:
-# property.usage = PROPERTY_USAGE_NO_EDITOR
+func _on_meta_clicked(meta: Variant) -> void:
+ if not automatic_links:
+ return
+ if typeof(meta) != TYPE_STRING:
+ return
+ if meta.begins_with("#") and meta in _header_anchor_paragraph:
+ self.scroll_to_paragraph(_header_anchor_paragraph[meta])
+ return
+ var url_pattern := RegEx.new()
+ url_pattern.compile("^(ftp|http|https):\\/\\/[^\\s\\\"]+$")
+ var result := url_pattern.search(meta)
+ if not result:
+ url_pattern.compile("^mailto:[^\\s]+@[^\\s]+\\.[^\\s]+$")
+ result = url_pattern.search(meta)
+ if result:
+ OS.shell_open(meta)
+ return
+ OS.shell_open("https://" + meta)
+
+func _validate_property(property: Dictionary):
+ # Hide these properties in the editor:
+ if property.name in ["bbcode_enabled", "text"]:
+ property.usage = PROPERTY_USAGE_NO_EDITOR
+
+#endregion
-# Public methods:
+#region Public methods:
## Reads the specified file and displays it as markdown.
-func display_file(file_path: String):
+func display_file(file_path: String) -> void:
markdown_text = FileAccess.get_file_as_string(file_path)
+#endregion
-#Private methods:
+#region Private methods:
func _update() -> void:
text = _convert_markdown(markdown_text)
queue_redraw()
@@ -136,16 +167,18 @@ func _convert_markdown(source_text = "") -> String:
for line in lines:
line = line.trim_suffix("\r")
- _debug("Parsing line: '%s'"%line)
+ _debug("Parsing line: '%s'" % line)
within_code_block = within_tilde_block or within_backtick_block
if iline > 0 and _line_break:
_converted_text += "\n"
+ _current_paragraph += 1
_line_break = true
iline+=1
if not within_tilde_block and _denotes_fenced_code_block(line,"`"):
if within_backtick_block:
if line.strip_edges().length() >= current_code_block_char_count:
_converted_text = _converted_text.trim_suffix("\n")
+ _current_paragraph -= 1
_converted_text += "[/code]"
within_backtick_block = false
_debug("... closing backtick block")
@@ -160,6 +193,7 @@ func _convert_markdown(source_text = "") -> String:
if within_tilde_block:
if line.strip_edges().length() >= current_code_block_char_count:
_converted_text = _converted_text.trim_suffix("\n")
+ _current_paragraph -= 1
_converted_text += "[/code]"
within_tilde_block = false
_debug("... closing tilde block")
@@ -365,13 +399,13 @@ func _convert_markdown(source_text = "") -> String:
break
n_spaces+=1
var header_format: Resource = _get_header_format(n)
- var n_digits := str(header_format.font_size).length()
var _start := result.get_start()
var opening_tags := _get_header_tags(header_format)
_processed_line = _processed_line.erase(_start,n+n_spaces).insert(_start,opening_tags)
var _end := result.get_end()
_processed_line = _processed_line.insert(_end-(n+n_spaces)+opening_tags.length(),_get_header_tags(header_format,true))
_debug("... header level %d"%n)
+ _header_anchor_paragraph[_get_header_reference(result.get_string())] = _current_paragraph
else:
break
@@ -382,8 +416,8 @@ func _convert_markdown(source_text = "") -> String:
# end for line loop
# Close any remaining open list:
_debug("... end of text, closing all opened lists")
- for i in range(_indent_level,-1,-1):
- _converted_text += "[/%s]"%indent_types[i]
+ for i in range(_indent_level, -1, -1):
+ _converted_text += "[/%s]" % indent_types[i]
# Close any remaining open tables:
_debug("... end of text, closing all opened tables")
if _within_table:
@@ -398,16 +432,16 @@ func _convert_markdown(source_text = "") -> String:
func _process_list_syntax(line: String, indent_spaces: Array, indent_types: Array) -> String:
var processed_line := ""
if line.length() == 0 and _indent_level >= 0:
- for i in range(_indent_level,-1,-1):
+ for i in range(_indent_level, -1, -1):
_converted_text += "[/%s]" % indent_types[_indent_level]
- _indent_level-=1
+ _indent_level -= 1
indent_spaces.pop_back()
indent_types.pop_back()
_converted_text += "\n"
_debug("... empty line, closing all list tags")
return ""
if _indent_level == -1:
- if line.length() > 2 and line[0] in "-*+" and line[1]==" ":
+ if line.length() > 2 and line[0] in "-*+" and line[1] == " ":
_indent_level = 0
indent_spaces.append(0)
indent_types.append("ul")
@@ -444,9 +478,9 @@ func _process_list_syntax(line: String, indent_spaces: Array, indent_types: Arra
_debug("... opening list at level %d and adding element"%_indent_level)
break
else:
- for i in range(_indent_level,-1,-1):
+ for i in range(_indent_level, -1, -1):
if n_s < indent_spaces[i]:
- _converted_text += "[/%s]"%indent_types[_indent_level]
+ _converted_text += "[/%s]" % indent_types[_indent_level]
_indent_level -= 1
indent_spaces.pop_back()
indent_types.pop_back()
@@ -454,7 +488,7 @@ func _process_list_syntax(line: String, indent_spaces: Array, indent_types: Arra
break
_converted_text += "\n"
processed_line = line.substr(n_s+2)
- _debug("...closing lists down to level %d and adding element"%_indent_level)
+ _debug("...closing lists down to level %d and adding element" % _indent_level)
break
elif _char in "123456789":
if line.length() > n_s+3 and line[n_s+1] == "." and line[n_s+2] == " ":
@@ -481,7 +515,7 @@ func _process_list_syntax(line: String, indent_spaces: Array, indent_types: Arra
break
_converted_text += "\n"
processed_line = line.substr(n_s+3)
- _debug("...closing lists down to level %d and adding element"%_indent_level)
+ _debug("... closing lists down to level %d and adding element"%_indent_level)
break
#end for _char loop
if processed_line.is_empty():
@@ -597,3 +631,14 @@ func _get_header_tags(header_format: Resource, closing := false) -> String:
if header_format.is_underlined:
tags += "[u]"
return tags
+
+func _get_header_reference(header_string: String):
+ var anchor := "#" + header_string.lstrip("#").strip_edges().to_lower().replace(" ","-")
+ if anchor in _header_anchor_count:
+ _header_anchor_count[anchor] += 1
+ anchor += "-" + str(_header_anchor_count[anchor]-1)
+ else:
+ _header_anchor_count[anchor] = 1
+ return anchor
+
+#endregion
diff --git a/addons/markdownlabel/plugin.cfg b/addons/markdownlabel/plugin.cfg
index 77a744cb..5d989e6e 100644
--- a/addons/markdownlabel/plugin.cfg
+++ b/addons/markdownlabel/plugin.cfg
@@ -3,5 +3,5 @@
name="MarkdownLabel"
description="A custom node that extends RichTextLabel to use Markdown instead of BBCode."
author="Daenvil"
-version="0.9.0"
+version="1.1.0"
script="plugin.gd"
diff --git a/enemy.tscn b/enemy.tscn
deleted file mode 100644
index 71363b19..00000000
--- a/enemy.tscn
+++ /dev/null
@@ -1,130 +0,0 @@
-[gd_scene load_steps=15 format=3 uid="uid://b2r6nh12wv41k"]
-
-[ext_resource type="Script" path="res://Scripts/Enemy.gd" id="1_eb130"]
-[ext_resource type="PackedScene" uid="uid://mu6nbyuq02o5" path="res://enemy_corpse.tscn" id="2_vyld4"]
-[ext_resource type="Script" path="res://Scripts/StateMachine.gd" id="3_68hce"]
-[ext_resource type="Script" path="res://Scripts/EnemyAttack.gd" id="4_mt4kh"]
-[ext_resource type="Script" path="res://Scripts/EnemyIdle.gd" id="5_bvewq"]
-[ext_resource type="Script" path="res://Scripts/EnemyFollow.gd" id="6_0jpem"]
-[ext_resource type="Script" path="res://Scripts/EnemyStats.gd" id="7_p4tru"]
-[ext_resource type="Texture2D" uid="uid://cy56wx4qynp3m" path="res://Textures/enemy.png" id="8_wgh4n"]
-[ext_resource type="Script" path="res://Scripts/Detection.gd" id="9_fj2x0"]
-[ext_resource type="Shader" path="res://transparent_lighting.gdshader" id="10_c1y3v"]
-
-[sub_resource type="SphereShape3D" id="SphereShape3D_uyii8"]
-radius = 0.357674
-
-[sub_resource type="BoxShape3D" id="BoxShape3D_kv6xp"]
-size = Vector3(0.35, 0.35, 0.35)
-
-[sub_resource type="ShaderMaterial" id="ShaderMaterial_vr552"]
-render_priority = 0
-shader = ExtResource("10_c1y3v")
-shader_parameter/color = Color(1, 0.266667, 0.0509804, 1)
-shader_parameter/energy = 1.0
-shader_parameter/tex = ExtResource("8_wgh4n")
-
-[sub_resource type="QuadMesh" id="QuadMesh_bbnvr"]
-lightmap_size_hint = Vector2i(7, 7)
-material = SubResource("ShaderMaterial_vr552")
-size = Vector2(0.5, 0.5)
-orientation = 1
-
-[node name="Enemy" type="CharacterBody3D" groups=["Enemies"]]
-collision_layer = 2
-collision_mask = 15
-wall_min_slide_angle = 0.0
-floor_constant_speed = true
-script = ExtResource("1_eb130")
-stats = NodePath("EnemyStats")
-corpse_scene = ExtResource("2_vyld4")
-
-[node name="NavigationAgent3D" type="NavigationAgent3D" parent="."]
-path_desired_distance = 0.5
-target_desired_distance = 0.5
-path_max_distance = 0.51
-avoidance_enabled = true
-debug_enabled = true
-
-[node name="StateMachine" type="Node" parent="." node_paths=PackedStringArray("initial_state")]
-script = ExtResource("3_68hce")
-initial_state = NodePath("EnemyIdle")
-
-[node name="EnemyAttack" type="Node3D" parent="StateMachine" node_paths=PackedStringArray("attack_timer")]
-script = ExtResource("4_mt4kh")
-stats = NodePath("../../EnemyStats")
-attack_timer = NodePath("AttackCooldown")
-enemy = NodePath("../..")
-
-[node name="AttackCooldown" type="Timer" parent="StateMachine/EnemyAttack"]
-
-[node name="EnemyIdle" type="Node3D" parent="StateMachine" node_paths=PackedStringArray("nav_agent", "moving_timer")]
-script = ExtResource("5_bvewq")
-nav_agent = NodePath("../../NavigationAgent3D")
-stats = NodePath("../../EnemyStats")
-enemy = NodePath("../..")
-move_distance = 50.0
-moving_timer = NodePath("MovingCooldown")
-
-[node name="MovingCooldown" type="Timer" parent="StateMachine/EnemyIdle"]
-wait_time = 4.0
-
-[node name="EnemyFollow" type="Node3D" parent="StateMachine" node_paths=PackedStringArray("nav_agent", "enemy", "pathfinding_timer")]
-script = ExtResource("6_0jpem")
-nav_agent = NodePath("../../NavigationAgent3D")
-enemy = NodePath("../..")
-enemyCol = NodePath("../../CollisionShape3D")
-stats = NodePath("../../EnemyStats")
-pathfinding_timer = NodePath("Timer")
-
-[node name="Timer" type="Timer" parent="StateMachine/EnemyFollow"]
-wait_time = 0.2
-autostart = true
-
-[node name="EnemyStats" type="Node" parent="."]
-script = ExtResource("7_p4tru")
-melee_damage = 20.0
-melee_range = 1.5
-health = 100.0
-moveSpeed = 1.0
-idle_move_speed = 0.5
-sightRange = 200.0
-senseRange = 50.0
-hearingRange = 1000.0
-
-[node name="Detection" type="Node3D" parent="."]
-script = ExtResource("9_fj2x0")
-stats = NodePath("../EnemyStats")
-
-[node name="Sprite3D" type="Sprite3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0275174, 0)
-visible = false
-layers = 16
-gi_mode = 0
-pixel_size = 0.05
-billboard = 1
-shaded = true
-double_sided = false
-texture = ExtResource("8_wgh4n")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
-visible = false
-shape = SubResource("SphereShape3D_uyii8")
-disabled = true
-
-[node name="CollisionShape3D2" type="CollisionShape3D" parent="."]
-shape = SubResource("BoxShape3D_kv6xp")
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.20019, 0)
-layers = 16
-cast_shadow = 0
-gi_mode = 0
-mesh = SubResource("QuadMesh_bbnvr")
-
-[connection signal="timeout" from="StateMachine/EnemyAttack/AttackCooldown" to="StateMachine/EnemyAttack" method="_on_attack_cooldown_timeout"]
-[connection signal="timeout" from="StateMachine/EnemyIdle/MovingCooldown" to="StateMachine/EnemyIdle" method="_on_moving_cooldown_timeout"]
-[connection signal="timeout" from="StateMachine/EnemyFollow/Timer" to="StateMachine/EnemyFollow" method="_on_timer_timeout"]
-[connection signal="player_spotted" from="Detection" to="StateMachine/EnemyAttack" method="_on_detection_player_spotted"]
-[connection signal="player_spotted" from="Detection" to="StateMachine/EnemyIdle" method="_on_detection_player_spotted"]
-[connection signal="player_spotted" from="Detection" to="StateMachine/EnemyFollow" method="_on_detection_player_spotted"]
diff --git a/hud.tscn b/hud.tscn
index f18f969e..7bdde054 100644
--- a/hud.tscn
+++ b/hud.tscn
@@ -1,11 +1,10 @@
-[gd_scene load_steps=22 format=3 uid="uid://clhj525tmme3k"]
+[gd_scene load_steps=21 format=3 uid="uid://clhj525tmme3k"]
[ext_resource type="FontFile" uid="uid://chm7lbcdeyo0h" path="res://Roboto-Bold.ttf" id="1_pxloi"]
[ext_resource type="Script" path="res://Scripts/hud.gd" id="1_s3xoj"]
[ext_resource type="Script" path="res://Scripts/NonHUDclick.gd" id="2_kpbhl"]
-[ext_resource type="Script" path="res://addons/gloot/core/inventory_grid_stacked.gd" id="2_pq7em"]
[ext_resource type="Texture2D" uid="uid://7hppy1l45loq" path="res://Textures/bar_progress.png" id="3_83uwt"]
-[ext_resource type="Resource" uid="uid://bvrl0obu5ejqq" path="res://ItemProtosets.tres" id="3_jmlkb"]
+[ext_resource type="Resource" uid="uid://clehtt4tyqvdy" path="res://ItemProtosets.tres" id="3_jmlkb"]
[ext_resource type="Texture2D" uid="uid://dcgwgmsmi7mjn" path="res://Textures/bar_border.png" id="3_y43f5"]
[ext_resource type="Texture2D" uid="uid://tdebfxkpwiva" path="res://Textures/leftarm.png" id="4_wt5t7"]
[ext_resource type="Texture2D" uid="uid://8pdm2gvd1v3n" path="res://Textures/leftleg.png" id="5_si2ot"]
@@ -13,24 +12,21 @@
[ext_resource type="Texture2D" uid="uid://1alnt17qsyd7" path="res://Textures/rightarm.png" id="7_td8gu"]
[ext_resource type="Texture2D" uid="uid://t7ny2gtgqll8" path="res://Textures/head.png" id="8_vb8fm"]
[ext_resource type="Texture2D" uid="uid://c1begynwustlp" path="res://Textures/torso.png" id="9_4u4ej"]
-[ext_resource type="Script" path="res://addons/gloot/ui/ctrl_inventory_grid_ex.gd" id="11_m0x1l"]
-[ext_resource type="Texture2D" uid="uid://cwmsngeoc631h" path="res://Textures/Screenshot_167.png" id="13_hab4t"]
[ext_resource type="Script" path="res://Scripts/CraftingMenu.gd" id="14_g3fif"]
[ext_resource type="PackedScene" uid="uid://cpcn3qq8okj12" path="res://item_craft_button.tscn" id="15_otw1a"]
[ext_resource type="ButtonGroup" uid="uid://bcjuavqvre6mk" path="res://crafting_recipes_button_group.tres" id="16_2oloe"]
+[ext_resource type="PackedScene" uid="uid://bgswuol251m3u" path="res://Scenes/Overmap/Overmap.tscn" id="19_oomhy"]
+[ext_resource type="PackedScene" uid="uid://e0ebcv1n8jnq" path="res://Scenes/InventoryWindow.tscn" id="20_0l505"]
+[ext_resource type="PackedScene" uid="uid://ckuh2s0nvwg0x" path="res://Scenes/GameOver.tscn" id="20_jlthm"]
[sub_resource type="Theme" id="Theme_xn5t2"]
default_font = ExtResource("1_pxloi")
default_font_size = 0
-[sub_resource type="Theme" id="Theme_1as7c"]
-default_font = ExtResource("1_pxloi")
-default_font_size = 13
-
[sub_resource type="StyleBoxLine" id="StyleBoxLine_xekk0"]
color = Color(1, 1, 1, 1)
-[node name="HUD" type="CanvasLayer"]
+[node name="HUD" type="CanvasLayer" node_paths=PackedStringArray("inventoryWindow", "overmap")]
script = ExtResource("1_s3xoj")
head_health = NodePath("Doll/Head")
right_arm_health = NodePath("Doll/Rightarm")
@@ -39,18 +35,14 @@ torso_health = NodePath("Doll/Torso")
right_leg_health = NodePath("Doll/Rightleg")
left_leg_health = NodePath("Doll/Leftleg")
stamina_HUD = NodePath("StaminaLevel")
-ammo_HUD = NodePath("Ammo")
+ammo_HUD_left = NodePath("AmmoVisuals/LeftAmmo")
+ammo_HUD_right = NodePath("AmmoVisuals/RightAmmo")
healthy_color = Color(0, 0.635294, 0, 1)
damaged_color = Color(0.635294, 0, 0, 1)
-proximity_inventory = NodePath("InventoryGridStackedProx")
-proximity_inventory_control = NodePath("CtrlInventoryGridExProx")
-inventory_control = NodePath("CtrlInventoryGridEx")
-inventory = NodePath("InventoryGridStacked")
+inventoryWindow = NodePath("InventoryWindow")
building_menu = NodePath("BuildingMenu")
crafting_menu = NodePath("CraftingMenu")
-tooltip = NodePath("Tooltip")
-tooltip_item_name = NodePath("Tooltip/Panel/ItemName")
-tooltip_item_description = NodePath("Tooltip/Panel2/Description")
+overmap = NodePath("Overmap")
progress_bar = NodePath("ProgressBar")
progress_bar_filling = NodePath("ProgressBar/Node2D/Filling")
progress_bar_timer = NodePath("ProgressBar/ProgressBarTimer")
@@ -105,44 +97,57 @@ theme_override_font_sizes/font_size = 49
text = "100%"
vertical_alignment = 1
-[node name="Ammo" type="Label" parent="."]
+[node name="StaminaLevel" type="Label" parent="."]
+anchors_preset = 2
+anchor_top = 1.0
+anchor_bottom = 1.0
+offset_left = 256.0
+offset_top = -64.0
+offset_right = 381.0
+offset_bottom = -3.0
+grow_vertical = 0
+theme = SubResource("Theme_xn5t2")
+theme_override_colors/font_color = Color(0.741176, 0.482353, 0, 1)
+theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
+theme_override_constants/outline_size = 6
+theme_override_fonts/font = ExtResource("1_pxloi")
+theme_override_font_sizes/font_size = 49
+text = "100%"
+vertical_alignment = 1
+
+[node name="AmmoVisuals" type="HBoxContainer" parent="."]
anchors_preset = 3
anchor_left = 1.0
anchor_top = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
-offset_left = -232.0
-offset_top = -56.0
-offset_right = -16.0
-offset_bottom = 5.0
+offset_left = -486.0
+offset_top = -58.0
grow_horizontal = 0
grow_vertical = 0
+
+[node name="LeftAmmo" type="Label" parent="AmmoVisuals"]
+layout_mode = 2
theme = SubResource("Theme_xn5t2")
theme_override_colors/font_color = Color(1, 1, 1, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 6
theme_override_fonts/font = ExtResource("1_pxloi")
theme_override_font_sizes/font_size = 49
-text = "999/999"
+text = "L: 999/999"
horizontal_alignment = 2
vertical_alignment = 1
-[node name="StaminaLevel" type="Label" parent="."]
-anchors_preset = 2
-anchor_top = 1.0
-anchor_bottom = 1.0
-offset_left = 256.0
-offset_top = -64.0
-offset_right = 381.0
-offset_bottom = -3.0
-grow_vertical = 0
+[node name="RightAmmo" type="Label" parent="AmmoVisuals"]
+layout_mode = 2
theme = SubResource("Theme_xn5t2")
-theme_override_colors/font_color = Color(0.741176, 0.482353, 0, 1)
+theme_override_colors/font_color = Color(1, 1, 1, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 6
theme_override_fonts/font = ExtResource("1_pxloi")
theme_override_font_sizes/font_size = 49
-text = "100%"
+text = "R: 999/999"
+horizontal_alignment = 2
vertical_alignment = 1
[node name="Time" type="Label" parent="."]
@@ -205,48 +210,6 @@ position = Vector2(85.25, -113.375)
scale = Vector2(0.75, 0.75)
texture = ExtResource("9_4u4ej")
-[node name="InventoryGridStacked" type="Node" parent="."]
-script = ExtResource("2_pq7em")
-item_protoset = ExtResource("3_jmlkb")
-
-[node name="InventoryGridStackedProx" type="Node" parent="."]
-script = ExtResource("2_pq7em")
-size = Vector2i(30, 10)
-item_protoset = ExtResource("3_jmlkb")
-
-[node name="CtrlInventoryGridEx" type="Control" parent="."]
-visible = false
-custom_minimum_size = Vector2(320, 320)
-layout_mode = 3
-anchors_preset = 2
-anchor_top = 1.0
-anchor_bottom = 1.0
-offset_left = 383.0
-offset_top = -322.0
-offset_right = 703.0
-offset_bottom = -2.0
-grow_vertical = 0
-script = ExtResource("11_m0x1l")
-selection_color = Color(0.745098, 0.745098, 0.745098, 0.941176)
-inventory_path = NodePath("../InventoryGridStacked")
-default_item_texture = ExtResource("13_hab4t")
-
-[node name="CtrlInventoryGridExProx" type="Control" parent="."]
-visible = false
-custom_minimum_size = Vector2(240, 80)
-layout_mode = 3
-anchors_preset = 2
-anchor_top = 1.0
-anchor_bottom = 1.0
-offset_left = 711.0
-offset_top = -80.0
-offset_right = 951.0
-grow_vertical = 0
-script = ExtResource("11_m0x1l")
-field_dimensions = Vector2(8, 8)
-inventory_path = NodePath("../InventoryGridStackedProx")
-default_item_texture = ExtResource("13_hab4t")
-
[node name="BuildingMenu" type="GridContainer" parent="."]
visible = false
offset_right = 186.0
@@ -257,57 +220,6 @@ columns = 4
layout_mode = 2
text = "Concrete"
-[node name="Tooltip" type="Control" parent="."]
-visible = false
-layout_mode = 3
-anchors_preset = 0
-offset_right = 242.0
-offset_bottom = 115.0
-pivot_offset = Vector2(0, 173)
-size_flags_horizontal = 3
-size_flags_vertical = 3
-tooltip_text = "kjkgkjghkjjhkg"
-
-[node name="Panel" type="Panel" parent="Tooltip"]
-layout_mode = 2
-offset_left = 1.0
-offset_top = 1.0
-offset_right = 241.0
-offset_bottom = 33.0
-size_flags_vertical = 3
-
-[node name="ItemName" type="Label" parent="Tooltip/Panel"]
-layout_mode = 0
-offset_right = 240.0
-offset_bottom = 32.0
-theme_override_colors/font_color = Color(0.921569, 0.596078, 0, 1)
-theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
-theme_override_constants/outline_size = 4
-theme_override_fonts/font = ExtResource("1_pxloi")
-theme_override_font_sizes/font_size = 20
-text = "Item name"
-horizontal_alignment = 1
-vertical_alignment = 1
-
-[node name="Panel2" type="Panel" parent="Tooltip"]
-layout_mode = 2
-offset_left = 1.0
-offset_top = 35.0
-offset_right = 241.0
-offset_bottom = 115.0
-size_flags_vertical = 3
-
-[node name="Description" type="Label" parent="Tooltip/Panel2"]
-layout_mode = 0
-offset_right = 240.0
-offset_bottom = 32.0
-theme = SubResource("Theme_1as7c")
-theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
-theme_override_constants/outline_size = 4
-theme_override_fonts/font = ExtResource("1_pxloi")
-theme_override_font_sizes/font_size = 13
-text = "Item description"
-
[node name="CraftingMenu" type="Panel" parent="." groups=["CraftingMenu"]]
visible = false
anchors_preset = 8
@@ -417,13 +329,26 @@ text = "Required items
"
autowrap_mode = 3
+[node name="Overmap" parent="." instance=ExtResource("19_oomhy")]
+visible = false
+
+[node name="InventoryWindow" parent="." instance=ExtResource("20_0l505")]
+visible = false
+anchors_preset = -1
+anchor_left = 0.1
+anchor_top = 0.1
+anchor_right = 0.9
+anchor_bottom = 0.9
+
+[node name="GameOver" parent="." instance=ExtResource("20_jlthm")]
+visible = false
+
[connection signal="timeout" from="ProgressBar/ProgressBarTimer" to="." method="_on_progress_bar_timer_timeout"]
[connection signal="mouse_entered" from="OutsideOfHUD" to="OutsideOfHUD" method="_on_mouse_entered"]
[connection signal="mouse_exited" from="OutsideOfHUD" to="OutsideOfHUD" method="_on_mouse_exited"]
-[connection signal="item_mouse_entered" from="CtrlInventoryGridEx" to="." method="_on_inventory_item_mouse_entered"]
-[connection signal="item_mouse_exited" from="CtrlInventoryGridEx" to="." method="_on_inventory_item_mouse_exited"]
-[connection signal="item_mouse_entered" from="CtrlInventoryGridExProx" to="." method="_on_inventory_item_mouse_entered"]
-[connection signal="item_mouse_exited" from="CtrlInventoryGridExProx" to="." method="_on_inventory_item_mouse_exited"]
[connection signal="button_down" from="BuildingMenu/Concrete" to="." method="_on_concrete_button_down"]
[connection signal="start_craft" from="CraftingMenu" to="." method="_on_crafting_menu_start_craft"]
[connection signal="pressed" from="CraftingMenu/Panel/StartCraftingButton" to="CraftingMenu" method="_on_start_crafting_button_pressed"]
+[connection signal="change_level_pressed" from="Overmap" to="." method="_on_overmap_change_level_pressed"]
+[connection signal="item_was_cleared" from="InventoryWindow" to="." method="_on_inventory_window_item_was_cleared"]
+[connection signal="item_was_equipped" from="InventoryWindow" to="." method="_on_inventory_window_item_was_equipped"]
diff --git a/level.tscn b/level.tscn
deleted file mode 100644
index 7e8d7595..00000000
--- a/level.tscn
+++ /dev/null
@@ -1,11274 +0,0 @@
-[gd_scene load_steps=4 format=3 uid="uid://mvp8pvy00mrm"]
-
-[ext_resource type="Material" uid="uid://buj4ukj1oh4pq" path="res://Materials/floor1.tres" id="1_wumyq"]
-
-[sub_resource type="BoxMesh" id="BoxMesh_febld"]
-material = ExtResource("1_wumyq")
-
-[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_3b7ih"]
-points = PackedVector3Array(0.5, 0.5, 0.5, 0.5, 0.5, -0.5, -0.5, 0.5, 0.5, 0.5, -0.5, 0.5, 0.5, -0.5, -0.5, -0.5, 0.5, -0.5, -0.5, -0.5, 0.5, -0.5, -0.5, -0.5)
-
-[node name="Level" type="Node3D"]
-
-[node name="Node3D" type="StaticBody3D" parent="."]
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D2" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D2"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D2"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D3" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D3"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D3"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D4" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D4"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D4"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D5" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D5"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D5"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D6" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D6"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D6"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D7" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D7"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D7"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D8" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D8"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D8"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D9" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D9"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D9"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D10" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D10"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D10"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D11" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D11"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D11"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D12" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D12"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D12"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D13" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D13"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D13"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D14" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D14"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D14"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D15" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D15"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D15"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D16" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D16"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D16"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D17" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D17"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D17"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D18" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D18"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D18"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D19" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D19"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D19"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D20" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D20"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D20"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D21" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D21"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D21"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D22" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D22"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D22"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D23" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D23"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D23"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D24" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 23, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D24"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D24"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D25" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D25"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D25"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D26" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D26"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D26"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D27" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D27"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D27"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D28" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D28"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D28"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D29" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D29"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D29"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D30" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D30"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D30"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D31" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D31"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D31"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D32" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D32"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D32"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D33" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D33"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D33"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D34" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D34"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D34"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D35" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D35"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D35"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D36" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D36"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D36"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D37" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D37"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D37"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D38" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D38"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D38"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D39" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D39"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D39"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D40" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D40"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D40"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D41" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D41"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D41"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D42" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D42"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D42"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D43" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D43"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D43"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D44" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D44"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D44"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D45" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D45"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D45"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D46" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D46"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D46"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D47" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D47"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D47"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D48" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D48"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D48"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D49" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D49"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D49"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D50" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D50"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D50"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D51" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D51"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D51"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D52" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D52"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D52"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D53" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D53"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D53"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D54" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D54"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D54"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D55" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D55"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D55"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D56" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 23, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D56"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D56"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D57" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D57"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D57"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D58" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D58"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D58"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D59" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D59"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D59"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D60" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D60"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D60"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D61" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D61"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D61"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D62" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D62"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D62"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D63" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D63"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D63"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D64" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D64"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D64"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D65" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D65"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D65"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D66" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D66"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D66"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D67" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D67"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D67"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D68" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D68"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D68"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D69" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D69"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D69"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D70" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D70"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D70"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D71" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D71"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D71"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D72" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D72"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D72"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D73" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D73"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D73"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D74" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D74"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D74"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D75" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D75"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D75"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D76" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D76"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D76"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D77" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D77"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D77"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D78" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D78"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D78"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D79" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D79"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D79"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D80" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D80"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D80"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D81" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D81"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D81"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D82" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D82"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D82"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D83" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D83"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D83"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D84" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D84"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D84"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D85" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D85"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D85"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D86" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D86"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D86"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D87" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D87"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D87"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D88" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 23, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D88"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D88"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D89" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D89"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D89"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D90" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D90"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D90"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D91" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D91"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D91"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D92" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D92"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D92"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D93" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D93"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D93"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D94" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D94"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D94"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D95" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D95"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D95"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D96" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D96"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D96"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D97" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D97"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D97"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D98" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D98"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D98"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D99" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D99"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D99"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D100" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D100"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D100"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D101" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D101"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D101"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D102" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D102"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D102"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D103" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D103"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D103"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D104" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D104"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D104"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D105" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D105"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D105"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D106" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D106"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D106"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D107" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D107"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D107"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D108" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D108"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D108"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D109" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D109"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D109"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D110" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D110"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D110"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D111" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D111"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D111"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D112" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D112"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D112"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D113" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D113"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D113"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D114" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D114"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D114"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D115" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D115"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D115"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D116" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D116"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D116"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D117" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D117"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D117"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D118" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D118"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D118"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D119" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D119"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D119"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D120" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 23, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D120"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D120"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D121" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D121"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D121"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D122" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D122"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D122"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D123" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D123"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D123"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D124" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D124"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D124"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D125" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D125"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D125"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D126" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D126"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D126"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D127" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D127"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D127"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D128" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D128"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D128"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D129" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D129"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D129"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D130" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D130"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D130"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D131" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D131"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D131"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D132" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D132"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D132"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D133" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D133"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D133"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D134" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D134"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D134"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D135" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D135"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D135"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D136" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D136"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D136"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D137" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D137"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D137"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D138" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D138"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D138"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D139" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D139"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D139"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D140" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D140"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D140"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D141" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D141"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D141"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D142" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D142"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D142"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D143" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D143"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D143"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D144" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D144"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D144"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D145" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D145"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D145"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D146" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D146"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D146"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D147" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D147"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D147"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D148" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D148"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D148"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D149" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D149"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D149"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D150" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D150"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D150"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D151" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D151"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D151"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D152" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 23, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D152"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D152"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D153" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D153"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D153"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D154" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D154"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D154"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D155" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D155"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D155"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D156" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D156"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D156"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D157" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D157"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D157"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D158" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D158"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D158"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D159" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D159"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D159"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D160" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D160"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D160"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D161" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D161"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D161"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D162" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D162"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D162"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D163" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D163"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D163"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D164" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D164"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D164"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D165" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D165"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D165"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D166" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D166"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D166"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D167" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D167"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D167"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D168" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D168"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D168"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D169" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D169"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D169"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D170" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D170"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D170"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D171" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D171"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D171"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D172" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D172"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D172"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D173" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D173"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D173"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D174" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D174"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D174"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D175" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D175"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D175"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D176" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D176"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D176"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D177" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D177"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D177"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D178" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D178"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D178"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D179" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D179"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D179"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D180" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D180"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D180"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D181" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D181"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D181"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D182" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D182"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D182"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D183" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D183"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D183"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D184" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 23, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D184"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D184"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D185" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D185"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D185"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D186" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D186"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D186"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D187" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D187"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D187"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D188" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D188"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D188"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D189" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D189"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D189"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D190" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D190"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D190"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D191" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D191"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D191"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D192" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D192"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D192"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D193" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D193"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D193"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D194" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D194"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D194"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D195" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D195"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D195"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D196" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D196"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D196"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D197" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D197"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D197"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D198" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D198"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D198"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D199" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D199"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D199"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D200" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D200"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D200"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D201" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D201"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D201"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D202" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D202"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D202"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D203" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D203"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D203"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D204" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D204"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D204"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D205" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D205"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D205"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D206" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D206"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D206"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D207" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D207"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D207"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D208" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D208"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D208"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D209" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D209"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D209"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D210" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D210"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D210"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D211" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D211"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D211"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D212" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D212"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D212"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D213" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D213"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D213"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D214" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D214"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D214"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D215" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D215"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D215"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D216" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 23, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D216"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D216"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D217" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D217"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D217"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D218" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D218"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D218"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D219" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D219"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D219"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D220" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D220"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D220"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D221" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D221"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D221"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D222" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D222"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D222"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D223" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D223"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D223"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D224" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D224"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D224"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D225" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D225"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D225"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D226" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D226"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D226"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D227" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D227"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D227"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D228" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D228"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D228"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D229" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D229"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D229"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D230" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D230"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D230"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D231" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D231"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D231"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D232" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D232"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D232"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D233" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D233"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D233"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D234" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D234"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D234"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D235" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D235"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D235"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D236" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D236"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D236"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D237" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D237"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D237"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D238" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D238"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D238"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D239" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D239"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D239"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D240" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D240"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D240"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D241" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D241"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D241"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D242" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D242"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D242"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D243" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D243"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D243"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D244" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D244"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D244"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D245" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D245"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D245"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D246" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D246"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D246"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D247" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D247"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D247"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D248" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 23, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D248"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D248"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D249" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D249"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D249"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D250" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D250"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D250"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D251" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D251"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D251"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D252" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D252"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D252"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D253" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D253"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D253"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D254" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D254"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D254"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D255" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D255"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D255"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D256" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D256"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D256"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D257" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 8)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D257"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D257"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D258" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 8)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D258"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D258"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D259" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 8)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D259"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D259"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D260" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 8)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D260"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D260"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D261" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 8)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D261"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D261"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D262" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, 8)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D262"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D262"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D263" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 8)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D263"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D263"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D264" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 0, 8)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D264"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D264"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D265" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 8)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D265"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D265"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D266" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 8)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D266"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D266"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D267" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 8)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D267"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D267"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D268" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 0, 8)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D268"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D268"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D269" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 8)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D269"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D269"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D270" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13, 0, 8)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D270"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D270"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D271" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 8)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D271"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D271"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D272" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 8)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D272"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D272"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D273" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16, 0, 8)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D273"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D273"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D274" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 8)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D274"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D274"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D275" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 8)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D275"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D275"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D276" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, 8)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D276"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D276"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D277" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 8)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D277"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D277"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D278" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21, 0, 8)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D278"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D278"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D279" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22, 0, 8)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D279"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D279"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D280" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 23, 0, 8)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D280"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D280"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D281" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24, 0, 8)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D281"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D281"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D282" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25, 0, 8)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D282"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D282"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D283" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 8)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D283"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D283"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D284" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, 8)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D284"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D284"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D285" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28, 0, 8)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D285"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D285"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D286" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29, 0, 8)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D286"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D286"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D287" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 8)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D287"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D287"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D288" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31, 0, 8)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D288"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D288"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D289" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 9)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D289"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D289"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D290" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 9)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D290"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D290"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D291" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 9)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D291"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D291"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D292" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 9)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D292"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D292"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D293" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 9)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D293"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D293"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D294" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, 9)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D294"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D294"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D295" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 9)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D295"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D295"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D296" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 0, 9)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D296"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D296"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D297" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 9)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D297"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D297"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D298" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 9)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D298"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D298"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D299" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 9)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D299"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D299"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D300" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 0, 9)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D300"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D300"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D301" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 9)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D301"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D301"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D302" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13, 0, 9)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D302"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D302"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D303" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 9)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D303"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D303"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D304" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 9)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D304"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D304"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D305" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16, 0, 9)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D305"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D305"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D306" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 9)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D306"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D306"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D307" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 9)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D307"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D307"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D308" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, 9)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D308"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D308"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D309" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 9)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D309"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D309"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D310" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21, 0, 9)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D310"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D310"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D311" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22, 0, 9)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D311"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D311"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D312" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 23, 0, 9)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D312"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D312"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D313" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24, 0, 9)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D313"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D313"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D314" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25, 0, 9)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D314"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D314"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D315" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 9)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D315"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D315"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D316" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, 9)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D316"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D316"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D317" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28, 0, 9)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D317"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D317"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D318" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29, 0, 9)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D318"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D318"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D319" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 9)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D319"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D319"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D320" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31, 0, 9)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D320"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D320"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D321" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 10)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D321"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D321"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D322" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 10)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D322"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D322"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D323" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 10)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D323"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D323"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D324" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 10)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D324"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D324"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D325" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 10)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D325"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D325"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D326" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, 10)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D326"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D326"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D327" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 10)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D327"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D327"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D328" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 0, 10)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D328"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D328"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D329" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 10)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D329"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D329"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D330" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 10)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D330"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D330"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D331" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 10)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D331"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D331"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D332" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 0, 10)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D332"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D332"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D333" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 10)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D333"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D333"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D334" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13, 0, 10)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D334"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D334"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D335" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 10)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D335"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D335"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D336" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 10)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D336"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D336"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D337" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16, 0, 10)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D337"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D337"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D338" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 10)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D338"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D338"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D339" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 10)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D339"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D339"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D340" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, 10)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D340"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D340"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D341" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 10)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D341"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D341"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D342" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21, 0, 10)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D342"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D342"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D343" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22, 0, 10)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D343"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D343"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D344" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 23, 0, 10)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D344"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D344"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D345" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24, 0, 10)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D345"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D345"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D346" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25, 0, 10)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D346"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D346"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D347" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 10)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D347"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D347"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D348" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, 10)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D348"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D348"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D349" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28, 0, 10)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D349"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D349"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D350" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29, 0, 10)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D350"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D350"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D351" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 10)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D351"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D351"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D352" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31, 0, 10)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D352"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D352"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D353" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 11)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D353"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D353"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D354" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 11)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D354"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D354"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D355" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 11)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D355"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D355"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D356" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 11)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D356"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D356"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D357" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 11)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D357"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D357"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D358" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, 11)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D358"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D358"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D359" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 11)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D359"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D359"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D360" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 0, 11)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D360"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D360"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D361" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 11)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D361"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D361"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D362" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 11)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D362"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D362"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D363" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 11)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D363"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D363"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D364" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 0, 11)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D364"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D364"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D365" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 11)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D365"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D365"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D366" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13, 0, 11)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D366"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D366"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D367" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 11)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D367"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D367"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D368" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 11)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D368"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D368"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D369" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16, 0, 11)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D369"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D369"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D370" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 11)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D370"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D370"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D371" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 11)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D371"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D371"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D372" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, 11)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D372"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D372"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D373" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 11)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D373"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D373"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D374" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21, 0, 11)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D374"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D374"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D375" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22, 0, 11)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D375"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D375"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D376" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 23, 0, 11)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D376"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D376"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D377" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24, 0, 11)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D377"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D377"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D378" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25, 0, 11)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D378"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D378"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D379" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 11)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D379"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D379"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D380" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, 11)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D380"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D380"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D381" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28, 0, 11)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D381"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D381"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D382" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29, 0, 11)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D382"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D382"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D383" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 11)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D383"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D383"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D384" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31, 0, 11)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D384"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D384"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D385" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 12)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D385"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D385"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D386" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 12)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D386"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D386"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D387" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 12)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D387"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D387"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D388" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 12)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D388"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D388"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D389" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 12)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D389"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D389"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D390" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, 12)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D390"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D390"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D391" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 12)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D391"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D391"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D392" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 0, 12)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D392"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D392"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D393" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 12)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D393"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D393"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D394" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 12)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D394"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D394"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D395" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 12)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D395"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D395"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D396" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 0, 12)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D396"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D396"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D397" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 12)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D397"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D397"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D398" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13, 0, 12)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D398"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D398"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D399" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 12)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D399"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D399"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D400" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 12)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D400"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D400"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D401" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16, 0, 12)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D401"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D401"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D402" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 12)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D402"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D402"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D403" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 12)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D403"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D403"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D404" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, 12)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D404"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D404"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D405" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 12)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D405"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D405"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D406" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21, 0, 12)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D406"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D406"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D407" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22, 0, 12)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D407"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D407"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D408" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 23, 0, 12)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D408"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D408"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D409" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24, 0, 12)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D409"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D409"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D410" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25, 0, 12)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D410"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D410"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D411" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 12)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D411"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D411"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D412" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, 12)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D412"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D412"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D413" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28, 0, 12)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D413"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D413"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D414" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29, 0, 12)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D414"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D414"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D415" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 12)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D415"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D415"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D416" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31, 0, 12)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D416"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D416"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D417" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 13)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D417"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D417"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D418" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 13)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D418"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D418"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D419" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 13)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D419"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D419"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D420" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 13)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D420"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D420"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D421" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 13)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D421"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D421"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D422" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, 13)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D422"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D422"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D423" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 13)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D423"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D423"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D424" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 0, 13)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D424"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D424"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D425" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 13)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D425"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D425"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D426" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 13)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D426"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D426"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D427" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 13)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D427"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D427"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D428" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 0, 13)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D428"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D428"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D429" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 13)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D429"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D429"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D430" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13, 0, 13)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D430"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D430"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D431" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 13)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D431"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D431"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D432" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 13)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D432"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D432"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D433" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16, 0, 13)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D433"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D433"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D434" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 13)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D434"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D434"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D435" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 13)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D435"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D435"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D436" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, 13)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D436"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D436"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D437" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 13)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D437"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D437"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D438" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21, 0, 13)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D438"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D438"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D439" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22, 0, 13)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D439"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D439"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D440" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 23, 0, 13)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D440"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D440"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D441" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24, 0, 13)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D441"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D441"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D442" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25, 0, 13)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D442"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D442"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D443" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 13)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D443"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D443"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D444" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, 13)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D444"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D444"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D445" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28, 0, 13)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D445"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D445"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D446" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29, 0, 13)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D446"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D446"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D447" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 13)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D447"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D447"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D448" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31, 0, 13)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D448"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D448"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D449" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 14)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D449"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D449"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D450" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 14)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D450"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D450"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D451" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 14)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D451"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D451"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D452" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 14)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D452"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D452"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D453" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 14)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D453"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D453"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D454" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, 14)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D454"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D454"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D455" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 14)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D455"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D455"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D456" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 0, 14)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D456"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D456"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D457" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 14)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D457"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D457"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D458" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 14)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D458"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D458"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D459" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 14)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D459"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D459"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D460" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 0, 14)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D460"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D460"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D461" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 14)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D461"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D461"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D462" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13, 0, 14)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D462"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D462"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D463" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 14)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D463"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D463"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D464" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 14)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D464"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D464"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D465" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16, 0, 14)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D465"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D465"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D466" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 14)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D466"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D466"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D467" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 14)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D467"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D467"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D468" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, 14)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D468"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D468"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D469" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 14)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D469"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D469"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D470" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21, 0, 14)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D470"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D470"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D471" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22, 0, 14)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D471"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D471"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D472" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 23, 0, 14)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D472"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D472"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D473" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24, 0, 14)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D473"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D473"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D474" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25, 0, 14)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D474"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D474"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D475" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 14)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D475"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D475"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D476" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, 14)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D476"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D476"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D477" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28, 0, 14)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D477"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D477"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D478" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29, 0, 14)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D478"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D478"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D479" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 14)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D479"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D479"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D480" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31, 0, 14)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D480"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D480"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D481" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 15)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D481"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D481"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D482" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 15)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D482"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D482"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D483" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 15)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D483"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D483"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D484" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 15)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D484"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D484"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D485" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 15)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D485"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D485"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D486" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, 15)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D486"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D486"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D487" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 15)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D487"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D487"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D488" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 0, 15)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D488"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D488"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D489" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 15)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D489"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D489"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D490" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 15)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D490"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D490"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D491" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 15)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D491"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D491"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D492" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 0, 15)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D492"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D492"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D493" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 15)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D493"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D493"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D494" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13, 0, 15)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D494"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D494"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D495" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 15)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D495"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D495"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D496" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 15)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D496"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D496"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D497" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16, 0, 15)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D497"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D497"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D498" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 15)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D498"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D498"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D499" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 15)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D499"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D499"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D500" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, 15)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D500"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D500"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D501" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 15)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D501"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D501"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D502" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21, 0, 15)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D502"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D502"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D503" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22, 0, 15)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D503"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D503"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D504" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 23, 0, 15)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D504"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D504"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D505" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24, 0, 15)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D505"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D505"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D506" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25, 0, 15)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D506"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D506"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D507" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 15)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D507"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D507"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D508" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, 15)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D508"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D508"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D509" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28, 0, 15)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D509"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D509"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D510" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29, 0, 15)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D510"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D510"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D511" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 15)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D511"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D511"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D512" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31, 0, 15)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D512"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D512"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D513" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 16)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D513"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D513"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D514" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 16)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D514"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D514"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D515" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 16)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D515"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D515"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D516" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 16)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D516"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D516"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D517" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 16)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D517"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D517"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D518" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, 16)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D518"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D518"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D519" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 16)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D519"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D519"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D520" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 0, 16)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D520"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D520"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D521" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 16)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D521"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D521"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D522" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 16)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D522"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D522"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D523" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 16)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D523"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D523"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D524" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 0, 16)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D524"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D524"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D525" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 16)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D525"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D525"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D526" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13, 0, 16)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D526"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D526"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D527" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 16)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D527"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D527"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D528" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 16)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D528"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D528"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D529" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16, 0, 16)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D529"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D529"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D530" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 16)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D530"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D530"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D531" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 16)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D531"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D531"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D532" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, 16)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D532"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D532"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D533" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 16)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D533"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D533"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D534" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21, 0, 16)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D534"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D534"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D535" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22, 0, 16)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D535"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D535"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D536" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 23, 0, 16)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D536"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D536"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D537" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24, 0, 16)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D537"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D537"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D538" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25, 0, 16)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D538"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D538"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D539" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 16)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D539"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D539"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D540" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, 16)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D540"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D540"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D541" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28, 0, 16)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D541"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D541"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D542" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29, 0, 16)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D542"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D542"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D543" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 16)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D543"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D543"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D544" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31, 0, 16)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D544"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D544"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D545" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 17)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D545"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D545"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D546" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 17)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D546"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D546"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D547" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 17)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D547"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D547"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D548" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 17)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D548"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D548"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D549" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 17)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D549"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D549"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D550" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, 17)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D550"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D550"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D551" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 17)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D551"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D551"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D552" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 0, 17)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D552"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D552"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D553" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 17)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D553"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D553"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D554" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 17)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D554"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D554"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D555" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 17)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D555"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D555"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D556" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 0, 17)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D556"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D556"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D557" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 17)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D557"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D557"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D558" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13, 0, 17)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D558"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D558"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D559" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 17)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D559"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D559"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D560" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 17)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D560"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D560"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D561" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16, 0, 17)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D561"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D561"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D562" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 17)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D562"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D562"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D563" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 17)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D563"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D563"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D564" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, 17)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D564"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D564"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D565" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 17)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D565"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D565"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D566" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21, 0, 17)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D566"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D566"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D567" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22, 0, 17)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D567"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D567"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D568" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 23, 0, 17)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D568"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D568"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D569" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24, 0, 17)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D569"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D569"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D570" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25, 0, 17)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D570"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D570"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D571" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 17)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D571"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D571"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D572" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, 17)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D572"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D572"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D573" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28, 0, 17)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D573"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D573"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D574" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29, 0, 17)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D574"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D574"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D575" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 17)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D575"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D575"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D576" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31, 0, 17)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D576"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D576"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D577" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 18)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D577"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D577"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D578" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 18)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D578"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D578"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D579" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 18)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D579"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D579"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D580" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 18)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D580"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D580"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D581" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 18)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D581"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D581"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D582" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, 18)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D582"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D582"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D583" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 18)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D583"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D583"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D584" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 0, 18)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D584"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D584"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D585" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 18)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D585"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D585"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D586" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 18)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D586"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D586"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D587" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 18)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D587"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D587"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D588" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 0, 18)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D588"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D588"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D589" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 18)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D589"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D589"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D590" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13, 0, 18)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D590"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D590"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D591" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 18)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D591"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D591"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D592" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 18)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D592"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D592"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D593" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16, 0, 18)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D593"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D593"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D594" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 18)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D594"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D594"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D595" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 18)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D595"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D595"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D596" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, 18)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D596"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D596"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D597" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 18)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D597"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D597"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D598" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21, 0, 18)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D598"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D598"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D599" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22, 0, 18)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D599"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D599"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D600" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 23, 0, 18)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D600"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D600"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D601" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24, 0, 18)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D601"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D601"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D602" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25, 0, 18)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D602"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D602"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D603" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 18)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D603"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D603"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D604" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, 18)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D604"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D604"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D605" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28, 0, 18)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D605"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D605"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D606" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29, 0, 18)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D606"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D606"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D607" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 18)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D607"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D607"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D608" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31, 0, 18)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D608"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D608"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D609" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 19)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D609"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D609"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D610" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 19)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D610"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D610"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D611" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 19)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D611"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D611"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D612" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 19)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D612"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D612"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D613" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 19)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D613"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D613"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D614" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, 19)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D614"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D614"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D615" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 19)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D615"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D615"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D616" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 0, 19)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D616"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D616"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D617" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 19)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D617"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D617"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D618" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 19)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D618"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D618"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D619" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 19)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D619"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D619"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D620" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 0, 19)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D620"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D620"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D621" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 19)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D621"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D621"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D622" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13, 0, 19)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D622"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D622"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D623" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 19)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D623"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D623"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D624" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 19)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D624"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D624"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D625" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16, 0, 19)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D625"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D625"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D626" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 19)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D626"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D626"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D627" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 19)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D627"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D627"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D628" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, 19)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D628"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D628"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D629" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 19)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D629"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D629"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D630" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21, 0, 19)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D630"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D630"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D631" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22, 0, 19)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D631"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D631"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D632" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 23, 0, 19)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D632"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D632"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D633" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24, 0, 19)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D633"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D633"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D634" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25, 0, 19)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D634"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D634"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D635" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 19)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D635"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D635"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D636" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, 19)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D636"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D636"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D637" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28, 0, 19)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D637"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D637"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D638" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29, 0, 19)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D638"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D638"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D639" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 19)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D639"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D639"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D640" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31, 0, 19)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D640"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D640"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D641" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 20)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D641"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D641"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D642" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 20)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D642"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D642"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D643" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 20)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D643"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D643"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D644" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 20)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D644"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D644"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D645" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 20)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D645"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D645"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D646" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, 20)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D646"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D646"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D647" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 20)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D647"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D647"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D648" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 0, 20)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D648"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D648"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D649" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 20)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D649"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D649"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D650" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 20)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D650"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D650"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D651" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 20)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D651"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D651"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D652" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 0, 20)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D652"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D652"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D653" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 20)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D653"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D653"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D654" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13, 0, 20)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D654"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D654"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D655" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 20)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D655"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D655"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D656" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 20)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D656"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D656"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D657" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16, 0, 20)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D657"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D657"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D658" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 20)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D658"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D658"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D659" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 20)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D659"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D659"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D660" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, 20)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D660"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D660"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D661" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 20)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D661"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D661"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D662" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21, 0, 20)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D662"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D662"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D663" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22, 0, 20)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D663"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D663"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D664" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 23, 0, 20)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D664"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D664"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D665" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24, 0, 20)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D665"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D665"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D666" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25, 0, 20)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D666"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D666"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D667" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 20)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D667"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D667"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D668" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, 20)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D668"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D668"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D669" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28, 0, 20)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D669"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D669"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D670" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29, 0, 20)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D670"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D670"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D671" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 20)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D671"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D671"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D672" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31, 0, 20)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D672"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D672"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D673" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 21)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D673"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D673"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D674" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 21)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D674"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D674"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D675" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 21)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D675"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D675"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D676" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 21)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D676"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D676"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D677" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 21)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D677"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D677"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D678" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, 21)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D678"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D678"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D679" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 21)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D679"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D679"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D680" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 0, 21)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D680"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D680"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D681" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 21)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D681"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D681"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D682" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 21)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D682"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D682"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D683" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 21)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D683"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D683"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D684" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 0, 21)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D684"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D684"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D685" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 21)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D685"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D685"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D686" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13, 0, 21)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D686"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D686"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D687" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 21)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D687"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D687"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D688" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 21)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D688"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D688"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D689" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16, 0, 21)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D689"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D689"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D690" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 21)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D690"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D690"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D691" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 21)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D691"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D691"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D692" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, 21)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D692"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D692"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D693" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 21)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D693"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D693"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D694" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21, 0, 21)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D694"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D694"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D695" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22, 0, 21)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D695"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D695"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D696" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 23, 0, 21)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D696"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D696"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D697" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24, 0, 21)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D697"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D697"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D698" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25, 0, 21)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D698"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D698"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D699" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 21)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D699"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D699"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D700" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, 21)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D700"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D700"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D701" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28, 0, 21)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D701"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D701"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D702" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29, 0, 21)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D702"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D702"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D703" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 21)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D703"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D703"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D704" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31, 0, 21)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D704"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D704"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D705" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 22)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D705"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D705"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D706" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 22)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D706"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D706"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D707" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 22)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D707"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D707"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D708" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 22)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D708"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D708"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D709" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 22)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D709"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D709"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D710" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, 22)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D710"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D710"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D711" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 22)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D711"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D711"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D712" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 0, 22)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D712"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D712"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D713" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 22)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D713"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D713"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D714" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 22)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D714"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D714"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D715" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 22)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D715"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D715"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D716" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 0, 22)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D716"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D716"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D717" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 22)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D717"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D717"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D718" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13, 0, 22)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D718"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D718"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D719" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 22)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D719"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D719"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D720" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 22)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D720"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D720"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D721" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16, 0, 22)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D721"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D721"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D722" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 22)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D722"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D722"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D723" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 22)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D723"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D723"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D724" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, 22)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D724"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D724"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D725" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 22)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D725"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D725"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D726" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21, 0, 22)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D726"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D726"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D727" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22, 0, 22)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D727"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D727"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D728" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 23, 0, 22)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D728"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D728"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D729" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24, 0, 22)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D729"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D729"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D730" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25, 0, 22)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D730"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D730"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D731" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 22)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D731"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D731"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D732" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, 22)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D732"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D732"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D733" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28, 0, 22)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D733"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D733"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D734" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29, 0, 22)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D734"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D734"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D735" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 22)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D735"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D735"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D736" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31, 0, 22)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D736"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D736"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D737" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 23)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D737"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D737"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D738" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 23)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D738"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D738"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D739" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 23)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D739"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D739"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D740" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 23)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D740"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D740"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D741" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 23)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D741"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D741"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D742" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, 23)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D742"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D742"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D743" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 23)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D743"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D743"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D744" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 0, 23)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D744"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D744"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D745" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 23)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D745"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D745"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D746" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 23)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D746"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D746"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D747" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 23)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D747"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D747"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D748" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 0, 23)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D748"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D748"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D749" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 23)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D749"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D749"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D750" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13, 0, 23)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D750"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D750"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D751" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 23)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D751"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D751"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D752" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 23)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D752"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D752"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D753" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16, 0, 23)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D753"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D753"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D754" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 23)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D754"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D754"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D755" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 23)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D755"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D755"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D756" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, 23)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D756"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D756"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D757" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 23)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D757"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D757"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D758" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21, 0, 23)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D758"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D758"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D759" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22, 0, 23)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D759"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D759"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D760" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 23, 0, 23)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D760"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D760"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D761" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24, 0, 23)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D761"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D761"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D762" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25, 0, 23)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D762"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D762"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D763" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 23)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D763"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D763"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D764" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, 23)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D764"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D764"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D765" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28, 0, 23)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D765"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D765"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D766" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29, 0, 23)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D766"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D766"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D767" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 23)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D767"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D767"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D768" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31, 0, 23)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D768"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D768"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D769" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 24)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D769"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D769"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D770" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 24)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D770"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D770"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D771" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 24)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D771"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D771"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D772" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 24)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D772"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D772"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D773" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 24)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D773"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D773"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D774" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, 24)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D774"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D774"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D775" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 24)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D775"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D775"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D776" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 0, 24)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D776"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D776"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D777" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 24)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D777"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D777"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D778" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 24)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D778"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D778"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D779" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 24)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D779"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D779"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D780" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 0, 24)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D780"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D780"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D781" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 24)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D781"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D781"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D782" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13, 0, 24)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D782"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D782"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D783" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 24)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D783"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D783"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D784" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 24)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D784"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D784"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D785" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16, 0, 24)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D785"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D785"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D786" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 24)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D786"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D786"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D787" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 24)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D787"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D787"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D788" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, 24)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D788"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D788"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D789" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 24)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D789"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D789"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D790" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21, 0, 24)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D790"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D790"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D791" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22, 0, 24)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D791"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D791"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D792" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 23, 0, 24)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D792"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D792"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D793" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24, 0, 24)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D793"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D793"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D794" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25, 0, 24)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D794"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D794"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D795" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 24)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D795"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D795"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D796" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, 24)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D796"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D796"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D797" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28, 0, 24)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D797"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D797"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D798" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29, 0, 24)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D798"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D798"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D799" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 24)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D799"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D799"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D800" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31, 0, 24)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D800"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D800"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D801" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 25)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D801"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D801"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D802" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 25)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D802"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D802"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D803" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 25)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D803"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D803"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D804" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 25)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D804"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D804"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D805" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 25)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D805"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D805"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D806" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, 25)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D806"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D806"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D807" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 25)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D807"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D807"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D808" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 0, 25)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D808"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D808"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D809" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 25)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D809"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D809"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D810" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 25)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D810"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D810"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D811" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 25)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D811"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D811"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D812" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 0, 25)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D812"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D812"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D813" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 25)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D813"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D813"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D814" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13, 0, 25)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D814"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D814"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D815" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 25)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D815"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D815"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D816" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 25)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D816"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D816"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D817" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16, 0, 25)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D817"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D817"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D818" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 25)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D818"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D818"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D819" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 25)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D819"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D819"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D820" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, 25)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D820"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D820"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D821" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 25)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D821"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D821"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D822" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21, 0, 25)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D822"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D822"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D823" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22, 0, 25)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D823"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D823"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D824" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 23, 0, 25)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D824"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D824"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D825" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24, 0, 25)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D825"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D825"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D826" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25, 0, 25)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D826"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D826"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D827" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 25)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D827"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D827"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D828" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, 25)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D828"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D828"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D829" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28, 0, 25)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D829"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D829"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D830" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29, 0, 25)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D830"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D830"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D831" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 25)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D831"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D831"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D832" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31, 0, 25)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D832"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D832"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D833" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 26)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D833"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D833"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D834" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 26)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D834"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D834"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D835" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 26)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D835"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D835"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D836" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 26)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D836"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D836"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D837" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 26)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D837"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D837"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D838" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, 26)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D838"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D838"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D839" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 26)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D839"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D839"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D840" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 0, 26)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D840"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D840"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D841" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 26)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D841"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D841"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D842" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 26)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D842"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D842"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D843" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 26)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D843"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D843"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D844" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 0, 26)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D844"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D844"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D845" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 26)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D845"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D845"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D846" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13, 0, 26)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D846"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D846"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D847" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 26)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D847"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D847"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D848" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 26)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D848"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D848"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D849" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16, 0, 26)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D849"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D849"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D850" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 26)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D850"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D850"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D851" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 26)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D851"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D851"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D852" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, 26)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D852"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D852"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D853" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 26)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D853"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D853"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D854" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21, 0, 26)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D854"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D854"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D855" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22, 0, 26)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D855"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D855"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D856" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 23, 0, 26)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D856"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D856"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D857" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24, 0, 26)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D857"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D857"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D858" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25, 0, 26)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D858"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D858"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D859" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 26)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D859"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D859"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D860" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, 26)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D860"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D860"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D861" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28, 0, 26)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D861"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D861"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D862" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29, 0, 26)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D862"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D862"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D863" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 26)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D863"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D863"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D864" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31, 0, 26)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D864"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D864"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D865" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 27)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D865"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D865"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D866" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 27)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D866"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D866"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D867" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 27)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D867"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D867"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D868" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 27)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D868"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D868"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D869" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 27)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D869"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D869"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D870" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, 27)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D870"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D870"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D871" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 27)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D871"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D871"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D872" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 0, 27)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D872"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D872"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D873" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 27)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D873"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D873"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D874" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 27)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D874"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D874"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D875" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 27)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D875"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D875"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D876" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 0, 27)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D876"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D876"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D877" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 27)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D877"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D877"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D878" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13, 0, 27)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D878"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D878"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D879" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 27)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D879"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D879"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D880" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 27)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D880"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D880"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D881" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16, 0, 27)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D881"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D881"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D882" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 27)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D882"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D882"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D883" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 27)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D883"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D883"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D884" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, 27)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D884"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D884"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D885" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 27)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D885"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D885"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D886" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21, 0, 27)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D886"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D886"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D887" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22, 0, 27)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D887"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D887"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D888" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 23, 0, 27)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D888"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D888"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D889" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24, 0, 27)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D889"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D889"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D890" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25, 0, 27)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D890"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D890"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D891" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 27)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D891"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D891"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D892" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, 27)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D892"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D892"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D893" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28, 0, 27)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D893"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D893"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D894" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29, 0, 27)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D894"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D894"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D895" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 27)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D895"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D895"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D896" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31, 0, 27)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D896"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D896"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D897" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 28)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D897"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D897"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D898" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 28)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D898"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D898"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D899" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 28)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D899"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D899"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D900" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 28)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D900"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D900"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D901" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 28)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D901"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D901"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D902" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, 28)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D902"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D902"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D903" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 28)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D903"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D903"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D904" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 0, 28)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D904"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D904"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D905" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 28)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D905"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D905"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D906" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 28)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D906"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D906"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D907" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 28)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D907"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D907"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D908" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 0, 28)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D908"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D908"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D909" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 28)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D909"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D909"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D910" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13, 0, 28)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D910"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D910"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D911" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 28)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D911"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D911"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D912" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 28)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D912"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D912"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D913" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16, 0, 28)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D913"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D913"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D914" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 28)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D914"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D914"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D915" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 28)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D915"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D915"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D916" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, 28)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D916"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D916"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D917" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 28)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D917"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D917"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D918" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21, 0, 28)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D918"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D918"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D919" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22, 0, 28)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D919"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D919"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D920" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 23, 0, 28)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D920"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D920"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D921" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24, 0, 28)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D921"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D921"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D922" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25, 0, 28)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D922"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D922"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D923" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 28)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D923"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D923"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D924" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, 28)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D924"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D924"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D925" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28, 0, 28)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D925"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D925"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D926" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29, 0, 28)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D926"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D926"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D927" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 28)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D927"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D927"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D928" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31, 0, 28)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D928"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D928"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D929" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 29)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D929"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D929"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D930" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 29)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D930"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D930"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D931" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 29)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D931"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D931"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D932" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 29)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D932"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D932"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D933" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 29)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D933"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D933"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D934" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, 29)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D934"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D934"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D935" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 29)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D935"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D935"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D936" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 0, 29)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D936"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D936"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D937" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 29)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D937"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D937"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D938" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 29)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D938"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D938"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D939" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 29)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D939"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D939"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D940" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 0, 29)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D940"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D940"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D941" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 29)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D941"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D941"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D942" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13, 0, 29)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D942"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D942"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D943" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 29)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D943"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D943"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D944" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 29)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D944"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D944"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D945" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16, 0, 29)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D945"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D945"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D946" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 29)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D946"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D946"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D947" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 29)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D947"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D947"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D948" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, 29)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D948"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D948"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D949" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 29)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D949"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D949"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D950" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21, 0, 29)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D950"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D950"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D951" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22, 0, 29)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D951"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D951"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D952" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 23, 0, 29)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D952"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D952"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D953" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24, 0, 29)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D953"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D953"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D954" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25, 0, 29)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D954"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D954"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D955" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 29)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D955"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D955"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D956" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, 29)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D956"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D956"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D957" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28, 0, 29)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D957"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D957"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D958" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29, 0, 29)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D958"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D958"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D959" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 29)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D959"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D959"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D960" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31, 0, 29)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D960"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D960"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D961" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 30)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D961"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D961"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D962" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 30)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D962"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D962"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D963" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 30)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D963"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D963"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D964" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 30)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D964"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D964"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D965" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 30)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D965"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D965"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D966" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, 30)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D966"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D966"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D967" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 30)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D967"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D967"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D968" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 0, 30)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D968"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D968"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D969" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 30)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D969"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D969"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D970" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 30)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D970"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D970"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D971" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 30)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D971"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D971"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D972" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 0, 30)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D972"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D972"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D973" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 30)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D973"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D973"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D974" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13, 0, 30)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D974"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D974"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D975" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 30)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D975"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D975"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D976" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 30)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D976"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D976"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D977" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16, 0, 30)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D977"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D977"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D978" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 30)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D978"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D978"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D979" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 30)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D979"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D979"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D980" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, 30)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D980"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D980"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D981" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 30)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D981"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D981"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D982" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21, 0, 30)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D982"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D982"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D983" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22, 0, 30)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D983"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D983"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D984" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 23, 0, 30)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D984"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D984"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D985" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24, 0, 30)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D985"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D985"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D986" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25, 0, 30)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D986"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D986"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D987" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 30)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D987"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D987"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D988" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, 30)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D988"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D988"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D989" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28, 0, 30)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D989"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D989"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D990" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29, 0, 30)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D990"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D990"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D991" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 30)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D991"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D991"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D992" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31, 0, 30)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D992"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D992"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D993" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 31)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D993"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D993"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D994" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 31)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D994"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D994"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D995" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 31)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D995"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D995"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D996" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 31)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D996"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D996"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D997" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 31)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D997"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D997"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D998" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, 31)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D998"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D998"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D999" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 31)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D999"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D999"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D1000" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 0, 31)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D1000"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D1000"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D1001" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 31)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D1001"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D1001"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D1002" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 31)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D1002"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D1002"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D1003" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 31)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D1003"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D1003"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D1004" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 0, 31)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D1004"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D1004"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D1005" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 31)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D1005"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D1005"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D1006" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13, 0, 31)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D1006"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D1006"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D1007" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 31)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D1007"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D1007"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D1008" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 31)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D1008"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D1008"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D1009" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16, 0, 31)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D1009"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D1009"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D1010" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 31)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D1010"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D1010"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D1011" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 31)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D1011"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D1011"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D1012" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, 31)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D1012"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D1012"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D1013" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 31)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D1013"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D1013"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D1014" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21, 0, 31)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D1014"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D1014"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D1015" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22, 0, 31)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D1015"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D1015"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D1016" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 23, 0, 31)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D1016"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D1016"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D1017" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24, 0, 31)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D1017"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D1017"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D1018" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25, 0, 31)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D1018"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D1018"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D1019" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 31)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D1019"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D1019"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D1020" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, 31)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D1020"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D1020"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D1021" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28, 0, 31)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D1021"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D1021"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D1022" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29, 0, 31)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D1022"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D1022"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D1023" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 31)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D1023"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D1023"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
-
-[node name="Node3D1024" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31, 0, 31)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D1024"]
-mesh = SubResource("BoxMesh_febld")
-skeleton = NodePath("../..")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D1024"]
-shape = SubResource("ConvexPolygonShape3D_3b7ih")
diff --git a/level2.tscn b/level2.tscn
deleted file mode 100644
index 1a66526d..00000000
--- a/level2.tscn
+++ /dev/null
@@ -1,328 +0,0 @@
-[gd_scene load_steps=7 format=3 uid="uid://c7do3egbjpogv"]
-
-[ext_resource type="Material" uid="uid://biuyl58gd7g7v" path="res://Materials/wall1.tres" id="1_hbj18"]
-[ext_resource type="Material" uid="uid://pdqqtb1s8g6n" path="res://Materials/stairs1.tres" id="2_05h7x"]
-
-[sub_resource type="BoxMesh" id="BoxMesh_qd30e"]
-material = ExtResource("1_hbj18")
-
-[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_c4sfh"]
-points = PackedVector3Array(0.5, 0.5, 0.5, 0.5, 0.5, -0.5, -0.5, 0.5, 0.5, 0.5, -0.5, 0.5, 0.5, -0.5, -0.5, -0.5, 0.5, -0.5, -0.5, -0.5, 0.5, -0.5, -0.5, -0.5)
-
-[sub_resource type="PrismMesh" id="PrismMesh_xurh4"]
-material = ExtResource("2_05h7x")
-left_to_right = 1.0
-
-[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_pol87"]
-points = PackedVector3Array(0.5, 0.5, 0.5, 0.5, 0.5, -0.5, -0.5, -0.5, 0.5, 0.5, -0.5, 0.5, 0.5, -0.5, -0.5, -0.5, -0.5, -0.5)
-
-[node name="Level" type="Node3D"]
-
-[node name="StaticBody3D" type="StaticBody3D" parent="."]
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D9" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D9"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D9"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D10" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D10"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D10"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D11" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D11"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D11"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D12" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D12"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D12"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D13" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D13"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D13"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D14" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D14"]
-mesh = SubResource("PrismMesh_xurh4")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D14"]
-shape = SubResource("ConvexPolygonShape3D_pol87")
-
-[node name="StaticBody3D15" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D15"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D15"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D28" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D28"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D28"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D16" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D16"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D16"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D17" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D17"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D17"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D18" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D18"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D18"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D19" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D19"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D19"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D20" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D20"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D20"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D21" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D21"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D21"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D22" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D22"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D22"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D23" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D23"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D23"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D24" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D24"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D24"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D25" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D25"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D25"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D26" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D26"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D26"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D27" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D27"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D27"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D2" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D2"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D2"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D3" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D3"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D3"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D4" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D4"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D4"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D5" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D5"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D5"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D6" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D6"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D6"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D29" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D29"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D29"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D30" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D30"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D30"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D31" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D31"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D31"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D7" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D7"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D7"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D8" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D8"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D8"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
diff --git a/level3.tscn b/level3.tscn
deleted file mode 100644
index 75e8a800..00000000
--- a/level3.tscn
+++ /dev/null
@@ -1,638 +0,0 @@
-[gd_scene load_steps=7 format=3 uid="uid://cph4p1itsdmo2"]
-
-[ext_resource type="Material" uid="uid://biuyl58gd7g7v" path="res://Materials/wall1.tres" id="1_7o3o8"]
-[ext_resource type="Material" uid="uid://pdqqtb1s8g6n" path="res://Materials/stairs1.tres" id="2_atugm"]
-
-[sub_resource type="BoxMesh" id="BoxMesh_qd30e"]
-material = ExtResource("1_7o3o8")
-
-[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_c4sfh"]
-points = PackedVector3Array(0.5, 0.5, 0.5, 0.5, 0.5, -0.5, -0.5, 0.5, 0.5, 0.5, -0.5, 0.5, 0.5, -0.5, -0.5, -0.5, 0.5, -0.5, -0.5, -0.5, 0.5, -0.5, -0.5, -0.5)
-
-[sub_resource type="PrismMesh" id="PrismMesh_xurh4"]
-material = ExtResource("2_atugm")
-left_to_right = 1.0
-
-[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_pol87"]
-points = PackedVector3Array(0.5, 0.5, 0.5, 0.5, 0.5, -0.5, -0.5, -0.5, 0.5, 0.5, -0.5, 0.5, 0.5, -0.5, -0.5, -0.5, -0.5, -0.5)
-
-[node name="Level" type="Node3D"]
-
-[node name="StaticBody3D" type="StaticBody3D" parent="."]
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D9" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D9"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D9"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D59" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D59"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D59"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D60" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D60"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D60"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D61" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D61"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D61"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D62" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D62"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D62"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D10" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D10"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D10"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D11" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D11"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D11"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D12" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D12"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D12"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D13" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D13"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D13"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D58" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D58"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D58"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D14" type="StaticBody3D" parent="."]
-transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -1, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D14"]
-mesh = SubResource("PrismMesh_xurh4")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D14"]
-shape = SubResource("ConvexPolygonShape3D_pol87")
-
-[node name="StaticBody3D15" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7, 0, 0)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D15"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D15"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D28" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D28"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D28"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D16" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D16"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D16"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D17" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D17"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D17"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D29" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D29"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D29"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D30" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D30"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D30"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D31" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D31"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D31"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D32" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D32"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D32"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D33" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D33"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D33"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D34" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D34"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D34"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D35" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D35"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D35"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D36" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D36"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D36"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D37" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D37"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D37"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D38" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D38"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D38"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D39" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D39"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D39"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D40" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D40"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D40"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D41" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D41"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D41"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D42" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D42"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D42"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D43" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D43"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D43"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D44" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D44"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D44"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D45" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D45"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D45"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D46" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D46"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D46"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D47" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D47"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D47"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D48" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D48"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D48"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D49" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D49"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D49"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D50" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D50"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D50"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D51" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D51"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D51"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D52" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D52"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D52"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D53" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D53"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D53"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D54" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D54"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D54"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D55" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D55"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D55"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D56" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D56"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D56"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D57" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D57"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D57"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D18" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D18"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D18"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D19" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D19"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D19"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D20" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D20"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D20"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D21" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D21"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D21"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D22" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D22"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D22"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D23" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D23"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D23"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D24" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D24"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D24"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D25" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D25"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D25"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D26" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D26"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D26"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D27" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D27"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D27"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D2" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D2"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D2"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D3" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 2)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D3"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D3"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D4" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 3)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D4"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D4"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D5" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D5"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D5"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D6" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 5)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D6"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D6"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D7" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 6)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D7"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D7"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
-
-[node name="StaticBody3D8" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 7)
-metadata/_edit_group_ = true
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D8"]
-mesh = SubResource("BoxMesh_qd30e")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D8"]
-shape = SubResource("ConvexPolygonShape3D_c4sfh")
diff --git a/level_generation.tscn b/level_generation.tscn
index a2d14974..76f1e341 100644
--- a/level_generation.tscn
+++ b/level_generation.tscn
@@ -1,18 +1,15 @@
-[gd_scene load_steps=31 format=3 uid="uid://drl78uuphij1l"]
+[gd_scene load_steps=26 format=3 uid="uid://drl78uuphij1l"]
[ext_resource type="Script" path="res://LevelGenerator.gd" id="1_i8qa4"]
[ext_resource type="Script" path="res://LevelManager.gd" id="2_gm6x7"]
-[ext_resource type="PackedScene" uid="uid://cpaa3ui52a23c" path="res://Blocks/grass_001.tscn" id="2_plpeq"]
-[ext_resource type="PackedScene" uid="uid://b5b2f24f6emf3" path="res://Blocks/concrete_wall001.tscn" id="3_1oyl1"]
-[ext_resource type="PackedScene" uid="uid://cmjjw8pjtidpj" path="res://Blocks/concrete_wall002.tscn" id="4_pf75o"]
-[ext_resource type="PackedScene" uid="uid://dnsl5rk6de7na" path="res://Blocks/Stairs_to_N001.tscn" id="5_4om2c"]
-[ext_resource type="PackedScene" uid="uid://db73ys0cw3b2i" path="res://Blocks/Stairs_to_E001.tscn" id="6_x7pv6"]
+[ext_resource type="PackedScene" uid="uid://b2r6nh12wv41k" path="res://Defaults/Mobs/mob.tscn" id="2_jhj6h"]
+[ext_resource type="PackedScene" uid="uid://mu6nbyuq02o5" path="res://Defaults/Mobs/mob_corpse.tscn" id="3_l8ooc"]
+[ext_resource type="PackedScene" uid="uid://cpmwu7v1r8cg8" path="res://Defaults/Furniture/FurniturePhysics.tscn" id="4_30bqp"]
+[ext_resource type="PackedScene" uid="uid://cm4n8cljiij4w" path="res://Defaults/Furniture/FurnitureStatic.tscn" id="5_cakgt"]
[ext_resource type="Script" path="res://Scripts/BuildManager.gd" id="6_y7rk5"]
-[ext_resource type="PackedScene" uid="uid://dotb8dsoarufo" path="res://Blocks/Stairs_to_S001.tscn" id="7_nhyjt"]
[ext_resource type="Script" path="res://Scripts/player.gd" id="8_gposs"]
-[ext_resource type="PackedScene" uid="uid://h2antxtbvel4" path="res://Blocks/Stairs_to_W001.tscn" id="8_l45yd"]
[ext_resource type="Script" path="res://Scripts/Camera.gd" id="9_gi6l6"]
-[ext_resource type="Texture2D" uid="uid://8uwpq1ai8qi4" path="res://Textures/survivor.png" id="10_alql8"]
+[ext_resource type="Texture2D" uid="uid://db0xwhrm0sliq" path="res://Defaults/Player/player_300.png" id="10_ghgoh"]
[ext_resource type="Script" path="res://Scripts/PlayerShooting.gd" id="11_6i2sa"]
[ext_resource type="PackedScene" uid="uid://doyjc25kl7104" path="res://bullet_line.tscn" id="12_dip38"]
[ext_resource type="AudioStream" uid="uid://gdwwxc0yvg5g" path="res://Sounds/Weapons/Shooting/pistol_shot.wav" id="13_fjasp"]
@@ -37,12 +34,6 @@ agent_height = 0.5
agent_radius = 0.3
agent_max_slope = 46.0
-[sub_resource type="BoxMesh" id="BoxMesh_yaev1"]
-size = Vector3(64, 32, 1)
-
-[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_uf01n"]
-points = PackedVector3Array(32, 16, 0.5, 32, 16, -0.5, -32, 16, 0.5, 32, -16, 0.5, 32, -16, -0.5, -32, 16, -0.5, -32, -16, 0.5, -32, -16, -0.5)
-
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_7gsdb"]
albedo_color = Color(0, 1, 0, 1)
@@ -53,10 +44,9 @@ size = Vector3(0.3, 1, 0.55)
points = PackedVector3Array(0.15, 0.15, 0.275, -0.15, 0.15, 0.275, 0.15, -0.5, 0.275, 0.15, 0.15, -0.275, -0.15, 0.15, -0.275, -0.15, -0.5, 0.275, 0.15, -0.5, -0.275, -0.15, -0.5, -0.275)
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_136pt"]
-streams_count = 1
playback_mode = 1
random_pitch = 1.2
-random_volume_offset_db = 0.0
+streams_count = 1
stream_0/stream = ExtResource("13_fjasp")
stream_0/weight = 1.0
@@ -70,8 +60,11 @@ radius = 1.5
[node name="LevelGenerator" type="Node3D" parent="TacticalMap" node_paths=PackedStringArray("level_manager") groups=["level_generator"]]
script = ExtResource("1_i8qa4")
+defaultMob = ExtResource("2_jhj6h")
+defaultItem = ExtResource("3_l8ooc")
+defaultFurniturePhysics = ExtResource("4_30bqp")
+defaultFurnitureStatic = ExtResource("5_cakgt")
level_manager = NodePath("../NavigationRegion3D/LevelManager")
-block_scenes = Array[PackedScene]([ExtResource("2_plpeq"), ExtResource("3_1oyl1"), ExtResource("4_pf75o"), ExtResource("5_4om2c"), ExtResource("6_x7pv6"), ExtResource("7_nhyjt"), ExtResource("8_l45yd")])
default_level_json = "res://Mods/Core/Maps/Generichouse.json"
[node name="WorldEnvironment" type="WorldEnvironment" parent="TacticalMap"]
@@ -89,52 +82,6 @@ navigation_mesh = SubResource("NavigationMesh_3licq")
[node name="Props" type="Node3D" parent="TacticalMap/NavigationRegion3D"]
-[node name="TestWalls" type="Node3D" parent="TacticalMap/NavigationRegion3D"]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 14)
-
-[node name="TestWall" type="StaticBody3D" parent="TacticalMap/NavigationRegion3D/TestWalls"]
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="TacticalMap/NavigationRegion3D/TestWalls/TestWall"]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.5, 0, 19)
-mesh = SubResource("BoxMesh_yaev1")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="TacticalMap/NavigationRegion3D/TestWalls/TestWall"]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.5, 0, 19)
-shape = SubResource("ConvexPolygonShape3D_uf01n")
-
-[node name="TestWall2" type="StaticBody3D" parent="TacticalMap/NavigationRegion3D/TestWalls"]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -65)
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="TacticalMap/NavigationRegion3D/TestWalls/TestWall2"]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.5, 0, 19)
-mesh = SubResource("BoxMesh_yaev1")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="TacticalMap/NavigationRegion3D/TestWalls/TestWall2"]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.5, 0, 19)
-shape = SubResource("ConvexPolygonShape3D_uf01n")
-
-[node name="TestWall3" type="StaticBody3D" parent="TacticalMap/NavigationRegion3D/TestWalls"]
-transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -1, 0, -28)
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="TacticalMap/NavigationRegion3D/TestWalls/TestWall3"]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.5, 0, 19)
-mesh = SubResource("BoxMesh_yaev1")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="TacticalMap/NavigationRegion3D/TestWalls/TestWall3"]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.5, 0, 19)
-shape = SubResource("ConvexPolygonShape3D_uf01n")
-
-[node name="TestWall4" type="StaticBody3D" parent="TacticalMap/NavigationRegion3D/TestWalls"]
-transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -66, 0, -28)
-
-[node name="MeshInstance3D" type="MeshInstance3D" parent="TacticalMap/NavigationRegion3D/TestWalls/TestWall4"]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.5, 0, 19)
-mesh = SubResource("BoxMesh_yaev1")
-
-[node name="CollisionShape3D" type="CollisionShape3D" parent="TacticalMap/NavigationRegion3D/TestWalls/TestWall4"]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.5, 0, 19)
-shape = SubResource("ConvexPolygonShape3D_uf01n")
-
[node name="LevelManager" type="Node3D" parent="TacticalMap/NavigationRegion3D"]
script = ExtResource("2_gm6x7")
@@ -145,11 +92,13 @@ hud = NodePath("../../HUD")
[node name="Entities" type="Node3D" parent="TacticalMap"]
[node name="Enemies" type="Node3D" parent="TacticalMap/Entities"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.4043, 0, -8.78679)
[node name="Projectiles" type="Node3D" parent="TacticalMap/Entities"]
[node name="Player" type="CharacterBody3D" parent="TacticalMap/Entities" node_paths=PackedStringArray("sprite") groups=["Players"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 15)
+collision_mask = 3
floor_constant_speed = true
floor_max_angle = 0.872665
script = ExtResource("8_gposs")
@@ -189,30 +138,36 @@ spot_angle = 83.32
spot_angle_attenuation = 0.183011
[node name="Sprite3D" type="Sprite3D" parent="TacticalMap/Entities/Player"]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.277026, 0)
+transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, -0.277026, 0)
pixel_size = 0.002
-billboard = 1
-double_sided = false
-no_depth_test = true
-texture = ExtResource("10_alql8")
+texture = ExtResource("10_ghgoh")
-[node name="Shooting" type="Node3D" parent="TacticalMap/Entities/Player" node_paths=PackedStringArray("attack_cooldown", "reload_timer", "shoot_audio_player", "reload_audio_player")]
+[node name="Shooting" type="Node3D" parent="TacticalMap/Entities/Player" node_paths=PackedStringArray("left_attack_cooldown", "right_attack_cooldown", "left_reload_timer", "right_reload_timer", "shoot_audio_player", "reload_audio_player")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.25, 0)
script = ExtResource("11_6i2sa")
bullet_damage = 25.0
bullet_line_scene = ExtResource("12_dip38")
-attack_cooldown = NodePath("AttackCD")
-reload_timer = NodePath("ReloadTime")
+left_attack_cooldown = NodePath("Left_attack_cooldown")
+right_attack_cooldown = NodePath("Right_attack_cooldown")
+left_reload_timer = NodePath("Left_reload_timer")
+right_reload_timer = NodePath("Right_reload_timer")
player = NodePath("..")
hud = NodePath("../../../../HUD")
shoot_audio_player = NodePath("ShootAudio")
shoot_audio_randomizer = SubResource("AudioStreamRandomizer_136pt")
reload_audio_player = NodePath("ReloadAudio")
-[node name="AttackCD" type="Timer" parent="TacticalMap/Entities/Player/Shooting"]
+[node name="Left_attack_cooldown" type="Timer" parent="TacticalMap/Entities/Player/Shooting"]
+one_shot = true
+
+[node name="Left_reload_timer" type="Timer" parent="TacticalMap/Entities/Player/Shooting"]
+wait_time = 5.0
+one_shot = true
+
+[node name="Right_attack_cooldown" type="Timer" parent="TacticalMap/Entities/Player/Shooting"]
one_shot = true
-[node name="ReloadTime" type="Timer" parent="TacticalMap/Entities/Player/Shooting"]
+[node name="Right_reload_timer" type="Timer" parent="TacticalMap/Entities/Player/Shooting"]
wait_time = 5.0
one_shot = true
@@ -249,9 +204,12 @@ transform = Transform3D(-0.946576, 0, -0.32248, 0, 1, 0, 0.32248, 0, -0.946576,
[connection signal="update_doll" from="TacticalMap/Entities/Player" to="HUD" method="_on_player_update_doll"]
[connection signal="update_stamina_HUD" from="TacticalMap/Entities/Player" to="HUD" method="_on_player_update_stamina_hud"]
[connection signal="ammo_changed" from="TacticalMap/Entities/Player/Shooting" to="HUD" method="_on_shooting_ammo_changed"]
-[connection signal="timeout" from="TacticalMap/Entities/Player/Shooting/ReloadTime" to="TacticalMap/Entities/Player/Shooting" method="_on_reload_time_timeout"]
+[connection signal="timeout" from="TacticalMap/Entities/Player/Shooting/Left_reload_timer" to="TacticalMap/Entities/Player/Shooting" method="_on_left_reload_time_timeout"]
+[connection signal="timeout" from="TacticalMap/Entities/Player/Shooting/Right_reload_timer" to="TacticalMap/Entities/Player/Shooting" method="_on_right_reload_time_timeout"]
[connection signal="add_to_proximity_inventory" from="TacticalMap/Entities/Player/ItemDetector" to="HUD" method="_on_item_detector_add_to_proximity_inventory"]
[connection signal="area_entered" from="TacticalMap/Entities/Player/ItemDetector" to="TacticalMap/Entities/Player/ItemDetector" method="_on_area_entered"]
[connection signal="area_exited" from="TacticalMap/Entities/Player/ItemDetector" to="TacticalMap/Entities/Player/ItemDetector" method="_on_area_exited"]
[connection signal="remove_from_proximity_inventory" from="TacticalMap/Entities/Player/ItemDetector" to="HUD" method="_on_item_detector_remove_from_proximity_inventory"]
[connection signal="construction_chosen" from="HUD" to="TacticalMap/BuildManager" method="_on_hud_construction_chosen"]
+[connection signal="item_equipment_slot_was_cleared" from="HUD" to="TacticalMap/Entities/Player/Shooting" method="_on_hud_item_equipment_slot_was_cleared"]
+[connection signal="item_was_equipped" from="HUD" to="TacticalMap/Entities/Player/Shooting" method="_on_hud_item_was_equipped"]
diff --git a/project.godot b/project.godot
index b363ba2b..65f59b44 100644
--- a/project.godot
+++ b/project.godot
@@ -12,17 +12,18 @@ config_version=5
config/name="CataX"
run/main_scene="res://scene_selector.tscn"
-config/features=PackedStringArray("4.1", "Forward Plus")
+config/features=PackedStringArray("4.2", "Forward Plus")
config/icon="res://icon.svg"
[autoload]
Nakama="res://addons/com.heroiclabs.nakama/Nakama.gd"
+Helper="*res://Scripts/Helper.gd"
+Gamedata="*res://Scripts/gamedata.gd"
GLoot="*res://addons/gloot/gloot_autoload.gd"
ItemManager="*res://Scripts/item_manager.gd"
General="*res://Scripts/general.gd"
CraftingRecipesManager="*res://Scripts/crafting_recipes_manager.gd"
-Helper="*res://Scripts/Helper.gd"
[display]
@@ -37,6 +38,27 @@ movie_writer/movie_file="D:/CataX resources/catax.avi"
enabled=PackedStringArray("res://addons/gloot/plugin.cfg", "res://addons/markdownlabel/plugin.cfg")
+[file_customization]
+
+folder_colors={
+"res://Blocks/": "orange",
+"res://Documentation/": "teal",
+"res://Images/": "pink",
+"res://Mods/": "purple",
+"res://Scenes/": "red",
+"res://Scenes/ContentManager/": "yellow",
+"res://Scenes/ContentManager/Custom_Editors/": "red",
+"res://Scenes/ContentManager/Custom_Editors/Scripts/": "green",
+"res://Scenes/ContentManager/Custom_Editors/TacticalMapEditor/Scripts/": "green",
+"res://Scenes/ContentManager/Custom_Widgets/": "purple",
+"res://Scenes/ContentManager/Custom_Widgets/Scripts/": "green",
+"res://Scenes/ContentManager/Mapeditor/": "blue",
+"res://Scenes/ContentManager/Scripts/": "green",
+"res://Scenes/Overmap/Scripts/": "green",
+"res://Scripts/": "green",
+"res://addons/": "gray"
+}
+
[input]
up={
@@ -59,11 +81,6 @@ right={
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"echo":false,"script":null)
]
}
-click={
-"deadzone": 0.5,
-"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(286, 8),"global_position":Vector2(290, 51),"factor":1.0,"button_index":1,"canceled":false,"pressed":true,"double_click":false,"script":null)
-]
-}
zoom_in={
"deadzone": 0.5,
"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":8,"position":Vector2(120, 6),"global_position":Vector2(124, 49),"factor":1.0,"button_index":4,"canceled":false,"pressed":true,"double_click":false,"script":null)
@@ -89,11 +106,6 @@ build_menu={
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":66,"key_label":0,"unicode":98,"echo":false,"script":null)
]
}
-right_click={
-"deadzone": 0.5,
-"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":2,"position":Vector2(124, 12),"global_position":Vector2(128, 55),"factor":1.0,"button_index":2,"canceled":false,"pressed":true,"double_click":false,"script":null)
-]
-}
reload_weapon={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":82,"key_label":0,"unicode":114,"echo":false,"script":null)
@@ -109,6 +121,21 @@ interact={
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":69,"key_label":0,"unicode":101,"echo":false,"script":null)
]
}
+overmap={
+"deadzone": 0.5,
+"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":77,"key_label":0,"unicode":109,"echo":false,"script":null)
+]
+}
+click_left={
+"deadzone": 0.5,
+"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(130, 29),"global_position":Vector2(135, 79),"factor":1.0,"button_index":1,"canceled":false,"pressed":true,"double_click":false,"script":null)
+]
+}
+click_right={
+"deadzone": 0.5,
+"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":2,"position":Vector2(281, 16),"global_position":Vector2(286, 66),"factor":1.0,"button_index":2,"canceled":false,"pressed":true,"double_click":false,"script":null)
+]
+}
[layer_names]
diff --git a/scene_selector.tscn b/scene_selector.tscn
index cac7b86a..c18c0f62 100644
--- a/scene_selector.tscn
+++ b/scene_selector.tscn
@@ -3,7 +3,7 @@
[ext_resource type="Script" path="res://Scripts/scene_selector.gd" id="1_a5yxj"]
[ext_resource type="FontFile" uid="uid://chm7lbcdeyo0h" path="res://Roboto-Bold.ttf" id="1_sue5h"]
-[node name="SceneSelector" type="Control" node_paths=PackedStringArray("option_levels")]
+[node name="SceneSelector" type="Control" node_paths=PackedStringArray("load_game_list")]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
@@ -11,7 +11,7 @@ anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_a5yxj")
-option_levels = NodePath("OptionButton")
+load_game_list = NodePath("LoadGameList")
[node name="PlayDemo" type="Button" parent="."]
layout_mode = 1
@@ -23,16 +23,16 @@ theme_override_fonts/font = ExtResource("1_sue5h")
theme_override_font_sizes/font_size = 60
text = "Play demo"
-[node name="ViewLevel" type="Button" parent="."]
+[node name="LoadGameButton" type="Button" parent="."]
layout_mode = 1
offset_top = 378.0
offset_right = 453.0
offset_bottom = 457.0
theme_override_fonts/font = ExtResource("1_sue5h")
theme_override_font_sizes/font_size = 25
-text = "View selected level ---->>>"
+text = "Load game ---->>>"
-[node name="OptionButton" type="OptionButton" parent="."]
+[node name="LoadGameList" type="OptionButton" parent="."]
layout_mode = 1
offset_left = 477.0
offset_top = 378.0
@@ -48,6 +48,16 @@ offset_bottom = 553.0
theme_override_font_sizes/font_size = 25
text = "Help"
+[node name="ContentManagerButton" type="Button" parent="."]
+layout_mode = 0
+offset_left = 477.0
+offset_top = 474.0
+offset_right = 865.0
+offset_bottom = 553.0
+theme_override_font_sizes/font_size = 25
+text = "Content Manager"
+
[connection signal="pressed" from="PlayDemo" to="." method="_on_play_demo_pressed"]
-[connection signal="pressed" from="ViewLevel" to="." method="_on_view_level_pressed"]
+[connection signal="pressed" from="LoadGameButton" to="." method="_on_load_game_button_pressed"]
[connection signal="pressed" from="HelpButton" to="." method="_on_help_button_pressed"]
+[connection signal="button_up" from="ContentManagerButton" to="." method="_on_content_manager_button_button_up"]