diff options
author | Vanessa Ezekowitz <vanessaezekowitz@gmail.com> | 2016-04-01 20:02:19 -0400 |
---|---|---|
committer | Vanessa Ezekowitz <vanessaezekowitz@gmail.com> | 2016-04-01 21:09:33 -0400 |
commit | da66780a569712c23ae4f2996cfb4608a9f9d69d (patch) | |
tree | 217556029a78bc23ad4564720afc86de97228a04 /prefab | |
parent | 615b22df4d423aded3613db7716943a2f389b047 (diff) | |
download | dreambuilder_modpack-da66780a569712c23ae4f2996cfb4608a9f9d69d.tar dreambuilder_modpack-da66780a569712c23ae4f2996cfb4608a9f9d69d.tar.gz dreambuilder_modpack-da66780a569712c23ae4f2996cfb4608a9f9d69d.tar.bz2 dreambuilder_modpack-da66780a569712c23ae4f2996cfb4608a9f9d69d.tar.xz dreambuilder_modpack-da66780a569712c23ae4f2996cfb4608a9f9d69d.zip |
copy all standard Dreambuilder mods in from the old subgame
(exactly as last supplied there, updates to these mods will follow later)
Diffstat (limited to 'prefab')
23 files changed, 1582 insertions, 0 deletions
diff --git a/prefab/README.md b/prefab/README.md new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/prefab/README.md diff --git a/prefab/crafting.lua b/prefab/crafting.lua new file mode 100644 index 0000000..77f7e87 --- /dev/null +++ b/prefab/crafting.lua @@ -0,0 +1,167 @@ +minetest.register_craft({
+ output = 'prefab:concrete 4',
+ recipe = {
+ {'default:stone', 'default:gravel', 'default:stone'},
+ {'default:gravel', 'default:stone', 'default:gravel'},
+ {'default:stone', 'default:gravel', 'default:stone'},
+ }
+})
+
+minetest.register_craft({
+ output = 'prefab:concrete_with_grass',
+ recipe = {
+ {'default:grass_1'},
+ {'prefab:concrete'},
+ }
+})
+
+minetest.register_craft({
+ output = 'prefab:concrete_wall 3',
+ recipe = {
+ {'prefab:concrete'},
+ {'prefab:concrete'},
+ {'prefab:concrete'},
+ }
+})
+
+minetest.register_craft({
+ output = 'prefab:concrete_stair 4',
+ recipe = {
+ {'prefab:concrete', '', ''},
+ {'prefab:concrete', 'prefab:concrete', ''},
+ {'prefab:concrete', 'prefab:concrete', 'prefab:concrete'},
+ }
+})
+
+minetest.register_craft({
+ output = 'prefab:concrete_stair_inverted',
+ recipe = {
+ {'prefab:concrete_stair'},
+ }
+})
+
+minetest.register_craft({
+ output = 'prefab:concrete_slab 6',
+ recipe = {
+ {'prefab:concrete', 'prefab:concrete', 'prefab:concrete'},
+ }
+})
+
+minetest.register_craft({
+ output = 'prefab:concrete_slab_inverted',
+ recipe = {
+ {'prefab:concrete_slab'},
+ }
+})
+
+minetest.register_craft({
+ output = 'prefab:concrete_slit 4',
+ recipe = {
+ {'prefab:concrete', 'prefab:concrete', 'prefab:concrete'},
+ {'', '', ''},
+ {'prefab:concrete', 'prefab:concrete', 'prefab:concrete'},
+ }
+})
+
+minetest.register_craft({
+ output = 'prefab:concrete_window 6',
+ recipe = {
+ {'prefab:concrete', 'prefab:concrete', 'prefab:concrete'},
+ {'prefab:concrete', 'default:glass', 'prefab:concrete'},
+ {'prefab:concrete', 'prefab:concrete', 'prefab:concrete'},
+ }
+})
+
+minetest.register_craft({
+ output = 'prefab:concrete_ladder',
+ recipe = {
+ {'prefab:concrete'},
+ {'default:ladder'},
+ }
+})
+
+minetest.register_craft({
+ output = 'prefab:concrete_fence',
+ recipe = {
+ {'prefab:concrete'},
+ {'default:fence_wood'},
+ }
+})
+
+minetest.register_craft({
+ output = 'prefab:concrete_door',
+ recipe = {
+ {'prefab:concrete'},
+ {'doors:door_wood'},
+ }
+})
+
+minetest.register_craft({
+ output = 'prefab:concrete_cylinder 4',
+ recipe = {
+ {'prefab:concrete','','prefab:concrete'},
+ {'prefab:concrete','','prefab:concrete'},
+ {'prefab:concrete','','prefab:concrete'},
+ }
+})
+
+minetest.register_craft({
+ output = 'prefab:concrete_bollard 2',
+ recipe = {
+ {'prefab:concrete_slab'},
+ {'prefab:concrete_fence'},
+ {'prefab:concrete_slab'},
+ }
+})
+
+minetest.register_craft({
+ output = 'prefab:concrete_bench 2',
+ recipe = {
+ {'prefab:concrete_slab'},
+ {'prefab:concrete_fence'},
+ }
+})
+
+minetest.register_craft({
+ output = 'prefab:concrete_railing 2',
+ recipe = {
+ {'prefab:concrete_fence','prefab:concrete_fence'},
+ }
+})
+
+minetest.register_craft({
+ output = 'prefab:concrete_railing_corner 2',
+ recipe = {
+ {'prefab:concrete_railing','prefab:concrete_railing'},
+ }
+})
+
+minetest.register_craft({
+ output = 'prefab:electric_fence 2',
+ recipe = {
+ {'default:steel_ingot','default:steel_ingot'},
+ }
+})
+
+minetest.register_craft({
+ output = 'prefab:electric_fence_corner 2',
+ recipe = {
+ {'prefab:electric_fence','prefab:concrete_fence'},
+ {'','prefab:electric_fence'},
+ }
+})
+
+minetest.register_craft({
+ output = 'prefab:electric_fence_end',
+ recipe = {
+ {'prefab:concrete_fence','default:steel_ingot'},
+ }
+})
+
+minetest.register_craft({
+ output = 'prefab:concrete_catwalk 4',
+ recipe = {
+ {'prefab:concrete_railing','','prefab:concrete_railing'},
+ {'prefab:concrete_slab','prefab:concrete_slab','prefab:concrete_slab'},
+ }
+})
\ No newline at end of file diff --git a/prefab/depends.txt b/prefab/depends.txt new file mode 100644 index 0000000..f2c4494 --- /dev/null +++ b/prefab/depends.txt @@ -0,0 +1,2 @@ +default +doors diff --git a/prefab/init.lua b/prefab/init.lua new file mode 100644 index 0000000..d1c7918 --- /dev/null +++ b/prefab/init.lua @@ -0,0 +1,422 @@ +--This is a mod by DanDuncombe that adds pre-fabricated concrete stuff to Minetest
+--It is CC-By-Sa for everything.
+print("Prefab mod loading....")
+dofile(minetest.get_modpath("prefab").."/crafting.lua")
+print("Prefab Crafting loaded!")
+dofile(minetest.get_modpath("prefab").."/other.lua")
+print("Prefab Other loaded!")
+print("Prefab Loaded!")
+
+minetest.register_node("prefab:concrete", {
+ drawtype = "normal",
+ description = "Block of Prefab Concrete",
+ paramtype = "light",
+ tiles = {"prefab_concrete.png"},
+ is_ground_content = false,
+ drop = "prefab:concrete",
+ groups = {cracky=2},
+})
+
+minetest.register_node("prefab:concrete_with_grass", {
+ description = "Prefab Concrete with Grass",
+ paramtype = "light",
+ tiles = {"default_grass.png",
+ "prefab_concrete.png",
+ "prefab_concrete_grass.png",},
+ is_ground_content = false,
+ drop = "prefab:concrete",
+ groups = {cracky=2},
+})
+
+minetest.register_node("prefab:concrete_wall", {
+ drawtype = "nodebox",
+ description = "Prefab Concrete Wall Section",
+ tiles = {"prefab_concrete.png",
+ "prefab_concrete.png",
+ "prefab_concrete_wall.png",
+ "prefab_concrete_wall.png",
+ "prefab_concrete_wall.png",
+ "prefab_concrete_wall.png"},
+ paramtype = "light",
+ node_box = {
+ type = "fixed",
+ fixed = {
+ {-0.500000,-0.500000,-0.437500,0.500000,0.500000,0.437500},
+ {-0.437500,-0.500000,-0.500000,0.437500,0.500000,0.500000},
+ },
+ },
+ is_ground_content = false,
+ drop = "prefab:concrete_wall",
+ groups = {cracky=2},
+})
+
+minetest.register_node("prefab:concrete_stair", {
+ drawtype = "nodebox",
+ description = "Prefab Concrete Stair",
+ tiles = {"prefab_concrete.png"},
+ paramtype = "light",
+ paramtype2 = "facedir",
+ node_box = {
+ type = "fixed",
+ fixed = {
+ {-0.500000,-0.500000,-0.500000,0.500000,-0.000000,0.500000},
+ {-0.500000,-0.500000,0.000000,0.500000,0.500000,0.500000},
+ },
+ },
+ is_ground_content = false,
+ drop = "prefab:concrete_stair",
+ groups = {cracky=2},
+})
+
+minetest.register_node("prefab:concrete_slab", {
+ drawtype = "nodebox",
+ description = "Prefab Concrete Slab",
+ tiles = {"prefab_concrete.png"},
+ paramtype = "light",
+ node_box = {
+ type = "fixed",
+ fixed = {
+ {-0.500000,-0.500000,-0.500000,0.500000,0.000000,0.500000},
+ },
+ },
+ is_ground_content = false,
+ drop = "prefab:concrete_slab",
+ groups = {cracky=2},
+})
+
+minetest.register_node("prefab:concrete_stair_inverted", {
+ drawtype = "nodebox",
+ description = "Prefab Concrete Stair (inverted)",
+ tiles = {"prefab_concrete.png"},
+ paramtype = "light",
+ paramtype2 = "facedir",
+ node_box = {
+ type = "fixed",
+ fixed = {
+ {-0.500000,0.000000,-0.500000,0.500000,0.500000,0.500000},
+ {-0.500000,-0.500000,-0.062500,0.500000,0.500000,0.500000},
+ },
+ },
+ is_ground_content = false,
+ drop = "prefab:concrete_stair",
+ groups = {cracky=2},
+})
+
+minetest.register_node("prefab:concrete_slab_inverted", {
+ drawtype = "nodebox",
+ description = "Prefab Concrete Slab (inverted)",
+ tiles = {"prefab_concrete.png"},
+ paramtype = "light",
+ node_box = {
+ type = "fixed",
+ fixed = {
+ {-0.500000,0.000000,-0.500000,0.500000,0.500000,0.500000},
+ },
+ },
+ is_ground_content = false,
+ drop = "prefab:concrete_slab",
+ groups = {cracky=2},
+})
+
+minetest.register_node("prefab:concrete_slit", {
+ drawtype = "nodebox",
+ description = "Prefab Horizontal Concrete Slit",
+ tiles = {"prefab_concrete.png"},
+ paramtype = "light",
+ node_box = {
+ type = "fixed",
+ fixed = {
+ {-0.500000,-0.500000,-0.500000,0.500000,-0.000000,0.500000},
+ {-0.500000,0.187500,-0.500000,0.500000,0.500000,0.500000},
+ },
+ },
+ selection_box = {
+ type = "fixed",
+ fixed = {
+ {-0.500000,-0.500000,-0.500000,0.500000,0.500000,0.500000},
+ },
+ },
+ is_ground_content = false,
+ drop = "prefab:concrete_slit",
+ groups = {cracky=2},
+})
+
+minetest.register_node("prefab:concrete_window", {
+ drawtype = "nodebox",
+ description = "Prefab Concrete Framed Window",
+ tiles = {"prefab_concrete.png",
+ "prefab_concrete.png",
+ "prefab_concrete.png",
+ "prefab_concrete.png",
+ "prefab_concrete_window.png",
+ "prefab_concrete_window.png"},
+ paramtype = "light",
+ paramtype2 = "facedir",
+ node_box = {
+ type = "fixed",
+ fixed = {
+ {-0.500000,-0.500000,-0.500000,0.500000,-0.250000,0.500000},
+ {-0.500000,0.250000,-0.500000,0.500000,0.500000,0.500000},
+ {0.250000,-0.500000,-0.500000,0.500000,0.500000,0.500000},
+ {-0.500000,-0.500000,-0.500000,-0.250000,0.500000,0.500000},
+ {-0.500000,-0.500000,-0.000000,0.500000,0.500000,0.000000},
+ },
+ },
+ selection_box = {
+ type = "fixed",
+ fixed = {
+ {-0.500000,-0.500000,-0.500000,0.500000,0.500000,0.500000},
+ },
+ },
+ is_ground_content = false,
+ drop = "prefab:concrete_window",
+ groups = {cracky=2},
+})
+
+minetest.register_node("prefab:concrete_ladder", {
+ drawtype = "signlike",
+ description = "Prefab Concrete Ladder",
+ tiles = {"prefab_concrete_ladder.png"},
+ paramtype = "light",
+ paramtype2 = "wallmounted",
+ walkable = false,
+ climbable = true,
+ is_ground_content = false,
+ selection_box = {
+ type = "wallmounted",
+ },
+ drop = "prefab:concrete_ladder",
+ groups = {cracky=2},
+})
+
+minetest.register_node("prefab:concrete_fence", {
+ description = "Prefab Concrete Fence",
+ drawtype = "fencelike",
+ paramtype = "light",
+ selection_box = {
+ type = "fixed",
+ fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7},
+ },
+ tiles = {"prefab_concrete.png"},
+ is_ground_content = false,
+ drop = "prefab:concrete_fence",
+ groups = {cracky=2},
+})
+
+doors.register_door("prefab:concrete_door", {
+ description = "Prefab Concrete Door",
+ inventory_image = "prefab_concrete_door.png",
+ groups = {cracky=2,door=1},
+ tiles_bottom = {"prefab_concrete_door_bottom.png", "prefab_concrete_grey.png"},
+ tiles_top = {"prefab_concrete_door_top.png", "prefab_concrete_grey.png"},
+ only_placer_can_open = true,
+})
+
+minetest.register_node("prefab:concrete_cylinder", {
+ drawtype = "nodebox",
+ description = "Prefab Concrete Cylinder",
+ tiles = {"prefab_concrete.png"},
+ paramtype = "light",
+ node_box = {
+ type = "fixed",
+ fixed = {
+ {0.375000,-0.500000,-0.500000,0.500000,0.500000,0.500000},
+ {-0.5,-0.500000,0.375000,0.500000,0.500000,0.500000},
+ {-0.500000,-0.500000,-0.500000,-0.375000,0.500000,0.500000},
+ {-0.500000,-0.500000,-0.500000,0.500000,0.500000,-0.375000},
+ },
+ },
+ selection_box = {
+ type = "fixed",
+ fixed = {
+ {-0.500000,-0.500000,-0.500000,0.500000,0.500000,0.500000},
+ },
+ },
+ is_ground_content = false,
+ drop = "prefab:concrete_cylinder",
+ groups = {cracky=2,falling_node=1},
+})
+
+minetest.register_node("prefab:concrete_bollard", {
+ drawtype = "nodebox",
+ description = "Prefab Concrete Bollard",
+ tiles = {"prefab_concrete.png"},
+ paramtype = "light",
+ node_box = {
+ type = "fixed",
+ fixed = {
+ {-0.312500,-0.500000,-0.312500,0.312500,-0.312500,0.312500},
+ {-0.250000,-0.500000,-0.250000,0.250000,-0.250000,0.250000},
+ {-0.187500,-0.500000,-0.187500,0.187500,0.062500,0.187500},
+ {-0.250000,0.062500,-0.250000,0.250000,0.125000,0.250000},
+ {-0.312500,0.125000,-0.312500,0.312500,0.250000,0.312500},
+ {-0.250000,0.250000,-0.250000,0.250000,0.312500,0.250000},
+ {-0.187500,0.312500,-0.187500,0.187500,0.375000,0.187500},
+ },
+ },
+ selection_box = {
+ type = "fixed",
+ fixed = {
+ {-0.350000,-0.500000,-0.350000,0.350000,0.400000,0.350000},
+ },
+ },
+ is_ground_content = false,
+ drop = "prefab:concrete_bollard",
+ groups = {cracky=2,falling_node=1},
+})
+
+minetest.register_node("prefab:concrete_bench", {
+ drawtype = "nodebox",
+ description = "Prefab Concrete Bench",
+ tiles = {"prefab_concrete.png"},
+ paramtype = "light",
+ paramtype2 = "facedir",
+ node_box = {
+ type = "fixed",
+ fixed = {
+ {-0.125000,-0.500000,-0.062500,0.125000,0.062500,0.062500},
+ {-0.500000,0.062500,-0.312500,0.500000,0.187500,0.312500},
+ },
+ },
+ selection_box = {
+ type = "fixed",
+ fixed = {
+ {-0.500000,-0.500000,-0.350000,0.500000,0.300000,0.350000},
+ },
+ },
+ is_ground_content = false,
+ drop = "prefab:concrete_bench",
+ groups = {cracky=2,falling_node=1},
+})
+
+minetest.register_node("prefab:concrete_railing", {
+ drawtype = "nodebox",
+ description = "Prefab Concrete Railing",
+ tiles = {"prefab_concrete.png"},
+ paramtype = "light",
+ paramtype2 = "facedir",
+ node_box = {
+ type = "fixed",
+ fixed = {
+ {0.062500,-0.500000,0.062500,-0.062500,0.187500,-0.062500},
+ {-0.500000,0.187500,-0.062500,0.500000,0.312500,0.062500},
+ },
+ },
+ is_ground_content = false,
+ drop = "prefab:concrete_railing",
+ groups = {cracky=2},
+})
+
+minetest.register_node("prefab:concrete_railing_corner", {
+ drawtype = "nodebox",
+ description = "Prefab Concrete Railing Corner",
+ tiles = {"prefab_concrete.png"},
+ paramtype = "light",
+ paramtype2 = "facedir",
+ node_box = {
+ type = "fixed",
+ fixed = {
+ {0.062500,-0.500000,0.062500,-0.062500,0.187500,-0.062500},
+ {-0.500000,0.187500,-0.062500,0.062500,0.312500,0.062500},
+ {-0.062500,0.187500,-0.500000,0.062500,0.312500,0.062500},
+ },
+ },
+ is_ground_content = false,
+ drop = "prefab:concrete_railing",
+ groups = {cracky=2},
+})
+
+minetest.register_node("prefab:electric_fence", {
+ drawtype = "nodebox",
+ description = "Electric Fence",
+ tiles = {"prefab_electric_fence.png"},
+ sunlight_propagates = true,
+ paramtype = "light",
+ paramtype2 = "facedir",
+
+ node_box = {
+ type = "fixed",
+ fixed = {
+ {-0.500000,0.062500,-0.062500,0.500000,0.187500,0.062500},
+ {-0.500000,-0.250000,-0.062500,0.500000,-0.125000,0.062500},
+ },
+ },
+ is_ground_content = false,
+ drop = "prefab:electric_fence",
+ groups = {cracky=2},
+})
+
+minetest.register_node("prefab:electric_fence_corner", {
+ drawtype = "nodebox",
+ description = "Electric Fence Corner",
+ tiles = {"prefab_electric_fence_corner_top.png",
+ "prefab_electric_fence_corner_top.png",
+ "prefab_electric_fence_corner_side1.png",
+ "prefab_electric_fence_corner_side2.png",
+ "prefab_electric_fence_corner_side1.png",
+ "prefab_electric_fence_corner_side2.png"},
+ sunlight_propagates = true,
+ paramtype = "light",
+ paramtype2 = "facedir",
+
+ node_box = {
+ type = "fixed",
+ fixed = {
+ {-0.500000,0.062500,-0.062500,0.062500,0.187500,0.062500},
+ {-0.500000,-0.250000,-0.062500,0.062500,-0.125000,0.062500},
+ {-0.062500,0.062500,-0.062500,0.062500,0.187500,0.500000},
+ {-0.062500,-0.250000,-0.062500,0.062500,-0.125000,0.500000},
+ {-0.125000,-0.500000,-0.125000,0.125000,0.500000,0.125000},
+ },
+ },
+ is_ground_content = false,
+ drop = "prefab:electric_fence_corner",
+ groups = {cracky=2},
+})
+
+minetest.register_node("prefab:electric_fence_end", {
+ drawtype = "nodebox",
+ description = "Electric Fence End",
+ tiles = {"prefab_electric_fence_end1.png",
+ "prefab_electric_fence_end1.png",
+ "prefab_concrete.png",
+ "prefab_concrete.png",
+ "prefab_electric_fence_end2.png",
+ "prefab_electric_fence_end1.png"},
+ paramtype = "light",
+ paramtype2 = "facedir",
+ node_box = {
+ type = "fixed",
+ fixed = {
+ {-0.500000,0.062500,-0.062500,0.500000,0.187500,0.062500},
+ {-0.500000,-0.250000,-0.062500,0.500000,-0.125000,0.062500},
+ {-0.500000,-0.500000,-0.250000,-0.375000,0.500000,0.250000},
+ {-0.375000,-0.437500,-0.250000,-0.250000,0.375000,0.250000},
+ {0.250000,-0.312500,-0.125000,0.375000,0.250000,0.125000},
+ {0.000000,-0.312500,-0.125000,0.125000,0.250000,0.125000},
+ },
+ },
+ is_ground_content = false,
+ drop = "prefab:electric_fence_end",
+ groups = {cracky=2},
+})
+
+minetest.register_node("prefab:concrete_catwalk",{
+ drawtype="nodebox",
+ description= "Prefab Concrete Catwalk",
+ paramtype = "light",
+ paramtype2 = "facedir",
+ tiles = { 'prefab_concrete.png', },
+ node_box = {
+ type = "fixed",
+ fixed = {
+ {-0.500000,-0.500000,-0.500000,0.500000,-0.375000,0.500000},
+ {-0.500000,-0.500000,-0.062500,-0.437500,0.500000,0.062500},
+ {0.443299,-0.500000,-0.062500,0.500000,0.500000,0.062500},
+ {0.443299,0.448454,-0.500000,0.500000,0.500000,0.500000},
+ {-0.500000,0.448454,-0.500000,-0.437500,0.500000,0.500000},
+ },
+ },
+ groups={cracky=2},
+ drop = "prefab:concrete_catwalk",
+})
diff --git a/prefab/models/barge.obj b/prefab/models/barge.obj new file mode 100644 index 0000000..ec351e2 --- /dev/null +++ b/prefab/models/barge.obj @@ -0,0 +1,822 @@ +# Blender v2.68 (sub 0) OBJ File: 'boat.blend' +# www.blender.org +mtllib barge.mtl +o boat.001_boat +v -6.965515 6.393098 -6.000000 +v -6.965515 3.393098 -6.000000 +v -6.965516 3.393098 -9.000000 +v -6.965516 6.393098 -9.000000 +v -9.965515 6.393098 -5.999999 +v -9.965515 3.393098 -5.999999 +v -9.965516 3.393098 -9.000000 +v -9.965516 6.393098 -9.000000 +v -9.965515 6.393098 -2.999999 +v -9.965515 3.393098 -2.999999 +v -9.965515 3.393098 -5.999999 +v -9.965515 6.393098 -5.999999 +v -12.965515 6.393098 -2.999998 +v -12.965515 3.393098 -2.999998 +v -12.965515 3.393098 -5.999999 +v -12.965515 6.393098 -5.999999 +v -12.965515 6.393098 0.000002 +v -12.965515 3.393098 0.000002 +v -12.965515 3.393098 -2.999998 +v -12.965515 6.393098 -2.999998 +v -15.965515 6.393098 0.000002 +v -15.965515 3.393098 0.000002 +v -15.965515 3.393098 -2.999998 +v -15.965515 6.393098 -2.999998 +v -12.965517 6.393098 3.000002 +v -12.965517 3.393098 3.000002 +v -12.965517 3.393098 0.000002 +v -12.965517 6.393098 0.000002 +v -15.965517 6.393098 3.000001 +v -15.965517 3.393098 3.000001 +v -15.965517 3.393098 0.000002 +v -15.965517 6.393098 0.000002 +v -9.965517 6.393098 6.000000 +v -9.965517 3.393098 6.000000 +v -9.965517 3.393098 3.000002 +v -9.965517 6.393098 3.000002 +v -12.965515 6.393098 6.000001 +v -12.965515 3.393098 6.000001 +v -12.965517 3.393098 3.000002 +v -12.965517 6.393098 3.000002 +v -6.965516 6.393098 9.000000 +v -6.965516 3.393098 9.000000 +v -6.965518 3.393098 6.000000 +v -6.965518 6.393098 6.000000 +v -9.965516 6.393098 9.000000 +v -9.965516 3.393098 9.000000 +v -9.965517 3.393098 6.000000 +v -9.965517 6.393098 6.000000 +v -9.965517 3.393098 3.000002 +v -9.965517 0.393098 3.000002 +v -9.965517 0.393098 0.000001 +v -9.965517 3.393098 0.000001 +v -12.965517 3.393098 3.000002 +v -12.965517 0.393098 3.000002 +v -12.965517 0.393098 0.000002 +v -12.965517 3.393098 0.000002 +v -9.965517 3.393098 0.000001 +v -9.965517 0.393098 0.000001 +v -9.965517 0.393098 -2.999999 +v -9.965517 3.393098 -2.999999 +v -12.965517 3.393098 0.000002 +v -12.965517 0.393098 0.000002 +v -12.965517 0.393098 -2.999998 +v -12.965517 3.393098 -2.999998 +v -6.965518 0.393098 0.000001 +v -6.965518 -2.606902 0.000001 +v -6.965517 -2.606902 -2.999999 +v -6.965517 0.393098 -2.999999 +v -9.965517 0.393098 0.000001 +v -9.965517 -2.606902 0.000001 +v -9.965517 -2.606902 -2.999999 +v -9.965517 0.393098 -2.999999 +v -6.965518 0.393098 3.000001 +v -6.965518 -2.606902 3.000001 +v -6.965518 -2.606902 0.000001 +v -6.965518 0.393098 0.000001 +v -9.965517 0.393098 3.000002 +v -9.965517 -2.606902 3.000002 +v -9.965517 -2.606902 0.000001 +v -9.965517 0.393098 0.000001 +v -6.965518 3.393098 6.000000 +v -6.965518 0.393098 6.000000 +v -6.965518 0.393098 3.000001 +v -6.965518 3.393098 3.000001 +v -9.965517 3.393098 6.000000 +v -9.965517 0.393098 6.000000 +v -9.965517 0.393098 3.000002 +v -9.965517 3.393098 3.000002 +v -6.965517 3.393098 -2.999999 +v -6.965517 0.393098 -2.999999 +v -6.965516 0.393098 -6.000000 +v -6.965516 3.393098 -6.000000 +v -9.965517 3.393098 -2.999999 +v -9.965517 0.393098 -2.999999 +v -9.965517 0.393098 -5.999999 +v -9.965517 3.393098 -5.999999 +v -3.965517 6.393098 -6.000000 +v -3.965517 3.393098 -6.000000 +v -3.965516 3.393098 -8.999999 +v -3.965516 6.393098 -8.999999 +v -6.965515 6.393098 -6.000000 +v -6.965515 3.393098 -6.000000 +v -6.965516 3.393098 -9.000000 +v -6.965516 6.393098 -9.000000 +v -3.965516 6.393098 9.000001 +v -3.965516 3.393098 9.000001 +v -3.965516 3.393098 6.000000 +v -3.965516 6.393098 6.000000 +v -6.965516 6.393098 9.000000 +v -6.965516 3.393098 9.000000 +v -6.965518 3.393098 6.000000 +v -6.965518 6.393098 6.000000 +v -3.965517 0.393098 0.000001 +v -3.965517 -2.606902 0.000001 +v -3.965517 -2.606902 -2.999999 +v -3.965517 0.393098 -2.999999 +v -6.965518 0.393098 0.000001 +v -6.965518 -2.606902 0.000001 +v -6.965517 -2.606902 -2.999999 +v -6.965517 0.393098 -2.999999 +v -3.965517 0.393098 3.000001 +v -3.965517 -2.606902 3.000001 +v -3.965517 -2.606902 0.000001 +v -3.965517 0.393098 0.000001 +v -6.965518 0.393098 3.000001 +v -6.965518 -2.606902 3.000001 +v -6.965518 -2.606902 0.000001 +v -6.965518 0.393098 0.000001 +v -3.965516 3.393098 6.000000 +v -3.965516 0.393098 6.000000 +v -3.965517 0.393098 3.000001 +v -3.965517 3.393098 3.000001 +v -6.965518 3.393098 6.000000 +v -6.965518 0.393098 6.000000 +v -6.965518 0.393098 3.000001 +v -6.965518 3.393098 3.000001 +v -3.965517 3.393098 -2.999999 +v -3.965517 0.393098 -2.999999 +v -3.965518 0.393098 -6.000000 +v -3.965518 3.393098 -6.000000 +v -6.965517 3.393098 -2.999999 +v -6.965517 0.393098 -2.999999 +v -6.965516 0.393098 -6.000000 +v -6.965516 3.393098 -6.000000 +v -0.965516 6.393098 -6.000001 +v -0.965516 3.393098 -6.000001 +v -0.965516 3.393098 -9.000001 +v -0.965516 6.393098 -9.000001 +v -3.965517 6.393098 -6.000000 +v -3.965517 3.393098 -6.000000 +v -3.965516 3.393098 -8.999999 +v -3.965516 6.393098 -8.999999 +v -0.965516 6.393098 8.999999 +v -0.965516 3.393098 8.999999 +v -0.965517 3.393098 6.000000 +v -0.965517 6.393098 6.000000 +v -3.965516 6.393098 9.000001 +v -3.965516 3.393098 9.000001 +v -3.965516 3.393098 6.000000 +v -3.965516 6.393098 6.000000 +v -0.965517 0.393098 0.000001 +v -0.965517 -2.606902 0.000001 +v -0.965518 -2.606902 -2.999999 +v -0.965518 0.393098 -2.999999 +v -3.965517 0.393098 0.000001 +v -3.965517 -2.606902 0.000001 +v -3.965517 -2.606902 -2.999999 +v -3.965517 0.393098 -2.999999 +v -0.965517 0.393098 3.000001 +v -0.965517 -2.606902 3.000001 +v -0.965517 -2.606902 0.000001 +v -0.965517 0.393098 0.000001 +v -3.965517 0.393098 3.000001 +v -3.965517 -2.606902 3.000001 +v -3.965517 -2.606902 0.000001 +v -3.965517 0.393098 0.000001 +v -0.965517 3.393098 6.000000 +v -0.965517 0.393098 6.000000 +v -0.965517 0.393098 3.000001 +v -0.965517 3.393098 3.000001 +v -3.965516 3.393098 6.000000 +v -3.965516 0.393098 6.000000 +v -3.965517 0.393098 3.000001 +v -3.965517 3.393098 3.000001 +v -0.965518 3.393098 -2.999999 +v -0.965518 0.393098 -2.999999 +v -0.965517 0.393098 -6.000001 +v -0.965517 3.393098 -6.000001 +v -3.965517 3.393098 -2.999999 +v -3.965517 0.393098 -2.999999 +v -3.965518 0.393098 -6.000000 +v -3.965518 3.393098 -6.000000 +v 2.034484 6.393098 -6.000000 +v 2.034484 3.393098 -6.000000 +v 2.034484 3.393098 -9.000001 +v 2.034484 6.393098 -9.000001 +v -0.965516 6.393098 -6.000001 +v -0.965516 3.393098 -6.000001 +v -0.965516 3.393098 -9.000001 +v -0.965516 6.393098 -9.000001 +v 2.034484 6.393098 8.999999 +v 2.034484 3.393098 8.999999 +v 2.034483 3.393098 6.000000 +v 2.034483 6.393098 6.000000 +v -0.965516 6.393098 8.999999 +v -0.965516 3.393098 8.999999 +v -0.965517 3.393098 6.000000 +v -0.965517 6.393098 6.000000 +v 2.034483 0.393098 0.000000 +v 2.034483 -2.606902 0.000000 +v 2.034483 -2.606902 -2.999999 +v 2.034483 0.393098 -2.999999 +v -0.965517 0.393098 0.000001 +v -0.965517 -2.606902 0.000001 +v -0.965518 -2.606902 -2.999999 +v -0.965518 0.393098 -2.999999 +v 2.034483 0.393098 3.000000 +v 2.034483 -2.606902 3.000000 +v 2.034483 -2.606902 0.000000 +v 2.034483 0.393098 0.000000 +v -0.965517 0.393098 3.000001 +v -0.965517 -2.606902 3.000001 +v -0.965517 -2.606902 0.000001 +v -0.965517 0.393098 0.000001 +v 2.034483 3.393098 6.000000 +v 2.034483 0.393098 6.000000 +v 2.034483 0.393098 3.000000 +v 2.034483 3.393098 3.000000 +v -0.965517 3.393098 6.000000 +v -0.965517 0.393098 6.000000 +v -0.965517 0.393098 3.000001 +v -0.965517 3.393098 3.000001 +v 2.034483 3.393098 -2.999999 +v 2.034483 0.393098 -2.999999 +v 2.034483 0.393098 -6.000000 +v 2.034483 3.393098 -6.000000 +v -0.965518 3.393098 -2.999999 +v -0.965518 0.393098 -2.999999 +v -0.965517 0.393098 -6.000001 +v -0.965517 3.393098 -6.000001 +v 5.034483 6.393098 -6.000001 +v 5.034483 3.393098 -6.000001 +v 5.034483 3.393098 -9.000002 +v 5.034483 6.393098 -9.000002 +v 2.034484 6.393098 -6.000000 +v 2.034484 3.393098 -6.000000 +v 2.034484 3.393098 -9.000001 +v 2.034484 6.393098 -9.000001 +v 5.034484 6.393098 8.999998 +v 5.034484 3.393098 8.999998 +v 5.034484 3.393098 6.000000 +v 5.034484 6.393098 6.000000 +v 2.034484 6.393098 8.999999 +v 2.034484 3.393098 8.999999 +v 2.034483 3.393098 6.000000 +v 2.034483 6.393098 6.000000 +v 5.034483 0.393098 0.000000 +v 5.034483 -2.606902 0.000000 +v 5.034483 -2.606902 -3.000000 +v 5.034483 0.393098 -3.000000 +v 2.034483 0.393098 0.000000 +v 2.034483 -2.606902 0.000000 +v 2.034483 -2.606902 -2.999999 +v 2.034483 0.393098 -2.999999 +v 5.034483 0.393098 3.000000 +v 5.034483 -2.606902 3.000000 +v 5.034483 -2.606902 0.000000 +v 5.034483 0.393098 0.000000 +v 2.034483 0.393098 3.000000 +v 2.034483 -2.606902 3.000000 +v 2.034483 -2.606902 0.000000 +v 2.034483 0.393098 0.000000 +v 5.034484 3.393098 6.000000 +v 5.034484 0.393098 6.000000 +v 5.034483 0.393098 3.000000 +v 5.034483 3.393098 3.000000 +v 2.034483 3.393098 6.000000 +v 2.034483 0.393098 6.000000 +v 2.034483 0.393098 3.000000 +v 2.034483 3.393098 3.000000 +v 5.034483 3.393098 -3.000000 +v 5.034483 0.393098 -3.000000 +v 5.034482 0.393098 -6.000001 +v 5.034482 3.393098 -6.000001 +v 2.034483 3.393098 -2.999999 +v 2.034483 0.393098 -2.999999 +v 2.034483 0.393098 -6.000000 +v 2.034483 3.393098 -6.000000 +v 8.034485 6.393098 -6.000001 +v 8.034485 3.393098 -6.000001 +v 8.034484 3.393098 -9.000001 +v 8.034484 6.393098 -9.000001 +v 5.034483 6.393098 -6.000001 +v 5.034483 3.393098 -6.000001 +v 5.034483 3.393098 -9.000002 +v 5.034483 6.393098 -9.000002 +v 8.034484 6.393098 8.999999 +v 8.034484 3.393098 8.999999 +v 8.034483 3.393098 6.000000 +v 8.034483 6.393098 6.000000 +v 5.034484 6.393098 8.999998 +v 5.034484 3.393098 8.999998 +v 5.034484 3.393098 6.000000 +v 5.034484 6.393098 6.000000 +v 8.034483 0.393098 -0.000000 +v 8.034483 -2.606902 -0.000000 +v 8.034483 -2.606902 -2.999999 +v 8.034483 0.393098 -2.999999 +v 5.034483 0.393098 0.000000 +v 5.034483 -2.606902 0.000000 +v 5.034483 -2.606902 -3.000000 +v 5.034483 0.393098 -3.000000 +v 8.034483 0.393098 3.000000 +v 8.034483 -2.606902 3.000000 +v 8.034483 -2.606902 -0.000000 +v 8.034483 0.393098 -0.000000 +v 5.034483 0.393098 3.000000 +v 5.034483 -2.606902 3.000000 +v 5.034483 -2.606902 0.000000 +v 5.034483 0.393098 0.000000 +v 8.034483 3.393098 6.000000 +v 8.034483 0.393098 6.000000 +v 8.034483 0.393098 3.000000 +v 8.034483 3.393098 3.000000 +v 5.034484 3.393098 6.000000 +v 5.034484 0.393098 6.000000 +v 5.034483 0.393098 3.000000 +v 5.034483 3.393098 3.000000 +v 8.034483 3.393098 -2.999999 +v 8.034483 0.393098 -2.999999 +v 8.034483 0.393098 -6.000001 +v 8.034483 3.393098 -6.000001 +v 5.034483 3.393098 -3.000000 +v 5.034483 0.393098 -3.000000 +v 5.034482 0.393098 -6.000001 +v 5.034482 3.393098 -6.000001 +v 11.034483 6.393098 -6.000001 +v 11.034483 3.393098 -6.000001 +v 11.034484 3.393098 -9.000001 +v 11.034484 6.393098 -9.000001 +v 8.034485 6.393098 -6.000001 +v 8.034485 3.393098 -6.000001 +v 8.034484 3.393098 -9.000001 +v 8.034484 6.393098 -9.000001 +v 11.034484 6.393098 8.999999 +v 11.034484 3.393098 8.999999 +v 11.034483 3.393098 6.000000 +v 11.034483 6.393098 6.000000 +v 8.034484 6.393098 8.999999 +v 8.034484 3.393098 8.999999 +v 8.034483 3.393098 6.000000 +v 8.034483 6.393098 6.000000 +v 11.034483 0.393098 -0.000000 +v 11.034483 -2.606902 -0.000000 +v 11.034483 -2.606902 -3.000000 +v 11.034483 0.393098 -3.000000 +v 8.034483 0.393098 -0.000000 +v 8.034483 -2.606902 -0.000000 +v 8.034483 -2.606902 -2.999999 +v 8.034483 0.393098 -2.999999 +v 11.034483 0.393098 3.000000 +v 11.034483 -2.606902 3.000000 +v 11.034483 -2.606902 -0.000000 +v 11.034483 0.393098 -0.000000 +v 8.034483 0.393098 3.000000 +v 8.034483 -2.606902 3.000000 +v 8.034483 -2.606902 -0.000000 +v 8.034483 0.393098 -0.000000 +v 11.034483 3.393098 6.000000 +v 11.034483 0.393098 6.000000 +v 11.034483 0.393098 3.000000 +v 11.034483 3.393098 3.000000 +v 8.034483 3.393098 6.000000 +v 8.034483 0.393098 6.000000 +v 8.034483 0.393098 3.000000 +v 8.034483 3.393098 3.000000 +v 11.034483 3.393098 -3.000000 +v 11.034483 0.393098 -3.000000 +v 11.034483 0.393098 -6.000001 +v 11.034483 3.393098 -6.000001 +v 8.034483 3.393098 -2.999999 +v 8.034483 0.393098 -2.999999 +v 8.034483 0.393098 -6.000001 +v 8.034483 3.393098 -6.000001 +v 14.034485 6.393098 -3.000000 +v 14.034485 3.393098 -3.000000 +v 14.034485 3.393098 -6.000001 +v 14.034485 6.393098 -6.000001 +v 11.034483 6.393098 -3.000000 +v 11.034483 3.393098 -3.000000 +v 11.034483 3.393098 -6.000001 +v 11.034483 6.393098 -6.000001 +v 14.034485 6.393098 -0.000000 +v 14.034485 3.393098 -0.000000 +v 14.034485 3.393098 -3.000000 +v 14.034485 6.393098 -3.000000 +v 11.034485 6.393098 -0.000000 +v 11.034485 3.393098 -0.000000 +v 11.034483 3.393098 -3.000000 +v 11.034483 6.393098 -3.000000 +v 14.034485 6.393098 3.000000 +v 14.034485 3.393098 3.000000 +v 14.034485 3.393098 -0.000000 +v 14.034485 6.393098 -0.000000 +v 11.034485 6.393098 3.000000 +v 11.034485 3.393098 3.000000 +v 11.034485 3.393098 -0.000000 +v 11.034485 6.393098 -0.000000 +v 14.034485 6.393098 5.999999 +v 14.034485 3.393098 5.999999 +v 14.034485 3.393098 3.000000 +v 14.034485 6.393098 3.000000 +v 11.034485 6.393098 6.000000 +v 11.034485 3.393098 6.000000 +v 11.034485 3.393098 3.000000 +v 11.034485 6.393098 3.000000 +v 14.034485 3.393098 -3.000000 +v 14.034485 0.393098 -3.000000 +v 14.034485 0.393098 -6.000001 +v 14.034485 3.393098 -6.000001 +v 11.034483 3.393098 -3.000000 +v 11.034483 0.393098 -3.000000 +v 11.034483 0.393098 -6.000001 +v 11.034483 3.393098 -6.000001 +v 14.034485 3.393098 -0.000000 +v 14.034485 0.393098 -0.000000 +v 14.034485 0.393098 -3.000000 +v 14.034485 3.393098 -3.000000 +v 11.034485 3.393098 -0.000000 +v 11.034485 0.393098 -0.000000 +v 11.034483 0.393098 -3.000000 +v 11.034483 3.393098 -3.000000 +v 14.034485 3.393098 3.000000 +v 14.034485 0.393098 3.000000 +v 14.034485 0.393098 -0.000000 +v 14.034485 3.393098 -0.000000 +v 11.034485 3.393098 3.000000 +v 11.034485 0.393098 3.000000 +v 11.034485 0.393098 -0.000000 +v 11.034485 3.393098 -0.000000 +v 14.034485 3.393098 5.999999 +v 14.034485 0.393098 5.999999 +v 14.034485 0.393098 3.000000 +v 14.034485 3.393098 3.000000 +v 11.034485 3.393098 6.000000 +v 11.034485 0.393098 6.000000 +v 11.034485 0.393098 3.000000 +v 11.034485 3.393098 3.000000 +v 14.034485 0.393098 -0.000000 +v 14.034485 -2.606902 -0.000000 +v 14.034485 -2.606902 -3.000000 +v 14.034485 0.393098 -3.000000 +v 11.034485 0.393098 -0.000000 +v 11.034485 -2.606902 -0.000000 +v 11.034483 -2.606902 -3.000000 +v 11.034483 0.393098 -3.000000 +v 14.034485 0.393098 3.000000 +v 14.034485 -2.606902 3.000000 +v 14.034485 -2.606902 -0.000000 +v 14.034485 0.393098 -0.000000 +v 11.034485 0.393098 3.000000 +v 11.034485 -2.606902 3.000000 +v 11.034485 -2.606902 -0.000000 +v 11.034485 0.393098 -0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +usemtl Material +s off +f 5/1 8/2 7/3 6/4 +f 3/3 7/4 8/1 4/2 +f 5/3 1/4 4/1 8/2 +f 6/1 2/2 1/3 5/4 +f 7/1 3/2 2/3 6/4 +f 4/1 1/2 2/3 3/4 +f 13/1 16/2 15/3 14/4 +f 11/3 15/4 16/1 12/2 +f 13/4 9/1 12/2 16/3 +f 14/1 10/2 9/3 13/4 +f 15/1 11/2 10/3 14/4 +f 12/3 9/4 10/1 11/2 +f 21/1 24/2 23/3 22/4 +f 19/3 23/4 24/1 20/2 +f 21/4 17/1 20/2 24/3 +f 22/1 18/2 17/3 21/4 +f 23/1 19/2 18/3 22/4 +f 20/3 17/4 18/1 19/2 +f 29/1 32/2 31/3 30/4 +f 27/1 31/2 32/3 28/4 +f 29/4 25/1 28/2 32/3 +f 30/3 26/4 25/1 29/2 +f 31/1 27/2 26/3 30/4 +f 28/3 25/4 26/1 27/2 +f 37/1 40/2 39/3 38/4 +f 35/1 39/2 40/3 36/4 +f 37/4 33/1 36/2 40/3 +f 38/3 34/4 33/1 37/2 +f 39/1 35/2 34/3 38/4 +f 36/3 33/4 34/1 35/2 +f 45/1 48/2 47/3 46/4 +f 43/1 47/2 48/3 44/4 +f 45/1 41/2 44/3 48/4 +f 46/3 42/4 41/1 45/2 +f 47/1 43/2 42/3 46/4 +f 44/1 41/2 42/3 43/4 +f 53/1 56/2 55/3 54/4 +f 51/1 55/2 56/3 52/4 +f 53/4 49/1 52/2 56/3 +f 54/1 50/2 49/3 53/4 +f 55/1 51/2 50/3 54/4 +f 52/1 49/2 50/3 51/4 +f 61/1 64/2 63/3 62/4 +f 59/1 63/2 64/3 60/4 +f 61/4 57/1 60/2 64/3 +f 62/1 58/2 57/3 61/4 +f 63/1 59/2 58/3 62/4 +f 60/1 57/2 58/3 59/4 +f 69/1 72/2 71/3 70/4 +f 67/1 71/2 72/3 68/4 +f 69/1 65/2 68/3 72/4 +f 70/1 66/2 65/3 69/4 +f 71/1 67/2 66/3 70/4 +f 68/1 65/2 66/3 67/4 +f 77/1 80/2 79/3 78/4 +f 75/1 79/2 80/3 76/4 +f 77/1 73/2 76/3 80/4 +f 78/1 74/2 73/3 77/4 +f 79/1 75/2 74/3 78/4 +f 76/1 73/2 74/3 75/4 +f 85/1 88/2 87/3 86/4 +f 83/1 87/2 88/3 84/4 +f 85/3 81/4 84/1 88/2 +f 86/1 82/2 81/3 85/4 +f 87/1 83/2 82/3 86/4 +f 84/1 81/2 82/3 83/4 +f 93/1 96/2 95/3 94/4 +f 91/1 95/2 96/3 92/4 +f 93/1 89/2 92/3 96/4 +f 94/1 90/2 89/3 93/4 +f 95/1 91/2 90/3 94/4 +f 92/1 89/2 90/3 91/4 +f 101/1 104/2 103/3 102/4 +f 99/3 103/4 104/1 100/2 +f 101/3 97/4 100/1 104/2 +f 102/1 98/2 97/3 101/4 +f 103/1 99/2 98/3 102/4 +f 100/1 97/2 98/3 99/4 +f 109/1 112/2 111/3 110/4 +f 107/1 111/2 112/3 108/4 +f 109/1 105/2 108/3 112/4 +f 110/3 106/4 105/1 109/2 +f 111/1 107/2 106/3 110/4 +f 108/1 105/2 106/3 107/4 +f 117/1 120/2 119/3 118/4 +f 115/1 119/2 120/3 116/4 +f 117/1 113/2 116/3 120/4 +f 118/1 114/2 113/3 117/4 +f 119/1 115/2 114/3 118/4 +f 116/1 113/2 114/3 115/4 +f 125/1 128/2 127/3 126/4 +f 123/1 127/2 128/3 124/4 +f 125/1 121/2 124/3 128/4 +f 126/1 122/2 121/3 125/4 +f 127/1 123/2 122/3 126/4 +f 124/1 121/2 122/3 123/4 +f 133/1 136/2 135/3 134/4 +f 131/1 135/2 136/3 132/4 +f 133/3 129/4 132/1 136/2 +f 134/1 130/2 129/3 133/4 +f 135/1 131/2 130/3 134/4 +f 132/1 129/2 130/3 131/4 +f 141/1 144/2 143/3 142/4 +f 139/1 143/2 144/3 140/4 +f 141/1 137/2 140/3 144/4 +f 142/1 138/2 137/3 141/4 +f 143/1 139/2 138/3 142/4 +f 140/1 137/2 138/3 139/4 +f 149/1 152/2 151/3 150/4 +f 147/3 151/4 152/1 148/2 +f 149/3 145/4 148/1 152/2 +f 150/1 146/2 145/3 149/4 +f 151/1 147/2 146/3 150/4 +f 148/1 145/2 146/3 147/4 +f 157/1 160/2 159/3 158/4 +f 155/1 159/2 160/3 156/4 +f 157/1 153/2 156/3 160/4 +f 158/3 154/4 153/1 157/2 +f 159/1 155/2 154/3 158/4 +f 156/1 153/2 154/3 155/4 +f 165/1 168/2 167/3 166/4 +f 163/1 167/2 168/3 164/4 +f 165/1 161/2 164/3 168/4 +f 166/1 162/2 161/3 165/4 +f 167/1 163/2 162/3 166/4 +f 164/1 161/2 162/3 163/4 +f 173/1 176/2 175/3 174/4 +f 171/1 175/2 176/3 172/4 +f 173/1 169/2 172/3 176/4 +f 174/1 170/2 169/3 173/4 +f 175/1 171/2 170/3 174/4 +f 172/1 169/2 170/3 171/4 +f 181/1 184/2 183/3 182/4 +f 179/1 183/2 184/3 180/4 +f 181/3 177/4 180/1 184/2 +f 182/1 178/2 177/3 181/4 +f 183/1 179/2 178/3 182/4 +f 180/1 177/2 178/3 179/4 +f 189/1 192/2 191/3 190/4 +f 187/1 191/2 192/3 188/4 +f 189/1 185/2 188/3 192/4 +f 190/1 186/2 185/3 189/4 +f 191/1 187/2 186/3 190/4 +f 188/1 185/2 186/3 187/4 +f 197/1 200/2 199/3 198/4 +f 195/3 199/4 200/1 196/2 +f 197/3 193/4 196/1 200/2 +f 198/1 194/2 193/3 197/4 +f 199/1 195/2 194/3 198/4 +f 196/1 193/2 194/3 195/4 +f 205/1 208/2 207/3 206/4 +f 203/1 207/2 208/3 204/4 +f 205/1 201/2 204/3 208/4 +f 206/3 202/4 201/1 205/2 +f 207/1 203/2 202/3 206/4 +f 204/1 201/2 202/3 203/4 +f 213/1 216/2 215/3 214/4 +f 211/1 215/2 216/3 212/4 +f 213/1 209/2 212/3 216/4 +f 214/1 210/2 209/3 213/4 +f 215/1 211/2 210/3 214/4 +f 212/1 209/2 210/3 211/4 +f 221/1 224/2 223/3 222/4 +f 219/1 223/2 224/3 220/4 +f 221/1 217/2 220/3 224/4 +f 222/1 218/2 217/3 221/4 +f 223/1 219/2 218/3 222/4 +f 220/1 217/2 218/3 219/4 +f 229/1 232/2 231/3 230/4 +f 227/1 231/2 232/3 228/4 +f 229/3 225/4 228/1 232/2 +f 230/1 226/2 225/3 229/4 +f 231/1 227/2 226/3 230/4 +f 228/1 225/2 226/3 227/4 +f 237/1 240/2 239/3 238/4 +f 235/1 239/2 240/3 236/4 +f 237/1 233/2 236/3 240/4 +f 238/1 234/2 233/3 237/4 +f 239/1 235/2 234/3 238/4 +f 236/1 233/2 234/3 235/4 +f 245/1 248/2 247/3 246/4 +f 243/3 247/4 248/1 244/2 +f 245/3 241/4 244/1 248/2 +f 246/1 242/2 241/3 245/4 +f 247/1 243/2 242/3 246/4 +f 244/1 241/2 242/3 243/4 +f 253/1 256/2 255/3 254/4 +f 251/1 255/2 256/3 252/4 +f 253/1 249/2 252/3 256/4 +f 254/3 250/4 249/1 253/2 +f 255/1 251/2 250/3 254/4 +f 252/1 249/2 250/3 251/4 +f 261/1 264/2 263/3 262/4 +f 259/1 263/2 264/3 260/4 +f 261/1 257/2 260/3 264/4 +f 262/1 258/2 257/3 261/4 +f 263/1 259/2 258/3 262/4 +f 260/1 257/2 258/3 259/4 +f 269/1 272/2 271/3 270/4 +f 267/1 271/2 272/3 268/4 +f 269/1 265/2 268/3 272/4 +f 270/1 266/2 265/3 269/4 +f 271/1 267/2 266/3 270/4 +f 268/1 265/2 266/3 267/4 +f 277/1 280/2 279/3 278/4 +f 275/1 279/2 280/3 276/4 +f 277/3 273/4 276/1 280/2 +f 278/1 274/2 273/3 277/4 +f 279/1 275/2 274/3 278/4 +f 276/1 273/2 274/3 275/4 +f 285/1 288/2 287/3 286/4 +f 283/1 287/2 288/3 284/4 +f 285/1 281/2 284/3 288/4 +f 286/1 282/2 281/3 285/4 +f 287/1 283/2 282/3 286/4 +f 284/1 281/2 282/3 283/4 +f 293/1 296/2 295/3 294/4 +f 291/3 295/4 296/1 292/2 +f 293/3 289/4 292/1 296/2 +f 294/1 290/2 289/3 293/4 +f 295/1 291/2 290/3 294/4 +f 292/1 289/2 290/3 291/4 +f 301/1 304/2 303/3 302/4 +f 299/1 303/2 304/3 300/4 +f 301/1 297/2 300/3 304/4 +f 302/3 298/4 297/1 301/2 +f 303/1 299/2 298/3 302/4 +f 300/1 297/2 298/3 299/4 +f 309/1 312/2 311/3 310/4 +f 307/1 311/2 312/3 308/4 +f 309/1 305/2 308/3 312/4 +f 310/1 306/2 305/3 309/4 +f 311/1 307/2 306/3 310/4 +f 308/1 305/2 306/3 307/4 +f 317/1 320/2 319/3 318/4 +f 315/1 319/2 320/3 316/4 +f 317/1 313/2 316/3 320/4 +f 318/1 314/2 313/3 317/4 +f 319/1 315/2 314/3 318/4 +f 316/1 313/2 314/3 315/4 +f 325/1 328/2 327/3 326/4 +f 323/1 327/2 328/3 324/4 +f 325/3 321/4 324/1 328/2 +f 326/1 322/2 321/3 325/4 +f 327/1 323/2 322/3 326/4 +f 324/1 321/2 322/3 323/4 +f 333/1 336/2 335/3 334/4 +f 331/1 335/2 336/3 332/4 +f 333/1 329/2 332/3 336/4 +f 334/1 330/2 329/3 333/4 +f 335/1 331/2 330/3 334/4 +f 332/1 329/2 330/3 331/4 +f 341/1 344/2 343/3 342/4 +f 339/3 343/4 344/1 340/2 +f 341/3 337/4 340/1 344/2 +f 342/1 338/2 337/3 341/4 +f 343/1 339/2 338/3 342/4 +f 340/1 337/2 338/3 339/4 +f 349/1 352/2 351/3 350/4 +f 347/1 351/2 352/3 348/4 +f 349/1 345/2 348/3 352/4 +f 350/3 346/4 345/1 349/2 +f 351/1 347/2 346/3 350/4 +f 348/1 345/2 346/3 347/4 +f 357/1 360/2 359/3 358/4 +f 355/1 359/2 360/3 356/4 +f 357/1 353/2 356/3 360/4 +f 358/1 354/2 353/3 357/4 +f 359/1 355/2 354/3 358/4 +f 356/1 353/2 354/3 355/4 +f 365/1 368/2 367/3 366/4 +f 363/1 367/2 368/3 364/4 +f 365/1 361/2 364/3 368/4 +f 366/1 362/2 361/3 365/4 +f 367/1 363/2 362/3 366/4 +f 364/1 361/2 362/3 363/4 +f 373/1 376/2 375/3 374/4 +f 371/1 375/2 376/3 372/4 +f 373/3 369/4 372/1 376/2 +f 374/1 370/2 369/3 373/4 +f 375/1 371/2 370/3 374/4 +f 372/1 369/2 370/3 371/4 +f 381/1 384/2 383/3 382/4 +f 379/1 383/2 384/3 380/4 +f 381/1 377/2 380/3 384/4 +f 382/1 378/2 377/3 381/4 +f 383/1 379/2 378/3 382/4 +f 380/1 377/2 378/3 379/4 +f 389/3 392/4 391/1 390/2 +f 387/3 391/4 392/1 388/2 +f 389/1 385/2 388/3 392/4 +f 390/1 386/2 385/3 389/4 +f 391/1 387/2 386/3 390/4 +f 388/1 385/2 386/3 387/4 +f 397/3 400/4 399/1 398/2 +f 395/1 399/2 400/3 396/4 +f 397/1 393/2 396/3 400/4 +f 398/1 394/2 393/3 397/4 +f 399/1 395/2 394/3 398/4 +f 396/1 393/2 394/3 395/4 +f 405/3 408/4 407/1 406/2 +f 403/1 407/2 408/3 404/4 +f 405/1 401/2 404/3 408/4 +f 406/1 402/2 401/3 405/4 +f 407/1 403/2 402/3 406/4 +f 404/1 401/2 402/3 403/4 +f 413/3 416/4 415/1 414/2 +f 411/1 415/2 416/3 412/4 +f 413/1 409/2 412/3 416/4 +f 414/3 410/4 409/1 413/2 +f 415/1 411/2 410/3 414/4 +f 412/1 409/2 410/3 411/4 +f 421/1 424/2 423/3 422/4 +f 419/1 423/2 424/3 420/4 +f 421/1 417/2 420/3 424/4 +f 422/1 418/2 417/3 421/4 +f 423/1 419/2 418/3 422/4 +f 420/1 417/2 418/3 419/4 +f 429/1 432/2 431/3 430/4 +f 427/1 431/2 432/3 428/4 +f 429/1 425/2 428/3 432/4 +f 430/1 426/2 425/3 429/4 +f 431/1 427/2 426/3 430/4 +f 428/1 425/2 426/3 427/4 +f 437/1 440/2 439/3 438/4 +f 435/1 439/2 440/3 436/4 +f 437/1 433/2 436/3 440/4 +f 438/1 434/2 433/3 437/4 +f 439/1 435/2 434/3 438/4 +f 436/1 433/2 434/3 435/4 +f 445/1 448/2 447/3 446/4 +f 443/1 447/2 448/3 444/4 +f 445/1 441/2 444/3 448/4 +f 446/1 442/2 441/3 445/4 +f 447/1 443/2 442/3 446/4 +f 444/1 441/2 442/3 443/4 +f 453/1 456/2 455/3 454/4 +f 451/1 455/2 456/3 452/4 +f 453/1 449/2 452/3 456/4 +f 454/1 450/2 449/3 453/4 +f 455/1 451/2 450/3 454/4 +f 452/1 449/2 450/3 451/4 +f 461/1 464/2 463/3 462/4 +f 459/1 463/2 464/3 460/4 +f 461/1 457/2 460/3 464/4 +f 462/1 458/2 457/3 461/4 +f 463/1 459/2 458/3 462/4 +f 460/1 457/2 458/3 459/4 diff --git a/prefab/other.lua b/prefab/other.lua new file mode 100644 index 0000000..4bb4b3e --- /dev/null +++ b/prefab/other.lua @@ -0,0 +1,169 @@ + +-- +-- Helper functions +-- + +local function is_water(pos) + local nn = minetest.get_node(pos).name + return minetest.get_item_group(nn, "water") ~= 0 +end + +local function get_sign(i) + if i == 0 then + return 0 + else + return i/math.abs(i) + end +end + +local function get_velocity(v, yaw, y) + local x = math.cos(yaw)*v + local z = math.sin(yaw)*v + return {x=x, y=y, z=z} +end + +local function get_v(v) + return math.sqrt(v.x^2+v.z^2) +end + +-- +-- Cart entity +-- + +local boat = { + physical = true, + collisionbox = {-2.4,-1,-2.4, 2.4,2.0,2.4}, + visual = "mesh", + visual_size = {x=2.0,y=2.0}, + mesh = "barge.obj", + textures = {"prefab_concrete_boat.png"}, + + driver = nil, + v = 0, +} + +function boat:on_rightclick(clicker) + if not clicker or not clicker:is_player() then + return + end + if self.driver and clicker == self.driver then + self.driver = nil + clicker:set_detach() + elseif not self.driver then + self.driver = clicker + clicker:set_attach(self.object, "", {x=0,y=5,z=0}, {x=0,y=0,z=0}) + self.object:setyaw(clicker:get_look_yaw()) + end +end + +function boat:on_activate(staticdata, dtime_s) + self.object:set_armor_groups({immortal=1}) + if staticdata then + self.v = tonumber(staticdata) + end +end + +function boat:get_staticdata() + return tostring(v) +end + +function boat:on_punch(puncher, time_from_last_punch, tool_capabilities, direction) + self.object:remove() + if puncher and puncher:is_player() then + puncher:get_inventory():add_item("main", "prefab:boat") + end +end + +function boat:on_step(dtime) + self.v = get_v(self.object:getvelocity())*get_sign(self.v) + if self.driver then + local ctrl = self.driver:get_player_control() + if ctrl.up then + self.v = self.v+0.03 + end + if ctrl.down then + self.v = self.v-0.03 + end + if ctrl.left then + self.object:setyaw(self.object:getyaw()+math.pi/120+dtime*math.pi/120) + end + if ctrl.right then + self.object:setyaw(self.object:getyaw()-math.pi/120-dtime*math.pi/120) + end + end + local s = get_sign(self.v) + self.v = self.v - 0.02*s + if s ~= get_sign(self.v) then + self.object:setvelocity({x=0, y=0, z=0}) + self.v = 0 + return + end + if math.abs(self.v) > 4.5 then + self.v = 4.5*get_sign(self.v) + end + + local p = self.object:getpos() + p.y = p.y-0.5 + if not is_water(p) then + if minetest.registered_nodes[minetest.get_node(p).name].walkable then + self.v = 0 + end + self.object:setacceleration({x=0, y=-10, z=0}) + self.object:setvelocity(get_velocity(self.v, self.object:getyaw(), self.object:getvelocity().y)) + else + p.y = p.y+1 + if is_water(p) then + self.object:setacceleration({x=0, y=3, z=0}) + local y = self.object:getvelocity().y + if y > 2 then + y = 2 + end + if y < 0 then + self.object:setacceleration({x=0, y=10, z=0}) + end + self.object:setvelocity(get_velocity(self.v, self.object:getyaw(), y)) + else + self.object:setacceleration({x=0, y=0, z=0}) + if math.abs(self.object:getvelocity().y) < 1 then + local pos = self.object:getpos() + pos.y = math.floor(pos.y)+0.5 + self.object:setpos(pos) + self.object:setvelocity(get_velocity(self.v, self.object:getyaw(), 0)) + else + self.object:setvelocity(get_velocity(self.v, self.object:getyaw(), self.object:getvelocity().y)) + end + end + end +end + +minetest.register_entity("prefab:boat", boat) + + +minetest.register_craftitem("prefab:boat", { + description = "Prefab Concrete Barge", + inventory_image = "prefab_boat_inventory.png", + wield_scale = {x=2, y=2, z=1}, + liquids_pointable = true, + + on_place = function(itemstack, placer, pointed_thing) + if pointed_thing.type ~= "node" then + return + end + if not is_water(pointed_thing.under) then + return + end + pointed_thing.under.y = pointed_thing.under.y-0.5 + minetest.add_entity(pointed_thing.under, "prefab:boat") + itemstack:take_item() + return itemstack + end, +}) + +minetest.register_craft({ + output = "prefab:boat", + recipe = { + {"", "", ""}, + {"prefab:concrete_slab", "", "prefab:concrete_slab"}, + {"prefab:concrete_slab", "prefab:concrete_slab", "prefab:concrete_slab"}, + }, +}) diff --git a/prefab/textures/prefab_boat_inventory.png b/prefab/textures/prefab_boat_inventory.png Binary files differnew file mode 100644 index 0000000..5af30c2 --- /dev/null +++ b/prefab/textures/prefab_boat_inventory.png diff --git a/prefab/textures/prefab_concrete.png b/prefab/textures/prefab_concrete.png Binary files differnew file mode 100644 index 0000000..0f711fa --- /dev/null +++ b/prefab/textures/prefab_concrete.png diff --git a/prefab/textures/prefab_concrete_boat.png b/prefab/textures/prefab_concrete_boat.png Binary files differnew file mode 100644 index 0000000..f9028ed --- /dev/null +++ b/prefab/textures/prefab_concrete_boat.png diff --git a/prefab/textures/prefab_concrete_door.png b/prefab/textures/prefab_concrete_door.png Binary files differnew file mode 100644 index 0000000..cbf9a85 --- /dev/null +++ b/prefab/textures/prefab_concrete_door.png diff --git a/prefab/textures/prefab_concrete_door_bottom.png b/prefab/textures/prefab_concrete_door_bottom.png Binary files differnew file mode 100644 index 0000000..350e4a7 --- /dev/null +++ b/prefab/textures/prefab_concrete_door_bottom.png diff --git a/prefab/textures/prefab_concrete_door_top.png b/prefab/textures/prefab_concrete_door_top.png Binary files differnew file mode 100644 index 0000000..a90fe02 --- /dev/null +++ b/prefab/textures/prefab_concrete_door_top.png diff --git a/prefab/textures/prefab_concrete_grass.png b/prefab/textures/prefab_concrete_grass.png Binary files differnew file mode 100644 index 0000000..0477cfe --- /dev/null +++ b/prefab/textures/prefab_concrete_grass.png diff --git a/prefab/textures/prefab_concrete_grey.png b/prefab/textures/prefab_concrete_grey.png Binary files differnew file mode 100644 index 0000000..885784b --- /dev/null +++ b/prefab/textures/prefab_concrete_grey.png diff --git a/prefab/textures/prefab_concrete_ladder.png b/prefab/textures/prefab_concrete_ladder.png Binary files differnew file mode 100644 index 0000000..19d82ee --- /dev/null +++ b/prefab/textures/prefab_concrete_ladder.png diff --git a/prefab/textures/prefab_concrete_wall.png b/prefab/textures/prefab_concrete_wall.png Binary files differnew file mode 100644 index 0000000..1e1112c --- /dev/null +++ b/prefab/textures/prefab_concrete_wall.png diff --git a/prefab/textures/prefab_concrete_window.png b/prefab/textures/prefab_concrete_window.png Binary files differnew file mode 100644 index 0000000..2e90baa --- /dev/null +++ b/prefab/textures/prefab_concrete_window.png diff --git a/prefab/textures/prefab_electric_fence.png b/prefab/textures/prefab_electric_fence.png Binary files differnew file mode 100644 index 0000000..babd429 --- /dev/null +++ b/prefab/textures/prefab_electric_fence.png diff --git a/prefab/textures/prefab_electric_fence_corner_side1.png b/prefab/textures/prefab_electric_fence_corner_side1.png Binary files differnew file mode 100644 index 0000000..637ab1f --- /dev/null +++ b/prefab/textures/prefab_electric_fence_corner_side1.png diff --git a/prefab/textures/prefab_electric_fence_corner_side2.png b/prefab/textures/prefab_electric_fence_corner_side2.png Binary files differnew file mode 100644 index 0000000..3daaab3 --- /dev/null +++ b/prefab/textures/prefab_electric_fence_corner_side2.png diff --git a/prefab/textures/prefab_electric_fence_corner_top.png b/prefab/textures/prefab_electric_fence_corner_top.png Binary files differnew file mode 100644 index 0000000..0c1fdc6 --- /dev/null +++ b/prefab/textures/prefab_electric_fence_corner_top.png diff --git a/prefab/textures/prefab_electric_fence_end1.png b/prefab/textures/prefab_electric_fence_end1.png Binary files differnew file mode 100644 index 0000000..91f874d --- /dev/null +++ b/prefab/textures/prefab_electric_fence_end1.png diff --git a/prefab/textures/prefab_electric_fence_end2.png b/prefab/textures/prefab_electric_fence_end2.png Binary files differnew file mode 100644 index 0000000..5810b1c --- /dev/null +++ b/prefab/textures/prefab_electric_fence_end2.png |