summaryrefslogtreecommitdiff
path: root/prefab
diff options
context:
space:
mode:
authorVanessa Ezekowitz <vanessaezekowitz@gmail.com>2016-04-01 20:02:19 -0400
committerVanessa Ezekowitz <vanessaezekowitz@gmail.com>2016-04-01 21:09:33 -0400
commitda66780a569712c23ae4f2996cfb4608a9f9d69d (patch)
tree217556029a78bc23ad4564720afc86de97228a04 /prefab
parent615b22df4d423aded3613db7716943a2f389b047 (diff)
downloaddreambuilder_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')
-rw-r--r--prefab/README.md0
-rw-r--r--prefab/crafting.lua167
-rw-r--r--prefab/depends.txt2
-rw-r--r--prefab/init.lua422
-rw-r--r--prefab/models/barge.obj822
-rw-r--r--prefab/other.lua169
-rw-r--r--prefab/textures/prefab_boat_inventory.pngbin0 -> 642 bytes
-rw-r--r--prefab/textures/prefab_concrete.pngbin0 -> 6659 bytes
-rw-r--r--prefab/textures/prefab_concrete_boat.pngbin0 -> 6562 bytes
-rw-r--r--prefab/textures/prefab_concrete_door.pngbin0 -> 3526 bytes
-rw-r--r--prefab/textures/prefab_concrete_door_bottom.pngbin0 -> 6719 bytes
-rw-r--r--prefab/textures/prefab_concrete_door_top.pngbin0 -> 5645 bytes
-rw-r--r--prefab/textures/prefab_concrete_grass.pngbin0 -> 5809 bytes
-rw-r--r--prefab/textures/prefab_concrete_grey.pngbin0 -> 70 bytes
-rw-r--r--prefab/textures/prefab_concrete_ladder.pngbin0 -> 2005 bytes
-rw-r--r--prefab/textures/prefab_concrete_wall.pngbin0 -> 6867 bytes
-rw-r--r--prefab/textures/prefab_concrete_window.pngbin0 -> 5257 bytes
-rw-r--r--prefab/textures/prefab_electric_fence.pngbin0 -> 109 bytes
-rw-r--r--prefab/textures/prefab_electric_fence_corner_side1.pngbin0 -> 1196 bytes
-rw-r--r--prefab/textures/prefab_electric_fence_corner_side2.pngbin0 -> 1191 bytes
-rw-r--r--prefab/textures/prefab_electric_fence_corner_top.pngbin0 -> 870 bytes
-rw-r--r--prefab/textures/prefab_electric_fence_end1.pngbin0 -> 4355 bytes
-rw-r--r--prefab/textures/prefab_electric_fence_end2.pngbin0 -> 5059 bytes
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
new file mode 100644
index 0000000..5af30c2
--- /dev/null
+++ b/prefab/textures/prefab_boat_inventory.png
Binary files differ
diff --git a/prefab/textures/prefab_concrete.png b/prefab/textures/prefab_concrete.png
new file mode 100644
index 0000000..0f711fa
--- /dev/null
+++ b/prefab/textures/prefab_concrete.png
Binary files differ
diff --git a/prefab/textures/prefab_concrete_boat.png b/prefab/textures/prefab_concrete_boat.png
new file mode 100644
index 0000000..f9028ed
--- /dev/null
+++ b/prefab/textures/prefab_concrete_boat.png
Binary files differ
diff --git a/prefab/textures/prefab_concrete_door.png b/prefab/textures/prefab_concrete_door.png
new file mode 100644
index 0000000..cbf9a85
--- /dev/null
+++ b/prefab/textures/prefab_concrete_door.png
Binary files differ
diff --git a/prefab/textures/prefab_concrete_door_bottom.png b/prefab/textures/prefab_concrete_door_bottom.png
new file mode 100644
index 0000000..350e4a7
--- /dev/null
+++ b/prefab/textures/prefab_concrete_door_bottom.png
Binary files differ
diff --git a/prefab/textures/prefab_concrete_door_top.png b/prefab/textures/prefab_concrete_door_top.png
new file mode 100644
index 0000000..a90fe02
--- /dev/null
+++ b/prefab/textures/prefab_concrete_door_top.png
Binary files differ
diff --git a/prefab/textures/prefab_concrete_grass.png b/prefab/textures/prefab_concrete_grass.png
new file mode 100644
index 0000000..0477cfe
--- /dev/null
+++ b/prefab/textures/prefab_concrete_grass.png
Binary files differ
diff --git a/prefab/textures/prefab_concrete_grey.png b/prefab/textures/prefab_concrete_grey.png
new file mode 100644
index 0000000..885784b
--- /dev/null
+++ b/prefab/textures/prefab_concrete_grey.png
Binary files differ
diff --git a/prefab/textures/prefab_concrete_ladder.png b/prefab/textures/prefab_concrete_ladder.png
new file mode 100644
index 0000000..19d82ee
--- /dev/null
+++ b/prefab/textures/prefab_concrete_ladder.png
Binary files differ
diff --git a/prefab/textures/prefab_concrete_wall.png b/prefab/textures/prefab_concrete_wall.png
new file mode 100644
index 0000000..1e1112c
--- /dev/null
+++ b/prefab/textures/prefab_concrete_wall.png
Binary files differ
diff --git a/prefab/textures/prefab_concrete_window.png b/prefab/textures/prefab_concrete_window.png
new file mode 100644
index 0000000..2e90baa
--- /dev/null
+++ b/prefab/textures/prefab_concrete_window.png
Binary files differ
diff --git a/prefab/textures/prefab_electric_fence.png b/prefab/textures/prefab_electric_fence.png
new file mode 100644
index 0000000..babd429
--- /dev/null
+++ b/prefab/textures/prefab_electric_fence.png
Binary files differ
diff --git a/prefab/textures/prefab_electric_fence_corner_side1.png b/prefab/textures/prefab_electric_fence_corner_side1.png
new file mode 100644
index 0000000..637ab1f
--- /dev/null
+++ b/prefab/textures/prefab_electric_fence_corner_side1.png
Binary files differ
diff --git a/prefab/textures/prefab_electric_fence_corner_side2.png b/prefab/textures/prefab_electric_fence_corner_side2.png
new file mode 100644
index 0000000..3daaab3
--- /dev/null
+++ b/prefab/textures/prefab_electric_fence_corner_side2.png
Binary files differ
diff --git a/prefab/textures/prefab_electric_fence_corner_top.png b/prefab/textures/prefab_electric_fence_corner_top.png
new file mode 100644
index 0000000..0c1fdc6
--- /dev/null
+++ b/prefab/textures/prefab_electric_fence_corner_top.png
Binary files differ
diff --git a/prefab/textures/prefab_electric_fence_end1.png b/prefab/textures/prefab_electric_fence_end1.png
new file mode 100644
index 0000000..91f874d
--- /dev/null
+++ b/prefab/textures/prefab_electric_fence_end1.png
Binary files differ
diff --git a/prefab/textures/prefab_electric_fence_end2.png b/prefab/textures/prefab_electric_fence_end2.png
new file mode 100644
index 0000000..5810b1c
--- /dev/null
+++ b/prefab/textures/prefab_electric_fence_end2.png
Binary files differ