commit fb8ddee01dd2bef7399e0b4d0b21521b977f1753 Author: HybridDog Date: Wed May 28 20:59:13 2014 +0200 init diff --git a/game.conf b/game.conf new file mode 100644 index 0000000..7d51bf2 --- /dev/null +++ b/game.conf @@ -0,0 +1 @@ +name = zegaton_game diff --git a/mods/3dforniture/crafting.lua b/mods/3dforniture/crafting.lua new file mode 100644 index 0000000..9d97d0f --- /dev/null +++ b/mods/3dforniture/crafting.lua @@ -0,0 +1,179 @@ +--[[ + 3D Forniture + + Copyright 2012 Tonyka + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + MA 02110-1301, USA. + + Contributors: + + InfinityProject + + suggested creating bathroom kit. + + cosarara97 + + code. + +]]-- + +-- Deco Home + + --Table + minetest.register_craft( { + output = '3dforniture:table', '3dforniture:chair 2', + recipe = { + { 'default:wood','default:wood', 'default:wood' }, + { 'default:stick', '', 'default:stick' }, + }, + }) + + minetest.register_craft({ + type = 'fuel', + recipe = '3dforniture:table', + burntime = 30, + }) + + --Chair + minetest.register_craft( { + output = '3dforniture:chair 2', + recipe = { + { 'default:stick',''}, + { 'default:wood','default:wood' }, + { 'default:stick','default:stick' }, + }, + }) + + minetest.register_craft({ + type = 'fuel', + recipe = '3dforniture:chair', + burntime = 15, + }) + + --Armchair + minetest.register_craft( { + output = '3dforniture:armchair 2', + recipe = { + { 'default:wood',''}, + { 'default:wood','default:wood' }, + { 'default:wood','default:wood' }, + }, + }) + + minetest.register_craft({ + type = 'fuel', + recipe = '3dforniture:armchair', + burntime = 30, + }) + + --Table Lamp + minetest.register_craft( { + output = '3dforniture:table_lamp_off', + recipe = { + {'default:paper','default:torch' ,'default:paper'}, + {'','default:stick',''}, + {'','stairs:slab_wood',''}, + }, + }) + + minetest.register_craft({ + type = 'fuel', + recipe = '3dforniture:table_lamp_off', + burntime = 10, + }) + + -- Bathroom Kit + + --Toilet + minetest.register_craft( { + output = '3dforniture:toilet', + recipe = { + {'','','bucket:bucket_water'}, + { 'default:cobble','default:cobble', 'default:cobble' }, + { '', 'bucket:bucket_empty', '' }, + }, + }) + + --Sink + minetest.register_craft( { + output = '3dforniture:sink', + recipe = { + { 'default:cobble','bucket:bucket_empty', 'default:cobble' }, + }, + }) + + --Taps + minetest.register_craft( { + output = '3dforniture:taps', + recipe = { + { 'default:steel_ingot','bucket:bucket_water', 'default:steel_ingot' }, + }, + }) + + --Shower Tray + minetest.register_craft( { + output = '3dforniture:shower_tray', + recipe = { + { 'default:cobble','bucket:bucket_water', 'default:cobble' }, + }, + }) + + --Shower Head + minetest.register_craft( { + output = '3dforniture:shower_head', + recipe = { + {'default:steel_ingot', 'bucket:bucket_water'}, + }, + }) + +-- Medieval Forniture + + --Bars + minetest.register_craft( { + output = '3dforniture:bars 10', + recipe = { + { 'default:steel_ingot','default:steel_ingot','default:steel_ingot' }, + { 'default:steel_ingot','default:steel_ingot','default:steel_ingot' }, + }, + }) + + -- L Binding Bars + minetest.register_craft( { + output = '3dforniture:L_binding_bars 4', + recipe = { + { '3dforniture:bars','' }, + { '3dforniture:bars','3dforniture:bars' }, + }, + }) + + --Chains + minetest.register_craft( { + output = '3dforniture:chains 4', + recipe = { + {'','default:steel_ingot',''}, + { 'default:steel_ingot','', 'default:steel_ingot' }, + { '', 'default:steel_ingot', '' }, + }, + }) + + --Torch Wall + minetest.register_craft( { + output = '3dforniture:torch_wall 10', + recipe = { + { 'default:coal_lump' }, + { 'default:steel_ingot' }, + }, + }) diff --git a/mods/3dforniture/depends.txt b/mods/3dforniture/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/3dforniture/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/3dforniture/init.lua b/mods/3dforniture/init.lua new file mode 100644 index 0000000..29cd9c9 --- /dev/null +++ b/mods/3dforniture/init.lua @@ -0,0 +1,92 @@ +--[[ + 3D Forniture + + Copyright 2012 Tonyka + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + MA 02110-1301, USA. + + Contributors: + + + Lesliev + + code + information and assistance in various aspects + + InfinityProject + + suggested creating bathroom kit. + + cosarara97 + + code. + +]]-- + +dofile(minetest.get_modpath("3dforniture").."/crafting.lua") +dofile(minetest.get_modpath("3dforniture").."/nodes.lua") + +--alias +minetest.register_alias('table', '3dforniture:table') +minetest.register_alias('chair', '3dforniture:chair') +minetest.register_alias('bars', '3dforniture:bars') +minetest.register_alias('binding_bars', '3dforniture:L_binding_bars') +minetest.register_alias('chains', '3dforniture:chains') +minetest.register_alias('torch_wall', '3dforniture:torch_wall') +minetest.register_alias('toilet', '3dforniture:toilet') +minetest.register_alias('sink', '3dforniture:sink') +minetest.register_alias('taps', '3dforniture:taps') +minetest.register_alias('shower_tray', '3dforniture:shower_tray') +minetest.register_alias('shower_head', '3dforniture:shower_head') +minetest.register_alias('table_lamp', '3dforniture:table_lamp_off') +minetest.register_alias('armchair', '3dforniture:armchair') + +--function + +local on_lamp_puncher = function (pos, node, puncher) + if node.name == "3dforniture:table_lamp_off" then + minetest.env:add_node(pos, {name="3dforniture:table_lamp_low"}) + nodeupdate(pos) + elseif node.name == "3dforniture:table_lamp_low" then + minetest.env:add_node(pos, {name="3dforniture:table_lamp_med"}) + nodeupdate(pos) + elseif node.name == "3dforniture:table_lamp_med" then + minetest.env:add_node(pos, {name="3dforniture:table_lamp_hi"}) + nodeupdate(pos) + elseif node.name == "3dforniture:table_lamp_hi" then + minetest.env:add_node(pos, {name="3dforniture:table_lamp_max"}) + nodeupdate(pos) + elseif node.name == "3dforniture:table_lamp_max" then + minetest.env:add_node(pos, {name="3dforniture:table_lamp_off"}) + nodeupdate(pos) + end +end + + +local on_toilet_puncher = function (pos, node, puncher) + if node.name == '3dforniture:toilet' then + local dir = node["param2"] + minetest.env:add_node(pos, {name="3dforniture:toilet_open", paramtype2='none', param2=dir}) + nodeupdate(pos) + elseif node.name == '3dforniture:toilet_open' then + local dir = node["param2"] + minetest.env:add_node(pos, {name="3dforniture:toilet", paramtype2='none', param2=dir}) + nodeupdate(pos) + end +end + +minetest.register_on_punchnode(on_lamp_puncher) +minetest.register_on_punchnode(on_toilet_puncher) diff --git a/mods/3dforniture/nodes.001 b/mods/3dforniture/nodes.001 new file mode 100644 index 0000000..927d3e7 --- /dev/null +++ b/mods/3dforniture/nodes.001 @@ -0,0 +1,825 @@ +--[[ + 3D Forniture + + Copyright 2012 Tonyka + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + MA 02110-1301, USA. + + Contributors: + + InfinityProject + + suggested creating bathroom kit. + + cosarara97 + + code. + +]]-- + +-- replacement + + --Papyrus + minetest.register_node(":default:papyrus", + {description = "Papyrus", + drawtype = "nodebox", + tiles ={ + "forniture_papyrus.png", + "forniture_papyrus.png", + "forniture_papyrus_s1.png", + "forniture_papyrus_s1.png", + "forniture_papyrus_s2.png", + "forniture_papyrus_s2.png", + }, + inventory_image = "default_papyrus.png", + wield_image ="default_papyrus.png", + paramtype = "light", + is_ground_content = true, + walkable = false, + node_box = { + type = "fixed", + fixed = { + --papyrus 1 + {-0.03-0.1,-0.5,-0.03-0.1, 0.03-0.1,0.5,0.03-0.1}, + {-0.06-0.1,-0.02-0.1,-0.06-0.1, 0.06-0.1,0.02-0.1,0.06-0.1}, + --papyrus 2 + {-0.03-0.4,-0.5,-0.03-0.3, 0.03-0.4,0.5,0.03-0.3}, + {-0.06-0.4,-0.02-0.2,-0.06-0.3, 0.06-0.4,0.02-0.2,0.06-0.3}, + --papyrus 3 + {-0.03+0.4,-0.5,-0.03-0.3,0.03+0.4,0.5,0.03-0.3}, + {-0.06+0.4,-0.02+0.2,-0.06-0.3, 0.06+0.4,0.02+0.2,0.06-0.3}, + --papyrus 4 + {-0.03-0.4,-0.5,-0.03+0.4, 0.03-0.4,0.5,0.03+0.4}, + {-0.06-0.4,0.02+0.4,-0.06+0.4, 0.06-0.4,0.02+0.4,0.06+0.4}, + --papyrus 5 + {-0.03-0.2,-0.5,-0.03+0.2, 0.03-0.2,0.5,0.03+0.2}, + {-0.06-0.2,0.02-0.4,-0.06+0.2, 0.06-0.2,0.02-0.4,0.06+0.2}, + --papyrus 6 + {-0.03+0.1,-0.5,-0.03+0.2, 0.03+0.1,0.5,0.03+0.2}, + {-0.06+0.1,0.02+0.3,-0.06+0.2, 0.06+0.1,0.02+0.3,0.06+0.2}, + }, + }, + groups = {snappy = 3,flammable = 2}, + sounds = default.node_sound_leaves_defaults(), + }) + + --Tree + minetest.register_node(":default:tree", + {description = "Tree", + paramtype = "light", + tiles = {"default_tree_top.png", "default_tree_top.png", "default_tree.png"}, + is_ground_content = true, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-0.35,-0.5,-0.4,0.35,0.5,0.4}, + {-0.4,-0.5,-0.35, 0.4,0.5,0.35}, + {-0.25,-0.5,-0.45,0.25,0.5,0.45}, + {-0.45,-0.5,-0.25, 0.45,0.5,0.25}, + {-0.15,-0.5,-0.5,0.15,0.5,0.5}, + {-0.5,-0.5,-0.15, 0.5,0.5,0.15}, + }, + }, + groups = { + tree = 1, + snappy = 1, + choppy = 2, + oddly_breakable_by_hand = 1, + flammable = 2 + }, + sounds = default.node_sound_wood_defaults(), + }) + + --nodes + + -- Deco Home + + --Table + minetest.register_node("3dforniture:table", + {description = 'Table', + tiles = { + "forniture_wood.png", + "forniture_wood.png", + "forniture_wood_s1.png", + "forniture_wood_s1.png", + "forniture_wood_s2.png", + "forniture_wood_s2.png", + }, + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + {-0.4,-0.5,-0.4, -0.3,0.4,-0.3}, + {0.3,-0.5,-0.4, 0.4,0.4,-0.3}, + {-0.4,-0.5,0.3, -0.3,0.4,0.4}, + {0.3,-0.5,0.3, 0.4,0.4,0.4}, + {-0.5,0.4,-0.5, 0.5,0.5,0.5}, + {-0.4,-0.2,-0.3, -0.3,-0.1,0.3}, + {0.3,-0.2,-0.4, 0.4,-0.1,0.3}, + {-0.3,-0.2,-0.4, 0.4,-0.1,-0.3}, + {-0.3,-0.2,0.3, 0.3,-0.1,0.4}, + }, + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2} + }) + + --Chair + minetest.register_node("3dforniture:chair", + { description = 'Chair', + tiles = { + "forniture_wood.png", + "forniture_wood.png", + "forniture_wood_s1.png", + "forniture_wood_s1.png", + "forniture_wood_s2.png", + "forniture_wood_s2.png", + }, + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + {-0.3,-0.5,0.2, -0.2,0.5,0.3}, + {0.2,-0.5,0.2, 0.3,0.5,0.3}, + {-0.3,-0.5,-0.3, -0.2,-0.1,-0.2}, + {0.2,-0.5,-0.3, 0.3,-0.1,-0.2}, + {-0.3,-0.1,-0.3, 0.3,0,0.2}, + {-0.2,0.1,0.25, 0.2,0.4,0.26} + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3}, + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2} + }) + + --Armchair + minetest.register_node("3dforniture:armchair", + { description = 'Armchair', + tiles = { + "forniture_armchair_top.png", + "forniture_armchair_top.png", + "forniture_armchair_lat1.png", + "forniture_armchair_lat1.png", + "forniture_armchair_lat2.png", + "forniture_armchair_lat2.png", + }, + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + --lat 1 + {-0.5,-0.5,-0.45, -0.3,0.05,0.3}, + {-0.45,-0.5,-0.5, -0.35,0.05,-0.45}, + {-0.45,0.05,-0.45, -0.35,0.1,0.15}, + --lat 2 + {0.3,-0.5,-0.45, 0.5,0.05,0.3},{0.35,-0.5,-0.5,0.45,0.05,-0.45},{0.35,0.05,-0.45, 0.45,0.1,0.15}, + --respaldo + {-0.5,-0.5,0.3, 0.5,0.45,0.5},{-0.45,0.45,0.35,0.45,0.5,0.45}, + --base + {-0.3,-0.45,-0.35, 0.3,-0.1,0.3},{-0.3,-0.45,-0.4, 0.3,-0.15,-0.35}, + + --oreja 1 + {-0.5,0.05,0.15, -0.3,0.45, 0.3},{-0.45,0.1,0.1, -0.35,0.45,0.15},{-0.45,0.45,0.15,-0.35,0.5,0.35}, + --oreja 2 + {0.3,0.05,0.15, 0.5,0.45,0.3},{0.35,0.1,0.1, 0.45,0.45,0.15},{0.35,0.45,0.15,0.45,0.5,0.35}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5} + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2} + }) + + --Table Lamp + minetest.register_node("3dforniture:table_lamp_off", + { description = 'Table Lamp', + drawtype = "nodebox", + tiles = { + "forniture_table_lamp_s.png", + "forniture_table_lamp_s.png", + "forniture_table_lamp_l.png", + }, + paramtype = 'light', + paramtype2 == 'facedir', + node_box = { + type = "fixed", + fixed = { + + --Lamp Base + {-0.15,-0.5,-0.15, 0.15,-0.45,0.15}, + {-0.05,-0.45,-0.05, 0.05,-0.4,0.05}, + {-0.025,-0.4,-0.025, 0.025,-0.1,0.025}, + {-0.0125,-0.125,-0.2, 0.0125,-0.1,0.2}, + {-0.2,-0.125,-0.0125, 0.2,-0.1,0.0125}, + + --Lamp Shade + {-0.2,-0.1,-0.2, -0.175,0.3,0.2}, + {0.175,-0.1,-0.2, 0.2,0.3,0.2}, + {-0.175,-0.1,-0.2, 0.175,0.3,-0.175}, + {-0.175,-0.1,0.175, 0.175,0.3,0.2}, + }, + }, + sunlight_propagates = true, + walkable = false, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5,0.5, 0.5}, + }, + groups = {cracky=2,oddly_breakable_by_hand=1,}, + drop = "3dforniture:table_lamp_off", + }) + + minetest.register_node("3dforniture:table_lamp_low", + { description = 'Table Lamp', + drawtype = "nodebox", + tiles = { + "forniture_table_lamp_s.png", + "forniture_table_lamp_s.png", + "forniture_table_lamp_l.png", + }, + paramtype = 'light', + paramtype2 == 'facedir', + node_box = { + type = "fixed", + fixed = { + + --Lamp Base + {-0.15,-0.5,-0.15, 0.15,-0.45,0.15}, + {-0.05,-0.45,-0.05, 0.05,-0.4,0.05}, + {-0.025,-0.4,-0.025, 0.025,-0.1,0.025}, + {-0.0125,-0.125,-0.2, 0.0125,-0.1,0.2}, + {-0.2,-0.125,-0.0125, 0.2,-0.1,0.0125}, + + --Lamp Shade + {-0.2,-0.1,-0.2, -0.175,0.3,0.2}, + {0.175,-0.1,-0.2, 0.2,0.3,0.2}, + {-0.175,-0.1,-0.2, 0.175,0.3,-0.175}, + {-0.175,-0.1,0.175, 0.175,0.3,0.2}, + }, + }, + sunlight_propagates = true, + walkable = false, + light_source = 4, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5,0.5, 0.5}, + }, + groups = {cracky=2,oddly_breakable_by_hand=1,}, + drop = "3dforniture:table_lamp_off", + }) + + minetest.register_node("3dforniture:table_lamp_med", + { description = 'Table Lamp', + drawtype = "nodebox", + tiles = { + "forniture_table_lamp_s.png", + "forniture_table_lamp_s.png", + "forniture_table_lamp_l.png", + }, + paramtype = 'light', + paramtype2 == 'facedir', + node_box = { + type = "fixed", + fixed = { + + --Lamp Base + {-0.15,-0.5,-0.15, 0.15,-0.45,0.15}, + {-0.05,-0.45,-0.05, 0.05,-0.4,0.05}, + {-0.025,-0.4,-0.025, 0.025,-0.1,0.025}, + {-0.0125,-0.125,-0.2, 0.0125,-0.1,0.2}, + {-0.2,-0.125,-0.0125, 0.2,-0.1,0.0125}, + + --Lamp Shade + {-0.2,-0.1,-0.2, -0.175,0.3,0.2}, + {0.175,-0.1,-0.2, 0.2,0.3,0.2}, + {-0.175,-0.1,-0.2, 0.175,0.3,-0.175}, + {-0.175,-0.1,0.175, 0.175,0.3,0.2}, + }, + }, + sunlight_propagates = true, + walkable = false, + light_source = 8, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5,0.5, 0.5}, + }, + groups = {cracky=2,oddly_breakable_by_hand=1,}, + drop = "3dforniture:table_lamp_off", + }) + + minetest.register_node("3dforniture:table_lamp_hi", + { description = 'Table Lamp', + drawtype = "nodebox", + tiles = { + "forniture_table_lamp_s.png", + "forniture_table_lamp_s.png", + "forniture_table_lamp_l.png", + }, + paramtype = 'light', + paramtype2 == 'facedir', + node_box = { + type = "fixed", + fixed = { + + --Lamp Base + {-0.15,-0.5,-0.15, 0.15,-0.45,0.15}, + {-0.05,-0.45,-0.05, 0.05,-0.4,0.05}, + {-0.025,-0.4,-0.025, 0.025,-0.1,0.025}, + {-0.0125,-0.125,-0.2, 0.0125,-0.1,0.2}, + {-0.2,-0.125,-0.0125, 0.2,-0.1,0.0125}, + + --Lamp Shade + {-0.2,-0.1,-0.2, -0.175,0.3,0.2}, + {0.175,-0.1,-0.2, 0.2,0.3,0.2}, + {-0.175,-0.1,-0.2, 0.175,0.3,-0.175}, + {-0.175,-0.1,0.175, 0.175,0.3,0.2}, + }, + }, + sunlight_propagates = true, + walkable = false, + light_source = 12, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5,0.5, 0.5}, + }, + groups = {cracky=2}, + drop = "3dforniture:table_lamp_off", + }) + + minetest.register_node("3dforniture:table_lamp_max", + { description = 'Table Lamp', + drawtype = "nodebox", + tiles = { + "forniture_table_lamp_s.png", + "forniture_table_lamp_s.png", + "forniture_table_lamp_l.png", + }, + paramtype = 'light', + paramtype2 == 'facedir', + node_box = { + type = "fixed", + fixed = { + + --Lamp Base + {-0.15,-0.5,-0.15, 0.15,-0.45,0.15}, + {-0.05,-0.45,-0.05, 0.05,-0.4,0.05}, + {-0.025,-0.4,-0.025, 0.025,-0.1,0.025}, + {-0.0125,-0.125,-0.2, 0.0125,-0.1,0.2}, + {-0.2,-0.125,-0.0125, 0.2,-0.1,0.0125}, + + --Lamp Shade + {-0.2,-0.1,-0.2, -0.175,0.3,0.2}, + {0.175,-0.1,-0.2, 0.2,0.3,0.2}, + {-0.175,-0.1,-0.2, 0.175,0.3,-0.175}, + {-0.175,-0.1,0.175, 0.175,0.3,0.2}, + }, + }, + sunlight_propagates = true, + walkable = false, + light_source = 16, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5,0.5, 0.5}, + }, + groups = {cracky=2,oddly_breakable_by_hand=1,}, + drop = "3dforniture:table_lamp_off", + }) + + -- Bathroom Kit + + --Toilet + minetest.register_node("3dforniture:toilet", + { description = 'Toilet', + tiles = { + "forniture_marble.png", "forniture_marble.png", + "forniture_marble_s1.png", "forniture_marble_s1.png", + "forniture_marble_s2.png", "forniture_marble_s2.png", + }, + drawtype = "nodebox", + sunlight_propagates = false, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + {-0.2,-0.5,-0.2, 0.2,-0.45,0.5}, + {-0.1,-0.45,-0.1, 0.1,0,0.5}, + {-0.3,-0.2,-0.3, 0.3,0,0.35}, + {-0.25,0,-0.25, 0.25,0.05,0.25}, + {-0.3,0,0.3, 0.3,0.4,0.5}, + {-0.05,0.4,0.35, 0.05,0.45,0.45}, + }, + }, + drop ="3dforniture:toilet", + groups = {cracky=3,} + }) + + minetest.register_node("3dforniture:toilet_open", + { description = 'Toilet', + tiles = { + "forniture_marble_top_toilet.png", "forniture_marble.png", + "forniture_marble_sb1.png", "forniture_marble_sb1.png", + "forniture_marble_sb2.png", "forniture_marble_sb2.png", + }, + drawtype = "nodebox", + sunlight_propagates = false, + paramtype = 'light', + paramtype2 = 'facedir', + node_box = { + type = "fixed", + fixed = { + {-0.2,-0.5,-0.2, 0.2,-0.45,0.5}, + {-0.1,-0.45,-0.1, 0.1,-0.2,0.5}, + {-0.1,-0.2,0.3, 0.1,0,0.5}, + {-0.3,-0.2,0.1, 0.3,0,0.35}, + {-0.3,-0.2,-0.3, -0.1,-0.15,0.1}, + {-0.1,-0.2,-0.3, 0.1,-0.15,-0.1}, + {0.1,-0.2,-0.3, 0.3,-0.15,0.1}, + {-0.3,-0.15,-0.3, -0.2,0,0.1}, + {-0.2,-0.15,-0.3, 0.2,0,-0.2}, + {0.2,-0.15,-0.3, 0.3,0,0.1}, + {-0.25,0,0.2, 0.25,0.5,0.25}, + {-0.3,0,0.3, 0.3,0.4,0.5}, + }, + }, + drop = "3dforniture:toilet", + groups = {cracky = 3,}, + sounds = {dig = "3dforniture_dig_toilet", gain=0.5}, + }) + + --Sink + minetest.register_node("3dforniture:sink", + {description = 'Sink', + tiles = { + "forniture_marble_top_sink.png", "forniture_marble.png", + "forniture_marble_sb1.png", "forniture_marble_sb1.png", + "forniture_marble_sb2.png", "forniture_marble_sb2.png", + }, + inventory_image = "3dforniture_inv_sink.png", + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = 'facedir', + node_box = { + type = "fixed", + fixed = { + {-0.15,0.35,0.2,0.15,0.4,0.5}, + {-0.25,0.4,0.4, 0.25,0.45,0.5}, + {-0.25,0.4,0.15, -0.15,0.45,0.4}, + {0.15,0.4,0.15, 0.25,0.45,0.4}, + {-0.15,0.4,0.15, 0.15,0.45,0.2}, + {-0.3,0.45,0.4, 0.3,0.5,0.5}, + {-0.3,0.45,0.1, -0.25,0.5,0.4}, + {0.25,0.45,0.1, 0.3,0.5,0.4}, + {-0.25,0.45,0.1, 0.25,0.5,0.15}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.3,0.35,0.1, 0.3,0.5,0.5}, + }, + groups = {cracky=2,} + }) + + --Taps + minetest.register_node("3dforniture:taps", + { description = 'Taps', + tiles = { + "forniture_metal.png", "forniture_metal.png", + "forniture_metal_s1.png", "forniture_metal_s1.png", + "forniture_metal_s2.png", "forniture_metal_s2.png", + }, + inventory_image = "3dforniture_inv_taps.png", + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = 'facedir', + node_box = { + type = "fixed", + fixed = { + --Base + {-0.25,-0.45,0.49, 0.25,-0.3,0.5}, + {-0.05,-0.4,0.25, 0.05,-0.35,0.5}, + {-0.05,-0.425,0.25,0.05,-0.4,0.3}, + + --taps 1 + {-0.2,-0.4,0.45, -0.15,-0.35,0.5}, + {-0.2,-0.45,0.4, -0.15,-0.3,0.45}, + {-0.25,-0.4,0.4, -0.1,-0.35,0.45}, + + --taps 2 + {0.15,-0.4,0.45, 0.2,-0.35,0.5}, + {0.15,-0.45,0.4, 0.2,-0.3,0.45}, + {0.1,-0.4,0.4, 0.25,-0.35,0.45}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.25,-0.45,0.25, 0.25,-0.3,0.5}, + }, + groups = {cracky=2,} + }) + + --Shower Tray + minetest.register_node("3dforniture:shower_tray", + { description = 'Shower Tray', + tiles = { + "forniture_marble_base_ducha_top.png", + "forniture_marble_base_ducha_top.png", + "forniture_marble_sb1.png", + "forniture_marble_sb1.png", + "forniture_marble_sb2.png", + "forniture_marble_sb2.png", + }, + inventory_image = "3dforniture_inv_shower_tray.png", + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = 'facedir', + legacy_facedir_simple = true, + node_box = { + type = "fixed", + fixed = { + {-0.5,-0.5,-0.5, 0.5,-0.45,0.5}, + {-0.5,-0.45,-0.5, 0.5,-0.4,-0.45}, + {-0.5,-0.45,0.45, 0.5,-0.4,0.5}, + {-0.5,-0.45,-0.45, -0.45,-0.4,0.45}, + {0.45,-0.45,-0.45, 0.5,-0.4,0.45}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.5,-0.5,-0.5, 0.5,-0.4,0.5}, + }, + groups = {cracky=2,} + }) + + --Shower Head + minetest.register_node("3dforniture:shower_head", + {description = 'Shower Head', + tiles = { + "forniture_metal.png", + "forniture_metal.png", + "forniture_metal_s1.png", + "forniture_metal_s1.png", + "forniture_metal_s2.png", + "forniture_metal_s2.png", + }, + inventory_image = "3dforniture_inv_shower_head.png", + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = 'facedir', + node_box = { + type = "fixed", + fixed = { + {-0.1,-0.5,0.1, 0.1,-0.4,0.3}, + {-0.05,-0.4,0.15, 0.05,-0.3,0.25}, + {-0.05,-0.35,0.25,0.05,-0.3,0.5}, + {-0.1,-0.4,0.49, 0.1,-0.25,0.5}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.1,-0.5,0.1, 0.1,-0.25,0.5}, + }, + groups = {cracky=2,} + }) + + -- Medieval Forniture + + --Bars + minetest.register_node("3dforniture:bars", + { description = 'Bars', + tiles = { + "forniture_black_metal.png", + "forniture_black_metal.png", + "forniture_black_metal_s1.png", + "forniture_black_metal_s1.png", + "forniture_black_metal_s2.png", + "forniture_black_metal_s2.png", + }, + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + {-0.5,-0.5,-0.1, -0.4,0.5,0.1}, + {-0.1,-0.5,-0.1, 0.1,0.5,0.1}, + {0.4,-0.5,-0.1, 0.5,0.5,0.1}, + {-0.5,-0.5,-0.05, 0.5,-0.45,0.05}, + {-0.5,0.45,-0.05, 0.5,0.5,0.05} + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.1, 0.5, 0.5, 0.1}, + }, + groups = {cracky=1} + }) + + --L Binding Bars + minetest.register_node("3dforniture:L_binding_bars", + { description ='Binding Bars', + tiles = { + "forniture_black_metal.png", + "forniture_black_metal.png", + "forniture_black_metal_s1.png", + "forniture_black_metal_s1.png", + "forniture_black_metal_s2.png", + "forniture_black_metal_s2.png", + }, + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 ="facedir", + node_box = { + type = "fixed", + fixed = { + {-0.1,-0.5,-0.5,0.1,0.5,-0.4}, + {-0.15,-0.5,-0.15, 0.15,0.5,0.15}, + {0.4,-0.5,-0.1, 0.5,0.5,0.1}, + {0,-0.5,-0.05, 0.5,-0.45,0.05}, + {-0.05,-0.5,-0.5, 0.05,-0.45,0}, + {0,0.45,-0.05, 0.5,0.5,0.05}, + {-0.05,0.45,-0.5, 0.05,0.5,0}, + }, + }, + groups = {cracky=1,} + }) + + --Chains + minetest.register_node("3dforniture:chains", + { description = 'Chains', + tiles = { + "forniture_black_metal.png", + "forniture_black_metal.png", + "forniture_black_metal_s1.png", + "forniture_black_metal_s1.png", + "forniture_black_metal_s2.png", + "forniture_black_metal_s2.png", + }, + inventory_image = "3dforniture_inv_chains.png", + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + --chain a + + --supporting + {-0.45,0.25,0.45, -0.2,0.5,0.5}, + {-0.35,0.4,0.35, -0.3,0.45,0.45}, + {-0.35,0.3,0.35, -0.3,0.35,0.45}, + {-0.35,0.35,0.3, -0.3,0.4,0.35}, + + --link 1 + {-0.4,0.35,0.35, -0.25,0.4,0.4}, + {-0.4,0.15,0.35, -0.25,0.2,0.4}, + {-0.45,0.2,0.35, -0.4,0.35,0.4}, + {-0.25,0.2,0.35, -0.2,0.35,0.4}, + + --link 2 + {-0.35,0.2,0.3, -0.3,0.25,0.45}, + {-0.35,0,0.3, -0.3,0.05,0.45}, + {-0.35,0.05,0.25, -0.3,0.2,0.3}, + {-0.35,0.05,0.45, -0.3,0.2,0.5}, + + --link 3 + {-0.4,0.05,0.35, -0.25,0.1,0.4}, + {-0.4,-0.15,0.35, -0.25,-0.1,0.4}, + {-0.45,-0.1,0.35, -0.4,0.05,0.4}, + {-0.25,-0.1,0.35, -0.2,0.05,0.4}, + + --link 4 + {-0.35,-0.1,0.3, -0.3,-0.05,0.45}, + {-0.35,-0.3,0.3, -0.3,-0.25,0.45}, + {-0.35,-0.25,0.25, -0.3,-0.1,0.3}, + {-0.35,-0.25,0.45, -0.3,-0.1,0.5}, + + --link 5 + {-0.4,-0.25,0.35, -0.25,-0.2,0.4}, + {-0.4,-0.45,0.35, -0.25,-0.4,0.4}, + {-0.45,-0.4,0.35, -0.4,-0.25,0.4}, + {-0.25,-0.4,0.35, -0.2,-0.25,0.4}, + + --chain b + + --supporting + {0.2,0.25,0.45, 0.45,0.5,0.5}, + {0.3,0.4,0.35,0.35,0.45,0.45}, + {0.3,0.3,0.35, 0.35,0.35,0.45}, + {0.3,0.35,0.3, 0.35,0.4,0.35}, + + --link 1 + {0.25,0.35,0.35, 0.4,0.4,0.4}, + {0.25,0.15,0.35, 0.4,0.2,0.4}, + {0.2,0.2,0.35, 0.25,0.35,0.4}, + {0.4,0.2,0.35, 0.45,0.35,0.4}, + + --link 2 + {0.3,0.2,0.3, 0.35,0.25,0.45}, + {0.3,0,0.3, 0.35,0.05,0.45}, + {0.3,0.05,0.25, 0.35,0.2,0.3}, + {0.3,0.05,0.45, 0.35,0.2,0.5}, + + --link 3 + {0.25,0.05,0.35, 0.4,0.1,0.4}, + {0.25,-0.15,0.35, 0.4,-0.1,0.4}, + {0.2,-0.1,0.35, 0.25,0.05,0.4}, + {0.4,-0.1,0.35, 0.45,0.05,0.4}, + + --link 4 + {0.3,-0.1,0.3, 0.35,-0.05,0.45}, + {0.3,-0.3,0.3, 0.35,-0.25,0.45}, + {0.3,-0.25,0.25, 0.35,-0.1,0.3}, + {0.3,-0.25,0.45, 0.35,-0.1,0.5}, + + ---link 5 + {0.25,-0.25,0.35, 0.4,-0.2,0.4}, + {0.25,-0.45,0.35,0.4,-0.4,0.4}, + {0.2,-0.4,0.35, 0.25,-0.25,0.4}, + {0.4,-0.4,0.35, 0.45,-0.25,0.4}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-1/2, -1/2, 1/4, 1/2, 1/2, 1/2}, }, + groups = {cracky=1} + }) + + --Torch Wakll + minetest.register_node("3dforniture:torch_wall", + { description = 'Torch Wall', + drawtype = "nodebox", + tiles = { + "forniture_torch_wall_s.png", + "forniture_torch_wall_i.png", + { name="forniture_torch_wall_anim.png", + animation={ + type="vertical_frames", + aspect_w=40, + aspect_h=40, + length=1.0 + } + } + }, + inventory_image = "3dforniture_inv_torch_wall.png", + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + + --torch + {-0.05,-0.45,0.45, 0.05,-0.35,0.5}, + {-0.05,-0.35,0.4, 0.05,-0.25,0.5}, + {-0.05,-0.25,0.35, 0.05,-0.15,0.45}, + {-0.05,-0.15,0.3, 0.05,-0.05,0.4}, + {-0.05,-0.05,0.25, 0.05,0,0.35}, + + --fire + {-0.1,0,0.2, 0.1,0.05,0.4}, + {-0.15,0.05,0.15, 0.15,0.15,0.45}, + {-0.1,0.15,0.2, 0.1,0.25,0.4}, + {-0.05,0.25,0.25, 0.05,0.35,0.35}, + }, + }, + sunlight_propagates = true, + walkable = false, + light_source = 18, + selection_box = { + type = "fixed", + fixed = {-0.15, -0.45, 0.15, 0.15,0.35, 0.5}, + }, + groups = {cracky=2} + }) diff --git a/mods/3dforniture/nodes.002 b/mods/3dforniture/nodes.002 new file mode 100644 index 0000000..2fbe687 --- /dev/null +++ b/mods/3dforniture/nodes.002 @@ -0,0 +1,798 @@ +--[[ + 3D Forniture + + Copyright 2012 Tonyka + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + MA 02110-1301, USA. + + Contributors: + + InfinityProject + + suggested creating bathroom kit. + + cosarara97 + + code. + +]]-- + +-- replacement + + --Papyrus + minetest.register_node(":default:papyrus", + {description = "Papyrus", + drawtype = "nodebox", + tiles ={ + "forniture_papyrus.png", + "forniture_papyrus.png", + "forniture_papyrus_s1.png", + "forniture_papyrus_s1.png", + "forniture_papyrus_s2.png", + "forniture_papyrus_s2.png", + }, + inventory_image = "default_papyrus.png", + wield_image ="default_papyrus.png", + paramtype = "light", + is_ground_content = true, + walkable = false, + node_box = { + type = "fixed", + fixed = { + --papyrus 1 + {-0.03-0.1,-0.5,-0.03-0.1, 0.03-0.1,0.5,0.03-0.1}, + {-0.06-0.1,-0.02-0.1,-0.06-0.1, 0.06-0.1,0.02-0.1,0.06-0.1}, + --papyrus 2 + {-0.03-0.4,-0.5,-0.03-0.3, 0.03-0.4,0.5,0.03-0.3}, + {-0.06-0.4,-0.02-0.2,-0.06-0.3, 0.06-0.4,0.02-0.2,0.06-0.3}, + --papyrus 3 + {-0.03+0.4,-0.5,-0.03-0.3,0.03+0.4,0.5,0.03-0.3}, + {-0.06+0.4,-0.02+0.2,-0.06-0.3, 0.06+0.4,0.02+0.2,0.06-0.3}, + --papyrus 4 + {-0.03-0.4,-0.5,-0.03+0.4, 0.03-0.4,0.5,0.03+0.4}, + {-0.06-0.4,0.02+0.4,-0.06+0.4, 0.06-0.4,0.02+0.4,0.06+0.4}, + --papyrus 5 + {-0.03-0.2,-0.5,-0.03+0.2, 0.03-0.2,0.5,0.03+0.2}, + {-0.06-0.2,0.02-0.4,-0.06+0.2, 0.06-0.2,0.02-0.4,0.06+0.2}, + --papyrus 6 + {-0.03+0.1,-0.5,-0.03+0.2, 0.03+0.1,0.5,0.03+0.2}, + {-0.06+0.1,0.02+0.3,-0.06+0.2, 0.06+0.1,0.02+0.3,0.06+0.2}, + }, + }, + groups = {snappy = 3,flammable = 2}, + sounds = default.node_sound_leaves_defaults(), + }) + + + --nodes + + -- Deco Home + + --Table + minetest.register_node("3dforniture:table", + {description = 'Table', + tiles = { + "forniture_wood.png", + "forniture_wood.png", + "forniture_wood_s1.png", + "forniture_wood_s1.png", + "forniture_wood_s2.png", + "forniture_wood_s2.png", + }, + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + {-0.4,-0.5,-0.4, -0.3,0.4,-0.3}, + {0.3,-0.5,-0.4, 0.4,0.4,-0.3}, + {-0.4,-0.5,0.3, -0.3,0.4,0.4}, + {0.3,-0.5,0.3, 0.4,0.4,0.4}, + {-0.5,0.4,-0.5, 0.5,0.5,0.5}, + {-0.4,-0.2,-0.3, -0.3,-0.1,0.3}, + {0.3,-0.2,-0.4, 0.4,-0.1,0.3}, + {-0.3,-0.2,-0.4, 0.4,-0.1,-0.3}, + {-0.3,-0.2,0.3, 0.3,-0.1,0.4}, + }, + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2} + }) + + --Chair + minetest.register_node("3dforniture:chair", + { description = 'Chair', + tiles = { + "forniture_wood.png", + "forniture_wood.png", + "forniture_wood_s1.png", + "forniture_wood_s1.png", + "forniture_wood_s2.png", + "forniture_wood_s2.png", + }, + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + {-0.3,-0.5,0.2, -0.2,0.5,0.3}, + {0.2,-0.5,0.2, 0.3,0.5,0.3}, + {-0.3,-0.5,-0.3, -0.2,-0.1,-0.2}, + {0.2,-0.5,-0.3, 0.3,-0.1,-0.2}, + {-0.3,-0.1,-0.3, 0.3,0,0.2}, + {-0.2,0.1,0.25, 0.2,0.4,0.26} + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3}, + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2} + }) + + --Armchair + minetest.register_node("3dforniture:armchair", + { description = 'Armchair', + tiles = { + "forniture_armchair_top.png", + "forniture_armchair_top.png", + "forniture_armchair_lat1.png", + "forniture_armchair_lat1.png", + "forniture_armchair_lat2.png", + "forniture_armchair_lat2.png", + }, + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + --lat 1 + {-0.5,-0.5,-0.45, -0.3,0.05,0.3}, + {-0.45,-0.5,-0.5, -0.35,0.05,-0.45}, + {-0.45,0.05,-0.45, -0.35,0.1,0.15}, + --lat 2 + {0.3,-0.5,-0.45, 0.5,0.05,0.3},{0.35,-0.5,-0.5,0.45,0.05,-0.45},{0.35,0.05,-0.45, 0.45,0.1,0.15}, + --respaldo + {-0.5,-0.5,0.3, 0.5,0.45,0.5},{-0.45,0.45,0.35,0.45,0.5,0.45}, + --base + {-0.3,-0.45,-0.35, 0.3,-0.1,0.3},{-0.3,-0.45,-0.4, 0.3,-0.15,-0.35}, + + --oreja 1 + {-0.5,0.05,0.15, -0.3,0.45, 0.3},{-0.45,0.1,0.1, -0.35,0.45,0.15},{-0.45,0.45,0.15,-0.35,0.5,0.35}, + --oreja 2 + {0.3,0.05,0.15, 0.5,0.45,0.3},{0.35,0.1,0.1, 0.45,0.45,0.15},{0.35,0.45,0.15,0.45,0.5,0.35}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5} + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2} + }) + + --Table Lamp + minetest.register_node("3dforniture:table_lamp_off", + { description = 'Table Lamp', + drawtype = "nodebox", + tiles = { + "forniture_table_lamp_s.png", + "forniture_table_lamp_s.png", + "forniture_table_lamp_l.png", + }, + paramtype = 'light', + paramtype2 == 'facedir', + node_box = { + type = "fixed", + fixed = { + + --Lamp Base + {-0.15,-0.5,-0.15, 0.15,-0.45,0.15}, + {-0.05,-0.45,-0.05, 0.05,-0.4,0.05}, + {-0.025,-0.4,-0.025, 0.025,-0.1,0.025}, + {-0.0125,-0.125,-0.2, 0.0125,-0.1,0.2}, + {-0.2,-0.125,-0.0125, 0.2,-0.1,0.0125}, + + --Lamp Shade + {-0.2,-0.1,-0.2, -0.175,0.3,0.2}, + {0.175,-0.1,-0.2, 0.2,0.3,0.2}, + {-0.175,-0.1,-0.2, 0.175,0.3,-0.175}, + {-0.175,-0.1,0.175, 0.175,0.3,0.2}, + }, + }, + sunlight_propagates = true, + walkable = false, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5,0.5, 0.5}, + }, + groups = {cracky=2,oddly_breakable_by_hand=1,}, + drop = "3dforniture:table_lamp_off", + }) + + minetest.register_node("3dforniture:table_lamp_low", + { description = 'Table Lamp', + drawtype = "nodebox", + tiles = { + "forniture_table_lamp_s.png", + "forniture_table_lamp_s.png", + "forniture_table_lamp_l.png", + }, + paramtype = 'light', + paramtype2 == 'facedir', + node_box = { + type = "fixed", + fixed = { + + --Lamp Base + {-0.15,-0.5,-0.15, 0.15,-0.45,0.15}, + {-0.05,-0.45,-0.05, 0.05,-0.4,0.05}, + {-0.025,-0.4,-0.025, 0.025,-0.1,0.025}, + {-0.0125,-0.125,-0.2, 0.0125,-0.1,0.2}, + {-0.2,-0.125,-0.0125, 0.2,-0.1,0.0125}, + + --Lamp Shade + {-0.2,-0.1,-0.2, -0.175,0.3,0.2}, + {0.175,-0.1,-0.2, 0.2,0.3,0.2}, + {-0.175,-0.1,-0.2, 0.175,0.3,-0.175}, + {-0.175,-0.1,0.175, 0.175,0.3,0.2}, + }, + }, + sunlight_propagates = true, + walkable = false, + light_source = 4, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5,0.5, 0.5}, + }, + groups = {cracky=2,oddly_breakable_by_hand=1,}, + drop = "3dforniture:table_lamp_off", + }) + + minetest.register_node("3dforniture:table_lamp_med", + { description = 'Table Lamp', + drawtype = "nodebox", + tiles = { + "forniture_table_lamp_s.png", + "forniture_table_lamp_s.png", + "forniture_table_lamp_l.png", + }, + paramtype = 'light', + paramtype2 == 'facedir', + node_box = { + type = "fixed", + fixed = { + + --Lamp Base + {-0.15,-0.5,-0.15, 0.15,-0.45,0.15}, + {-0.05,-0.45,-0.05, 0.05,-0.4,0.05}, + {-0.025,-0.4,-0.025, 0.025,-0.1,0.025}, + {-0.0125,-0.125,-0.2, 0.0125,-0.1,0.2}, + {-0.2,-0.125,-0.0125, 0.2,-0.1,0.0125}, + + --Lamp Shade + {-0.2,-0.1,-0.2, -0.175,0.3,0.2}, + {0.175,-0.1,-0.2, 0.2,0.3,0.2}, + {-0.175,-0.1,-0.2, 0.175,0.3,-0.175}, + {-0.175,-0.1,0.175, 0.175,0.3,0.2}, + }, + }, + sunlight_propagates = true, + walkable = false, + light_source = 8, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5,0.5, 0.5}, + }, + groups = {cracky=2,oddly_breakable_by_hand=1,}, + drop = "3dforniture:table_lamp_off", + }) + + minetest.register_node("3dforniture:table_lamp_hi", + { description = 'Table Lamp', + drawtype = "nodebox", + tiles = { + "forniture_table_lamp_s.png", + "forniture_table_lamp_s.png", + "forniture_table_lamp_l.png", + }, + paramtype = 'light', + paramtype2 == 'facedir', + node_box = { + type = "fixed", + fixed = { + + --Lamp Base + {-0.15,-0.5,-0.15, 0.15,-0.45,0.15}, + {-0.05,-0.45,-0.05, 0.05,-0.4,0.05}, + {-0.025,-0.4,-0.025, 0.025,-0.1,0.025}, + {-0.0125,-0.125,-0.2, 0.0125,-0.1,0.2}, + {-0.2,-0.125,-0.0125, 0.2,-0.1,0.0125}, + + --Lamp Shade + {-0.2,-0.1,-0.2, -0.175,0.3,0.2}, + {0.175,-0.1,-0.2, 0.2,0.3,0.2}, + {-0.175,-0.1,-0.2, 0.175,0.3,-0.175}, + {-0.175,-0.1,0.175, 0.175,0.3,0.2}, + }, + }, + sunlight_propagates = true, + walkable = false, + light_source = 12, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5,0.5, 0.5}, + }, + groups = {cracky=2}, + drop = "3dforniture:table_lamp_off", + }) + + minetest.register_node("3dforniture:table_lamp_max", + { description = 'Table Lamp', + drawtype = "nodebox", + tiles = { + "forniture_table_lamp_s.png", + "forniture_table_lamp_s.png", + "forniture_table_lamp_l.png", + }, + paramtype = 'light', + paramtype2 == 'facedir', + node_box = { + type = "fixed", + fixed = { + + --Lamp Base + {-0.15,-0.5,-0.15, 0.15,-0.45,0.15}, + {-0.05,-0.45,-0.05, 0.05,-0.4,0.05}, + {-0.025,-0.4,-0.025, 0.025,-0.1,0.025}, + {-0.0125,-0.125,-0.2, 0.0125,-0.1,0.2}, + {-0.2,-0.125,-0.0125, 0.2,-0.1,0.0125}, + + --Lamp Shade + {-0.2,-0.1,-0.2, -0.175,0.3,0.2}, + {0.175,-0.1,-0.2, 0.2,0.3,0.2}, + {-0.175,-0.1,-0.2, 0.175,0.3,-0.175}, + {-0.175,-0.1,0.175, 0.175,0.3,0.2}, + }, + }, + sunlight_propagates = true, + walkable = false, + light_source = 16, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5,0.5, 0.5}, + }, + groups = {cracky=2,oddly_breakable_by_hand=1,}, + drop = "3dforniture:table_lamp_off", + }) + + -- Bathroom Kit + + --Toilet + minetest.register_node("3dforniture:toilet", + { description = 'Toilet', + tiles = { + "forniture_marble.png", "forniture_marble.png", + "forniture_marble_s1.png", "forniture_marble_s1.png", + "forniture_marble_s2.png", "forniture_marble_s2.png", + }, + drawtype = "nodebox", + sunlight_propagates = false, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + {-0.2,-0.5,-0.2, 0.2,-0.45,0.5}, + {-0.1,-0.45,-0.1, 0.1,0,0.5}, + {-0.3,-0.2,-0.3, 0.3,0,0.35}, + {-0.25,0,-0.25, 0.25,0.05,0.25}, + {-0.3,0,0.3, 0.3,0.4,0.5}, + {-0.05,0.4,0.35, 0.05,0.45,0.45}, + }, + }, + drop ="3dforniture:toilet", + groups = {cracky=3,} + }) + + minetest.register_node("3dforniture:toilet_open", + { description = 'Toilet', + tiles = { + "forniture_marble_top_toilet.png", "forniture_marble.png", + "forniture_marble_sb1.png", "forniture_marble_sb1.png", + "forniture_marble_sb2.png", "forniture_marble_sb2.png", + }, + drawtype = "nodebox", + sunlight_propagates = false, + paramtype = 'light', + paramtype2 = 'facedir', + node_box = { + type = "fixed", + fixed = { + {-0.2,-0.5,-0.2, 0.2,-0.45,0.5}, + {-0.1,-0.45,-0.1, 0.1,-0.2,0.5}, + {-0.1,-0.2,0.3, 0.1,0,0.5}, + {-0.3,-0.2,0.1, 0.3,0,0.35}, + {-0.3,-0.2,-0.3, -0.1,-0.15,0.1}, + {-0.1,-0.2,-0.3, 0.1,-0.15,-0.1}, + {0.1,-0.2,-0.3, 0.3,-0.15,0.1}, + {-0.3,-0.15,-0.3, -0.2,0,0.1}, + {-0.2,-0.15,-0.3, 0.2,0,-0.2}, + {0.2,-0.15,-0.3, 0.3,0,0.1}, + {-0.25,0,0.2, 0.25,0.5,0.25}, + {-0.3,0,0.3, 0.3,0.4,0.5}, + }, + }, + drop = "3dforniture:toilet", + groups = {cracky = 3,}, + sounds = {dig = "3dforniture_dig_toilet", gain=0.5}, + }) + + --Sink + minetest.register_node("3dforniture:sink", + {description = 'Sink', + tiles = { + "forniture_marble_top_sink.png", "forniture_marble.png", + "forniture_marble_sb1.png", "forniture_marble_sb1.png", + "forniture_marble_sb2.png", "forniture_marble_sb2.png", + }, + inventory_image = "3dforniture_inv_sink.png", + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = 'facedir', + node_box = { + type = "fixed", + fixed = { + {-0.15,0.35,0.2,0.15,0.4,0.5}, + {-0.25,0.4,0.4, 0.25,0.45,0.5}, + {-0.25,0.4,0.15, -0.15,0.45,0.4}, + {0.15,0.4,0.15, 0.25,0.45,0.4}, + {-0.15,0.4,0.15, 0.15,0.45,0.2}, + {-0.3,0.45,0.4, 0.3,0.5,0.5}, + {-0.3,0.45,0.1, -0.25,0.5,0.4}, + {0.25,0.45,0.1, 0.3,0.5,0.4}, + {-0.25,0.45,0.1, 0.25,0.5,0.15}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.3,0.35,0.1, 0.3,0.5,0.5}, + }, + groups = {cracky=2,} + }) + + --Taps + minetest.register_node("3dforniture:taps", + { description = 'Taps', + tiles = { + "forniture_metal.png", "forniture_metal.png", + "forniture_metal_s1.png", "forniture_metal_s1.png", + "forniture_metal_s2.png", "forniture_metal_s2.png", + }, + inventory_image = "3dforniture_inv_taps.png", + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = 'facedir', + node_box = { + type = "fixed", + fixed = { + --Base + {-0.25,-0.45,0.49, 0.25,-0.3,0.5}, + {-0.05,-0.4,0.25, 0.05,-0.35,0.5}, + {-0.05,-0.425,0.25,0.05,-0.4,0.3}, + + --taps 1 + {-0.2,-0.4,0.45, -0.15,-0.35,0.5}, + {-0.2,-0.45,0.4, -0.15,-0.3,0.45}, + {-0.25,-0.4,0.4, -0.1,-0.35,0.45}, + + --taps 2 + {0.15,-0.4,0.45, 0.2,-0.35,0.5}, + {0.15,-0.45,0.4, 0.2,-0.3,0.45}, + {0.1,-0.4,0.4, 0.25,-0.35,0.45}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.25,-0.45,0.25, 0.25,-0.3,0.5}, + }, + groups = {cracky=2,} + }) + + --Shower Tray + minetest.register_node("3dforniture:shower_tray", + { description = 'Shower Tray', + tiles = { + "forniture_marble_base_ducha_top.png", + "forniture_marble_base_ducha_top.png", + "forniture_marble_sb1.png", + "forniture_marble_sb1.png", + "forniture_marble_sb2.png", + "forniture_marble_sb2.png", + }, + inventory_image = "3dforniture_inv_shower_tray.png", + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = 'facedir', + legacy_facedir_simple = true, + node_box = { + type = "fixed", + fixed = { + {-0.5,-0.5,-0.5, 0.5,-0.45,0.5}, + {-0.5,-0.45,-0.5, 0.5,-0.4,-0.45}, + {-0.5,-0.45,0.45, 0.5,-0.4,0.5}, + {-0.5,-0.45,-0.45, -0.45,-0.4,0.45}, + {0.45,-0.45,-0.45, 0.5,-0.4,0.45}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.5,-0.5,-0.5, 0.5,-0.4,0.5}, + }, + groups = {cracky=2,} + }) + + --Shower Head + minetest.register_node("3dforniture:shower_head", + {description = 'Shower Head', + tiles = { + "forniture_metal.png", + "forniture_metal.png", + "forniture_metal_s1.png", + "forniture_metal_s1.png", + "forniture_metal_s2.png", + "forniture_metal_s2.png", + }, + inventory_image = "3dforniture_inv_shower_head.png", + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = 'facedir', + node_box = { + type = "fixed", + fixed = { + {-0.1,-0.5,0.1, 0.1,-0.4,0.3}, + {-0.05,-0.4,0.15, 0.05,-0.3,0.25}, + {-0.05,-0.35,0.25,0.05,-0.3,0.5}, + {-0.1,-0.4,0.49, 0.1,-0.25,0.5}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.1,-0.5,0.1, 0.1,-0.25,0.5}, + }, + groups = {cracky=2,} + }) + + -- Medieval Forniture + + --Bars + minetest.register_node("3dforniture:bars", + { description = 'Bars', + tiles = { + "forniture_black_metal.png", + "forniture_black_metal.png", + "forniture_black_metal_s1.png", + "forniture_black_metal_s1.png", + "forniture_black_metal_s2.png", + "forniture_black_metal_s2.png", + }, + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + {-0.5,-0.5,-0.1, -0.4,0.5,0.1}, + {-0.1,-0.5,-0.1, 0.1,0.5,0.1}, + {0.4,-0.5,-0.1, 0.5,0.5,0.1}, + {-0.5,-0.5,-0.05, 0.5,-0.45,0.05}, + {-0.5,0.45,-0.05, 0.5,0.5,0.05} + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.1, 0.5, 0.5, 0.1}, + }, + groups = {cracky=1} + }) + + --L Binding Bars + minetest.register_node("3dforniture:L_binding_bars", + { description ='Binding Bars', + tiles = { + "forniture_black_metal.png", + "forniture_black_metal.png", + "forniture_black_metal_s1.png", + "forniture_black_metal_s1.png", + "forniture_black_metal_s2.png", + "forniture_black_metal_s2.png", + }, + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 ="facedir", + node_box = { + type = "fixed", + fixed = { + {-0.1,-0.5,-0.5,0.1,0.5,-0.4}, + {-0.15,-0.5,-0.15, 0.15,0.5,0.15}, + {0.4,-0.5,-0.1, 0.5,0.5,0.1}, + {0,-0.5,-0.05, 0.5,-0.45,0.05}, + {-0.05,-0.5,-0.5, 0.05,-0.45,0}, + {0,0.45,-0.05, 0.5,0.5,0.05}, + {-0.05,0.45,-0.5, 0.05,0.5,0}, + }, + }, + groups = {cracky=1,} + }) + + --Chains + minetest.register_node("3dforniture:chains", + { description = 'Chains', + tiles = { + "forniture_black_metal.png", + "forniture_black_metal.png", + "forniture_black_metal_s1.png", + "forniture_black_metal_s1.png", + "forniture_black_metal_s2.png", + "forniture_black_metal_s2.png", + }, + inventory_image = "3dforniture_inv_chains.png", + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + --chain a + + --supporting + {-0.45,0.25,0.45, -0.2,0.5,0.5}, + {-0.35,0.4,0.35, -0.3,0.45,0.45}, + {-0.35,0.3,0.35, -0.3,0.35,0.45}, + {-0.35,0.35,0.3, -0.3,0.4,0.35}, + + --link 1 + {-0.4,0.35,0.35, -0.25,0.4,0.4}, + {-0.4,0.15,0.35, -0.25,0.2,0.4}, + {-0.45,0.2,0.35, -0.4,0.35,0.4}, + {-0.25,0.2,0.35, -0.2,0.35,0.4}, + + --link 2 + {-0.35,0.2,0.3, -0.3,0.25,0.45}, + {-0.35,0,0.3, -0.3,0.05,0.45}, + {-0.35,0.05,0.25, -0.3,0.2,0.3}, + {-0.35,0.05,0.45, -0.3,0.2,0.5}, + + --link 3 + {-0.4,0.05,0.35, -0.25,0.1,0.4}, + {-0.4,-0.15,0.35, -0.25,-0.1,0.4}, + {-0.45,-0.1,0.35, -0.4,0.05,0.4}, + {-0.25,-0.1,0.35, -0.2,0.05,0.4}, + + --link 4 + {-0.35,-0.1,0.3, -0.3,-0.05,0.45}, + {-0.35,-0.3,0.3, -0.3,-0.25,0.45}, + {-0.35,-0.25,0.25, -0.3,-0.1,0.3}, + {-0.35,-0.25,0.45, -0.3,-0.1,0.5}, + + --link 5 + {-0.4,-0.25,0.35, -0.25,-0.2,0.4}, + {-0.4,-0.45,0.35, -0.25,-0.4,0.4}, + {-0.45,-0.4,0.35, -0.4,-0.25,0.4}, + {-0.25,-0.4,0.35, -0.2,-0.25,0.4}, + + --chain b + + --supporting + {0.2,0.25,0.45, 0.45,0.5,0.5}, + {0.3,0.4,0.35,0.35,0.45,0.45}, + {0.3,0.3,0.35, 0.35,0.35,0.45}, + {0.3,0.35,0.3, 0.35,0.4,0.35}, + + --link 1 + {0.25,0.35,0.35, 0.4,0.4,0.4}, + {0.25,0.15,0.35, 0.4,0.2,0.4}, + {0.2,0.2,0.35, 0.25,0.35,0.4}, + {0.4,0.2,0.35, 0.45,0.35,0.4}, + + --link 2 + {0.3,0.2,0.3, 0.35,0.25,0.45}, + {0.3,0,0.3, 0.35,0.05,0.45}, + {0.3,0.05,0.25, 0.35,0.2,0.3}, + {0.3,0.05,0.45, 0.35,0.2,0.5}, + + --link 3 + {0.25,0.05,0.35, 0.4,0.1,0.4}, + {0.25,-0.15,0.35, 0.4,-0.1,0.4}, + {0.2,-0.1,0.35, 0.25,0.05,0.4}, + {0.4,-0.1,0.35, 0.45,0.05,0.4}, + + --link 4 + {0.3,-0.1,0.3, 0.35,-0.05,0.45}, + {0.3,-0.3,0.3, 0.35,-0.25,0.45}, + {0.3,-0.25,0.25, 0.35,-0.1,0.3}, + {0.3,-0.25,0.45, 0.35,-0.1,0.5}, + + ---link 5 + {0.25,-0.25,0.35, 0.4,-0.2,0.4}, + {0.25,-0.45,0.35,0.4,-0.4,0.4}, + {0.2,-0.4,0.35, 0.25,-0.25,0.4}, + {0.4,-0.4,0.35, 0.45,-0.25,0.4}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-1/2, -1/2, 1/4, 1/2, 1/2, 1/2}, }, + groups = {cracky=1} + }) + + --Torch Wakll + minetest.register_node("3dforniture:torch_wall", + { description = 'Torch Wall', + drawtype = "nodebox", + tiles = { + "forniture_torch_wall_s.png", + "forniture_torch_wall_i.png", + { name="forniture_torch_wall_anim.png", + animation={ + type="vertical_frames", + aspect_w=40, + aspect_h=40, + length=1.0 + } + } + }, + inventory_image = "3dforniture_inv_torch_wall.png", + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + + --torch + {-0.05,-0.45,0.45, 0.05,-0.35,0.5}, + {-0.05,-0.35,0.4, 0.05,-0.25,0.5}, + {-0.05,-0.25,0.35, 0.05,-0.15,0.45}, + {-0.05,-0.15,0.3, 0.05,-0.05,0.4}, + {-0.05,-0.05,0.25, 0.05,0,0.35}, + + --fire + {-0.1,0,0.2, 0.1,0.05,0.4}, + {-0.15,0.05,0.15, 0.15,0.15,0.45}, + {-0.1,0.15,0.2, 0.1,0.25,0.4}, + {-0.05,0.25,0.25, 0.05,0.35,0.35}, + }, + }, + sunlight_propagates = true, + walkable = false, + light_source = 18, + selection_box = { + type = "fixed", + fixed = {-0.15, -0.45, 0.15, 0.15,0.35, 0.5}, + }, + groups = {cracky=2} + }) diff --git a/mods/3dforniture/nodes.lua b/mods/3dforniture/nodes.lua new file mode 100644 index 0000000..66017f6 --- /dev/null +++ b/mods/3dforniture/nodes.lua @@ -0,0 +1,753 @@ +--[[ + 3D Forniture + + Copyright 2012 Tonyka + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + MA 02110-1301, USA. + + Contributors: + + InfinityProject + + suggested creating bathroom kit. + + cosarara97 + + code. + +]]-- + +-- replacement + + --nodes + + -- Deco Home + + --Table + minetest.register_node("3dforniture:table", + {description = 'Table', + tiles = { + "forniture_wood.png", + "forniture_wood.png", + "forniture_wood_s1.png", + "forniture_wood_s1.png", + "forniture_wood_s2.png", + "forniture_wood_s2.png", + }, + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + {-0.4,-0.5,-0.4, -0.3,0.4,-0.3}, + {0.3,-0.5,-0.4, 0.4,0.4,-0.3}, + {-0.4,-0.5,0.3, -0.3,0.4,0.4}, + {0.3,-0.5,0.3, 0.4,0.4,0.4}, + {-0.5,0.4,-0.5, 0.5,0.5,0.5}, + {-0.4,-0.2,-0.3, -0.3,-0.1,0.3}, + {0.3,-0.2,-0.4, 0.4,-0.1,0.3}, + {-0.3,-0.2,-0.4, 0.4,-0.1,-0.3}, + {-0.3,-0.2,0.3, 0.3,-0.1,0.4}, + }, + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2} + }) + + --Chair + minetest.register_node("3dforniture:chair", + { description = 'Chair', + tiles = { + "forniture_wood.png", + "forniture_wood.png", + "forniture_wood_s1.png", + "forniture_wood_s1.png", + "forniture_wood_s2.png", + "forniture_wood_s2.png", + }, + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + {-0.3,-0.5,0.2, -0.2,0.5,0.3}, + {0.2,-0.5,0.2, 0.3,0.5,0.3}, + {-0.3,-0.5,-0.3, -0.2,-0.1,-0.2}, + {0.2,-0.5,-0.3, 0.3,-0.1,-0.2}, + {-0.3,-0.1,-0.3, 0.3,0,0.2}, + {-0.2,0.1,0.25, 0.2,0.4,0.26} + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3}, + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2} + }) + + --Armchair + minetest.register_node("3dforniture:armchair", + { description = 'Armchair', + tiles = { + "forniture_armchair_top.png", + "forniture_armchair_top.png", + "forniture_armchair_lat1.png", + "forniture_armchair_lat1.png", + "forniture_armchair_lat2.png", + "forniture_armchair_lat2.png", + }, + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + --lat 1 + {-0.5,-0.5,-0.45, -0.3,0.05,0.3}, + {-0.45,-0.5,-0.5, -0.35,0.05,-0.45}, + {-0.45,0.05,-0.45, -0.35,0.1,0.15}, + --lat 2 + {0.3,-0.5,-0.45, 0.5,0.05,0.3},{0.35,-0.5,-0.5,0.45,0.05,-0.45},{0.35,0.05,-0.45, 0.45,0.1,0.15}, + --respaldo + {-0.5,-0.5,0.3, 0.5,0.45,0.5},{-0.45,0.45,0.35,0.45,0.5,0.45}, + --base + {-0.3,-0.45,-0.35, 0.3,-0.1,0.3},{-0.3,-0.45,-0.4, 0.3,-0.15,-0.35}, + + --oreja 1 + {-0.5,0.05,0.15, -0.3,0.45, 0.3},{-0.45,0.1,0.1, -0.35,0.45,0.15},{-0.45,0.45,0.15,-0.35,0.5,0.35}, + --oreja 2 + {0.3,0.05,0.15, 0.5,0.45,0.3},{0.35,0.1,0.1, 0.45,0.45,0.15},{0.35,0.45,0.15,0.45,0.5,0.35}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5} + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2} + }) + + --Table Lamp + minetest.register_node("3dforniture:table_lamp_off", + { description = 'Table Lamp', + drawtype = "nodebox", + tiles = { + "forniture_table_lamp_s.png", + "forniture_table_lamp_s.png", + "forniture_table_lamp_l.png", + }, + paramtype = 'light', + paramtype2 == 'facedir', + node_box = { + type = "fixed", + fixed = { + + --Lamp Base + {-0.15,-0.5,-0.15, 0.15,-0.45,0.15}, + {-0.05,-0.45,-0.05, 0.05,-0.4,0.05}, + {-0.025,-0.4,-0.025, 0.025,-0.1,0.025}, + {-0.0125,-0.125,-0.2, 0.0125,-0.1,0.2}, + {-0.2,-0.125,-0.0125, 0.2,-0.1,0.0125}, + + --Lamp Shade + {-0.2,-0.1,-0.2, -0.175,0.3,0.2}, + {0.175,-0.1,-0.2, 0.2,0.3,0.2}, + {-0.175,-0.1,-0.2, 0.175,0.3,-0.175}, + {-0.175,-0.1,0.175, 0.175,0.3,0.2}, + }, + }, + sunlight_propagates = true, + walkable = false, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5,0.5, 0.5}, + }, + groups = {cracky=2,oddly_breakable_by_hand=1,}, + drop = "3dforniture:table_lamp_off", + }) + + minetest.register_node("3dforniture:table_lamp_low", + { description = 'Table Lamp', + drawtype = "nodebox", + tiles = { + "forniture_table_lamp_s.png", + "forniture_table_lamp_s.png", + "forniture_table_lamp_l.png", + }, + paramtype = 'light', + paramtype2 == 'facedir', + node_box = { + type = "fixed", + fixed = { + + --Lamp Base + {-0.15,-0.5,-0.15, 0.15,-0.45,0.15}, + {-0.05,-0.45,-0.05, 0.05,-0.4,0.05}, + {-0.025,-0.4,-0.025, 0.025,-0.1,0.025}, + {-0.0125,-0.125,-0.2, 0.0125,-0.1,0.2}, + {-0.2,-0.125,-0.0125, 0.2,-0.1,0.0125}, + + --Lamp Shade + {-0.2,-0.1,-0.2, -0.175,0.3,0.2}, + {0.175,-0.1,-0.2, 0.2,0.3,0.2}, + {-0.175,-0.1,-0.2, 0.175,0.3,-0.175}, + {-0.175,-0.1,0.175, 0.175,0.3,0.2}, + }, + }, + sunlight_propagates = true, + walkable = false, + light_source = 4, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5,0.5, 0.5}, + }, + groups = {cracky=2,oddly_breakable_by_hand=1,}, + drop = "3dforniture:table_lamp_off", + }) + + minetest.register_node("3dforniture:table_lamp_med", + { description = 'Table Lamp', + drawtype = "nodebox", + tiles = { + "forniture_table_lamp_s.png", + "forniture_table_lamp_s.png", + "forniture_table_lamp_l.png", + }, + paramtype = 'light', + paramtype2 == 'facedir', + node_box = { + type = "fixed", + fixed = { + + --Lamp Base + {-0.15,-0.5,-0.15, 0.15,-0.45,0.15}, + {-0.05,-0.45,-0.05, 0.05,-0.4,0.05}, + {-0.025,-0.4,-0.025, 0.025,-0.1,0.025}, + {-0.0125,-0.125,-0.2, 0.0125,-0.1,0.2}, + {-0.2,-0.125,-0.0125, 0.2,-0.1,0.0125}, + + --Lamp Shade + {-0.2,-0.1,-0.2, -0.175,0.3,0.2}, + {0.175,-0.1,-0.2, 0.2,0.3,0.2}, + {-0.175,-0.1,-0.2, 0.175,0.3,-0.175}, + {-0.175,-0.1,0.175, 0.175,0.3,0.2}, + }, + }, + sunlight_propagates = true, + walkable = false, + light_source = 8, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5,0.5, 0.5}, + }, + groups = {cracky=2,oddly_breakable_by_hand=1,}, + drop = "3dforniture:table_lamp_off", + }) + + minetest.register_node("3dforniture:table_lamp_hi", + { description = 'Table Lamp', + drawtype = "nodebox", + tiles = { + "forniture_table_lamp_s.png", + "forniture_table_lamp_s.png", + "forniture_table_lamp_l.png", + }, + paramtype = 'light', + paramtype2 == 'facedir', + node_box = { + type = "fixed", + fixed = { + + --Lamp Base + {-0.15,-0.5,-0.15, 0.15,-0.45,0.15}, + {-0.05,-0.45,-0.05, 0.05,-0.4,0.05}, + {-0.025,-0.4,-0.025, 0.025,-0.1,0.025}, + {-0.0125,-0.125,-0.2, 0.0125,-0.1,0.2}, + {-0.2,-0.125,-0.0125, 0.2,-0.1,0.0125}, + + --Lamp Shade + {-0.2,-0.1,-0.2, -0.175,0.3,0.2}, + {0.175,-0.1,-0.2, 0.2,0.3,0.2}, + {-0.175,-0.1,-0.2, 0.175,0.3,-0.175}, + {-0.175,-0.1,0.175, 0.175,0.3,0.2}, + }, + }, + sunlight_propagates = true, + walkable = false, + light_source = 12, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5,0.5, 0.5}, + }, + groups = {cracky=2}, + drop = "3dforniture:table_lamp_off", + }) + + minetest.register_node("3dforniture:table_lamp_max", + { description = 'Table Lamp', + drawtype = "nodebox", + tiles = { + "forniture_table_lamp_s.png", + "forniture_table_lamp_s.png", + "forniture_table_lamp_l.png", + }, + paramtype = 'light', + paramtype2 == 'facedir', + node_box = { + type = "fixed", + fixed = { + + --Lamp Base + {-0.15,-0.5,-0.15, 0.15,-0.45,0.15}, + {-0.05,-0.45,-0.05, 0.05,-0.4,0.05}, + {-0.025,-0.4,-0.025, 0.025,-0.1,0.025}, + {-0.0125,-0.125,-0.2, 0.0125,-0.1,0.2}, + {-0.2,-0.125,-0.0125, 0.2,-0.1,0.0125}, + + --Lamp Shade + {-0.2,-0.1,-0.2, -0.175,0.3,0.2}, + {0.175,-0.1,-0.2, 0.2,0.3,0.2}, + {-0.175,-0.1,-0.2, 0.175,0.3,-0.175}, + {-0.175,-0.1,0.175, 0.175,0.3,0.2}, + }, + }, + sunlight_propagates = true, + walkable = false, + light_source = 16, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5,0.5, 0.5}, + }, + groups = {cracky=2,oddly_breakable_by_hand=1,}, + drop = "3dforniture:table_lamp_off", + }) + + -- Bathroom Kit + + --Toilet + minetest.register_node("3dforniture:toilet", + { description = 'Toilet', + tiles = { + "forniture_marble.png", "forniture_marble.png", + "forniture_marble_s1.png", "forniture_marble_s1.png", + "forniture_marble_s2.png", "forniture_marble_s2.png", + }, + drawtype = "nodebox", + sunlight_propagates = false, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + {-0.2,-0.5,-0.2, 0.2,-0.45,0.5}, + {-0.1,-0.45,-0.1, 0.1,0,0.5}, + {-0.3,-0.2,-0.3, 0.3,0,0.35}, + {-0.25,0,-0.25, 0.25,0.05,0.25}, + {-0.3,0,0.3, 0.3,0.4,0.5}, + {-0.05,0.4,0.35, 0.05,0.45,0.45}, + }, + }, + drop ="3dforniture:toilet", + groups = {cracky=3,} + }) + + minetest.register_node("3dforniture:toilet_open", + { description = 'Toilet', + tiles = { + "forniture_marble_top_toilet.png", "forniture_marble.png", + "forniture_marble_sb1.png", "forniture_marble_sb1.png", + "forniture_marble_sb2.png", "forniture_marble_sb2.png", + }, + drawtype = "nodebox", + sunlight_propagates = false, + paramtype = 'light', + paramtype2 = 'facedir', + node_box = { + type = "fixed", + fixed = { + {-0.2,-0.5,-0.2, 0.2,-0.45,0.5}, + {-0.1,-0.45,-0.1, 0.1,-0.2,0.5}, + {-0.1,-0.2,0.3, 0.1,0,0.5}, + {-0.3,-0.2,0.1, 0.3,0,0.35}, + {-0.3,-0.2,-0.3, -0.1,-0.15,0.1}, + {-0.1,-0.2,-0.3, 0.1,-0.15,-0.1}, + {0.1,-0.2,-0.3, 0.3,-0.15,0.1}, + {-0.3,-0.15,-0.3, -0.2,0,0.1}, + {-0.2,-0.15,-0.3, 0.2,0,-0.2}, + {0.2,-0.15,-0.3, 0.3,0,0.1}, + {-0.25,0,0.2, 0.25,0.5,0.25}, + {-0.3,0,0.3, 0.3,0.4,0.5}, + }, + }, + drop = "3dforniture:toilet", + groups = {cracky = 3,}, + sounds = {dig = "3dforniture_dig_toilet", gain=0.5}, + }) + + --Sink + minetest.register_node("3dforniture:sink", + {description = 'Sink', + tiles = { + "forniture_marble_top_sink.png", "forniture_marble.png", + "forniture_marble_sb1.png", "forniture_marble_sb1.png", + "forniture_marble_sb2.png", "forniture_marble_sb2.png", + }, + inventory_image = "3dforniture_inv_sink.png", + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = 'facedir', + node_box = { + type = "fixed", + fixed = { + {-0.15,0.35,0.2,0.15,0.4,0.5}, + {-0.25,0.4,0.4, 0.25,0.45,0.5}, + {-0.25,0.4,0.15, -0.15,0.45,0.4}, + {0.15,0.4,0.15, 0.25,0.45,0.4}, + {-0.15,0.4,0.15, 0.15,0.45,0.2}, + {-0.3,0.45,0.4, 0.3,0.5,0.5}, + {-0.3,0.45,0.1, -0.25,0.5,0.4}, + {0.25,0.45,0.1, 0.3,0.5,0.4}, + {-0.25,0.45,0.1, 0.25,0.5,0.15}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.3,0.35,0.1, 0.3,0.5,0.5}, + }, + groups = {cracky=2,} + }) + + --Taps + minetest.register_node("3dforniture:taps", + { description = 'Taps', + tiles = { + "forniture_metal.png", "forniture_metal.png", + "forniture_metal_s1.png", "forniture_metal_s1.png", + "forniture_metal_s2.png", "forniture_metal_s2.png", + }, + inventory_image = "3dforniture_inv_taps.png", + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = 'facedir', + node_box = { + type = "fixed", + fixed = { + --Base + {-0.25,-0.45,0.49, 0.25,-0.3,0.5}, + {-0.05,-0.4,0.25, 0.05,-0.35,0.5}, + {-0.05,-0.425,0.25,0.05,-0.4,0.3}, + + --taps 1 + {-0.2,-0.4,0.45, -0.15,-0.35,0.5}, + {-0.2,-0.45,0.4, -0.15,-0.3,0.45}, + {-0.25,-0.4,0.4, -0.1,-0.35,0.45}, + + --taps 2 + {0.15,-0.4,0.45, 0.2,-0.35,0.5}, + {0.15,-0.45,0.4, 0.2,-0.3,0.45}, + {0.1,-0.4,0.4, 0.25,-0.35,0.45}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.25,-0.45,0.25, 0.25,-0.3,0.5}, + }, + groups = {cracky=2,} + }) + + --Shower Tray + minetest.register_node("3dforniture:shower_tray", + { description = 'Shower Tray', + tiles = { + "forniture_marble_base_ducha_top.png", + "forniture_marble_base_ducha_top.png", + "forniture_marble_sb1.png", + "forniture_marble_sb1.png", + "forniture_marble_sb2.png", + "forniture_marble_sb2.png", + }, + inventory_image = "3dforniture_inv_shower_tray.png", + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = 'facedir', + legacy_facedir_simple = true, + node_box = { + type = "fixed", + fixed = { + {-0.5,-0.5,-0.5, 0.5,-0.45,0.5}, + {-0.5,-0.45,-0.5, 0.5,-0.4,-0.45}, + {-0.5,-0.45,0.45, 0.5,-0.4,0.5}, + {-0.5,-0.45,-0.45, -0.45,-0.4,0.45}, + {0.45,-0.45,-0.45, 0.5,-0.4,0.45}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.5,-0.5,-0.5, 0.5,-0.4,0.5}, + }, + groups = {cracky=2,} + }) + + --Shower Head + minetest.register_node("3dforniture:shower_head", + {description = 'Shower Head', + tiles = { + "forniture_metal.png", + "forniture_metal.png", + "forniture_metal_s1.png", + "forniture_metal_s1.png", + "forniture_metal_s2.png", + "forniture_metal_s2.png", + }, + inventory_image = "3dforniture_inv_shower_head.png", + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = 'facedir', + node_box = { + type = "fixed", + fixed = { + {-0.1,-0.5,0.1, 0.1,-0.4,0.3}, + {-0.05,-0.4,0.15, 0.05,-0.3,0.25}, + {-0.05,-0.35,0.25,0.05,-0.3,0.5}, + {-0.1,-0.4,0.49, 0.1,-0.25,0.5}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.1,-0.5,0.1, 0.1,-0.25,0.5}, + }, + groups = {cracky=2,} + }) + + -- Medieval Forniture + + --Bars + minetest.register_node("3dforniture:bars", + { description = 'Bars', + tiles = { + "forniture_black_metal.png", + "forniture_black_metal.png", + "forniture_black_metal_s1.png", + "forniture_black_metal_s1.png", + "forniture_black_metal_s2.png", + "forniture_black_metal_s2.png", + }, + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + {-0.5,-0.5,-0.1, -0.4,0.5,0.1}, + {-0.1,-0.5,-0.1, 0.1,0.5,0.1}, + {0.4,-0.5,-0.1, 0.5,0.5,0.1}, + {-0.5,-0.5,-0.05, 0.5,-0.45,0.05}, + {-0.5,0.45,-0.05, 0.5,0.5,0.05} + }, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.1, 0.5, 0.5, 0.1}, + }, + groups = {cracky=1} + }) + + --L Binding Bars + minetest.register_node("3dforniture:L_binding_bars", + { description ='Binding Bars', + tiles = { + "forniture_black_metal.png", + "forniture_black_metal.png", + "forniture_black_metal_s1.png", + "forniture_black_metal_s1.png", + "forniture_black_metal_s2.png", + "forniture_black_metal_s2.png", + }, + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 ="facedir", + node_box = { + type = "fixed", + fixed = { + {-0.1,-0.5,-0.5,0.1,0.5,-0.4}, + {-0.15,-0.5,-0.15, 0.15,0.5,0.15}, + {0.4,-0.5,-0.1, 0.5,0.5,0.1}, + {0,-0.5,-0.05, 0.5,-0.45,0.05}, + {-0.05,-0.5,-0.5, 0.05,-0.45,0}, + {0,0.45,-0.05, 0.5,0.5,0.05}, + {-0.05,0.45,-0.5, 0.05,0.5,0}, + }, + }, + groups = {cracky=1,} + }) + + --Chains + minetest.register_node("3dforniture:chains", + { description = 'Chains', + tiles = { + "forniture_black_metal.png", + "forniture_black_metal.png", + "forniture_black_metal_s1.png", + "forniture_black_metal_s1.png", + "forniture_black_metal_s2.png", + "forniture_black_metal_s2.png", + }, + inventory_image = "3dforniture_inv_chains.png", + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + --chain a + + --supporting + {-0.45,0.25,0.45, -0.2,0.5,0.5}, + {-0.35,0.4,0.35, -0.3,0.45,0.45}, + {-0.35,0.3,0.35, -0.3,0.35,0.45}, + {-0.35,0.35,0.3, -0.3,0.4,0.35}, + + --link 1 + {-0.4,0.35,0.35, -0.25,0.4,0.4}, + {-0.4,0.15,0.35, -0.25,0.2,0.4}, + {-0.45,0.2,0.35, -0.4,0.35,0.4}, + {-0.25,0.2,0.35, -0.2,0.35,0.4}, + + --link 2 + {-0.35,0.2,0.3, -0.3,0.25,0.45}, + {-0.35,0,0.3, -0.3,0.05,0.45}, + {-0.35,0.05,0.25, -0.3,0.2,0.3}, + {-0.35,0.05,0.45, -0.3,0.2,0.5}, + + --link 3 + {-0.4,0.05,0.35, -0.25,0.1,0.4}, + {-0.4,-0.15,0.35, -0.25,-0.1,0.4}, + {-0.45,-0.1,0.35, -0.4,0.05,0.4}, + {-0.25,-0.1,0.35, -0.2,0.05,0.4}, + + --link 4 + {-0.35,-0.1,0.3, -0.3,-0.05,0.45}, + {-0.35,-0.3,0.3, -0.3,-0.25,0.45}, + {-0.35,-0.25,0.25, -0.3,-0.1,0.3}, + {-0.35,-0.25,0.45, -0.3,-0.1,0.5}, + + --link 5 + {-0.4,-0.25,0.35, -0.25,-0.2,0.4}, + {-0.4,-0.45,0.35, -0.25,-0.4,0.4}, + {-0.45,-0.4,0.35, -0.4,-0.25,0.4}, + {-0.25,-0.4,0.35, -0.2,-0.25,0.4}, + + --chain b + + --supporting + {0.2,0.25,0.45, 0.45,0.5,0.5}, + {0.3,0.4,0.35,0.35,0.45,0.45}, + {0.3,0.3,0.35, 0.35,0.35,0.45}, + {0.3,0.35,0.3, 0.35,0.4,0.35}, + + --link 1 + {0.25,0.35,0.35, 0.4,0.4,0.4}, + {0.25,0.15,0.35, 0.4,0.2,0.4}, + {0.2,0.2,0.35, 0.25,0.35,0.4}, + {0.4,0.2,0.35, 0.45,0.35,0.4}, + + --link 2 + {0.3,0.2,0.3, 0.35,0.25,0.45}, + {0.3,0,0.3, 0.35,0.05,0.45}, + {0.3,0.05,0.25, 0.35,0.2,0.3}, + {0.3,0.05,0.45, 0.35,0.2,0.5}, + + --link 3 + {0.25,0.05,0.35, 0.4,0.1,0.4}, + {0.25,-0.15,0.35, 0.4,-0.1,0.4}, + {0.2,-0.1,0.35, 0.25,0.05,0.4}, + {0.4,-0.1,0.35, 0.45,0.05,0.4}, + + --link 4 + {0.3,-0.1,0.3, 0.35,-0.05,0.45}, + {0.3,-0.3,0.3, 0.35,-0.25,0.45}, + {0.3,-0.25,0.25, 0.35,-0.1,0.3}, + {0.3,-0.25,0.45, 0.35,-0.1,0.5}, + + ---link 5 + {0.25,-0.25,0.35, 0.4,-0.2,0.4}, + {0.25,-0.45,0.35,0.4,-0.4,0.4}, + {0.2,-0.4,0.35, 0.25,-0.25,0.4}, + {0.4,-0.4,0.35, 0.45,-0.25,0.4}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-1/2, -1/2, 1/4, 1/2, 1/2, 1/2}, }, + groups = {cracky=1} + }) + + --Torch Wakll + minetest.register_node("3dforniture:torch_wall", + { description = 'Torch Wall', + drawtype = "nodebox", + tiles = { + "forniture_torch_wall_s.png", + "forniture_torch_wall_i.png", + { name="forniture_torch_wall_anim.png", + animation={ + type="vertical_frames", + aspect_w=40, + aspect_h=40, + length=1.0 + } + } + }, + inventory_image = "3dforniture_inv_torch_wall.png", + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + + --torch + {-0.05,-0.45,0.45, 0.05,-0.35,0.5}, + {-0.05,-0.35,0.4, 0.05,-0.25,0.5}, + {-0.05,-0.25,0.35, 0.05,-0.15,0.45}, + {-0.05,-0.15,0.3, 0.05,-0.05,0.4}, + {-0.05,-0.05,0.25, 0.05,0,0.35}, + + --fire + {-0.1,0,0.2, 0.1,0.05,0.4}, + {-0.15,0.05,0.15, 0.15,0.15,0.45}, + {-0.1,0.15,0.2, 0.1,0.25,0.4}, + {-0.05,0.25,0.25, 0.05,0.35,0.35}, + }, + }, + sunlight_propagates = true, + walkable = false, + light_source = 18, + selection_box = { + type = "fixed", + fixed = {-0.15, -0.45, 0.15, 0.15,0.35, 0.5}, + }, + groups = {cracky=2} + }) diff --git a/mods/3dforniture/sounds/3dforniture_dig_toilet.ogg b/mods/3dforniture/sounds/3dforniture_dig_toilet.ogg new file mode 100644 index 0000000..26aad67 Binary files /dev/null and b/mods/3dforniture/sounds/3dforniture_dig_toilet.ogg differ diff --git a/mods/3dforniture/textures/3dforniture_inv_chains.png b/mods/3dforniture/textures/3dforniture_inv_chains.png new file mode 100644 index 0000000..ad02386 Binary files /dev/null and b/mods/3dforniture/textures/3dforniture_inv_chains.png differ diff --git a/mods/3dforniture/textures/3dforniture_inv_shower_head.png b/mods/3dforniture/textures/3dforniture_inv_shower_head.png new file mode 100644 index 0000000..64c8483 Binary files /dev/null and b/mods/3dforniture/textures/3dforniture_inv_shower_head.png differ diff --git a/mods/3dforniture/textures/3dforniture_inv_shower_tray.png b/mods/3dforniture/textures/3dforniture_inv_shower_tray.png new file mode 100644 index 0000000..a65ad5c Binary files /dev/null and b/mods/3dforniture/textures/3dforniture_inv_shower_tray.png differ diff --git a/mods/3dforniture/textures/3dforniture_inv_sink.png b/mods/3dforniture/textures/3dforniture_inv_sink.png new file mode 100644 index 0000000..d3d907a Binary files /dev/null and b/mods/3dforniture/textures/3dforniture_inv_sink.png differ diff --git a/mods/3dforniture/textures/3dforniture_inv_taps.png b/mods/3dforniture/textures/3dforniture_inv_taps.png new file mode 100644 index 0000000..a9675e8 Binary files /dev/null and b/mods/3dforniture/textures/3dforniture_inv_taps.png differ diff --git a/mods/3dforniture/textures/3dforniture_inv_torch_wall.png b/mods/3dforniture/textures/3dforniture_inv_torch_wall.png new file mode 100644 index 0000000..7708fec Binary files /dev/null and b/mods/3dforniture/textures/3dforniture_inv_torch_wall.png differ diff --git a/mods/3dforniture/textures/forniture_armchair_lat1.png b/mods/3dforniture/textures/forniture_armchair_lat1.png new file mode 100644 index 0000000..2ae8577 Binary files /dev/null and b/mods/3dforniture/textures/forniture_armchair_lat1.png differ diff --git a/mods/3dforniture/textures/forniture_armchair_lat2.png b/mods/3dforniture/textures/forniture_armchair_lat2.png new file mode 100644 index 0000000..bdbb662 Binary files /dev/null and b/mods/3dforniture/textures/forniture_armchair_lat2.png differ diff --git a/mods/3dforniture/textures/forniture_armchair_top.png b/mods/3dforniture/textures/forniture_armchair_top.png new file mode 100644 index 0000000..9980b91 Binary files /dev/null and b/mods/3dforniture/textures/forniture_armchair_top.png differ diff --git a/mods/3dforniture/textures/forniture_black_metal.png b/mods/3dforniture/textures/forniture_black_metal.png new file mode 100644 index 0000000..23d5c06 Binary files /dev/null and b/mods/3dforniture/textures/forniture_black_metal.png differ diff --git a/mods/3dforniture/textures/forniture_black_metal_s1.png b/mods/3dforniture/textures/forniture_black_metal_s1.png new file mode 100644 index 0000000..38fa8ab Binary files /dev/null and b/mods/3dforniture/textures/forniture_black_metal_s1.png differ diff --git a/mods/3dforniture/textures/forniture_black_metal_s2.png b/mods/3dforniture/textures/forniture_black_metal_s2.png new file mode 100644 index 0000000..7c79859 Binary files /dev/null and b/mods/3dforniture/textures/forniture_black_metal_s2.png differ diff --git a/mods/3dforniture/textures/forniture_marble.png b/mods/3dforniture/textures/forniture_marble.png new file mode 100644 index 0000000..39a4c58 Binary files /dev/null and b/mods/3dforniture/textures/forniture_marble.png differ diff --git a/mods/3dforniture/textures/forniture_marble_base_ducha_top.png b/mods/3dforniture/textures/forniture_marble_base_ducha_top.png new file mode 100644 index 0000000..36ca38d Binary files /dev/null and b/mods/3dforniture/textures/forniture_marble_base_ducha_top.png differ diff --git a/mods/3dforniture/textures/forniture_marble_s1.png b/mods/3dforniture/textures/forniture_marble_s1.png new file mode 100644 index 0000000..b4cc760 Binary files /dev/null and b/mods/3dforniture/textures/forniture_marble_s1.png differ diff --git a/mods/3dforniture/textures/forniture_marble_s2.png b/mods/3dforniture/textures/forniture_marble_s2.png new file mode 100644 index 0000000..0f3b1d2 Binary files /dev/null and b/mods/3dforniture/textures/forniture_marble_s2.png differ diff --git a/mods/3dforniture/textures/forniture_marble_sb1.png b/mods/3dforniture/textures/forniture_marble_sb1.png new file mode 100644 index 0000000..febc0c3 Binary files /dev/null and b/mods/3dforniture/textures/forniture_marble_sb1.png differ diff --git a/mods/3dforniture/textures/forniture_marble_sb2.png b/mods/3dforniture/textures/forniture_marble_sb2.png new file mode 100644 index 0000000..d412f1c Binary files /dev/null and b/mods/3dforniture/textures/forniture_marble_sb2.png differ diff --git a/mods/3dforniture/textures/forniture_marble_top_sink.png b/mods/3dforniture/textures/forniture_marble_top_sink.png new file mode 100644 index 0000000..54a75ba Binary files /dev/null and b/mods/3dforniture/textures/forniture_marble_top_sink.png differ diff --git a/mods/3dforniture/textures/forniture_marble_top_toilet.png b/mods/3dforniture/textures/forniture_marble_top_toilet.png new file mode 100644 index 0000000..b59263b Binary files /dev/null and b/mods/3dforniture/textures/forniture_marble_top_toilet.png differ diff --git a/mods/3dforniture/textures/forniture_metal.png b/mods/3dforniture/textures/forniture_metal.png new file mode 100644 index 0000000..1fd9ac4 Binary files /dev/null and b/mods/3dforniture/textures/forniture_metal.png differ diff --git a/mods/3dforniture/textures/forniture_metal_s1.png b/mods/3dforniture/textures/forniture_metal_s1.png new file mode 100644 index 0000000..abbcc0d Binary files /dev/null and b/mods/3dforniture/textures/forniture_metal_s1.png differ diff --git a/mods/3dforniture/textures/forniture_metal_s2.png b/mods/3dforniture/textures/forniture_metal_s2.png new file mode 100644 index 0000000..0e0e15c Binary files /dev/null and b/mods/3dforniture/textures/forniture_metal_s2.png differ diff --git a/mods/3dforniture/textures/forniture_papyrus.png b/mods/3dforniture/textures/forniture_papyrus.png new file mode 100644 index 0000000..68a4ee3 Binary files /dev/null and b/mods/3dforniture/textures/forniture_papyrus.png differ diff --git a/mods/3dforniture/textures/forniture_papyrus_s1.png b/mods/3dforniture/textures/forniture_papyrus_s1.png new file mode 100644 index 0000000..bb0a2ea Binary files /dev/null and b/mods/3dforniture/textures/forniture_papyrus_s1.png differ diff --git a/mods/3dforniture/textures/forniture_papyrus_s2.png b/mods/3dforniture/textures/forniture_papyrus_s2.png new file mode 100644 index 0000000..fe5fd01 Binary files /dev/null and b/mods/3dforniture/textures/forniture_papyrus_s2.png differ diff --git a/mods/3dforniture/textures/forniture_table_lamp_l.png b/mods/3dforniture/textures/forniture_table_lamp_l.png new file mode 100644 index 0000000..e4579b4 Binary files /dev/null and b/mods/3dforniture/textures/forniture_table_lamp_l.png differ diff --git a/mods/3dforniture/textures/forniture_table_lamp_s.png b/mods/3dforniture/textures/forniture_table_lamp_s.png new file mode 100644 index 0000000..1537c1e Binary files /dev/null and b/mods/3dforniture/textures/forniture_table_lamp_s.png differ diff --git a/mods/3dforniture/textures/forniture_torch_wall_anim.png b/mods/3dforniture/textures/forniture_torch_wall_anim.png new file mode 100644 index 0000000..38d5206 Binary files /dev/null and b/mods/3dforniture/textures/forniture_torch_wall_anim.png differ diff --git a/mods/3dforniture/textures/forniture_torch_wall_i.png b/mods/3dforniture/textures/forniture_torch_wall_i.png new file mode 100644 index 0000000..e489851 Binary files /dev/null and b/mods/3dforniture/textures/forniture_torch_wall_i.png differ diff --git a/mods/3dforniture/textures/forniture_torch_wall_s.png b/mods/3dforniture/textures/forniture_torch_wall_s.png new file mode 100644 index 0000000..c811a0a Binary files /dev/null and b/mods/3dforniture/textures/forniture_torch_wall_s.png differ diff --git a/mods/3dforniture/textures/forniture_wood.png b/mods/3dforniture/textures/forniture_wood.png new file mode 100644 index 0000000..0e16fb6 Binary files /dev/null and b/mods/3dforniture/textures/forniture_wood.png differ diff --git a/mods/3dforniture/textures/forniture_wood_s1.png b/mods/3dforniture/textures/forniture_wood_s1.png new file mode 100644 index 0000000..757a40f Binary files /dev/null and b/mods/3dforniture/textures/forniture_wood_s1.png differ diff --git a/mods/3dforniture/textures/forniture_wood_s2.png b/mods/3dforniture/textures/forniture_wood_s2.png new file mode 100644 index 0000000..b21a089 Binary files /dev/null and b/mods/3dforniture/textures/forniture_wood_s2.png differ diff --git a/mods/bags/depends.txt b/mods/bags/depends.txt new file mode 100644 index 0000000..3c8fd00 --- /dev/null +++ b/mods/bags/depends.txt @@ -0,0 +1 @@ +inventory_plus \ No newline at end of file diff --git a/mods/bags/init.lua b/mods/bags/init.lua new file mode 100644 index 0000000..b463f5c --- /dev/null +++ b/mods/bags/init.lua @@ -0,0 +1,140 @@ +--[[ + +Bags for Minetest + +Copyright (c) 2012 cornernote, Brett O'Donnell +Source Code: https://github.com/cornernote/minetest-particles +License: GPLv3 + +]]-- + + +-- get_formspec +local get_formspec = function(player,page) + if page=="bags" then + return "size[8,7.5]" + .."list[current_player;main;0,3.5;8,4;]" + .."button[0,0;2,0.5;main;Back]" + .."button[0,2;2,0.5;bag1;Bag 1]" + .."button[2,2;2,0.5;bag2;Bag 2]" + .."button[4,2;2,0.5;bag3;Bag 3]" + .."button[6,2;2,0.5;bag4;Bag 4]" + .."list[detached:"..player:get_player_name().."_bags;bag1;0.5,1;1,1;]" + .."list[detached:"..player:get_player_name().."_bags;bag2;2.5,1;1,1;]" + .."list[detached:"..player:get_player_name().."_bags;bag3;4.5,1;1,1;]" + .."list[detached:"..player:get_player_name().."_bags;bag4;6.5,1;1,1;]" + end + for i=1,4 do + if page=="bag"..i then + local image = player:get_inventory():get_stack("bag"..i, 1):get_definition().inventory_image + return "size[8,8.5]" + .."list[current_player;main;0,4.5;8,4;]" + .."button[0,0;2,0.5;main;Main]" + .."button[2,0;2,0.5;bags;Bags]" + .."image[7,0;1,1;"..image.."]" + .."list[current_player;bag"..i.."contents;0,1;8,3;]" + end + end +end + +-- register_on_player_receive_fields +minetest.register_on_player_receive_fields(function(player, formname, fields) + if fields.bags then + inventory_plus.set_inventory_formspec(player, get_formspec(player,"bags")) + return + end + for i=1,4 do + local page = "bag"..i + if fields[page] then + if player:get_inventory():get_stack(page, 1):get_definition().groups.bagslots==nil then + page = "bags" + end + inventory_plus.set_inventory_formspec(player, get_formspec(player,page)) + return + end + end +end) + +-- register_on_joinplayer +minetest.register_on_joinplayer(function(player) + inventory_plus.register_button(player,"bags","Bags") + local player_inv = player:get_inventory() + local bags_inv = minetest.create_detached_inventory(player:get_player_name().."_bags",{ + on_put = function(inv, listname, index, stack, player) + player:get_inventory():set_stack(listname, index, stack) + player:get_inventory():set_size(listname.."contents", stack:get_definition().groups.bagslots) + end, + on_take = function(inv, listname, index, stack, player) + player:get_inventory():set_stack(listname, index, nil) + end, + allow_put = function(inv, listname, index, stack, player) + if stack:get_definition().groups.bagslots then + return 1 + else + return 0 + end + end, + allow_take = function(inv, listname, index, stack, player) + if player:get_inventory():is_empty(listname.."contents")==true then + return stack:get_count() + else + return 0 + end + end, + allow_move = function(inv, from_list, from_index, to_list, to_index, count, player) + return 0 + end, + }) + for i=1,4 do + local bag = "bag"..i + player_inv:set_size(bag, 1) + bags_inv:set_size(bag, 1) + bags_inv:set_stack(bag,1,player_inv:get_stack(bag,1)) + end +end) + +-- register bag tools +minetest.register_tool("bags:small", { + description = "Small Bag", + inventory_image = "bags_small.png", + groups = {bagslots=8}, +}) +minetest.register_tool("bags:medium", { + description = "Medium Bag", + inventory_image = "bags_medium.png", + groups = {bagslots=16}, +}) +minetest.register_tool("bags:large", { + description = "Large Bag", + inventory_image = "bags_large.png", + groups = {bagslots=24}, +}) + +-- register bag crafts +minetest.register_craft({ + output = "bags:small", + recipe = { + {"", "default:stick", ""}, + {"default:wood", "default:wood", "default:wood"}, + {"default:wood", "default:wood", "default:wood"}, + }, +}) +minetest.register_craft({ + output = "bags:medium", + recipe = { + {"", "default:stick", ""}, + {"bags:small", "bags:small", "bags:small"}, + {"bags:small", "bags:small", "bags:small"}, + }, +}) +minetest.register_craft({ + output = "bags:large", + recipe = { + {"", "default:stick", ""}, + {"bags:medium", "bags:medium", "bags:medium"}, + {"bags:medium", "bags:medium", "bags:medium"}, + }, +}) + +-- log that we started +minetest.log("action", "[MOD]"..minetest.get_current_modname().." -- loaded from "..minetest.get_modpath(minetest.get_current_modname())) \ No newline at end of file diff --git a/mods/bags/textures/bags_large.png b/mods/bags/textures/bags_large.png new file mode 100644 index 0000000..c26f075 Binary files /dev/null and b/mods/bags/textures/bags_large.png differ diff --git a/mods/bags/textures/bags_medium.png b/mods/bags/textures/bags_medium.png new file mode 100644 index 0000000..7bc8030 Binary files /dev/null and b/mods/bags/textures/bags_medium.png differ diff --git a/mods/bags/textures/bags_small.png b/mods/bags/textures/bags_small.png new file mode 100644 index 0000000..e9656a5 Binary files /dev/null and b/mods/bags/textures/bags_small.png differ diff --git a/mods/beds/README.txt b/mods/beds/README.txt new file mode 100644 index 0000000..7a488b7 --- /dev/null +++ b/mods/beds/README.txt @@ -0,0 +1,47 @@ +===BEDS MOD for MINETEST-C55=== +by PilzAdam + +Introduction: +This mods brings beds to Minetest. You can use them to sleep at night +to prevent attacks by evil mobs. + +How to install: +Unzip the archive an place it in minetest-base-directory/mods/minetest/ +if you have a windows client or a linux run-in-place client. If you have +a linux system-wide instalation place it in ~/.minetest/mods/minetest/. +If you want to install this mod only in one world create the folder +worldmods/ in your worlddirectory. +For further information or help see: +http://wiki.minetest.com/wiki/Installing_Mods + +How to use the mod: +Craft a bed like this: +white wool white wool white wool +stick stick +After placing it anywhere you can go to sleep with a leftklick with your +hand on the bed. If it is night a chatmessage wishs you "Good night" and +you sleep until the next morning. To go outside the bed it is recommended +to hit the bed again with a leftklick (it also works if you just go away +but its not so safe). +After dying the player will respawn at the last bed he has slept. + +License: +Sourcecode: WTFPL (see below) +Graphics: WTFPL (see below) + +See also: +http://minetest.net/ + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 + + Copyright (C) 2004 Sam Hocevar + + Everyone is permitted to copy and distribute verbatim or modified + copies of this license document, and changing it is allowed as long + as the name is changed. + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. You just DO WHAT THE FUCK YOU WANT TO. diff --git a/mods/beds/depends.txt b/mods/beds/depends.txt new file mode 100644 index 0000000..470ec30 --- /dev/null +++ b/mods/beds/depends.txt @@ -0,0 +1,2 @@ +default +wool diff --git a/mods/beds/init.lua b/mods/beds/init.lua new file mode 100644 index 0000000..8753330 --- /dev/null +++ b/mods/beds/init.lua @@ -0,0 +1,232 @@ +local player_in_bed = 0 + +minetest.register_node("beds:bed_bottom", { + description = "Bed", + drawtype = "nodebox", + tiles = {"beds_bed_top_bottom.png", "default_wood.png", "beds_bed_side.png", "beds_bed_side.png", "beds_bed_side.png", "beds_bed_side.png"}, + paramtype = "light", + paramtype2 = "facedir", + stack_max = 1, + groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3}, + sounds = default.node_sound_wood_defaults(), + node_box = { + type = "fixed", + fixed = { + -- bed + {-0.5, 0.0, -0.5, 0.5, 0.3, 0.5}, + + -- stĂĽtzen + {-0.5, -0.5, -0.5, -0.4, 0.0, -0.4}, + {0.4, 0.0, -0.4, 0.5, -0.5, -0.5}, + } + }, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0.3, 1.5}, + } + }, + + + on_construct = function(pos) + local node = minetest.env:get_node(pos) + local param2 = node.param2 + if param2 == 0 then + node.name = "beds:bed_top" + pos.z = pos.z+1 + minetest.env:set_node(pos, node) + elseif param2 == 1 then + node.name = "beds:bed_top" + pos.x = pos.x+1 + minetest.env:set_node(pos, node) + elseif param2 == 2 then + node.name = "beds:bed_top" + pos.z = pos.z-1 + minetest.env:set_node(pos, node) + elseif param2 == 3 then + node.name = "beds:bed_top" + pos.x = pos.x-1 + minetest.env:set_node(pos, node) + end + end, + + on_destruct = function(pos) + local node = minetest.env:get_node(pos) + local param2 = node.param2 + if param2 == 0 then + pos.z = pos.z+1 + minetest.env:remove_node(pos) + elseif param2 == 1 then + pos.x = pos.x+1 + minetest.env:remove_node(pos) + elseif param2 == 2 then + pos.z = pos.z-1 + minetest.env:remove_node(pos) + elseif param2 == 3 then + pos.x = pos.x-1 + minetest.env:remove_node(pos) + end + end, + + on_punch = function(pos, node, puncher) + if not puncher:is_player() then + return + end + if puncher:get_wielded_item():get_name() == "" then + local meta = minetest.env:get_meta(pos) + local param2 = node.param2 + if param2 == 0 then + pos.z = pos.z+1 + elseif param2 == 1 then + pos.x = pos.x+1 + elseif param2 == 2 then + pos.z = pos.z-1 + elseif param2 == 3 then + pos.x = pos.x-1 + end + if puncher:get_player_name() == meta:get_string("player") then + if param2 == 0 then + pos.x = pos.x-1 + elseif param2 == 1 then + pos.z = pos.z+1 + elseif param2 == 2 then + pos.x = pos.x+1 + elseif param2 == 3 then + pos.z = pos.z-1 + end + pos.y = pos.y-0.5 + puncher:setpos(pos) + meta:set_string("player", "") + player_in_bed = player_in_bed-1 + elseif meta:get_string("player") == "" then + pos.y = pos.y-0.5 + puncher:setpos(pos) + meta:set_string("player", puncher:get_player_name()) + player_in_bed = player_in_bed+1 + end + end + end +}) + +minetest.register_node("beds:bed_top", { + drawtype = "nodebox", + tiles = {"beds_bed_top_top.png", "default_wood.png", "beds_bed_side_top_r.png", "beds_bed_side_top_l.png", "default_wood.png", "beds_bed_side.png"}, + paramtype = "light", + paramtype2 = "facedir", + groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3}, + sounds = default.node_sound_wood_defaults(), + node_box = { + type = "fixed", + fixed = { + -- bed + {-0.5, 0.0, -0.5, 0.5, 0.3, 0.5}, + + -- stĂĽtzen + {-0.4, 0.0, 0.4, -0.5, -0.5, 0.5}, + {0.5, -0.5, 0.5, 0.4, 0.0, 0.4}, + } + }, + selection_box = { + type = "fixed", + fixed = { + {0, 0, 0, 0, 0, 0}, + } + }, +}) + +minetest.register_alias("beds:bed", "beds:bed_bottom") + +minetest.register_craft({ + output = "beds:bed", + recipe = { + {"wool:white", "wool:white", "wool:white", }, + {"default:stick", "", "default:stick", } + } +}) + +local player_spawns = {} +local file = io.open(minetest.get_worldpath().."/beds_player_spawns", "r") +if file then + player_spawns = minetest.deserialize(file:read("*all")) + file:close() +end + +local timer = 0 +local wait = false +minetest.register_globalstep(function(dtime) + if timer<2 then + timer = timer+dtime + return + end + timer = 0 + + local players = #minetest.get_connected_players() + if players == player_in_bed and players ~= 0 then + if minetest.env:get_timeofday() < 0.2 or minetest.env:get_timeofday() > 0.805 then + if not wait then + minetest.chat_send_all("Good night!!!") + minetest.after(2, function() + minetest.env:set_timeofday(0.23) + wait = false + end) + wait = true + for _,player in ipairs(minetest.get_connected_players()) do + player_spawns[player:get_player_name()] = player:getpos() + end + local file = io.open(minetest.get_worldpath().."/beds_player_spawns", "w") + if file then + file:write(minetest.serialize(player_spawns)) + file:close() + end + end + end + end +end) + +minetest.register_on_respawnplayer(function(player) + local name = player:get_player_name() + if player_spawns[name] then + player:setpos(player_spawns[name]) + return true + end +end) + +minetest.register_abm({ + nodenames = {"beds:bed_bottom"}, + interval = 1, + chance = 1, + action = function(pos, node) + local meta = minetest.env:get_meta(pos) + if meta:get_string("player") ~= "" then + local param2 = node.param2 + if param2 == 0 then + pos.z = pos.z+1 + elseif param2 == 1 then + pos.x = pos.x+1 + elseif param2 == 2 then + pos.z = pos.z-1 + elseif param2 == 3 then + pos.x = pos.x-1 + end + local player = minetest.env:get_player_by_name(meta:get_string("player")) + if player == nil then + meta:set_string("player", "") + player_in_bed = player_in_bed-1 + return + end + local player_pos = player:getpos() + player_pos.x = math.floor(0.5+player_pos.x) + player_pos.y = math.floor(0.5+player_pos.y) + player_pos.z = math.floor(0.5+player_pos.z) + if pos.x ~= player_pos.x or pos.y ~= player_pos.y or pos.z ~= player_pos.z then + meta:set_string("player", "") + player_in_bed = player_in_bed-1 + return + end + end + end +}) + +if minetest.setting_get("log_mods") then + minetest.log("action", "beds loaded") +end diff --git a/mods/beds/textures/beds_bed_side.png b/mods/beds/textures/beds_bed_side.png new file mode 100644 index 0000000..c9e79e2 Binary files /dev/null and b/mods/beds/textures/beds_bed_side.png differ diff --git a/mods/beds/textures/beds_bed_side_top_l.png b/mods/beds/textures/beds_bed_side_top_l.png new file mode 100644 index 0000000..4b8dc66 Binary files /dev/null and b/mods/beds/textures/beds_bed_side_top_l.png differ diff --git a/mods/beds/textures/beds_bed_side_top_r.png b/mods/beds/textures/beds_bed_side_top_r.png new file mode 100644 index 0000000..daae624 Binary files /dev/null and b/mods/beds/textures/beds_bed_side_top_r.png differ diff --git a/mods/beds/textures/beds_bed_top_bottom.png b/mods/beds/textures/beds_bed_top_bottom.png new file mode 100644 index 0000000..8331601 Binary files /dev/null and b/mods/beds/textures/beds_bed_top_bottom.png differ diff --git a/mods/beds/textures/beds_bed_top_top.png b/mods/beds/textures/beds_bed_top_top.png new file mode 100644 index 0000000..fc46ee1 Binary files /dev/null and b/mods/beds/textures/beds_bed_top_top.png differ diff --git a/mods/boats/README.txt b/mods/boats/README.txt new file mode 100644 index 0000000..b9551ef --- /dev/null +++ b/mods/boats/README.txt @@ -0,0 +1,16 @@ +Minetest 0.4 mod: boats +======================= +by PilzAdam + +License of source code: +----------------------- +WTFPL + +License of media (textures and sounds): +--------------------------------------- +WTFPL + +Authors of media files: +----------------------- +textures: Zeg9 +model: thetoon and Zeg9 diff --git a/mods/boats/depends.txt b/mods/boats/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/boats/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/boats/init.lua b/mods/boats/init.lua new file mode 100644 index 0000000..623961b --- /dev/null +++ b/mods/boats/init.lua @@ -0,0 +1,158 @@ + +-- +-- Helper functions +-- + +local function is_water(pos) + local nn = minetest.env: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 = {-0.6,-0.4,-0.6, 0.6,0.3,0.6}, + visual = "mesh", + mesh = "boat.x", + textures = {"default_wood.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", "boats: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.1 + end + if ctrl.down then + self.v = self.v-0.08 + 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.env: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=10, z=0}) + self.object:setvelocity(get_velocity(self.v, self.object:getyaw(), self.object:getvelocity().y)) + else + self.object:setacceleration({x=0, y=0, z=0}) + self.object:setvelocity(get_velocity(self.v, self.object:getyaw(), 0)) + local pos = self.object:getpos() + pos.y = math.floor(pos.y)+0.5 + self.object:setpos(pos) + end + end +end + +minetest.register_entity("boats:boat", boat) + + +minetest.register_craftitem("boats:boat", { + description = "Boat", + inventory_image = "boat_inventory.png", + wield_image = "boat_wield.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.env:add_entity(pointed_thing.under, "boats:boat") + itemstack:take_item() + return itemstack + end, +}) + +minetest.register_craft({ + output = "boats:boat", + recipe = { + {"", "", ""}, + {"group:wood", "", "group:wood"}, + {"group:wood", "group:wood", "group:wood"}, + }, +}) diff --git a/mods/boats/models/boat.x b/mods/boats/models/boat.x new file mode 100644 index 0000000..2508b72 --- /dev/null +++ b/mods/boats/models/boat.x @@ -0,0 +1,11110 @@ +xof 0303txt 0032 + +Frame Root { + FrameTransformMatrix { + 1.000000, 0.000000, 0.000000, 0.000000, + 0.000000, 0.000000, 1.000000, 0.000000, + 0.000000, 1.000000,-0.000000, 0.000000, + 0.000000, 0.000000, 0.000000, 1.000000;; + } + Frame Plane { + FrameTransformMatrix { + 0.000000,-9.104475, 0.000000, 0.000000, + 9.104475, 0.000000, 0.000000, 0.000000, + 0.000000, 0.000000, 9.104475, 0.000000, + -0.310965, 0.042220,-1.967153, 1.000000;; + } + Mesh { //Plane_000 Mesh + 2952; + 0.750000;-0.500000;-0.117178;, + 0.750000;-0.625000;-0.117178;, + 0.750000;-0.625000; 0.000000;, + 0.750000;-0.500000; 0.000000;, + -0.625000;-0.875000;-0.117178;, + -0.625000;-0.750000;-0.117178;, + -0.625000;-0.750000; 0.000000;, + -0.625000;-0.875000; 0.000000;, + 0.250000;-0.625000;-0.117178;, + 0.250000;-0.750000;-0.117178;, + 0.250000;-0.750000; 0.000000;, + 0.250000;-0.625000; 0.000000;, + -0.250000;-0.375000;-0.117178;, + -0.250000;-0.500000;-0.117178;, + -0.250000;-0.500000; 0.000000;, + -0.250000;-0.375000; 0.000000;, + -0.250000; 0.750000;-0.117178;, + -0.250000; 0.625000;-0.117178;, + -0.250000; 0.625000; 0.000000;, + -0.250000; 0.750000; 0.000000;, + 0.375000; 0.750000;-0.117178;, + 0.375000; 0.875000;-0.117178;, + 0.375000; 0.875000; 0.000000;, + 0.375000; 0.750000; 0.000000;, + -0.500000; 1.000000;-0.117178;, + -0.375000; 1.000000;-0.117178;, + -0.375000; 1.000000; 0.000000;, + -0.500000; 1.000000; 0.000000;, + -0.125000; 0.250000;-0.117178;, + -0.125000; 0.375000;-0.117178;, + -0.125000; 0.375000; 0.000000;, + -0.125000; 0.250000; 0.000000;, + -0.125000; 1.000000;-0.117178;, + 0.000000; 1.000000;-0.117178;, + 0.000000; 1.000000; 0.000000;, + -0.125000; 1.000000; 0.000000;, + 0.375000;-0.250000;-0.117178;, + 0.375000;-0.125000;-0.117178;, + 0.375000;-0.125000; 0.000000;, + 0.375000;-0.250000; 0.000000;, + 0.750000; 0.000000;-0.117178;, + 0.750000;-0.125000;-0.117178;, + 0.750000;-0.125000; 0.000000;, + 0.750000; 0.000000; 0.000000;, + -0.250000;-0.125000;-0.117178;, + -0.250000;-0.250000;-0.117178;, + -0.250000;-0.250000; 0.000000;, + -0.250000;-0.125000; 0.000000;, + 0.375000; 0.375000;-0.117178;, + 0.375000; 0.500000;-0.117178;, + 0.375000; 0.500000; 0.000000;, + 0.375000; 0.375000; 0.000000;, + 0.750000; 0.250000;-0.117178;, + 0.750000; 0.125000;-0.117178;, + 0.750000; 0.125000; 0.000000;, + 0.750000; 0.250000; 0.000000;, + -0.250000;-1.000000;-0.117178;, + -0.375000;-1.000000;-0.117178;, + -0.375000;-1.000000; 0.000000;, + -0.250000;-1.000000; 0.000000;, + -0.625000;-0.125000;-0.117178;, + -0.625000; 0.000000;-0.117178;, + -0.625000; 0.000000; 0.000000;, + -0.625000;-0.125000; 0.000000;, + 0.375000;-0.625000;-0.117178;, + 0.375000;-0.500000;-0.117178;, + 0.375000;-0.500000; 0.000000;, + 0.375000;-0.625000; 0.000000;, + 0.250000; 1.000000;-0.117178;, + 0.250000; 0.875000;-0.117178;, + 0.250000; 0.875000; 0.000000;, + 0.250000; 1.000000; 0.000000;, + -0.125000; 0.875000; 0.000000;, + -0.125000; 1.000000; 0.000000;, + -0.250000; 1.000000; 0.000000;, + -0.250000; 0.875000; 0.000000;, + -0.125000; 0.750000; 0.000000;, + -0.125000; 0.875000; 0.000000;, + -0.250000; 0.875000; 0.000000;, + -0.250000; 0.750000; 0.000000;, + -0.625000; 0.500000;-0.117178;, + -0.625000; 0.625000;-0.117178;, + -0.625000; 0.625000; 0.000000;, + -0.625000; 0.500000; 0.000000;, + -0.125000;-0.125000; 0.000000;, + -0.125000; 0.000000; 0.000000;, + -0.250000; 0.000000; 0.000000;, + -0.250000;-0.125000; 0.000000;, + -0.125000;-0.250000; 0.000000;, + -0.125000;-0.125000; 0.000000;, + -0.250000;-0.125000; 0.000000;, + -0.250000;-0.250000; 0.000000;, + -0.125000;-0.375000;-0.117178;, + -0.125000;-0.250000;-0.117178;, + -0.125000;-0.250000; 0.000000;, + -0.125000;-0.375000; 0.000000;, + 0.375000; 0.875000; 0.000000;, + 0.375000; 1.000000; 0.000000;, + 0.250000; 1.000000; 0.000000;, + 0.250000; 0.875000; 0.000000;, + 0.375000; 0.750000; 0.000000;, + 0.375000; 0.875000; 0.000000;, + 0.250000; 0.875000; 0.000000;, + 0.250000; 0.750000; 0.000000;, + 0.250000;-0.375000;-0.117178;, + 0.250000;-0.500000;-0.117178;, + 0.250000;-0.500000; 0.000000;, + 0.250000;-0.375000; 0.000000;, + 0.375000; 0.375000; 0.000000;, + 0.375000; 0.500000; 0.000000;, + 0.250000; 0.500000; 0.000000;, + 0.250000; 0.375000; 0.000000;, + 0.375000; 0.250000; 0.000000;, + 0.375000; 0.375000; 0.000000;, + 0.250000; 0.375000; 0.000000;, + 0.250000; 0.250000; 0.000000;, + -0.125000; 0.000000;-0.117178;, + -0.125000; 0.125000;-0.117178;, + -0.125000; 0.125000; 0.000000;, + -0.125000; 0.000000; 0.000000;, + -0.625000; 0.875000; 0.000000;, + -0.625000; 1.000000; 0.000000;, + -0.750000; 1.000000; 0.000000;, + -0.750000; 0.875000; 0.000000;, + -0.625000; 0.750000; 0.000000;, + -0.625000; 0.875000; 0.000000;, + -0.750000; 0.875000; 0.000000;, + -0.750000; 0.750000; 0.000000;, + -0.250000;-0.750000;-0.117178;, + -0.250000;-0.875000;-0.117178;, + -0.250000;-0.875000; 0.000000;, + -0.250000;-0.750000; 0.000000;, + -0.625000; 0.375000; 0.000000;, + -0.625000; 0.500000; 0.000000;, + -0.750000; 0.500000; 0.000000;, + -0.750000; 0.375000; 0.000000;, + -0.625000; 0.250000; 0.000000;, + -0.625000; 0.375000; 0.000000;, + -0.750000; 0.375000; 0.000000;, + -0.750000; 0.250000; 0.000000;, + 0.750000; 0.625000;-0.117178;, + 0.750000; 0.500000;-0.117178;, + 0.750000; 0.500000; 0.000000;, + 0.750000; 0.625000; 0.000000;, + -0.125000; 0.375000; 0.000000;, + -0.125000; 0.500000; 0.000000;, + -0.250000; 0.500000; 0.000000;, + -0.250000; 0.375000; 0.000000;, + -0.125000; 0.250000; 0.000000;, + -0.125000; 0.375000; 0.000000;, + -0.250000; 0.375000; 0.000000;, + -0.250000; 0.250000; 0.000000;, + 0.125000; 1.000000;-0.117178;, + 0.250000; 1.000000;-0.117178;, + 0.250000; 1.000000; 0.000000;, + 0.125000; 1.000000; 0.000000;, + -0.625000;-0.125000; 0.000000;, + -0.625000; 0.000000; 0.000000;, + -0.750000; 0.000000; 0.000000;, + -0.750000;-0.125000; 0.000000;, + -0.625000;-0.250000; 0.000000;, + -0.625000;-0.125000; 0.000000;, + -0.750000;-0.125000; 0.000000;, + -0.750000;-0.250000; 0.000000;, + 0.375000; 0.125000;-0.117178;, + 0.375000; 0.250000;-0.117178;, + 0.375000; 0.250000; 0.000000;, + 0.375000; 0.125000; 0.000000;, + -0.625000;-0.625000; 0.000000;, + -0.625000;-0.500000; 0.000000;, + -0.750000;-0.500000; 0.000000;, + -0.750000;-0.625000; 0.000000;, + -0.625000;-0.750000; 0.000000;, + -0.625000;-0.625000; 0.000000;, + -0.750000;-0.625000; 0.000000;, + -0.750000;-0.750000; 0.000000;, + 0.625000;-1.000000;-0.117178;, + 0.500000;-1.000000;-0.117178;, + 0.500000;-1.000000; 0.000000;, + 0.625000;-1.000000; 0.000000;, + -0.125000;-0.625000; 0.000000;, + -0.125000;-0.500000; 0.000000;, + -0.250000;-0.500000; 0.000000;, + -0.250000;-0.625000; 0.000000;, + -0.125000;-0.750000; 0.000000;, + -0.125000;-0.625000; 0.000000;, + -0.250000;-0.625000; 0.000000;, + -0.250000;-0.750000; 0.000000;, + 0.375000;-0.500000;-0.117178;, + 0.375000;-0.375000;-0.117178;, + 0.375000;-0.375000; 0.000000;, + 0.375000;-0.500000; 0.000000;, + 0.375000;-0.125000; 0.000000;, + 0.375000; 0.000000; 0.000000;, + 0.250000; 0.000000; 0.000000;, + 0.250000;-0.125000; 0.000000;, + 0.375000;-0.250000; 0.000000;, + 0.375000;-0.125000; 0.000000;, + 0.250000;-0.125000; 0.000000;, + 0.250000;-0.250000; 0.000000;, + -0.625000; 0.125000;-0.117178;, + -0.625000; 0.250000;-0.117178;, + -0.625000; 0.250000; 0.000000;, + -0.625000; 0.125000; 0.000000;, + 0.375000;-0.625000; 0.000000;, + 0.375000;-0.500000; 0.000000;, + 0.250000;-0.500000; 0.000000;, + 0.250000;-0.625000; 0.000000;, + 0.375000;-0.750000; 0.000000;, + 0.375000;-0.625000; 0.000000;, + 0.250000;-0.625000; 0.000000;, + 0.250000;-0.750000; 0.000000;, + 0.250000;-0.500000;-0.117178;, + 0.250000;-0.625000;-0.117178;, + 0.250000;-0.625000; 0.000000;, + 0.250000;-0.500000; 0.000000;, + -0.625000;-0.375000;-0.117178;, + -0.625000;-0.250000;-0.117178;, + -0.625000;-0.250000; 0.000000;, + -0.625000;-0.375000; 0.000000;, + 0.250000;-0.125000;-0.117178;, + 0.250000;-0.250000;-0.117178;, + 0.250000;-0.250000; 0.000000;, + 0.250000;-0.125000; 0.000000;, + -0.250000; 0.625000;-0.117178;, + -0.250000; 0.500000;-0.117178;, + -0.250000; 0.500000; 0.000000;, + -0.250000; 0.625000; 0.000000;, + 0.750000; 0.875000;-0.117178;, + 0.750000; 0.750000;-0.117178;, + 0.750000; 0.750000; 0.000000;, + 0.750000; 0.875000; 0.000000;, + -0.125000;-0.875000;-0.117178;, + -0.125000;-0.750000;-0.117178;, + -0.125000;-0.750000; 0.000000;, + -0.125000;-0.875000; 0.000000;, + -0.125000;-0.250000;-0.117178;, + -0.125000;-0.125000;-0.117178;, + -0.125000;-0.125000; 0.000000;, + -0.125000;-0.250000; 0.000000;, + -0.625000; 0.250000;-0.117178;, + -0.625000; 0.375000;-0.117178;, + -0.625000; 0.375000; 0.000000;, + -0.625000; 0.250000; 0.000000;, + -0.250000; 0.250000;-0.117178;, + -0.250000; 0.125000;-0.117178;, + -0.250000; 0.125000; 0.000000;, + -0.250000; 0.250000; 0.000000;, + -0.125000;-0.750000;-0.117178;, + -0.125000;-0.625000;-0.117178;, + -0.125000;-0.625000; 0.000000;, + -0.125000;-0.750000; 0.000000;, + -0.250000; 0.000000;-0.117178;, + -0.250000;-0.125000;-0.117178;, + -0.250000;-0.125000; 0.000000;, + -0.250000; 0.000000; 0.000000;, + -0.250000; 0.875000;-0.117178;, + -0.250000; 0.750000;-0.117178;, + -0.250000; 0.750000; 0.000000;, + -0.250000; 0.875000; 0.000000;, + 0.375000; 0.875000;-0.117178;, + 0.375000; 1.000000;-0.117178;, + 0.375000; 1.000000; 0.000000;, + 0.375000; 0.875000; 0.000000;, + -0.125000; 0.625000; 0.000000;, + -0.125000; 0.750000; 0.000000;, + -0.250000; 0.750000; 0.000000;, + -0.250000; 0.625000; 0.000000;, + -0.125000; 0.500000; 0.000000;, + -0.125000; 0.625000; 0.000000;, + -0.250000; 0.625000; 0.000000;, + -0.250000; 0.500000; 0.000000;, + 0.750000; 0.125000;-0.117178;, + 0.750000; 0.000000;-0.117178;, + 0.750000; 0.000000; 0.000000;, + 0.750000; 0.125000; 0.000000;, + 0.250000; 0.250000;-0.117178;, + 0.250000; 0.125000;-0.117178;, + 0.250000; 0.125000; 0.000000;, + 0.250000; 0.250000; 0.000000;, + -0.375000;-1.000000;-0.117178;, + -0.500000;-1.000000;-0.117178;, + -0.500000;-1.000000; 0.000000;, + -0.375000;-1.000000; 0.000000;, + -0.125000; 0.375000;-0.117178;, + -0.125000; 0.500000;-0.117178;, + -0.125000; 0.500000; 0.000000;, + -0.125000; 0.375000; 0.000000;, + 0.000000;-1.000000;-0.117178;, + -0.125000;-1.000000;-0.117178;, + -0.125000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.375000;-0.125000;-0.117178;, + 0.375000; 0.000000;-0.117178;, + 0.375000; 0.000000; 0.000000;, + 0.375000;-0.125000; 0.000000;, + 0.750000; 0.375000;-0.117178;, + 0.750000; 0.250000;-0.117178;, + 0.750000; 0.250000; 0.000000;, + 0.750000; 0.375000; 0.000000;, + -0.125000;-0.375000; 0.000000;, + -0.125000;-0.250000; 0.000000;, + -0.250000;-0.250000; 0.000000;, + -0.250000;-0.375000; 0.000000;, + -0.125000;-0.500000; 0.000000;, + -0.125000;-0.375000; 0.000000;, + -0.250000;-0.375000; 0.000000;, + -0.250000;-0.500000; 0.000000;, + 0.375000; 1.000000;-0.117178;, + 0.500000; 1.000000;-0.117178;, + 0.500000; 1.000000; 0.000000;, + 0.375000; 1.000000; 0.000000;, + -0.250000;-0.875000;-0.117178;, + -0.250000;-1.000000;-0.117178;, + -0.250000;-1.000000; 0.000000;, + -0.250000;-0.875000; 0.000000;, + 0.000000; 1.000000;-0.117178;, + 0.125000; 1.000000;-0.117178;, + 0.125000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.750000;-0.750000;-0.117178;, + 0.750000;-0.875000;-0.117178;, + 0.750000;-0.875000; 0.000000;, + 0.750000;-0.750000; 0.000000;, + -0.625000; 0.625000;-0.117178;, + -0.625000; 0.750000;-0.117178;, + -0.625000; 0.750000; 0.000000;, + -0.625000; 0.625000; 0.000000;, + 0.375000;-1.000000;-0.117178;, + 0.375000;-0.875000;-0.117178;, + 0.375000;-0.875000; 0.000000;, + 0.375000;-1.000000; 0.000000;, + 0.250000; 0.000000;-0.117178;, + 0.250000;-0.125000;-0.117178;, + 0.250000;-0.125000; 0.000000;, + 0.250000; 0.000000; 0.000000;, + -0.125000; 0.125000;-0.117178;, + -0.125000; 0.250000;-0.117178;, + -0.125000; 0.250000; 0.000000;, + -0.125000; 0.125000; 0.000000;, + -0.250000;-0.625000;-0.117178;, + -0.250000;-0.750000;-0.117178;, + -0.250000;-0.750000; 0.000000;, + -0.250000;-0.625000; 0.000000;, + 0.750000; 1.000000;-0.117178;, + 0.750000; 0.875000;-0.117178;, + 0.750000; 0.875000; 0.000000;, + 0.750000; 1.000000; 0.000000;, + 0.250000;-1.000000;-0.117178;, + 0.125000;-1.000000;-0.117178;, + 0.125000;-1.000000; 0.000000;, + 0.250000;-1.000000; 0.000000;, + -0.125000; 0.750000;-0.117178;, + -0.125000; 0.875000;-0.117178;, + -0.125000; 0.875000; 0.000000;, + -0.125000; 0.750000; 0.000000;, + 0.750000;-0.250000;-0.117178;, + 0.750000;-0.375000;-0.117178;, + 0.750000;-0.375000; 0.000000;, + 0.750000;-0.250000; 0.000000;, + 0.375000; 0.625000; 0.000000;, + 0.375000; 0.750000; 0.000000;, + 0.250000; 0.750000; 0.000000;, + 0.250000; 0.625000; 0.000000;, + 0.375000; 0.500000; 0.000000;, + 0.375000; 0.625000; 0.000000;, + 0.250000; 0.625000; 0.000000;, + 0.250000; 0.500000; 0.000000;, + -0.625000; 1.000000;-0.117178;, + -0.500000; 1.000000;-0.117178;, + -0.500000; 1.000000; 0.000000;, + -0.625000; 1.000000; 0.000000;, + 0.375000;-0.375000;-0.117178;, + 0.375000;-0.250000;-0.117178;, + 0.375000;-0.250000; 0.000000;, + 0.375000;-0.375000; 0.000000;, + -0.625000; 0.750000;-0.117178;, + -0.625000; 0.875000;-0.117178;, + -0.625000; 0.875000; 0.000000;, + -0.625000; 0.750000; 0.000000;, + -0.250000; 0.125000;-0.117178;, + -0.250000; 0.000000;-0.117178;, + -0.250000; 0.000000; 0.000000;, + -0.250000; 0.125000; 0.000000;, + -0.625000;-0.750000;-0.117178;, + -0.625000;-0.625000;-0.117178;, + -0.625000;-0.625000; 0.000000;, + -0.625000;-0.750000; 0.000000;, + -0.250000; 1.000000;-0.117178;, + -0.250000; 0.875000;-0.117178;, + -0.250000; 0.875000; 0.000000;, + -0.250000; 1.000000; 0.000000;, + -0.125000;-0.125000;-0.117178;, + -0.125000; 0.000000;-0.117178;, + -0.125000; 0.000000; 0.000000;, + -0.125000;-0.125000; 0.000000;, + 0.375000; 0.125000; 0.000000;, + 0.375000; 0.250000; 0.000000;, + 0.250000; 0.250000; 0.000000;, + 0.250000; 0.125000; 0.000000;, + 0.375000; 0.000000; 0.000000;, + 0.375000; 0.125000; 0.000000;, + 0.250000; 0.125000; 0.000000;, + 0.250000; 0.000000; 0.000000;, + 0.250000; 0.125000;-0.117178;, + 0.250000; 0.000000;-0.117178;, + 0.250000; 0.000000; 0.000000;, + 0.250000; 0.125000; 0.000000;, + 0.250000; 0.750000;-0.117178;, + 0.250000; 0.625000;-0.117178;, + 0.250000; 0.625000; 0.000000;, + 0.250000; 0.750000; 0.000000;, + -0.125000; 0.500000;-0.117178;, + -0.125000; 0.625000;-0.117178;, + -0.125000; 0.625000; 0.000000;, + -0.125000; 0.500000; 0.000000;, + -0.625000; 0.375000;-0.117178;, + -0.625000; 0.500000;-0.117178;, + -0.625000; 0.500000; 0.000000;, + -0.625000; 0.375000; 0.000000;, + -0.250000; 0.375000;-0.117178;, + -0.250000; 0.250000;-0.117178;, + -0.250000; 0.250000; 0.000000;, + -0.250000; 0.375000; 0.000000;, + -0.125000;-0.625000;-0.117178;, + -0.125000;-0.500000;-0.117178;, + -0.125000;-0.500000; 0.000000;, + -0.125000;-0.625000; 0.000000;, + 0.375000; 0.500000;-0.117178;, + 0.375000; 0.625000;-0.117178;, + 0.375000; 0.625000; 0.000000;, + 0.375000; 0.500000; 0.000000;, + -0.625000; 0.625000; 0.000000;, + -0.625000; 0.750000; 0.000000;, + -0.750000; 0.750000; 0.000000;, + -0.750000; 0.625000; 0.000000;, + -0.625000; 0.500000; 0.000000;, + -0.625000; 0.625000; 0.000000;, + -0.750000; 0.625000; 0.000000;, + -0.750000; 0.500000; 0.000000;, + 0.750000; 0.500000;-0.117178;, + 0.750000; 0.375000;-0.117178;, + 0.750000; 0.375000; 0.000000;, + 0.750000; 0.500000; 0.000000;, + -0.625000; 0.125000; 0.000000;, + -0.625000; 0.250000; 0.000000;, + -0.750000; 0.250000; 0.000000;, + -0.750000; 0.125000; 0.000000;, + -0.625000; 0.000000; 0.000000;, + -0.625000; 0.125000; 0.000000;, + -0.750000; 0.125000; 0.000000;, + -0.750000; 0.000000; 0.000000;, + 0.250000; 0.375000;-0.117178;, + 0.250000; 0.250000;-0.117178;, + 0.250000; 0.250000; 0.000000;, + 0.250000; 0.375000; 0.000000;, + 0.625000; 1.000000;-0.117178;, + 0.750000; 1.000000;-0.117178;, + 0.750000; 1.000000; 0.000000;, + 0.625000; 1.000000; 0.000000;, + 0.750000;-0.875000;-0.117178;, + 0.750000;-1.000000;-0.117178;, + 0.750000;-1.000000; 0.000000;, + 0.750000;-0.875000; 0.000000;, + -0.625000;-1.000000;-0.117178;, + -0.625000;-0.875000;-0.117178;, + -0.625000;-0.875000; 0.000000;, + -0.625000;-1.000000; 0.000000;, + 0.250000;-0.750000;-0.117178;, + 0.250000;-0.875000;-0.117178;, + 0.250000;-0.875000; 0.000000;, + 0.250000;-0.750000; 0.000000;, + 0.500000;-1.000000;-0.117178;, + 0.375000;-1.000000;-0.117178;, + 0.375000;-1.000000; 0.000000;, + 0.500000;-1.000000; 0.000000;, + -0.250000;-0.500000;-0.117178;, + -0.250000;-0.625000;-0.117178;, + -0.250000;-0.625000; 0.000000;, + -0.250000;-0.500000; 0.000000;, + -0.125000; 0.125000; 0.000000;, + -0.125000; 0.250000; 0.000000;, + -0.250000; 0.250000; 0.000000;, + -0.250000; 0.125000; 0.000000;, + -0.125000; 0.000000; 0.000000;, + -0.125000; 0.125000; 0.000000;, + -0.250000; 0.125000; 0.000000;, + -0.250000; 0.000000; 0.000000;, + 0.125000;-1.000000;-0.117178;, + 0.000000;-1.000000;-0.117178;, + 0.000000;-1.000000; 0.000000;, + 0.125000;-1.000000; 0.000000;, + -0.625000;-0.375000; 0.000000;, + -0.625000;-0.250000; 0.000000;, + -0.750000;-0.250000; 0.000000;, + -0.750000;-0.375000; 0.000000;, + -0.625000;-0.500000; 0.000000;, + -0.625000;-0.375000; 0.000000;, + -0.750000;-0.375000; 0.000000;, + -0.750000;-0.500000; 0.000000;, + 0.750000;-0.625000;-0.117178;, + 0.750000;-0.750000;-0.117178;, + 0.750000;-0.750000; 0.000000;, + 0.750000;-0.625000; 0.000000;, + -0.625000;-0.875000; 0.000000;, + -0.625000;-0.750000; 0.000000;, + -0.750000;-0.750000; 0.000000;, + -0.750000;-0.875000; 0.000000;, + -0.625000;-1.000000; 0.000000;, + -0.625000;-0.875000; 0.000000;, + -0.750000;-0.875000; 0.000000;, + -0.750000;-1.000000; 0.000000;, + 0.750000;-0.375000;-0.117178;, + 0.750000;-0.500000;-0.117178;, + 0.750000;-0.500000; 0.000000;, + 0.750000;-0.375000; 0.000000;, + -0.250000;-0.250000;-0.117178;, + -0.250000;-0.375000;-0.117178;, + -0.250000;-0.375000; 0.000000;, + -0.250000;-0.250000; 0.000000;, + 0.375000; 0.250000;-0.117178;, + 0.375000; 0.375000;-0.117178;, + 0.375000; 0.375000; 0.000000;, + 0.375000; 0.250000; 0.000000;, + -0.375000; 1.000000;-0.117178;, + -0.250000; 1.000000;-0.117178;, + -0.250000; 1.000000; 0.000000;, + -0.375000; 1.000000; 0.000000;, + 0.375000;-0.875000;-0.117178;, + 0.375000;-0.750000;-0.117178;, + 0.375000;-0.750000; 0.000000;, + 0.375000;-0.875000; 0.000000;, + -0.625000;-0.250000;-0.117178;, + -0.625000;-0.125000;-0.117178;, + -0.625000;-0.125000; 0.000000;, + -0.625000;-0.250000; 0.000000;, + 0.375000;-0.750000;-0.117178;, + 0.375000;-0.625000;-0.117178;, + 0.375000;-0.625000; 0.000000;, + 0.375000;-0.750000; 0.000000;, + -0.125000;-0.875000; 0.000000;, + -0.125000;-0.750000; 0.000000;, + -0.250000;-0.750000; 0.000000;, + -0.250000;-0.875000; 0.000000;, + -0.125000;-1.000000; 0.000000;, + -0.125000;-0.875000; 0.000000;, + -0.250000;-0.875000; 0.000000;, + -0.250000;-1.000000; 0.000000;, + -0.125000; 0.875000;-0.117178;, + -0.125000; 1.000000;-0.117178;, + -0.125000; 1.000000; 0.000000;, + -0.125000; 0.875000; 0.000000;, + 0.250000; 0.625000;-0.117178;, + 0.250000; 0.500000;-0.117178;, + 0.250000; 0.500000; 0.000000;, + 0.250000; 0.625000; 0.000000;, + 0.750000;-0.125000;-0.117178;, + 0.750000;-0.250000;-0.117178;, + 0.750000;-0.250000; 0.000000;, + 0.750000;-0.125000; 0.000000;, + -0.500000;-1.000000;-0.117178;, + -0.625000;-1.000000;-0.117178;, + -0.625000;-1.000000; 0.000000;, + -0.500000;-1.000000; 0.000000;, + -0.625000; 0.875000;-0.117178;, + -0.625000; 1.000000;-0.117178;, + -0.625000; 1.000000; 0.000000;, + -0.625000; 0.875000; 0.000000;, + -0.250000; 0.500000;-0.117178;, + -0.250000; 0.375000;-0.117178;, + -0.250000; 0.375000; 0.000000;, + -0.250000; 0.500000; 0.000000;, + -0.125000;-0.500000;-0.117178;, + -0.125000;-0.375000;-0.117178;, + -0.125000;-0.375000; 0.000000;, + -0.125000;-0.500000; 0.000000;, + 0.375000;-0.375000; 0.000000;, + 0.375000;-0.250000; 0.000000;, + 0.250000;-0.250000; 0.000000;, + 0.250000;-0.375000; 0.000000;, + 0.375000;-0.500000; 0.000000;, + 0.375000;-0.375000; 0.000000;, + 0.250000;-0.375000; 0.000000;, + 0.250000;-0.500000; 0.000000;, + -0.625000;-0.625000;-0.117178;, + -0.625000;-0.500000;-0.117178;, + -0.625000;-0.500000; 0.000000;, + -0.625000;-0.625000; 0.000000;, + 0.250000; 0.500000;-0.117178;, + 0.250000; 0.375000;-0.117178;, + 0.250000; 0.375000; 0.000000;, + 0.250000; 0.500000; 0.000000;, + 0.375000; 0.000000;-0.117178;, + 0.375000; 0.125000;-0.117178;, + 0.375000; 0.125000; 0.000000;, + 0.375000; 0.000000; 0.000000;, + 0.250000; 0.875000;-0.117178;, + 0.250000; 0.750000;-0.117178;, + 0.250000; 0.750000; 0.000000;, + 0.250000; 0.875000; 0.000000;, + 0.500000; 1.000000;-0.117178;, + 0.625000; 1.000000;-0.117178;, + 0.625000; 1.000000; 0.000000;, + 0.500000; 1.000000; 0.000000;, + -0.125000; 0.625000;-0.117178;, + -0.125000; 0.750000;-0.117178;, + -0.125000; 0.750000; 0.000000;, + -0.125000; 0.625000; 0.000000;, + -0.625000; 0.000000;-0.117178;, + -0.625000; 0.125000;-0.117178;, + -0.625000; 0.125000; 0.000000;, + -0.625000; 0.000000; 0.000000;, + 0.375000;-0.875000; 0.000000;, + 0.375000;-0.750000; 0.000000;, + 0.250000;-0.750000; 0.000000;, + 0.250000;-0.875000; 0.000000;, + 0.375000;-1.000000; 0.000000;, + 0.375000;-0.875000; 0.000000;, + 0.250000;-0.875000; 0.000000;, + 0.250000;-1.000000; 0.000000;, + 0.250000;-0.875000;-0.117178;, + 0.250000;-1.000000;-0.117178;, + 0.250000;-1.000000; 0.000000;, + 0.250000;-0.875000; 0.000000;, + -0.625000;-0.500000;-0.117178;, + -0.625000;-0.375000;-0.117178;, + -0.625000;-0.375000; 0.000000;, + -0.625000;-0.500000; 0.000000;, + 0.250000;-0.250000;-0.117178;, + 0.250000;-0.375000;-0.117178;, + 0.250000;-0.375000; 0.000000;, + 0.250000;-0.250000; 0.000000;, + 0.375000; 0.625000;-0.117178;, + 0.375000; 0.750000;-0.117178;, + 0.375000; 0.750000; 0.000000;, + 0.375000; 0.625000; 0.000000;, + 0.750000; 0.750000;-0.117178;, + 0.750000; 0.625000;-0.117178;, + 0.750000; 0.625000; 0.000000;, + 0.750000; 0.750000; 0.000000;, + -0.125000;-1.000000;-0.117178;, + -0.125000;-0.875000;-0.117178;, + -0.125000;-0.875000; 0.000000;, + -0.125000;-1.000000; 0.000000;, + 0.750000;-1.000000;-0.117178;, + 0.625000;-1.000000;-0.117178;, + 0.625000;-1.000000; 0.000000;, + 0.750000;-1.000000; 0.000000;, + 0.750000; 0.125000;-0.117178;, + 0.750000; 0.250000;-0.117178;, + 0.625000; 0.250000;-0.117178;, + 0.625000; 0.125000;-0.117178;, + 0.750000; 0.375000;-0.117178;, + 0.750000; 0.500000;-0.117178;, + 0.625000; 0.500000;-0.117178;, + 0.625000; 0.375000;-0.117178;, + 0.500000; 0.125000;-0.117178;, + 0.500000; 0.250000;-0.117178;, + 0.375000; 0.250000;-0.117178;, + 0.375000; 0.125000;-0.117178;, + 0.250000; 0.125000;-0.117178;, + 0.250000; 0.250000;-0.117178;, + 0.125000; 0.250000;-0.117178;, + 0.125000; 0.125000;-0.117178;, + 0.250000; 0.375000;-0.117178;, + 0.250000; 0.500000;-0.117178;, + 0.125000; 0.500000;-0.117178;, + 0.125000; 0.375000;-0.117178;, + 0.500000; 0.625000;-0.117178;, + 0.500000; 0.750000;-0.117178;, + 0.375000; 0.750000;-0.117178;, + 0.375000; 0.625000;-0.117178;, + 0.250000; 0.625000;-0.117178;, + 0.250000; 0.750000;-0.117178;, + 0.125000; 0.750000;-0.117178;, + 0.125000; 0.625000;-0.117178;, + 0.250000; 0.875000;-0.117178;, + 0.250000; 1.000000;-0.117178;, + 0.125000; 1.000000;-0.117178;, + 0.125000; 0.875000;-0.117178;, + 0.750000;-0.375000;-0.117178;, + 0.750000;-0.250000;-0.117178;, + 0.625000;-0.250000;-0.117178;, + 0.625000;-0.375000;-0.117178;, + 0.750000;-0.125000;-0.117178;, + 0.750000; 0.000000;-0.117178;, + 0.625000; 0.000000;-0.117178;, + 0.625000;-0.125000;-0.117178;, + 0.000000;-0.375000;-0.117178;, + 0.000000;-0.250000;-0.117178;, + -0.125000;-0.250000;-0.117178;, + -0.125000;-0.375000;-0.117178;, + -0.250000;-0.375000;-0.117178;, + -0.250000;-0.250000;-0.117178;, + -0.375000;-0.250000;-0.117178;, + -0.375000;-0.375000;-0.117178;, + -0.250000;-0.125000;-0.117178;, + -0.250000; 0.000000;-0.117178;, + -0.375000; 0.000000;-0.117178;, + -0.375000;-0.125000;-0.117178;, + 0.000000; 0.625000;-0.117178;, + 0.000000; 0.750000;-0.117178;, + -0.125000; 0.750000;-0.117178;, + -0.125000; 0.625000;-0.117178;, + -0.250000; 0.625000;-0.117178;, + -0.250000; 0.750000;-0.117178;, + -0.375000; 0.750000;-0.117178;, + -0.375000; 0.625000;-0.117178;, + -0.250000; 0.875000;-0.117178;, + -0.250000; 1.000000;-0.117178;, + -0.375000; 1.000000;-0.117178;, + -0.375000; 0.875000;-0.117178;, + 0.750000; 0.625000;-0.117178;, + 0.750000; 0.750000;-0.117178;, + 0.625000; 0.750000;-0.117178;, + 0.625000; 0.625000;-0.117178;, + 0.750000; 0.875000;-0.117178;, + 0.750000; 1.000000;-0.117178;, + 0.625000; 1.000000;-0.117178;, + 0.625000; 0.875000;-0.117178;, + 0.500000;-0.625000;-0.117178;, + 0.500000;-0.500000;-0.117178;, + 0.375000;-0.500000;-0.117178;, + 0.375000;-0.625000;-0.117178;, + 0.500000;-0.125000;-0.117178;, + 0.500000; 0.000000;-0.117178;, + 0.375000; 0.000000;-0.117178;, + 0.375000;-0.125000;-0.117178;, + 0.000000;-0.625000;-0.117178;, + 0.000000;-0.500000;-0.117178;, + -0.125000;-0.500000;-0.117178;, + -0.125000;-0.625000;-0.117178;, + -0.500000;-0.625000;-0.117178;, + -0.500000;-0.500000;-0.117178;, + -0.625000;-0.500000;-0.117178;, + -0.625000;-0.625000;-0.117178;, + -0.500000;-0.125000;-0.117178;, + -0.500000; 0.000000;-0.117178;, + -0.625000; 0.000000;-0.117178;, + -0.625000;-0.125000;-0.117178;, + 0.000000; 0.375000;-0.117178;, + 0.000000; 0.500000;-0.117178;, + -0.125000; 0.500000;-0.117178;, + -0.125000; 0.375000;-0.117178;, + -0.500000; 0.375000;-0.117178;, + -0.500000; 0.500000;-0.117178;, + -0.625000; 0.500000;-0.117178;, + -0.625000; 0.375000;-0.117178;, + -0.500000; 0.875000;-0.117178;, + -0.500000; 1.000000;-0.117178;, + -0.625000; 1.000000;-0.117178;, + -0.625000; 0.875000;-0.117178;, + 0.500000; 0.375000;-0.117178;, + 0.500000; 0.500000;-0.117178;, + 0.375000; 0.500000;-0.117178;, + 0.375000; 0.375000;-0.117178;, + 0.500000; 0.875000;-0.117178;, + 0.500000; 1.000000;-0.117178;, + 0.375000; 1.000000;-0.117178;, + 0.375000; 0.875000;-0.117178;, + 0.000000;-0.125000;-0.117178;, + 0.000000; 0.000000;-0.117178;, + -0.125000; 0.000000;-0.117178;, + -0.125000;-0.125000;-0.117178;, + 0.000000; 0.875000;-0.117178;, + 0.000000; 1.000000;-0.117178;, + -0.125000; 1.000000;-0.117178;, + -0.125000; 0.875000;-0.117178;, + 0.250000;-0.250000; 0.330204;, + 0.250000;-0.125000; 0.330204;, + 0.250000;-0.125000; 0.246450;, + 0.250000;-0.250000; 0.246450;, + -0.250000; 0.500000; 0.330204;, + -0.250000; 0.625000; 0.330204;, + -0.250000; 0.625000; 0.246450;, + -0.250000; 0.500000; 0.246450;, + 0.750000; 0.750000; 0.330204;, + 0.750000; 0.875000; 0.330204;, + 0.750000; 0.875000; 0.246450;, + 0.750000; 0.750000; 0.246450;, + -0.125000;-0.750000; 0.330204;, + -0.125000;-0.875000; 0.330204;, + -0.125000;-0.875000; 0.246450;, + -0.125000;-0.750000; 0.246450;, + -0.125000;-0.125000; 0.330204;, + -0.125000;-0.250000; 0.330204;, + -0.125000;-0.250000; 0.246450;, + -0.125000;-0.125000; 0.246450;, + -0.625000; 0.375000; 0.330204;, + -0.625000; 0.250000; 0.330204;, + -0.625000; 0.250000; 0.246450;, + -0.625000; 0.375000; 0.246450;, + -0.250000; 0.125000; 0.330204;, + -0.250000; 0.250000; 0.330204;, + -0.250000; 0.250000; 0.246450;, + -0.250000; 0.125000; 0.246450;, + -0.125000;-0.625000; 0.330204;, + -0.125000;-0.750000; 0.330204;, + -0.125000;-0.750000; 0.246450;, + -0.125000;-0.625000; 0.246450;, + -0.250000;-0.125000; 0.330204;, + -0.250000; 0.000000; 0.330204;, + -0.250000; 0.000000; 0.246450;, + -0.250000;-0.125000; 0.246450;, + -0.250000; 0.750000; 0.330204;, + -0.250000; 0.875000; 0.330204;, + -0.250000; 0.875000; 0.246450;, + -0.250000; 0.750000; 0.246450;, + 0.375000; 1.000000; 0.330204;, + 0.375000; 0.875000; 0.330204;, + 0.375000; 0.875000; 0.246450;, + 0.375000; 1.000000; 0.246450;, + 0.750000; 0.000000; 0.330204;, + 0.750000; 0.125000; 0.330204;, + 0.750000; 0.125000; 0.246450;, + 0.750000; 0.000000; 0.246450;, + 0.250000; 0.125000; 0.330204;, + 0.250000; 0.250000; 0.330204;, + 0.250000; 0.250000; 0.246450;, + 0.250000; 0.125000; 0.246450;, + -0.500000;-1.000000; 0.330204;, + -0.375000;-1.000000; 0.330204;, + -0.375000;-1.000000; 0.246450;, + -0.500000;-1.000000; 0.246450;, + -0.125000; 0.500000; 0.330204;, + -0.125000; 0.375000; 0.330204;, + -0.125000; 0.375000; 0.246450;, + -0.125000; 0.500000; 0.246450;, + -0.125000;-1.000000; 0.330204;, + 0.000000;-1.000000; 0.330204;, + 0.000000;-1.000000; 0.246450;, + -0.125000;-1.000000; 0.246450;, + 0.375000; 0.000000; 0.330204;, + 0.375000;-0.125000; 0.330204;, + 0.375000;-0.125000; 0.246450;, + 0.375000; 0.000000; 0.246450;, + 0.750000; 0.250000; 0.330204;, + 0.750000; 0.375000; 0.330204;, + 0.750000; 0.375000; 0.246450;, + 0.750000; 0.250000; 0.246450;, + -0.250000; 1.000000; 0.246450;, + -0.125000; 1.000000; 0.246450;, + -0.125000; 0.875000; 0.246450;, + -0.250000; 0.875000; 0.246450;, + -0.250000; 0.875000; 0.246450;, + -0.125000; 0.875000; 0.246450;, + -0.125000; 0.750000; 0.246450;, + -0.250000; 0.750000; 0.246450;, + 0.500000; 1.000000; 0.330204;, + 0.375000; 1.000000; 0.330204;, + 0.375000; 1.000000; 0.246450;, + 0.500000; 1.000000; 0.246450;, + -0.250000; 0.000000; 0.246450;, + -0.125000; 0.000000; 0.246450;, + -0.125000;-0.125000; 0.246450;, + -0.250000;-0.125000; 0.246450;, + -0.250000;-0.125000; 0.246450;, + -0.125000;-0.125000; 0.246450;, + -0.125000;-0.250000; 0.246450;, + -0.250000;-0.250000; 0.246450;, + -0.250000;-1.000000; 0.330204;, + -0.250000;-0.875000; 0.330204;, + -0.250000;-0.875000; 0.246450;, + -0.250000;-1.000000; 0.246450;, + 0.250000; 1.000000; 0.246450;, + 0.375000; 1.000000; 0.246450;, + 0.375000; 0.875000; 0.246450;, + 0.250000; 0.875000; 0.246450;, + 0.250000; 0.875000; 0.246450;, + 0.375000; 0.875000; 0.246450;, + 0.375000; 0.750000; 0.246450;, + 0.250000; 0.750000; 0.246450;, + 0.125000; 1.000000; 0.330204;, + 0.000000; 1.000000; 0.330204;, + 0.000000; 1.000000; 0.246450;, + 0.125000; 1.000000; 0.246450;, + 0.250000; 0.500000; 0.246450;, + 0.375000; 0.500000; 0.246450;, + 0.375000; 0.375000; 0.246450;, + 0.250000; 0.375000; 0.246450;, + 0.250000; 0.375000; 0.246450;, + 0.375000; 0.375000; 0.246450;, + 0.375000; 0.250000; 0.246450;, + 0.250000; 0.250000; 0.246450;, + 0.750000;-0.875000; 0.330204;, + 0.750000;-0.750000; 0.330204;, + 0.750000;-0.750000; 0.246450;, + 0.750000;-0.875000; 0.246450;, + -0.750000; 1.000000; 0.246450;, + -0.625000; 1.000000; 0.246450;, + -0.625000; 0.875000; 0.246450;, + -0.750000; 0.875000; 0.246450;, + -0.750000; 0.875000; 0.246450;, + -0.625000; 0.875000; 0.246450;, + -0.625000; 0.750000; 0.246450;, + -0.750000; 0.750000; 0.246450;, + -0.625000; 0.750000; 0.330204;, + -0.625000; 0.625000; 0.330204;, + -0.625000; 0.625000; 0.246450;, + -0.625000; 0.750000; 0.246450;, + -0.750000; 0.500000; 0.246450;, + -0.625000; 0.500000; 0.246450;, + -0.625000; 0.375000; 0.246450;, + -0.750000; 0.375000; 0.246450;, + -0.750000; 0.375000; 0.246450;, + -0.625000; 0.375000; 0.246450;, + -0.625000; 0.250000; 0.246450;, + -0.750000; 0.250000; 0.246450;, + 0.375000;-0.875000; 0.330204;, + 0.375000;-1.000000; 0.330204;, + 0.375000;-1.000000; 0.246450;, + 0.375000;-0.875000; 0.246450;, + -0.250000; 0.500000; 0.246450;, + -0.125000; 0.500000; 0.246450;, + -0.125000; 0.375000; 0.246450;, + -0.250000; 0.375000; 0.246450;, + -0.250000; 0.375000; 0.246450;, + -0.125000; 0.375000; 0.246450;, + -0.125000; 0.250000; 0.246450;, + -0.250000; 0.250000; 0.246450;, + 0.250000;-0.125000; 0.330204;, + 0.250000; 0.000000; 0.330204;, + 0.250000; 0.000000; 0.246450;, + 0.250000;-0.125000; 0.246450;, + -0.750000; 0.000000; 0.246450;, + -0.625000; 0.000000; 0.246450;, + -0.625000;-0.125000; 0.246450;, + -0.750000;-0.125000; 0.246450;, + -0.750000;-0.125000; 0.246450;, + -0.625000;-0.125000; 0.246450;, + -0.625000;-0.250000; 0.246450;, + -0.750000;-0.250000; 0.246450;, + -0.125000; 0.250000; 0.330204;, + -0.125000; 0.125000; 0.330204;, + -0.125000; 0.125000; 0.246450;, + -0.125000; 0.250000; 0.246450;, + -0.750000;-0.500000; 0.246450;, + -0.625000;-0.500000; 0.246450;, + -0.625000;-0.625000; 0.246450;, + -0.750000;-0.625000; 0.246450;, + -0.750000;-0.625000; 0.246450;, + -0.625000;-0.625000; 0.246450;, + -0.625000;-0.750000; 0.246450;, + -0.750000;-0.750000; 0.246450;, + -0.250000;-0.750000; 0.330204;, + -0.250000;-0.625000; 0.330204;, + -0.250000;-0.625000; 0.246450;, + -0.250000;-0.750000; 0.246450;, + -0.250000;-0.500000; 0.246450;, + -0.125000;-0.500000; 0.246450;, + -0.125000;-0.625000; 0.246450;, + -0.250000;-0.625000; 0.246450;, + -0.250000;-0.625000; 0.246450;, + -0.125000;-0.625000; 0.246450;, + -0.125000;-0.750000; 0.246450;, + -0.250000;-0.750000; 0.246450;, + 0.750000; 0.875000; 0.330204;, + 0.750000; 1.000000; 0.330204;, + 0.750000; 1.000000; 0.246450;, + 0.750000; 0.875000; 0.246450;, + 0.250000; 0.000000; 0.246450;, + 0.375000; 0.000000; 0.246450;, + 0.375000;-0.125000; 0.246450;, + 0.250000;-0.125000; 0.246450;, + 0.250000;-0.125000; 0.246450;, + 0.375000;-0.125000; 0.246450;, + 0.375000;-0.250000; 0.246450;, + 0.250000;-0.250000; 0.246450;, + 0.125000;-1.000000; 0.330204;, + 0.250000;-1.000000; 0.330204;, + 0.250000;-1.000000; 0.246450;, + 0.125000;-1.000000; 0.246450;, + 0.250000;-0.500000; 0.246450;, + 0.375000;-0.500000; 0.246450;, + 0.375000;-0.625000; 0.246450;, + 0.250000;-0.625000; 0.246450;, + 0.250000;-0.625000; 0.246450;, + 0.375000;-0.625000; 0.246450;, + 0.375000;-0.750000; 0.246450;, + 0.250000;-0.750000; 0.246450;, + -0.125000; 0.875000; 0.330204;, + -0.125000; 0.750000; 0.330204;, + -0.125000; 0.750000; 0.246450;, + -0.125000; 0.875000; 0.246450;, + 0.750000;-0.375000; 0.330204;, + 0.750000;-0.250000; 0.330204;, + 0.750000;-0.250000; 0.246450;, + 0.750000;-0.375000; 0.246450;, + -0.500000; 1.000000; 0.330204;, + -0.625000; 1.000000; 0.330204;, + -0.625000; 1.000000; 0.246450;, + -0.500000; 1.000000; 0.246450;, + 0.375000;-0.250000; 0.330204;, + 0.375000;-0.375000; 0.330204;, + 0.375000;-0.375000; 0.246450;, + 0.375000;-0.250000; 0.246450;, + -0.625000; 0.875000; 0.330204;, + -0.625000; 0.750000; 0.330204;, + -0.625000; 0.750000; 0.246450;, + -0.625000; 0.875000; 0.246450;, + -0.250000; 0.000000; 0.330204;, + -0.250000; 0.125000; 0.330204;, + -0.250000; 0.125000; 0.246450;, + -0.250000; 0.000000; 0.246450;, + -0.625000;-0.625000; 0.330204;, + -0.625000;-0.750000; 0.330204;, + -0.625000;-0.750000; 0.246450;, + -0.625000;-0.625000; 0.246450;, + -0.250000; 0.875000; 0.330204;, + -0.250000; 1.000000; 0.330204;, + -0.250000; 1.000000; 0.246450;, + -0.250000; 0.875000; 0.246450;, + -0.125000; 0.000000; 0.330204;, + -0.125000;-0.125000; 0.330204;, + -0.125000;-0.125000; 0.246450;, + -0.125000; 0.000000; 0.246450;, + 0.250000; 0.000000; 0.330204;, + 0.250000; 0.125000; 0.330204;, + 0.250000; 0.125000; 0.246450;, + 0.250000; 0.000000; 0.246450;, + 0.250000; 0.625000; 0.330204;, + 0.250000; 0.750000; 0.330204;, + 0.250000; 0.750000; 0.246450;, + 0.250000; 0.625000; 0.246450;, + -0.125000; 0.625000; 0.330204;, + -0.125000; 0.500000; 0.330204;, + -0.125000; 0.500000; 0.246450;, + -0.125000; 0.625000; 0.246450;, + -0.625000; 0.500000; 0.330204;, + -0.625000; 0.375000; 0.330204;, + -0.625000; 0.375000; 0.246450;, + -0.625000; 0.500000; 0.246450;, + -0.250000; 0.750000; 0.246450;, + -0.125000; 0.750000; 0.246450;, + -0.125000; 0.625000; 0.246450;, + -0.250000; 0.625000; 0.246450;, + -0.250000; 0.625000; 0.246450;, + -0.125000; 0.625000; 0.246450;, + -0.125000; 0.500000; 0.246450;, + -0.250000; 0.500000; 0.246450;, + -0.250000; 0.250000; 0.330204;, + -0.250000; 0.375000; 0.330204;, + -0.250000; 0.375000; 0.246450;, + -0.250000; 0.250000; 0.246450;, + -0.125000;-0.500000; 0.330204;, + -0.125000;-0.625000; 0.330204;, + -0.125000;-0.625000; 0.246450;, + -0.125000;-0.500000; 0.246450;, + 0.375000; 0.625000; 0.330204;, + 0.375000; 0.500000; 0.330204;, + 0.375000; 0.500000; 0.246450;, + 0.375000; 0.625000; 0.246450;, + 0.750000; 0.375000; 0.330204;, + 0.750000; 0.500000; 0.330204;, + 0.750000; 0.500000; 0.246450;, + 0.750000; 0.375000; 0.246450;, + 0.250000; 0.250000; 0.330204;, + 0.250000; 0.375000; 0.330204;, + 0.250000; 0.375000; 0.246450;, + 0.250000; 0.250000; 0.246450;, + 0.750000; 1.000000; 0.330204;, + 0.625000; 1.000000; 0.330204;, + 0.625000; 1.000000; 0.246450;, + 0.750000; 1.000000; 0.246450;, + 0.750000;-1.000000; 0.330204;, + 0.750000;-0.875000; 0.330204;, + 0.750000;-0.875000; 0.246450;, + 0.750000;-1.000000; 0.246450;, + -0.250000;-0.250000; 0.246450;, + -0.125000;-0.250000; 0.246450;, + -0.125000;-0.375000; 0.246450;, + -0.250000;-0.375000; 0.246450;, + -0.250000;-0.375000; 0.246450;, + -0.125000;-0.375000; 0.246450;, + -0.125000;-0.500000; 0.246450;, + -0.250000;-0.500000; 0.246450;, + -0.625000;-0.875000; 0.330204;, + -0.625000;-1.000000; 0.330204;, + -0.625000;-1.000000; 0.246450;, + -0.625000;-0.875000; 0.246450;, + 0.250000;-0.875000; 0.330204;, + 0.250000;-0.750000; 0.330204;, + 0.250000;-0.750000; 0.246450;, + 0.250000;-0.875000; 0.246450;, + 0.375000;-1.000000; 0.330204;, + 0.500000;-1.000000; 0.330204;, + 0.500000;-1.000000; 0.246450;, + 0.375000;-1.000000; 0.246450;, + -0.250000;-0.625000; 0.330204;, + -0.250000;-0.500000; 0.330204;, + -0.250000;-0.500000; 0.246450;, + -0.250000;-0.625000; 0.246450;, + 0.125000;-1.152395; 0.000000;, + 0.125000;-1.152395; 0.246450;, + 0.125000;-1.000000; 0.246450;, + 0.125000;-1.000000; 0.000000;, + 0.750000;-0.750000; 0.330204;, + 0.750000;-0.625000; 0.330204;, + 0.750000;-0.625000; 0.246450;, + 0.750000;-0.750000; 0.246450;, + 0.750000;-0.500000; 0.330204;, + 0.750000;-0.375000; 0.330204;, + 0.750000;-0.375000; 0.246450;, + 0.750000;-0.500000; 0.246450;, + -0.250000;-0.375000; 0.330204;, + -0.250000;-0.250000; 0.330204;, + -0.250000;-0.250000; 0.246450;, + -0.250000;-0.375000; 0.246450;, + 0.375000; 0.375000; 0.330204;, + 0.375000; 0.250000; 0.330204;, + 0.375000; 0.250000; 0.246450;, + 0.375000; 0.375000; 0.246450;, + -0.250000; 1.000000; 0.330204;, + -0.375000; 1.000000; 0.330204;, + -0.375000; 1.000000; 0.246450;, + -0.250000; 1.000000; 0.246450;, + 0.375000;-0.750000; 0.330204;, + 0.375000;-0.875000; 0.330204;, + 0.375000;-0.875000; 0.246450;, + 0.375000;-0.750000; 0.246450;, + -0.625000;-0.125000; 0.330204;, + -0.625000;-0.250000; 0.330204;, + -0.625000;-0.250000; 0.246450;, + -0.625000;-0.125000; 0.246450;, + 0.375000;-0.625000; 0.330204;, + 0.375000;-0.750000; 0.330204;, + 0.375000;-0.750000; 0.246450;, + 0.375000;-0.625000; 0.246450;, + 0.250000; 0.750000; 0.246450;, + 0.375000; 0.750000; 0.246450;, + 0.375000; 0.625000; 0.246450;, + 0.250000; 0.625000; 0.246450;, + 0.250000; 0.625000; 0.246450;, + 0.375000; 0.625000; 0.246450;, + 0.375000; 0.500000; 0.246450;, + 0.250000; 0.500000; 0.246450;, + -0.125000; 1.000000; 0.330204;, + -0.125000; 0.875000; 0.330204;, + -0.125000; 0.875000; 0.246450;, + -0.125000; 1.000000; 0.246450;, + 0.250000; 0.500000; 0.330204;, + 0.250000; 0.625000; 0.330204;, + 0.250000; 0.625000; 0.246450;, + 0.250000; 0.500000; 0.246450;, + 0.750000;-0.250000; 0.330204;, + 0.750000;-0.125000; 0.330204;, + 0.750000;-0.125000; 0.246450;, + 0.750000;-0.250000; 0.246450;, + -0.625000;-1.000000; 0.330204;, + -0.500000;-1.000000; 0.330204;, + -0.500000;-1.000000; 0.246450;, + -0.625000;-1.000000; 0.246450;, + -0.625000; 1.000000; 0.330204;, + -0.625000; 0.875000; 0.330204;, + -0.625000; 0.875000; 0.246450;, + -0.625000; 1.000000; 0.246450;, + -0.250000; 0.375000; 0.330204;, + -0.250000; 0.500000; 0.330204;, + -0.250000; 0.500000; 0.246450;, + -0.250000; 0.375000; 0.246450;, + -0.125000;-0.375000; 0.330204;, + -0.125000;-0.500000; 0.330204;, + -0.125000;-0.500000; 0.246450;, + -0.125000;-0.375000; 0.246450;, + 0.250000; 0.250000; 0.246450;, + 0.375000; 0.250000; 0.246450;, + 0.375000; 0.125000; 0.246450;, + 0.250000; 0.125000; 0.246450;, + 0.250000; 0.125000; 0.246450;, + 0.375000; 0.125000; 0.246450;, + 0.375000; 0.000000; 0.246450;, + 0.250000; 0.000000; 0.246450;, + -0.625000;-0.500000; 0.330204;, + -0.625000;-0.625000; 0.330204;, + -0.625000;-0.625000; 0.246450;, + -0.625000;-0.500000; 0.246450;, + 0.250000; 0.375000; 0.330204;, + 0.250000; 0.500000; 0.330204;, + 0.250000; 0.500000; 0.246450;, + 0.250000; 0.375000; 0.246450;, + 0.375000; 0.125000; 0.330204;, + 0.375000; 0.000000; 0.330204;, + 0.375000; 0.000000; 0.246450;, + 0.375000; 0.125000; 0.246450;, + 0.250000; 0.750000; 0.330204;, + 0.250000; 0.875000; 0.330204;, + 0.250000; 0.875000; 0.246450;, + 0.250000; 0.750000; 0.246450;, + 0.625000; 1.000000; 0.330204;, + 0.500000; 1.000000; 0.330204;, + 0.500000; 1.000000; 0.246450;, + 0.625000; 1.000000; 0.246450;, + -0.125000; 0.750000; 0.330204;, + -0.125000; 0.625000; 0.330204;, + -0.125000; 0.625000; 0.246450;, + -0.125000; 0.750000; 0.246450;, + -0.625000; 0.125000; 0.330204;, + -0.625000; 0.000000; 0.330204;, + -0.625000; 0.000000; 0.246450;, + -0.625000; 0.125000; 0.246450;, + -0.750000; 0.750000; 0.246450;, + -0.625000; 0.750000; 0.246450;, + -0.625000; 0.625000; 0.246450;, + -0.750000; 0.625000; 0.246450;, + -0.750000; 0.625000; 0.246450;, + -0.625000; 0.625000; 0.246450;, + -0.625000; 0.500000; 0.246450;, + -0.750000; 0.500000; 0.246450;, + 0.250000;-1.000000; 0.330204;, + 0.250000;-0.875000; 0.330204;, + 0.250000;-0.875000; 0.246450;, + 0.250000;-1.000000; 0.246450;, + -0.750000; 0.250000; 0.246450;, + -0.625000; 0.250000; 0.246450;, + -0.625000; 0.125000; 0.246450;, + -0.750000; 0.125000; 0.246450;, + -0.750000; 0.125000; 0.246450;, + -0.625000; 0.125000; 0.246450;, + -0.625000; 0.000000; 0.246450;, + -0.750000; 0.000000; 0.246450;, + -0.625000;-0.375000; 0.330204;, + -0.625000;-0.500000; 0.330204;, + -0.625000;-0.500000; 0.246450;, + -0.625000;-0.375000; 0.246450;, + 0.250000;-0.375000; 0.330204;, + 0.250000;-0.250000; 0.330204;, + 0.250000;-0.250000; 0.246450;, + 0.250000;-0.375000; 0.246450;, + 0.375000; 0.750000; 0.330204;, + 0.375000; 0.625000; 0.330204;, + 0.375000; 0.625000; 0.246450;, + 0.375000; 0.750000; 0.246450;, + 0.750000; 0.625000; 0.330204;, + 0.750000; 0.750000; 0.330204;, + 0.750000; 0.750000; 0.246450;, + 0.750000; 0.625000; 0.246450;, + -0.125000;-0.875000; 0.330204;, + -0.125000;-1.000000; 0.330204;, + -0.125000;-1.000000; 0.246450;, + -0.125000;-0.875000; 0.246450;, + 0.625000;-1.000000; 0.330204;, + 0.750000;-1.000000; 0.330204;, + 0.750000;-1.000000; 0.246450;, + 0.625000;-1.000000; 0.246450;, + 0.750000;-0.625000; 0.330204;, + 0.750000;-0.500000; 0.330204;, + 0.750000;-0.500000; 0.246450;, + 0.750000;-0.625000; 0.246450;, + -0.250000; 0.250000; 0.246450;, + -0.125000; 0.250000; 0.246450;, + -0.125000; 0.125000; 0.246450;, + -0.250000; 0.125000; 0.246450;, + -0.250000; 0.125000; 0.246450;, + -0.125000; 0.125000; 0.246450;, + -0.125000; 0.000000; 0.246450;, + -0.250000; 0.000000; 0.246450;, + -0.625000;-0.750000; 0.330204;, + -0.625000;-0.875000; 0.330204;, + -0.625000;-0.875000; 0.246450;, + -0.625000;-0.750000; 0.246450;, + -0.750000;-0.250000; 0.246450;, + -0.625000;-0.250000; 0.246450;, + -0.625000;-0.375000; 0.246450;, + -0.750000;-0.375000; 0.246450;, + -0.750000;-0.375000; 0.246450;, + -0.625000;-0.375000; 0.246450;, + -0.625000;-0.500000; 0.246450;, + -0.750000;-0.500000; 0.246450;, + 0.250000;-0.750000; 0.330204;, + 0.250000;-0.625000; 0.330204;, + 0.250000;-0.625000; 0.246450;, + 0.250000;-0.750000; 0.246450;, + -0.750000;-0.750000; 0.246450;, + -0.625000;-0.750000; 0.246450;, + -0.625000;-0.875000; 0.246450;, + -0.750000;-0.875000; 0.246450;, + -0.750000;-0.875000; 0.246450;, + -0.625000;-0.875000; 0.246450;, + -0.625000;-1.000000; 0.246450;, + -0.750000;-1.000000; 0.246450;, + -0.250000;-0.500000; 0.330204;, + -0.250000;-0.375000; 0.330204;, + -0.250000;-0.375000; 0.246450;, + -0.250000;-0.500000; 0.246450;, + -0.250000; 0.625000; 0.330204;, + -0.250000; 0.750000; 0.330204;, + -0.250000; 0.750000; 0.246450;, + -0.250000; 0.625000; 0.246450;, + 0.375000; 0.875000; 0.330204;, + 0.375000; 0.750000; 0.330204;, + 0.375000; 0.750000; 0.246450;, + 0.375000; 0.875000; 0.246450;, + -0.375000; 1.000000; 0.330204;, + -0.500000; 1.000000; 0.330204;, + -0.500000; 1.000000; 0.246450;, + -0.375000; 1.000000; 0.246450;, + -0.125000; 0.375000; 0.330204;, + -0.125000; 0.250000; 0.330204;, + -0.125000; 0.250000; 0.246450;, + -0.125000; 0.375000; 0.246450;, + 0.000000; 1.000000; 0.330204;, + -0.125000; 1.000000; 0.330204;, + -0.125000; 1.000000; 0.246450;, + 0.000000; 1.000000; 0.246450;, + 0.375000;-0.125000; 0.330204;, + 0.375000;-0.250000; 0.330204;, + 0.375000;-0.250000; 0.246450;, + 0.375000;-0.125000; 0.246450;, + -0.250000;-0.750000; 0.246450;, + -0.125000;-0.750000; 0.246450;, + -0.125000;-0.875000; 0.246450;, + -0.250000;-0.875000; 0.246450;, + -0.250000;-0.875000; 0.246450;, + -0.125000;-0.875000; 0.246450;, + -0.125000;-1.000000; 0.246450;, + -0.250000;-1.000000; 0.246450;, + 0.750000;-0.125000; 0.330204;, + 0.750000; 0.000000; 0.330204;, + 0.750000; 0.000000; 0.246450;, + 0.750000;-0.125000; 0.246450;, + -0.250000;-0.250000; 0.330204;, + -0.250000;-0.125000; 0.330204;, + -0.250000;-0.125000; 0.246450;, + -0.250000;-0.250000; 0.246450;, + 0.375000; 0.500000; 0.330204;, + 0.375000; 0.375000; 0.330204;, + 0.375000; 0.375000; 0.246450;, + 0.375000; 0.500000; 0.246450;, + 0.750000; 0.125000; 0.330204;, + 0.750000; 0.250000; 0.330204;, + 0.750000; 0.250000; 0.246450;, + 0.750000; 0.125000; 0.246450;, + -0.375000;-1.000000; 0.330204;, + -0.250000;-1.000000; 0.330204;, + -0.250000;-1.000000; 0.246450;, + -0.375000;-1.000000; 0.246450;, + -0.625000; 0.000000; 0.330204;, + -0.625000;-0.125000; 0.330204;, + -0.625000;-0.125000; 0.246450;, + -0.625000; 0.000000; 0.246450;, + 0.375000;-0.500000; 0.330204;, + 0.375000;-0.625000; 0.330204;, + 0.375000;-0.625000; 0.246450;, + 0.375000;-0.500000; 0.246450;, + 0.250000;-0.250000; 0.246450;, + 0.375000;-0.250000; 0.246450;, + 0.375000;-0.375000; 0.246450;, + 0.250000;-0.375000; 0.246450;, + 0.250000;-0.375000; 0.246450;, + 0.375000;-0.375000; 0.246450;, + 0.375000;-0.500000; 0.246450;, + 0.250000;-0.500000; 0.246450;, + 0.250000; 0.875000; 0.330204;, + 0.250000; 1.000000; 0.330204;, + 0.250000; 1.000000; 0.246450;, + 0.250000; 0.875000; 0.246450;, + -0.625000; 0.625000; 0.330204;, + -0.625000; 0.500000; 0.330204;, + -0.625000; 0.500000; 0.246450;, + -0.625000; 0.625000; 0.246450;, + -0.125000;-0.250000; 0.330204;, + -0.125000;-0.375000; 0.330204;, + -0.125000;-0.375000; 0.246450;, + -0.125000;-0.250000; 0.246450;, + 0.250000;-0.500000; 0.330204;, + 0.250000;-0.375000; 0.330204;, + 0.250000;-0.375000; 0.246450;, + 0.250000;-0.500000; 0.246450;, + -0.125000; 0.125000; 0.330204;, + -0.125000; 0.000000; 0.330204;, + -0.125000; 0.000000; 0.246450;, + -0.125000; 0.125000; 0.246450;, + -0.250000;-0.875000; 0.330204;, + -0.250000;-0.750000; 0.330204;, + -0.250000;-0.750000; 0.246450;, + -0.250000;-0.875000; 0.246450;, + 0.750000; 0.500000; 0.330204;, + 0.750000; 0.625000; 0.330204;, + 0.750000; 0.625000; 0.246450;, + 0.750000; 0.500000; 0.246450;, + 0.250000;-0.750000; 0.246450;, + 0.375000;-0.750000; 0.246450;, + 0.375000;-0.875000; 0.246450;, + 0.250000;-0.875000; 0.246450;, + 0.250000;-0.875000; 0.246450;, + 0.375000;-0.875000; 0.246450;, + 0.375000;-1.000000; 0.246450;, + 0.250000;-1.000000; 0.246450;, + 0.250000; 1.000000; 0.330204;, + 0.125000; 1.000000; 0.330204;, + 0.125000; 1.000000; 0.246450;, + 0.250000; 1.000000; 0.246450;, + 0.375000; 0.250000; 0.330204;, + 0.375000; 0.125000; 0.330204;, + 0.375000; 0.125000; 0.246450;, + 0.375000; 0.250000; 0.246450;, + 0.500000;-1.000000; 0.330204;, + 0.625000;-1.000000; 0.330204;, + 0.625000;-1.000000; 0.246450;, + 0.500000;-1.000000; 0.246450;, + 0.375000;-0.375000; 0.330204;, + 0.375000;-0.500000; 0.330204;, + 0.375000;-0.500000; 0.246450;, + 0.375000;-0.375000; 0.246450;, + -0.625000; 0.250000; 0.330204;, + -0.625000; 0.125000; 0.330204;, + -0.625000; 0.125000; 0.246450;, + -0.625000; 0.250000; 0.246450;, + 0.250000;-0.625000; 0.330204;, + 0.250000;-0.500000; 0.330204;, + 0.250000;-0.500000; 0.246450;, + 0.250000;-0.625000; 0.246450;, + -0.625000;-0.250000; 0.330204;, + -0.625000;-0.375000; 0.330204;, + -0.625000;-0.375000; 0.246450;, + -0.625000;-0.250000; 0.246450;, + 0.625000;-1.000000; 0.246450;, + 0.750000;-1.000000; 0.246450;, + 0.750000;-1.000000; 0.000000;, + 0.625000;-1.000000; 0.000000;, + 0.000000;-1.287628;-0.289304;, + 0.000000;-1.152395;-0.289304;, + 0.000000;-1.152395; 0.000000;, + 0.000000;-1.287628; 0.000000;, + -0.750000; 0.500000; 0.246450;, + -0.750000; 0.375000; 0.246450;, + -0.750000; 0.375000; 0.000000;, + -0.750000; 0.500000; 0.000000;, + 0.859843;-1.000000; 0.000000;, + 0.859843;-0.875000; 0.000000;, + 0.750000;-0.875000; 0.000000;, + 0.750000;-1.000000; 0.000000;, + -0.750000;-0.250000; 0.246450;, + -0.750000;-0.375000; 0.246450;, + -0.750000;-0.375000; 0.000000;, + -0.750000;-0.250000; 0.000000;, + 0.859843; 0.500000; 0.246450;, + 0.859843; 0.375000; 0.246450;, + 0.750000; 0.375000; 0.246450;, + 0.750000; 0.500000; 0.246450;, + -0.375000; 1.000000; 0.246450;, + -0.500000; 1.000000; 0.246450;, + -0.500000; 1.000000; 0.000000;, + -0.375000; 1.000000; 0.000000;, + -0.750000;-0.500000; 0.246450;, + -0.750000;-0.625000; 0.246450;, + -0.750000;-0.625000; 0.000000;, + -0.750000;-0.500000; 0.000000;, + 0.859843;-0.500000; 0.246450;, + 0.859843;-0.625000; 0.246450;, + 0.750000;-0.625000; 0.246450;, + 0.750000;-0.500000; 0.246450;, + 0.125000;-1.000000; 0.246450;, + 0.250000;-1.000000; 0.246450;, + 0.250000;-1.000000; 0.000000;, + 0.125000;-1.000000; 0.000000;, + -0.750000; 1.000000; 0.246450;, + -0.750000; 0.875000; 0.246450;, + -0.750000; 0.875000; 0.000000;, + -0.750000; 1.000000; 0.000000;, + -0.750000; 0.375000; 0.246450;, + -0.750000; 0.250000; 0.246450;, + -0.750000; 0.250000; 0.000000;, + -0.750000; 0.375000; 0.000000;, + -0.500000; 1.000000; 0.246450;, + -0.625000; 1.000000; 0.246450;, + -0.625000; 1.000000; 0.000000;, + -0.500000; 1.000000; 0.000000;, + 0.859843;-0.375000; 0.246450;, + 0.859843;-0.500000; 0.246450;, + 0.750000;-0.500000; 0.246450;, + 0.750000;-0.375000; 0.246450;, + -0.250000; 1.000000; 0.246450;, + -0.375000; 1.000000; 0.246450;, + -0.375000; 1.000000; 0.000000;, + -0.250000; 1.000000; 0.000000;, + 0.859843; 0.250000; 0.000000;, + 0.859843; 0.375000; 0.000000;, + 0.750000; 0.375000; 0.000000;, + 0.750000; 0.250000; 0.000000;, + -0.750000; 0.000000; 0.246450;, + -0.750000;-0.125000; 0.246450;, + -0.750000;-0.125000; 0.000000;, + -0.750000; 0.000000; 0.000000;, + -0.750000;-0.625000; 0.246450;, + -0.750000;-0.750000; 0.246450;, + -0.750000;-0.750000; 0.000000;, + -0.750000;-0.625000; 0.000000;, + 0.500000; 1.000000; 0.246450;, + 0.375000; 1.000000; 0.246450;, + 0.375000; 1.000000; 0.000000;, + 0.500000; 1.000000; 0.000000;, + 0.859843; 0.250000; 0.246450;, + 0.859843; 0.125000; 0.246450;, + 0.750000; 0.125000; 0.246450;, + 0.750000; 0.250000; 0.246450;, + -0.750000; 0.875000; 0.246450;, + -0.750000; 0.750000; 0.246450;, + -0.750000; 0.750000; 0.000000;, + -0.750000; 0.875000; 0.000000;, + 0.000000; 1.000000; 0.246450;, + -0.125000; 1.000000; 0.246450;, + -0.125000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + -0.625000; 1.000000; 0.246450;, + -0.750000; 1.000000; 0.246450;, + -0.750000; 1.000000; 0.000000;, + -0.625000; 1.000000; 0.000000;, + 0.859843;-0.750000; 0.000000;, + 0.859843;-0.625000; 0.000000;, + 0.750000;-0.625000; 0.000000;, + 0.750000;-0.750000; 0.000000;, + 0.625000; 1.000000; 0.246450;, + 0.500000; 1.000000; 0.246450;, + 0.500000; 1.000000; 0.000000;, + 0.625000; 1.000000; 0.000000;, + 0.859843; 0.875000; 0.000000;, + 0.859843; 1.000000; 0.000000;, + 0.750000; 1.000000; 0.000000;, + 0.750000; 0.875000; 0.000000;, + -0.750000;-0.125000; 0.246450;, + -0.750000;-0.250000; 0.246450;, + -0.750000;-0.250000; 0.000000;, + -0.750000;-0.125000; 0.000000;, + -0.500000;-1.000000; 0.246450;, + -0.375000;-1.000000; 0.246450;, + -0.375000;-1.000000; 0.000000;, + -0.500000;-1.000000; 0.000000;, + 0.375000; 1.000000; 0.246450;, + 0.250000; 1.000000; 0.246450;, + 0.250000; 1.000000; 0.000000;, + 0.375000; 1.000000; 0.000000;, + 0.859843; 0.875000; 0.246450;, + 0.859843; 0.750000; 0.246450;, + 0.750000; 0.750000; 0.246450;, + 0.750000; 0.875000; 0.246450;, + 0.859843;-0.375000; 0.000000;, + 0.859843;-0.250000; 0.000000;, + 0.750000;-0.250000; 0.000000;, + 0.750000;-0.375000; 0.000000;, + -0.125000; 1.000000; 0.246450;, + -0.250000; 1.000000; 0.246450;, + -0.250000; 1.000000; 0.000000;, + -0.125000; 1.000000; 0.000000;, + -0.625000;-1.000000; 0.246450;, + -0.500000;-1.000000; 0.246450;, + -0.500000;-1.000000; 0.000000;, + -0.625000;-1.000000; 0.000000;, + 0.750000; 1.000000; 0.246450;, + 0.625000; 1.000000; 0.246450;, + 0.625000; 1.000000; 0.000000;, + 0.750000; 1.000000; 0.000000;, + 0.125000; 1.000000; 0.246450;, + 0.000000; 1.000000; 0.246450;, + 0.000000; 1.000000; 0.000000;, + 0.125000; 1.000000; 0.000000;, + -0.750000; 0.125000; 0.246450;, + -0.750000; 0.000000; 0.246450;, + -0.750000; 0.000000; 0.000000;, + -0.750000; 0.125000; 0.000000;, + 0.859843;-0.750000; 0.246450;, + 0.859843;-0.875000; 0.246450;, + 0.750000;-0.875000; 0.246450;, + 0.750000;-0.750000; 0.246450;, + -0.375000;-1.000000; 0.246450;, + -0.250000;-1.000000; 0.246450;, + -0.250000;-1.000000; 0.000000;, + -0.375000;-1.000000; 0.000000;, + 0.859843;-0.125000; 0.000000;, + 0.859843; 0.000000; 0.000000;, + 0.750000; 0.000000; 0.000000;, + 0.750000;-0.125000; 0.000000;, + 0.375000;-1.000000; 0.246450;, + 0.500000;-1.000000; 0.246450;, + 0.500000;-1.000000; 0.000000;, + 0.375000;-1.000000; 0.000000;, + -0.750000;-0.875000; 0.246450;, + -0.750000;-1.000000; 0.246450;, + -0.750000;-1.000000; 0.000000;, + -0.750000;-0.875000; 0.000000;, + -0.125000;-1.000000; 0.246450;, + 0.000000;-1.000000; 0.246450;, + 0.000000;-1.000000; 0.000000;, + -0.125000;-1.000000; 0.000000;, + -0.750000;-1.000000; 0.246450;, + -0.625000;-1.000000; 0.246450;, + -0.625000;-1.000000; 0.000000;, + -0.750000;-1.000000; 0.000000;, + 0.250000; 1.000000; 0.246450;, + 0.125000; 1.000000; 0.246450;, + 0.125000; 1.000000; 0.000000;, + 0.250000; 1.000000; 0.000000;, + -0.750000; 0.625000; 0.246450;, + -0.750000; 0.500000; 0.246450;, + -0.750000; 0.500000; 0.000000;, + -0.750000; 0.625000; 0.000000;, + -0.750000; 0.250000; 0.246450;, + -0.750000; 0.125000; 0.246450;, + -0.750000; 0.125000; 0.000000;, + -0.750000; 0.250000; 0.000000;, + 0.859843; 0.125000; 0.246450;, + 0.859843; 0.000000; 0.246450;, + 0.750000; 0.000000; 0.246450;, + 0.750000; 0.125000; 0.246450;, + 0.500000;-1.000000; 0.246450;, + 0.625000;-1.000000; 0.246450;, + 0.625000;-1.000000; 0.000000;, + 0.500000;-1.000000; 0.000000;, + 0.250000;-1.000000; 0.246450;, + 0.375000;-1.000000; 0.246450;, + 0.375000;-1.000000; 0.000000;, + 0.250000;-1.000000; 0.000000;, + 0.859843; 1.000000; 0.246450;, + 0.859843; 0.875000; 0.246450;, + 0.750000; 0.875000; 0.246450;, + 0.750000; 1.000000; 0.246450;, + -0.750000;-0.375000; 0.246450;, + -0.750000;-0.500000; 0.246450;, + -0.750000;-0.500000; 0.000000;, + -0.750000;-0.375000; 0.000000;, + -0.750000;-0.750000; 0.246450;, + -0.750000;-0.875000; 0.246450;, + -0.750000;-0.875000; 0.000000;, + -0.750000;-0.750000; 0.000000;, + 0.859843;-0.875000; 0.246450;, + 0.859843;-1.000000; 0.246450;, + 0.750000;-1.000000; 0.246450;, + 0.750000;-0.875000; 0.246450;, + -0.250000;-1.000000; 0.246450;, + -0.125000;-1.000000; 0.246450;, + -0.125000;-1.000000; 0.000000;, + -0.250000;-1.000000; 0.000000;, + 0.859843; 0.375000; 0.000000;, + 0.859843; 0.500000; 0.000000;, + 0.750000; 0.500000; 0.000000;, + 0.750000; 0.375000; 0.000000;, + -0.750000; 0.750000; 0.246450;, + -0.750000; 0.625000; 0.246450;, + -0.750000; 0.625000; 0.000000;, + -0.750000; 0.750000; 0.000000;, + -0.125000; 1.000000; 0.330204;, + 0.000000; 1.000000; 0.330204;, + 0.000000; 0.875000; 0.330204;, + -0.125000; 0.875000; 0.330204;, + -0.125000; 0.000000; 0.330204;, + 0.000000; 0.000000; 0.330204;, + 0.000000;-0.125000; 0.330204;, + -0.125000;-0.125000; 0.330204;, + 0.375000; 1.000000; 0.330204;, + 0.500000; 1.000000; 0.330204;, + 0.500000; 0.875000; 0.330204;, + 0.375000; 0.875000; 0.330204;, + 0.375000; 0.500000; 0.330204;, + 0.500000; 0.500000; 0.330204;, + 0.500000; 0.375000; 0.330204;, + 0.375000; 0.375000; 0.330204;, + -0.625000; 1.000000; 0.330204;, + -0.500000; 1.000000; 0.330204;, + -0.500000; 0.875000; 0.330204;, + -0.625000; 0.875000; 0.330204;, + -0.625000; 0.500000; 0.330204;, + -0.500000; 0.500000; 0.330204;, + -0.500000; 0.375000; 0.330204;, + -0.625000; 0.375000; 0.330204;, + -0.125000; 0.500000; 0.330204;, + 0.000000; 0.500000; 0.330204;, + 0.000000; 0.375000; 0.330204;, + -0.125000; 0.375000; 0.330204;, + -0.625000; 0.000000; 0.330204;, + -0.500000; 0.000000; 0.330204;, + -0.500000;-0.125000; 0.330204;, + -0.625000;-0.125000; 0.330204;, + -0.625000;-0.500000; 0.330204;, + -0.500000;-0.500000; 0.330204;, + -0.500000;-0.625000; 0.330204;, + -0.625000;-0.625000; 0.330204;, + -0.125000;-0.500000; 0.330204;, + 0.000000;-0.500000; 0.330204;, + 0.000000;-0.625000; 0.330204;, + -0.125000;-0.625000; 0.330204;, + 0.375000; 0.000000; 0.330204;, + 0.500000; 0.000000; 0.330204;, + 0.500000;-0.125000; 0.330204;, + 0.375000;-0.125000; 0.330204;, + 0.375000;-0.500000; 0.330204;, + 0.500000;-0.500000; 0.330204;, + 0.500000;-0.625000; 0.330204;, + 0.375000;-0.625000; 0.330204;, + 0.625000; 1.000000; 0.330204;, + 0.750000; 1.000000; 0.330204;, + 0.750000; 0.875000; 0.330204;, + 0.625000; 0.875000; 0.330204;, + 0.625000; 0.750000; 0.330204;, + 0.750000; 0.750000; 0.330204;, + 0.750000; 0.625000; 0.330204;, + 0.625000; 0.625000; 0.330204;, + -0.375000; 1.000000; 0.330204;, + -0.250000; 1.000000; 0.330204;, + -0.250000; 0.875000; 0.330204;, + -0.375000; 0.875000; 0.330204;, + -0.375000; 0.750000; 0.330204;, + -0.250000; 0.750000; 0.330204;, + -0.250000; 0.625000; 0.330204;, + -0.375000; 0.625000; 0.330204;, + -0.125000; 0.750000; 0.330204;, + 0.000000; 0.750000; 0.330204;, + 0.000000; 0.625000; 0.330204;, + -0.125000; 0.625000; 0.330204;, + -0.375000; 0.000000; 0.330204;, + -0.250000; 0.000000; 0.330204;, + -0.250000;-0.125000; 0.330204;, + -0.375000;-0.125000; 0.330204;, + -0.375000;-0.250000; 0.330204;, + -0.250000;-0.250000; 0.330204;, + -0.250000;-0.375000; 0.330204;, + -0.375000;-0.375000; 0.330204;, + -0.125000;-0.250000; 0.330204;, + 0.000000;-0.250000; 0.330204;, + 0.000000;-0.375000; 0.330204;, + -0.125000;-0.375000; 0.330204;, + 0.625000; 0.000000; 0.330204;, + 0.750000; 0.000000; 0.330204;, + 0.750000;-0.125000; 0.330204;, + 0.625000;-0.125000; 0.330204;, + 0.625000;-0.250000; 0.330204;, + 0.750000;-0.250000; 0.330204;, + 0.750000;-0.375000; 0.330204;, + 0.625000;-0.375000; 0.330204;, + 0.125000; 1.000000; 0.330204;, + 0.250000; 1.000000; 0.330204;, + 0.250000; 0.875000; 0.330204;, + 0.125000; 0.875000; 0.330204;, + 0.125000; 0.750000; 0.330204;, + 0.250000; 0.750000; 0.330204;, + 0.250000; 0.625000; 0.330204;, + 0.125000; 0.625000; 0.330204;, + 0.375000; 0.750000; 0.330204;, + 0.500000; 0.750000; 0.330204;, + 0.500000; 0.625000; 0.330204;, + 0.375000; 0.625000; 0.330204;, + 0.125000; 0.500000; 0.330204;, + 0.250000; 0.500000; 0.330204;, + 0.250000; 0.375000; 0.330204;, + 0.125000; 0.375000; 0.330204;, + 0.125000; 0.250000; 0.330204;, + 0.250000; 0.250000; 0.330204;, + 0.250000; 0.125000; 0.330204;, + 0.125000; 0.125000; 0.330204;, + 0.375000; 0.250000; 0.330204;, + 0.500000; 0.250000; 0.330204;, + 0.500000; 0.125000; 0.330204;, + 0.375000; 0.125000; 0.330204;, + 0.625000; 0.500000; 0.330204;, + 0.750000; 0.500000; 0.330204;, + 0.750000; 0.375000; 0.330204;, + 0.625000; 0.375000; 0.330204;, + 0.625000; 0.250000; 0.330204;, + 0.750000; 0.250000; 0.330204;, + 0.750000; 0.125000; 0.330204;, + 0.625000; 0.125000; 0.330204;, + -0.625000; 0.750000; 0.330204;, + -0.500000; 0.750000; 0.330204;, + -0.500000; 0.625000; 0.330204;, + -0.625000; 0.625000; 0.330204;, + -0.625000; 0.250000; 0.330204;, + -0.500000; 0.250000; 0.330204;, + -0.500000; 0.125000; 0.330204;, + -0.625000; 0.125000; 0.330204;, + -0.375000; 0.500000; 0.330204;, + -0.250000; 0.500000; 0.330204;, + -0.250000; 0.375000; 0.330204;, + -0.375000; 0.375000; 0.330204;, + -0.375000; 0.250000; 0.330204;, + -0.250000; 0.250000; 0.330204;, + -0.250000; 0.125000; 0.330204;, + -0.375000; 0.125000; 0.330204;, + -0.125000; 0.250000; 0.330204;, + 0.000000; 0.250000; 0.330204;, + 0.000000; 0.125000; 0.330204;, + -0.125000; 0.125000; 0.330204;, + -0.625000;-0.250000; 0.330204;, + -0.500000;-0.250000; 0.330204;, + -0.500000;-0.375000; 0.330204;, + -0.625000;-0.375000; 0.330204;, + -0.625000;-0.750000; 0.330204;, + -0.500000;-0.750000; 0.330204;, + -0.500000;-0.875000; 0.330204;, + -0.625000;-0.875000; 0.330204;, + -0.375000;-0.500000; 0.330204;, + -0.250000;-0.500000; 0.330204;, + -0.250000;-0.625000; 0.330204;, + -0.375000;-0.625000; 0.330204;, + -0.375000;-0.750000; 0.330204;, + -0.250000;-0.750000; 0.330204;, + -0.250000;-0.875000; 0.330204;, + -0.375000;-0.875000; 0.330204;, + -0.125000;-0.750000; 0.330204;, + 0.000000;-0.750000; 0.330204;, + 0.000000;-0.875000; 0.330204;, + -0.125000;-0.875000; 0.330204;, + 0.125000; 0.000000; 0.330204;, + 0.250000; 0.000000; 0.330204;, + 0.250000;-0.125000; 0.330204;, + 0.125000;-0.125000; 0.330204;, + 0.125000;-0.250000; 0.330204;, + 0.250000;-0.250000; 0.330204;, + 0.250000;-0.375000; 0.330204;, + 0.125000;-0.375000; 0.330204;, + 0.375000;-0.250000; 0.330204;, + 0.500000;-0.250000; 0.330204;, + 0.500000;-0.375000; 0.330204;, + 0.375000;-0.375000; 0.330204;, + 0.125000;-0.500000; 0.330204;, + 0.250000;-0.500000; 0.330204;, + 0.250000;-0.625000; 0.330204;, + 0.125000;-0.625000; 0.330204;, + 0.125000;-0.750000; 0.330204;, + 0.250000;-0.750000; 0.330204;, + 0.250000;-0.875000; 0.330204;, + 0.125000;-0.875000; 0.330204;, + 0.375000;-0.750000; 0.330204;, + 0.500000;-0.750000; 0.330204;, + 0.500000;-0.875000; 0.330204;, + 0.375000;-0.875000; 0.330204;, + 0.625000;-0.500000; 0.330204;, + 0.750000;-0.500000; 0.330204;, + 0.750000;-0.625000; 0.330204;, + 0.625000;-0.625000; 0.330204;, + 0.625000;-0.750000; 0.330204;, + 0.750000;-0.750000; 0.330204;, + 0.750000;-0.875000; 0.330204;, + 0.625000;-0.875000; 0.330204;, + -0.125000; 0.875000; 0.330204;, + 0.000000; 0.875000; 0.330204;, + 0.000000; 0.750000; 0.330204;, + -0.125000; 0.750000; 0.330204;, + -0.125000;-0.125000; 0.330204;, + 0.000000;-0.125000; 0.330204;, + 0.000000;-0.250000; 0.330204;, + -0.125000;-0.250000; 0.330204;, + 0.375000; 0.875000; 0.330204;, + 0.500000; 0.875000; 0.330204;, + 0.500000; 0.750000; 0.330204;, + 0.375000; 0.750000; 0.330204;, + 0.375000; 0.375000; 0.330204;, + 0.500000; 0.375000; 0.330204;, + 0.500000; 0.250000; 0.330204;, + 0.375000; 0.250000; 0.330204;, + -0.625000; 0.875000; 0.330204;, + -0.500000; 0.875000; 0.330204;, + -0.500000; 0.750000; 0.330204;, + -0.625000; 0.750000; 0.330204;, + -0.625000; 0.375000; 0.330204;, + -0.500000; 0.375000; 0.330204;, + -0.500000; 0.250000; 0.330204;, + -0.625000; 0.250000; 0.330204;, + -0.125000; 0.375000; 0.330204;, + 0.000000; 0.375000; 0.330204;, + 0.000000; 0.250000; 0.330204;, + -0.125000; 0.250000; 0.330204;, + -0.625000;-0.125000; 0.330204;, + -0.500000;-0.125000; 0.330204;, + -0.500000;-0.250000; 0.330204;, + -0.625000;-0.250000; 0.330204;, + -0.625000;-0.625000; 0.330204;, + -0.500000;-0.625000; 0.330204;, + -0.500000;-0.750000; 0.330204;, + -0.625000;-0.750000; 0.330204;, + -0.125000;-0.625000; 0.330204;, + 0.000000;-0.625000; 0.330204;, + 0.000000;-0.750000; 0.330204;, + -0.125000;-0.750000; 0.330204;, + 0.375000;-0.125000; 0.330204;, + 0.500000;-0.125000; 0.330204;, + 0.500000;-0.250000; 0.330204;, + 0.375000;-0.250000; 0.330204;, + 0.375000;-0.625000; 0.330204;, + 0.500000;-0.625000; 0.330204;, + 0.500000;-0.750000; 0.330204;, + 0.375000;-0.750000; 0.330204;, + 0.500000; 1.000000; 0.330204;, + 0.625000; 1.000000; 0.330204;, + 0.625000; 0.875000; 0.330204;, + 0.500000; 0.875000; 0.330204;, + 0.500000; 0.875000; 0.330204;, + 0.625000; 0.875000; 0.330204;, + 0.625000; 0.750000; 0.330204;, + 0.500000; 0.750000; 0.330204;, + 0.625000; 0.875000; 0.330204;, + 0.750000; 0.875000; 0.330204;, + 0.750000; 0.750000; 0.330204;, + 0.625000; 0.750000; 0.330204;, + 0.500000; 0.750000; 0.330204;, + 0.625000; 0.750000; 0.330204;, + 0.625000; 0.625000; 0.330204;, + 0.500000; 0.625000; 0.330204;, + 0.500000; 0.625000; 0.330204;, + 0.625000; 0.625000; 0.330204;, + 0.625000; 0.500000; 0.330204;, + 0.500000; 0.500000; 0.330204;, + 0.625000; 0.625000; 0.330204;, + 0.750000; 0.625000; 0.330204;, + 0.750000; 0.500000; 0.330204;, + 0.625000; 0.500000; 0.330204;, + -0.500000; 1.000000; 0.330204;, + -0.375000; 1.000000; 0.330204;, + -0.375000; 0.875000; 0.330204;, + -0.500000; 0.875000; 0.330204;, + -0.500000; 0.875000; 0.330204;, + -0.375000; 0.875000; 0.330204;, + -0.375000; 0.750000; 0.330204;, + -0.500000; 0.750000; 0.330204;, + -0.375000; 0.875000; 0.330204;, + -0.250000; 0.875000; 0.330204;, + -0.250000; 0.750000; 0.330204;, + -0.375000; 0.750000; 0.330204;, + -0.500000; 0.750000; 0.330204;, + -0.375000; 0.750000; 0.330204;, + -0.375000; 0.625000; 0.330204;, + -0.500000; 0.625000; 0.330204;, + -0.500000; 0.625000; 0.330204;, + -0.375000; 0.625000; 0.330204;, + -0.375000; 0.500000; 0.330204;, + -0.500000; 0.500000; 0.330204;, + -0.375000; 0.625000; 0.330204;, + -0.250000; 0.625000; 0.330204;, + -0.250000; 0.500000; 0.330204;, + -0.375000; 0.500000; 0.330204;, + -0.125000; 0.625000; 0.330204;, + 0.000000; 0.625000; 0.330204;, + 0.000000; 0.500000; 0.330204;, + -0.125000; 0.500000; 0.330204;, + -0.500000; 0.000000; 0.330204;, + -0.375000; 0.000000; 0.330204;, + -0.375000;-0.125000; 0.330204;, + -0.500000;-0.125000; 0.330204;, + -0.500000;-0.125000; 0.330204;, + -0.375000;-0.125000; 0.330204;, + -0.375000;-0.250000; 0.330204;, + -0.500000;-0.250000; 0.330204;, + -0.375000;-0.125000; 0.330204;, + -0.250000;-0.125000; 0.330204;, + -0.250000;-0.250000; 0.330204;, + -0.375000;-0.250000; 0.330204;, + -0.500000;-0.250000; 0.330204;, + -0.375000;-0.250000; 0.330204;, + -0.375000;-0.375000; 0.330204;, + -0.500000;-0.375000; 0.330204;, + -0.500000;-0.375000; 0.330204;, + -0.375000;-0.375000; 0.330204;, + -0.375000;-0.500000; 0.330204;, + -0.500000;-0.500000; 0.330204;, + -0.375000;-0.375000; 0.330204;, + -0.250000;-0.375000; 0.330204;, + -0.250000;-0.500000; 0.330204;, + -0.375000;-0.500000; 0.330204;, + -0.125000;-0.375000; 0.330204;, + 0.000000;-0.375000; 0.330204;, + 0.000000;-0.500000; 0.330204;, + -0.125000;-0.500000; 0.330204;, + 0.500000; 0.000000; 0.330204;, + 0.625000; 0.000000; 0.330204;, + 0.625000;-0.125000; 0.330204;, + 0.500000;-0.125000; 0.330204;, + 0.500000;-0.125000; 0.330204;, + 0.625000;-0.125000; 0.330204;, + 0.625000;-0.250000; 0.330204;, + 0.500000;-0.250000; 0.330204;, + 0.625000;-0.125000; 0.330204;, + 0.750000;-0.125000; 0.330204;, + 0.750000;-0.250000; 0.330204;, + 0.625000;-0.250000; 0.330204;, + 0.500000;-0.250000; 0.330204;, + 0.625000;-0.250000; 0.330204;, + 0.625000;-0.375000; 0.330204;, + 0.500000;-0.375000; 0.330204;, + 0.500000;-0.375000; 0.330204;, + 0.625000;-0.375000; 0.330204;, + 0.625000;-0.500000; 0.330204;, + 0.500000;-0.500000; 0.330204;, + 0.625000;-0.375000; 0.330204;, + 0.750000;-0.375000; 0.330204;, + 0.750000;-0.500000; 0.330204;, + 0.625000;-0.500000; 0.330204;, + 0.000000; 1.000000; 0.330204;, + 0.125000; 1.000000; 0.330204;, + 0.125000; 0.875000; 0.330204;, + 0.000000; 0.875000; 0.330204;, + 0.000000; 0.875000; 0.330204;, + 0.125000; 0.875000; 0.330204;, + 0.125000; 0.750000; 0.330204;, + 0.000000; 0.750000; 0.330204;, + 0.125000; 0.875000; 0.330204;, + 0.250000; 0.875000; 0.330204;, + 0.250000; 0.750000; 0.330204;, + 0.125000; 0.750000; 0.330204;, + 0.000000; 0.750000; 0.330204;, + 0.125000; 0.750000; 0.330204;, + 0.125000; 0.625000; 0.330204;, + 0.000000; 0.625000; 0.330204;, + 0.000000; 0.625000; 0.330204;, + 0.125000; 0.625000; 0.330204;, + 0.125000; 0.500000; 0.330204;, + 0.000000; 0.500000; 0.330204;, + 0.125000; 0.625000; 0.330204;, + 0.250000; 0.625000; 0.330204;, + 0.250000; 0.500000; 0.330204;, + 0.125000; 0.500000; 0.330204;, + 0.375000; 0.625000; 0.330204;, + 0.500000; 0.625000; 0.330204;, + 0.500000; 0.500000; 0.330204;, + 0.375000; 0.500000; 0.330204;, + 0.000000; 0.500000; 0.330204;, + 0.125000; 0.500000; 0.330204;, + 0.125000; 0.375000; 0.330204;, + 0.000000; 0.375000; 0.330204;, + 0.000000; 0.375000; 0.330204;, + 0.125000; 0.375000; 0.330204;, + 0.125000; 0.250000; 0.330204;, + 0.000000; 0.250000; 0.330204;, + 0.125000; 0.375000; 0.330204;, + 0.250000; 0.375000; 0.330204;, + 0.250000; 0.250000; 0.330204;, + 0.125000; 0.250000; 0.330204;, + 0.000000; 0.250000; 0.330204;, + 0.125000; 0.250000; 0.330204;, + 0.125000; 0.125000; 0.330204;, + 0.000000; 0.125000; 0.330204;, + 0.000000; 0.125000; 0.330204;, + 0.125000; 0.125000; 0.330204;, + 0.125000; 0.000000; 0.330204;, + 0.000000; 0.000000; 0.330204;, + 0.125000; 0.125000; 0.330204;, + 0.250000; 0.125000; 0.330204;, + 0.250000; 0.000000; 0.330204;, + 0.125000; 0.000000; 0.330204;, + 0.375000; 0.125000; 0.330204;, + 0.500000; 0.125000; 0.330204;, + 0.500000; 0.000000; 0.330204;, + 0.375000; 0.000000; 0.330204;, + 0.500000; 0.500000; 0.330204;, + 0.625000; 0.500000; 0.330204;, + 0.625000; 0.375000; 0.330204;, + 0.500000; 0.375000; 0.330204;, + 0.500000; 0.375000; 0.330204;, + 0.625000; 0.375000; 0.330204;, + 0.625000; 0.250000; 0.330204;, + 0.500000; 0.250000; 0.330204;, + 0.625000; 0.375000; 0.330204;, + 0.750000; 0.375000; 0.330204;, + 0.750000; 0.250000; 0.330204;, + 0.625000; 0.250000; 0.330204;, + 0.500000; 0.250000; 0.330204;, + 0.625000; 0.250000; 0.330204;, + 0.625000; 0.125000; 0.330204;, + 0.500000; 0.125000; 0.330204;, + 0.500000; 0.125000; 0.330204;, + 0.625000; 0.125000; 0.330204;, + 0.625000; 0.000000; 0.330204;, + 0.500000; 0.000000; 0.330204;, + 0.625000; 0.125000; 0.330204;, + 0.750000; 0.125000; 0.330204;, + 0.750000; 0.000000; 0.330204;, + 0.625000; 0.000000; 0.330204;, + -0.625000; 0.625000; 0.330204;, + -0.500000; 0.625000; 0.330204;, + -0.500000; 0.500000; 0.330204;, + -0.625000; 0.500000; 0.330204;, + -0.625000; 0.125000; 0.330204;, + -0.500000; 0.125000; 0.330204;, + -0.500000; 0.000000; 0.330204;, + -0.625000; 0.000000; 0.330204;, + -0.500000; 0.500000; 0.330204;, + -0.375000; 0.500000; 0.330204;, + -0.375000; 0.375000; 0.330204;, + -0.500000; 0.375000; 0.330204;, + -0.500000; 0.375000; 0.330204;, + -0.375000; 0.375000; 0.330204;, + -0.375000; 0.250000; 0.330204;, + -0.500000; 0.250000; 0.330204;, + -0.375000; 0.375000; 0.330204;, + -0.250000; 0.375000; 0.330204;, + -0.250000; 0.250000; 0.330204;, + -0.375000; 0.250000; 0.330204;, + -0.500000; 0.250000; 0.330204;, + -0.375000; 0.250000; 0.330204;, + -0.375000; 0.125000; 0.330204;, + -0.500000; 0.125000; 0.330204;, + -0.500000; 0.125000; 0.330204;, + -0.375000; 0.125000; 0.330204;, + -0.375000; 0.000000; 0.330204;, + -0.500000; 0.000000; 0.330204;, + -0.375000; 0.125000; 0.330204;, + -0.250000; 0.125000; 0.330204;, + -0.250000; 0.000000; 0.330204;, + -0.375000; 0.000000; 0.330204;, + -0.125000; 0.125000; 0.330204;, + 0.000000; 0.125000; 0.330204;, + 0.000000; 0.000000; 0.330204;, + -0.125000; 0.000000; 0.330204;, + -0.625000;-0.375000; 0.330204;, + -0.500000;-0.375000; 0.330204;, + -0.500000;-0.500000; 0.330204;, + -0.625000;-0.500000; 0.330204;, + -0.625000;-0.875000; 0.330204;, + -0.500000;-0.875000; 0.330204;, + -0.500000;-1.000000; 0.330204;, + -0.625000;-1.000000; 0.330204;, + -0.500000;-0.500000; 0.330204;, + -0.375000;-0.500000; 0.330204;, + -0.375000;-0.625000; 0.330204;, + -0.500000;-0.625000; 0.330204;, + -0.500000;-0.625000; 0.330204;, + -0.375000;-0.625000; 0.330204;, + -0.375000;-0.750000; 0.330204;, + -0.500000;-0.750000; 0.330204;, + -0.375000;-0.625000; 0.330204;, + -0.250000;-0.625000; 0.330204;, + -0.250000;-0.750000; 0.330204;, + -0.375000;-0.750000; 0.330204;, + -0.500000;-0.750000; 0.330204;, + -0.375000;-0.750000; 0.330204;, + -0.375000;-0.875000; 0.330204;, + -0.500000;-0.875000; 0.330204;, + -0.500000;-0.875000; 0.330204;, + -0.375000;-0.875000; 0.330204;, + -0.375000;-1.000000; 0.330204;, + -0.500000;-1.000000; 0.330204;, + -0.375000;-0.875000; 0.330204;, + -0.250000;-0.875000; 0.330204;, + -0.250000;-1.000000; 0.330204;, + -0.375000;-1.000000; 0.330204;, + -0.125000;-0.875000; 0.330204;, + 0.000000;-0.875000; 0.330204;, + 0.000000;-1.000000; 0.330204;, + -0.125000;-1.000000; 0.330204;, + 0.000000; 0.000000; 0.330204;, + 0.125000; 0.000000; 0.330204;, + 0.125000;-0.125000; 0.330204;, + 0.000000;-0.125000; 0.330204;, + 0.000000;-0.125000; 0.330204;, + 0.125000;-0.125000; 0.330204;, + 0.125000;-0.250000; 0.330204;, + 0.000000;-0.250000; 0.330204;, + 0.125000;-0.125000; 0.330204;, + 0.250000;-0.125000; 0.330204;, + 0.250000;-0.250000; 0.330204;, + 0.125000;-0.250000; 0.330204;, + 0.000000;-0.250000; 0.330204;, + 0.125000;-0.250000; 0.330204;, + 0.125000;-0.375000; 0.330204;, + 0.000000;-0.375000; 0.330204;, + 0.000000;-0.375000; 0.330204;, + 0.125000;-0.375000; 0.330204;, + 0.125000;-0.500000; 0.330204;, + 0.000000;-0.500000; 0.330204;, + 0.125000;-0.375000; 0.330204;, + 0.250000;-0.375000; 0.330204;, + 0.250000;-0.500000; 0.330204;, + 0.125000;-0.500000; 0.330204;, + 0.375000;-0.375000; 0.330204;, + 0.500000;-0.375000; 0.330204;, + 0.500000;-0.500000; 0.330204;, + 0.375000;-0.500000; 0.330204;, + 0.000000;-0.500000; 0.330204;, + 0.125000;-0.500000; 0.330204;, + 0.125000;-0.625000; 0.330204;, + 0.000000;-0.625000; 0.330204;, + 0.000000;-0.625000; 0.330204;, + 0.125000;-0.625000; 0.330204;, + 0.125000;-0.750000; 0.330204;, + 0.000000;-0.750000; 0.330204;, + 0.125000;-0.625000; 0.330204;, + 0.250000;-0.625000; 0.330204;, + 0.250000;-0.750000; 0.330204;, + 0.125000;-0.750000; 0.330204;, + 0.000000;-0.750000; 0.330204;, + 0.125000;-0.750000; 0.330204;, + 0.125000;-0.875000; 0.330204;, + 0.000000;-0.875000; 0.330204;, + 0.000000;-0.875000; 0.330204;, + 0.125000;-0.875000; 0.330204;, + 0.125000;-1.000000; 0.330204;, + 0.000000;-1.000000; 0.330204;, + 0.125000;-0.875000; 0.330204;, + 0.250000;-0.875000; 0.330204;, + 0.250000;-1.000000; 0.330204;, + 0.125000;-1.000000; 0.330204;, + 0.375000;-0.875000; 0.330204;, + 0.500000;-0.875000; 0.330204;, + 0.500000;-1.000000; 0.330204;, + 0.375000;-1.000000; 0.330204;, + 0.500000;-0.500000; 0.330204;, + 0.625000;-0.500000; 0.330204;, + 0.625000;-0.625000; 0.330204;, + 0.500000;-0.625000; 0.330204;, + 0.500000;-0.625000; 0.330204;, + 0.625000;-0.625000; 0.330204;, + 0.625000;-0.750000; 0.330204;, + 0.500000;-0.750000; 0.330204;, + 0.625000;-0.625000; 0.330204;, + 0.750000;-0.625000; 0.330204;, + 0.750000;-0.750000; 0.330204;, + 0.625000;-0.750000; 0.330204;, + 0.500000;-0.750000; 0.330204;, + 0.625000;-0.750000; 0.330204;, + 0.625000;-0.875000; 0.330204;, + 0.500000;-0.875000; 0.330204;, + 0.500000;-0.875000; 0.330204;, + 0.625000;-0.875000; 0.330204;, + 0.625000;-1.000000; 0.330204;, + 0.500000;-1.000000; 0.330204;, + 0.625000;-0.875000; 0.330204;, + 0.750000;-0.875000; 0.330204;, + 0.750000;-1.000000; 0.330204;, + 0.625000;-1.000000; 0.330204;, + -0.500000; 0.625000;-0.117178;, + -0.500000; 0.750000;-0.117178;, + -0.625000; 0.750000;-0.117178;, + -0.625000; 0.625000;-0.117178;, + -0.500000; 0.125000;-0.117178;, + -0.500000; 0.250000;-0.117178;, + -0.625000; 0.250000;-0.117178;, + -0.625000; 0.125000;-0.117178;, + -0.250000; 0.375000;-0.117178;, + -0.250000; 0.500000;-0.117178;, + -0.375000; 0.500000;-0.117178;, + -0.375000; 0.375000;-0.117178;, + -0.250000; 0.125000;-0.117178;, + -0.250000; 0.250000;-0.117178;, + -0.375000; 0.250000;-0.117178;, + -0.375000; 0.125000;-0.117178;, + 0.000000; 0.125000;-0.117178;, + 0.000000; 0.250000;-0.117178;, + -0.125000; 0.250000;-0.117178;, + -0.125000; 0.125000;-0.117178;, + -0.500000;-0.375000;-0.117178;, + -0.500000;-0.250000;-0.117178;, + -0.625000;-0.250000;-0.117178;, + -0.625000;-0.375000;-0.117178;, + -0.500000;-0.875000;-0.117178;, + -0.500000;-0.750000;-0.117178;, + -0.625000;-0.750000;-0.117178;, + -0.625000;-0.875000;-0.117178;, + -0.250000;-0.625000;-0.117178;, + -0.250000;-0.500000;-0.117178;, + -0.375000;-0.500000;-0.117178;, + -0.375000;-0.625000;-0.117178;, + -0.250000;-0.875000;-0.117178;, + -0.250000;-0.750000;-0.117178;, + -0.375000;-0.750000;-0.117178;, + -0.375000;-0.875000;-0.117178;, + 0.000000;-0.875000;-0.117178;, + 0.000000;-0.750000;-0.117178;, + -0.125000;-0.750000;-0.117178;, + -0.125000;-0.875000;-0.117178;, + 0.250000;-0.125000;-0.117178;, + 0.250000; 0.000000;-0.117178;, + 0.125000; 0.000000;-0.117178;, + 0.125000;-0.125000;-0.117178;, + 0.250000;-0.375000;-0.117178;, + 0.250000;-0.250000;-0.117178;, + 0.125000;-0.250000;-0.117178;, + 0.125000;-0.375000;-0.117178;, + 0.500000;-0.375000;-0.117178;, + 0.500000;-0.250000;-0.117178;, + 0.375000;-0.250000;-0.117178;, + 0.375000;-0.375000;-0.117178;, + 0.250000;-0.625000;-0.117178;, + 0.250000;-0.500000;-0.117178;, + 0.125000;-0.500000;-0.117178;, + 0.125000;-0.625000;-0.117178;, + 0.250000;-0.875000;-0.117178;, + 0.250000;-0.750000;-0.117178;, + 0.125000;-0.750000;-0.117178;, + 0.125000;-0.875000;-0.117178;, + 0.500000;-0.875000;-0.117178;, + 0.500000;-0.750000;-0.117178;, + 0.375000;-0.750000;-0.117178;, + 0.375000;-0.875000;-0.117178;, + 0.750000;-0.625000;-0.117178;, + 0.750000;-0.500000;-0.117178;, + 0.625000;-0.500000;-0.117178;, + 0.625000;-0.625000;-0.117178;, + 0.750000;-0.875000;-0.117178;, + 0.750000;-0.750000;-0.117178;, + 0.625000;-0.750000;-0.117178;, + 0.625000;-0.875000;-0.117178;, + 0.000000; 0.750000;-0.117178;, + 0.000000; 0.875000;-0.117178;, + -0.125000; 0.875000;-0.117178;, + -0.125000; 0.750000;-0.117178;, + 0.000000;-0.250000;-0.117178;, + 0.000000;-0.125000;-0.117178;, + -0.125000;-0.125000;-0.117178;, + -0.125000;-0.250000;-0.117178;, + 0.500000; 0.750000;-0.117178;, + 0.500000; 0.875000;-0.117178;, + 0.375000; 0.875000;-0.117178;, + 0.375000; 0.750000;-0.117178;, + 0.500000; 0.250000;-0.117178;, + 0.500000; 0.375000;-0.117178;, + 0.375000; 0.375000;-0.117178;, + 0.375000; 0.250000;-0.117178;, + -0.500000; 0.750000;-0.117178;, + -0.500000; 0.875000;-0.117178;, + -0.625000; 0.875000;-0.117178;, + -0.625000; 0.750000;-0.117178;, + -0.500000; 0.250000;-0.117178;, + -0.500000; 0.375000;-0.117178;, + -0.625000; 0.375000;-0.117178;, + -0.625000; 0.250000;-0.117178;, + 0.000000; 0.250000;-0.117178;, + 0.000000; 0.375000;-0.117178;, + -0.125000; 0.375000;-0.117178;, + -0.125000; 0.250000;-0.117178;, + -0.500000;-0.250000;-0.117178;, + -0.500000;-0.125000;-0.117178;, + -0.625000;-0.125000;-0.117178;, + -0.625000;-0.250000;-0.117178;, + -0.500000;-0.750000;-0.117178;, + -0.500000;-0.625000;-0.117178;, + -0.625000;-0.625000;-0.117178;, + -0.625000;-0.750000;-0.117178;, + 0.000000;-0.750000;-0.117178;, + 0.000000;-0.625000;-0.117178;, + -0.125000;-0.625000;-0.117178;, + -0.125000;-0.750000;-0.117178;, + 0.500000;-0.250000;-0.117178;, + 0.500000;-0.125000;-0.117178;, + 0.375000;-0.125000;-0.117178;, + 0.375000;-0.250000;-0.117178;, + 0.500000;-0.750000;-0.117178;, + 0.500000;-0.625000;-0.117178;, + 0.375000;-0.625000;-0.117178;, + 0.375000;-0.750000;-0.117178;, + 0.625000; 0.875000;-0.117178;, + 0.625000; 1.000000;-0.117178;, + 0.500000; 1.000000;-0.117178;, + 0.500000; 0.875000;-0.117178;, + 0.625000; 0.750000;-0.117178;, + 0.625000; 0.875000;-0.117178;, + 0.500000; 0.875000;-0.117178;, + 0.500000; 0.750000;-0.117178;, + 0.750000; 0.750000;-0.117178;, + 0.750000; 0.875000;-0.117178;, + 0.625000; 0.875000;-0.117178;, + 0.625000; 0.750000;-0.117178;, + 0.625000; 0.625000;-0.117178;, + 0.625000; 0.750000;-0.117178;, + 0.500000; 0.750000;-0.117178;, + 0.500000; 0.625000;-0.117178;, + 0.625000; 0.500000;-0.117178;, + 0.625000; 0.625000;-0.117178;, + 0.500000; 0.625000;-0.117178;, + 0.500000; 0.500000;-0.117178;, + 0.750000; 0.500000;-0.117178;, + 0.750000; 0.625000;-0.117178;, + 0.625000; 0.625000;-0.117178;, + 0.625000; 0.500000;-0.117178;, + -0.375000; 0.875000;-0.117178;, + -0.375000; 1.000000;-0.117178;, + -0.500000; 1.000000;-0.117178;, + -0.500000; 0.875000;-0.117178;, + -0.375000; 0.750000;-0.117178;, + -0.375000; 0.875000;-0.117178;, + -0.500000; 0.875000;-0.117178;, + -0.500000; 0.750000;-0.117178;, + -0.250000; 0.750000;-0.117178;, + -0.250000; 0.875000;-0.117178;, + -0.375000; 0.875000;-0.117178;, + -0.375000; 0.750000;-0.117178;, + -0.375000; 0.625000;-0.117178;, + -0.375000; 0.750000;-0.117178;, + -0.500000; 0.750000;-0.117178;, + -0.500000; 0.625000;-0.117178;, + -0.375000; 0.500000;-0.117178;, + -0.375000; 0.625000;-0.117178;, + -0.500000; 0.625000;-0.117178;, + -0.500000; 0.500000;-0.117178;, + -0.250000; 0.500000;-0.117178;, + -0.250000; 0.625000;-0.117178;, + -0.375000; 0.625000;-0.117178;, + -0.375000; 0.500000;-0.117178;, + 0.000000; 0.500000;-0.117178;, + 0.000000; 0.625000;-0.117178;, + -0.125000; 0.625000;-0.117178;, + -0.125000; 0.500000;-0.117178;, + -0.375000;-0.125000;-0.117178;, + -0.375000; 0.000000;-0.117178;, + -0.500000; 0.000000;-0.117178;, + -0.500000;-0.125000;-0.117178;, + -0.375000;-0.250000;-0.117178;, + -0.375000;-0.125000;-0.117178;, + -0.500000;-0.125000;-0.117178;, + -0.500000;-0.250000;-0.117178;, + -0.250000;-0.250000;-0.117178;, + -0.250000;-0.125000;-0.117178;, + -0.375000;-0.125000;-0.117178;, + -0.375000;-0.250000;-0.117178;, + -0.375000;-0.375000;-0.117178;, + -0.375000;-0.250000;-0.117178;, + -0.500000;-0.250000;-0.117178;, + -0.500000;-0.375000;-0.117178;, + -0.375000;-0.500000;-0.117178;, + -0.375000;-0.375000;-0.117178;, + -0.500000;-0.375000;-0.117178;, + -0.500000;-0.500000;-0.117178;, + -0.250000;-0.500000;-0.117178;, + -0.250000;-0.375000;-0.117178;, + -0.375000;-0.375000;-0.117178;, + -0.375000;-0.500000;-0.117178;, + 0.000000;-0.500000;-0.117178;, + 0.000000;-0.375000;-0.117178;, + -0.125000;-0.375000;-0.117178;, + -0.125000;-0.500000;-0.117178;, + 0.625000;-0.125000;-0.117178;, + 0.625000; 0.000000;-0.117178;, + 0.500000; 0.000000;-0.117178;, + 0.500000;-0.125000;-0.117178;, + 0.625000;-0.250000;-0.117178;, + 0.625000;-0.125000;-0.117178;, + 0.500000;-0.125000;-0.117178;, + 0.500000;-0.250000;-0.117178;, + 0.750000;-0.250000;-0.117178;, + 0.750000;-0.125000;-0.117178;, + 0.625000;-0.125000;-0.117178;, + 0.625000;-0.250000;-0.117178;, + 0.625000;-0.375000;-0.117178;, + 0.625000;-0.250000;-0.117178;, + 0.500000;-0.250000;-0.117178;, + 0.500000;-0.375000;-0.117178;, + 0.625000;-0.500000;-0.117178;, + 0.625000;-0.375000;-0.117178;, + 0.500000;-0.375000;-0.117178;, + 0.500000;-0.500000;-0.117178;, + 0.750000;-0.500000;-0.117178;, + 0.750000;-0.375000;-0.117178;, + 0.625000;-0.375000;-0.117178;, + 0.625000;-0.500000;-0.117178;, + 0.125000; 0.875000;-0.117178;, + 0.125000; 1.000000;-0.117178;, + 0.000000; 1.000000;-0.117178;, + 0.000000; 0.875000;-0.117178;, + 0.125000; 0.750000;-0.117178;, + 0.125000; 0.875000;-0.117178;, + 0.000000; 0.875000;-0.117178;, + 0.000000; 0.750000;-0.117178;, + 0.250000; 0.750000;-0.117178;, + 0.250000; 0.875000;-0.117178;, + 0.125000; 0.875000;-0.117178;, + 0.125000; 0.750000;-0.117178;, + 0.125000; 0.625000;-0.117178;, + 0.125000; 0.750000;-0.117178;, + 0.000000; 0.750000;-0.117178;, + 0.000000; 0.625000;-0.117178;, + 0.125000; 0.500000;-0.117178;, + 0.125000; 0.625000;-0.117178;, + 0.000000; 0.625000;-0.117178;, + 0.000000; 0.500000;-0.117178;, + 0.250000; 0.500000;-0.117178;, + 0.250000; 0.625000;-0.117178;, + 0.125000; 0.625000;-0.117178;, + 0.125000; 0.500000;-0.117178;, + 0.500000; 0.500000;-0.117178;, + 0.500000; 0.625000;-0.117178;, + 0.375000; 0.625000;-0.117178;, + 0.375000; 0.500000;-0.117178;, + 0.125000; 0.375000;-0.117178;, + 0.125000; 0.500000;-0.117178;, + 0.000000; 0.500000;-0.117178;, + 0.000000; 0.375000;-0.117178;, + 0.125000; 0.250000;-0.117178;, + 0.125000; 0.375000;-0.117178;, + 0.000000; 0.375000;-0.117178;, + 0.000000; 0.250000;-0.117178;, + 0.250000; 0.250000;-0.117178;, + 0.250000; 0.375000;-0.117178;, + 0.125000; 0.375000;-0.117178;, + 0.125000; 0.250000;-0.117178;, + 0.125000; 0.125000;-0.117178;, + 0.125000; 0.250000;-0.117178;, + 0.000000; 0.250000;-0.117178;, + 0.000000; 0.125000;-0.117178;, + 0.125000; 0.000000;-0.117178;, + 0.125000; 0.125000;-0.117178;, + 0.000000; 0.125000;-0.117178;, + 0.000000; 0.000000;-0.117178;, + 0.250000; 0.000000;-0.117178;, + 0.250000; 0.125000;-0.117178;, + 0.125000; 0.125000;-0.117178;, + 0.125000; 0.000000;-0.117178;, + 0.500000; 0.000000;-0.117178;, + 0.500000; 0.125000;-0.117178;, + 0.375000; 0.125000;-0.117178;, + 0.375000; 0.000000;-0.117178;, + 0.625000; 0.375000;-0.117178;, + 0.625000; 0.500000;-0.117178;, + 0.500000; 0.500000;-0.117178;, + 0.500000; 0.375000;-0.117178;, + 0.625000; 0.250000;-0.117178;, + 0.625000; 0.375000;-0.117178;, + 0.500000; 0.375000;-0.117178;, + 0.500000; 0.250000;-0.117178;, + 0.750000; 0.250000;-0.117178;, + 0.750000; 0.375000;-0.117178;, + 0.625000; 0.375000;-0.117178;, + 0.625000; 0.250000;-0.117178;, + 0.625000; 0.125000;-0.117178;, + 0.625000; 0.250000;-0.117178;, + 0.500000; 0.250000;-0.117178;, + 0.500000; 0.125000;-0.117178;, + 0.625000; 0.000000;-0.117178;, + 0.625000; 0.125000;-0.117178;, + 0.500000; 0.125000;-0.117178;, + 0.500000; 0.000000;-0.117178;, + 0.750000; 0.000000;-0.117178;, + 0.750000; 0.125000;-0.117178;, + 0.625000; 0.125000;-0.117178;, + 0.625000; 0.000000;-0.117178;, + -0.500000; 0.500000;-0.117178;, + -0.500000; 0.625000;-0.117178;, + -0.625000; 0.625000;-0.117178;, + -0.625000; 0.500000;-0.117178;, + -0.500000; 0.000000;-0.117178;, + -0.500000; 0.125000;-0.117178;, + -0.625000; 0.125000;-0.117178;, + -0.625000; 0.000000;-0.117178;, + -0.375000; 0.375000;-0.117178;, + -0.375000; 0.500000;-0.117178;, + -0.500000; 0.500000;-0.117178;, + -0.500000; 0.375000;-0.117178;, + -0.375000; 0.250000;-0.117178;, + -0.375000; 0.375000;-0.117178;, + -0.500000; 0.375000;-0.117178;, + -0.500000; 0.250000;-0.117178;, + -0.250000; 0.250000;-0.117178;, + -0.250000; 0.375000;-0.117178;, + -0.375000; 0.375000;-0.117178;, + -0.375000; 0.250000;-0.117178;, + -0.375000; 0.125000;-0.117178;, + -0.375000; 0.250000;-0.117178;, + -0.500000; 0.250000;-0.117178;, + -0.500000; 0.125000;-0.117178;, + -0.375000; 0.000000;-0.117178;, + -0.375000; 0.125000;-0.117178;, + -0.500000; 0.125000;-0.117178;, + -0.500000; 0.000000;-0.117178;, + -0.250000; 0.000000;-0.117178;, + -0.250000; 0.125000;-0.117178;, + -0.375000; 0.125000;-0.117178;, + -0.375000; 0.000000;-0.117178;, + 0.000000; 0.000000;-0.117178;, + 0.000000; 0.125000;-0.117178;, + -0.125000; 0.125000;-0.117178;, + -0.125000; 0.000000;-0.117178;, + -0.500000;-0.500000;-0.117178;, + -0.500000;-0.375000;-0.117178;, + -0.625000;-0.375000;-0.117178;, + -0.625000;-0.500000;-0.117178;, + -0.500000;-1.000000;-0.117178;, + -0.500000;-0.875000;-0.117178;, + -0.625000;-0.875000;-0.117178;, + -0.625000;-1.000000;-0.117178;, + -0.375000;-0.625000;-0.117178;, + -0.375000;-0.500000;-0.117178;, + -0.500000;-0.500000;-0.117178;, + -0.500000;-0.625000;-0.117178;, + -0.375000;-0.750000;-0.117178;, + -0.375000;-0.625000;-0.117178;, + -0.500000;-0.625000;-0.117178;, + -0.500000;-0.750000;-0.117178;, + -0.250000;-0.750000;-0.117178;, + -0.250000;-0.625000;-0.117178;, + -0.375000;-0.625000;-0.117178;, + -0.375000;-0.750000;-0.117178;, + -0.375000;-0.875000;-0.117178;, + -0.375000;-0.750000;-0.117178;, + -0.500000;-0.750000;-0.117178;, + -0.500000;-0.875000;-0.117178;, + -0.375000;-1.000000;-0.117178;, + -0.375000;-0.875000;-0.117178;, + -0.500000;-0.875000;-0.117178;, + -0.500000;-1.000000;-0.117178;, + -0.250000;-1.000000;-0.117178;, + -0.250000;-0.875000;-0.117178;, + -0.375000;-0.875000;-0.117178;, + -0.375000;-1.000000;-0.117178;, + 0.000000;-1.000000;-0.117178;, + 0.000000;-0.875000;-0.117178;, + -0.125000;-0.875000;-0.117178;, + -0.125000;-1.000000;-0.117178;, + 0.125000;-0.125000;-0.117178;, + 0.125000; 0.000000;-0.117178;, + 0.000000; 0.000000;-0.117178;, + 0.000000;-0.125000;-0.117178;, + 0.125000;-0.250000;-0.117178;, + 0.125000;-0.125000;-0.117178;, + 0.000000;-0.125000;-0.117178;, + 0.000000;-0.250000;-0.117178;, + 0.250000;-0.250000;-0.117178;, + 0.250000;-0.125000;-0.117178;, + 0.125000;-0.125000;-0.117178;, + 0.125000;-0.250000;-0.117178;, + 0.125000;-0.375000;-0.117178;, + 0.125000;-0.250000;-0.117178;, + 0.000000;-0.250000;-0.117178;, + 0.000000;-0.375000;-0.117178;, + 0.125000;-0.500000;-0.117178;, + 0.125000;-0.375000;-0.117178;, + 0.000000;-0.375000;-0.117178;, + 0.000000;-0.500000;-0.117178;, + 0.250000;-0.500000;-0.117178;, + 0.250000;-0.375000;-0.117178;, + 0.125000;-0.375000;-0.117178;, + 0.125000;-0.500000;-0.117178;, + 0.500000;-0.500000;-0.117178;, + 0.500000;-0.375000;-0.117178;, + 0.375000;-0.375000;-0.117178;, + 0.375000;-0.500000;-0.117178;, + 0.125000;-0.625000;-0.117178;, + 0.125000;-0.500000;-0.117178;, + 0.000000;-0.500000;-0.117178;, + 0.000000;-0.625000;-0.117178;, + 0.125000;-0.750000;-0.117178;, + 0.125000;-0.625000;-0.117178;, + 0.000000;-0.625000;-0.117178;, + 0.000000;-0.750000;-0.117178;, + 0.250000;-0.750000;-0.117178;, + 0.250000;-0.625000;-0.117178;, + 0.125000;-0.625000;-0.117178;, + 0.125000;-0.750000;-0.117178;, + 0.125000;-0.875000;-0.117178;, + 0.125000;-0.750000;-0.117178;, + 0.000000;-0.750000;-0.117178;, + 0.000000;-0.875000;-0.117178;, + 0.125000;-1.000000;-0.117178;, + 0.125000;-0.875000;-0.117178;, + 0.000000;-0.875000;-0.117178;, + 0.000000;-1.000000;-0.117178;, + 0.250000;-1.000000;-0.117178;, + 0.250000;-0.875000;-0.117178;, + 0.125000;-0.875000;-0.117178;, + 0.125000;-1.000000;-0.117178;, + 0.500000;-1.000000;-0.117178;, + 0.500000;-0.875000;-0.117178;, + 0.375000;-0.875000;-0.117178;, + 0.375000;-1.000000;-0.117178;, + 0.625000;-0.625000;-0.117178;, + 0.625000;-0.500000;-0.117178;, + 0.500000;-0.500000;-0.117178;, + 0.500000;-0.625000;-0.117178;, + 0.625000;-0.750000;-0.117178;, + 0.625000;-0.625000;-0.117178;, + 0.500000;-0.625000;-0.117178;, + 0.500000;-0.750000;-0.117178;, + 0.750000;-0.750000;-0.117178;, + 0.750000;-0.625000;-0.117178;, + 0.625000;-0.625000;-0.117178;, + 0.625000;-0.750000;-0.117178;, + 0.625000;-0.875000;-0.117178;, + 0.625000;-0.750000;-0.117178;, + 0.500000;-0.750000;-0.117178;, + 0.500000;-0.875000;-0.117178;, + 0.625000;-1.000000;-0.117178;, + 0.625000;-0.875000;-0.117178;, + 0.500000;-0.875000;-0.117178;, + 0.500000;-1.000000;-0.117178;, + 0.750000;-1.000000;-0.117178;, + 0.750000;-0.875000;-0.117178;, + 0.625000;-0.875000;-0.117178;, + 0.625000;-1.000000;-0.117178;, + 0.859843;-0.875000; 0.246450;, + 0.859843;-0.750000; 0.246450;, + 0.859843;-0.750000; 0.000000;, + 0.859843;-0.875000; 0.000000;, + 0.859843; 0.750000; 0.246450;, + 0.859843; 0.875000; 0.246450;, + 0.859843; 0.875000; 0.000000;, + 0.859843; 0.750000; 0.000000;, + 0.859843; 0.125000; 0.246450;, + 0.859843; 0.250000; 0.246450;, + 0.859843; 0.250000; 0.000000;, + 0.859843; 0.125000; 0.000000;, + 0.859843;-0.500000; 0.246450;, + 0.859843;-0.375000; 0.246450;, + 0.859843;-0.375000; 0.000000;, + 0.859843;-0.500000; 0.000000;, + 0.859843;-0.625000; 0.246450;, + 0.859843;-0.500000; 0.246450;, + 0.859843;-0.500000; 0.000000;, + 0.859843;-0.625000; 0.000000;, + 0.859843; 0.375000; 0.246450;, + 0.859843; 0.500000; 0.246450;, + 0.859843; 0.500000; 0.000000;, + 0.859843; 0.375000; 0.000000;, + 0.859843;-0.375000; 0.246450;, + 0.859843;-0.250000; 0.246450;, + 0.859843;-0.250000; 0.000000;, + 0.859843;-0.375000; 0.000000;, + 0.859843;-0.750000; 0.246450;, + 0.859843;-0.625000; 0.246450;, + 0.859843;-0.625000; 0.000000;, + 0.859843;-0.750000; 0.000000;, + 0.859843; 0.250000; 0.246450;, + 0.859843; 0.375000; 0.246450;, + 0.859843; 0.375000; 0.000000;, + 0.859843; 0.250000; 0.000000;, + 0.859843; 0.500000; 0.246450;, + 0.859843; 0.625000; 0.246450;, + 0.859843; 0.625000; 0.000000;, + 0.859843; 0.500000; 0.000000;, + 0.859843;-0.125000; 0.246450;, + 0.859843; 0.000000; 0.246450;, + 0.859843; 0.000000; 0.000000;, + 0.859843;-0.125000; 0.000000;, + 0.859843; 0.625000; 0.246450;, + 0.859843; 0.750000; 0.246450;, + 0.859843; 0.750000; 0.000000;, + 0.859843; 0.625000; 0.000000;, + 0.859843;-0.250000; 0.246450;, + 0.859843;-0.125000; 0.246450;, + 0.859843;-0.125000; 0.000000;, + 0.859843;-0.250000; 0.000000;, + 0.859843;-1.000000; 0.246450;, + 0.859843;-0.875000; 0.246450;, + 0.859843;-0.875000; 0.000000;, + 0.859843;-1.000000; 0.000000;, + 0.859843; 0.875000; 0.246450;, + 0.859843; 1.000000; 0.246450;, + 0.859843; 1.000000; 0.000000;, + 0.859843; 0.875000; 0.000000;, + 0.859843; 0.000000; 0.246450;, + 0.859843; 0.125000; 0.246450;, + 0.859843; 0.125000; 0.000000;, + 0.859843; 0.000000; 0.000000;, + 0.859843; 1.000000; 0.000000;, + 0.859843; 1.000000; 0.246450;, + 0.750000; 1.000000; 0.246450;, + 0.750000; 1.000000; 0.000000;, + 0.859843;-0.250000; 0.246450;, + 0.859843;-0.375000; 0.246450;, + 0.750000;-0.375000; 0.246450;, + 0.750000;-0.250000; 0.246450;, + 0.859843; 0.625000; 0.000000;, + 0.859843; 0.750000; 0.000000;, + 0.750000; 0.750000; 0.000000;, + 0.750000; 0.625000; 0.000000;, + 0.859843;-0.625000; 0.246450;, + 0.859843;-0.750000; 0.246450;, + 0.750000;-0.750000; 0.246450;, + 0.750000;-0.625000; 0.246450;, + 0.859843;-0.250000; 0.000000;, + 0.859843;-0.125000; 0.000000;, + 0.750000;-0.125000; 0.000000;, + 0.750000;-0.250000; 0.000000;, + 0.859843; 0.000000; 0.000000;, + 0.859843; 0.125000; 0.000000;, + 0.750000; 0.125000; 0.000000;, + 0.750000; 0.000000; 0.000000;, + 0.859843; 0.625000; 0.246450;, + 0.859843; 0.500000; 0.246450;, + 0.750000; 0.500000; 0.246450;, + 0.750000; 0.625000; 0.246450;, + 0.859843; 0.375000; 0.246450;, + 0.859843; 0.250000; 0.246450;, + 0.750000; 0.250000; 0.246450;, + 0.750000; 0.375000; 0.246450;, + 0.859843;-1.000000; 0.246450;, + 0.859843;-1.000000; 0.000000;, + 0.750000;-1.000000; 0.000000;, + 0.750000;-1.000000; 0.246450;, + 0.859843;-0.500000; 0.000000;, + 0.859843;-0.375000; 0.000000;, + 0.750000;-0.375000; 0.000000;, + 0.750000;-0.500000; 0.000000;, + 0.859843; 0.000000; 0.246450;, + 0.859843;-0.125000; 0.246450;, + 0.750000;-0.125000; 0.246450;, + 0.750000; 0.000000; 0.246450;, + 0.859843; 0.750000; 0.246450;, + 0.859843; 0.625000; 0.246450;, + 0.750000; 0.625000; 0.246450;, + 0.750000; 0.750000; 0.246450;, + 0.859843; 0.500000; 0.000000;, + 0.859843; 0.625000; 0.000000;, + 0.750000; 0.625000; 0.000000;, + 0.750000; 0.500000; 0.000000;, + 0.859843;-0.875000; 0.000000;, + 0.859843;-0.750000; 0.000000;, + 0.750000;-0.750000; 0.000000;, + 0.750000;-0.875000; 0.000000;, + 0.859843; 0.125000; 0.000000;, + 0.859843; 0.250000; 0.000000;, + 0.750000; 0.250000; 0.000000;, + 0.750000; 0.125000; 0.000000;, + 0.859843;-0.625000; 0.000000;, + 0.859843;-0.500000; 0.000000;, + 0.750000;-0.500000; 0.000000;, + 0.750000;-0.625000; 0.000000;, + 0.859843;-0.125000; 0.246450;, + 0.859843;-0.250000; 0.246450;, + 0.750000;-0.250000; 0.246450;, + 0.750000;-0.125000; 0.246450;, + 0.859843; 0.750000; 0.000000;, + 0.859843; 0.875000; 0.000000;, + 0.750000; 0.875000; 0.000000;, + 0.750000; 0.750000; 0.000000;, + 0.125000;-1.287628; 0.246450;, + 0.125000;-1.287628; 0.330204;, + 0.125000;-1.152395; 0.330204;, + 0.125000;-1.152395; 0.246450;, + 0.000000;-1.000000;-0.289304;, + 0.125000;-1.000000;-0.289304;, + 0.125000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.125000;-1.152395; 0.246450;, + 0.125000;-1.152395; 0.330204;, + 0.125000;-1.000000; 0.330204;, + 0.125000;-1.000000; 0.246450;, + 0.000000;-1.152395; 0.330204;, + 0.000000;-1.152395; 0.246450;, + 0.000000;-1.000000; 0.246450;, + 0.000000;-1.000000; 0.330204;, + 0.125000;-1.152395; 0.330204;, + 0.000000;-1.152395; 0.330204;, + 0.000000;-1.000000; 0.330204;, + 0.125000;-1.000000; 0.330204;, + 0.000000;-1.152395; 0.246450;, + 0.000000;-1.152395; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.246450;, + 0.000000;-1.287628; 0.330204;, + 0.125000;-1.287628; 0.330204;, + 0.125000;-1.287628; 0.246450;, + 0.000000;-1.287628; 0.246450;, + 0.000000;-1.534846; 0.246450;, + 0.000000;-1.534846; 0.000000;, + 0.000000;-1.287628; 0.000000;, + 0.000000;-1.287628; 0.246450;, + 0.125000;-1.287628; 0.520154;, + 0.125000;-1.152395; 0.520154;, + 0.125000;-1.152395; 0.330204;, + 0.125000;-1.287628; 0.330204;, + 0.000000;-1.287628; 0.330204;, + 0.000000;-1.287628; 0.246450;, + 0.000000;-1.152395; 0.246450;, + 0.000000;-1.152395; 0.330204;, + 0.000000;-1.287628; 0.246450;, + 0.000000;-1.287628; 0.000000;, + 0.000000;-1.152395; 0.000000;, + 0.000000;-1.152395; 0.246450;, + 0.125000;-1.287628; 0.000000;, + 0.125000;-1.287628; 0.246450;, + 0.125000;-1.152395; 0.246450;, + 0.125000;-1.152395; 0.000000;, + 0.000000;-1.152395; 0.627518;, + 0.000000;-1.287628; 0.627518;, + 0.000000;-1.287628; 0.520154;, + 0.000000;-1.152395; 0.520154;, + 0.125000;-1.152395; 0.520154;, + 0.000000;-1.152395; 0.520154;, + 0.000000;-1.152395; 0.330204;, + 0.125000;-1.152395; 0.330204;, + 0.000000;-1.287628; 0.520154;, + 0.125000;-1.287628; 0.520154;, + 0.125000;-1.287628; 0.330204;, + 0.000000;-1.287628; 0.330204;, + 0.000000;-1.152395; 0.520154;, + 0.000000;-1.287628; 0.520154;, + 0.000000;-1.287628; 0.330204;, + 0.000000;-1.152395; 0.330204;, + 0.125000;-1.287628; 0.627518;, + 0.000000;-1.287628; 0.627518;, + 0.000000;-1.152395; 0.627518;, + 0.125000;-1.152395; 0.627518;, + 0.125000;-0.831729; 0.627518;, + 0.125000;-0.831729; 0.520154;, + 0.125000;-1.152395; 0.520154;, + 0.125000;-1.152395; 0.627518;, + 0.000000;-1.287628; 0.627518;, + 0.125000;-1.287628; 0.627518;, + 0.125000;-1.287628; 0.520154;, + 0.000000;-1.287628; 0.520154;, + 0.125000;-1.287628; 0.627518;, + 0.125000;-1.152395; 0.627518;, + 0.125000;-1.152395; 0.520154;, + 0.125000;-1.287628; 0.520154;, + 0.000000;-1.152395;-0.289304;, + 0.125000;-1.152395;-0.289304;, + 0.125000;-1.000000;-0.289304;, + 0.000000;-1.000000;-0.289304;, + 0.000000;-1.287628;-0.289304;, + 0.125000;-1.287628;-0.289304;, + 0.125000;-1.152395;-0.289304;, + 0.000000;-1.152395;-0.289304;, + 0.125000;-1.000000;-0.289304;, + 0.125000;-1.152395;-0.289304;, + 0.125000;-1.152395; 0.000000;, + 0.125000;-1.000000; 0.000000;, + 0.125000;-1.534846;-0.289304;, + 0.125000;-1.534846; 0.000000;, + 0.125000;-1.287628; 0.000000;, + 0.125000;-1.287628;-0.289304;, + 0.125000;-1.152395;-0.289304;, + 0.125000;-1.287628;-0.289304;, + 0.125000;-1.287628; 0.000000;, + 0.125000;-1.152395; 0.000000;, + 0.000000;-1.152395;-0.289304;, + 0.000000;-1.000000;-0.289304;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.152395; 0.000000;, + 0.000000;-1.534846; 0.246450;, + 0.125000;-1.534846; 0.246450;, + 0.125000;-1.534846; 0.000000;, + 0.000000;-1.534846; 0.000000;, + 0.125000;-1.534846;-0.289304;, + 0.000000;-1.534846;-0.289304;, + 0.000000;-1.534846; 0.000000;, + 0.125000;-1.534846; 0.000000;, + 0.125000;-1.534846; 0.246450;, + 0.000000;-1.534846; 0.246450;, + 0.000000;-1.287628; 0.246450;, + 0.125000;-1.287628; 0.246450;, + 0.125000;-1.534846; 0.000000;, + 0.125000;-1.534846; 0.246450;, + 0.125000;-1.287628; 0.246450;, + 0.125000;-1.287628; 0.000000;, + 0.000000;-1.534846; 0.000000;, + 0.000000;-1.534846;-0.289304;, + 0.000000;-1.287628;-0.289304;, + 0.000000;-1.287628; 0.000000;, + 0.000000;-1.534846;-0.289304;, + 0.125000;-1.534846;-0.289304;, + 0.125000;-1.287628;-0.289304;, + 0.000000;-1.287628;-0.289304;, + 0.125000;-0.831729; 0.627518;, + 0.000000;-0.831729; 0.627518;, + 0.000000;-0.831729; 0.520154;, + 0.125000;-0.831729; 0.520154;, + 0.125000;-0.831729; 0.520154;, + 0.000000;-0.831729; 0.520154;, + 0.000000;-1.152395; 0.520154;, + 0.125000;-1.152395; 0.520154;, + 0.000000;-0.831729; 0.627518;, + 0.125000;-0.831729; 0.627518;, + 0.125000;-1.152395; 0.627518;, + 0.000000;-1.152395; 0.627518;, + 0.000000;-0.831729; 0.520154;, + 0.000000;-0.831729; 0.627518;, + 0.000000;-1.152395; 0.627518;, + 0.000000;-1.152395; 0.520154;; + 738; + 4;0;1;2;3;, + 4;4;5;6;7;, + 4;8;9;10;11;, + 4;12;13;14;15;, + 4;16;17;18;19;, + 4;20;21;22;23;, + 4;24;25;26;27;, + 4;28;29;30;31;, + 4;32;33;34;35;, + 4;36;37;38;39;, + 4;40;41;42;43;, + 4;44;45;46;47;, + 4;48;49;50;51;, + 4;52;53;54;55;, + 4;56;57;58;59;, + 4;60;61;62;63;, + 4;64;65;66;67;, + 4;68;69;70;71;, + 4;72;73;74;75;, + 4;76;77;78;79;, + 4;80;81;82;83;, + 4;84;85;86;87;, + 4;88;89;90;91;, + 4;92;93;94;95;, + 4;96;97;98;99;, + 4;100;101;102;103;, + 4;104;105;106;107;, + 4;108;109;110;111;, + 4;112;113;114;115;, + 4;116;117;118;119;, + 4;120;121;122;123;, + 4;124;125;126;127;, + 4;128;129;130;131;, + 4;132;133;134;135;, + 4;136;137;138;139;, + 4;140;141;142;143;, + 4;144;145;146;147;, + 4;148;149;150;151;, + 4;152;153;154;155;, + 4;156;157;158;159;, + 4;160;161;162;163;, + 4;164;165;166;167;, + 4;168;169;170;171;, + 4;172;173;174;175;, + 4;176;177;178;179;, + 4;180;181;182;183;, + 4;184;185;186;187;, + 4;188;189;190;191;, + 4;192;193;194;195;, + 4;196;197;198;199;, + 4;200;201;202;203;, + 4;204;205;206;207;, + 4;208;209;210;211;, + 4;212;213;214;215;, + 4;216;217;218;219;, + 4;220;221;222;223;, + 4;224;225;226;227;, + 4;228;229;230;231;, + 4;232;233;234;235;, + 4;236;237;238;239;, + 4;240;241;242;243;, + 4;244;245;246;247;, + 4;248;249;250;251;, + 4;252;253;254;255;, + 4;256;257;258;259;, + 4;260;261;262;263;, + 4;264;265;266;267;, + 4;268;269;270;271;, + 4;272;273;274;275;, + 4;276;277;278;279;, + 4;280;281;282;283;, + 4;284;285;286;287;, + 4;288;289;290;291;, + 4;292;293;294;295;, + 4;296;297;298;299;, + 4;300;301;302;303;, + 4;304;305;306;307;, + 4;308;309;310;311;, + 4;312;313;314;315;, + 4;316;317;318;319;, + 4;320;321;322;323;, + 4;324;325;326;327;, + 4;328;329;330;331;, + 4;332;333;334;335;, + 4;336;337;338;339;, + 4;340;341;342;343;, + 4;344;345;346;347;, + 4;348;349;350;351;, + 4;352;353;354;355;, + 4;356;357;358;359;, + 4;360;361;362;363;, + 4;364;365;366;367;, + 4;368;369;370;371;, + 4;372;373;374;375;, + 4;376;377;378;379;, + 4;380;381;382;383;, + 4;384;385;386;387;, + 4;388;389;390;391;, + 4;392;393;394;395;, + 4;396;397;398;399;, + 4;400;401;402;403;, + 4;404;405;406;407;, + 4;408;409;410;411;, + 4;412;413;414;415;, + 4;416;417;418;419;, + 4;420;421;422;423;, + 4;424;425;426;427;, + 4;428;429;430;431;, + 4;432;433;434;435;, + 4;436;437;438;439;, + 4;440;441;442;443;, + 4;444;445;446;447;, + 4;448;449;450;451;, + 4;452;453;454;455;, + 4;456;457;458;459;, + 4;460;461;462;463;, + 4;464;465;466;467;, + 4;468;469;470;471;, + 4;472;473;474;475;, + 4;476;477;478;479;, + 4;480;481;482;483;, + 4;484;485;486;487;, + 4;488;489;490;491;, + 4;492;493;494;495;, + 4;496;497;498;499;, + 4;500;501;502;503;, + 4;504;505;506;507;, + 4;508;509;510;511;, + 4;512;513;514;515;, + 4;516;517;518;519;, + 4;520;521;522;523;, + 4;524;525;526;527;, + 4;528;529;530;531;, + 4;532;533;534;535;, + 4;536;537;538;539;, + 4;540;541;542;543;, + 4;544;545;546;547;, + 4;548;549;550;551;, + 4;552;553;554;555;, + 4;556;557;558;559;, + 4;560;561;562;563;, + 4;564;565;566;567;, + 4;568;569;570;571;, + 4;572;573;574;575;, + 4;576;577;578;579;, + 4;580;581;582;583;, + 4;584;585;586;587;, + 4;588;589;590;591;, + 4;592;593;594;595;, + 4;596;597;598;599;, + 4;600;601;602;603;, + 4;604;605;606;607;, + 4;608;609;610;611;, + 4;612;613;614;615;, + 4;616;617;618;619;, + 4;620;621;622;623;, + 4;624;625;626;627;, + 4;628;629;630;631;, + 4;632;633;634;635;, + 4;636;637;638;639;, + 4;640;641;642;643;, + 4;644;645;646;647;, + 4;648;649;650;651;, + 4;652;653;654;655;, + 4;656;657;658;659;, + 4;660;661;662;663;, + 4;664;665;666;667;, + 4;668;669;670;671;, + 4;672;673;674;675;, + 4;676;677;678;679;, + 4;680;681;682;683;, + 4;684;685;686;687;, + 4;688;689;690;691;, + 4;692;693;694;695;, + 4;696;697;698;699;, + 4;700;701;702;703;, + 4;704;705;706;707;, + 4;708;709;710;711;, + 4;712;713;714;715;, + 4;716;717;718;719;, + 4;720;721;722;723;, + 4;724;725;726;727;, + 4;728;729;730;731;, + 4;732;733;734;735;, + 4;736;737;738;739;, + 4;740;741;742;743;, + 4;744;745;746;747;, + 4;748;749;750;751;, + 4;752;753;754;755;, + 4;756;757;758;759;, + 4;760;761;762;763;, + 4;764;765;766;767;, + 4;768;769;770;771;, + 4;772;773;774;775;, + 4;776;777;778;779;, + 4;780;781;782;783;, + 4;784;785;786;787;, + 4;788;789;790;791;, + 4;792;793;794;795;, + 4;796;797;798;799;, + 4;800;801;802;803;, + 4;804;805;806;807;, + 4;808;809;810;811;, + 4;812;813;814;815;, + 4;816;817;818;819;, + 4;820;821;822;823;, + 4;824;825;826;827;, + 4;828;829;830;831;, + 4;832;833;834;835;, + 4;836;837;838;839;, + 4;840;841;842;843;, + 4;844;845;846;847;, + 4;848;849;850;851;, + 4;852;853;854;855;, + 4;856;857;858;859;, + 4;860;861;862;863;, + 4;864;865;866;867;, + 4;868;869;870;871;, + 4;872;873;874;875;, + 4;876;877;878;879;, + 4;880;881;882;883;, + 4;884;885;886;887;, + 4;888;889;890;891;, + 4;892;893;894;895;, + 4;896;897;898;899;, + 4;900;901;902;903;, + 4;904;905;906;907;, + 4;908;909;910;911;, + 4;912;913;914;915;, + 4;916;917;918;919;, + 4;920;921;922;923;, + 4;924;925;926;927;, + 4;928;929;930;931;, + 4;932;933;934;935;, + 4;936;937;938;939;, + 4;940;941;942;943;, + 4;944;945;946;947;, + 4;948;949;950;951;, + 4;952;953;954;955;, + 4;956;957;958;959;, + 4;960;961;962;963;, + 4;964;965;966;967;, + 4;968;969;970;971;, + 4;972;973;974;975;, + 4;976;977;978;979;, + 4;980;981;982;983;, + 4;984;985;986;987;, + 4;988;989;990;991;, + 4;992;993;994;995;, + 4;996;997;998;999;, + 4;1000;1001;1002;1003;, + 4;1004;1005;1006;1007;, + 4;1008;1009;1010;1011;, + 4;1012;1013;1014;1015;, + 4;1016;1017;1018;1019;, + 4;1020;1021;1022;1023;, + 4;1024;1025;1026;1027;, + 4;1028;1029;1030;1031;, + 4;1032;1033;1034;1035;, + 4;1036;1037;1038;1039;, + 4;1040;1041;1042;1043;, + 4;1044;1045;1046;1047;, + 4;1048;1049;1050;1051;, + 4;1052;1053;1054;1055;, + 4;1056;1057;1058;1059;, + 4;1060;1061;1062;1063;, + 4;1064;1065;1066;1067;, + 4;1068;1069;1070;1071;, + 4;1072;1073;1074;1075;, + 4;1076;1077;1078;1079;, + 4;1080;1081;1082;1083;, + 4;1084;1085;1086;1087;, + 4;1088;1089;1090;1091;, + 4;1092;1093;1094;1095;, + 4;1096;1097;1098;1099;, + 4;1100;1101;1102;1103;, + 4;1104;1105;1106;1107;, + 4;1108;1109;1110;1111;, + 4;1112;1113;1114;1115;, + 4;1116;1117;1118;1119;, + 4;1120;1121;1122;1123;, + 4;1124;1125;1126;1127;, + 4;1128;1129;1130;1131;, + 4;1132;1133;1134;1135;, + 4;1136;1137;1138;1139;, + 4;1140;1141;1142;1143;, + 4;1144;1145;1146;1147;, + 4;1148;1149;1150;1151;, + 4;1152;1153;1154;1155;, + 4;1156;1157;1158;1159;, + 4;1160;1161;1162;1163;, + 4;1164;1165;1166;1167;, + 4;1168;1169;1170;1171;, + 4;1172;1173;1174;1175;, + 4;1176;1177;1178;1179;, + 4;1180;1181;1182;1183;, + 4;1184;1185;1186;1187;, + 4;1188;1189;1190;1191;, + 4;1192;1193;1194;1195;, + 4;1196;1197;1198;1199;, + 4;1200;1201;1202;1203;, + 4;1204;1205;1206;1207;, + 4;1208;1209;1210;1211;, + 4;1212;1213;1214;1215;, + 4;1216;1217;1218;1219;, + 4;1220;1221;1222;1223;, + 4;1224;1225;1226;1227;, + 4;1228;1229;1230;1231;, + 4;1232;1233;1234;1235;, + 4;1236;1237;1238;1239;, + 4;1240;1241;1242;1243;, + 4;1244;1245;1246;1247;, + 4;1248;1249;1250;1251;, + 4;1252;1253;1254;1255;, + 4;1256;1257;1258;1259;, + 4;1260;1261;1262;1263;, + 4;1264;1265;1266;1267;, + 4;1268;1269;1270;1271;, + 4;1272;1273;1274;1275;, + 4;1276;1277;1278;1279;, + 4;1280;1281;1282;1283;, + 4;1284;1285;1286;1287;, + 4;1288;1289;1290;1291;, + 4;1292;1293;1294;1295;, + 4;1296;1297;1298;1299;, + 4;1300;1301;1302;1303;, + 4;1304;1305;1306;1307;, + 4;1308;1309;1310;1311;, + 4;1312;1313;1314;1315;, + 4;1316;1317;1318;1319;, + 4;1320;1321;1322;1323;, + 4;1324;1325;1326;1327;, + 4;1328;1329;1330;1331;, + 4;1332;1333;1334;1335;, + 4;1336;1337;1338;1339;, + 4;1340;1341;1342;1343;, + 4;1344;1345;1346;1347;, + 4;1348;1349;1350;1351;, + 4;1352;1353;1354;1355;, + 4;1356;1357;1358;1359;, + 4;1360;1361;1362;1363;, + 4;1364;1365;1366;1367;, + 4;1368;1369;1370;1371;, + 4;1372;1373;1374;1375;, + 4;1376;1377;1378;1379;, + 4;1380;1381;1382;1383;, + 4;1384;1385;1386;1387;, + 4;1388;1389;1390;1391;, + 4;1392;1393;1394;1395;, + 4;1396;1397;1398;1399;, + 4;1400;1401;1402;1403;, + 4;1404;1405;1406;1407;, + 4;1408;1409;1410;1411;, + 4;1412;1413;1414;1415;, + 4;1416;1417;1418;1419;, + 4;1420;1421;1422;1423;, + 4;1424;1425;1426;1427;, + 4;1428;1429;1430;1431;, + 4;1432;1433;1434;1435;, + 4;1436;1437;1438;1439;, + 4;1440;1441;1442;1443;, + 4;1444;1445;1446;1447;, + 4;1448;1449;1450;1451;, + 4;1452;1453;1454;1455;, + 4;1456;1457;1458;1459;, + 4;1460;1461;1462;1463;, + 4;1464;1465;1466;1467;, + 4;1468;1469;1470;1471;, + 4;1472;1473;1474;1475;, + 4;1476;1477;1478;1479;, + 4;1480;1481;1482;1483;, + 4;1484;1485;1486;1487;, + 4;1488;1489;1490;1491;, + 4;1492;1493;1494;1495;, + 4;1496;1497;1498;1499;, + 4;1500;1501;1502;1503;, + 4;1504;1505;1506;1507;, + 4;1508;1509;1510;1511;, + 4;1512;1513;1514;1515;, + 4;1516;1517;1518;1519;, + 4;1520;1521;1522;1523;, + 4;1524;1525;1526;1527;, + 4;1528;1529;1530;1531;, + 4;1532;1533;1534;1535;, + 4;1536;1537;1538;1539;, + 4;1540;1541;1542;1543;, + 4;1544;1545;1546;1547;, + 4;1548;1549;1550;1551;, + 4;1552;1553;1554;1555;, + 4;1556;1557;1558;1559;, + 4;1560;1561;1562;1563;, + 4;1564;1565;1566;1567;, + 4;1568;1569;1570;1571;, + 4;1572;1573;1574;1575;, + 4;1576;1577;1578;1579;, + 4;1580;1581;1582;1583;, + 4;1584;1585;1586;1587;, + 4;1588;1589;1590;1591;, + 4;1592;1593;1594;1595;, + 4;1596;1597;1598;1599;, + 4;1600;1601;1602;1603;, + 4;1604;1605;1606;1607;, + 4;1608;1609;1610;1611;, + 4;1612;1613;1614;1615;, + 4;1616;1617;1618;1619;, + 4;1620;1621;1622;1623;, + 4;1624;1625;1626;1627;, + 4;1628;1629;1630;1631;, + 4;1632;1633;1634;1635;, + 4;1636;1637;1638;1639;, + 4;1640;1641;1642;1643;, + 4;1644;1645;1646;1647;, + 4;1648;1649;1650;1651;, + 4;1652;1653;1654;1655;, + 4;1656;1657;1658;1659;, + 4;1660;1661;1662;1663;, + 4;1664;1665;1666;1667;, + 4;1668;1669;1670;1671;, + 4;1672;1673;1674;1675;, + 4;1676;1677;1678;1679;, + 4;1680;1681;1682;1683;, + 4;1684;1685;1686;1687;, + 4;1688;1689;1690;1691;, + 4;1692;1693;1694;1695;, + 4;1696;1697;1698;1699;, + 4;1700;1701;1702;1703;, + 4;1704;1705;1706;1707;, + 4;1708;1709;1710;1711;, + 4;1712;1713;1714;1715;, + 4;1716;1717;1718;1719;, + 4;1720;1721;1722;1723;, + 4;1724;1725;1726;1727;, + 4;1728;1729;1730;1731;, + 4;1732;1733;1734;1735;, + 4;1736;1737;1738;1739;, + 4;1740;1741;1742;1743;, + 4;1744;1745;1746;1747;, + 4;1748;1749;1750;1751;, + 4;1752;1753;1754;1755;, + 4;1756;1757;1758;1759;, + 4;1760;1761;1762;1763;, + 4;1764;1765;1766;1767;, + 4;1768;1769;1770;1771;, + 4;1772;1773;1774;1775;, + 4;1776;1777;1778;1779;, + 4;1780;1781;1782;1783;, + 4;1784;1785;1786;1787;, + 4;1788;1789;1790;1791;, + 4;1792;1793;1794;1795;, + 4;1796;1797;1798;1799;, + 4;1800;1801;1802;1803;, + 4;1804;1805;1806;1807;, + 4;1808;1809;1810;1811;, + 4;1812;1813;1814;1815;, + 4;1816;1817;1818;1819;, + 4;1820;1821;1822;1823;, + 4;1824;1825;1826;1827;, + 4;1828;1829;1830;1831;, + 4;1832;1833;1834;1835;, + 4;1836;1837;1838;1839;, + 4;1840;1841;1842;1843;, + 4;1844;1845;1846;1847;, + 4;1848;1849;1850;1851;, + 4;1852;1853;1854;1855;, + 4;1856;1857;1858;1859;, + 4;1860;1861;1862;1863;, + 4;1864;1865;1866;1867;, + 4;1868;1869;1870;1871;, + 4;1872;1873;1874;1875;, + 4;1876;1877;1878;1879;, + 4;1880;1881;1882;1883;, + 4;1884;1885;1886;1887;, + 4;1888;1889;1890;1891;, + 4;1892;1893;1894;1895;, + 4;1896;1897;1898;1899;, + 4;1900;1901;1902;1903;, + 4;1904;1905;1906;1907;, + 4;1908;1909;1910;1911;, + 4;1912;1913;1914;1915;, + 4;1916;1917;1918;1919;, + 4;1920;1921;1922;1923;, + 4;1924;1925;1926;1927;, + 4;1928;1929;1930;1931;, + 4;1932;1933;1934;1935;, + 4;1936;1937;1938;1939;, + 4;1940;1941;1942;1943;, + 4;1944;1945;1946;1947;, + 4;1948;1949;1950;1951;, + 4;1952;1953;1954;1955;, + 4;1956;1957;1958;1959;, + 4;1960;1961;1962;1963;, + 4;1964;1965;1966;1967;, + 4;1968;1969;1970;1971;, + 4;1972;1973;1974;1975;, + 4;1976;1977;1978;1979;, + 4;1980;1981;1982;1983;, + 4;1984;1985;1986;1987;, + 4;1988;1989;1990;1991;, + 4;1992;1993;1994;1995;, + 4;1996;1997;1998;1999;, + 4;2000;2001;2002;2003;, + 4;2004;2005;2006;2007;, + 4;2008;2009;2010;2011;, + 4;2012;2013;2014;2015;, + 4;2016;2017;2018;2019;, + 4;2020;2021;2022;2023;, + 4;2024;2025;2026;2027;, + 4;2028;2029;2030;2031;, + 4;2032;2033;2034;2035;, + 4;2036;2037;2038;2039;, + 4;2040;2041;2042;2043;, + 4;2044;2045;2046;2047;, + 4;2048;2049;2050;2051;, + 4;2052;2053;2054;2055;, + 4;2056;2057;2058;2059;, + 4;2060;2061;2062;2063;, + 4;2064;2065;2066;2067;, + 4;2068;2069;2070;2071;, + 4;2072;2073;2074;2075;, + 4;2076;2077;2078;2079;, + 4;2080;2081;2082;2083;, + 4;2084;2085;2086;2087;, + 4;2088;2089;2090;2091;, + 4;2092;2093;2094;2095;, + 4;2096;2097;2098;2099;, + 4;2100;2101;2102;2103;, + 4;2104;2105;2106;2107;, + 4;2108;2109;2110;2111;, + 4;2112;2113;2114;2115;, + 4;2116;2117;2118;2119;, + 4;2120;2121;2122;2123;, + 4;2124;2125;2126;2127;, + 4;2128;2129;2130;2131;, + 4;2132;2133;2134;2135;, + 4;2136;2137;2138;2139;, + 4;2140;2141;2142;2143;, + 4;2144;2145;2146;2147;, + 4;2148;2149;2150;2151;, + 4;2152;2153;2154;2155;, + 4;2156;2157;2158;2159;, + 4;2160;2161;2162;2163;, + 4;2164;2165;2166;2167;, + 4;2168;2169;2170;2171;, + 4;2172;2173;2174;2175;, + 4;2176;2177;2178;2179;, + 4;2180;2181;2182;2183;, + 4;2184;2185;2186;2187;, + 4;2188;2189;2190;2191;, + 4;2192;2193;2194;2195;, + 4;2196;2197;2198;2199;, + 4;2200;2201;2202;2203;, + 4;2204;2205;2206;2207;, + 4;2208;2209;2210;2211;, + 4;2212;2213;2214;2215;, + 4;2216;2217;2218;2219;, + 4;2220;2221;2222;2223;, + 4;2224;2225;2226;2227;, + 4;2228;2229;2230;2231;, + 4;2232;2233;2234;2235;, + 4;2236;2237;2238;2239;, + 4;2240;2241;2242;2243;, + 4;2244;2245;2246;2247;, + 4;2248;2249;2250;2251;, + 4;2252;2253;2254;2255;, + 4;2256;2257;2258;2259;, + 4;2260;2261;2262;2263;, + 4;2264;2265;2266;2267;, + 4;2268;2269;2270;2271;, + 4;2272;2273;2274;2275;, + 4;2276;2277;2278;2279;, + 4;2280;2281;2282;2283;, + 4;2284;2285;2286;2287;, + 4;2288;2289;2290;2291;, + 4;2292;2293;2294;2295;, + 4;2296;2297;2298;2299;, + 4;2300;2301;2302;2303;, + 4;2304;2305;2306;2307;, + 4;2308;2309;2310;2311;, + 4;2312;2313;2314;2315;, + 4;2316;2317;2318;2319;, + 4;2320;2321;2322;2323;, + 4;2324;2325;2326;2327;, + 4;2328;2329;2330;2331;, + 4;2332;2333;2334;2335;, + 4;2336;2337;2338;2339;, + 4;2340;2341;2342;2343;, + 4;2344;2345;2346;2347;, + 4;2348;2349;2350;2351;, + 4;2352;2353;2354;2355;, + 4;2356;2357;2358;2359;, + 4;2360;2361;2362;2363;, + 4;2364;2365;2366;2367;, + 4;2368;2369;2370;2371;, + 4;2372;2373;2374;2375;, + 4;2376;2377;2378;2379;, + 4;2380;2381;2382;2383;, + 4;2384;2385;2386;2387;, + 4;2388;2389;2390;2391;, + 4;2392;2393;2394;2395;, + 4;2396;2397;2398;2399;, + 4;2400;2401;2402;2403;, + 4;2404;2405;2406;2407;, + 4;2408;2409;2410;2411;, + 4;2412;2413;2414;2415;, + 4;2416;2417;2418;2419;, + 4;2420;2421;2422;2423;, + 4;2424;2425;2426;2427;, + 4;2428;2429;2430;2431;, + 4;2432;2433;2434;2435;, + 4;2436;2437;2438;2439;, + 4;2440;2441;2442;2443;, + 4;2444;2445;2446;2447;, + 4;2448;2449;2450;2451;, + 4;2452;2453;2454;2455;, + 4;2456;2457;2458;2459;, + 4;2460;2461;2462;2463;, + 4;2464;2465;2466;2467;, + 4;2468;2469;2470;2471;, + 4;2472;2473;2474;2475;, + 4;2476;2477;2478;2479;, + 4;2480;2481;2482;2483;, + 4;2484;2485;2486;2487;, + 4;2488;2489;2490;2491;, + 4;2492;2493;2494;2495;, + 4;2496;2497;2498;2499;, + 4;2500;2501;2502;2503;, + 4;2504;2505;2506;2507;, + 4;2508;2509;2510;2511;, + 4;2512;2513;2514;2515;, + 4;2516;2517;2518;2519;, + 4;2520;2521;2522;2523;, + 4;2524;2525;2526;2527;, + 4;2528;2529;2530;2531;, + 4;2532;2533;2534;2535;, + 4;2536;2537;2538;2539;, + 4;2540;2541;2542;2543;, + 4;2544;2545;2546;2547;, + 4;2548;2549;2550;2551;, + 4;2552;2553;2554;2555;, + 4;2556;2557;2558;2559;, + 4;2560;2561;2562;2563;, + 4;2564;2565;2566;2567;, + 4;2568;2569;2570;2571;, + 4;2572;2573;2574;2575;, + 4;2576;2577;2578;2579;, + 4;2580;2581;2582;2583;, + 4;2584;2585;2586;2587;, + 4;2588;2589;2590;2591;, + 4;2592;2593;2594;2595;, + 4;2596;2597;2598;2599;, + 4;2600;2601;2602;2603;, + 4;2604;2605;2606;2607;, + 4;2608;2609;2610;2611;, + 4;2612;2613;2614;2615;, + 4;2616;2617;2618;2619;, + 4;2620;2621;2622;2623;, + 4;2624;2625;2626;2627;, + 4;2628;2629;2630;2631;, + 4;2632;2633;2634;2635;, + 4;2636;2637;2638;2639;, + 4;2640;2641;2642;2643;, + 4;2644;2645;2646;2647;, + 4;2648;2649;2650;2651;, + 4;2652;2653;2654;2655;, + 4;2656;2657;2658;2659;, + 4;2660;2661;2662;2663;, + 4;2664;2665;2666;2667;, + 4;2668;2669;2670;2671;, + 4;2672;2673;2674;2675;, + 4;2676;2677;2678;2679;, + 4;2680;2681;2682;2683;, + 4;2684;2685;2686;2687;, + 4;2688;2689;2690;2691;, + 4;2692;2693;2694;2695;, + 4;2696;2697;2698;2699;, + 4;2700;2701;2702;2703;, + 4;2704;2705;2706;2707;, + 4;2708;2709;2710;2711;, + 4;2712;2713;2714;2715;, + 4;2716;2717;2718;2719;, + 4;2720;2721;2722;2723;, + 4;2724;2725;2726;2727;, + 4;2728;2729;2730;2731;, + 4;2732;2733;2734;2735;, + 4;2736;2737;2738;2739;, + 4;2740;2741;2742;2743;, + 4;2744;2745;2746;2747;, + 4;2748;2749;2750;2751;, + 4;2752;2753;2754;2755;, + 4;2756;2757;2758;2759;, + 4;2760;2761;2762;2763;, + 4;2764;2765;2766;2767;, + 4;2768;2769;2770;2771;, + 4;2772;2773;2774;2775;, + 4;2776;2777;2778;2779;, + 4;2780;2781;2782;2783;, + 4;2784;2785;2786;2787;, + 4;2788;2789;2790;2791;, + 4;2792;2793;2794;2795;, + 4;2796;2797;2798;2799;, + 4;2800;2801;2802;2803;, + 4;2804;2805;2806;2807;, + 4;2808;2809;2810;2811;, + 4;2812;2813;2814;2815;, + 4;2816;2817;2818;2819;, + 4;2820;2821;2822;2823;, + 4;2824;2825;2826;2827;, + 4;2828;2829;2830;2831;, + 4;2832;2833;2834;2835;, + 4;2836;2837;2838;2839;, + 4;2840;2841;2842;2843;, + 4;2844;2845;2846;2847;, + 4;2848;2849;2850;2851;, + 4;2852;2853;2854;2855;, + 4;2856;2857;2858;2859;, + 4;2860;2861;2862;2863;, + 4;2864;2865;2866;2867;, + 4;2868;2869;2870;2871;, + 4;2872;2873;2874;2875;, + 4;2876;2877;2878;2879;, + 4;2880;2881;2882;2883;, + 4;2884;2885;2886;2887;, + 4;2888;2889;2890;2891;, + 4;2892;2893;2894;2895;, + 4;2896;2897;2898;2899;, + 4;2900;2901;2902;2903;, + 4;2904;2905;2906;2907;, + 4;2908;2909;2910;2911;, + 4;2912;2913;2914;2915;, + 4;2916;2917;2918;2919;, + 4;2920;2921;2922;2923;, + 4;2924;2925;2926;2927;, + 4;2928;2929;2930;2931;, + 4;2932;2933;2934;2935;, + 4;2936;2937;2938;2939;, + 4;2940;2941;2942;2943;, + 4;2944;2945;2946;2947;, + 4;2948;2949;2950;2951;; + MeshNormals { //Plane_000 Normals + 2952; + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000;-0.000000;-1.000000;, + 0.000000;-0.000000;-1.000000;, + 0.000000;-0.000000;-1.000000;, + 0.000000;-0.000000;-1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -1.000000;-0.000000; 0.000000;, + -1.000000;-0.000000; 0.000000;, + -1.000000;-0.000000; 0.000000;, + -1.000000;-0.000000; 0.000000;; + 738; + 4;0;1;2;3;, + 4;4;5;6;7;, + 4;8;9;10;11;, + 4;12;13;14;15;, + 4;16;17;18;19;, + 4;20;21;22;23;, + 4;24;25;26;27;, + 4;28;29;30;31;, + 4;32;33;34;35;, + 4;36;37;38;39;, + 4;40;41;42;43;, + 4;44;45;46;47;, + 4;48;49;50;51;, + 4;52;53;54;55;, + 4;56;57;58;59;, + 4;60;61;62;63;, + 4;64;65;66;67;, + 4;68;69;70;71;, + 4;72;73;74;75;, + 4;76;77;78;79;, + 4;80;81;82;83;, + 4;84;85;86;87;, + 4;88;89;90;91;, + 4;92;93;94;95;, + 4;96;97;98;99;, + 4;100;101;102;103;, + 4;104;105;106;107;, + 4;108;109;110;111;, + 4;112;113;114;115;, + 4;116;117;118;119;, + 4;120;121;122;123;, + 4;124;125;126;127;, + 4;128;129;130;131;, + 4;132;133;134;135;, + 4;136;137;138;139;, + 4;140;141;142;143;, + 4;144;145;146;147;, + 4;148;149;150;151;, + 4;152;153;154;155;, + 4;156;157;158;159;, + 4;160;161;162;163;, + 4;164;165;166;167;, + 4;168;169;170;171;, + 4;172;173;174;175;, + 4;176;177;178;179;, + 4;180;181;182;183;, + 4;184;185;186;187;, + 4;188;189;190;191;, + 4;192;193;194;195;, + 4;196;197;198;199;, + 4;200;201;202;203;, + 4;204;205;206;207;, + 4;208;209;210;211;, + 4;212;213;214;215;, + 4;216;217;218;219;, + 4;220;221;222;223;, + 4;224;225;226;227;, + 4;228;229;230;231;, + 4;232;233;234;235;, + 4;236;237;238;239;, + 4;240;241;242;243;, + 4;244;245;246;247;, + 4;248;249;250;251;, + 4;252;253;254;255;, + 4;256;257;258;259;, + 4;260;261;262;263;, + 4;264;265;266;267;, + 4;268;269;270;271;, + 4;272;273;274;275;, + 4;276;277;278;279;, + 4;280;281;282;283;, + 4;284;285;286;287;, + 4;288;289;290;291;, + 4;292;293;294;295;, + 4;296;297;298;299;, + 4;300;301;302;303;, + 4;304;305;306;307;, + 4;308;309;310;311;, + 4;312;313;314;315;, + 4;316;317;318;319;, + 4;320;321;322;323;, + 4;324;325;326;327;, + 4;328;329;330;331;, + 4;332;333;334;335;, + 4;336;337;338;339;, + 4;340;341;342;343;, + 4;344;345;346;347;, + 4;348;349;350;351;, + 4;352;353;354;355;, + 4;356;357;358;359;, + 4;360;361;362;363;, + 4;364;365;366;367;, + 4;368;369;370;371;, + 4;372;373;374;375;, + 4;376;377;378;379;, + 4;380;381;382;383;, + 4;384;385;386;387;, + 4;388;389;390;391;, + 4;392;393;394;395;, + 4;396;397;398;399;, + 4;400;401;402;403;, + 4;404;405;406;407;, + 4;408;409;410;411;, + 4;412;413;414;415;, + 4;416;417;418;419;, + 4;420;421;422;423;, + 4;424;425;426;427;, + 4;428;429;430;431;, + 4;432;433;434;435;, + 4;436;437;438;439;, + 4;440;441;442;443;, + 4;444;445;446;447;, + 4;448;449;450;451;, + 4;452;453;454;455;, + 4;456;457;458;459;, + 4;460;461;462;463;, + 4;464;465;466;467;, + 4;468;469;470;471;, + 4;472;473;474;475;, + 4;476;477;478;479;, + 4;480;481;482;483;, + 4;484;485;486;487;, + 4;488;489;490;491;, + 4;492;493;494;495;, + 4;496;497;498;499;, + 4;500;501;502;503;, + 4;504;505;506;507;, + 4;508;509;510;511;, + 4;512;513;514;515;, + 4;516;517;518;519;, + 4;520;521;522;523;, + 4;524;525;526;527;, + 4;528;529;530;531;, + 4;532;533;534;535;, + 4;536;537;538;539;, + 4;540;541;542;543;, + 4;544;545;546;547;, + 4;548;549;550;551;, + 4;552;553;554;555;, + 4;556;557;558;559;, + 4;560;561;562;563;, + 4;564;565;566;567;, + 4;568;569;570;571;, + 4;572;573;574;575;, + 4;576;577;578;579;, + 4;580;581;582;583;, + 4;584;585;586;587;, + 4;588;589;590;591;, + 4;592;593;594;595;, + 4;596;597;598;599;, + 4;600;601;602;603;, + 4;604;605;606;607;, + 4;608;609;610;611;, + 4;612;613;614;615;, + 4;616;617;618;619;, + 4;620;621;622;623;, + 4;624;625;626;627;, + 4;628;629;630;631;, + 4;632;633;634;635;, + 4;636;637;638;639;, + 4;640;641;642;643;, + 4;644;645;646;647;, + 4;648;649;650;651;, + 4;652;653;654;655;, + 4;656;657;658;659;, + 4;660;661;662;663;, + 4;664;665;666;667;, + 4;668;669;670;671;, + 4;672;673;674;675;, + 4;676;677;678;679;, + 4;680;681;682;683;, + 4;684;685;686;687;, + 4;688;689;690;691;, + 4;692;693;694;695;, + 4;696;697;698;699;, + 4;700;701;702;703;, + 4;704;705;706;707;, + 4;708;709;710;711;, + 4;712;713;714;715;, + 4;716;717;718;719;, + 4;720;721;722;723;, + 4;724;725;726;727;, + 4;728;729;730;731;, + 4;732;733;734;735;, + 4;736;737;738;739;, + 4;740;741;742;743;, + 4;744;745;746;747;, + 4;748;749;750;751;, + 4;752;753;754;755;, + 4;756;757;758;759;, + 4;760;761;762;763;, + 4;764;765;766;767;, + 4;768;769;770;771;, + 4;772;773;774;775;, + 4;776;777;778;779;, + 4;780;781;782;783;, + 4;784;785;786;787;, + 4;788;789;790;791;, + 4;792;793;794;795;, + 4;796;797;798;799;, + 4;800;801;802;803;, + 4;804;805;806;807;, + 4;808;809;810;811;, + 4;812;813;814;815;, + 4;816;817;818;819;, + 4;820;821;822;823;, + 4;824;825;826;827;, + 4;828;829;830;831;, + 4;832;833;834;835;, + 4;836;837;838;839;, + 4;840;841;842;843;, + 4;844;845;846;847;, + 4;848;849;850;851;, + 4;852;853;854;855;, + 4;856;857;858;859;, + 4;860;861;862;863;, + 4;864;865;866;867;, + 4;868;869;870;871;, + 4;872;873;874;875;, + 4;876;877;878;879;, + 4;880;881;882;883;, + 4;884;885;886;887;, + 4;888;889;890;891;, + 4;892;893;894;895;, + 4;896;897;898;899;, + 4;900;901;902;903;, + 4;904;905;906;907;, + 4;908;909;910;911;, + 4;912;913;914;915;, + 4;916;917;918;919;, + 4;920;921;922;923;, + 4;924;925;926;927;, + 4;928;929;930;931;, + 4;932;933;934;935;, + 4;936;937;938;939;, + 4;940;941;942;943;, + 4;944;945;946;947;, + 4;948;949;950;951;, + 4;952;953;954;955;, + 4;956;957;958;959;, + 4;960;961;962;963;, + 4;964;965;966;967;, + 4;968;969;970;971;, + 4;972;973;974;975;, + 4;976;977;978;979;, + 4;980;981;982;983;, + 4;984;985;986;987;, + 4;988;989;990;991;, + 4;992;993;994;995;, + 4;996;997;998;999;, + 4;1000;1001;1002;1003;, + 4;1004;1005;1006;1007;, + 4;1008;1009;1010;1011;, + 4;1012;1013;1014;1015;, + 4;1016;1017;1018;1019;, + 4;1020;1021;1022;1023;, + 4;1024;1025;1026;1027;, + 4;1028;1029;1030;1031;, + 4;1032;1033;1034;1035;, + 4;1036;1037;1038;1039;, + 4;1040;1041;1042;1043;, + 4;1044;1045;1046;1047;, + 4;1048;1049;1050;1051;, + 4;1052;1053;1054;1055;, + 4;1056;1057;1058;1059;, + 4;1060;1061;1062;1063;, + 4;1064;1065;1066;1067;, + 4;1068;1069;1070;1071;, + 4;1072;1073;1074;1075;, + 4;1076;1077;1078;1079;, + 4;1080;1081;1082;1083;, + 4;1084;1085;1086;1087;, + 4;1088;1089;1090;1091;, + 4;1092;1093;1094;1095;, + 4;1096;1097;1098;1099;, + 4;1100;1101;1102;1103;, + 4;1104;1105;1106;1107;, + 4;1108;1109;1110;1111;, + 4;1112;1113;1114;1115;, + 4;1116;1117;1118;1119;, + 4;1120;1121;1122;1123;, + 4;1124;1125;1126;1127;, + 4;1128;1129;1130;1131;, + 4;1132;1133;1134;1135;, + 4;1136;1137;1138;1139;, + 4;1140;1141;1142;1143;, + 4;1144;1145;1146;1147;, + 4;1148;1149;1150;1151;, + 4;1152;1153;1154;1155;, + 4;1156;1157;1158;1159;, + 4;1160;1161;1162;1163;, + 4;1164;1165;1166;1167;, + 4;1168;1169;1170;1171;, + 4;1172;1173;1174;1175;, + 4;1176;1177;1178;1179;, + 4;1180;1181;1182;1183;, + 4;1184;1185;1186;1187;, + 4;1188;1189;1190;1191;, + 4;1192;1193;1194;1195;, + 4;1196;1197;1198;1199;, + 4;1200;1201;1202;1203;, + 4;1204;1205;1206;1207;, + 4;1208;1209;1210;1211;, + 4;1212;1213;1214;1215;, + 4;1216;1217;1218;1219;, + 4;1220;1221;1222;1223;, + 4;1224;1225;1226;1227;, + 4;1228;1229;1230;1231;, + 4;1232;1233;1234;1235;, + 4;1236;1237;1238;1239;, + 4;1240;1241;1242;1243;, + 4;1244;1245;1246;1247;, + 4;1248;1249;1250;1251;, + 4;1252;1253;1254;1255;, + 4;1256;1257;1258;1259;, + 4;1260;1261;1262;1263;, + 4;1264;1265;1266;1267;, + 4;1268;1269;1270;1271;, + 4;1272;1273;1274;1275;, + 4;1276;1277;1278;1279;, + 4;1280;1281;1282;1283;, + 4;1284;1285;1286;1287;, + 4;1288;1289;1290;1291;, + 4;1292;1293;1294;1295;, + 4;1296;1297;1298;1299;, + 4;1300;1301;1302;1303;, + 4;1304;1305;1306;1307;, + 4;1308;1309;1310;1311;, + 4;1312;1313;1314;1315;, + 4;1316;1317;1318;1319;, + 4;1320;1321;1322;1323;, + 4;1324;1325;1326;1327;, + 4;1328;1329;1330;1331;, + 4;1332;1333;1334;1335;, + 4;1336;1337;1338;1339;, + 4;1340;1341;1342;1343;, + 4;1344;1345;1346;1347;, + 4;1348;1349;1350;1351;, + 4;1352;1353;1354;1355;, + 4;1356;1357;1358;1359;, + 4;1360;1361;1362;1363;, + 4;1364;1365;1366;1367;, + 4;1368;1369;1370;1371;, + 4;1372;1373;1374;1375;, + 4;1376;1377;1378;1379;, + 4;1380;1381;1382;1383;, + 4;1384;1385;1386;1387;, + 4;1388;1389;1390;1391;, + 4;1392;1393;1394;1395;, + 4;1396;1397;1398;1399;, + 4;1400;1401;1402;1403;, + 4;1404;1405;1406;1407;, + 4;1408;1409;1410;1411;, + 4;1412;1413;1414;1415;, + 4;1416;1417;1418;1419;, + 4;1420;1421;1422;1423;, + 4;1424;1425;1426;1427;, + 4;1428;1429;1430;1431;, + 4;1432;1433;1434;1435;, + 4;1436;1437;1438;1439;, + 4;1440;1441;1442;1443;, + 4;1444;1445;1446;1447;, + 4;1448;1449;1450;1451;, + 4;1452;1453;1454;1455;, + 4;1456;1457;1458;1459;, + 4;1460;1461;1462;1463;, + 4;1464;1465;1466;1467;, + 4;1468;1469;1470;1471;, + 4;1472;1473;1474;1475;, + 4;1476;1477;1478;1479;, + 4;1480;1481;1482;1483;, + 4;1484;1485;1486;1487;, + 4;1488;1489;1490;1491;, + 4;1492;1493;1494;1495;, + 4;1496;1497;1498;1499;, + 4;1500;1501;1502;1503;, + 4;1504;1505;1506;1507;, + 4;1508;1509;1510;1511;, + 4;1512;1513;1514;1515;, + 4;1516;1517;1518;1519;, + 4;1520;1521;1522;1523;, + 4;1524;1525;1526;1527;, + 4;1528;1529;1530;1531;, + 4;1532;1533;1534;1535;, + 4;1536;1537;1538;1539;, + 4;1540;1541;1542;1543;, + 4;1544;1545;1546;1547;, + 4;1548;1549;1550;1551;, + 4;1552;1553;1554;1555;, + 4;1556;1557;1558;1559;, + 4;1560;1561;1562;1563;, + 4;1564;1565;1566;1567;, + 4;1568;1569;1570;1571;, + 4;1572;1573;1574;1575;, + 4;1576;1577;1578;1579;, + 4;1580;1581;1582;1583;, + 4;1584;1585;1586;1587;, + 4;1588;1589;1590;1591;, + 4;1592;1593;1594;1595;, + 4;1596;1597;1598;1599;, + 4;1600;1601;1602;1603;, + 4;1604;1605;1606;1607;, + 4;1608;1609;1610;1611;, + 4;1612;1613;1614;1615;, + 4;1616;1617;1618;1619;, + 4;1620;1621;1622;1623;, + 4;1624;1625;1626;1627;, + 4;1628;1629;1630;1631;, + 4;1632;1633;1634;1635;, + 4;1636;1637;1638;1639;, + 4;1640;1641;1642;1643;, + 4;1644;1645;1646;1647;, + 4;1648;1649;1650;1651;, + 4;1652;1653;1654;1655;, + 4;1656;1657;1658;1659;, + 4;1660;1661;1662;1663;, + 4;1664;1665;1666;1667;, + 4;1668;1669;1670;1671;, + 4;1672;1673;1674;1675;, + 4;1676;1677;1678;1679;, + 4;1680;1681;1682;1683;, + 4;1684;1685;1686;1687;, + 4;1688;1689;1690;1691;, + 4;1692;1693;1694;1695;, + 4;1696;1697;1698;1699;, + 4;1700;1701;1702;1703;, + 4;1704;1705;1706;1707;, + 4;1708;1709;1710;1711;, + 4;1712;1713;1714;1715;, + 4;1716;1717;1718;1719;, + 4;1720;1721;1722;1723;, + 4;1724;1725;1726;1727;, + 4;1728;1729;1730;1731;, + 4;1732;1733;1734;1735;, + 4;1736;1737;1738;1739;, + 4;1740;1741;1742;1743;, + 4;1744;1745;1746;1747;, + 4;1748;1749;1750;1751;, + 4;1752;1753;1754;1755;, + 4;1756;1757;1758;1759;, + 4;1760;1761;1762;1763;, + 4;1764;1765;1766;1767;, + 4;1768;1769;1770;1771;, + 4;1772;1773;1774;1775;, + 4;1776;1777;1778;1779;, + 4;1780;1781;1782;1783;, + 4;1784;1785;1786;1787;, + 4;1788;1789;1790;1791;, + 4;1792;1793;1794;1795;, + 4;1796;1797;1798;1799;, + 4;1800;1801;1802;1803;, + 4;1804;1805;1806;1807;, + 4;1808;1809;1810;1811;, + 4;1812;1813;1814;1815;, + 4;1816;1817;1818;1819;, + 4;1820;1821;1822;1823;, + 4;1824;1825;1826;1827;, + 4;1828;1829;1830;1831;, + 4;1832;1833;1834;1835;, + 4;1836;1837;1838;1839;, + 4;1840;1841;1842;1843;, + 4;1844;1845;1846;1847;, + 4;1848;1849;1850;1851;, + 4;1852;1853;1854;1855;, + 4;1856;1857;1858;1859;, + 4;1860;1861;1862;1863;, + 4;1864;1865;1866;1867;, + 4;1868;1869;1870;1871;, + 4;1872;1873;1874;1875;, + 4;1876;1877;1878;1879;, + 4;1880;1881;1882;1883;, + 4;1884;1885;1886;1887;, + 4;1888;1889;1890;1891;, + 4;1892;1893;1894;1895;, + 4;1896;1897;1898;1899;, + 4;1900;1901;1902;1903;, + 4;1904;1905;1906;1907;, + 4;1908;1909;1910;1911;, + 4;1912;1913;1914;1915;, + 4;1916;1917;1918;1919;, + 4;1920;1921;1922;1923;, + 4;1924;1925;1926;1927;, + 4;1928;1929;1930;1931;, + 4;1932;1933;1934;1935;, + 4;1936;1937;1938;1939;, + 4;1940;1941;1942;1943;, + 4;1944;1945;1946;1947;, + 4;1948;1949;1950;1951;, + 4;1952;1953;1954;1955;, + 4;1956;1957;1958;1959;, + 4;1960;1961;1962;1963;, + 4;1964;1965;1966;1967;, + 4;1968;1969;1970;1971;, + 4;1972;1973;1974;1975;, + 4;1976;1977;1978;1979;, + 4;1980;1981;1982;1983;, + 4;1984;1985;1986;1987;, + 4;1988;1989;1990;1991;, + 4;1992;1993;1994;1995;, + 4;1996;1997;1998;1999;, + 4;2000;2001;2002;2003;, + 4;2004;2005;2006;2007;, + 4;2008;2009;2010;2011;, + 4;2012;2013;2014;2015;, + 4;2016;2017;2018;2019;, + 4;2020;2021;2022;2023;, + 4;2024;2025;2026;2027;, + 4;2028;2029;2030;2031;, + 4;2032;2033;2034;2035;, + 4;2036;2037;2038;2039;, + 4;2040;2041;2042;2043;, + 4;2044;2045;2046;2047;, + 4;2048;2049;2050;2051;, + 4;2052;2053;2054;2055;, + 4;2056;2057;2058;2059;, + 4;2060;2061;2062;2063;, + 4;2064;2065;2066;2067;, + 4;2068;2069;2070;2071;, + 4;2072;2073;2074;2075;, + 4;2076;2077;2078;2079;, + 4;2080;2081;2082;2083;, + 4;2084;2085;2086;2087;, + 4;2088;2089;2090;2091;, + 4;2092;2093;2094;2095;, + 4;2096;2097;2098;2099;, + 4;2100;2101;2102;2103;, + 4;2104;2105;2106;2107;, + 4;2108;2109;2110;2111;, + 4;2112;2113;2114;2115;, + 4;2116;2117;2118;2119;, + 4;2120;2121;2122;2123;, + 4;2124;2125;2126;2127;, + 4;2128;2129;2130;2131;, + 4;2132;2133;2134;2135;, + 4;2136;2137;2138;2139;, + 4;2140;2141;2142;2143;, + 4;2144;2145;2146;2147;, + 4;2148;2149;2150;2151;, + 4;2152;2153;2154;2155;, + 4;2156;2157;2158;2159;, + 4;2160;2161;2162;2163;, + 4;2164;2165;2166;2167;, + 4;2168;2169;2170;2171;, + 4;2172;2173;2174;2175;, + 4;2176;2177;2178;2179;, + 4;2180;2181;2182;2183;, + 4;2184;2185;2186;2187;, + 4;2188;2189;2190;2191;, + 4;2192;2193;2194;2195;, + 4;2196;2197;2198;2199;, + 4;2200;2201;2202;2203;, + 4;2204;2205;2206;2207;, + 4;2208;2209;2210;2211;, + 4;2212;2213;2214;2215;, + 4;2216;2217;2218;2219;, + 4;2220;2221;2222;2223;, + 4;2224;2225;2226;2227;, + 4;2228;2229;2230;2231;, + 4;2232;2233;2234;2235;, + 4;2236;2237;2238;2239;, + 4;2240;2241;2242;2243;, + 4;2244;2245;2246;2247;, + 4;2248;2249;2250;2251;, + 4;2252;2253;2254;2255;, + 4;2256;2257;2258;2259;, + 4;2260;2261;2262;2263;, + 4;2264;2265;2266;2267;, + 4;2268;2269;2270;2271;, + 4;2272;2273;2274;2275;, + 4;2276;2277;2278;2279;, + 4;2280;2281;2282;2283;, + 4;2284;2285;2286;2287;, + 4;2288;2289;2290;2291;, + 4;2292;2293;2294;2295;, + 4;2296;2297;2298;2299;, + 4;2300;2301;2302;2303;, + 4;2304;2305;2306;2307;, + 4;2308;2309;2310;2311;, + 4;2312;2313;2314;2315;, + 4;2316;2317;2318;2319;, + 4;2320;2321;2322;2323;, + 4;2324;2325;2326;2327;, + 4;2328;2329;2330;2331;, + 4;2332;2333;2334;2335;, + 4;2336;2337;2338;2339;, + 4;2340;2341;2342;2343;, + 4;2344;2345;2346;2347;, + 4;2348;2349;2350;2351;, + 4;2352;2353;2354;2355;, + 4;2356;2357;2358;2359;, + 4;2360;2361;2362;2363;, + 4;2364;2365;2366;2367;, + 4;2368;2369;2370;2371;, + 4;2372;2373;2374;2375;, + 4;2376;2377;2378;2379;, + 4;2380;2381;2382;2383;, + 4;2384;2385;2386;2387;, + 4;2388;2389;2390;2391;, + 4;2392;2393;2394;2395;, + 4;2396;2397;2398;2399;, + 4;2400;2401;2402;2403;, + 4;2404;2405;2406;2407;, + 4;2408;2409;2410;2411;, + 4;2412;2413;2414;2415;, + 4;2416;2417;2418;2419;, + 4;2420;2421;2422;2423;, + 4;2424;2425;2426;2427;, + 4;2428;2429;2430;2431;, + 4;2432;2433;2434;2435;, + 4;2436;2437;2438;2439;, + 4;2440;2441;2442;2443;, + 4;2444;2445;2446;2447;, + 4;2448;2449;2450;2451;, + 4;2452;2453;2454;2455;, + 4;2456;2457;2458;2459;, + 4;2460;2461;2462;2463;, + 4;2464;2465;2466;2467;, + 4;2468;2469;2470;2471;, + 4;2472;2473;2474;2475;, + 4;2476;2477;2478;2479;, + 4;2480;2481;2482;2483;, + 4;2484;2485;2486;2487;, + 4;2488;2489;2490;2491;, + 4;2492;2493;2494;2495;, + 4;2496;2497;2498;2499;, + 4;2500;2501;2502;2503;, + 4;2504;2505;2506;2507;, + 4;2508;2509;2510;2511;, + 4;2512;2513;2514;2515;, + 4;2516;2517;2518;2519;, + 4;2520;2521;2522;2523;, + 4;2524;2525;2526;2527;, + 4;2528;2529;2530;2531;, + 4;2532;2533;2534;2535;, + 4;2536;2537;2538;2539;, + 4;2540;2541;2542;2543;, + 4;2544;2545;2546;2547;, + 4;2548;2549;2550;2551;, + 4;2552;2553;2554;2555;, + 4;2556;2557;2558;2559;, + 4;2560;2561;2562;2563;, + 4;2564;2565;2566;2567;, + 4;2568;2569;2570;2571;, + 4;2572;2573;2574;2575;, + 4;2576;2577;2578;2579;, + 4;2580;2581;2582;2583;, + 4;2584;2585;2586;2587;, + 4;2588;2589;2590;2591;, + 4;2592;2593;2594;2595;, + 4;2596;2597;2598;2599;, + 4;2600;2601;2602;2603;, + 4;2604;2605;2606;2607;, + 4;2608;2609;2610;2611;, + 4;2612;2613;2614;2615;, + 4;2616;2617;2618;2619;, + 4;2620;2621;2622;2623;, + 4;2624;2625;2626;2627;, + 4;2628;2629;2630;2631;, + 4;2632;2633;2634;2635;, + 4;2636;2637;2638;2639;, + 4;2640;2641;2642;2643;, + 4;2644;2645;2646;2647;, + 4;2648;2649;2650;2651;, + 4;2652;2653;2654;2655;, + 4;2656;2657;2658;2659;, + 4;2660;2661;2662;2663;, + 4;2664;2665;2666;2667;, + 4;2668;2669;2670;2671;, + 4;2672;2673;2674;2675;, + 4;2676;2677;2678;2679;, + 4;2680;2681;2682;2683;, + 4;2684;2685;2686;2687;, + 4;2688;2689;2690;2691;, + 4;2692;2693;2694;2695;, + 4;2696;2697;2698;2699;, + 4;2700;2701;2702;2703;, + 4;2704;2705;2706;2707;, + 4;2708;2709;2710;2711;, + 4;2712;2713;2714;2715;, + 4;2716;2717;2718;2719;, + 4;2720;2721;2722;2723;, + 4;2724;2725;2726;2727;, + 4;2728;2729;2730;2731;, + 4;2732;2733;2734;2735;, + 4;2736;2737;2738;2739;, + 4;2740;2741;2742;2743;, + 4;2744;2745;2746;2747;, + 4;2748;2749;2750;2751;, + 4;2752;2753;2754;2755;, + 4;2756;2757;2758;2759;, + 4;2760;2761;2762;2763;, + 4;2764;2765;2766;2767;, + 4;2768;2769;2770;2771;, + 4;2772;2773;2774;2775;, + 4;2776;2777;2778;2779;, + 4;2780;2781;2782;2783;, + 4;2784;2785;2786;2787;, + 4;2788;2789;2790;2791;, + 4;2792;2793;2794;2795;, + 4;2796;2797;2798;2799;, + 4;2800;2801;2802;2803;, + 4;2804;2805;2806;2807;, + 4;2808;2809;2810;2811;, + 4;2812;2813;2814;2815;, + 4;2816;2817;2818;2819;, + 4;2820;2821;2822;2823;, + 4;2824;2825;2826;2827;, + 4;2828;2829;2830;2831;, + 4;2832;2833;2834;2835;, + 4;2836;2837;2838;2839;, + 4;2840;2841;2842;2843;, + 4;2844;2845;2846;2847;, + 4;2848;2849;2850;2851;, + 4;2852;2853;2854;2855;, + 4;2856;2857;2858;2859;, + 4;2860;2861;2862;2863;, + 4;2864;2865;2866;2867;, + 4;2868;2869;2870;2871;, + 4;2872;2873;2874;2875;, + 4;2876;2877;2878;2879;, + 4;2880;2881;2882;2883;, + 4;2884;2885;2886;2887;, + 4;2888;2889;2890;2891;, + 4;2892;2893;2894;2895;, + 4;2896;2897;2898;2899;, + 4;2900;2901;2902;2903;, + 4;2904;2905;2906;2907;, + 4;2908;2909;2910;2911;, + 4;2912;2913;2914;2915;, + 4;2916;2917;2918;2919;, + 4;2920;2921;2922;2923;, + 4;2924;2925;2926;2927;, + 4;2928;2929;2930;2931;, + 4;2932;2933;2934;2935;, + 4;2936;2937;2938;2939;, + 4;2940;2941;2942;2943;, + 4;2944;2945;2946;2947;, + 4;2948;2949;2950;2951;; + } //End of Plane_000 Normals + MeshMaterialList { //Plane_000 Material List + 1; + 738; + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0;; + Material Material { + 0.640000; 0.640000; 0.640000; 1.000000;; + 96.078431; + 0.500000; 0.500000; 0.500000;; + 0.000000; 0.000000; 0.000000;; + TextureFilename {"boat.png";} + } + } //End of Plane_000 Material List + MeshTextureCoords { //Plane_000 UV Coordinates + 2952; + 0.116022; 0.052830;, + 0.087066; 0.052833;, + 0.087063; 0.025689;, + 0.116019; 0.025685;, + 0.029160; 0.479941;, + 0.058118; 0.479941;, + 0.058118; 0.507087;, + 0.029160; 0.507087;, + 0.087076; 0.222947;, + 0.058119; 0.222948;, + 0.058119; 0.195803;, + 0.087075; 0.195803;, + 0.144991; 0.393067;, + 0.116033; 0.393067;, + 0.116034; 0.365922;, + 0.144991; 0.365922;, + 0.405609; 0.393072;, + 0.376652; 0.393070;, + 0.376653; 0.365924;, + 0.405611; 0.365926;, + 0.405620; 0.139684;, + 0.434582; 0.139684;, + 0.434582; 0.166834;, + 0.405621; 0.166834;, + 0.662141; 0.896163;, + 0.691099; 0.896163;, + 0.691099; 0.923309;, + 0.662141; 0.923309;, + 0.289781; 0.309818;, + 0.318739; 0.309818;, + 0.318739; 0.336965;, + 0.289780; 0.336964;, + 0.749016; 0.896163;, + 0.777974; 0.896163;, + 0.777974; 0.923309;, + 0.749016; 0.923309;, + 0.173944; 0.139696;, + 0.202902; 0.139694;, + 0.202903; 0.166840;, + 0.173946; 0.166842;, + 0.231853; 0.052816;, + 0.202894; 0.052820;, + 0.202891; 0.025674;, + 0.231849; 0.025670;, + 0.202907; 0.393067;, + 0.173949; 0.393067;, + 0.173949; 0.365921;, + 0.202907; 0.365921;, + 0.318738; 0.139687;, + 0.347698; 0.139686;, + 0.347699; 0.166834;, + 0.318739; 0.166835;, + 0.289772; 0.052810;, + 0.260812; 0.052813;, + 0.260808; 0.025666;, + 0.289768; 0.025662;, + 0.579760; 0.536037;, + 0.550803; 0.536034;, + 0.550805; 0.508889;, + 0.579762; 0.508891;, + 0.202907; 0.479940;, + 0.231864; 0.479940;, + 0.231865; 0.507085;, + 0.202907; 0.507085;, + 0.087073; 0.139701;, + 0.116029; 0.139700;, + 0.116031; 0.166845;, + 0.087074; 0.166846;, + 0.463541; 0.222946;, + 0.434580; 0.222944;, + 0.434581; 0.195795;, + 0.463543; 0.195797;, + 0.434571; 0.336970;, + 0.463530; 0.336973;, + 0.463527; 0.365931;, + 0.434569; 0.365928;, + 0.405613; 0.336968;, + 0.434571; 0.336970;, + 0.434569; 0.365928;, + 0.405611; 0.365926;, + 0.347692; 0.479940;, + 0.376649; 0.479941;, + 0.376648; 0.507085;, + 0.347691; 0.507085;, + 0.202907; 0.336964;, + 0.231865; 0.336964;, + 0.231864; 0.365922;, + 0.202907; 0.365921;, + 0.173949; 0.336964;, + 0.202907; 0.336964;, + 0.202907; 0.365921;, + 0.173949; 0.365921;, + 0.144991; 0.309818;, + 0.173949; 0.309818;, + 0.173949; 0.336964;, + 0.144991; 0.336964;, + 0.434582; 0.166834;, + 0.463544; 0.166834;, + 0.463543; 0.195797;, + 0.434581; 0.195795;, + 0.405621; 0.166834;, + 0.434582; 0.166834;, + 0.434581; 0.195795;, + 0.405620; 0.195795;, + 0.144990; 0.222946;, + 0.116033; 0.222947;, + 0.116032; 0.195802;, + 0.144989; 0.195800;, + 0.318739; 0.166835;, + 0.347699; 0.166834;, + 0.347700; 0.195794;, + 0.318740; 0.195795;, + 0.289780; 0.166836;, + 0.318739; 0.166835;, + 0.318740; 0.195795;, + 0.289780; 0.195795;, + 0.231865; 0.309818;, + 0.260823; 0.309818;, + 0.260822; 0.336964;, + 0.231865; 0.336964;, + 0.434560; 0.507088;, + 0.463516; 0.507089;, + 0.463514; 0.536045;, + 0.434558; 0.536044;, + 0.405604; 0.507086;, + 0.434560; 0.507088;, + 0.434558; 0.536044;, + 0.405603; 0.536042;, + 0.058118; 0.393067;, + 0.029160; 0.393067;, + 0.029160; 0.365921;, + 0.058118; 0.365921;, + 0.318735; 0.507084;, + 0.347691; 0.507085;, + 0.347691; 0.536041;, + 0.318735; 0.536041;, + 0.289778; 0.507084;, + 0.318735; 0.507084;, + 0.318735; 0.536041;, + 0.289779; 0.536041;, + 0.376654; 0.052801;, + 0.347693; 0.052804;, + 0.347690; 0.025655;, + 0.376652; 0.025652;, + 0.318739; 0.336965;, + 0.347697; 0.336965;, + 0.347696; 0.365923;, + 0.318738; 0.365923;, + 0.289780; 0.336964;, + 0.318739; 0.336965;, + 0.318738; 0.365923;, + 0.289780; 0.365922;, + 0.806932; 0.896163;, + 0.835890; 0.896163;, + 0.835890; 0.923309;, + 0.806932; 0.923309;, + 0.202907; 0.507085;, + 0.231865; 0.507085;, + 0.231865; 0.536042;, + 0.202908; 0.536043;, + 0.173950; 0.507086;, + 0.202907; 0.507085;, + 0.202908; 0.536043;, + 0.173950; 0.536044;, + 0.260819; 0.139691;, + 0.289778; 0.139689;, + 0.289780; 0.166836;, + 0.260820; 0.166837;, + 0.087076; 0.507087;, + 0.116034; 0.507086;, + 0.116034; 0.536044;, + 0.087076; 0.536045;, + 0.058118; 0.507087;, + 0.087076; 0.507087;, + 0.087076; 0.536045;, + 0.058118; 0.536045;, + 0.782471; 0.536045;, + 0.753512; 0.536045;, + 0.753512; 0.508898;, + 0.782471; 0.508898;, + 0.087076; 0.336964;, + 0.116034; 0.336964;, + 0.116034; 0.365922;, + 0.087076; 0.365921;, + 0.058118; 0.336964;, + 0.087076; 0.336964;, + 0.087076; 0.365921;, + 0.058118; 0.365921;, + 0.116029; 0.139700;, + 0.144987; 0.139698;, + 0.144988; 0.166843;, + 0.116031; 0.166845;, + 0.202903; 0.166840;, + 0.231862; 0.166839;, + 0.231863; 0.195797;, + 0.202905; 0.195798;, + 0.173946; 0.166842;, + 0.202903; 0.166840;, + 0.202905; 0.195798;, + 0.173947; 0.195799;, + 0.260822; 0.479939;, + 0.289779; 0.479939;, + 0.289778; 0.507084;, + 0.260822; 0.507084;, + 0.087074; 0.166846;, + 0.116031; 0.166845;, + 0.116032; 0.195802;, + 0.087075; 0.195803;, + 0.058118; 0.166847;, + 0.087074; 0.166846;, + 0.087075; 0.195803;, + 0.058119; 0.195803;, + 0.116033; 0.222947;, + 0.087076; 0.222947;, + 0.087075; 0.195803;, + 0.116032; 0.195802;, + 0.144992; 0.479940;, + 0.173949; 0.479940;, + 0.173950; 0.507086;, + 0.144992; 0.507086;, + 0.202906; 0.222944;, + 0.173948; 0.222945;, + 0.173947; 0.195799;, + 0.202905; 0.195798;, + 0.376652; 0.393070;, + 0.347695; 0.393069;, + 0.347696; 0.365923;, + 0.376653; 0.365924;, + 0.434578; 0.052797;, + 0.405616; 0.052799;, + 0.405614; 0.025649;, + 0.434577; 0.025647;, + 0.029162; 0.309818;, + 0.058119; 0.309818;, + 0.058118; 0.336964;, + 0.029161; 0.336963;, + 0.173949; 0.309818;, + 0.202907; 0.309818;, + 0.202907; 0.336964;, + 0.173949; 0.336964;, + 0.289779; 0.479939;, + 0.318735; 0.479940;, + 0.318735; 0.507084;, + 0.289778; 0.507084;, + 0.289780; 0.393068;, + 0.260822; 0.393067;, + 0.260822; 0.365922;, + 0.289780; 0.365922;, + 0.058119; 0.309818;, + 0.087076; 0.309818;, + 0.087076; 0.336964;, + 0.058118; 0.336964;, + 0.231864; 0.393067;, + 0.202907; 0.393067;, + 0.202907; 0.365921;, + 0.231864; 0.365922;, + 0.434567; 0.393073;, + 0.405609; 0.393072;, + 0.405611; 0.365926;, + 0.434569; 0.365928;, + 0.434582; 0.139684;, + 0.463545; 0.139683;, + 0.463544; 0.166834;, + 0.434582; 0.166834;, + 0.376655; 0.336967;, + 0.405613; 0.336968;, + 0.405611; 0.365926;, + 0.376653; 0.365924;, + 0.347697; 0.336965;, + 0.376655; 0.336967;, + 0.376653; 0.365924;, + 0.347696; 0.365923;, + 0.260812; 0.052813;, + 0.231853; 0.052816;, + 0.231849; 0.025670;, + 0.260808; 0.025666;, + 0.289781; 0.222942;, + 0.260822; 0.222943;, + 0.260822; 0.195796;, + 0.289780; 0.195795;, + 0.550803; 0.536034;, + 0.521845; 0.536032;, + 0.521847; 0.508886;, + 0.550805; 0.508889;, + 0.318739; 0.309818;, + 0.347698; 0.309819;, + 0.347697; 0.336965;, + 0.318739; 0.336965;, + 0.637676; 0.536041;, + 0.608718; 0.536039;, + 0.608720; 0.508893;, + 0.637678; 0.508895;, + 0.202902; 0.139694;, + 0.231860; 0.139692;, + 0.231862; 0.166839;, + 0.202903; 0.166840;, + 0.318732; 0.052806;, + 0.289772; 0.052810;, + 0.289768; 0.025662;, + 0.318729; 0.025658;, + 0.144991; 0.336964;, + 0.173949; 0.336964;, + 0.173949; 0.365921;, + 0.144991; 0.365922;, + 0.116034; 0.336964;, + 0.144991; 0.336964;, + 0.144991; 0.365922;, + 0.116034; 0.365922;, + 0.864848; 0.896163;, + 0.893806; 0.896163;, + 0.893806; 0.923309;, + 0.864848; 0.923309;, + 0.029160; 0.393067;, + 0.000202; 0.393067;, + 0.000202; 0.365920;, + 0.029160; 0.365921;, + 0.777974; 0.896163;, + 0.806932; 0.896163;, + 0.806932; 0.923309;, + 0.777974; 0.923309;, + 0.058110; 0.052835;, + 0.029155; 0.052838;, + 0.029152; 0.025694;, + 0.058107; 0.025692;, + 0.376649; 0.479941;, + 0.405605; 0.479942;, + 0.405604; 0.507086;, + 0.376648; 0.507085;, + 0.000205; 0.139706;, + 0.029161; 0.139705;, + 0.029162; 0.166848;, + 0.000206; 0.166849;, + 0.231864; 0.222943;, + 0.202906; 0.222944;, + 0.202905; 0.195798;, + 0.231863; 0.195797;, + 0.260823; 0.309818;, + 0.289781; 0.309818;, + 0.289780; 0.336964;, + 0.260822; 0.336964;, + 0.087076; 0.393067;, + 0.058118; 0.393067;, + 0.058118; 0.365921;, + 0.087076; 0.365921;, + 0.463541; 0.052795;, + 0.434578; 0.052797;, + 0.434577; 0.025647;, + 0.463539; 0.025645;, + 0.695593; 0.536044;, + 0.666635; 0.536043;, + 0.666636; 0.508897;, + 0.695594; 0.508898;, + 0.405615; 0.309822;, + 0.434574; 0.309824;, + 0.434571; 0.336970;, + 0.405613; 0.336968;, + 0.173936; 0.052823;, + 0.144979; 0.052827;, + 0.144976; 0.025682;, + 0.173933; 0.025678;, + 0.376660; 0.166834;, + 0.405621; 0.166834;, + 0.405620; 0.195795;, + 0.376660; 0.195794;, + 0.347699; 0.166834;, + 0.376660; 0.166834;, + 0.376660; 0.195794;, + 0.347700; 0.195794;, + 0.633183; 0.896163;, + 0.662141; 0.896163;, + 0.662141; 0.923309;, + 0.633183; 0.923309;, + 0.144987; 0.139698;, + 0.173944; 0.139696;, + 0.173946; 0.166842;, + 0.144988; 0.166843;, + 0.405605; 0.479942;, + 0.434561; 0.479944;, + 0.434560; 0.507088;, + 0.405604; 0.507086;, + 0.260822; 0.393067;, + 0.231864; 0.393067;, + 0.231864; 0.365922;, + 0.260822; 0.365922;, + 0.058118; 0.479941;, + 0.087076; 0.479941;, + 0.087076; 0.507087;, + 0.058118; 0.507087;, + 0.463524; 0.393076;, + 0.434567; 0.393073;, + 0.434569; 0.365928;, + 0.463527; 0.365931;, + 0.202907; 0.309818;, + 0.231865; 0.309818;, + 0.231865; 0.336964;, + 0.202907; 0.336964;, + 0.260820; 0.166837;, + 0.289780; 0.166836;, + 0.289780; 0.195795;, + 0.260822; 0.195796;, + 0.231862; 0.166839;, + 0.260820; 0.166837;, + 0.260822; 0.195796;, + 0.231863; 0.195797;, + 0.260822; 0.222943;, + 0.231864; 0.222943;, + 0.231863; 0.195797;, + 0.260822; 0.195796;, + 0.405620; 0.222943;, + 0.376659; 0.222942;, + 0.376660; 0.195794;, + 0.405620; 0.195795;, + 0.347698; 0.309819;, + 0.376656; 0.309820;, + 0.376655; 0.336967;, + 0.347697; 0.336965;, + 0.318735; 0.479940;, + 0.347692; 0.479940;, + 0.347691; 0.507085;, + 0.318735; 0.507084;, + 0.318737; 0.393068;, + 0.289780; 0.393068;, + 0.289780; 0.365922;, + 0.318738; 0.365923;, + 0.087076; 0.309818;, + 0.116034; 0.309818;, + 0.116034; 0.336964;, + 0.087076; 0.336964;, + 0.347698; 0.139686;, + 0.376659; 0.139685;, + 0.376660; 0.166834;, + 0.347699; 0.166834;, + 0.376648; 0.507085;, + 0.405604; 0.507086;, + 0.405603; 0.536042;, + 0.376647; 0.536041;, + 0.347691; 0.507085;, + 0.376648; 0.507085;, + 0.376647; 0.536041;, + 0.347691; 0.536041;, + 0.347693; 0.052804;, + 0.318732; 0.052806;, + 0.318729; 0.025658;, + 0.347690; 0.025655;, + 0.260822; 0.507084;, + 0.289778; 0.507084;, + 0.289779; 0.536041;, + 0.260822; 0.536041;, + 0.231865; 0.507085;, + 0.260822; 0.507084;, + 0.260822; 0.536041;, + 0.231865; 0.536042;, + 0.318740; 0.222942;, + 0.289781; 0.222942;, + 0.289780; 0.195795;, + 0.318740; 0.195795;, + 0.922764; 0.896163;, + 0.951722; 0.896163;, + 0.951722; 0.923309;, + 0.922764; 0.923309;, + 0.029155; 0.052838;, + 0.000199; 0.052841;, + 0.000197; 0.025697;, + 0.029152; 0.025694;, + 0.000202; 0.479941;, + 0.029160; 0.479941;, + 0.029160; 0.507087;, + 0.000202; 0.507087;, + 0.058119; 0.222948;, + 0.029163; 0.222948;, + 0.029163; 0.195804;, + 0.058119; 0.195803;, + 0.753512; 0.536045;, + 0.724553; 0.536045;, + 0.724553; 0.508898;, + 0.753512; 0.508898;, + 0.116033; 0.393067;, + 0.087076; 0.393067;, + 0.087076; 0.365921;, + 0.116034; 0.365922;, + 0.260822; 0.336964;, + 0.289780; 0.336964;, + 0.289780; 0.365922;, + 0.260822; 0.365922;, + 0.231865; 0.336964;, + 0.260822; 0.336964;, + 0.260822; 0.365922;, + 0.231864; 0.365922;, + 0.666635; 0.536043;, + 0.637676; 0.536041;, + 0.637678; 0.508895;, + 0.666636; 0.508897;, + 0.144992; 0.507086;, + 0.173950; 0.507086;, + 0.173950; 0.536044;, + 0.144992; 0.536044;, + 0.116034; 0.507086;, + 0.144992; 0.507086;, + 0.144992; 0.536044;, + 0.116034; 0.536044;, + 0.087066; 0.052833;, + 0.058110; 0.052835;, + 0.058107; 0.025692;, + 0.087063; 0.025689;, + 0.029160; 0.507087;, + 0.058118; 0.507087;, + 0.058118; 0.536045;, + 0.029160; 0.536045;, + 0.000202; 0.507087;, + 0.029160; 0.507087;, + 0.029160; 0.536045;, + 0.000202; 0.536045;, + 0.144979; 0.052827;, + 0.116022; 0.052830;, + 0.116019; 0.025685;, + 0.144976; 0.025682;, + 0.173949; 0.393067;, + 0.144991; 0.393067;, + 0.144991; 0.365922;, + 0.173949; 0.365921;, + 0.289778; 0.139689;, + 0.318738; 0.139687;, + 0.318739; 0.166835;, + 0.289780; 0.166836;, + 0.691099; 0.896163;, + 0.720057; 0.896163;, + 0.720058; 0.923309;, + 0.691099; 0.923309;, + 0.029161; 0.139705;, + 0.058116; 0.139703;, + 0.058118; 0.166847;, + 0.029162; 0.166848;, + 0.173949; 0.479940;, + 0.202907; 0.479940;, + 0.202907; 0.507085;, + 0.173950; 0.507086;, + 0.058116; 0.139703;, + 0.087073; 0.139701;, + 0.087074; 0.166846;, + 0.058118; 0.166847;, + 0.029161; 0.336963;, + 0.058118; 0.336964;, + 0.058118; 0.365921;, + 0.029160; 0.365921;, + 0.000203; 0.336962;, + 0.029161; 0.336963;, + 0.029160; 0.365921;, + 0.000202; 0.365920;, + 0.434574; 0.309824;, + 0.463533; 0.309827;, + 0.463530; 0.336973;, + 0.434571; 0.336970;, + 0.376659; 0.222942;, + 0.347700; 0.222942;, + 0.347700; 0.195794;, + 0.376660; 0.195794;, + 0.202894; 0.052820;, + 0.173936; 0.052823;, + 0.173933; 0.025678;, + 0.202891; 0.025674;, + 0.521845; 0.536032;, + 0.492888; 0.536029;, + 0.492890; 0.508884;, + 0.521847; 0.508886;, + 0.434561; 0.479944;, + 0.463517; 0.479945;, + 0.463516; 0.507089;, + 0.434560; 0.507088;, + 0.347695; 0.393069;, + 0.318737; 0.393068;, + 0.318738; 0.365923;, + 0.347696; 0.365923;, + 0.116034; 0.309818;, + 0.144991; 0.309818;, + 0.144991; 0.336964;, + 0.116034; 0.336964;, + 0.144988; 0.166843;, + 0.173946; 0.166842;, + 0.173947; 0.195799;, + 0.144989; 0.195800;, + 0.116031; 0.166845;, + 0.144988; 0.166843;, + 0.144989; 0.195800;, + 0.116032; 0.195802;, + 0.087076; 0.479941;, + 0.116034; 0.479941;, + 0.116034; 0.507086;, + 0.087076; 0.507087;, + 0.347700; 0.222942;, + 0.318740; 0.222942;, + 0.318740; 0.195795;, + 0.347700; 0.195794;, + 0.231860; 0.139692;, + 0.260819; 0.139691;, + 0.260820; 0.166837;, + 0.231862; 0.166839;, + 0.434580; 0.222944;, + 0.405620; 0.222943;, + 0.405620; 0.195795;, + 0.434581; 0.195795;, + 0.893806; 0.896163;, + 0.922764; 0.896163;, + 0.922764; 0.923309;, + 0.893806; 0.923309;, + 0.376656; 0.309820;, + 0.405615; 0.309822;, + 0.405613; 0.336968;, + 0.376655; 0.336967;, + 0.231864; 0.479940;, + 0.260822; 0.479939;, + 0.260822; 0.507084;, + 0.231865; 0.507085;, + 0.029162; 0.166848;, + 0.058118; 0.166847;, + 0.058119; 0.195803;, + 0.029163; 0.195804;, + 0.000206; 0.166849;, + 0.029162; 0.166848;, + 0.029163; 0.195804;, + 0.000207; 0.195804;, + 0.029163; 0.222948;, + 0.000207; 0.222948;, + 0.000207; 0.195804;, + 0.029163; 0.195804;, + 0.116034; 0.479941;, + 0.144992; 0.479940;, + 0.144992; 0.507086;, + 0.116034; 0.507086;, + 0.173948; 0.222945;, + 0.144990; 0.222946;, + 0.144989; 0.195800;, + 0.173947; 0.195799;, + 0.376659; 0.139685;, + 0.405620; 0.139684;, + 0.405621; 0.166834;, + 0.376660; 0.166834;, + 0.405616; 0.052799;, + 0.376654; 0.052801;, + 0.376652; 0.025652;, + 0.405614; 0.025649;, + 0.000205; 0.309817;, + 0.029162; 0.309818;, + 0.029161; 0.336963;, + 0.000203; 0.336962;, + 0.811430; 0.536045;, + 0.782471; 0.536045;, + 0.782471; 0.508898;, + 0.811430; 0.508898;, + 0.260812; 0.052813;, + 0.289772; 0.052810;, + 0.289774; 0.081770;, + 0.260815; 0.081772;, + 0.318732; 0.052806;, + 0.347693; 0.052804;, + 0.347695; 0.081765;, + 0.318734; 0.081767;, + 0.260817; 0.110731;, + 0.289777; 0.110729;, + 0.289778; 0.139689;, + 0.260819; 0.139691;, + 0.260822; 0.222943;, + 0.289781; 0.222942;, + 0.289781; 0.251901;, + 0.260823; 0.251901;, + 0.318740; 0.222942;, + 0.347700; 0.222942;, + 0.347699; 0.251901;, + 0.318740; 0.251901;, + 0.376658; 0.110724;, + 0.405619; 0.110723;, + 0.405620; 0.139684;, + 0.376659; 0.139685;, + 0.376659; 0.222942;, + 0.405620; 0.222943;, + 0.405618; 0.251903;, + 0.376659; 0.251902;, + 0.434580; 0.222944;, + 0.463541; 0.222946;, + 0.463539; 0.251907;, + 0.434578; 0.251905;, + 0.144979; 0.052827;, + 0.173936; 0.052823;, + 0.173939; 0.081781;, + 0.144982; 0.081784;, + 0.202894; 0.052820;, + 0.231853; 0.052816;, + 0.231856; 0.081775;, + 0.202897; 0.081778;, + 0.144991; 0.280861;, + 0.173949; 0.280860;, + 0.173949; 0.309818;, + 0.144991; 0.309818;, + 0.144991; 0.393067;, + 0.173949; 0.393067;, + 0.173949; 0.422025;, + 0.144991; 0.422025;, + 0.202907; 0.393067;, + 0.231864; 0.393067;, + 0.231864; 0.422025;, + 0.202907; 0.422025;, + 0.376657; 0.280861;, + 0.405617; 0.280863;, + 0.405615; 0.309822;, + 0.376656; 0.309820;, + 0.376652; 0.393070;, + 0.405609; 0.393072;, + 0.405608; 0.422029;, + 0.376651; 0.422027;, + 0.434567; 0.393073;, + 0.463524; 0.393076;, + 0.463521; 0.422033;, + 0.434565; 0.422031;, + 0.376654; 0.052801;, + 0.405616; 0.052799;, + 0.405618; 0.081761;, + 0.376656; 0.081763;, + 0.434578; 0.052797;, + 0.463541; 0.052795;, + 0.463543; 0.081758;, + 0.434580; 0.081759;, + 0.087071; 0.110745;, + 0.116028; 0.110743;, + 0.116029; 0.139700;, + 0.087073; 0.139701;, + 0.202900; 0.110736;, + 0.231858; 0.110734;, + 0.231860; 0.139692;, + 0.202902; 0.139694;, + 0.087076; 0.280861;, + 0.116034; 0.280861;, + 0.116034; 0.309818;, + 0.087076; 0.309818;, + 0.087076; 0.450983;, + 0.116034; 0.450983;, + 0.116034; 0.479941;, + 0.087076; 0.479941;, + 0.202907; 0.450982;, + 0.231864; 0.450982;, + 0.231864; 0.479940;, + 0.202907; 0.479940;, + 0.318740; 0.280860;, + 0.347698; 0.280860;, + 0.347698; 0.309819;, + 0.318739; 0.309818;, + 0.318736; 0.450983;, + 0.347693; 0.450983;, + 0.347692; 0.479940;, + 0.318735; 0.479940;, + 0.434563; 0.450987;, + 0.463519; 0.450989;, + 0.463517; 0.479945;, + 0.434561; 0.479944;, + 0.318737; 0.110727;, + 0.347697; 0.110726;, + 0.347698; 0.139686;, + 0.318738; 0.139687;, + 0.434581; 0.110722;, + 0.463544; 0.110721;, + 0.463545; 0.139683;, + 0.434582; 0.139684;, + 0.202907; 0.280860;, + 0.231865; 0.280860;, + 0.231865; 0.309818;, + 0.202907; 0.309818;, + 0.434576; 0.280865;, + 0.463536; 0.280867;, + 0.463533; 0.309827;, + 0.434574; 0.309824;, + 0.256841; 0.710209;, + 0.256842; 0.739169;, + 0.237438; 0.739169;, + 0.237437; 0.710210;, + 0.411474; 0.883958;, + 0.411472; 0.912914;, + 0.392071; 0.912913;, + 0.392072; 0.883957;, + 0.102228; 0.941881;, + 0.102232; 0.970836;, + 0.082831; 0.970838;, + 0.082827; 0.941883;, + 0.343726; 0.594367;, + 0.343729; 0.565405;, + 0.363135; 0.565407;, + 0.363131; 0.594369;, + 0.343718; 0.739168;, + 0.343719; 0.710209;, + 0.363123; 0.710210;, + 0.363122; 0.739169;, + 0.498346; 0.855009;, + 0.498349; 0.826052;, + 0.517751; 0.826054;, + 0.517748; 0.855011;, + 0.411480; 0.797088;, + 0.411478; 0.826045;, + 0.392076; 0.826044;, + 0.392077; 0.797087;, + 0.343724; 0.623329;, + 0.343726; 0.594367;, + 0.363131; 0.594369;, + 0.363129; 0.623330;, + 0.411483; 0.739172;, + 0.411481; 0.768130;, + 0.392079; 0.768129;, + 0.392080; 0.739171;, + 0.411469; 0.941870;, + 0.411467; 0.970825;, + 0.392066; 0.970823;, + 0.392068; 0.941868;, + 0.189099; 0.999779;, + 0.189096; 0.970825;, + 0.208496; 0.970823;, + 0.208499; 0.999777;, + 0.102204; 0.768143;, + 0.102209; 0.797100;, + 0.082806; 0.797103;, + 0.082802; 0.768146;, + 0.256844; 0.797085;, + 0.256845; 0.826043;, + 0.237443; 0.826044;, + 0.237441; 0.797086;, + 0.521853; 0.432392;, + 0.550811; 0.432394;, + 0.550809; 0.451796;, + 0.521852; 0.451794;, + 0.343715; 0.883955;, + 0.343716; 0.854999;, + 0.363117; 0.854999;, + 0.363116; 0.883956;, + 0.608726; 0.432398;, + 0.637683; 0.432400;, + 0.637682; 0.451803;, + 0.608724; 0.451801;, + 0.189078; 0.768132;, + 0.189076; 0.739173;, + 0.208479; 0.739171;, + 0.208481; 0.768130;, + 0.102213; 0.826057;, + 0.102217; 0.855013;, + 0.082815; 0.855016;, + 0.082811; 0.826060;, + 0.392064; 0.999777;, + 0.363110; 0.999774;, + 0.363112; 0.970821;, + 0.392066; 0.970823;, + 0.392066; 0.970823;, + 0.363112; 0.970821;, + 0.363114; 0.941867;, + 0.392068; 0.941868;, + 0.893806; 0.999806;, + 0.864848; 0.999805;, + 0.864848; 0.980403;, + 0.893806; 0.980403;, + 0.392079; 0.768129;, + 0.363121; 0.768127;, + 0.363122; 0.739169;, + 0.392080; 0.739171;, + 0.392080; 0.739171;, + 0.363122; 0.739169;, + 0.363123; 0.710210;, + 0.392082; 0.710212;, + 0.411507; 0.536454;, + 0.411501; 0.565415;, + 0.392097; 0.565411;, + 0.392102; 0.536450;, + 0.237452; 0.999775;, + 0.208499; 0.999777;, + 0.208496; 0.970823;, + 0.237450; 0.970821;, + 0.237450; 0.970821;, + 0.208496; 0.970823;, + 0.208494; 0.941869;, + 0.237449; 0.941867;, + 0.806932; 0.999805;, + 0.777974; 0.999805;, + 0.777974; 0.980403;, + 0.806932; 0.980403;, + 0.237446; 0.883957;, + 0.208490; 0.883958;, + 0.208488; 0.855002;, + 0.237444; 0.855000;, + 0.237444; 0.855000;, + 0.208488; 0.855002;, + 0.208486; 0.826045;, + 0.237443; 0.826044;, + 0.102162; 0.565421;, + 0.102170; 0.594384;, + 0.082764; 0.594389;, + 0.082755; 0.565427;, + 0.546688; 0.999799;, + 0.517731; 0.999795;, + 0.517735; 0.970838;, + 0.546692; 0.970842;, + 0.546692; 0.970842;, + 0.517735; 0.970838;, + 0.517739; 0.941881;, + 0.546696; 0.941885;, + 0.498337; 0.941879;, + 0.498340; 0.912923;, + 0.517742; 0.912925;, + 0.517739; 0.941881;, + 0.546702; 0.883971;, + 0.517745; 0.883968;, + 0.517748; 0.855011;, + 0.546705; 0.855014;, + 0.546705; 0.855014;, + 0.517748; 0.855011;, + 0.517751; 0.826054;, + 0.546709; 0.826057;, + 0.189056; 0.565403;, + 0.189053; 0.536436;, + 0.208462; 0.536434;, + 0.208464; 0.565401;, + 0.392072; 0.883957;, + 0.363116; 0.883956;, + 0.363117; 0.854999;, + 0.392074; 0.855001;, + 0.392074; 0.855001;, + 0.363117; 0.854999;, + 0.363118; 0.826043;, + 0.392076; 0.826044;, + 0.256842; 0.739169;, + 0.256843; 0.768127;, + 0.237440; 0.768128;, + 0.237438; 0.739169;, + 0.546715; 0.768142;, + 0.517757; 0.768139;, + 0.517760; 0.739182;, + 0.546718; 0.739185;, + 0.546718; 0.739185;, + 0.517760; 0.739182;, + 0.517763; 0.710224;, + 0.546721; 0.710227;, + 0.343716; 0.826042;, + 0.343717; 0.797085;, + 0.363120; 0.797085;, + 0.363118; 0.826043;, + 0.546728; 0.652311;, + 0.517770; 0.652307;, + 0.517774; 0.623349;, + 0.546732; 0.623353;, + 0.546732; 0.623353;, + 0.517774; 0.623349;, + 0.517778; 0.594391;, + 0.546736; 0.594395;, + 0.411497; 0.594375;, + 0.411493; 0.623335;, + 0.392089; 0.623333;, + 0.392093; 0.594372;, + 0.392086; 0.652293;, + 0.363126; 0.652291;, + 0.363129; 0.623330;, + 0.392089; 0.623333;, + 0.392089; 0.623333;, + 0.363129; 0.623330;, + 0.363131; 0.594369;, + 0.392093; 0.594372;, + 0.102232; 0.970836;, + 0.102236; 0.999791;, + 0.082835; 0.999793;, + 0.082831; 0.970838;, + 0.237440; 0.768128;, + 0.208481; 0.768130;, + 0.208479; 0.739171;, + 0.237438; 0.739169;, + 0.237438; 0.739169;, + 0.208479; 0.739171;, + 0.208477; 0.710212;, + 0.237437; 0.710210;, + 0.666637; 0.432400;, + 0.695596; 0.432400;, + 0.695595; 0.451803;, + 0.666637; 0.451803;, + 0.237433; 0.652289;, + 0.208472; 0.652291;, + 0.208469; 0.623329;, + 0.237432; 0.623327;, + 0.237432; 0.623327;, + 0.208469; 0.623329;, + 0.208467; 0.594365;, + 0.237431; 0.594364;, + 0.343712; 0.970820;, + 0.343713; 0.941866;, + 0.363114; 0.941867;, + 0.363112; 0.970821;, + 0.102189; 0.681267;, + 0.102194; 0.710226;, + 0.082791; 0.710230;, + 0.082785; 0.681271;, + 0.662142; 0.999806;, + 0.633183; 0.999806;, + 0.633183; 0.980403;, + 0.662141; 0.980403;, + 0.189073; 0.710214;, + 0.189070; 0.681254;, + 0.208474; 0.681252;, + 0.208477; 0.710212;, + 0.498333; 0.970835;, + 0.498337; 0.941879;, + 0.517739; 0.941881;, + 0.517735; 0.970838;, + 0.411481; 0.768130;, + 0.411480; 0.797088;, + 0.392077; 0.797087;, + 0.392079; 0.768129;, + 0.498371; 0.623347;, + 0.498375; 0.594388;, + 0.517778; 0.594391;, + 0.517774; 0.623349;, + 0.411467; 0.970825;, + 0.411463; 0.999779;, + 0.392064; 0.999777;, + 0.392066; 0.970823;, + 0.343718; 0.768127;, + 0.343718; 0.739168;, + 0.363122; 0.739169;, + 0.363121; 0.768127;, + 0.256843; 0.768127;, + 0.256844; 0.797085;, + 0.237441; 0.797086;, + 0.237440; 0.768128;, + 0.256848; 0.912911;, + 0.256849; 0.941866;, + 0.237449; 0.941867;, + 0.237447; 0.912912;, + 0.343714; 0.912911;, + 0.343715; 0.883955;, + 0.363116; 0.883956;, + 0.363115; 0.912911;, + 0.498343; 0.883966;, + 0.498346; 0.855009;, + 0.517748; 0.855011;, + 0.517745; 0.883968;, + 0.392068; 0.941868;, + 0.363114; 0.941867;, + 0.363115; 0.912911;, + 0.392071; 0.912913;, + 0.392071; 0.912913;, + 0.363115; 0.912911;, + 0.363116; 0.883956;, + 0.392072; 0.883957;, + 0.411478; 0.826045;, + 0.411476; 0.855002;, + 0.392074; 0.855001;, + 0.392076; 0.826044;, + 0.343722; 0.652290;, + 0.343724; 0.623329;, + 0.363129; 0.623330;, + 0.363126; 0.652291;, + 0.189091; 0.912916;, + 0.189088; 0.883960;, + 0.208490; 0.883958;, + 0.208492; 0.912914;, + 0.102217; 0.855013;, + 0.102221; 0.883969;, + 0.082819; 0.883972;, + 0.082815; 0.855016;, + 0.256845; 0.826043;, + 0.256846; 0.854999;, + 0.237444; 0.855000;, + 0.237443; 0.826044;, + 0.951722; 0.999806;, + 0.922764; 0.999806;, + 0.922764; 0.980403;, + 0.951722; 0.980403;, + 0.102153; 0.536456;, + 0.102162; 0.565421;, + 0.082755; 0.565427;, + 0.082745; 0.536463;, + 0.392082; 0.710212;, + 0.363123; 0.710210;, + 0.363124; 0.681251;, + 0.392084; 0.681253;, + 0.392084; 0.681253;, + 0.363124; 0.681251;, + 0.363126; 0.652291;, + 0.392086; 0.652293;, + 0.498379; 0.565430;, + 0.498384; 0.536472;, + 0.517787; 0.536475;, + 0.517782; 0.565433;, + 0.256837; 0.565399;, + 0.256837; 0.594363;, + 0.237431; 0.594364;, + 0.237430; 0.565399;, + 0.724554; 0.432400;, + 0.753512; 0.432400;, + 0.753512; 0.451803;, + 0.724554; 0.451803;, + 0.411493; 0.623335;, + 0.411490; 0.652295;, + 0.392086; 0.652293;, + 0.392089; 0.623333;, + 0.744377; 0.250556;, + 0.744378; 0.193462;, + 0.779683; 0.193462;, + 0.779682; 0.250557;, + 0.102170; 0.594384;, + 0.102177; 0.623346;, + 0.082772; 0.623351;, + 0.082764; 0.594389;, + 0.102183; 0.652307;, + 0.102189; 0.681267;, + 0.082785; 0.681271;, + 0.082779; 0.652311;, + 0.411488; 0.681254;, + 0.411485; 0.710213;, + 0.392082; 0.710212;, + 0.392084; 0.681253;, + 0.189086; 0.855004;, + 0.189083; 0.826047;, + 0.208486; 0.826045;, + 0.208488; 0.855002;, + 0.720058; 0.999806;, + 0.691100; 0.999806;, + 0.691100; 0.980403;, + 0.720058; 0.980403;, + 0.189060; 0.594367;, + 0.189056; 0.565403;, + 0.208464; 0.565401;, + 0.208467; 0.594365;, + 0.498358; 0.739180;, + 0.498361; 0.710222;, + 0.517763; 0.710224;, + 0.517760; 0.739182;, + 0.189063; 0.623331;, + 0.189060; 0.594367;, + 0.208467; 0.594365;, + 0.208469; 0.623329;, + 0.237449; 0.941867;, + 0.208494; 0.941869;, + 0.208492; 0.912914;, + 0.237447; 0.912912;, + 0.237447; 0.912912;, + 0.208492; 0.912914;, + 0.208490; 0.883958;, + 0.237446; 0.883957;, + 0.343711; 0.999774;, + 0.343712; 0.970820;, + 0.363112; 0.970821;, + 0.363110; 0.999774;, + 0.256847; 0.883956;, + 0.256848; 0.912911;, + 0.237447; 0.912912;, + 0.237446; 0.883957;, + 0.102194; 0.710226;, + 0.102200; 0.739185;, + 0.082797; 0.739188;, + 0.082791; 0.710230;, + 0.492896; 0.432390;, + 0.521853; 0.432392;, + 0.521852; 0.451794;, + 0.492895; 0.451792;, + 0.498329; 0.999792;, + 0.498333; 0.970835;, + 0.517735; 0.970838;, + 0.517731; 0.999795;, + 0.411476; 0.855002;, + 0.411474; 0.883958;, + 0.392072; 0.883957;, + 0.392074; 0.855001;, + 0.343720; 0.681250;, + 0.343722; 0.652290;, + 0.363126; 0.652291;, + 0.363124; 0.681251;, + 0.237443; 0.826044;, + 0.208486; 0.826045;, + 0.208483; 0.797088;, + 0.237441; 0.797086;, + 0.237441; 0.797086;, + 0.208483; 0.797088;, + 0.208481; 0.768130;, + 0.237440; 0.768128;, + 0.498367; 0.652305;, + 0.498371; 0.623347;, + 0.517774; 0.623349;, + 0.517770; 0.652307;, + 0.256846; 0.854999;, + 0.256847; 0.883956;, + 0.237446; 0.883957;, + 0.237444; 0.855000;, + 0.189081; 0.797090;, + 0.189078; 0.768132;, + 0.208481; 0.768130;, + 0.208483; 0.797088;, + 0.256849; 0.941866;, + 0.256850; 0.970820;, + 0.237450; 0.970821;, + 0.237449; 0.941867;, + 0.922764; 0.999806;, + 0.893806; 0.999806;, + 0.893806; 0.980403;, + 0.922764; 0.980403;, + 0.343713; 0.941866;, + 0.343714; 0.912911;, + 0.363115; 0.912911;, + 0.363114; 0.941867;, + 0.498352; 0.797095;, + 0.498355; 0.768137;, + 0.517757; 0.768139;, + 0.517754; 0.797097;, + 0.546696; 0.941885;, + 0.517739; 0.941881;, + 0.517742; 0.912925;, + 0.546699; 0.912928;, + 0.546699; 0.912928;, + 0.517742; 0.912925;, + 0.517745; 0.883968;, + 0.546702; 0.883971;, + 0.256838; 0.536433;, + 0.256837; 0.565399;, + 0.237430; 0.565399;, + 0.237429; 0.536433;, + 0.546709; 0.826057;, + 0.517751; 0.826054;, + 0.517754; 0.797097;, + 0.546712; 0.797100;, + 0.546712; 0.797100;, + 0.517754; 0.797097;, + 0.517757; 0.768139;, + 0.546715; 0.768142;, + 0.498364; 0.681263;, + 0.498367; 0.652305;, + 0.517770; 0.652307;, + 0.517767; 0.681266;, + 0.256839; 0.681249;, + 0.256841; 0.710209;, + 0.237437; 0.710210;, + 0.237435; 0.681250;, + 0.189093; 0.941871;, + 0.189091; 0.912916;, + 0.208492; 0.912914;, + 0.208494; 0.941869;, + 0.102224; 0.912925;, + 0.102228; 0.941881;, + 0.082827; 0.941883;, + 0.082823; 0.912928;, + 0.343729; 0.565405;, + 0.343733; 0.536441;, + 0.363139; 0.536445;, + 0.363135; 0.565407;, + 0.782471; 0.432400;, + 0.811429; 0.432400;, + 0.811429; 0.451803;, + 0.782471; 0.451803;, + 0.102177; 0.623346;, + 0.102183; 0.652307;, + 0.082779; 0.652311;, + 0.082772; 0.623351;, + 0.392076; 0.826044;, + 0.363118; 0.826043;, + 0.363120; 0.797085;, + 0.392077; 0.797087;, + 0.392077; 0.797087;, + 0.363120; 0.797085;, + 0.363121; 0.768127;, + 0.392079; 0.768129;, + 0.498375; 0.594388;, + 0.498379; 0.565430;, + 0.517782; 0.565433;, + 0.517778; 0.594391;, + 0.546721; 0.710227;, + 0.517763; 0.710224;, + 0.517767; 0.681266;, + 0.546725; 0.681269;, + 0.546725; 0.681269;, + 0.517767; 0.681266;, + 0.517770; 0.652307;, + 0.546728; 0.652311;, + 0.256837; 0.594363;, + 0.256838; 0.623326;, + 0.237432; 0.623327;, + 0.237431; 0.594364;, + 0.546736; 0.594395;, + 0.517778; 0.594391;, + 0.517782; 0.565433;, + 0.546740; 0.565437;, + 0.546740; 0.565437;, + 0.517782; 0.565433;, + 0.517787; 0.536475;, + 0.546744; 0.536479;, + 0.411490; 0.652295;, + 0.411488; 0.681254;, + 0.392084; 0.681253;, + 0.392086; 0.652293;, + 0.411472; 0.912914;, + 0.411469; 0.941870;, + 0.392068; 0.941868;, + 0.392071; 0.912913;, + 0.189096; 0.970825;, + 0.189093; 0.941871;, + 0.208494; 0.941869;, + 0.208496; 0.970823;, + 0.691100; 0.999806;, + 0.662142; 0.999806;, + 0.662141; 0.980403;, + 0.691100; 0.980403;, + 0.343716; 0.854999;, + 0.343716; 0.826042;, + 0.363118; 0.826043;, + 0.363117; 0.854999;, + 0.777974; 0.999805;, + 0.749016; 0.999805;, + 0.749016; 0.980403;, + 0.777974; 0.980403;, + 0.189076; 0.739173;, + 0.189073; 0.710214;, + 0.208477; 0.710212;, + 0.208479; 0.739171;, + 0.392093; 0.594372;, + 0.363131; 0.594369;, + 0.363135; 0.565407;, + 0.392097; 0.565411;, + 0.392097; 0.565411;, + 0.363135; 0.565407;, + 0.363139; 0.536445;, + 0.392102; 0.536450;, + 0.102200; 0.739185;, + 0.102204; 0.768143;, + 0.082802; 0.768146;, + 0.082797; 0.739188;, + 0.411485; 0.710213;, + 0.411483; 0.739172;, + 0.392080; 0.739171;, + 0.392082; 0.710212;, + 0.189088; 0.883960;, + 0.189086; 0.855004;, + 0.208488; 0.855002;, + 0.208490; 0.883958;, + 0.102209; 0.797100;, + 0.102213; 0.826057;, + 0.082811; 0.826060;, + 0.082806; 0.797103;, + 0.550811; 0.432394;, + 0.579768; 0.432396;, + 0.579767; 0.451798;, + 0.550809; 0.451796;, + 0.498355; 0.768137;, + 0.498358; 0.739180;, + 0.517760; 0.739182;, + 0.517757; 0.768139;, + 0.189067; 0.652293;, + 0.189063; 0.623331;, + 0.208469; 0.623329;, + 0.208472; 0.652291;, + 0.237437; 0.710210;, + 0.208477; 0.710212;, + 0.208474; 0.681252;, + 0.237435; 0.681250;, + 0.237435; 0.681250;, + 0.208474; 0.681252;, + 0.208472; 0.652291;, + 0.237433; 0.652289;, + 0.256850; 0.970820;, + 0.256852; 0.999774;, + 0.237452; 0.999775;, + 0.237450; 0.970821;, + 0.498340; 0.912923;, + 0.498343; 0.883966;, + 0.517745; 0.883968;, + 0.517742; 0.912925;, + 0.343719; 0.710209;, + 0.343720; 0.681250;, + 0.363124; 0.681251;, + 0.363123; 0.710210;, + 0.256839; 0.652288;, + 0.256839; 0.681249;, + 0.237435; 0.681250;, + 0.237433; 0.652289;, + 0.343717; 0.797085;, + 0.343718; 0.768127;, + 0.363121; 0.768127;, + 0.363120; 0.797085;, + 0.411501; 0.565415;, + 0.411497; 0.594375;, + 0.392093; 0.594372;, + 0.392097; 0.565411;, + 0.102221; 0.883969;, + 0.102224; 0.912925;, + 0.082823; 0.912928;, + 0.082819; 0.883972;, + 0.237431; 0.594364;, + 0.208467; 0.594365;, + 0.208464; 0.565401;, + 0.237430; 0.565399;, + 0.237430; 0.565399;, + 0.208464; 0.565401;, + 0.208462; 0.536434;, + 0.237429; 0.536433;, + 0.835890; 0.999805;, + 0.806932; 0.999805;, + 0.806932; 0.980403;, + 0.835890; 0.980403;, + 0.189083; 0.826047;, + 0.189081; 0.797090;, + 0.208483; 0.797088;, + 0.208486; 0.826045;, + 0.753512; 0.432400;, + 0.782471; 0.432400;, + 0.782471; 0.451803;, + 0.753512; 0.451803;, + 0.189070; 0.681254;, + 0.189067; 0.652293;, + 0.208472; 0.652291;, + 0.208474; 0.681252;, + 0.498349; 0.826052;, + 0.498352; 0.797095;, + 0.517754; 0.797097;, + 0.517751; 0.826054;, + 0.256838; 0.623326;, + 0.256839; 0.652288;, + 0.237433; 0.652289;, + 0.237432; 0.623327;, + 0.498361; 0.710222;, + 0.498364; 0.681263;, + 0.517767; 0.681266;, + 0.517763; 0.710224;, + 0.782471; 0.451803;, + 0.811429; 0.451803;, + 0.811430; 0.508898;, + 0.782471; 0.508898;, + 0.569546; 0.317575;, + 0.538217; 0.317574;, + 0.538218; 0.250552;, + 0.569547; 0.250553;, + 0.546702; 0.883971;, + 0.546705; 0.855014;, + 0.603797; 0.855021;, + 0.603794; 0.883978;, + 0.000194; 0.000253;, + 0.029149; 0.000250;, + 0.029152; 0.025694;, + 0.000197; 0.025697;, + 0.546721; 0.710227;, + 0.546725; 0.681269;, + 0.603818; 0.681276;, + 0.603814; 0.710234;, + 0.057374; 0.883976;, + 0.057370; 0.855020;, + 0.082815; 0.855016;, + 0.082819; 0.883972;, + 0.691100; 0.980403;, + 0.662141; 0.980403;, + 0.662141; 0.923309;, + 0.691099; 0.923309;, + 0.546728; 0.652311;, + 0.546732; 0.623353;, + 0.603825; 0.623360;, + 0.603822; 0.652318;, + 0.057331; 0.652317;, + 0.057323; 0.623357;, + 0.082772; 0.623351;, + 0.082779; 0.652311;, + 0.666637; 0.451803;, + 0.695595; 0.451803;, + 0.695594; 0.508898;, + 0.666636; 0.508897;, + 0.546688; 0.999799;, + 0.546692; 0.970842;, + 0.603783; 0.970849;, + 0.603779; 0.999806;, + 0.546705; 0.855014;, + 0.546709; 0.826057;, + 0.603801; 0.826064;, + 0.603797; 0.855021;, + 0.662141; 0.980403;, + 0.633183; 0.980403;, + 0.633183; 0.923309;, + 0.662141; 0.923309;, + 0.057338; 0.681276;, + 0.057331; 0.652317;, + 0.082779; 0.652311;, + 0.082785; 0.681271;, + 0.720058; 0.980403;, + 0.691100; 0.980403;, + 0.691099; 0.923309;, + 0.720058; 0.923309;, + 0.289765; 0.000213;, + 0.318726; 0.000208;, + 0.318729; 0.025658;, + 0.289768; 0.025662;, + 0.546715; 0.768142;, + 0.546718; 0.739185;, + 0.603811; 0.739191;, + 0.603808; 0.768149;, + 0.546732; 0.623353;, + 0.546736; 0.594395;, + 0.603829; 0.594403;, + 0.603825; 0.623360;, + 0.893806; 0.980403;, + 0.864848; 0.980403;, + 0.864848; 0.923309;, + 0.893806; 0.923309;, + 0.057365; 0.826064;, + 0.057361; 0.797107;, + 0.082806; 0.797103;, + 0.082811; 0.826060;, + 0.546692; 0.970842;, + 0.546696; 0.941885;, + 0.603787; 0.941892;, + 0.603783; 0.970849;, + 0.777974; 0.980403;, + 0.749016; 0.980403;, + 0.749016; 0.923309;, + 0.777974; 0.923309;, + 0.633183; 0.980403;, + 0.604225; 0.980403;, + 0.604225; 0.923309;, + 0.633183; 0.923309;, + 0.058105; 0.000247;, + 0.087060; 0.000244;, + 0.087063; 0.025689;, + 0.058107; 0.025692;, + 0.922764; 0.980403;, + 0.893806; 0.980403;, + 0.893806; 0.923309;, + 0.922764; 0.923309;, + 0.434575; 0.000196;, + 0.463537; 0.000194;, + 0.463539; 0.025645;, + 0.434577; 0.025647;, + 0.546718; 0.739185;, + 0.546721; 0.710227;, + 0.603814; 0.710234;, + 0.603811; 0.739191;, + 0.521852; 0.451794;, + 0.550809; 0.451796;, + 0.550805; 0.508889;, + 0.521847; 0.508886;, + 0.864848; 0.980403;, + 0.835890; 0.980403;, + 0.835890; 0.923309;, + 0.864848; 0.923309;, + 0.057387; 0.970842;, + 0.057383; 0.941887;, + 0.082827; 0.941883;, + 0.082831; 0.970838;, + 0.144972; 0.000236;, + 0.173929; 0.000232;, + 0.173933; 0.025678;, + 0.144976; 0.025682;, + 0.749016; 0.980403;, + 0.720058; 0.980403;, + 0.720058; 0.923309;, + 0.749016; 0.923309;, + 0.492895; 0.451792;, + 0.521852; 0.451794;, + 0.521847; 0.508886;, + 0.492890; 0.508884;, + 0.951722; 0.980403;, + 0.922764; 0.980403;, + 0.922764; 0.923309;, + 0.951722; 0.923309;, + 0.806932; 0.980403;, + 0.777974; 0.980403;, + 0.777974; 0.923309;, + 0.806932; 0.923309;, + 0.546712; 0.797100;, + 0.546715; 0.768142;, + 0.603808; 0.768149;, + 0.603804; 0.797106;, + 0.057314; 0.594397;, + 0.057305; 0.565436;, + 0.082755; 0.565427;, + 0.082764; 0.594389;, + 0.550809; 0.451796;, + 0.579767; 0.451798;, + 0.579762; 0.508891;, + 0.550805; 0.508889;, + 0.202887; 0.000227;, + 0.231845; 0.000222;, + 0.231849; 0.025670;, + 0.202891; 0.025674;, + 0.724554; 0.451803;, + 0.753512; 0.451803;, + 0.753512; 0.508898;, + 0.724553; 0.508898;, + 0.546740; 0.565437;, + 0.546744; 0.536479;, + 0.603837; 0.536487;, + 0.603833; 0.565445;, + 0.608724; 0.451801;, + 0.637682; 0.451803;, + 0.637678; 0.508895;, + 0.608720; 0.508893;, + 0.463938; 0.451790;, + 0.492895; 0.451792;, + 0.492890; 0.508884;, + 0.463933; 0.508882;, + 0.835890; 0.980403;, + 0.806932; 0.980403;, + 0.806932; 0.923309;, + 0.835890; 0.923309;, + 0.546699; 0.912928;, + 0.546702; 0.883971;, + 0.603794; 0.883978;, + 0.603790; 0.912935;, + 0.546709; 0.826057;, + 0.546712; 0.797100;, + 0.603804; 0.797106;, + 0.603801; 0.826064;, + 0.057361; 0.797107;, + 0.057355; 0.768150;, + 0.082802; 0.768146;, + 0.082806; 0.797103;, + 0.753512; 0.451803;, + 0.782471; 0.451803;, + 0.782471; 0.508898;, + 0.753512; 0.508898;, + 0.695595; 0.451803;, + 0.724554; 0.451803;, + 0.724553; 0.508898;, + 0.695594; 0.508898;, + 0.057391; 0.999797;, + 0.057387; 0.970842;, + 0.082831; 0.970838;, + 0.082835; 0.999793;, + 0.546725; 0.681269;, + 0.546728; 0.652311;, + 0.603822; 0.652318;, + 0.603818; 0.681276;, + 0.546736; 0.594395;, + 0.546740; 0.565437;, + 0.603833; 0.565445;, + 0.603829; 0.594403;, + 0.057305; 0.565436;, + 0.057294; 0.536474;, + 0.082745; 0.536463;, + 0.082755; 0.565427;, + 0.579767; 0.451798;, + 0.608724; 0.451801;, + 0.608720; 0.508893;, + 0.579762; 0.508891;, + 0.318726; 0.000208;, + 0.347687; 0.000205;, + 0.347690; 0.025655;, + 0.318729; 0.025658;, + 0.546696; 0.941885;, + 0.546699; 0.912928;, + 0.603790; 0.912935;, + 0.603787; 0.941892;, + 0.343711; 0.999774;, + 0.314758; 0.999773;, + 0.314758; 0.970819;, + 0.343712; 0.970820;, + 0.343718; 0.768127;, + 0.314759; 0.768126;, + 0.314760; 0.739168;, + 0.343718; 0.739168;, + 0.189099; 0.999779;, + 0.160145; 0.999783;, + 0.160142; 0.970828;, + 0.189096; 0.970825;, + 0.189088; 0.883960;, + 0.160132; 0.883963;, + 0.160129; 0.855006;, + 0.189086; 0.855004;, + 0.498329; 0.999792;, + 0.469373; 0.999787;, + 0.469377; 0.970832;, + 0.498333; 0.970835;, + 0.498343; 0.883966;, + 0.469387; 0.883963;, + 0.469389; 0.855006;, + 0.498346; 0.855009;, + 0.343715; 0.883955;, + 0.314759; 0.883955;, + 0.314759; 0.854998;, + 0.343716; 0.854999;, + 0.498355; 0.768137;, + 0.469397; 0.768135;, + 0.469400; 0.739177;, + 0.498358; 0.739180;, + 0.498367; 0.652305;, + 0.469409; 0.652301;, + 0.469412; 0.623343;, + 0.498371; 0.623347;, + 0.343722; 0.652290;, + 0.314761; 0.652288;, + 0.314762; 0.623327;, + 0.343724; 0.623329;, + 0.189078; 0.768132;, + 0.160120; 0.768135;, + 0.160117; 0.739176;, + 0.189076; 0.739173;, + 0.189067; 0.652293;, + 0.160105; 0.652296;, + 0.160101; 0.623334;, + 0.189063; 0.623331;, + 0.131191; 0.999786;, + 0.102236; 0.999791;, + 0.102232; 0.970836;, + 0.131187; 0.970832;, + 0.131183; 0.941877;, + 0.102228; 0.941881;, + 0.102224; 0.912925;, + 0.131180; 0.912922;, + 0.440418; 0.999783;, + 0.411463; 0.999779;, + 0.411467; 0.970825;, + 0.440421; 0.970828;, + 0.440425; 0.941873;, + 0.411469; 0.941870;, + 0.411472; 0.912914;, + 0.440428; 0.912917;, + 0.343713; 0.941866;, + 0.314758; 0.941865;, + 0.314759; 0.912910;, + 0.343714; 0.912911;, + 0.440439; 0.768132;, + 0.411481; 0.768130;, + 0.411483; 0.739172;, + 0.440442; 0.739174;, + 0.440444; 0.710216;, + 0.411485; 0.710213;, + 0.411488; 0.681254;, + 0.440447; 0.681257;, + 0.343719; 0.710209;, + 0.314760; 0.710209;, + 0.314760; 0.681249;, + 0.343720; 0.681250;, + 0.131162; 0.768138;, + 0.102204; 0.768143;, + 0.102200; 0.739185;, + 0.131158; 0.739180;, + 0.131154; 0.710221;, + 0.102194; 0.710226;, + 0.102189; 0.681267;, + 0.131149; 0.681261;, + 0.285805; 0.999773;, + 0.256852; 0.999774;, + 0.256850; 0.970820;, + 0.285804; 0.970820;, + 0.285804; 0.941865;, + 0.256849; 0.941866;, + 0.256848; 0.912911;, + 0.285803; 0.912910;, + 0.189093; 0.941871;, + 0.160138; 0.941874;, + 0.160135; 0.912918;, + 0.189091; 0.912916;, + 0.285803; 0.883955;, + 0.256847; 0.883956;, + 0.256846; 0.854999;, + 0.285802; 0.854999;, + 0.285802; 0.826042;, + 0.256845; 0.826043;, + 0.256844; 0.797085;, + 0.285802; 0.797085;, + 0.189083; 0.826047;, + 0.160126; 0.826050;, + 0.160123; 0.797093;, + 0.189081; 0.797090;, + 0.131176; 0.883966;, + 0.102221; 0.883969;, + 0.102217; 0.855013;, + 0.131173; 0.855010;, + 0.131170; 0.826053;, + 0.102213; 0.826057;, + 0.102209; 0.797100;, + 0.131166; 0.797096;, + 0.498337; 0.941879;, + 0.469381; 0.941876;, + 0.469384; 0.912920;, + 0.498340; 0.912923;, + 0.498349; 0.826052;, + 0.469392; 0.826049;, + 0.469394; 0.797092;, + 0.498352; 0.797095;, + 0.440430; 0.883961;, + 0.411474; 0.883958;, + 0.411476; 0.855002;, + 0.440433; 0.855004;, + 0.440435; 0.826047;, + 0.411478; 0.826045;, + 0.411480; 0.797088;, + 0.440437; 0.797090;, + 0.343716; 0.826042;, + 0.314759; 0.826042;, + 0.314759; 0.797084;, + 0.343717; 0.797085;, + 0.498361; 0.710222;, + 0.469402; 0.710219;, + 0.469405; 0.681260;, + 0.498364; 0.681263;, + 0.498375; 0.594388;, + 0.469416; 0.594384;, + 0.469421; 0.565425;, + 0.498379; 0.565430;, + 0.440450; 0.652298;, + 0.411490; 0.652295;, + 0.411493; 0.623335;, + 0.440453; 0.623339;, + 0.440457; 0.594380;, + 0.411497; 0.594375;, + 0.411501; 0.565415;, + 0.440461; 0.565420;, + 0.343726; 0.594367;, + 0.314764; 0.594365;, + 0.314766; 0.565402;, + 0.343729; 0.565405;, + 0.285801; 0.768127;, + 0.256843; 0.768127;, + 0.256842; 0.739169;, + 0.285801; 0.739168;, + 0.285800; 0.710209;, + 0.256841; 0.710209;, + 0.256839; 0.681249;, + 0.285800; 0.681249;, + 0.189073; 0.710214;, + 0.160113; 0.710217;, + 0.160109; 0.681257;, + 0.189070; 0.681254;, + 0.285800; 0.652288;, + 0.256839; 0.652288;, + 0.256838; 0.623326;, + 0.285800; 0.623326;, + 0.285801; 0.594363;, + 0.256837; 0.594363;, + 0.256837; 0.565399;, + 0.285802; 0.565400;, + 0.189060; 0.594367;, + 0.160096; 0.594371;, + 0.160091; 0.565407;, + 0.189056; 0.565403;, + 0.131144; 0.652301;, + 0.102183; 0.652307;, + 0.102177; 0.623346;, + 0.131138; 0.623340;, + 0.131132; 0.594377;, + 0.102170; 0.594384;, + 0.102162; 0.565421;, + 0.131126; 0.565413;, + 0.343712; 0.970820;, + 0.314758; 0.970819;, + 0.314758; 0.941865;, + 0.343713; 0.941866;, + 0.343718; 0.739168;, + 0.314760; 0.739168;, + 0.314760; 0.710209;, + 0.343719; 0.710209;, + 0.189096; 0.970825;, + 0.160142; 0.970828;, + 0.160138; 0.941874;, + 0.189093; 0.941871;, + 0.189086; 0.855004;, + 0.160129; 0.855006;, + 0.160126; 0.826050;, + 0.189083; 0.826047;, + 0.498333; 0.970835;, + 0.469377; 0.970832;, + 0.469381; 0.941876;, + 0.498337; 0.941879;, + 0.498346; 0.855009;, + 0.469389; 0.855006;, + 0.469392; 0.826049;, + 0.498349; 0.826052;, + 0.343716; 0.854999;, + 0.314759; 0.854998;, + 0.314759; 0.826042;, + 0.343716; 0.826042;, + 0.498358; 0.739180;, + 0.469400; 0.739177;, + 0.469402; 0.710219;, + 0.498361; 0.710222;, + 0.498371; 0.623347;, + 0.469412; 0.623343;, + 0.469416; 0.594384;, + 0.498375; 0.594388;, + 0.343724; 0.623329;, + 0.314762; 0.623327;, + 0.314764; 0.594365;, + 0.343726; 0.594367;, + 0.189076; 0.739173;, + 0.160117; 0.739176;, + 0.160113; 0.710217;, + 0.189073; 0.710214;, + 0.189063; 0.623331;, + 0.160101; 0.623334;, + 0.160096; 0.594371;, + 0.189060; 0.594367;, + 0.160145; 0.999783;, + 0.131191; 0.999786;, + 0.131187; 0.970832;, + 0.160142; 0.970828;, + 0.160142; 0.970828;, + 0.131187; 0.970832;, + 0.131183; 0.941877;, + 0.160138; 0.941874;, + 0.131187; 0.970832;, + 0.102232; 0.970836;, + 0.102228; 0.941881;, + 0.131183; 0.941877;, + 0.160138; 0.941874;, + 0.131183; 0.941877;, + 0.131180; 0.912922;, + 0.160135; 0.912918;, + 0.160135; 0.912918;, + 0.131180; 0.912922;, + 0.131176; 0.883966;, + 0.160132; 0.883963;, + 0.131180; 0.912922;, + 0.102224; 0.912925;, + 0.102221; 0.883969;, + 0.131176; 0.883966;, + 0.469373; 0.999787;, + 0.440418; 0.999783;, + 0.440421; 0.970828;, + 0.469377; 0.970832;, + 0.469377; 0.970832;, + 0.440421; 0.970828;, + 0.440425; 0.941873;, + 0.469381; 0.941876;, + 0.440421; 0.970828;, + 0.411467; 0.970825;, + 0.411469; 0.941870;, + 0.440425; 0.941873;, + 0.469381; 0.941876;, + 0.440425; 0.941873;, + 0.440428; 0.912917;, + 0.469384; 0.912920;, + 0.469384; 0.912920;, + 0.440428; 0.912917;, + 0.440430; 0.883961;, + 0.469387; 0.883963;, + 0.440428; 0.912917;, + 0.411472; 0.912914;, + 0.411474; 0.883958;, + 0.440430; 0.883961;, + 0.343714; 0.912911;, + 0.314759; 0.912910;, + 0.314759; 0.883955;, + 0.343715; 0.883955;, + 0.469397; 0.768135;, + 0.440439; 0.768132;, + 0.440442; 0.739174;, + 0.469400; 0.739177;, + 0.469400; 0.739177;, + 0.440442; 0.739174;, + 0.440444; 0.710216;, + 0.469402; 0.710219;, + 0.440442; 0.739174;, + 0.411483; 0.739172;, + 0.411485; 0.710213;, + 0.440444; 0.710216;, + 0.469402; 0.710219;, + 0.440444; 0.710216;, + 0.440447; 0.681257;, + 0.469405; 0.681260;, + 0.469405; 0.681260;, + 0.440447; 0.681257;, + 0.440450; 0.652298;, + 0.469409; 0.652301;, + 0.440447; 0.681257;, + 0.411488; 0.681254;, + 0.411490; 0.652295;, + 0.440450; 0.652298;, + 0.343720; 0.681250;, + 0.314760; 0.681249;, + 0.314761; 0.652288;, + 0.343722; 0.652290;, + 0.160120; 0.768135;, + 0.131162; 0.768138;, + 0.131158; 0.739180;, + 0.160117; 0.739176;, + 0.160117; 0.739176;, + 0.131158; 0.739180;, + 0.131154; 0.710221;, + 0.160113; 0.710217;, + 0.131158; 0.739180;, + 0.102200; 0.739185;, + 0.102194; 0.710226;, + 0.131154; 0.710221;, + 0.160113; 0.710217;, + 0.131154; 0.710221;, + 0.131149; 0.681261;, + 0.160109; 0.681257;, + 0.160109; 0.681257;, + 0.131149; 0.681261;, + 0.131144; 0.652301;, + 0.160105; 0.652296;, + 0.131149; 0.681261;, + 0.102189; 0.681267;, + 0.102183; 0.652307;, + 0.131144; 0.652301;, + 0.314758; 0.999773;, + 0.285805; 0.999773;, + 0.285804; 0.970820;, + 0.314758; 0.970819;, + 0.314758; 0.970819;, + 0.285804; 0.970820;, + 0.285804; 0.941865;, + 0.314758; 0.941865;, + 0.285804; 0.970820;, + 0.256850; 0.970820;, + 0.256849; 0.941866;, + 0.285804; 0.941865;, + 0.314758; 0.941865;, + 0.285804; 0.941865;, + 0.285803; 0.912910;, + 0.314759; 0.912910;, + 0.314759; 0.912910;, + 0.285803; 0.912910;, + 0.285803; 0.883955;, + 0.314759; 0.883955;, + 0.285803; 0.912910;, + 0.256848; 0.912911;, + 0.256847; 0.883956;, + 0.285803; 0.883955;, + 0.189091; 0.912916;, + 0.160135; 0.912918;, + 0.160132; 0.883963;, + 0.189088; 0.883960;, + 0.314759; 0.883955;, + 0.285803; 0.883955;, + 0.285802; 0.854999;, + 0.314759; 0.854998;, + 0.314759; 0.854998;, + 0.285802; 0.854999;, + 0.285802; 0.826042;, + 0.314759; 0.826042;, + 0.285802; 0.854999;, + 0.256846; 0.854999;, + 0.256845; 0.826043;, + 0.285802; 0.826042;, + 0.314759; 0.826042;, + 0.285802; 0.826042;, + 0.285802; 0.797085;, + 0.314759; 0.797084;, + 0.314759; 0.797084;, + 0.285802; 0.797085;, + 0.285801; 0.768127;, + 0.314759; 0.768126;, + 0.285802; 0.797085;, + 0.256844; 0.797085;, + 0.256843; 0.768127;, + 0.285801; 0.768127;, + 0.189081; 0.797090;, + 0.160123; 0.797093;, + 0.160120; 0.768135;, + 0.189078; 0.768132;, + 0.160132; 0.883963;, + 0.131176; 0.883966;, + 0.131173; 0.855010;, + 0.160129; 0.855006;, + 0.160129; 0.855006;, + 0.131173; 0.855010;, + 0.131170; 0.826053;, + 0.160126; 0.826050;, + 0.131173; 0.855010;, + 0.102217; 0.855013;, + 0.102213; 0.826057;, + 0.131170; 0.826053;, + 0.160126; 0.826050;, + 0.131170; 0.826053;, + 0.131166; 0.797096;, + 0.160123; 0.797093;, + 0.160123; 0.797093;, + 0.131166; 0.797096;, + 0.131162; 0.768138;, + 0.160120; 0.768135;, + 0.131166; 0.797096;, + 0.102209; 0.797100;, + 0.102204; 0.768143;, + 0.131162; 0.768138;, + 0.498340; 0.912923;, + 0.469384; 0.912920;, + 0.469387; 0.883963;, + 0.498343; 0.883966;, + 0.498352; 0.797095;, + 0.469394; 0.797092;, + 0.469397; 0.768135;, + 0.498355; 0.768137;, + 0.469387; 0.883963;, + 0.440430; 0.883961;, + 0.440433; 0.855004;, + 0.469389; 0.855006;, + 0.469389; 0.855006;, + 0.440433; 0.855004;, + 0.440435; 0.826047;, + 0.469392; 0.826049;, + 0.440433; 0.855004;, + 0.411476; 0.855002;, + 0.411478; 0.826045;, + 0.440435; 0.826047;, + 0.469392; 0.826049;, + 0.440435; 0.826047;, + 0.440437; 0.797090;, + 0.469394; 0.797092;, + 0.469394; 0.797092;, + 0.440437; 0.797090;, + 0.440439; 0.768132;, + 0.469397; 0.768135;, + 0.440437; 0.797090;, + 0.411480; 0.797088;, + 0.411481; 0.768130;, + 0.440439; 0.768132;, + 0.343717; 0.797085;, + 0.314759; 0.797084;, + 0.314759; 0.768126;, + 0.343718; 0.768127;, + 0.498364; 0.681263;, + 0.469405; 0.681260;, + 0.469409; 0.652301;, + 0.498367; 0.652305;, + 0.498379; 0.565430;, + 0.469421; 0.565425;, + 0.469426; 0.536466;, + 0.498384; 0.536472;, + 0.469409; 0.652301;, + 0.440450; 0.652298;, + 0.440453; 0.623339;, + 0.469412; 0.623343;, + 0.469412; 0.623343;, + 0.440453; 0.623339;, + 0.440457; 0.594380;, + 0.469416; 0.594384;, + 0.440453; 0.623339;, + 0.411493; 0.623335;, + 0.411497; 0.594375;, + 0.440457; 0.594380;, + 0.469416; 0.594384;, + 0.440457; 0.594380;, + 0.440461; 0.565420;, + 0.469421; 0.565425;, + 0.469421; 0.565425;, + 0.440461; 0.565420;, + 0.440467; 0.536460;, + 0.469426; 0.536466;, + 0.440461; 0.565420;, + 0.411501; 0.565415;, + 0.411507; 0.536454;, + 0.440467; 0.536460;, + 0.343729; 0.565405;, + 0.314766; 0.565402;, + 0.314769; 0.536438;, + 0.343733; 0.536441;, + 0.314759; 0.768126;, + 0.285801; 0.768127;, + 0.285801; 0.739168;, + 0.314760; 0.739168;, + 0.314760; 0.739168;, + 0.285801; 0.739168;, + 0.285800; 0.710209;, + 0.314760; 0.710209;, + 0.285801; 0.739168;, + 0.256842; 0.739169;, + 0.256841; 0.710209;, + 0.285800; 0.710209;, + 0.314760; 0.710209;, + 0.285800; 0.710209;, + 0.285800; 0.681249;, + 0.314760; 0.681249;, + 0.314760; 0.681249;, + 0.285800; 0.681249;, + 0.285800; 0.652288;, + 0.314761; 0.652288;, + 0.285800; 0.681249;, + 0.256839; 0.681249;, + 0.256839; 0.652288;, + 0.285800; 0.652288;, + 0.189070; 0.681254;, + 0.160109; 0.681257;, + 0.160105; 0.652296;, + 0.189067; 0.652293;, + 0.314761; 0.652288;, + 0.285800; 0.652288;, + 0.285800; 0.623326;, + 0.314762; 0.623327;, + 0.314762; 0.623327;, + 0.285800; 0.623326;, + 0.285801; 0.594363;, + 0.314764; 0.594365;, + 0.285800; 0.623326;, + 0.256838; 0.623326;, + 0.256837; 0.594363;, + 0.285801; 0.594363;, + 0.314764; 0.594365;, + 0.285801; 0.594363;, + 0.285802; 0.565400;, + 0.314766; 0.565402;, + 0.314766; 0.565402;, + 0.285802; 0.565400;, + 0.285804; 0.536435;, + 0.314769; 0.536438;, + 0.285802; 0.565400;, + 0.256837; 0.565399;, + 0.256838; 0.536433;, + 0.285804; 0.536435;, + 0.189056; 0.565403;, + 0.160091; 0.565407;, + 0.160085; 0.536441;, + 0.189053; 0.536436;, + 0.160105; 0.652296;, + 0.131144; 0.652301;, + 0.131138; 0.623340;, + 0.160101; 0.623334;, + 0.160101; 0.623334;, + 0.131138; 0.623340;, + 0.131132; 0.594377;, + 0.160096; 0.594371;, + 0.131138; 0.623340;, + 0.102177; 0.623346;, + 0.102170; 0.594384;, + 0.131132; 0.594377;, + 0.160096; 0.594371;, + 0.131132; 0.594377;, + 0.131126; 0.565413;, + 0.160091; 0.565407;, + 0.160091; 0.565407;, + 0.131126; 0.565413;, + 0.131119; 0.536448;, + 0.160085; 0.536441;, + 0.131126; 0.565413;, + 0.102162; 0.565421;, + 0.102153; 0.536456;, + 0.131119; 0.536448;, + 0.376650; 0.450984;, + 0.405606; 0.450986;, + 0.405605; 0.479942;, + 0.376649; 0.479941;, + 0.260822; 0.450982;, + 0.289779; 0.450982;, + 0.289779; 0.479939;, + 0.260822; 0.479939;, + 0.318737; 0.393068;, + 0.347695; 0.393069;, + 0.347694; 0.422026;, + 0.318736; 0.422026;, + 0.260822; 0.393067;, + 0.289780; 0.393068;, + 0.289779; 0.422025;, + 0.260822; 0.422025;, + 0.260823; 0.280860;, + 0.289781; 0.280860;, + 0.289781; 0.309818;, + 0.260823; 0.309818;, + 0.144991; 0.450983;, + 0.173949; 0.450983;, + 0.173949; 0.479940;, + 0.144992; 0.479940;, + 0.029160; 0.450983;, + 0.058118; 0.450983;, + 0.058118; 0.479941;, + 0.029160; 0.479941;, + 0.087076; 0.393067;, + 0.116033; 0.393067;, + 0.116033; 0.422025;, + 0.087076; 0.422025;, + 0.029160; 0.393067;, + 0.058118; 0.393067;, + 0.058118; 0.422025;, + 0.029160; 0.422025;, + 0.029162; 0.280861;, + 0.058119; 0.280861;, + 0.058119; 0.309818;, + 0.029162; 0.309818;, + 0.202906; 0.222944;, + 0.231864; 0.222943;, + 0.231864; 0.251902;, + 0.202906; 0.251902;, + 0.144990; 0.222946;, + 0.173948; 0.222945;, + 0.173948; 0.251903;, + 0.144991; 0.251903;, + 0.144984; 0.110741;, + 0.173942; 0.110738;, + 0.173944; 0.139696;, + 0.144987; 0.139698;, + 0.087076; 0.222947;, + 0.116033; 0.222947;, + 0.116033; 0.251904;, + 0.087076; 0.251904;, + 0.029163; 0.222948;, + 0.058119; 0.222948;, + 0.058119; 0.251904;, + 0.029163; 0.251904;, + 0.029159; 0.110749;, + 0.058115; 0.110747;, + 0.058116; 0.139703;, + 0.029161; 0.139705;, + 0.087066; 0.052833;, + 0.116022; 0.052830;, + 0.116025; 0.081786;, + 0.087069; 0.081789;, + 0.029155; 0.052838;, + 0.058110; 0.052835;, + 0.058113; 0.081791;, + 0.029157; 0.081794;, + 0.405617; 0.280863;, + 0.434576; 0.280865;, + 0.434574; 0.309824;, + 0.405615; 0.309822;, + 0.173949; 0.280860;, + 0.202907; 0.280860;, + 0.202907; 0.309818;, + 0.173949; 0.309818;, + 0.405619; 0.110723;, + 0.434581; 0.110722;, + 0.434582; 0.139684;, + 0.405620; 0.139684;, + 0.289777; 0.110729;, + 0.318737; 0.110727;, + 0.318738; 0.139687;, + 0.289778; 0.139689;, + 0.405606; 0.450986;, + 0.434563; 0.450987;, + 0.434561; 0.479944;, + 0.405605; 0.479942;, + 0.289779; 0.450982;, + 0.318736; 0.450983;, + 0.318735; 0.479940;, + 0.289779; 0.479939;, + 0.289781; 0.280860;, + 0.318740; 0.280860;, + 0.318739; 0.309818;, + 0.289781; 0.309818;, + 0.173949; 0.450983;, + 0.202907; 0.450982;, + 0.202907; 0.479940;, + 0.173949; 0.479940;, + 0.058118; 0.450983;, + 0.087076; 0.450983;, + 0.087076; 0.479941;, + 0.058118; 0.479941;, + 0.058119; 0.280861;, + 0.087076; 0.280861;, + 0.087076; 0.309818;, + 0.058119; 0.309818;, + 0.173942; 0.110738;, + 0.202900; 0.110736;, + 0.202902; 0.139694;, + 0.173944; 0.139696;, + 0.058115; 0.110747;, + 0.087071; 0.110745;, + 0.087073; 0.139701;, + 0.058116; 0.139703;, + 0.434580; 0.081759;, + 0.463543; 0.081758;, + 0.463544; 0.110721;, + 0.434581; 0.110722;, + 0.405618; 0.081761;, + 0.434580; 0.081759;, + 0.434581; 0.110722;, + 0.405619; 0.110723;, + 0.405616; 0.052799;, + 0.434578; 0.052797;, + 0.434580; 0.081759;, + 0.405618; 0.081761;, + 0.376656; 0.081763;, + 0.405618; 0.081761;, + 0.405619; 0.110723;, + 0.376658; 0.110724;, + 0.347695; 0.081765;, + 0.376656; 0.081763;, + 0.376658; 0.110724;, + 0.347697; 0.110726;, + 0.347693; 0.052804;, + 0.376654; 0.052801;, + 0.376656; 0.081763;, + 0.347695; 0.081765;, + 0.434565; 0.422031;, + 0.463521; 0.422033;, + 0.463519; 0.450989;, + 0.434563; 0.450987;, + 0.405608; 0.422029;, + 0.434565; 0.422031;, + 0.434563; 0.450987;, + 0.405606; 0.450986;, + 0.405609; 0.393072;, + 0.434567; 0.393073;, + 0.434565; 0.422031;, + 0.405608; 0.422029;, + 0.376651; 0.422027;, + 0.405608; 0.422029;, + 0.405606; 0.450986;, + 0.376650; 0.450984;, + 0.347694; 0.422026;, + 0.376651; 0.422027;, + 0.376650; 0.450984;, + 0.347693; 0.450983;, + 0.347695; 0.393069;, + 0.376652; 0.393070;, + 0.376651; 0.422027;, + 0.347694; 0.422026;, + 0.347698; 0.280860;, + 0.376657; 0.280861;, + 0.376656; 0.309820;, + 0.347698; 0.309819;, + 0.202907; 0.422025;, + 0.231864; 0.422025;, + 0.231864; 0.450982;, + 0.202907; 0.450982;, + 0.173949; 0.422025;, + 0.202907; 0.422025;, + 0.202907; 0.450982;, + 0.173949; 0.450983;, + 0.173949; 0.393067;, + 0.202907; 0.393067;, + 0.202907; 0.422025;, + 0.173949; 0.422025;, + 0.144991; 0.422025;, + 0.173949; 0.422025;, + 0.173949; 0.450983;, + 0.144991; 0.450983;, + 0.116033; 0.422025;, + 0.144991; 0.422025;, + 0.144991; 0.450983;, + 0.116034; 0.450983;, + 0.116033; 0.393067;, + 0.144991; 0.393067;, + 0.144991; 0.422025;, + 0.116033; 0.422025;, + 0.116034; 0.280861;, + 0.144991; 0.280861;, + 0.144991; 0.309818;, + 0.116034; 0.309818;, + 0.202897; 0.081778;, + 0.231856; 0.081775;, + 0.231858; 0.110734;, + 0.202900; 0.110736;, + 0.173939; 0.081781;, + 0.202897; 0.081778;, + 0.202900; 0.110736;, + 0.173942; 0.110738;, + 0.173936; 0.052823;, + 0.202894; 0.052820;, + 0.202897; 0.081778;, + 0.173939; 0.081781;, + 0.144982; 0.081784;, + 0.173939; 0.081781;, + 0.173942; 0.110738;, + 0.144984; 0.110741;, + 0.116025; 0.081786;, + 0.144982; 0.081784;, + 0.144984; 0.110741;, + 0.116028; 0.110743;, + 0.116022; 0.052830;, + 0.144979; 0.052827;, + 0.144982; 0.081784;, + 0.116025; 0.081786;, + 0.434578; 0.251905;, + 0.463539; 0.251907;, + 0.463536; 0.280867;, + 0.434576; 0.280865;, + 0.405618; 0.251903;, + 0.434578; 0.251905;, + 0.434576; 0.280865;, + 0.405617; 0.280863;, + 0.405620; 0.222943;, + 0.434580; 0.222944;, + 0.434578; 0.251905;, + 0.405618; 0.251903;, + 0.376659; 0.251902;, + 0.405618; 0.251903;, + 0.405617; 0.280863;, + 0.376657; 0.280861;, + 0.347699; 0.251901;, + 0.376659; 0.251902;, + 0.376657; 0.280861;, + 0.347698; 0.280860;, + 0.347700; 0.222942;, + 0.376659; 0.222942;, + 0.376659; 0.251902;, + 0.347699; 0.251901;, + 0.347697; 0.110726;, + 0.376658; 0.110724;, + 0.376659; 0.139685;, + 0.347698; 0.139686;, + 0.318740; 0.251901;, + 0.347699; 0.251901;, + 0.347698; 0.280860;, + 0.318740; 0.280860;, + 0.289781; 0.251901;, + 0.318740; 0.251901;, + 0.318740; 0.280860;, + 0.289781; 0.280860;, + 0.289781; 0.222942;, + 0.318740; 0.222942;, + 0.318740; 0.251901;, + 0.289781; 0.251901;, + 0.260823; 0.251901;, + 0.289781; 0.251901;, + 0.289781; 0.280860;, + 0.260823; 0.280860;, + 0.231864; 0.251902;, + 0.260823; 0.251901;, + 0.260823; 0.280860;, + 0.231865; 0.280860;, + 0.231864; 0.222943;, + 0.260822; 0.222943;, + 0.260823; 0.251901;, + 0.231864; 0.251902;, + 0.231858; 0.110734;, + 0.260817; 0.110731;, + 0.260819; 0.139691;, + 0.231860; 0.139692;, + 0.318734; 0.081767;, + 0.347695; 0.081765;, + 0.347697; 0.110726;, + 0.318737; 0.110727;, + 0.289774; 0.081770;, + 0.318734; 0.081767;, + 0.318737; 0.110727;, + 0.289777; 0.110729;, + 0.289772; 0.052810;, + 0.318732; 0.052806;, + 0.318734; 0.081767;, + 0.289774; 0.081770;, + 0.260815; 0.081772;, + 0.289774; 0.081770;, + 0.289777; 0.110729;, + 0.260817; 0.110731;, + 0.231856; 0.081775;, + 0.260815; 0.081772;, + 0.260817; 0.110731;, + 0.231858; 0.110734;, + 0.231853; 0.052816;, + 0.260812; 0.052813;, + 0.260815; 0.081772;, + 0.231856; 0.081775;, + 0.347693; 0.450983;, + 0.376650; 0.450984;, + 0.376649; 0.479941;, + 0.347692; 0.479940;, + 0.231864; 0.450982;, + 0.260822; 0.450982;, + 0.260822; 0.479939;, + 0.231864; 0.479940;, + 0.318736; 0.422026;, + 0.347694; 0.422026;, + 0.347693; 0.450983;, + 0.318736; 0.450983;, + 0.289779; 0.422025;, + 0.318736; 0.422026;, + 0.318736; 0.450983;, + 0.289779; 0.450982;, + 0.289780; 0.393068;, + 0.318737; 0.393068;, + 0.318736; 0.422026;, + 0.289779; 0.422025;, + 0.260822; 0.422025;, + 0.289779; 0.422025;, + 0.289779; 0.450982;, + 0.260822; 0.450982;, + 0.231864; 0.422025;, + 0.260822; 0.422025;, + 0.260822; 0.450982;, + 0.231864; 0.450982;, + 0.231864; 0.393067;, + 0.260822; 0.393067;, + 0.260822; 0.422025;, + 0.231864; 0.422025;, + 0.231865; 0.280860;, + 0.260823; 0.280860;, + 0.260823; 0.309818;, + 0.231865; 0.309818;, + 0.116034; 0.450983;, + 0.144991; 0.450983;, + 0.144992; 0.479940;, + 0.116034; 0.479941;, + 0.000202; 0.450983;, + 0.029160; 0.450983;, + 0.029160; 0.479941;, + 0.000202; 0.479941;, + 0.087076; 0.422025;, + 0.116033; 0.422025;, + 0.116034; 0.450983;, + 0.087076; 0.450983;, + 0.058118; 0.422025;, + 0.087076; 0.422025;, + 0.087076; 0.450983;, + 0.058118; 0.450983;, + 0.058118; 0.393067;, + 0.087076; 0.393067;, + 0.087076; 0.422025;, + 0.058118; 0.422025;, + 0.029160; 0.422025;, + 0.058118; 0.422025;, + 0.058118; 0.450983;, + 0.029160; 0.450983;, + 0.000202; 0.422025;, + 0.029160; 0.422025;, + 0.029160; 0.450983;, + 0.000202; 0.450983;, + 0.000202; 0.393067;, + 0.029160; 0.393067;, + 0.029160; 0.422025;, + 0.000202; 0.422025;, + 0.000206; 0.280860;, + 0.029162; 0.280861;, + 0.029162; 0.309818;, + 0.000205; 0.309817;, + 0.202906; 0.251902;, + 0.231864; 0.251902;, + 0.231865; 0.280860;, + 0.202907; 0.280860;, + 0.173948; 0.251903;, + 0.202906; 0.251902;, + 0.202907; 0.280860;, + 0.173949; 0.280860;, + 0.173948; 0.222945;, + 0.202906; 0.222944;, + 0.202906; 0.251902;, + 0.173948; 0.251903;, + 0.144991; 0.251903;, + 0.173948; 0.251903;, + 0.173949; 0.280860;, + 0.144991; 0.280861;, + 0.116033; 0.251904;, + 0.144991; 0.251903;, + 0.144991; 0.280861;, + 0.116034; 0.280861;, + 0.116033; 0.222947;, + 0.144990; 0.222946;, + 0.144991; 0.251903;, + 0.116033; 0.251904;, + 0.116028; 0.110743;, + 0.144984; 0.110741;, + 0.144987; 0.139698;, + 0.116029; 0.139700;, + 0.087076; 0.251904;, + 0.116033; 0.251904;, + 0.116034; 0.280861;, + 0.087076; 0.280861;, + 0.058119; 0.251904;, + 0.087076; 0.251904;, + 0.087076; 0.280861;, + 0.058119; 0.280861;, + 0.058119; 0.222948;, + 0.087076; 0.222947;, + 0.087076; 0.251904;, + 0.058119; 0.251904;, + 0.029163; 0.251904;, + 0.058119; 0.251904;, + 0.058119; 0.280861;, + 0.029162; 0.280861;, + 0.000207; 0.251904;, + 0.029163; 0.251904;, + 0.029162; 0.280861;, + 0.000206; 0.280860;, + 0.000207; 0.222948;, + 0.029163; 0.222948;, + 0.029163; 0.251904;, + 0.000207; 0.251904;, + 0.000204; 0.110751;, + 0.029159; 0.110749;, + 0.029161; 0.139705;, + 0.000205; 0.139706;, + 0.087069; 0.081789;, + 0.116025; 0.081786;, + 0.116028; 0.110743;, + 0.087071; 0.110745;, + 0.058113; 0.081791;, + 0.087069; 0.081789;, + 0.087071; 0.110745;, + 0.058115; 0.110747;, + 0.058110; 0.052835;, + 0.087066; 0.052833;, + 0.087069; 0.081789;, + 0.058113; 0.081791;, + 0.029157; 0.081794;, + 0.058113; 0.081791;, + 0.058115; 0.110747;, + 0.029159; 0.110749;, + 0.000202; 0.081796;, + 0.029157; 0.081794;, + 0.029159; 0.110749;, + 0.000204; 0.110751;, + 0.000199; 0.052841;, + 0.029155; 0.052838;, + 0.029157; 0.081794;, + 0.000202; 0.081796;, + 0.057305; 0.565436;, + 0.057314; 0.594397;, + 0.000217; 0.594416;, + 0.000206; 0.565457;, + 0.057383; 0.941887;, + 0.057387; 0.970842;, + 0.000299; 0.970851;, + 0.000294; 0.941895;, + 0.057361; 0.797107;, + 0.057365; 0.826064;, + 0.000276; 0.826074;, + 0.000270; 0.797118;, + 0.057331; 0.652317;, + 0.057338; 0.681276;, + 0.000244; 0.681291;, + 0.000235; 0.652333;, + 0.057323; 0.623357;, + 0.057331; 0.652317;, + 0.000235; 0.652333;, + 0.000226; 0.623375;, + 0.057370; 0.855020;, + 0.057374; 0.883976;, + 0.000285; 0.883985;, + 0.000281; 0.855029;, + 0.057338; 0.681276;, + 0.057344; 0.710235;, + 0.000251; 0.710248;, + 0.000244; 0.681291;, + 0.057314; 0.594397;, + 0.057323; 0.623357;, + 0.000226; 0.623375;, + 0.000217; 0.594416;, + 0.057365; 0.826064;, + 0.057370; 0.855020;, + 0.000281; 0.855029;, + 0.000276; 0.826074;, + 0.057374; 0.883976;, + 0.057379; 0.912931;, + 0.000290; 0.912940;, + 0.000285; 0.883985;, + 0.057350; 0.739193;, + 0.057355; 0.768150;, + 0.000264; 0.768162;, + 0.000258; 0.739205;, + 0.057379; 0.912931;, + 0.057383; 0.941887;, + 0.000294; 0.941895;, + 0.000290; 0.912940;, + 0.057344; 0.710235;, + 0.057350; 0.739193;, + 0.000258; 0.739205;, + 0.000251; 0.710248;, + 0.057294; 0.536474;, + 0.057305; 0.565436;, + 0.000206; 0.565457;, + 0.000194; 0.536497;, + 0.057387; 0.970842;, + 0.057391; 0.999797;, + 0.000303; 0.999806;, + 0.000299; 0.970851;, + 0.057355; 0.768150;, + 0.057361; 0.797107;, + 0.000270; 0.797118;, + 0.000264; 0.768162;, + 0.977169; 0.923310;, + 0.977169; 0.980403;, + 0.951722; 0.980403;, + 0.951722; 0.923309;, + 0.057344; 0.710235;, + 0.057338; 0.681276;, + 0.082785; 0.681271;, + 0.082791; 0.710230;, + 0.376649; 0.000201;, + 0.405612; 0.000199;, + 0.405614; 0.025649;, + 0.376652; 0.025652;, + 0.057323; 0.623357;, + 0.057314; 0.594397;, + 0.082764; 0.594389;, + 0.082772; 0.623351;, + 0.173929; 0.000232;, + 0.202887; 0.000227;, + 0.202891; 0.025674;, + 0.173933; 0.025678;, + 0.231845; 0.000222;, + 0.260805; 0.000217;, + 0.260808; 0.025666;, + 0.231849; 0.025670;, + 0.057379; 0.912931;, + 0.057374; 0.883976;, + 0.082819; 0.883972;, + 0.082823; 0.912928;, + 0.057370; 0.855020;, + 0.057365; 0.826064;, + 0.082811; 0.826060;, + 0.082815; 0.855016;, + 0.836877; 0.451803;, + 0.836877; 0.508898;, + 0.811430; 0.508898;, + 0.811429; 0.451803;, + 0.116016; 0.000240;, + 0.144972; 0.000236;, + 0.144976; 0.025682;, + 0.116019; 0.025685;, + 0.057355; 0.768150;, + 0.057350; 0.739193;, + 0.082797; 0.739188;, + 0.082802; 0.768146;, + 0.057383; 0.941887;, + 0.057379; 0.912931;, + 0.082823; 0.912928;, + 0.082827; 0.941883;, + 0.347687; 0.000205;, + 0.376649; 0.000201;, + 0.376652; 0.025652;, + 0.347690; 0.025655;, + 0.029149; 0.000250;, + 0.058105; 0.000247;, + 0.058107; 0.025692;, + 0.029152; 0.025694;, + 0.260805; 0.000217;, + 0.289765; 0.000213;, + 0.289768; 0.025662;, + 0.260808; 0.025666;, + 0.087060; 0.000244;, + 0.116016; 0.000240;, + 0.116019; 0.025685;, + 0.087063; 0.025689;, + 0.057350; 0.739193;, + 0.057344; 0.710235;, + 0.082791; 0.710230;, + 0.082797; 0.739188;, + 0.405612; 0.000199;, + 0.434575; 0.000196;, + 0.434577; 0.025647;, + 0.405614; 0.025649;, + 0.713049; 0.193461;, + 0.713050; 0.174059;, + 0.744379; 0.174059;, + 0.744378; 0.193462;, + 0.637681; 0.441873;, + 0.666640; 0.441875;, + 0.666636; 0.508897;, + 0.637678; 0.508895;, + 0.744378; 0.193462;, + 0.744379; 0.174059;, + 0.779683; 0.174059;, + 0.779683; 0.193462;, + 0.538219; 0.174056;, + 0.538218; 0.193459;, + 0.502914; 0.193458;, + 0.502915; 0.174056;, + 0.639530; 0.866817;, + 0.639530; 0.895775;, + 0.604225; 0.895775;, + 0.604225; 0.866817;, + 0.538218; 0.193459;, + 0.538218; 0.250552;, + 0.502913; 0.250552;, + 0.502914; 0.193458;, + 0.680897; 0.536435;, + 0.680897; 0.565393;, + 0.661495; 0.565393;, + 0.661494; 0.536436;, + 0.626819; 0.193460;, + 0.626818; 0.250554;, + 0.569547; 0.250553;, + 0.569547; 0.193459;, + 0.713050; 0.130054;, + 0.744378; 0.130054;, + 0.744379; 0.174059;, + 0.713050; 0.174059;, + 0.569547; 0.174056;, + 0.569547; 0.193459;, + 0.538218; 0.193459;, + 0.538219; 0.174056;, + 0.569547; 0.193459;, + 0.569547; 0.250553;, + 0.538218; 0.250552;, + 0.538218; 0.193459;, + 0.713048; 0.250555;, + 0.713049; 0.193461;, + 0.744378; 0.193462;, + 0.744377; 0.250556;, + 0.538218; 0.105181;, + 0.569546; 0.105181;, + 0.569546; 0.130052;, + 0.538218; 0.130053;, + 0.683535; 0.866817;, + 0.683535; 0.895775;, + 0.639530; 0.895775;, + 0.639530; 0.866817;, + 0.724902; 0.536434;, + 0.724902; 0.565392;, + 0.680897; 0.565393;, + 0.680897; 0.536435;, + 0.538218; 0.130053;, + 0.569546; 0.130052;, + 0.569547; 0.174056;, + 0.538219; 0.174056;, + 0.749775; 0.565392;, + 0.749774; 0.536433;, + 0.781104; 0.536433;, + 0.781104; 0.565392;, + 0.818664; 0.105182;, + 0.818664; 0.130054;, + 0.744378; 0.130054;, + 0.744378; 0.105182;, + 0.749774; 0.536433;, + 0.749775; 0.565392;, + 0.724902; 0.565392;, + 0.724902; 0.536434;, + 0.713050; 0.105182;, + 0.744378; 0.105182;, + 0.744378; 0.130054;, + 0.713050; 0.130054;, + 0.637683; 0.406569;, + 0.666641; 0.406570;, + 0.666640; 0.441875;, + 0.637681; 0.441873;, + 0.637685; 0.375240;, + 0.666643; 0.375241;, + 0.666641; 0.406570;, + 0.637683; 0.406569;, + 0.779681; 0.317579;, + 0.744376; 0.317578;, + 0.744377; 0.250556;, + 0.779682; 0.250557;, + 0.655775; 0.317576;, + 0.655777; 0.250554;, + 0.713048; 0.250555;, + 0.713047; 0.317577;, + 0.744376; 0.317578;, + 0.713047; 0.317577;, + 0.713048; 0.250555;, + 0.744377; 0.250556;, + 0.538217; 0.317574;, + 0.502912; 0.317573;, + 0.502913; 0.250552;, + 0.538218; 0.250552;, + 0.626819; 0.193460;, + 0.655778; 0.193460;, + 0.655777; 0.250554;, + 0.626818; 0.250554;, + 0.655775; 0.317576;, + 0.626817; 0.317575;, + 0.626818; 0.250554;, + 0.655777; 0.250554;, + 0.604227; 0.565396;, + 0.604225; 0.536439;, + 0.661494; 0.536436;, + 0.661495; 0.565393;, + 0.655777; 0.250554;, + 0.655778; 0.193460;, + 0.713049; 0.193461;, + 0.713048; 0.250555;, + 0.626818; 0.250554;, + 0.626817; 0.317575;, + 0.569546; 0.317575;, + 0.569547; 0.250553;, + 0.637688; 0.317967;, + 0.666646; 0.317969;, + 0.666643; 0.375241;, + 0.637685; 0.375240;, + 0.782694; 0.866817;, + 0.782694; 0.895775;, + 0.757821; 0.895775;, + 0.757821; 0.866817;, + 0.757821; 0.866817;, + 0.757821; 0.895775;, + 0.683535; 0.895775;, + 0.683535; 0.866817;, + 0.855393; 0.536433;, + 0.855393; 0.565392;, + 0.781104; 0.565392;, + 0.781104; 0.536433;, + 0.463933; 0.130054;, + 0.463933; 0.105182;, + 0.538218; 0.105181;, + 0.538218; 0.130053;; + } //End of Plane_000 UV Coordinates + } //End of Plane_000 Mesh + } //End of Plane +} //End of Root Frame diff --git a/mods/boats/textures/boat_inventory.png b/mods/boats/textures/boat_inventory.png new file mode 100644 index 0000000..854da84 Binary files /dev/null and b/mods/boats/textures/boat_inventory.png differ diff --git a/mods/boats/textures/boat_wield.png b/mods/boats/textures/boat_wield.png new file mode 100644 index 0000000..f45a78d Binary files /dev/null and b/mods/boats/textures/boat_wield.png differ diff --git a/mods/bobtraps/depends.txt b/mods/bobtraps/depends.txt new file mode 100755 index 0000000..aca967d --- /dev/null +++ b/mods/bobtraps/depends.txt @@ -0,0 +1,2 @@ +default +mesecons diff --git a/mods/bobtraps/init.lua b/mods/bobtraps/init.lua new file mode 100755 index 0000000..ba3dc76 --- /dev/null +++ b/mods/bobtraps/init.lua @@ -0,0 +1,183 @@ +-- State Changes + +local update_bobtrap = function (pos, node) + local nodename="" + local param2="" + --Switch Trap State + if + -- Swap Traps + node.name == 'bobtraps:trap_spike' then nodename = 'bobtraps:trap_spike_set' + elseif node.name == 'bobtraps:trap_spike_set' then nodename = 'bobtraps:trap_spike' + elseif node.name == 'bobtraps:trap_spike_major' then nodename = 'bobtraps:trap_spike_major_set' + elseif node.name == 'bobtraps:trap_spike_major_set' then nodename = 'bobtraps:trap_spike_major' + end + minetest.env:add_node(pos, {name = nodename}) +end + +-- Punch Traps +local on_bobtrap_punched = function (pos, node, puncher) + if + -- Start Traps + node.name == 'bobtraps:trap_spike' or node.name == 'bobtraps:trap_spike_set' or + node.name == 'bobtraps:trap_spike_major' or node.name == 'bobtraps:trap_spike_major_set' + then + update_bobtrap(pos, node) + end +end + +minetest.register_on_punchnode(on_bobtrap_punched) + + +--ABM (Spring The Traps) + +minetest.register_abm( + {nodenames = {"bobtraps:trap_spike_set"}, + interval = 1.0, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + local objs = minetest.env:get_objects_inside_radius(pos, 1) + for k, obj in pairs(objs) do + + update_bobtrap(pos, node) + end + end, + +}) + +minetest.register_abm( + {nodenames = {"bobtraps:trap_spike_major_set"}, + interval = 1.0, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + local objs = minetest.env:get_objects_inside_radius(pos, 1) + for k, obj in pairs(objs) do + + update_bobtrap(pos, node) + end + end, + +}) + + + + +-- Nodes +minetest.register_node("bobtraps:trap_grass", { + description = "Trap Grass", + tile_images = {"default_grass.png"}, + paramtype2 = "facedir", + legacy_facedir_simple = true, + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, + is_ground_content = false, + walkable = false, + climbable = false, +}) + +minetest.register_node("bobtraps:trap_spike", { + description = "Trap Spike Minor", + drawtype = "plantlike", + visual_scale = 1, + tile_images = {"bobtraps_minorspike.png"}, + inventory_image = ("bobtraps_minorspike.png"), + paramtype = "light", + walkable = false, + sunlight_propagates = true, + groups = {cracky=3,melty=3}, +}) + +minetest.register_node("bobtraps:trap_spike_set", { + description = "Trap Spike Minor", + drawtype = "raillike", + visual_scale = 1, + tile_images = {"bobtraps_trap_set.png"}, + paramtype = "light", + walkable = false, + sunlight_propagates = true, + groups = {cracky=3,melty=3}, + drop = 'bobtraps:trap_spike', +}) + + +minetest.register_node("bobtraps:trap_spike_major", { + description = "Trap Spike Minor", + drawtype = "plantlike", + visual_scale = 1, + tile_images = {"bobtraps_majorspike.png"}, + inventory_image = ("bobtraps_majorspike.png"), + paramtype = "light", + walkable = false, + sunlight_propagates = true, + groups = {cracky=2,melty=2}, +}) + +minetest.register_node("bobtraps:trap_spike_major_set", { + description = "Trap Spike Major", + drawtype = "raillike", + visual_scale = 1, + tile_images = {"bobtraps_trap_set.png"}, + paramtype = "light", + walkable = false, + sunlight_propagates = true, + groups = {cracky=3,melty=3}, + drop = 'bobtraps:trap_spike', +}) + + +-- Crafting + +minetest.register_craft({ + output = 'bobtraps:trap_spike', + recipe = { + {'', '', ''}, + {'', 'default:cobble', ''}, + {'default:cobble', 'default:apple', 'default:cobble'}, + } +}) + +minetest.register_craft({ + output = 'bobtraps:trap_spike_major', + recipe = { + {'', 'default:cobble', ''}, + {'', 'default:apple', ''}, + {'default:cobble', 'default:apple', 'default:cobble'}, + } +}) + +minetest.register_craft({ + output = 'bobtraps:trap_grass', + recipe = { + {'', '', ''}, + {'', 'default:dirt', ''}, + {'', 'default:stick', ''}, + } +}) + +-- ABM +minetest.register_abm( + {nodenames = {"bobtraps:trap_spike"}, + interval = 1.0, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + local objs = minetest.env:get_objects_inside_radius(pos, 1) + for k, obj in pairs(objs) do + obj:set_hp(obj:get_hp()-1) + minetest.sound_play("bobtraps_trap_fall", + {pos = pos, gain = 1.0, max_hear_distance = 3,}) + end + end, +}) + +minetest.register_abm( + {nodenames = {"bobtraps:trap_spike_major"}, + interval = 1.0, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + local objs = minetest.env:get_objects_inside_radius(pos, 1) + for k, obj in pairs(objs) do + obj:set_hp(obj:get_hp()-100) + minetest.sound_play("bobtraps_trap_fall", + {pos = pos, gain = 1.0, max_hear_distance = 3,}) + end + end, + +}) diff --git a/mods/bobtraps/readme.txt b/mods/bobtraps/readme.txt new file mode 100755 index 0000000..d200f1a --- /dev/null +++ b/mods/bobtraps/readme.txt @@ -0,0 +1,51 @@ +-- BobBlocks v0.0.6 +-- (Minetest 0.4 mod Compatible 20120408) +-- http://c55.me/minetest/forum/viewtopic.php?id=1274 +------------------------------------------------------------------ +------------------------------------------------------------------ +-- Requirements: Jeija or Mesecons -- +-- c55.me/minetest/forum/viewtopic.php?id=628 -- +-- You must edit depends.txt and add either jeija or -- +-- mesecons depending on whether or not you're using -- +-- jejia v.05 or mesecons pulled from GitHub -- +------------------------------------------------------------------ +------------------------------------------------------------------ +-- Colored Lit Blocks +---- Default state = Solid lit block +---- Secondary state (punch) = transparent unlit block +---- Mesecons activation +-- Colored Lit Poles +---- Default state = Solid lit block +---- Secondary state (punch) = unlit block +---- Mesecons activation +-- Health Kit +---- Default state = health kit inactive +---- Secondary state (punch) = health kit active +10HP when walked through +-- Trap +---- Default Grass (walkable off) +---- Spike Minor (1HP per hit) +------ Spikes can be 'set' and activated when walked over +---- Spike Major (100HP per hit) +------ Spikes can be 'set' and activated when walked over + +# Attribution +# Unless otherwise noted, all graphics & sounds +# created by Rabbi Bob +# Licensed under the GPLv2/later + +# [GRAPHICS] +# minor & major spikes by Death Dealer +# License: WTFPL +# http://minetest.net/forum/viewtopic.php?id=1582 + +# [SOUNDS] +# bobblocks_glass + # Author: Ch0cchi + # http://www.freesound.org/people/Ch0cchi/sounds/15285/ + # Edited by rabbibob +# bobblocks_trap_fall & bobblocks_trap_fall_major + # Author: Rock Savage + # http://www.freesound.org/people/Rock%20Savage/sounds/65924/# + # Edited by rabbibob +# bobblocks_health + # http://hamsterrepublic.com/ohrrpgce/Free_Sound_Effects.html diff --git a/mods/bobtraps/sounds/bobtraps_trap_fall.ogg b/mods/bobtraps/sounds/bobtraps_trap_fall.ogg new file mode 100755 index 0000000..a49efb3 Binary files /dev/null and b/mods/bobtraps/sounds/bobtraps_trap_fall.ogg differ diff --git a/mods/bobtraps/sounds/bobtraps_trap_fall_major.ogg b/mods/bobtraps/sounds/bobtraps_trap_fall_major.ogg new file mode 100755 index 0000000..b6bdea6 Binary files /dev/null and b/mods/bobtraps/sounds/bobtraps_trap_fall_major.ogg differ diff --git a/mods/bobtraps/textures/bobtraps_majorspike.png b/mods/bobtraps/textures/bobtraps_majorspike.png new file mode 100755 index 0000000..159ddc3 Binary files /dev/null and b/mods/bobtraps/textures/bobtraps_majorspike.png differ diff --git a/mods/bobtraps/textures/bobtraps_minorspike.png b/mods/bobtraps/textures/bobtraps_minorspike.png new file mode 100755 index 0000000..fd2e9f3 Binary files /dev/null and b/mods/bobtraps/textures/bobtraps_minorspike.png differ diff --git a/mods/bobtraps/textures/bobtraps_trap_set.png b/mods/bobtraps/textures/bobtraps_trap_set.png new file mode 100755 index 0000000..55d1cf9 Binary files /dev/null and b/mods/bobtraps/textures/bobtraps_trap_set.png differ diff --git a/mods/bridges/README.md b/mods/bridges/README.md new file mode 100644 index 0000000..96b8b61 --- /dev/null +++ b/mods/bridges/README.md @@ -0,0 +1,71 @@ +Mod for Minetest that adds bridges (only one node wide!), slim handrails and a self-building-one-node-wide bridge. + +Crafting recipes: +
S stands for stick +
W stands for wooden slab +
V stands for either vines or leaves (both can be used) +
G stands for groundplate of bridge +
H stands for handrail +
- stands for "leave empty" + +Groundplate: yields 2 "G" parts which are the basis for further bridges: +
V V V +
V W V +
V V V + +Handrail: yields 4 "H" parts which are needed in further receipes: +
- - - +
- G - +
- - - + +small bridge: +
S - S +
H G H +
S - S + +middle part (fits between small bridges): +
- - - +
H G H +
- - - + +corner of a bridge: +
S H S +
- G H +
S - S + +T junction of a bridge: +
S H S +
- G - +
S - S + +end of a bridge. +
S H S +
H G H +
S - S + +handrail, one side closed: +
- - - +
- - - +
S H S + +handrail, two sides closed: +
S - - +
H - - +
S H S + +handrail, three sides closed (if you want to walk around it): +
S H S +
H - - +
S H S + +a large, 3 nodes long bridge: +
- small_bridge - +
- middle_part_of_bridge - +
- small_bridge - + + +the self-building automatic bridge: +
large_bridge large_bridge large_bridge +
large_bridge large_bridge large_bridge +
large_bridge large_bridge large_bridge + diff --git a/mods/bridges/depends.txt b/mods/bridges/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/bridges/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/bridges/init.lua b/mods/bridges/init.lua new file mode 100644 index 0000000..da19edf --- /dev/null +++ b/mods/bridges/init.lua @@ -0,0 +1,355 @@ + +-- to make life a bit easier +bild_pfad = "default_wood.png"; --"forniture_wood.png"; +bild_pfad_s1 = "default_wood.png"; --"forniture_wood_s1.png"; +bild_pfad_s2 = "default_wood.png"; --"forniture_wood_s2.png"; + +leg_front_left = {-0.5,-0.5,-0.5, -0.4,0.5,-0.4}; +leg_front_right = { 0.4,-0.5,-0.5, 0.5,0.5,-0.4}; +leg_back_left = {-0.5,-0.5, 0.4, -0.4,0.5, 0.5}; +leg_back_right = { 0.4,-0.5, 0.4, 0.5,0.5, 0.5}; + +bar_left = {-0.5, 0.35,-0.4,-0.4, 0.4, 0.4}; +bar_right = { 0.4, 0.35,-0.4, 0.5, 0.4, 0.4}; +bar_back = { 0.4, 0.35, 0.4,-0.5, 0.4, 0.5}; +bar_front = { 0.5, 0.35,-0.5,-0.5, 0.4,-0.4}; + +bar_left_long = {-0.4, 0.35,-0.5,-0.5, 0.4, 0.5}; +bar_right_long = { 0.4, 0.35,-0.5, 0.5, 0.4, 0.5}; + +groundplate_small = {-0.4,-0.45,-0.5, 0.4,-0.4,0.5}; +groundplate_corner = {-0.5,-0.45,-0.5, 0.5,-0.4,0.5}; -- slightly larger + + +local STICK = "default:stick"; +local WOOD = "stairs:slab_wood"; +local BASIS = "bridges:bridge_basis"; +local RAIL = "bridges:handrail_middle"; +-- people who do not have vines have to replace "vines:vines" with something they do have and which they think might fit +local VINES = "vines:vines"; -- useful for ropes +local ALT = "default:leaves"; -- alternative for vines + + +local MAX_BRIDGE_LENGTH = 27; -- this is how far the automatic bridge can extend + + +local BRIDGE_PARTS = { + -- name, description, node definition, crafting receipe, additional information for yield of receipe + + -- the groundplate - essential for bridge building + { "bridge_basis", "groundplate of a bridge", { + groundplate_small, }, + { { VINES, VINES, VINES }, + { VINES, WOOD, VINES }, + { VINES, VINES, VINES } + }, " 2"}, -- yields 2 groundplates + -- the handrail is a basic part out of which bridges and handrails for staircases can be constructed + { "handrail_middle", "handrail for bridges and staircases", { + bar_front }, + { { "", "", "" }, + { "", BASIS, "" }, + { "", "", "" } + }, " 4"}, -- one groundplate yiels 4 handrails + + -- bridges + { "bridge_small", "small bridge", { -- TODO: slim legs? + leg_front_left, + leg_front_right, + leg_back_left, + leg_back_right, + bar_right, + bar_left, + groundplate_small, }, + { { STICK, "", STICK }, + { RAIL, BASIS, RAIL }, + { STICK, "", STICK } + }, "" }, + { "bridge_middle", "middle of a bridge", { + bar_right_long, + bar_left_long, + groundplate_small, }, + { { "", "", "" }, + { RAIL, BASIS, RAIL }, + { "", "", "" } + }, "" }, + { "bridge_corner", "corner of a bridge", { + leg_front_left, + leg_front_right, + leg_back_left, + leg_back_right, + bar_right, + bar_back, + groundplate_corner, }, + { { STICK, RAIL, STICK }, + { "", BASIS, RAIL }, + { STICK, "", STICK } + }, "" }, + { "bridge_t", "T junction of a bridge", { + leg_front_left, + leg_front_right, + leg_back_left, + leg_back_right, + bar_back, + groundplate_corner, }, + { { STICK, RAIL, STICK }, + { "", BASIS, "" }, + { STICK, "", STICK } + }, "" }, + { "bridge_end", "end of a bridge", { + leg_front_left, + leg_front_right, + leg_back_left, + leg_back_right, + bar_left, + bar_right, + bar_back, + groundplate_corner, }, + { { STICK, RAIL, STICK }, + { RAIL, BASIS, RAIL }, + { STICK, "", STICK } + }, "" }, + + -- handrails for the top of starcaises so that people won't fall down + { "handrail_top", "handrail for staircases, one side closed", { + leg_front_left, + leg_front_right, + bar_front, }, + { { "", "", "" }, + { "", "", "" }, + { STICK, RAIL, STICK } + }, "" }, + + + { "handrail_corner", "handrail for staircases, two sides closed", { + leg_front_left, + leg_front_right, + bar_front, + bar_left }, + { { STICK, "", "" }, + { RAIL, "", "" }, + { STICK, RAIL, STICK } + }, "" }, + + { "handrail_closed", "handrail for staircases, three sides closed", { + leg_front_left, + leg_front_right, + bar_front, + bar_right, + bar_left }, + { { STICK, RAIL, STICK }, + { RAIL, "", "" }, + { STICK, RAIL, STICK } + }, "" }, + } + + +for i in ipairs( BRIDGE_PARTS ) do + minetest.register_node("bridges:"..BRIDGE_PARTS[i][1], + { + description = BRIDGE_PARTS[i][2], + + tiles = { + bild_pfad, + bild_pfad, + bild_pfad_s1, + bild_pfad_s1, + bild_pfad_s2, + bild_pfad_s2, + }, + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = BRIDGE_PARTS[i][3], + }, + selection_box = { + type = "fixed", + fixed = {-0.5,-0.5,-0.5, 0.5, 0.5, 0.5}, + + }, + -- flammable so that it can be burned if no longer needed + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3}, + }); + + minetest.register_craft({ + output = "bridges:"..BRIDGE_PARTS[i][1]..BRIDGE_PARTS[i][5], + recipe = BRIDGE_PARTS[i][4], + }); +end + +-- alternate receipe for the bridge basis + minetest.register_craft({ + output = "bridges:bridge_basis 2", + recipe = { { ALT, ALT, ALT }, + { ALT, WOOD, ALT }, + { ALT, ALT, ALT }, + }, + }); + +-- a bridge with covers 3 nodes in size + + minetest.register_node("bridges:bridge_large", + { description = 'large bridge', + tiles = { + bild_pfad, + bild_pfad, + bild_pfad_s1, + bild_pfad_s1, + bild_pfad_s2, + bild_pfad_s2, + }, + drawtype = "nodebox", + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + -- the large bridge covers 3 nodes + {-0.5,-0.5,-0.7, -0.4,0.5,-0.6}, + { 0.4,-0.5,-0.7, 0.5,0.5,-0.6}, + + {-0.5, 0.35,-1.5, -0.4,0.4, 1.5}, + + {-0.5,-0.5, 0.6, -0.4,0.5, 0.7}, + { 0.4,-0.5, 0.6, 0.5,0.5, 0.7}, + + { 0.4, 0.35,-1.5, 0.5,0.4, 1.5}, + + {-0.4,-0.45,-1.5, 0.4,-0.4,1.5}, + + } + }, + selection_box = { + type = "fixed", + fixed = {-0.5,-0.5,-1.5, 0.5,0.5, 1.5}, + + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=2} + }) + + minetest.register_craft({ + output = "bridges:bridge_large", + recipe = { { "", "bridges:bridge_middle", "" }, + { "", "bridges:bridge_small", "" }, + { "", "bridges:bridge_middle", "" }, + } }); + + + + +-- special: self-building automatic bridge + +minetest.register_node("bridges:bridge_auto", { + + description = "self building bruidge", + tiles = { "default_chest_top.png" }, -- looks from all sides like the top of a chest + drawtype = "cube", + is_ground_content = true, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3}, + + drop = "", -- all leftover parts are in the "chest" + + on_construct = function(pos) + local meta = minetest.env:get_meta(pos); + meta:set_string("formspec", + "invsize[8,9;]".. + "list[current_name;main;0,0;8,4;]".. + "list[current_player;main;0,5;8,4;]") + meta:set_string("infotext", "Automatic bridge building set - leftover parts") + local inv = meta:get_inventory(); + inv:set_size("main", 8*4); + end, + + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory(); + return inv:is_empty("main"); + end, + + + after_place_node = function(pos, placer) + + local n; + local x_dir; + local z_dir; + local p; + local n; + + -- the bridge ought to unfold in the direction the player is looking + local dir = placer:get_look_dir(); + local fdir = minetest.dir_to_facedir(dir); + + -- the player is looking more in x- than in z-direction + if( math.abs( dir.x ) > math.abs( dir.z )) then + z_dir = 0; + if( dir.x > 0 ) then + x_dir = 1; + else + x_dir = -1; + end + else + x_dir = 0; + if( dir.z > 0 ) then + z_dir = 1; + else + z_dir = -1; + end + end + +-- print ("x_dir: "..tostring( x_dir ).." z_dir: "..tostring( z_dir )); + + -- we have determined the direction in which the bridge may extend - now lets look how far it can go + local i=1; + -- how many parts of the bridge remain? + local rem_small = math.floor(MAX_BRIDGE_LENGTH/3); + local rem_middle = MAX_BRIDGE_LENGTH-rem_small; + -- extend max. MAX_BRIDGE_LENGTH nodes wide and only if the node needs a bridge (i.e. consists of air) + while( i < MAX_BRIDGE_LENGTH ) do + + -- is there space for a bridge? + p = {x=pos.x+(x_dir*i), y=pos.y, z=pos.z+(z_dir*i)}; + n = minetest.env:get_node(p); + if( n == nil or n.name ~= "air" ) then + i = MAX_BRIDGE_LENGTH+1; -- end +-- print("At length "..tostring(i)..": node at target position not air; no place for bridge: "..tostring(n.name)); + else + -- one small bridge is followed by two middle parts + if( i%3 == 1 ) then + minetest.env:add_node(p, {name="bridges:bridge_small", param1=0, param2=fdir}); + rem_small = rem_small - 1; -- one small bridge used +-- print("Placing small bridge at dist "..tostring(i)); + else + minetest.env:add_node(p, {name="bridges:bridge_middle", param1=0, param2=fdir}); + rem_middle = rem_middle -1; -- one middle part used +-- print("Placing middle bridge at dist "..tostring(i)); + end + + i = i+1; + end + end + + + -- do we have to give any leftover parts back? + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory(); + + if( rem_small > 0 ) then + inv:add_item( "main", "bridges:bridge_small "..tostring( rem_small )); + end + + if( rem_middle > 0 ) then + inv:add_item( "main", "bridges:bridge_middle "..tostring( rem_middle )); + end + end, +}) + + + minetest.register_craft({ + output = "bridges:bridge_auto", + recipe = { { "bridges:bridge_large", "bridges:bridge_large", "bridges:bridge_large" }, + { "bridges:bridge_large", "bridges:bridge_large", "bridges:bridge_large" }, + { "bridges:bridge_large", "bridges:bridge_large", "bridges:bridge_large" }, + } }); diff --git a/mods/bucket/README.txt b/mods/bucket/README.txt new file mode 100644 index 0000000..7dad641 --- /dev/null +++ b/mods/bucket/README.txt @@ -0,0 +1,26 @@ +Minetest 0.4 mod: bucket +========================= + +License of source code: +----------------------- +Copyright (C) 2011-2012 Kahrl +Copyright (C) 2011-2012 celeron55, Perttu Ahola + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +http://www.gnu.org/licenses/lgpl-2.1.html + +License of media (textures and sounds) +-------------------------------------- +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +http://creativecommons.org/licenses/by-sa/3.0/ + +Authors of media files +----------------------- +Everything not listed in here: +Copyright (C) 2010-2012 celeron55, Perttu Ahola + + diff --git a/mods/bucket/depends.txt b/mods/bucket/depends.txt new file mode 100644 index 0000000..3a7daa1 --- /dev/null +++ b/mods/bucket/depends.txt @@ -0,0 +1,2 @@ +default + diff --git a/mods/bucket/init.lua b/mods/bucket/init.lua new file mode 100644 index 0000000..82949dd --- /dev/null +++ b/mods/bucket/init.lua @@ -0,0 +1,96 @@ +-- Minetest 0.4 mod: bucket +-- See README.txt for licensing and other information. + +minetest.register_alias("bucket", "bucket:bucket_empty") +minetest.register_alias("bucket_water", "bucket:bucket_water") +minetest.register_alias("bucket_lava", "bucket:bucket_lava") + +minetest.register_craft({ + output = 'bucket:bucket_empty 1', + recipe = { + {'default:steel_ingot', '', 'default:steel_ingot'}, + {'', 'default:steel_ingot', ''}, + } +}) + +bucket = {} +bucket.liquids = {} + +-- Register a new liquid +-- source = name of the source node +-- flowing = name of the flowing node +-- itemname = name of the new bucket item (or nil if liquid is not takeable) +-- inventory_image = texture of the new bucket item (ignored if itemname == nil) +-- This function can be called from any mod (that depends on bucket). +function bucket.register_liquid(source, flowing, itemname, inventory_image) + bucket.liquids[source] = { + source = source, + flowing = flowing, + itemname = itemname, + } + bucket.liquids[flowing] = bucket.liquids[source] + + if itemname ~= nil then + minetest.register_craftitem(itemname, { + inventory_image = inventory_image, + stack_max = 1, + liquids_pointable = true, + on_use = function(itemstack, user, pointed_thing) + -- Must be pointing to node + if pointed_thing.type ~= "node" then + return + end + -- Check if pointing to a liquid + n = minetest.env:get_node(pointed_thing.under) + if bucket.liquids[n.name] == nil then + -- Not a liquid + minetest.env:add_node(pointed_thing.above, {name=source}) + elseif n.name ~= source then + -- It's a liquid + minetest.env:add_node(pointed_thing.under, {name=source}) + end + return {name="bucket:bucket_empty"} + end + }) + end +end + +minetest.register_craftitem("bucket:bucket_empty", { + description = "Emtpy bucket", + inventory_image = "bucket.png", + stack_max = 1, + liquids_pointable = true, + on_use = function(itemstack, user, pointed_thing) + -- Must be pointing to node + if pointed_thing.type ~= "node" then + return + end + -- Check if pointing to a liquid source + n = minetest.env:get_node(pointed_thing.under) + liquiddef = bucket.liquids[n.name] + if liquiddef ~= nil and liquiddef.source == n.name and liquiddef.itemname ~= nil then + minetest.env:add_node(pointed_thing.under, {name="air"}) + return {name=liquiddef.itemname} + end + end, +}) + +bucket.register_liquid( + "default:water_source", + "default:water_flowing", + "bucket:bucket_water", + "bucket_water.png" +) + +bucket.register_liquid( + "default:lava_source", + "default:lava_flowing", + "bucket:bucket_lava", + "bucket_lava.png" +) + +minetest.register_craft({ + type = "fuel", + recipe = "bucket:bucket_lava", + burntime = 60, +}) diff --git a/mods/bucket/textures/bucket.png b/mods/bucket/textures/bucket.png new file mode 100644 index 0000000..f165fd2 Binary files /dev/null and b/mods/bucket/textures/bucket.png differ diff --git a/mods/bucket/textures/bucket_lava.png b/mods/bucket/textures/bucket_lava.png new file mode 100644 index 0000000..7cf27cd Binary files /dev/null and b/mods/bucket/textures/bucket_lava.png differ diff --git a/mods/bucket/textures/bucket_water.png b/mods/bucket/textures/bucket_water.png new file mode 100644 index 0000000..f220ec5 Binary files /dev/null and b/mods/bucket/textures/bucket_water.png differ diff --git a/mods/camouflage/default_dirt.png b/mods/camouflage/default_dirt.png new file mode 100644 index 0000000..7e324b0 Binary files /dev/null and b/mods/camouflage/default_dirt.png differ diff --git a/mods/camouflage/depends.txt b/mods/camouflage/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/camouflage/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/camouflage/init.lua b/mods/camouflage/init.lua new file mode 100644 index 0000000..4b8f82e --- /dev/null +++ b/mods/camouflage/init.lua @@ -0,0 +1,44 @@ +minetest.register_craft({ + output = "camouflage:camoblock", + recipe = { + {"default:leaves", "default:leaves"}, + {"default:leaves", "default:leaves"}, + } +}) +minetest.register_craft({ + output = "camouflage:camoladder 4", + recipe = { + {"default:ladder 4", "default:tree"}} +}) + +minetest.register_node("camouflage:camoblock", { + description = "Nonsolid Camoflage Block", + tiles = {"default_leaves.png"}, + drawtype = "glasslike", + walkable = false, + climbable = true, + paramtype = "light", + groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, flammable=2}, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_node("camouflage:camoladder", { + description = "Camoflaged Ladder", + drawtype = "signlike", + tiles ={"camo_ladder.png"}, + inventory_image = "camo_ladder.png", + wield_image = "camo_ladder.png", + paramtype = "light", + paramtype2 = "wallmounted", + is_ground_content = true, + walkable = false, + climbable = true, + selection_box = { + type = "wallmounted", + --wall_top = = + --wall_bottom = = + --wall_side = = + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=3}, + legacy_wallmounted = true, + sounds = default.node_sound_wood_defaults(), +}) diff --git a/mods/camouflage/textures/camo_ladder.png b/mods/camouflage/textures/camo_ladder.png new file mode 100644 index 0000000..f7f141f Binary files /dev/null and b/mods/camouflage/textures/camo_ladder.png differ diff --git a/mods/camouflage/textures/dirt.png b/mods/camouflage/textures/dirt.png new file mode 100644 index 0000000..5f2d817 Binary files /dev/null and b/mods/camouflage/textures/dirt.png differ diff --git a/mods/camouflage/textures/grass.png b/mods/camouflage/textures/grass.png new file mode 100644 index 0000000..3610bb2 Binary files /dev/null and b/mods/camouflage/textures/grass.png differ diff --git a/mods/camouflage/textures/grass_side.png b/mods/camouflage/textures/grass_side.png new file mode 100644 index 0000000..4f4f680 Binary files /dev/null and b/mods/camouflage/textures/grass_side.png differ diff --git a/mods/camouflage/textures/leaves.png b/mods/camouflage/textures/leaves.png new file mode 100644 index 0000000..ef7a3a9 Binary files /dev/null and b/mods/camouflage/textures/leaves.png differ diff --git a/mods/carts/README.txt b/mods/carts/README.txt new file mode 100644 index 0000000..c27290a --- /dev/null +++ b/mods/carts/README.txt @@ -0,0 +1,22 @@ +Minetest 0.4 mod: carts +======================= +by PilzAdam + +License of source code: +----------------------- +WTFPL + +License of media (textures, sounds and models): +----------------------------------------------- +CC-0 + +Authors of media files: +----------------------- +kddekadenz: + cart_bottom.png + cart_side.png + cart_top.png + +Zeg9: + cart.x + cart.png diff --git a/mods/carts/depends.txt b/mods/carts/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/carts/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/carts/functions.lua b/mods/carts/functions.lua new file mode 100644 index 0000000..8a7da47 --- /dev/null +++ b/mods/carts/functions.lua @@ -0,0 +1,56 @@ + +-- +-- Helper functions +-- + +cart_func = {} + +function cart_func:get_sign(z) + if z == 0 then + return 0 + else + return z/math.abs(z) + end +end + +-- Returns the velocity as a unit vector +-- The smaller part of the vector will be turned to 0 +function cart_func:velocity_to_dir(v) + if math.abs(v.x) > math.abs(v.z) then + return {x=cart_func:get_sign(v.x), y=cart_func:get_sign(v.y), z=0} + else + return {x=0, y=cart_func:get_sign(v.y), z=cart_func:get_sign(v.z)} + end +end + +function cart_func:is_rail(p) + local nn = minetest.env:get_node(p).name + return minetest.get_item_group(nn, "rail") ~= 0 +end + +function cart_func:is_int(z) + z = math.abs(z) + return math.abs(math.floor(z+0.5)-z) <= 0.1 +end + +cart_func.v3 = {} + +function cart_func.v3:add(v1, v2) + return {x=v1.x+v2.x, y=v1.y+v2.y, z=v1.z+v2.z} +end + +function cart_func.v3:copy(v) + return {x=v.x, y=v.y, z=v.z} +end + +function cart_func.v3:round(v) + return { + x = math.floor(v.x+0.5), + y = math.floor(v.y+0.5), + z = math.floor(v.z+0.5), + } +end + +function cart_func.v3:equal(v1, v2) + return v1.x == v2.x and v1.y == v2.y and v1.z == v2.z +end diff --git a/mods/carts/init.lua b/mods/carts/init.lua new file mode 100644 index 0000000..732534e --- /dev/null +++ b/mods/carts/init.lua @@ -0,0 +1,475 @@ + +dofile(minetest.get_modpath("carts").."/functions.lua") + +-- +-- Cart entity +-- + +local cart = { + physical = false, + collisionbox = {-0.5,-0.5,-0.5, 0.5,0.5,0.5}, + visual = "mesh", + mesh = "cart.x", + visual_size = {x=1, y=1}, + textures = {"cart.png"}, + + driver = nil, + velocity = {x=0, y=0, z=0}, + old_pos = nil, + old_velocity = nil, + MAX_V = 15, -- Limit of the velocity +} + +function cart: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}) + end +end + +function cart:on_activate(staticdata, dtime_s) + self.object:set_armor_groups({immortal=1}) + if staticdata then + local tmp = minetest.deserialize(staticdata) + if tmp then + self.velocity = tmp.velocity + end + end + self.old_pos = self.object:getpos() + self.old_velocity = self.velocity +end + +function cart:get_staticdata() + return minetest.serialize({ + velocity = self.velocity, + }) +end + +-- Remove the cart if holding a tool or accelerate it +function cart:on_punch(puncher, time_from_last_punch, tool_capabilities, direction) + if not puncher or not puncher:is_player() then + return + end + + if puncher:get_player_control().sneak then + self.object:remove() + puncher:get_inventory():add_item("main", "carts:cart") + return + end + + if puncher == self.driver then + return + end + + local d = cart_func:velocity_to_dir(direction) + local s = self.velocity + if time_from_last_punch > tool_capabilities.full_punch_interval then + time_from_last_punch = tool_capabilities.full_punch_interval + end + local f = 4*(time_from_last_punch/tool_capabilities.full_punch_interval) + local v = {x=s.x+d.x*f, y=s.y, z=s.z+d.z*f} + if math.abs(v.x) < 6 and math.abs(v.z) < 6 then + self.velocity = v + else + if math.abs(self.velocity.x) < 6 and math.abs(v.x) >= 6 then + self.velocity.x = 6*cart_func:get_sign(self.velocity.x) + end + if math.abs(self.velocity.z) < 6 and math.abs(v.z) >= 6 then + self.velocity.z = 6*cart_func:get_sign(self.velocity.z) + end + end +end + +-- Returns the direction as a unit vector +function cart:get_rail_direction(pos, dir) + local d = cart_func.v3:copy(dir) + + -- Check front + d.y = 0 + local p = cart_func.v3:add(cart_func.v3:copy(pos), d) + if cart_func:is_rail(p) then + return d + end + + -- Check downhill + d.y = -1 + p = cart_func.v3:add(cart_func.v3:copy(pos), d) + if cart_func:is_rail(p) then + return d + end + + -- Check uphill + d.y = 1 + p = cart_func.v3:add(cart_func.v3:copy(pos), d) + if cart_func:is_rail(p) then + return d + end + d.y = 0 + + -- Check left and right + local view_dir + local other_dir + local a + + if d.x == 0 and d.z ~= 0 then + view_dir = "z" + other_dir = "x" + if d.z < 0 then + a = {1, -1} + else + a = {-1, 1} + end + elseif d.z == 0 and d.x ~= 0 then + view_dir = "x" + other_dir = "z" + if d.x > 0 then + a = {1, -1} + else + a = {-1, 1} + end + else + return {x=0, y=0, z=0} + end + + d[view_dir] = 0 + d[other_dir] = a[1] + p = cart_func.v3:add(cart_func.v3:copy(pos), d) + if cart_func:is_rail(p) then + return d + end + d.y = -1 + p = cart_func.v3:add(cart_func.v3:copy(pos), d) + if cart_func:is_rail(p) then + return d + end + d.y = 0 + d[other_dir] = a[2] + p = cart_func.v3:add(cart_func.v3:copy(pos), d) + if cart_func:is_rail(p) then + return d + end + d.y = -1 + p = cart_func.v3:add(cart_func.v3:copy(pos), d) + if cart_func:is_rail(p) then + return d + end + d.y = 0 + + return {x=0, y=0, z=0} +end + +function cart:calc_rail_direction(pos, vel) + local velocity = cart_func.v3:copy(vel) + local p = cart_func.v3:copy(pos) + if cart_func:is_int(p.x) and cart_func:is_int(p.z) then + + local dir = cart_func:velocity_to_dir(velocity) + local dir_old = cart_func.v3:copy(dir) + + dir = self:get_rail_direction(cart_func.v3:round(p), dir) + + local v = math.max(math.abs(velocity.x), math.abs(velocity.z)) + velocity = { + x = v * dir.x, + y = v * dir.y, + z = v * dir.z, + } + + if cart_func.v3:equal(velocity, {x=0, y=0, z=0}) then + + -- First try this HACK + -- Move the cart on the rail if above or under it + if cart_func:is_rail(cart_func.v3:add(p, {x=0, y=1, z=0})) and vel.y >= 0 then + p = cart_func.v3:add(p, {x=0, y=1, z=0}) + return self:calc_rail_direction(p, vel) + end + if cart_func:is_rail(cart_func.v3:add(p, {x=0, y=-1, z=0})) and vel.y <= 0 then + p = cart_func.v3:add(p, {x=0, y=-1, z=0}) + return self:calc_rail_direction(p, vel) + end + -- Now the HACK gets really dirty + if cart_func:is_rail(cart_func.v3:add(p, {x=0, y=2, z=0})) and vel.y >= 0 then + p = cart_func.v3:add(p, {x=0, y=1, z=0}) + return self:calc_rail_direction(p, vel) + end + if cart_func:is_rail(cart_func.v3:add(p, {x=0, y=-2, z=0})) and vel.y <= 0 then + p = cart_func.v3:add(p, {x=0, y=-1, z=0}) + return self:calc_rail_direction(p, vel) + end + + return {x=0, y=0, z=0}, p + end + + if not cart_func.v3:equal(dir, dir_old) then + return velocity, cart_func.v3:round(p) + end + + end + return velocity, p +end + +function cart:on_step(dtime) + + local pos = self.object:getpos() + local dir = cart_func:velocity_to_dir(self.velocity) + + -- Stop the cart if the velocity is nearly 0 + -- Only if on a flat railway + if dir.y == 0 then + if math.abs(self.velocity.x) < 0.1 and math.abs(self.velocity.z) < 0.1 then + self.velocity = {x=0, y=0, z=0} + self.object:setvelocity(self.velocity) + self.old_velocity = self.velocity + self.old_pos = self.object:getpos() + return + end + end + + -- + -- Set the new moving direction + -- + + -- Recalcualte the rails that are passed since the last server step + local old_dir = cart_func:velocity_to_dir(self.old_velocity) + if old_dir.x ~= 0 then + local sign = cart_func:get_sign(pos.x-self.old_pos.x) + while true do + if sign ~= cart_func:get_sign(pos.x-self.old_pos.x) or pos.x == self.old_pos.x then + break + end + self.old_pos.x = self.old_pos.x + cart_func:get_sign(pos.x-self.old_pos.x)*0.1 + self.old_pos.y = self.old_pos.y + cart_func:get_sign(pos.x-self.old_pos.x)*0.1*old_dir.y + self.old_velocity, self.old_pos = self:calc_rail_direction(self.old_pos, self.old_velocity) + old_dir = cart_func:velocity_to_dir(self.old_velocity) + if not cart_func.v3:equal(cart_func:velocity_to_dir(self.old_velocity), dir) then + self.velocity = self.old_velocity + pos = self.old_pos + self.object:setpos(self.old_pos) + break + end + end + elseif old_dir.z ~= 0 then + local sign = cart_func:get_sign(pos.z-self.old_pos.z) + while true do + if sign ~= cart_func:get_sign(pos.z-self.old_pos.z) or pos.z == self.old_pos.z then + break + end + self.old_pos.z = self.old_pos.z + cart_func:get_sign(pos.z-self.old_pos.z)*0.1 + self.old_pos.y = self.old_pos.y + cart_func:get_sign(pos.z-self.old_pos.z)*0.1*old_dir.y + self.old_velocity, self.old_pos = self:calc_rail_direction(self.old_pos, self.old_velocity) + old_dir = cart_func:velocity_to_dir(self.old_velocity) + if not cart_func.v3:equal(cart_func:velocity_to_dir(self.old_velocity), dir) then + self.velocity = self.old_velocity + pos = self.old_pos + self.object:setpos(self.old_pos) + break + end + end + end + + -- Calculate the new step + self.velocity, pos = self:calc_rail_direction(pos, self.velocity) + self.object:setpos(pos) + dir = cart_func:velocity_to_dir(self.velocity) + + -- Accelerate or decelerate the cart according to the pitch and acceleration of the rail node + local a = tonumber(minetest.env:get_meta(pos):get_string("cart_acceleration")) + if not a then + a = 0 + end + if self.velocity.y < 0 then + self.velocity = { + x = self.velocity.x + (a+0.13)*cart_func:get_sign(self.velocity.x), + y = self.velocity.y + (a+0.13)*cart_func:get_sign(self.velocity.y), + z = self.velocity.z + (a+0.13)*cart_func:get_sign(self.velocity.z), + } + elseif self.velocity.y > 0 then + self.velocity = { + x = self.velocity.x + (a-0.1)*cart_func:get_sign(self.velocity.x), + y = self.velocity.y + (a-0.1)*cart_func:get_sign(self.velocity.y), + z = self.velocity.z + (a-0.1)*cart_func:get_sign(self.velocity.z), + } + else + self.velocity = { + x = self.velocity.x + (a-0.03)*cart_func:get_sign(self.velocity.x), + y = self.velocity.y + (a-0.03)*cart_func:get_sign(self.velocity.y), + z = self.velocity.z + (a-0.03)*cart_func:get_sign(self.velocity.z), + } + + -- Place the cart exactly on top of the rail + if cart_func:is_rail(cart_func.v3:round(pos)) then + self.object:setpos({x=pos.x, y=math.floor(pos.y+0.5), z=pos.z}) + pos = self.object:getpos() + end + end + + -- Dont switch moving direction + -- Only if on flat railway + if dir.y == 0 then + if cart_func:get_sign(dir.x) ~= cart_func:get_sign(self.velocity.x) then + self.velocity.x = 0 + end + if cart_func:get_sign(dir.y) ~= cart_func:get_sign(self.velocity.y) then + self.velocity.y = 0 + end + if cart_func:get_sign(dir.z) ~= cart_func:get_sign(self.velocity.z) then + self.velocity.z = 0 + end + end + + -- Allow only one moving direction (multiply the other one with 0) + dir = cart_func:velocity_to_dir(self.velocity) + self.velocity = { + x = math.abs(self.velocity.x) * dir.x, + y = self.velocity.y, + z = math.abs(self.velocity.z) * dir.z, + } + + -- Move cart exactly on the rail + if dir.x ~= 0 and not cart_func:is_int(pos.z) then + pos.z = math.floor(0.5+pos.z) + self.object:setpos(pos) + elseif dir.z ~= 0 and not cart_func:is_int(pos.x) then + pos.x = math.floor(0.5+pos.x) + self.object:setpos(pos) + end + + -- Limit the velocity + if math.abs(self.velocity.x) > self.MAX_V then + self.velocity.x = self.MAX_V*cart_func:get_sign(self.velocity.x) + end + if math.abs(self.velocity.y) > self.MAX_V then + self.velocity.y = self.MAX_V*cart_func:get_sign(self.velocity.y) + end + if math.abs(self.velocity.z) > self.MAX_V then + self.velocity.z = self.MAX_V*cart_func:get_sign(self.velocity.z) + end + + self.object:setvelocity(self.velocity) + + self.old_pos = self.object:getpos() + self.old_velocity = cart_func.v3:copy(self.velocity) + + if dir.x < 0 then + self.object:setyaw(math.pi/2) + elseif dir.x > 0 then + self.object:setyaw(3*math.pi/2) + elseif dir.z < 0 then + self.object:setyaw(math.pi) + elseif dir.z > 0 then + self.object:setyaw(0) + end + + if dir.y == -1 then + self.object:set_animation({x=1, y=1}, 1, 0) + elseif dir.y == 1 then + self.object:set_animation({x=2, y=2}, 1, 0) + else + self.object:set_animation({x=0, y=0}, 1, 0) + end + +end + +minetest.register_entity("carts:cart", cart) + + +minetest.register_craftitem("carts:cart", { + description = "Minecart", + inventory_image = minetest.inventorycube("cart_top.png", "cart_side.png", "cart_side.png"), + wield_image = "cart_side.png", + + on_place = function(itemstack, placer, pointed_thing) + if not pointed_thing.type == "node" then + return + end + if cart_func:is_rail(pointed_thing.under) then + minetest.env:add_entity(pointed_thing.under, "carts:cart") + itemstack:take_item() + return itemstack + elseif cart_func:is_rail(pointed_thing.above) then + minetest.env:add_entity(pointed_thing.above, "carts:cart") + itemstack:take_item() + return itemstack + end + end, +}) + +minetest.register_craft({ + output = "carts:cart", + recipe = { + {"", "", ""}, + {"default:steel_ingot", "", "default:steel_ingot"}, + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, + }, +}) + +-- +-- Mesecon support +-- + +minetest.register_node(":default:rail", { + description = "Rail", + drawtype = "raillike", + tiles = {"default_rail.png", "default_rail_curved.png", "default_rail_t_junction.png", "default_rail_crossing.png"}, + inventory_image = "default_rail.png", + wield_image = "default_rail.png", + paramtype = "light", + is_ground_content = true, + walkable = false, + selection_box = { + type = "fixed", + -- but how to specify the dimensions for curved and sideways rails? + fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2}, + }, + groups = {bendy=2,snappy=1,dig_immediate=2,attached_node=1,rail=1}, + + mesecons = { + effector = { + action_on = function(pos, node) + minetest.env:get_meta(pos):set_string("cart_acceleration", "0.5") + -- Start the cart + for _,obj in ipairs(minetest.env:get_objects_inside_radius(pos, 1)) do + if obj:get_luaentity() and obj:get_luaentity().name == "carts:cart" then + local self = obj:get_luaentity() + if cart_func.v3:equal(self.velocity, {x=0, y=0, z=0}) then + for _,y in ipairs({0,-1,1}) do + for _,z in ipairs({1,-1}) do + if cart_func.v3:equal(self:get_rail_direction(obj:getpos(), {x=0, y=y, z=z}), {x=0, y=y, z=z}) then + self.velocity = { + x = 0, + y = 0.2*y, + z = 0.2*z, + } + self.old_velocity = self.velocity + return + end + end + for _,x in ipairs({1,-1}) do + if cart_func.v3:equal(self:get_rail_direction(obj:getpos(), {x=x, y=y, z=0}), {x=x, y=y, z=0}) then + self.velocity = { + x = 0.2*x, + y = 0.2*y, + z = 0, + } + self.old_velocity = self.velocity + return + end + end + end + end + end + end + end, + + action_off = function(pos, node) + minetest.env:get_meta(pos):set_string("cart_acceleration", "0") + end, + }, + }, +}) diff --git a/mods/carts/models/cart.png b/mods/carts/models/cart.png new file mode 100644 index 0000000..1f9f568 Binary files /dev/null and b/mods/carts/models/cart.png differ diff --git a/mods/carts/models/cart.x b/mods/carts/models/cart.x new file mode 100644 index 0000000..3325aaf --- /dev/null +++ b/mods/carts/models/cart.x @@ -0,0 +1,339 @@ +xof 0303txt 0032 + +Frame Root { + FrameTransformMatrix { + 1.000000, 0.000000, 0.000000, 0.000000, + 0.000000, 0.000000, 1.000000, 0.000000, + 0.000000, 1.000000,-0.000000, 0.000000, + 0.000000, 0.000000, 0.000000, 1.000000;; + } + Frame Cube { + FrameTransformMatrix { + 5.000000, 0.000000,-0.000000, 0.000000, + -0.000000, 3.535534, 3.535534, 0.000000, + 0.000000,-3.535534, 3.535534, 0.000000, + 0.000000,-3.000000, 3.000000, 1.000000;; + } + Mesh { //Cube_001 Mesh + 72; + -1.000000; 1.000000;-1.000000;, + -1.000000;-1.000000;-1.000000;, + 1.000000;-1.000000;-1.000000;, + 1.000000; 1.000000;-1.000000;, + -0.833334;-1.000000; 1.000000;, + -1.000000;-1.000000; 1.000000;, + -1.000000;-0.833333; 1.000000;, + -0.833334;-0.833333; 1.000000;, + -1.000000;-1.000000;-1.000000;, + -1.000000;-1.000000; 1.000000;, + 0.999999;-1.000001; 1.000000;, + 1.000000;-1.000000;-1.000000;, + 0.999999;-1.000001; 1.000000;, + 0.833332;-1.000000; 1.000000;, + 0.833333;-0.833334; 1.000000;, + 1.000000;-0.833334; 1.000000;, + 0.833332;-1.000000; 1.000000;, + -0.833334;-1.000000; 1.000000;, + -0.833334;-0.833333; 1.000000;, + 0.833333;-0.833334; 1.000000;, + 1.000000; 0.833333; 1.000000;, + 0.833334; 0.833333; 1.000000;, + 0.833334; 1.000000; 1.000000;, + 1.000000; 0.999999; 1.000000;, + 1.000000;-0.833334; 1.000000;, + 0.833333;-0.833334; 1.000000;, + 0.833334; 0.833333; 1.000000;, + 1.000000; 0.833333; 1.000000;, + 0.833334; 0.833333; 1.000000;, + -0.833333; 0.833333; 1.000000;, + -0.833333; 1.000000; 1.000000;, + 0.833334; 1.000000; 1.000000;, + 0.833334; 0.833333;-0.800000;, + -0.833333; 0.833333;-0.800000;, + -0.833333; 0.833333; 1.000000;, + 0.833334; 0.833333; 1.000000;, + -0.833333; 0.833333; 1.000000;, + -1.000000; 0.833333; 1.000000;, + -1.000000; 1.000000; 1.000000;, + -0.833333; 1.000000; 1.000000;, + -0.833334;-0.833333; 1.000000;, + -1.000000;-0.833333; 1.000000;, + -1.000000; 0.833333; 1.000000;, + -0.833333; 0.833333; 1.000000;, + 0.833333;-0.833334;-0.800000;, + -0.833334;-0.833333;-0.800000;, + -0.833333; 0.833333;-0.800000;, + 0.833334; 0.833333;-0.800000;, + -0.833333; 0.833333;-0.800000;, + -0.833334;-0.833333;-0.800000;, + -0.833334;-0.833333; 1.000000;, + -0.833333; 0.833333; 1.000000;, + -0.833334;-0.833333;-0.800000;, + 0.833333;-0.833334;-0.800000;, + 0.833333;-0.833334; 1.000000;, + -0.833334;-0.833333; 1.000000;, + 0.833333;-0.833334;-0.800000;, + 0.833334; 0.833333;-0.800000;, + 0.833334; 0.833333; 1.000000;, + 0.833333;-0.833334; 1.000000;, + -1.000000; 1.000000;-1.000000;, + -1.000000; 1.000000; 1.000000;, + -1.000000;-1.000000; 1.000000;, + -1.000000;-1.000000;-1.000000;, + -1.000000; 1.000000; 1.000000;, + -1.000000; 1.000000;-1.000000;, + 1.000000; 1.000000;-1.000000;, + 1.000000; 0.999999; 1.000000;, + 1.000000;-1.000000;-1.000000;, + 0.999999;-1.000001; 1.000000;, + 1.000000; 0.999999; 1.000000;, + 1.000000; 1.000000;-1.000000;; + 18; + 4;0;1;2;3;, + 4;4;5;6;7;, + 4;8;9;10;11;, + 4;12;13;14;15;, + 4;16;17;18;19;, + 4;20;21;22;23;, + 4;24;25;26;27;, + 4;28;29;30;31;, + 4;32;33;34;35;, + 4;36;37;38;39;, + 4;40;41;42;43;, + 4;44;45;46;47;, + 4;48;49;50;51;, + 4;52;53;54;55;, + 4;56;57;58;59;, + 4;60;61;62;63;, + 4;64;65;66;67;, + 4;68;69;70;71;; + MeshNormals { //Cube_001 Normals + 72; + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + -0.000000;-1.000000;-0.000000;, + -0.000000;-1.000000;-0.000000;, + -0.000000;-1.000000;-0.000000;, + -0.000000;-1.000000;-0.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;; + 18; + 4;0;1;2;3;, + 4;4;5;6;7;, + 4;8;9;10;11;, + 4;12;13;14;15;, + 4;16;17;18;19;, + 4;20;21;22;23;, + 4;24;25;26;27;, + 4;28;29;30;31;, + 4;32;33;34;35;, + 4;36;37;38;39;, + 4;40;41;42;43;, + 4;44;45;46;47;, + 4;48;49;50;51;, + 4;52;53;54;55;, + 4;56;57;58;59;, + 4;60;61;62;63;, + 4;64;65;66;67;, + 4;68;69;70;71;; + } //End of Cube_001 Normals + MeshMaterialList { //Cube_001 Material List + 1; + 18; + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0;; + Material Material { + 0.640000; 0.640000; 0.640000; 1.000000;; + 96.078431; + 0.500000; 0.500000; 0.500000;; + 0.000000; 0.000000; 0.000000;; + TextureFilename {"cart.png";} + } + } //End of Cube_001 Material List + MeshTextureCoords { //Cube_001 UV Coordinates + 72; + 0.000000; 0.500000;, + 0.500000; 0.500000;, + 0.500000; 1.000000;, + 0.000000; 1.000000;, + 0.031250; 0.500000;, + -0.000000; 0.500000;, + -0.000000; 0.468750;, + 0.031250; 0.468750;, + 0.500000; 0.500000;, + 0.500000; 0.000000;, + 1.000000; 0.000000;, + 1.000000; 0.500000;, + 0.468750; 0.468750;, + 0.500000; 0.468750;, + 0.500000; 0.500000;, + 0.468750; 0.500000;, + 0.031250; 0.468750;, + 0.468750; 0.468750;, + 0.468750; 0.500000;, + 0.031250; 0.500000;, + 0.468750; 0.000000;, + 0.500000; 0.000000;, + 0.500000; 0.031250;, + 0.468750; 0.031250;, + 0.468750; 0.031250;, + 0.500000; 0.031250;, + 0.500000; 0.468750;, + 0.468750; 0.468750;, + 0.468750; 0.031250;, + 0.031250; 0.031250;, + 0.031250; 0.000000;, + 0.468750; 0.000000;, + 1.000000; 0.500000;, + 0.500000; 0.500000;, + 0.500000; 0.000000;, + 1.000000; 0.000000;, + 0.031250; 0.031250;, + 0.000000; 0.031250;, + 0.000000; 0.000000;, + 0.031250; 0.000000;, + 0.031250; 0.468750;, + -0.000000; 0.468750;, + 0.000000; 0.031250;, + 0.031250; 0.031250;, + 0.000000; 0.500000;, + 0.500000; 0.500000;, + 0.500000; 1.000000;, + 0.000000; 1.000000;, + 1.000000; 0.500000;, + 0.500000; 0.500000;, + 0.500000; 0.000000;, + 1.000000; 0.000000;, + 1.000000; 0.500000;, + 0.500000; 0.500000;, + 0.500000; 0.000000;, + 1.000000; 0.000000;, + 1.000000; 0.500000;, + 0.500000; 0.500000;, + 0.500000; 0.000000;, + 1.000000; 0.000000;, + 0.500000; 0.500000;, + 0.500000; 0.000000;, + 1.000000; 0.000000;, + 1.000000; 0.500000;, + 1.000000; 0.000000;, + 1.000000; 0.500000;, + 0.500000; 0.500000;, + 0.500000; 0.000000;, + 0.500000; 0.500000;, + 0.500000; 0.000000;, + 1.000000; 0.000000;, + 1.000000; 0.500000;; + } //End of Cube_001 UV Coordinates + } //End of Cube_001 Mesh + } //End of Cube +} //End of Root Frame +AnimationSet { + Animation { + {Cube} + AnimationKey { //Position + 2; + 4; + 0;3; 0.000000, 0.000000, 0.000000;;, + 1;3; 0.000000, 3.000000, 3.000000;;, + 2;3; 0.000000,-3.000000, 3.000000;;, + 3;3; 0.000000,-3.000000, 3.000000;;; + } + AnimationKey { //Rotation + 0; + 4; + 0;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 1;4; -0.923880,-0.382683,-0.000000, 0.000000;;, + 2;4; -0.923880, 0.382683, 0.000000, 0.000000;;, + 3;4; -0.923880, 0.382683, 0.000000, 0.000000;;; + } + AnimationKey { //Scale + 1; + 4; + 0;3; 5.000000, 5.000000, 5.000000;;, + 1;3; 5.000000, 5.000000, 5.000000;;, + 2;3; 5.000000, 5.000000, 5.000000;;, + 3;3; 5.000000, 5.000000, 5.000000;;; + } + } +} //End of AnimationSet diff --git a/mods/carts/textures/cart_bottom.png b/mods/carts/textures/cart_bottom.png new file mode 100644 index 0000000..f84b1ae Binary files /dev/null and b/mods/carts/textures/cart_bottom.png differ diff --git a/mods/carts/textures/cart_side.png b/mods/carts/textures/cart_side.png new file mode 100644 index 0000000..79f6c32 Binary files /dev/null and b/mods/carts/textures/cart_side.png differ diff --git a/mods/carts/textures/cart_top.png b/mods/carts/textures/cart_top.png new file mode 100644 index 0000000..8140fc7 Binary files /dev/null and b/mods/carts/textures/cart_top.png differ diff --git a/mods/conifers/c1.jpg b/mods/conifers/c1.jpg new file mode 100644 index 0000000..64136cb Binary files /dev/null and b/mods/conifers/c1.jpg differ diff --git a/mods/conifers/c2.jpg b/mods/conifers/c2.jpg new file mode 100644 index 0000000..5b1defa Binary files /dev/null and b/mods/conifers/c2.jpg differ diff --git a/mods/conifers/c3.jpg b/mods/conifers/c3.jpg new file mode 100644 index 0000000..8f84d82 Binary files /dev/null and b/mods/conifers/c3.jpg differ diff --git a/mods/conifers/depends.txt b/mods/conifers/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/conifers/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/conifers/init.lua b/mods/conifers/init.lua new file mode 100644 index 0000000..858ccca --- /dev/null +++ b/mods/conifers/init.lua @@ -0,0 +1,524 @@ +-------------------------------------------------------------------------------- +-- +-- CONIFERS MOD 0.3 +-- For Minetest-c55 +-- Created by Cisoun (cysoun[at]gmail.com). +-- +-- This mod adds some conifers randomly at a certain altitude. +-- There are two types of conifers: regular and narrow. +-- You can define the altitude at which they spawn and their structure and +-- choose if you want to keep normal trees above this altitude. +-- +-------------------------------------------------------------------------------- + +-- Structure definitions. + +local TRUNK_MINHEIGHT = 7 +local TRUNK_MAXHEIGHT = 25 + +local LEAVES_MINHEIGHT = 2 +local LEAVES_MAXHEIGHT = 6 +local LEAVES_MAXRADIUS = 5 +local LEAVES_NARROWRADIUS = 3 -- For narrow typed conifers. + +local CONIFERS_DISTANCE = 4 +local CONIFERS_ALTITUDE = 30 + +local REMOVE_TREES = false -- Remove trees above CONIFERS_ALTITUDE? + +local SAPLING_CHANCE = 100 -- 1/x chances to grow a sapling. + +local INTERVAL = 1800 + +-- End of structure definitions. + + + +conifers = {} + + + +-------------------------------------------------------------------------------- +-- +-- Definitions +-- +-------------------------------------------------------------------------------- + +-- +-- Node definitions +-- +minetest.register_node("conifers:trunk", { + description = "Conifer trunk", + tile_images = { + "conifers_trunktop.png", + "conifers_trunktop.png", + "conifers_trunk.png", + "conifers_trunk.png", + "conifers_trunk.png", + "conifers_trunk.png" + }, + --inventory_image = minetest.inventorycube( + --"conifers_trunktop.png", + --"conifers_trunk.png", + --"conifers_trunk.png" + --), + paramtype = "facedir_simple", + material = minetest.digprop_woodlike(1.0), + is_ground_content = true, + groups = { + tree = 1, + snappy = 2, + choppy = 2, + oddly_breakable_by_hand = 1, + flammable = 2 + }, + sounds = default.node_sound_wood_defaults() +}) + +minetest.register_node("conifers:trunk_reversed", { + description = "Conifer reversed trunk", + tile_images = { + "conifers_trunk_reversed.png", + "conifers_trunk_reversed.png", + "conifers_trunktop.png", + "conifers_trunktop.png", + "conifers_trunk_reversed.png", + "conifers_trunk_reversed.png" + }, + --inventory_image = minetest.inventorycube( + --"conifers_trunk.png", + --"conifers_trunktop.png", + --"conifers_trunk.png" + --), + paramtype = "facedir_simple", + material = minetest.digprop_woodlike(1.0), + legacy_facedir_simple = true, + is_ground_content = true, + groups = { + tree = 1, + snappy = 2, + choppy = 2, + oddly_breakable_by_hand = 1, + flammable = 2 + }, + sounds = default.node_sound_wood_defaults() +}) + +minetest.register_node("conifers:leaves", { + description = "Conifer leaves", + drawtype = "allfaces_optional", + visual_scale = 1.3, + tile_images = { "conifers_leaves.png" }, + --inventory_image = "conifers_leaves.png", + paramtype = "light", + groups = { + snappy = 3, + leafdecay = 3, + flammable = 2 + }, + drop = { + max_items = 1, + items = { + { + -- player will get sapling with 1/20 chance + items = {'conifers:sapling'}, + rarity = 20, + }, + { + -- player will get leaves only if he get no saplings, + -- this is because max_items is 1 + items = {'conifers:leaves'}, + } + } + }, + sounds = default.node_sound_leaves_defaults() +}) + +minetest.register_node("conifers:leaves_special", { + description = "Bright conifer leaves", + drawtype = "allfaces_optional", + visual_scale = 1.3, + tile_images = { "conifers_leaves_special.png" }, + --inventory_image = "conifers_leaves_special.png", + paramtype = "light", + groups = { + snappy = 3, + leafdecay = 3, + flammable = 2 + }, + drop = { + max_items = 1, + items = { + { + -- player will get sapling with 1/20 chance + items = {'conifers:sapling'}, + rarity = 20, + }, + { + -- player will get leaves only if he get no saplings, + -- this is because max_items is 1 + items = {'conifers:leaves'}, + } + } + }, + sounds = default.node_sound_leaves_defaults() +}) + +minetest.register_node("conifers:sapling", { + description = "Conifer sapling", + drawtype = "plantlike", + visual_scale = 1.0, + tile_images = {"conifers_sapling.png"}, + inventory_image = "conifers_sapling.png", + wield_image = "conifers_sapling.png", + paramtype = "light", + walkable = false, + groups = { + snappy = 2, + dig_immediate = 3, + flammable = 2 + }, + sounds = default.node_sound_defaults(), +}) + + + +-- +-- Craft definitions +-- +minetest.register_craft({ + output = 'node "conifers:trunk_reversed" 2', + recipe = { + {'node "conifers:trunk"', 'node "conifers:trunk"'}, + } +}) + +minetest.register_craft({ + output = 'node "conifers:trunk" 2', + recipe = { + {'node "conifers:trunk_reversed"'}, + {'node "conifers:trunk_reversed"'} + } +}) + +minetest.register_craft({ + output = 'default:wood 4', + recipe = { + {'conifers:trunk'} + } +}) + +minetest.register_craft({ + output = 'default:wood 4', + recipe = { + {'conifers:trunk_reversed'} + } +}) + + +-- +-- ABM definitions +-- +-- Spawn random conifers. +minetest.register_abm({ + nodenames = "default:dirt_with_grass", + interval = INTERVAL, + chance = 1, + + action = function(pos, node, _, _) + if minetest.env:get_node({x = pos.x, y = pos.y + 1, z = pos.z}).name == "air" + and pos.y >= CONIFERS_ALTITUDE + and conifers:is_node_in_cube({"conifers:trunk"}, pos, CONIFERS_DISTANCE) == false + then + if math.random(0,1000) == 5 then + conifers:make_conifer({x = pos.x, y = pos.y + 1, z = pos.z}, math.random(0, 1)) + end + end + end +}) + +-- Saplings. +minetest.register_abm({ + nodenames = "conifers:sapling", + interval = INTERVAL, + chance = SAPLING_CHANCE, + + action = function(pos, node, _, _) + if minetest.env:get_node({x = pos.x, y = pos.y + 1, z = pos.z}).name == "air" then + conifers:make_conifer({x = pos.x, y = pos.y, z = pos.z}, math.random(0, 1)) + end + end +}) + +-- Should we remove all the trees above the conifers altitude? +if REMOVE_TREES == true then + minetest.register_abm({ + nodenames = { + "default:tree", + "default:leaves" + }, + interval = INTERVAL/100, + chance = 1, + + action = function(pos, node, _, _) + if minetest.env:get_node({x = pos.x, y = pos.y + 1, z = pos.z}).name == "air" + and pos.y >= CONIFERS_ALTITUDE + then + minetest.env:add_node(pos , {name = "air"}) + end + end + }) +end + + + +-------------------------------------------------------------------------------- +-- +-- Functions +-- +-------------------------------------------------------------------------------- + +-- +-- table_contains(t, v) +-- +-- Taken from the Flowers mod by erlehmann. +-- +function conifers:table_contains(t, v) + for _, i in ipairs(t) do + if (i == v) then + return true + end + end + return false +end + +-- +-- is_node_in_cube(nodenames, node_pos, radius) +-- +-- Taken from the Flowers mod by erlehmann. +-- +function conifers:is_node_in_cube(nodenames, node_pos, radius) + for x = node_pos.x - radius, node_pos.x + radius do + for y = node_pos.y - math.floor(radius / 2), node_pos.y + math.floor(radius / 2) do + for z = node_pos.z - radius, node_pos.z + radius do + n = minetest.env:get_node_or_nil({x = x, y = y, z = z}) + if (n == nil) + or (n.name == 'ignore') + or (conifers:table_contains(nodenames, n.name) == true) then + return true + end + end + end + end + return false +end + +-- +-- are_leaves_surrounded(position) +-- +-- Return a boolean value set to 'true' if a leaves block is surrounded +-- by something else than +-- - air +-- - leaves +-- - special leaves +-- +-- If a leaves block is surrounded by the blocks above, +-- it can be placed. +-- Otherwise, it will replace blocks we want to keep. +-- +function conifers:are_leaves_surrounded(pos) + -- + -- Check if a leaves block does not interfer with something else than the air or another leaves block. + -- + local node1 = minetest.env:get_node({x = pos.x + 1, y = pos.y, z = pos.z}).name + local node2 = minetest.env:get_node({x = pos.x - 1, y = pos.y, z = pos.z}).name + local node3 = minetest.env:get_node({x = pos.x, y = pos.y, z = pos.z + 1}).name + local node4 = minetest.env:get_node({x = pos.x, y = pos.y, z = pos.z - 1}).name + local replacable_nodes = { + "air", + "conifers:leaves", + "conifers:leaves_special" + } + + -- Let's check if the neighboring node is a replacable node. + if (conifers:table_contains(replacable_nodes, node1) == true) + and (conifers:table_contains(replacable_nodes, node2) == true) + and (conifers:table_contains(replacable_nodes, node3) == true) + and (conifers:table_contains(replacable_nodes, node4) == true) + then + return false + else + return true + end +end + +-- +-- add_leaves_block(position, type of leaves, near trunk?) +-- +-- Put a simple leaves block. +-- Leaves must be positioned near a trunk or surrounded by air. +-- Types of leaves are: +-- 0: dark leaves +-- 1: bright leaves (special) +-- +function conifers:add_leaves_block(pos, special, near_trunk) + if conifers:are_leaves_surrounded(pos) == false or near_trunk == true then + if special == 0 then + minetest.env:add_node(pos , { name = "conifers:leaves" }) + else + minetest.env:add_node(pos , { name = "conifers:leaves_special" }) + end + end +end + +-- +-- make_leaves(middle point, min radius, max radius, type of leaves) +-- +-- Make a circle of leaves with a center given by 'middle point'. +-- Types of leaves are: +-- 0: dark leaves +-- 1: bright leaves (special) +-- +function conifers:make_leaves(c, radius_min, radius_max, special) + -- + -- Using the midpoint circle algorithm from Bresenham we can trace a circle of leaves. + -- + for r = radius_min, radius_max do + local m_x = 0 + local m_z = r + local m_m = 5 - 4 * r + while m_x <= m_z do + if radius_max > 1 then + if r == 1 then + -- Add a square of leaves (fixing holes near the trunk). + -- [ ] [ ] + -- [#] + -- [ ] [ ] + conifers:add_leaves_block({x = -1 + c.x, y = c.y, z = 1 + c.z}, special) + conifers:add_leaves_block({x = 1 + c.x, y = c.y, z = 1 + c.z}, special) + conifers:add_leaves_block({x = -1 + c.x, y = c.y, z = -1 + c.z}, special) + conifers:add_leaves_block({x = 1 + c.x, y = c.y, z = -1 + c.z}, special) + -- [ ] + -- [ ][#][ ] + -- [ ] + conifers:add_leaves_block({x = c.x, y = c.y, z = -1 + c.z}, special, true) + conifers:add_leaves_block({x = c.x, y = c.y, z = 1 + c.z}, special, true) + conifers:add_leaves_block({x = -1 + c.x, y = c.y, z = c.z}, special, true) + conifers:add_leaves_block({x = 1 + c.x, y = c.y, z = c.z}, special, true) + else + conifers:add_leaves_block({x = m_x + c.x, y = c.y, z = m_z + c.z}, special) + conifers:add_leaves_block({x = m_z + c.x, y = c.y, z = m_x + c.z}, special) + conifers:add_leaves_block({x = -m_x + c.x, y = c.y, z = m_z + c.z}, special) + conifers:add_leaves_block({x = -m_z + c.x, y = c.y, z = m_x + c.z}, special) + conifers:add_leaves_block({x = m_x + c.x, y = c.y, z = -m_z + c.z}, special) + conifers:add_leaves_block({x = m_z + c.x, y = c.y, z = -m_x + c.z}, special) + conifers:add_leaves_block({x = -m_x + c.x, y = c.y, z = -m_z + c.z}, special) + conifers:add_leaves_block({x = -m_z + c.x, y = c.y, z = -m_x + c.z}, special) + end + else + -- Put a small circle of leaves around the trunk. + -- [ ] + -- [ ][#][ ] + -- [ ] + conifers:add_leaves_block({x = c.x, y = c.y, z = -1 + c.z}, special, true) + conifers:add_leaves_block({x = c.x, y = c.y, z = 1 + c.z}, special, true) + conifers:add_leaves_block({x = -1 + c.x, y = c.y, z = c.z}, special, true) + conifers:add_leaves_block({x = 1 + c.x, y = c.y, z = c.z}, special, true) + end + -- Stuff... + if m_m > 0 then + m_z = m_z - 1 + m_m = m_m - 8 * m_z + end + m_x = m_x + 1 + m_m = m_m + 8 * m_x + 4 + end + end +end + +-- +-- make_conifer(position, type) +-- +-- Make a conifer at a given position. +-- Types are: +-- 0: regular pine +-- 1: narrow pine +-- +function conifers:make_conifer(pos, conifer_type) + -- Check if we can gros a conifer at this place. + if minetest.env:get_node({x = pos.x, y = pos.y - 1, z = pos.z}).name ~= "default:dirt_with_grass" + and (minetest.env:get_node({x = pos.x, y = pos.y, z = pos.z}).name ~= "air" + or minetest.env:get_node({x = pos.x, y = pos.y, z = pos.z}).name ~= "conifers:sapling" + ) + then + return false + --else + --if minetest.env:get_node({x = pos.x, y = pos.y, z = pos.z}).name == "conifers:sapling" then + --minetest.env:add_node(pos , {name = "air"}) + --end + end + + local height = math.random(TRUNK_MINHEIGHT, TRUNK_MAXHEIGHT) -- Random height of the conifer. + local leaves_height = math.random(LEAVES_MINHEIGHT, LEAVES_MAXHEIGHT) -- Level from where the leaves grow. + local current_block = {} -- Duh... + local leaves_radius = 1 + local leaves_max_radius = 2 + local special = math.random(0, 1) + + -- Let's check if we can grow a tree here. + -- That means, we must have a column of 'height' high which contains + -- only air. + for j = 1, height - 1 do -- Start from 1 so we can grow a sapling. + if minetest.env:get_node({x = pos.x, y = pos.y + j, z = pos.z}).name ~= "air" then + -- Abort + return false + end + end + + -- Create the trunk and add the leaves. + for i = 0, height - 1 do + current_block = { + x = pos.x, + y = pos.y + i, + z = pos.z + } + -- Put a trunk block. + minetest.env:add_node(current_block , {name = "conifers:trunk"}) + -- Put some leaves. + if i >= leaves_height then + -- Put some leaves. + conifers:make_leaves({x = pos.x, y = pos.y + leaves_height + (height - 1) - i, z = pos.z}, 1, leaves_radius, special) + -- + -- TYPE OF CONIFER + -- + if conifer_type == 1 then -- Regular type + -- Prepare the next circle of leaves. + leaves_radius = leaves_radius + 1 + -- Check if the current radius is the maximum radius at this level. + if leaves_radius > leaves_max_radius then + leaves_radius = 1 + leaves_max_radius = leaves_max_radius + 1 + -- Does it exceeds the maximum radius? + if leaves_max_radius > LEAVES_MAXRADIUS then + leaves_max_radius = LEAVES_MAXRADIUS + end + end + else -- Narrow type + if i % 2 == 0 then + leaves_radius = LEAVES_NARROWRADIUS - math.random(0, 1) + else + leaves_radius = math.floor(LEAVES_NARROWRADIUS / 2) + end + end + end + end + + -- Put a top leaves block. + current_block.y = current_block.y + 1 + conifers:add_leaves_block(current_block, special) + + -- Blahblahblah + print ('[conifers] A conifer has grown at (' .. pos.x .. ',' .. pos.y .. ',' .. pos.z .. ') with a height of ' .. (height)) + + return true +end diff --git a/mods/conifers/textures/conifers_leaves.png b/mods/conifers/textures/conifers_leaves.png new file mode 100644 index 0000000..cfaaa1c Binary files /dev/null and b/mods/conifers/textures/conifers_leaves.png differ diff --git a/mods/conifers/textures/conifers_leaves_special.png b/mods/conifers/textures/conifers_leaves_special.png new file mode 100644 index 0000000..c5dca1c Binary files /dev/null and b/mods/conifers/textures/conifers_leaves_special.png differ diff --git a/mods/conifers/textures/conifers_sapling.png b/mods/conifers/textures/conifers_sapling.png new file mode 100644 index 0000000..bcbed08 Binary files /dev/null and b/mods/conifers/textures/conifers_sapling.png differ diff --git a/mods/conifers/textures/conifers_trunk.png b/mods/conifers/textures/conifers_trunk.png new file mode 100644 index 0000000..6e4e67a Binary files /dev/null and b/mods/conifers/textures/conifers_trunk.png differ diff --git a/mods/conifers/textures/conifers_trunk_reversed.png b/mods/conifers/textures/conifers_trunk_reversed.png new file mode 100644 index 0000000..0730e31 Binary files /dev/null and b/mods/conifers/textures/conifers_trunk_reversed.png differ diff --git a/mods/conifers/textures/conifers_trunktop.png b/mods/conifers/textures/conifers_trunktop.png new file mode 100644 index 0000000..4f21401 Binary files /dev/null and b/mods/conifers/textures/conifers_trunktop.png differ diff --git a/mods/creative/README.txt b/mods/creative/README.txt new file mode 100644 index 0000000..7d49b98 --- /dev/null +++ b/mods/creative/README.txt @@ -0,0 +1,22 @@ +Minetest 0.4 mod: creative +========================== + +Implements creative mode. + +Switch on by using the "creative_mode" setting. + +Registered items that +- have a description, and +- do not have the group not_in_creative_inventory +are added to the creative inventory. + +License of source code and media files: +--------------------------------------- +Copyright (C) 2012 Perttu Ahola (celeron55) + +This program is free software. It comes without any warranty, to +the extent permitted by applicable law. You can redistribute it +and/or modify it under the terms of the Do What The Fuck You Want +To Public License, Version 2, as published by Sam Hocevar. See +http://sam.zoy.org/wtfpl/COPYING for more details. + diff --git a/mods/creative/init.lua b/mods/creative/init.lua new file mode 100644 index 0000000..a18140b --- /dev/null +++ b/mods/creative/init.lua @@ -0,0 +1,116 @@ +-- minetest/creative/init.lua + +local creative_inventory = {} +creative_inventory.creative_inventory_size = 0 + +-- Create detached creative inventory after loading all mods +minetest.after(0, function() + local inv = minetest.create_detached_inventory("creative", { + allow_move = function(inv, from_list, from_index, to_list, to_index, count, player) + if minetest.setting_getbool("creative_mode") then + return count + else + return 0 + end + end, + allow_put = function(inv, listname, index, stack, player) + if minetest.setting_getbool("creative_mode") then + return -1 + else + return 0 + end + end, + allow_take = function(inv, listname, index, stack, player) + if minetest.setting_getbool("creative_mode") then + return -1 + else + return 0 + end + end, + on_move = function(inv, from_list, from_index, to_list, to_index, count, player) + end, + on_put = function(inv, listname, index, stack, player) + end, + on_take = function(inv, listname, index, stack, player) + print(player:get_player_name().." takes item from creative inventory; listname="..dump(listname)..", index="..dump(index)..", stack="..dump(stack)) + if stack then + print("stack:get_name()="..dump(stack:get_name())..", stack:get_count()="..dump(stack:get_count())) + end + end, + }) + local creative_list = {} + for name,def in pairs(minetest.registered_items) do + if (not def.groups.not_in_creative_inventory or def.groups.not_in_creative_inventory == 0) + and def.description and def.description ~= "" then + table.insert(creative_list, name) + end + end + table.sort(creative_list) + inv:set_size("main", #creative_list) + for _,itemstring in ipairs(creative_list) do + local stack = ItemStack(itemstring) + -- Make a stack of the right number of items + local stack2 = nil + if stack:get_stack_max() == 1 then + stack2 = ItemStack(stack:get_name()) + else + -- Insert half full so that a taken stack can be put back + stack2 = ItemStack(stack:get_name().." "..(stack:get_stack_max()/2)) + end + inv:add_item("main", stack2) + end + creative_inventory.creative_inventory_size = #creative_list + print("creative inventory size: "..dump(creative_inventory.creative_inventory_size)) +end) + +creative_inventory.set_creative_formspec = function(player, start_i, pagenum) + pagenum = math.floor(pagenum) + local pagemax = math.floor((creative_inventory.creative_inventory_size-1) / (6*4) + 1) + player:set_inventory_formspec("size[13,7.5]".. + --"image[6,0.6;1,2;player.png]".. + "list[current_player;main;5,3.5;8,4;]".. + "list[current_player;craft;8,0;3,3;]".. + "list[current_player;craftpreview;12,1;1,1;]".. + "list[detached:creative;main;0.3,0.5;4,6;"..tostring(start_i).."]".. + "label[2.0,6.55;"..tostring(pagenum).."/"..tostring(pagemax).."]".. + "button[0.3,6.5;1.6,1;creative_prev;<<]".. + "button[2.7,6.5;1.6,1;creative_next;>>]") +end +minetest.register_on_joinplayer(function(player) + -- If in creative mode, modify player's inventory forms + if not minetest.setting_getbool("creative_mode") then + return + end + creative_inventory.set_creative_formspec(player, 0, 1) +end) +minetest.register_on_player_receive_fields(function(player, formname, fields) + if not minetest.setting_getbool("creative_mode") then + return + end + -- Figure out current page from formspec + local current_page = 0 + local formspec = player:get_inventory_formspec() + local start_i = string.match(formspec, "list%[detached:creative;main;[%d.]+,[%d.]+;[%d.]+,[%d.]+;(%d+)%]") + start_i = tonumber(start_i) or 0 + + if fields.creative_prev then + start_i = start_i - 4*6 + end + if fields.creative_next then + start_i = start_i + 4*6 + end + + if start_i < 0 then + start_i = start_i + 4*6 + end + if start_i >= creative_inventory.creative_inventory_size then + start_i = start_i - 4*6 + end + + if start_i < 0 or start_i >= creative_inventory.creative_inventory_size then + start_i = 0 + end + + creative_inventory.set_creative_formspec(player, start_i, start_i / (6*4) + 1) +end) + diff --git a/mods/default/README.txt b/mods/default/README.txt new file mode 100644 index 0000000..5d0735b --- /dev/null +++ b/mods/default/README.txt @@ -0,0 +1,95 @@ +Minetest 0.4 mod: default +========================== + +License of source code: +----------------------- +Copyright (C) 2011-2012 celeron55, Perttu Ahola + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2.1 of the License, or +(at your option) any later version. + +http://www.gnu.org/licenses/lgpl-2.1.html + +License of media (textures and sounds) +-------------------------------------- +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +http://creativecommons.org/licenses/by-sa/3.0/ + +Authors of media files +----------------------- +Everything not listed in here: +Copyright (C) 2010-2012 celeron55, Perttu Ahola + +Originating from work by kddekadenz/Dogers: + default_grass_footstep.{1,2,3}.ogg + default_dig_crumbly.{1,2}.ogg + +Cisoun's WTFPL texture pack: + default_chest_front.png + default_chest_lock.png + default_chest_side.png + default_chest_top.png + default_cobble.png + default_dirt.png + default_grass.png + default_grass_side.png + default_jungletree.png + default_jungletree_top.png + default_lava.png + default_leaves.png + default_mossycobble.png + default_sand.png + default_sapling.png + default_sign_wall.png + default_stone.png + default_tool_mesepick.png + default_tool_steelpick.png + default_tool_steelshovel.png + default_tool_stonepick.png + default_tool_stoneshovel.png + default_tool_woodpick.png + default_tool_woodshovel.png + default_tree.png + default_tree_top.png + default_water.png + +Originating from G4JC's Almost MC Texture Pack: + default_wood.png + default_torch.png + default_torch_on_ceiling.png + default_torch_on_floor.png + +VanessaE's animated torches (WTFPL): + default_torch_animated.png + default_torch_on_ceiling_animated.png + default_torch_on_floor_animated.png + default_torch_on_floor.png + +RealBadAngel's animated water (WTFPL): + default_water_source_animated.png + default_water_flowing_animated.png + +VanessaE: + default_nc_back.png + default_nc_front.png + default_nc_rb.png + default_nc_side.png + +Calinou's improved default textures (CC BY-SA): + default_brick.png + default_clay_brick.png + default_papyrus.png + default_tool_steelsword.png + +MirceaKitsune (WTFPL): + character.x + +Jordach (CC BY-SA 3.0): + character.png + +Glass breaking sounds (CC BY 3.0): + 1: http://www.freesound.org/people/cmusounddesign/sounds/71947/ + 2: http://www.freesound.org/people/Tomlija/sounds/97669/ + 3: http://www.freesound.org/people/lsprice/sounds/88808/ diff --git a/mods/default/init.lua b/mods/default/init.lua new file mode 100644 index 0000000..06d4067 --- /dev/null +++ b/mods/default/init.lua @@ -0,0 +1,1798 @@ +-- Minetest 0.4 mod: default +-- See README.txt for licensing and other information. + +-- The API documentation in here was moved into doc/lua_api.txt + +WATER_ALPHA = 160 +WATER_VISC = 1 +LAVA_VISC = 7 +LIGHT_MAX = 14 + +-- Definitions made by this mod that other mods can use too +default = {} + +-- Load other files +dofile(minetest.get_modpath("default").."/player.lua") +dofile(minetest.get_modpath("default").."/mapgen.lua") +dofile(minetest.get_modpath("default").."/leafdecay.lua") + +-- +-- Tool definition +-- + +-- The hand +minetest.register_item(":", { + type = "none", + wield_image = "wieldhand.png", + wield_scale = {x=1,y=1,z=2.5}, + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level = 0, + groupcaps = { + fleshy = {times={[2]=2.00, [3]=1.00}, uses=0, maxlevel=1}, + crumbly = {times={[2]=3.00, [3]=0.70}, uses=0, maxlevel=1}, + snappy = {times={[3]=0.40}, uses=0, maxlevel=1}, + oddly_breakable_by_hand = {times={[1]=7.00,[2]=4.00,[3]=1.40}, uses=0, maxlevel=3}, + } + } +}) + +minetest.register_tool("default:pick_wood", { + description = "Wooden Pickaxe", + inventory_image = "default_tool_woodpick.png", + tool_capabilities = { + max_drop_level=0, + groupcaps={ + cracky={times={[2]=2.00, [3]=1.20}, uses=10, maxlevel=1} + } + }, +}) +minetest.register_tool("default:pick_stone", { + description = "Stone Pickaxe", + inventory_image = "default_tool_stonepick.png", + tool_capabilities = { + max_drop_level=0, + groupcaps={ + cracky={times={[1]=3.00, [2]=1.20, [3]=0.80}, uses=20, maxlevel=1} + } + }, +}) +minetest.register_tool("default:pick_steel", { + description = "Steel Pickaxe", + inventory_image = "default_tool_steelpick.png", + tool_capabilities = { + max_drop_level=1, + groupcaps={ + cracky={times={[1]=4.00, [2]=1.60, [3]=1.00}, uses=30, maxlevel=2} + } + }, +}) +minetest.register_tool("default:pick_mese", { + description = "Mese Pickaxe", + inventory_image = "default_tool_mesepick.png", + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level=3, + groupcaps={ + cracky={times={[1]=2.0, [2]=1.0, [3]=0.5}, uses=20, maxlevel=3}, + crumbly={times={[1]=2.0, [2]=1.0, [3]=0.5}, uses=20, maxlevel=3}, + snappy={times={[1]=2.0, [2]=1.0, [3]=0.5}, uses=20, maxlevel=3} + } + }, +}) +minetest.register_tool("default:shovel_wood", { + description = "Wooden Shovel", + inventory_image = "default_tool_woodshovel.png", + wield_image = "default_tool_woodshovel.png^[transformR90", + tool_capabilities = { + max_drop_level=0, + groupcaps={ + crumbly={times={[1]=3.00, [2]=0.80, [3]=0.50}, uses=10, maxlevel=1} + } + }, +}) +minetest.register_tool("default:shovel_stone", { + description = "Stone Shovel", + inventory_image = "default_tool_stoneshovel.png", + wield_image = "default_tool_stoneshovel.png^[transformR90", + tool_capabilities = { + max_drop_level=0, + groupcaps={ + crumbly={times={[1]=1.50, [2]=0.50, [3]=0.30}, uses=20, maxlevel=1} + } + }, +}) +minetest.register_tool("default:shovel_steel", { + description = "Steel Shovel", + inventory_image = "default_tool_steelshovel.png", + wield_image = "default_tool_steelshovel.png^[transformR90", + tool_capabilities = { + max_drop_level=1, + groupcaps={ + crumbly={times={[1]=1.50, [2]=0.70, [3]=0.60}, uses=30, maxlevel=2} + } + }, +}) +minetest.register_tool("default:axe_wood", { + description = "Wooden Axe", + inventory_image = "default_tool_woodaxe.png", + tool_capabilities = { + max_drop_level=0, + groupcaps={ + choppy={times={[2]=1.40, [3]=0.80}, uses=10, maxlevel=1}, + fleshy={times={[2]=1.50, [3]=0.80}, uses=10, maxlevel=1} + } + }, +}) +minetest.register_tool("default:axe_stone", { + description = "Stone Axe", + inventory_image = "default_tool_stoneaxe.png", + tool_capabilities = { + max_drop_level=0, + groupcaps={ + choppy={times={[1]=3.00, [2]=1.00, [3]=0.60}, uses=20, maxlevel=1}, + fleshy={times={[2]=1.30, [3]=0.70}, uses=20, maxlevel=1} + } + }, +}) +minetest.register_tool("default:axe_steel", { + description = "Steel Axe", + inventory_image = "default_tool_steelaxe.png", + tool_capabilities = { + max_drop_level=1, + groupcaps={ + choppy={times={[1]=3.00, [2]=1.60, [3]=1.00}, uses=30, maxlevel=2}, + fleshy={times={[2]=1.10, [3]=0.60}, uses=40, maxlevel=1} + } + }, +}) +minetest.register_tool("default:sword_wood", { + description = "Wooden Sword", + inventory_image = "default_tool_woodsword.png", + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level=0, + groupcaps={ + fleshy={times={[2]=1.10, [3]=0.60}, uses=10, maxlevel=1}, + snappy={times={[2]=1.00, [3]=0.50}, uses=10, maxlevel=1}, + choppy={times={[3]=1.00}, uses=20, maxlevel=0} + } + } +}) +minetest.register_tool("default:sword_stone", { + description = "Stone Sword", + inventory_image = "default_tool_stonesword.png", + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level=0, + groupcaps={ + fleshy={times={[2]=0.80, [3]=0.40}, uses=20, maxlevel=1}, + snappy={times={[2]=0.80, [3]=0.40}, uses=20, maxlevel=1}, + choppy={times={[3]=0.90}, uses=20, maxlevel=0} + } + } +}) +minetest.register_tool("default:sword_steel", { + description = "Steel Sword", + inventory_image = "default_tool_steelsword.png", + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level=1, + groupcaps={ + fleshy={times={[1]=2.00, [2]=0.80, [3]=0.40}, uses=10, maxlevel=2}, + snappy={times={[2]=0.70, [3]=0.30}, uses=40, maxlevel=1}, + choppy={times={[3]=0.70}, uses=40, maxlevel=0} + } + } +}) + +-- +-- Crafting definition +-- + +minetest.register_craft({ + output = 'default:wood 4', + recipe = { + {'default:tree'}, + } +}) + +minetest.register_craft({ + output = 'default:stick 4', + recipe = { + {'group:wood'}, + } +}) + +minetest.register_craft({ + output = 'default:fence_wood 2', + recipe = { + {'default:stick', 'default:stick', 'default:stick'}, + {'default:stick', 'default:stick', 'default:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:sign_wall', + recipe = { + {'group:wood', 'group:wood', 'group:wood'}, + {'group:wood', 'group:wood', 'group:wood'}, + {'', 'default:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:torch 4', + recipe = { + {'default:coal_lump'}, + {'default:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:pick_wood', + recipe = { + {'group:wood', 'group:wood', 'group:wood'}, + {'', 'default:stick', ''}, + {'', 'default:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:pick_stone', + recipe = { + {'group:stone', 'group:stone', 'group:stone'}, + {'', 'default:stick', ''}, + {'', 'default:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:pick_steel', + recipe = { + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + {'', 'default:stick', ''}, + {'', 'default:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:pick_mese', + recipe = { + {'default:mese', 'default:mese', 'default:mese'}, + {'', 'default:stick', ''}, + {'', 'default:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:shovel_wood', + recipe = { + {'group:wood'}, + {'default:stick'}, + {'default:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:shovel_stone', + recipe = { + {'group:stone'}, + {'default:stick'}, + {'default:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:shovel_steel', + recipe = { + {'default:steel_ingot'}, + {'default:stick'}, + {'default:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:axe_wood', + recipe = { + {'group:wood', 'group:wood'}, + {'group:wood', 'default:stick'}, + {'', 'default:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:axe_stone', + recipe = { + {'group:stone', 'group:stone'}, + {'group:stone', 'default:stick'}, + {'', 'default:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:axe_steel', + recipe = { + {'default:steel_ingot', 'default:steel_ingot'}, + {'default:steel_ingot', 'default:stick'}, + {'', 'default:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:sword_wood', + recipe = { + {'group:wood'}, + {'group:wood'}, + {'default:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:sword_stone', + recipe = { + {'group:stone'}, + {'group:stone'}, + {'default:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:sword_steel', + recipe = { + {'default:steel_ingot'}, + {'default:steel_ingot'}, + {'default:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:rail 15', + recipe = { + {'default:steel_ingot', '', 'default:steel_ingot'}, + {'default:steel_ingot', 'default:stick', 'default:steel_ingot'}, + {'default:steel_ingot', '', 'default:steel_ingot'}, + } +}) + +minetest.register_craft({ + output = 'default:chest', + recipe = { + {'group:wood', 'group:wood', 'group:wood'}, + {'group:wood', '', 'group:wood'}, + {'group:wood', 'group:wood', 'group:wood'}, + } +}) + +minetest.register_craft({ + output = 'default:chest_locked', + recipe = { + {'group:wood', 'group:wood', 'group:wood'}, + {'group:wood', 'default:steel_ingot', 'group:wood'}, + {'group:wood', 'group:wood', 'group:wood'}, + } +}) + +minetest.register_craft({ + output = 'default:furnace', + recipe = { + {'group:stone', 'group:stone', 'group:stone'}, + {'group:stone', '', 'group:stone'}, + {'group:stone', 'group:stone', 'group:stone'}, + } +}) + +minetest.register_craft({ + output = 'default:steelblock', + recipe = { + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + } +}) + +minetest.register_craft({ + output = 'default:steel_ingot 9', + recipe = { + {'default:steelblock'}, + } +}) + +minetest.register_craft({ + output = 'default:sandstone', + recipe = { + {'group:sand', 'group:sand'}, + {'group:sand', 'group:sand'}, + } +}) + +minetest.register_craft({ + output = 'default:sand 4', + recipe = { + {'default:sandstone'}, + } +}) + +minetest.register_craft({ + output = 'default:clay', + recipe = { + {'default:clay_lump', 'default:clay_lump'}, + {'default:clay_lump', 'default:clay_lump'}, + } +}) + +minetest.register_craft({ + output = 'default:brick', + recipe = { + {'default:clay_brick', 'default:clay_brick'}, + {'default:clay_brick', 'default:clay_brick'}, + } +}) + +minetest.register_craft({ + output = 'default:clay_brick 4', + recipe = { + {'default:brick'}, + } +}) + +minetest.register_craft({ + output = 'default:paper', + recipe = { + {'default:papyrus', 'default:papyrus', 'default:papyrus'}, + } +}) + +minetest.register_craft({ + output = 'default:book', + recipe = { + {'default:paper'}, + {'default:paper'}, + {'default:paper'}, + } +}) + +minetest.register_craft({ + output = 'default:bookshelf', + recipe = { + {'group:wood', 'group:wood', 'group:wood'}, + {'default:book', 'default:book', 'default:book'}, + {'group:wood', 'group:wood', 'group:wood'}, + } +}) + +minetest.register_craft({ + output = 'default:ladder', + recipe = { + {'default:stick', '', 'default:stick'}, + {'default:stick', 'default:stick', 'default:stick'}, + {'default:stick', '', 'default:stick'}, + } +}) + +-- +-- Crafting (tool repair) +-- +minetest.register_craft({ + type = "toolrepair", + additional_wear = -0.02, +}) + +-- +-- Cooking recipes +-- + +minetest.register_craft({ + type = "cooking", + output = "default:glass", + recipe = "group:sand", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:stone", + recipe = "default:cobble", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:steel_ingot", + recipe = "default:iron_lump", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:clay_brick", + recipe = "default:clay_lump", +}) + +-- +-- Fuels +-- + +minetest.register_craft({ + type = "fuel", + recipe = "group:tree", + burntime = 30, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:junglegrass", + burntime = 2, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:leaves", + burntime = 1, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:cactus", + burntime = 15, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:papyrus", + burntime = 1, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:bookshelf", + burntime = 30, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:fence_wood", + burntime = 15, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:ladder", + burntime = 5, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "group:wood", + burntime = 7, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:mese", + burntime = 30, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:lava_source", + burntime = 60, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:torch", + burntime = 4, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:sign_wall", + burntime = 10, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:chest", + burntime = 30, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:chest_locked", + burntime = 30, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:nyancat", + burntime = 1, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:nyancat_rainbow", + burntime = 1, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:sapling", + burntime = 10, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:apple", + burntime = 3, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:coal_lump", + burntime = 40, +}) + +-- +-- Node definitions +-- + +-- Default node sounds + +function default.node_sound_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name="", gain=1.0} + table.dug = table.dug or + {name="default_dug_node", gain=1.0} + return table +end + +function default.node_sound_stone_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name="default_hard_footstep", gain=0.2} + default.node_sound_defaults(table) + return table +end + +function default.node_sound_dirt_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name="", gain=0.5} + --table.dug = table.dug or + -- {name="default_dirt_break", gain=0.5} + default.node_sound_defaults(table) + return table +end + +function default.node_sound_sand_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name="default_grass_footstep", gain=0.25} + --table.dug = table.dug or + -- {name="default_dirt_break", gain=0.25} + table.dug = table.dug or + {name="", gain=0.25} + default.node_sound_defaults(table) + return table +end + +function default.node_sound_wood_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name="default_hard_footstep", gain=0.3} + default.node_sound_defaults(table) + return table +end + +function default.node_sound_leaves_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name="default_grass_footstep", gain=0.25} + table.dig = table.dig or + {name="default_dig_crumbly", gain=0.4} + table.dug = table.dug or + {name="", gain=1.0} + default.node_sound_defaults(table) + return table +end + +function default.node_sound_glass_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name="default_hard_footstep", gain=0.25} + table.dug = table.dug or + {name="default_break_glass", gain=1.0} + default.node_sound_defaults(table) + return table +end + +-- + +minetest.register_node("default:stone", { + description = "Stone", + tiles = {"default_stone.png"}, + is_ground_content = true, + groups = {cracky=3, stone=1}, + drop = 'default:cobble', + legacy_mineral = true, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:desert_stone", { + description = "Desert Stone", + tiles = {"default_desert_stone.png"}, + is_ground_content = true, + groups = {cracky=3, stone=1}, + drop = 'default:desert_stone', + legacy_mineral = true, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:stone_with_coal", { + description = "Coal Ore", + tiles = {"default_stone.png^default_mineral_coal.png"}, + is_ground_content = true, + groups = {cracky=3}, + drop = 'default:coal_lump', + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:stone_with_iron", { + description = "Iron Ore", + tiles = {"default_stone.png^default_mineral_iron.png"}, + is_ground_content = true, + groups = {cracky=3}, + drop = 'default:iron_lump', + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:dirt_with_grass", { + description = "Dirt with Grass", + tiles = {"default_grass.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"}, + is_ground_content = true, + groups = {crumbly=3}, + drop = 'default:dirt', + sounds = default.node_sound_dirt_defaults({ + footstep = {name="default_grass_footstep", gain=0.4}, + }), +}) + +minetest.register_node("default:dirt_with_grass_footsteps", { + description = "Dirt with Grass and Footsteps", + tiles = {"default_grass_footsteps.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"}, + is_ground_content = true, + groups = {crumbly=3, not_in_creative_inventory=1}, + drop = 'default:dirt', + sounds = default.node_sound_dirt_defaults({ + footstep = {name="default_grass_footstep", gain=0.4}, + }), +}) + +minetest.register_node("default:dirt", { + description = "Dirt", + tiles = {"default_dirt.png"}, + is_ground_content = true, + groups = {crumbly=3}, + sounds = default.node_sound_dirt_defaults(), +}) + +minetest.register_node("default:sand", { + description = "Sand", + tiles = {"default_sand.png"}, + is_ground_content = true, + groups = {crumbly=3, falling_node=1, sand=1}, + sounds = default.node_sound_sand_defaults(), +}) + +minetest.register_node("default:desert_sand", { + description = "Desert Sand", + tiles = {"default_desert_sand.png"}, + is_ground_content = true, + groups = {sand=1, crumbly=3, falling_node=1, sand=1}, + sounds = default.node_sound_sand_defaults(), +}) + +minetest.register_node("default:gravel", { + description = "Gravel", + tiles = {"default_gravel.png"}, + is_ground_content = true, + groups = {crumbly=2, falling_node=1}, + sounds = default.node_sound_dirt_defaults({ + footstep = {name="default_gravel_footstep", gain=0.45}, + }), +}) + +minetest.register_node("default:sandstone", { + description = "Sandstone", + tiles = {"default_sandstone.png"}, + is_ground_content = true, + groups = {crumbly=2,cracky=2}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:clay", { + description = "Clay", + tiles = {"default_clay.png"}, + is_ground_content = true, + groups = {crumbly=3}, + drop = 'default:clay_lump 4', + sounds = default.node_sound_dirt_defaults({ + footstep = "", + }), +}) + +minetest.register_node("default:brick", { + description = "Brick Block", + tiles = {"default_brick.png"}, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:tree", { + description = "Tree", + tiles = {"default_tree_top.png", "default_tree_top.png", "default_tree.png"}, + is_ground_content = true, + groups = {tree=1,snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("default:jungletree", { + description = "Jungle Tree", + tiles = {"default_jungletree_top.png", "default_jungletree_top.png", "default_jungletree.png"}, + is_ground_content = true, + groups = {tree=1,snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("default:junglegrass", { + description = "Jungle Grass", + drawtype = "plantlike", + visual_scale = 1.3, + tiles = {"default_junglegrass.png"}, + inventory_image = "default_junglegrass.png", + wield_image = "default_junglegrass.png", + paramtype = "light", + walkable = false, + groups = {snappy=3,flammable=2,attached_node=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("default:leaves", { + description = "Leaves", + drawtype = "allfaces_optional", + visual_scale = 1.3, + tiles = {"default_leaves.png"}, + paramtype = "light", + groups = {snappy=3, leafdecay=3, flammable=2}, + drop = { + max_items = 1, + items = { + { + -- player will get sapling with 1/20 chance + items = {'default:sapling'}, + rarity = 20, + }, + { + -- player will get leaves only if he get no saplings, + -- this is because max_items is 1 + items = {'default:leaves'}, + } + } + }, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("default:cactus", { + description = "Cactus", + tiles = {"default_cactus_top.png", "default_cactus_top.png", "default_cactus_side.png"}, + is_ground_content = true, + groups = {snappy=2,choppy=3,flammable=2}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("default:papyrus", { + description = "Papyrus", + drawtype = "plantlike", + tiles = {"default_papyrus.png"}, + inventory_image = "default_papyrus.png", + wield_image = "default_papyrus.png", + paramtype = "light", + is_ground_content = true, + walkable = false, + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3} + }, + groups = {snappy=3,flammable=2}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("default:bookshelf", { + description = "Bookshelf", + tiles = {"default_wood.png", "default_wood.png", "default_bookshelf.png"}, + is_ground_content = true, + groups = {snappy=2,choppy=3,oddly_breakable_by_hand=2,flammable=3}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("default:glass", { + description = "Glass", + drawtype = "glasslike", + tiles = {"default_glass.png"}, + inventory_image = minetest.inventorycube("default_glass.png"), + paramtype = "light", + sunlight_propagates = true, + is_ground_content = true, + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, + sounds = default.node_sound_glass_defaults(), +}) + +minetest.register_node("default:fence_wood", { + description = "Wooden Fence", + drawtype = "fencelike", + tiles = {"default_wood.png"}, + inventory_image = "default_fence.png", + wield_image = "default_fence.png", + paramtype = "light", + is_ground_content = true, + selection_box = { + type = "fixed", + fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}, + }, + groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=2}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("default:rail", { + description = "Rail", + drawtype = "raillike", + tiles = {"default_rail.png", "default_rail_curved.png", "default_rail_t_junction.png", "default_rail_crossing.png"}, + inventory_image = "default_rail.png", + wield_image = "default_rail.png", + paramtype = "light", + is_ground_content = true, + walkable = false, + selection_box = { + type = "fixed", + -- but how to specify the dimensions for curved and sideways rails? + fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2}, + }, + groups = {bendy=2,snappy=1,dig_immediate=2,attached_node=1}, +}) + +minetest.register_node("default:ladder", { + description = "Ladder", + drawtype = "signlike", + tiles = {"default_ladder.png"}, + inventory_image = "default_ladder.png", + wield_image = "default_ladder.png", + paramtype = "light", + paramtype2 = "wallmounted", + is_ground_content = true, + walkable = false, + climbable = true, + selection_box = { + type = "wallmounted", + --wall_top = = + --wall_bottom = = + --wall_side = = + }, + groups = {snappy=1,choppy=2,oddly_breakable_by_hand=3,flammable=2}, + legacy_wallmounted = true, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("default:wood", { + description = "Wooden Planks", + tiles = {"default_wood.png"}, + is_ground_content = true, + groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3,wood=1}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("default:mese", { + description = "Mese", + tiles = {"default_mese.png"}, + is_ground_content = true, + groups = {cracky=1}, + sounds = default.node_sound_defaults(), +}) + +minetest.register_node("default:cloud", { + description = "Cloud", + tiles = {"default_cloud.png"}, + is_ground_content = true, + sounds = default.node_sound_defaults(), + groups = {not_in_creative_inventory=1}, +}) + +minetest.register_node("default:water_flowing", { + description = "Flowing Water", + inventory_image = minetest.inventorycube("default_water.png"), + drawtype = "flowingliquid", + tiles = {"default_water.png"}, + special_tiles = { + { + image="default_water_flowing_animated.png", + backface_culling=false, + animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=0.8} + }, + { + image="default_water_flowing_animated.png", + backface_culling=true, + animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=0.8} + }, + }, + alpha = WATER_ALPHA, + paramtype = "light", + walkable = false, + pointable = false, + diggable = false, + buildable_to = true, + liquidtype = "flowing", + liquid_alternative_flowing = "default:water_flowing", + liquid_alternative_source = "default:water_source", + liquid_viscosity = WATER_VISC, + post_effect_color = {a=64, r=100, g=100, b=200}, + groups = {water=3, liquid=3, puts_out_fire=1, not_in_creative_inventory=1}, +}) + +minetest.register_node("default:water_source", { + description = "Water Source", + inventory_image = minetest.inventorycube("default_water.png"), + drawtype = "liquid", + tiles = { + {name="default_water_source_animated.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=2.0}} + }, + special_tiles = { + -- New-style water source material (mostly unused) + {name="default_water.png", backface_culling=false}, + }, + alpha = WATER_ALPHA, + paramtype = "light", + walkable = false, + pointable = false, + diggable = false, + buildable_to = true, + liquidtype = "source", + liquid_alternative_flowing = "default:water_flowing", + liquid_alternative_source = "default:water_source", + liquid_viscosity = WATER_VISC, + post_effect_color = {a=64, r=100, g=100, b=200}, + groups = {water=3, liquid=3, puts_out_fire=1}, +}) + +minetest.register_node("default:lava_flowing", { + description = "Flowing Lava", + inventory_image = minetest.inventorycube("default_lava.png"), + drawtype = "flowingliquid", + tiles = {"default_lava.png"}, + special_tiles = { + { + image="default_lava_flowing_animated.png", + backface_culling=false, + animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.3} + }, + { + image="default_lava_flowing_animated.png", + backface_culling=true, + animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.3} + }, + }, + paramtype = "light", + light_source = LIGHT_MAX - 1, + walkable = false, + pointable = false, + diggable = false, + buildable_to = true, + liquidtype = "flowing", + liquid_alternative_flowing = "default:lava_flowing", + liquid_alternative_source = "default:lava_source", + liquid_viscosity = LAVA_VISC, + damage_per_second = 4*2, + post_effect_color = {a=192, r=255, g=64, b=0}, + groups = {lava=3, liquid=2, hot=3, igniter=1, not_in_creative_inventory=1}, +}) + +minetest.register_node("default:lava_source", { + description = "Lava Source", + inventory_image = minetest.inventorycube("default_lava.png"), + drawtype = "liquid", + tiles = { + {name="default_lava_source_animated.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0}} + }, + special_tiles = { + -- New-style lava source material (mostly unused) + {name="default_lava.png", backface_culling=false}, + }, + paramtype = "light", + light_source = LIGHT_MAX - 1, + walkable = false, + pointable = false, + diggable = false, + buildable_to = true, + liquidtype = "source", + liquid_alternative_flowing = "default:lava_flowing", + liquid_alternative_source = "default:lava_source", + liquid_viscosity = LAVA_VISC, + damage_per_second = 4*2, + post_effect_color = {a=192, r=255, g=64, b=0}, + groups = {lava=3, liquid=2, hot=3, igniter=1}, +}) + +minetest.register_node("default:torch", { + description = "Torch", + drawtype = "torchlike", + --tiles = {"default_torch_on_floor.png", "default_torch_on_ceiling.png", "default_torch.png"}, + tiles = { + {name="default_torch_on_floor_animated.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0}}, + {name="default_torch_on_ceiling_animated.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0}}, + {name="default_torch_animated.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0}} + }, + inventory_image = "default_torch_on_floor.png", + wield_image = "default_torch_on_floor.png", + paramtype = "light", + paramtype2 = "wallmounted", + sunlight_propagates = true, + walkable = false, + light_source = LIGHT_MAX-1, + selection_box = { + type = "wallmounted", + wall_top = {-0.1, 0.5-0.6, -0.1, 0.1, 0.5, 0.1}, + wall_bottom = {-0.1, -0.5, -0.1, 0.1, -0.5+0.6, 0.1}, + wall_side = {-0.5, -0.3, -0.1, -0.5+0.3, 0.3, 0.1}, + }, + groups = {choppy=2,dig_immediate=3,flammable=1,attached_node=1}, + legacy_wallmounted = true, + sounds = default.node_sound_defaults(), +}) + +minetest.register_node("default:sign_wall", { + description = "Sign", + drawtype = "signlike", + tiles = {"default_sign_wall.png"}, + inventory_image = "default_sign_wall.png", + wield_image = "default_sign_wall.png", + paramtype = "light", + paramtype2 = "wallmounted", + sunlight_propagates = true, + walkable = false, + selection_box = { + type = "wallmounted", + --wall_top = + --wall_bottom = + --wall_side = + }, + groups = {choppy=2,dig_immediate=2,attached_node=1}, + legacy_wallmounted = true, + sounds = default.node_sound_defaults(), + on_construct = function(pos) + --local n = minetest.env:get_node(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", "field[text;;${text}]") + meta:set_string("infotext", "\"\"") + end, + on_receive_fields = function(pos, formname, fields, sender) + --print("Sign at "..minetest.pos_to_string(pos).." got "..dump(fields)) + local meta = minetest.env:get_meta(pos) + fields.text = fields.text or "" + print((sender:get_player_name() or "").." wrote \""..fields.text.. + "\" to sign at "..minetest.pos_to_string(pos)) + meta:set_string("text", fields.text) + meta:set_string("infotext", '"'..fields.text..'"') + end, +}) + +minetest.register_node("default:chest", { + description = "Chest", + tiles = {"default_chest_top.png", "default_chest_top.png", "default_chest_side.png", + "default_chest_side.png", "default_chest_side.png", "default_chest_front.png"}, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_wood_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "size[8,9]".. + "list[current_name;main;0,0;8,4;]".. + "list[current_player;main;0,5;8,4;]") + meta:set_string("infotext", "Chest") + local inv = meta:get_inventory() + inv:set_size("main", 8*4) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from chest at "..minetest.pos_to_string(pos)) + end, +}) + +local function has_locked_chest_privilege(meta, player) + if player:get_player_name() ~= meta:get_string("owner") then + return false + end + return true +end + +minetest.register_node("default:chest_locked", { + description = "Locked Chest", + tiles = {"default_chest_top.png", "default_chest_top.png", "default_chest_side.png", + "default_chest_side.png", "default_chest_side.png", "default_chest_lock.png"}, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_wood_defaults(), + after_place_node = function(pos, placer) + local meta = minetest.env:get_meta(pos) + meta:set_string("owner", placer:get_player_name() or "") + meta:set_string("infotext", "Locked Chest (owned by ".. + meta:get_string("owner")..")") + end, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "size[8,9]".. + "list[current_name;main;0,0;8,4;]".. + "list[current_player;main;0,5;8,4;]") + meta:set_string("infotext", "Locked Chest") + meta:set_string("owner", "") + local inv = meta:get_inventory() + inv:set_size("main", 8*4) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + local meta = minetest.env:get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return count + end, + allow_metadata_inventory_put = function(pos, listname, index, stack, player) + local meta = minetest.env:get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return stack:get_count() + end, + allow_metadata_inventory_take = function(pos, listname, index, stack, player) + local meta = minetest.env:get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return stack:get_count() + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in locked chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to locked chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from locked chest at "..minetest.pos_to_string(pos)) + end, +}) + +default.furnace_inactive_formspec = + "size[8,9]".. + "image[2,2;1,1;default_furnace_fire_bg.png]".. + "list[current_name;fuel;2,3;1,1;]".. + "list[current_name;src;2,1;1,1;]".. + "list[current_name;dst;5,1;2,2;]".. + "list[current_player;main;0,5;8,4;]" + +minetest.register_node("default:furnace", { + description = "Furnace", + tiles = {"default_furnace_top.png", "default_furnace_bottom.png", "default_furnace_side.png", + "default_furnace_side.png", "default_furnace_side.png", "default_furnace_front.png"}, + paramtype2 = "facedir", + groups = {cracky=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_stone_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", default.furnace_inactive_formspec) + meta:set_string("infotext", "Furnace") + local inv = meta:get_inventory() + inv:set_size("fuel", 1) + inv:set_size("src", 1) + inv:set_size("dst", 4) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("fuel") then + return false + elseif not inv:is_empty("dst") then + return false + elseif not inv:is_empty("src") then + return false + end + return true + end, +}) + +minetest.register_node("default:furnace_active", { + description = "Furnace", + tiles = {"default_furnace_top.png", "default_furnace_bottom.png", "default_furnace_side.png", + "default_furnace_side.png", "default_furnace_side.png", "default_furnace_front_active.png"}, + paramtype2 = "facedir", + light_source = 8, + drop = "default:furnace", + groups = {cracky=2, not_in_creative_inventory=1}, + legacy_facedir_simple = true, + sounds = default.node_sound_stone_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", default.furnace_inactive_formspec) + meta:set_string("infotext", "Furnace"); + local inv = meta:get_inventory() + inv:set_size("fuel", 1) + inv:set_size("src", 1) + inv:set_size("dst", 4) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("fuel") then + return false + elseif not inv:is_empty("dst") then + return false + elseif not inv:is_empty("src") then + return false + end + return true + end, +}) + +function hacky_swap_node(pos,name) + local node = minetest.env:get_node(pos) + local meta = minetest.env:get_meta(pos) + local meta0 = meta:to_table() + if node.name == name then + return + end + node.name = name + local meta0 = meta:to_table() + minetest.env:set_node(pos,node) + meta = minetest.env:get_meta(pos) + meta:from_table(meta0) +end + +minetest.register_abm({ + nodenames = {"default:furnace","default:furnace_active"}, + interval = 1.0, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + local meta = minetest.env:get_meta(pos) + for i, name in ipairs({ + "fuel_totaltime", + "fuel_time", + "src_totaltime", + "src_time" + }) do + if meta:get_string(name) == "" then + meta:set_float(name, 0.0) + end + end + + local inv = meta:get_inventory() + + local srclist = inv:get_list("src") + local cooked = nil + + if srclist then + cooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist}) + end + + local was_active = false + + if meta:get_float("fuel_time") < meta:get_float("fuel_totaltime") then + was_active = true + meta:set_float("fuel_time", meta:get_float("fuel_time") + 1) + meta:set_float("src_time", meta:get_float("src_time") + 1) + if cooked and cooked.item and meta:get_float("src_time") >= cooked.time then + -- check if there's room for output in "dst" list + if inv:room_for_item("dst",cooked.item) then + -- Put result in "dst" list + inv:add_item("dst", cooked.item) + -- take stuff from "src" list + srcstack = inv:get_stack("src", 1) + srcstack:take_item() + inv:set_stack("src", 1, srcstack) + else + print("Could not insert '"..cooked.item:to_string().."'") + end + meta:set_string("src_time", 0) + end + end + + if meta:get_float("fuel_time") < meta:get_float("fuel_totaltime") then + local percent = math.floor(meta:get_float("fuel_time") / + meta:get_float("fuel_totaltime") * 100) + meta:set_string("infotext","Furnace active: "..percent.."%") + hacky_swap_node(pos,"default:furnace_active") + meta:set_string("formspec", + "size[8,9]".. + "image[2,2;1,1;default_furnace_fire_bg.png^[lowpart:".. + (100-percent)..":default_furnace_fire_fg.png]".. + "list[current_name;fuel;2,3;1,1;]".. + "list[current_name;src;2,1;1,1;]".. + "list[current_name;dst;5,1;2,2;]".. + "list[current_player;main;0,5;8,4;]") + return + end + + local fuel = nil + local cooked = nil + local fuellist = inv:get_list("fuel") + local srclist = inv:get_list("src") + + if srclist then + cooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist}) + end + if fuellist then + fuel = minetest.get_craft_result({method = "fuel", width = 1, items = fuellist}) + end + + if fuel.time <= 0 then + meta:set_string("infotext","Furnace out of fuel") + hacky_swap_node(pos,"default:furnace") + meta:set_string("formspec", default.furnace_inactive_formspec) + return + end + + if cooked.item:is_empty() then + if was_active then + meta:set_string("infotext","Furnace is empty") + hacky_swap_node(pos,"default:furnace") + meta:set_string("formspec", default.furnace_inactive_formspec) + end + return + end + + meta:set_string("fuel_totaltime", fuel.time) + meta:set_string("fuel_time", 0) + + local stack = inv:get_stack("fuel", 1) + stack:take_item() + inv:set_stack("fuel", 1, stack) + end, +}) + +minetest.register_node("default:cobble", { + description = "Cobblestone", + tiles = {"default_cobble.png"}, + is_ground_content = true, + groups = {cracky=3, stone=2}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:mossycobble", { + description = "Mossy Cobblestone", + tiles = {"default_mossycobble.png"}, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:steelblock", { + description = "Steel Block", + tiles = {"default_steel_block.png"}, + is_ground_content = true, + groups = {snappy=1,bendy=2,cracky=1,melty=2,level=2}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:nyancat", { + description = "Nyan Cat", + tiles = {"default_nc_side.png", "default_nc_side.png", "default_nc_side.png", + "default_nc_side.png", "default_nc_back.png", "default_nc_front.png"}, + paramtype2 = "facedir", + groups = {cracky=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_defaults(), +}) + +minetest.register_node("default:nyancat_rainbow", { + description = "Nyan Cat Rainbow", + tiles = {"default_nc_rb.png"}, + groups = {cracky=2}, + sounds = default.node_sound_defaults(), +}) + +minetest.register_node("default:sapling", { + description = "Sapling", + drawtype = "plantlike", + visual_scale = 1.0, + tiles = {"default_sapling.png"}, + inventory_image = "default_sapling.png", + wield_image = "default_sapling.png", + paramtype = "light", + walkable = false, + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3} + }, + groups = {snappy=2,dig_immediate=3,flammable=2,attached_node=1}, + sounds = default.node_sound_defaults(), +}) + +minetest.register_node("default:apple", { + description = "Apple", + drawtype = "plantlike", + visual_scale = 1.0, + tiles = {"default_apple.png"}, + inventory_image = "default_apple.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + selection_box = { + type = "fixed", + fixed = {-0.2, -0.5, -0.2, 0.2, 0, 0.2} + }, + groups = {fleshy=3,dig_immediate=3,flammable=2}, + on_use = minetest.item_eat(4), + sounds = default.node_sound_defaults(), +}) + +minetest.register_node("default:dry_shrub", { + description = "Dry Shrub", + drawtype = "plantlike", + visual_scale = 1.0, + tiles = {"default_dry_shrub.png"}, + inventory_image = "default_dry_shrub.png", + wield_image = "default_dry_shrub.png", + paramtype = "light", + walkable = false, + groups = {snappy=3,flammable=3,attached_node=1}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-1/3, -1/2, -1/3, 1/3, 1/6, 1/3}, + }, +}) + +-- +-- Crafting items +-- + +minetest.register_craftitem("default:stick", { + description = "Stick", + inventory_image = "default_stick.png", +}) + +minetest.register_craftitem("default:paper", { + description = "Paper", + inventory_image = "default_paper.png", +}) + +minetest.register_craftitem("default:book", { + description = "Book", + inventory_image = "default_book.png", +}) + +minetest.register_craftitem("default:coal_lump", { + description = "Coal Lump", + inventory_image = "default_coal_lump.png", +}) + +minetest.register_craftitem("default:iron_lump", { + description = "Iron Lump", + inventory_image = "default_iron_lump.png", +}) + +minetest.register_craftitem("default:clay_lump", { + description = "Clay Lump", + inventory_image = "default_clay_lump.png", +}) + +minetest.register_craftitem("default:steel_ingot", { + description = "Steel Ingot", + inventory_image = "default_steel_ingot.png", +}) + +minetest.register_craftitem("default:clay_brick", { + description = "Clay Brick", + inventory_image = "default_steel_ingot.png", + inventory_image = "default_clay_brick.png", +}) + +minetest.register_craftitem("default:scorched_stuff", { + description = "Scorched Stuff", + inventory_image = "default_scorched_stuff.png", +}) + +-- +-- Falling stuff +-- + +minetest.register_entity("default:falling_node", { + initial_properties = { + physical = true, + collisionbox = {-0.5,-0.5,-0.5, 0.5,0.5,0.5}, + visual = "wielditem", + textures = {}, + visual_size = {x=0.667, y=0.667}, + }, + + nodename = "", + + set_node = function(self, nodename) + self.nodename = nodename + local stack = ItemStack(nodename) + local itemtable = stack:to_table() + local itemname = nil + if itemtable then + itemname = stack:to_table().name + end + local item_texture = nil + local item_type = "" + if minetest.registered_items[itemname] then + item_texture = minetest.registered_items[itemname].inventory_image + item_type = minetest.registered_items[itemname].type + end + prop = { + is_visible = true, + textures = {nodename}, + } + self.object:set_properties(prop) + end, + + get_staticdata = function(self) + return self.nodename + end, + + on_activate = function(self, staticdata) + self.nodename = staticdata + self.object:set_armor_groups({immortal=1}) + --self.object:setacceleration({x=0, y=-10, z=0}) + self:set_node(self.nodename) + end, + + on_step = function(self, dtime) + -- Set gravity + self.object:setacceleration({x=0, y=-10, z=0}) + -- Turn to actual sand when collides to ground or just move + local pos = self.object:getpos() + local bcp = {x=pos.x, y=pos.y-0.7, z=pos.z} -- Position of bottom center point + local bcn = minetest.env:get_node(bcp) + -- Note: walkable is in the node definition, not in item groups + if minetest.registered_nodes[bcn.name] and + minetest.registered_nodes[bcn.name].walkable then + local np = {x=bcp.x, y=bcp.y+1, z=bcp.z} + -- Check what's here + local n2 = minetest.env:get_node(np) + -- If it's not air or liquid, remove node and replace it with + -- it's drops + if n2.name ~= "air" and (not minetest.registered_nodes[n2.name] or + minetest.registered_nodes[n2.name].liquidtype == "none") then + local drops = minetest.get_node_drops(n2.name, "") + minetest.env:remove_node(np) + -- Add dropped items + local _, dropped_item + for _, dropped_item in ipairs(drops) do + minetest.env:add_item(np, dropped_item) + end + -- Run script hook + local _, callback + for _, callback in ipairs(minetest.registered_on_dignodes) do + callback(np, n2, nil) + end + end + -- Create node and remove entity + minetest.env:add_node(np, {name=self.nodename}) + self.object:remove() + else + -- Do nothing + end + end +}) + +function default.spawn_falling_node(p, nodename) + p.x=math.floor(p.x) + p.y=math.floor(p.y) + p.z=math.floor(p.z) + obj = minetest.env:add_entity(p, "default:falling_node") + obj:get_luaentity():set_node(nodename) +end + +-- Horrible crap to support old code +-- Don't use this and never do what this does, it's completely wrong! +-- (More specifically, the client and the C++ code doesn't get the group) +function default.register_falling_node(nodename, texture) + minetest.log("error", debug.traceback()) + minetest.log('error', "WARNING: default.register_falling_node is deprecated") + if minetest.registered_nodes[nodename] then + minetest.registered_nodes[nodename].groups.falling_node = 1 + end +end + +-- +-- Some common functions +-- + +function nodeupdate_single(p) + n = minetest.env:get_node(p) + if minetest.get_node_group(n.name, "falling_node") ~= 0 then + p_bottom = {x=p.x, y=p.y-1, z=p.z} + n_bottom = minetest.env:get_node(p_bottom) + -- Note: walkable is in the node definition, not in item groups + if minetest.registered_nodes[n_bottom.name] and + not minetest.registered_nodes[n_bottom.name].walkable then + minetest.env:remove_node(p) + default.spawn_falling_node(p, n.name) + nodeupdate(p) + end + end +end + +function nodeupdate(p) + for x = -1,1 do + for y = -1,1 do + for z = -1,1 do + p2 = {x=p.x+x, y=p.y+y, z=p.z+z} + nodeupdate_single(p2) + end + end + end +end + +-- +-- Global callbacks +-- + +-- Global environment step function +function on_step(dtime) + -- print("on_step") +end +minetest.register_globalstep(on_step) + +function on_placenode(p, node) + --print("on_placenode") + nodeupdate(p) +end +minetest.register_on_placenode(on_placenode) + +function on_dignode(p, node) + --print("on_dignode") + nodeupdate(p) +end +minetest.register_on_dignode(on_dignode) + +function on_punchnode(p, node) +end +minetest.register_on_punchnode(on_punchnode) + +-- END diff --git a/mods/default/leafdecay.lua b/mods/default/leafdecay.lua new file mode 100644 index 0000000..fe84573 --- /dev/null +++ b/mods/default/leafdecay.lua @@ -0,0 +1,92 @@ +-- minetest/default/leafdecay.lua + +-- To enable leaf decay for a node, add it to the "leafdecay" group. +-- +-- The rating of the group determines how far from a node in the group "tree" +-- the node can be without decaying. +-- +-- If param2 of the node is ~= 0, the node will always be preserved. Thus, if +-- the player places a node of that kind, you will want to set param2=1 or so. + +default.leafdecay_trunk_cache = {} +default.leafdecay_enable_cache = true +-- Spread the load of finding trunks +default.leafdecay_trunk_find_allow_accumulator = 0 + +minetest.register_globalstep(function(dtime) + local finds_per_second = 5000 + default.leafdecay_trunk_find_allow_accumulator = + math.floor(dtime * finds_per_second) +end) + +minetest.register_abm({ + nodenames = {"group:leafdecay"}, + neighbors = {"air", "group:liquid"}, + -- A low interval and a high inverse chance spreads the load + interval = 2, + chance = 5, + + action = function(p0, node, _, _) + --print("leafdecay ABM at "..p0.x..", "..p0.y..", "..p0.z..")") + local do_preserve = false + local d = minetest.registered_nodes[node.name].groups.leafdecay + if not d or d == 0 then + --print("not groups.leafdecay") + return + end + local n0 = minetest.env:get_node(p0) + if n0.param2 ~= 0 then + --print("param2 ~= 0") + return + end + local p0_hash = nil + if default.leafdecay_enable_cache then + p0_hash = minetest.hash_node_position(p0) + local trunkp = default.leafdecay_trunk_cache[p0_hash] + if trunkp then + local n = minetest.env:get_node(trunkp) + local reg = minetest.registered_nodes[n.name] + -- Assume ignore is a trunk, to make the thing work at the border of the active area + if n.name == "ignore" or (reg and reg.groups.tree and reg.groups.tree ~= 0) then + --print("cached trunk still exists") + return + end + --print("cached trunk is invalid") + -- Cache is invalid + table.remove(default.leafdecay_trunk_cache, p0_hash) + end + end + if default.leafdecay_trunk_find_allow_accumulator <= 0 then + return + end + default.leafdecay_trunk_find_allow_accumulator = + default.leafdecay_trunk_find_allow_accumulator - 1 + -- Assume ignore is a trunk, to make the thing work at the border of the active area + local p1 = minetest.env:find_node_near(p0, d, {"ignore", "group:tree"}) + if p1 then + do_preserve = true + if default.leafdecay_enable_cache then + --print("caching trunk") + -- Cache the trunk + default.leafdecay_trunk_cache[p0_hash] = p1 + end + end + if not do_preserve then + -- Drop stuff other than the node itself + itemstacks = minetest.get_node_drops(n0.name) + for _, itemname in ipairs(itemstacks) do + if itemname ~= n0.name then + local p_drop = { + x = p0.x - 0.5 + math.random(), + y = p0.y - 0.5 + math.random(), + z = p0.z - 0.5 + math.random(), + } + minetest.env:add_item(p_drop, itemname) + end + end + -- Remove node + minetest.env:remove_node(p0) + end + end +}) + diff --git a/mods/default/mapgen.lua b/mods/default/mapgen.lua new file mode 100644 index 0000000..419861c --- /dev/null +++ b/mods/default/mapgen.lua @@ -0,0 +1,292 @@ +-- minetest/default/mapgen.lua + +-- +-- Aliases for map generator outputs +-- + +minetest.register_alias("mapgen_air", "air") +minetest.register_alias("mapgen_stone", "default:stone") +minetest.register_alias("mapgen_tree", "default:tree") +minetest.register_alias("mapgen_leaves", "default:leaves") +minetest.register_alias("mapgen_apple", "default:apple") +minetest.register_alias("mapgen_water_source", "default:water_source") +minetest.register_alias("mapgen_dirt", "default:dirt") +minetest.register_alias("mapgen_sand", "default:sand") +minetest.register_alias("mapgen_gravel", "default:gravel") +minetest.register_alias("mapgen_clay", "default:clay") +minetest.register_alias("mapgen_lava_source", "default:lava_source") +minetest.register_alias("mapgen_cobble", "default:cobble") +minetest.register_alias("mapgen_mossycobble", "default:mossycobble") +minetest.register_alias("mapgen_dirt_with_grass", "default:dirt_with_grass") +minetest.register_alias("mapgen_junglegrass", "default:junglegrass") +minetest.register_alias("mapgen_stone_with_coal", "default:stone_with_coal") +minetest.register_alias("mapgen_stone_with_iron", "default:stone_with_iron") +minetest.register_alias("mapgen_mese", "default:mese") +minetest.register_alias("mapgen_desert_sand", "default:desert_sand") +minetest.register_alias("mapgen_desert_stone", "default:desert_stone") + +-- +-- Ore generation +-- + +local function generate_ore(name, wherein, minp, maxp, seed, chunks_per_volume, chunk_size, ore_per_chunk, height_min, height_max) + if maxp.y < height_min or minp.y > height_max then + return + end + local y_min = math.max(minp.y, height_min) + local y_max = math.min(maxp.y, height_max) + local volume = (maxp.x-minp.x+1)*(y_max-y_min+1)*(maxp.z-minp.z+1) + local pr = PseudoRandom(seed) + local num_chunks = math.floor(chunks_per_volume * volume) + local inverse_chance = math.floor(chunk_size*chunk_size*chunk_size / ore_per_chunk) + --print("generate_ore num_chunks: "..dump(num_chunks)) + for i=1,num_chunks do + local y0 = pr:next(y_min, y_max-chunk_size+1) + if y0 >= height_min and y0 <= height_max then + local x0 = pr:next(minp.x, maxp.x-chunk_size+1) + local z0 = pr:next(minp.z, maxp.z-chunk_size+1) + local p0 = {x=x0, y=y0, z=z0} + for x1=0,chunk_size-1 do + for y1=0,chunk_size-1 do + for z1=0,chunk_size-1 do + if pr:next(1,inverse_chance) == 1 then + local x2 = x0+x1 + local y2 = y0+y1 + local z2 = z0+z1 + local p2 = {x=x2, y=y2, z=z2} + if minetest.env:get_node(p2).name == wherein then + minetest.env:set_node(p2, {name=name}) + end + end + end + end + end + end + end + --print("generate_ore done") +end + +function default.make_papyrus(pos, size) + for y=0,size-1 do + local p = {x=pos.x, y=pos.y+y, z=pos.z} + local nn = minetest.env:get_node(p).name + if minetest.registered_nodes[nn] and + minetest.registered_nodes[nn].buildable_to then + minetest.env:set_node(p, {name="default:papyrus"}) + else + return + end + end +end + +function default.make_cactus(pos, size) + for y=0,size-1 do + local p = {x=pos.x, y=pos.y+y, z=pos.z} + local nn = minetest.env:get_node(p).name + if minetest.registered_nodes[nn] and + minetest.registered_nodes[nn].buildable_to then + minetest.env:set_node(p, {name="default:cactus"}) + else + return + end + end +end + +-- facedir: 0/1/2/3 (head node facedir value) +-- length: length of rainbow tail +function default.make_nyancat(pos, facedir, length) + local tailvec = {x=0, y=0, z=0} + if facedir == 0 then + tailvec.z = 1 + elseif facedir == 1 then + tailvec.x = 1 + elseif facedir == 2 then + tailvec.z = -1 + elseif facedir == 3 then + tailvec.x = -1 + else + print("default.make_nyancat(): Invalid facedir: "+dump(facedir)) + facedir = 0 + tailvec.z = 1 + end + local p = {x=pos.x, y=pos.y, z=pos.z} + minetest.env:set_node(p, {name="default:nyancat", param2=facedir}) + for i=1,length do + p.x = p.x + tailvec.x + p.z = p.z + tailvec.z + minetest.env:set_node(p, {name="default:nyancat_rainbow"}) + end +end + +function generate_nyancats(seed, minp, maxp) + local height_min = -31000 + local height_max = -32 + if maxp.y < height_min or minp.y > height_max then + return + end + local y_min = math.max(minp.y, height_min) + local y_max = math.min(maxp.y, height_max) + local volume = (maxp.x-minp.x+1)*(y_max-y_min+1)*(maxp.z-minp.z+1) + local pr = PseudoRandom(seed + 9324342) + local max_num_nyancats = math.floor(volume / (16*16*16)) + for i=1,max_num_nyancats do + if pr:next(0, 1000) == 0 then + local x0 = pr:next(minp.x, maxp.x) + local y0 = pr:next(minp.y, maxp.y) + local z0 = pr:next(minp.z, maxp.z) + local p0 = {x=x0, y=y0, z=z0} + default.make_nyancat(p0, pr:next(0,3), pr:next(3,15)) + end + end +end + +minetest.register_on_generated(function(minp, maxp, seed) + -- Generate regular ores + generate_ore("default:stone_with_coal", "default:stone", minp, maxp, seed+0, 1/8/8/8, 3, 8, -31000, 64) + generate_ore("default:stone_with_iron", "default:stone", minp, maxp, seed+1, 1/12/12/12, 2, 3, -15, 2) + generate_ore("default:stone_with_iron", "default:stone", minp, maxp, seed+2, 1/9/9/9, 3, 5, -63, -16) + generate_ore("default:stone_with_iron", "default:stone", minp, maxp, seed+3, 1/7/7/7, 3, 5, -31000, -64) + generate_ore("default:mese", "default:stone", minp, maxp, seed+4, 1/16/16/16, 2, 3, -127, -64) + generate_ore("default:mese", "default:stone", minp, maxp, seed+5, 1/9/9/9, 3, 5, -31000,-128) + + generate_ore("default:stone_with_coal", "default:stone", minp, maxp, seed+7, 1/24/24/24, 6,27, -31000, 0) + generate_ore("default:stone_with_iron", "default:stone", minp, maxp, seed+6, 1/24/24/24, 6,27, -31000, -64) + + if maxp.y >= 2 and minp.y <= 0 then + -- Generate clay + -- Assume X and Z lengths are equal + local divlen = 4 + local divs = (maxp.x-minp.x)/divlen+1; + for divx=0+1,divs-1-1 do + for divz=0+1,divs-1-1 do + local cx = minp.x + math.floor((divx+0.5)*divlen) + local cz = minp.z + math.floor((divz+0.5)*divlen) + if minetest.env:get_node({x=cx,y=1,z=cz}).name == "default:water_source" and + minetest.env:get_node({x=cx,y=0,z=cz}).name == "default:sand" then + local is_shallow = true + local num_water_around = 0 + if minetest.env:get_node({x=cx-divlen*2,y=1,z=cz+0}).name == "default:water_source" then + num_water_around = num_water_around + 1 end + if minetest.env:get_node({x=cx+divlen*2,y=1,z=cz+0}).name == "default:water_source" then + num_water_around = num_water_around + 1 end + if minetest.env:get_node({x=cx+0,y=1,z=cz-divlen*2}).name == "default:water_source" then + num_water_around = num_water_around + 1 end + if minetest.env:get_node({x=cx+0,y=1,z=cz+divlen*2}).name == "default:water_source" then + num_water_around = num_water_around + 1 end + if num_water_around >= 2 then + is_shallow = false + end + if is_shallow then + for x1=-divlen,divlen do + for z1=-divlen,divlen do + if minetest.env:get_node({x=cx+x1,y=0,z=cz+z1}).name == "default:sand" then + minetest.env:set_node({x=cx+x1,y=0,z=cz+z1}, {name="default:clay"}) + end + end + end + end + end + end + end + -- Generate papyrus + local perlin1 = minetest.env:get_perlin(354, 3, 0.7, 100) + -- Assume X and Z lengths are equal + local divlen = 8 + local divs = (maxp.x-minp.x)/divlen+1; + for divx=0,divs-1 do + for divz=0,divs-1 do + local x0 = minp.x + math.floor((divx+0)*divlen) + local z0 = minp.z + math.floor((divz+0)*divlen) + local x1 = minp.x + math.floor((divx+1)*divlen) + local z1 = minp.z + math.floor((divz+1)*divlen) + -- Determine papyrus amount from perlin noise + local papyrus_amount = math.floor(perlin1:get2d({x=x0, y=z0}) * 45 - 20) + -- Find random positions for papyrus based on this random + local pr = PseudoRandom(seed+1) + for i=0,papyrus_amount do + local x = pr:next(x0, x1) + local z = pr:next(z0, z1) + if minetest.env:get_node({x=x,y=1,z=z}).name == "default:dirt_with_grass" and + minetest.env:find_node_near({x=x,y=1,z=z}, 1, "default:water_source") then + default.make_papyrus({x=x,y=2,z=z}, pr:next(2, 4)) + end + end + end + end + -- Generate cactuses + local perlin1 = minetest.env:get_perlin(230, 3, 0.6, 100) + -- Assume X and Z lengths are equal + local divlen = 16 + local divs = (maxp.x-minp.x)/divlen+1; + for divx=0,divs-1 do + for divz=0,divs-1 do + local x0 = minp.x + math.floor((divx+0)*divlen) + local z0 = minp.z + math.floor((divz+0)*divlen) + local x1 = minp.x + math.floor((divx+1)*divlen) + local z1 = minp.z + math.floor((divz+1)*divlen) + -- Determine cactus amount from perlin noise + local cactus_amount = math.floor(perlin1:get2d({x=x0, y=z0}) * 6 - 3) + -- Find random positions for cactus based on this random + local pr = PseudoRandom(seed+1) + for i=0,cactus_amount do + local x = pr:next(x0, x1) + local z = pr:next(z0, z1) + -- Find ground level (0...15) + local ground_y = nil + for y=30,0,-1 do + if minetest.env:get_node({x=x,y=y,z=z}).name ~= "air" then + ground_y = y + break + end + end + -- If desert sand, make cactus + if ground_y and minetest.env:get_node({x=x,y=ground_y,z=z}).name == "default:desert_sand" then + default.make_cactus({x=x,y=ground_y+1,z=z}, pr:next(3, 4)) + end + end + end + end + -- Generate dry shrubs + local perlin1 = minetest.env:get_perlin(329, 3, 0.6, 100) + -- Assume X and Z lengths are equal + local divlen = 16 + local divs = (maxp.x-minp.x)/divlen+1; + for divx=0,divs-1 do + for divz=0,divs-1 do + local x0 = minp.x + math.floor((divx+0)*divlen) + local z0 = minp.z + math.floor((divz+0)*divlen) + local x1 = minp.x + math.floor((divx+1)*divlen) + local z1 = minp.z + math.floor((divz+1)*divlen) + -- Determine dry shrubs amount from perlin noise + local shrub_amount = math.floor(perlin1:get2d({x=x0, y=z0}) * 5 + 0) + -- Find random positions for dry shrubs based on this random + local pr = PseudoRandom(seed+1) + for i=0,shrub_amount do + local x = pr:next(x0, x1) + local z = pr:next(z0, z1) + -- Find ground level (0...15) + local ground_y = nil + for y=30,0,-1 do + if minetest.env:get_node({x=x,y=y,z=z}).name ~= "air" then + ground_y = y + break + end + end + -- If desert sand, make dry shrub + if ground_y and minetest.env:get_node({x=x,y=ground_y,z=z}).name == "default:desert_sand" then + local p = {x=x,y=ground_y+1,z=z} + local nn = minetest.env:get_node(p).name + if minetest.registered_nodes[nn] and + minetest.registered_nodes[nn].buildable_to then + minetest.env:set_node(p, {name="default:dry_shrub"}) + end + end + end + end + end + end + + -- Generate nyan cats + generate_nyancats(seed, minp, maxp) +end) + diff --git a/mods/default/models/character.blend b/mods/default/models/character.blend new file mode 100644 index 0000000..cb1a670 Binary files /dev/null and b/mods/default/models/character.blend differ diff --git a/mods/default/models/character.png b/mods/default/models/character.png new file mode 100644 index 0000000..8d0dd99 Binary files /dev/null and b/mods/default/models/character.png differ diff --git a/mods/default/models/character.x b/mods/default/models/character.x new file mode 100644 index 0000000..bb5cec5 --- /dev/null +++ b/mods/default/models/character.x @@ -0,0 +1,6557 @@ +xof 0303txt 0032 + +template XSkinMeshHeader { + <3cf169ce-ff7c-44ab-93c0-f78f62d172e2> + WORD nMaxSkinWeightsPerVertex; + WORD nMaxSkinWeightsPerFace; + WORD nBones; +} + +template SkinWeights { + <6f0d123b-bad2-4167-a0d0-80224f25fabb> + STRING transformNodeName; + DWORD nWeights; + array DWORD vertexIndices[nWeights]; + array float weights[nWeights]; + Matrix4x4 matrixOffset; +} + +Frame Root { + FrameTransformMatrix { + 1.000000, 0.000000, 0.000000, 0.000000, + 0.000000, 0.000000, 1.000000, 0.000000, + 0.000000, 1.000000,-0.000000, 0.000000, + 0.000000, 0.000000, 0.000000, 1.000000;; + } + Frame Armature { + FrameTransformMatrix { + 1.000000, 0.000000, 0.000000, 0.000000, + 0.000000, 1.000000, 0.000000, 0.000000, + 0.000000, 0.000000, 1.000000, 0.000000, + 0.000000, 0.000000,-10.000000, 1.000000;; + } + Frame Armature_Body { + FrameTransformMatrix { + 1.000000, 0.000000, 0.000000, 0.000000, + 0.000000, 0.000000, 1.000000, 0.000000, + 0.000000,-1.000000, 0.000000, 0.000000, + -0.000000, 0.000000, 6.750000, 1.000000;; + } + Frame Armature_Head { + FrameTransformMatrix { + -1.000000,-0.000000, 0.000000, 0.000000, + 0.000000, 1.000000, 0.000000, 0.000000, + -0.000000, 0.000000,-1.000000, 0.000000, + 0.000000, 6.750000, 0.000000, 1.000000;; + } + } //End of Armature_Head + Frame Armature_Arm_Left { + FrameTransformMatrix { + 0.989214,-0.143886,-0.027450, 0.000000, + -0.143940,-0.989586,-0.000000, 0.000000, + -0.027164, 0.003951,-0.999623, 0.000000, + -2.000000, 6.750000, 0.000000, 1.000000;; + } + } //End of Armature_Arm_Left + Frame Armature_Arm_Right { + FrameTransformMatrix { + 0.989214, 0.143886, 0.027450, 0.000000, + 0.143940,-0.989586,-0.000000, 0.000000, + 0.027164, 0.003951,-0.999623, 0.000000, + 2.000000, 6.750000, 0.000000, 1.000000;; + } + } //End of Armature_Arm_Right + Frame Armature_Leg_Right { + FrameTransformMatrix { + 1.000000, 0.000000,-0.000000, 0.000000, + -0.000000,-1.000000,-0.000000, 0.000000, + -0.000000, 0.000000,-1.000000, 0.000000, + 1.000000, 0.000000,-0.000001, 1.000000;; + } + } //End of Armature_Leg_Right + Frame Armature_Leg_Left { + FrameTransformMatrix { + 1.000000, 0.000000,-0.000000, 0.000000, + -0.000000,-1.000000,-0.000000, 0.000000, + -0.000000, 0.000000,-1.000000, 0.000000, + -1.000000, 0.000000,-0.000001, 1.000000;; + } + } //End of Armature_Leg_Left + } //End of Armature_Body + Frame Player { + FrameTransformMatrix { + 1.000000, 0.000000, 0.000000, 0.000000, + 0.000000, 1.000000, 0.000000, 0.000000, + 0.000000, 0.000000, 1.000000, 0.000000, + 0.000000, 0.000000, 0.000000, 1.000000;; + } + Mesh { //Cube_001 Mesh + 168; + 2.000000;-1.000000; 6.750000;, + -2.000000;-1.000000; 6.750000;, + -2.000000;-1.000000;13.500000;, + 2.000000;-1.000000;13.500000;, + -2.000000;-1.000000; 6.750000;, + -2.000000; 1.000000; 6.750000;, + -2.000000; 1.000000;13.500000;, + -2.000000;-1.000000;13.500000;, + -2.000000; 1.000000; 6.750000;, + 2.000000; 1.000000; 6.750000;, + 2.000000; 1.000000;13.500000;, + -2.000000; 1.000000;13.500000;, + -2.000000; 1.000000; 6.750000;, + -2.000000;-1.000000; 6.750000;, + 2.000000;-1.000000; 6.750000;, + 2.000000; 1.000000; 6.750000;, + 2.000000; 1.000000;13.500000;, + 2.000000;-1.000000;13.500000;, + -2.000000;-1.000000;13.500000;, + -2.000000; 1.000000;13.500000;, + 0.000000;-1.000000; 6.750000;, + 0.000000;-1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 6.750000;, + -2.000000;-1.000000; 6.750000;, + -4.000000;-1.000000; 6.750000;, + -4.000000;-1.000000;13.500000;, + -2.000000;-1.000000;13.500000;, + -2.000000; 1.000000; 6.750000;, + -2.000000;-1.000000; 6.750000;, + -2.000000;-1.000000;13.500000;, + -2.000000; 1.000000;13.500000;, + -2.000000; 1.000000; 0.000000;, + -2.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + -2.000000;-1.000000; 0.000000;, + -2.000000; 1.000000; 0.000000;, + -2.000000; 1.000000; 6.750000;, + -2.000000;-1.000000; 6.750000;, + 2.000000;-2.000000;13.500000;, + -2.000000;-2.000000;13.500000;, + -2.000000;-2.000000;17.500000;, + 2.000000;-2.000000;17.500000;, + -2.000000;-2.000000;13.500000;, + -2.000000; 2.000000;13.500000;, + -2.000000; 2.000000;17.500000;, + -2.000000;-2.000000;17.500000;, + -2.000000; 2.000000;13.500000;, + 2.000000; 2.000000;13.500000;, + 2.000000; 2.000000;17.500000;, + -2.000000; 2.000000;17.500000;, + -2.000000; 2.000000;13.500000;, + -2.000000;-2.000000;13.500000;, + 2.000000;-2.000000;13.500000;, + 2.000000; 2.000000;13.500000;, + 2.000000; 2.000000;17.500000;, + 2.000000;-2.000000;17.500000;, + -2.000000;-2.000000;17.500000;, + -2.000000; 2.000000;17.500000;, + -0.000000;-1.000000; 0.000000;, + -2.000000;-1.000000; 0.000000;, + -2.000000;-1.000000; 6.750000;, + 0.000000;-1.000000; 6.750000;, + 0.000000; 1.000000; 6.750000;, + 0.000000; 1.000000; 0.000000;, + 2.000000; 1.000000; 0.000000;, + 2.000000; 1.000000; 6.750000;, + -2.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 6.750000;, + -2.000000; 1.000000; 6.750000;, + 2.000000;-1.000000; 6.750000;, + 4.000000;-1.000000; 6.750000;, + 4.000000; 1.000000; 6.750000;, + 2.000000; 1.000000; 6.750000;, + 4.000000;-1.000000;13.500000;, + 2.000000;-1.000000;13.500000;, + 2.000000; 1.000000;13.500000;, + 4.000000; 1.000000;13.500000;, + 2.000000;-1.000000; 6.750000;, + 2.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 6.750000;, + 0.000000; 1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 6.750000;, + 0.000000; 1.000000; 6.750000;, + 2.000000; 1.000000; 6.750000;, + 2.000000; 1.000000; 0.000000;, + 2.000000;-1.000000; 0.000000;, + 2.000000;-1.000000; 6.750000;, + 2.000000; 1.000000;13.500000;, + 2.000000; 1.000000; 6.750000;, + 2.000000;-1.000000; 6.750000;, + 2.000000;-1.000000;13.500000;, + 2.000000; 2.000000;17.500000;, + 2.000000; 2.000000;13.500000;, + 2.000000;-2.000000;13.500000;, + 2.000000;-2.000000;17.500000;, + 0.000000; 1.000000; 6.750000;, + 0.000000;-1.000000; 6.750000;, + -2.000000;-1.000000; 6.750000;, + -2.000000; 1.000000; 6.750000;, + -4.000000; 1.000000; 6.750000;, + -2.000000; 1.000000; 6.750000;, + -2.000000; 1.000000;13.500000;, + -4.000000; 1.000000;13.500000;, + -4.000000;-1.000000; 6.750000;, + -4.000000; 1.000000; 6.750000;, + -4.000000; 1.000000;13.500000;, + -4.000000;-1.000000;13.500000;, + 4.000000; 1.000000;13.500000;, + 4.000000; 1.000000; 6.750000;, + 4.000000;-1.000000; 6.750000;, + 4.000000;-1.000000;13.500000;, + -2.000000; 1.000000;13.500000;, + -2.000000;-1.000000;13.500000;, + -4.000000;-1.000000;13.500000;, + -4.000000; 1.000000;13.500000;, + 2.000000; 1.000000;13.500000;, + 2.000000; 1.000000; 6.750000;, + 4.000000; 1.000000; 6.750000;, + 4.000000; 1.000000;13.500000;, + 0.000000;-1.000000; 0.000000;, + 2.000000;-1.000000; 0.000000;, + 2.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 2.000000;-1.000000;13.500000;, + 2.000000;-1.000000; 6.750000;, + 2.000000; 1.000000; 6.750000;, + 2.000000; 1.000000;13.500000;, + -4.000000; 1.000000; 6.750000;, + -4.000000;-1.000000; 6.750000;, + -2.000000;-1.000000; 6.750000;, + -2.000000; 1.000000; 6.750000;, + 4.000000;-1.000000;13.500000;, + 4.000000;-1.000000; 6.750000;, + 2.000000;-1.000000; 6.750000;, + 2.000000;-1.000000;13.500000;, + 2.000000;-1.000000; 6.750000;, + 0.000000;-1.000000; 6.750000;, + 0.000000; 1.000000; 6.750000;, + 2.000000; 1.000000; 6.750000;, + 2.200000;-2.200000;13.300000;, + -2.200000;-2.200000;13.300000;, + -2.200000;-2.200000;17.700001;, + 2.200000;-2.200000;17.700001;, + -2.200000;-2.200000;13.300000;, + -2.200000; 2.200000;13.300000;, + -2.200000; 2.200000;17.700001;, + -2.200000;-2.200000;17.700001;, + -2.200000; 2.200000;13.300000;, + 2.200000; 2.200000;13.300000;, + 2.200000; 2.200000;17.700001;, + -2.200000; 2.200000;17.700001;, + -2.200000; 2.200000;13.300000;, + -2.200000;-2.200000;13.300000;, + 2.200000;-2.200000;13.300000;, + 2.200000; 2.200000;13.300000;, + 2.200000; 2.200000;17.700001;, + 2.200000;-2.200000;17.700001;, + -2.200000;-2.200000;17.700001;, + -2.200000; 2.200000;17.700001;, + 2.200000; 2.200000;17.700001;, + 2.200000; 2.200000;13.300000;, + 2.200000;-2.200000;13.300000;, + 2.200000;-2.200000;17.700001;; + 42; + 4;0;1;2;3;, + 4;4;5;6;7;, + 4;8;9;10;11;, + 4;12;13;14;15;, + 4;16;17;18;19;, + 4;20;21;22;23;, + 4;24;25;26;27;, + 4;28;29;30;31;, + 4;32;33;34;35;, + 4;36;37;38;39;, + 4;40;41;42;43;, + 4;44;45;46;47;, + 4;48;49;50;51;, + 4;52;53;54;55;, + 4;56;57;58;59;, + 4;60;61;62;63;, + 4;64;65;66;67;, + 4;68;69;70;71;, + 4;72;73;74;75;, + 4;76;77;78;79;, + 4;80;81;82;83;, + 4;84;85;86;87;, + 4;88;89;90;91;, + 4;92;93;94;95;, + 4;96;97;98;99;, + 4;100;101;102;103;, + 4;104;105;106;107;, + 4;108;109;110;111;, + 4;112;113;114;115;, + 4;116;117;118;119;, + 4;120;121;122;123;, + 4;124;125;126;127;, + 4;128;129;130;131;, + 4;132;133;134;135;, + 4;136;137;138;139;, + 4;140;141;142;143;, + 4;144;145;146;147;, + 4;148;149;150;151;, + 4;152;153;154;155;, + 4;156;157;158;159;, + 4;160;161;162;163;, + 4;164;165;166;167;; + MeshNormals { //Cube_001 Normals + 168; + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + -0.000000; 1.000000; 0.000000;, + -0.000000; 1.000000; 0.000000;, + -0.000000; 1.000000; 0.000000;, + -0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000;-0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -0.000000; 1.000000; 0.000000;, + -0.000000; 1.000000; 0.000000;, + -0.000000; 1.000000; 0.000000;, + -0.000000; 1.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 1.000000; 0.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;; + 42; + 4;0;1;2;3;, + 4;4;5;6;7;, + 4;8;9;10;11;, + 4;12;13;14;15;, + 4;16;17;18;19;, + 4;20;21;22;23;, + 4;24;25;26;27;, + 4;28;29;30;31;, + 4;32;33;34;35;, + 4;36;37;38;39;, + 4;40;41;42;43;, + 4;44;45;46;47;, + 4;48;49;50;51;, + 4;52;53;54;55;, + 4;56;57;58;59;, + 4;60;61;62;63;, + 4;64;65;66;67;, + 4;68;69;70;71;, + 4;72;73;74;75;, + 4;76;77;78;79;, + 4;80;81;82;83;, + 4;84;85;86;87;, + 4;88;89;90;91;, + 4;92;93;94;95;, + 4;96;97;98;99;, + 4;100;101;102;103;, + 4;104;105;106;107;, + 4;108;109;110;111;, + 4;112;113;114;115;, + 4;116;117;118;119;, + 4;120;121;122;123;, + 4;124;125;126;127;, + 4;128;129;130;131;, + 4;132;133;134;135;, + 4;136;137;138;139;, + 4;140;141;142;143;, + 4;144;145;146;147;, + 4;148;149;150;151;, + 4;152;153;154;155;, + 4;156;157;158;159;, + 4;160;161;162;163;, + 4;164;165;166;167;; + } //End of Cube_001 Normals + MeshMaterialList { //Cube_001 Material List + 1; + 42; + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0;; + Material Character { + 0.640000; 0.640000; 0.640000; 1.000000;; + 96.078431; + 0.000000; 0.000000; 0.000000;; + 0.000000; 0.000000; 0.000000;; + TextureFilename {"character.png";} + } + } //End of Cube_001 Material List + MeshTextureCoords { //Cube_001 UV Coordinates + 168; + 0.625000; 1.000000;, + 0.500000; 1.000000;, + 0.500000; 0.625000;, + 0.625000; 0.625000;, + 0.500000; 1.000000;, + 0.437500; 1.000000;, + 0.437500; 0.625000;, + 0.500000; 0.625000;, + 0.437500; 1.000000;, + 0.312500; 1.000000;, + 0.312500; 0.625000;, + 0.437500; 0.625000;, + 0.437500; 0.625000;, + 0.437500; 0.500000;, + 0.562500; 0.500000;, + 0.562500; 0.625000;, + 0.312500; 0.625000;, + 0.312500; 0.500000;, + 0.437500; 0.500000;, + 0.437500; 0.625000;, + 0.125000; 0.625000;, + 0.125000; 1.000000;, + 0.187500; 1.000000;, + 0.187500; 0.625000;, + 0.812500; 1.000000;, + 0.875000; 1.000000;, + 0.875000; 0.625000;, + 0.812500; 0.625000;, + 0.750000; 1.000000;, + 0.812500; 1.000000;, + 0.812500; 0.625000;, + 0.750000; 0.625000;, + 0.125000; 0.625000;, + 0.125000; 0.500000;, + 0.187500; 0.500000;, + 0.187500; 0.625000;, + 0.000000; 1.000000;, + 0.062500; 1.000000;, + 0.062500; 0.625000;, + 0.000000; 0.625000;, + 0.500000; 0.500000;, + 0.375000; 0.500000;, + 0.375000; 0.250000;, + 0.500000; 0.250000;, + 0.375000; 0.500000;, + 0.250000; 0.500000;, + 0.250000; 0.250000;, + 0.375000; 0.250000;, + 0.250000; 0.500000;, + 0.125000; 0.500000;, + 0.125000; 0.250000;, + 0.250000; 0.250000;, + 0.250000; 0.250000;, + 0.250000; 0.000000;, + 0.375000; 0.000000;, + 0.375000; 0.250000;, + 0.125000; 0.250000;, + 0.125000; 0.000000;, + 0.250000; 0.000000;, + 0.250000; 0.250000;, + 0.250000; 1.000000;, + 0.187500; 1.000000;, + 0.187500; 0.625000;, + 0.250000; 0.625000;, + 0.062500; 0.625000;, + 0.062500; 1.000000;, + 0.125000; 1.000000;, + 0.125000; 0.625000;, + 0.125000; 1.000000;, + 0.062500; 1.000000;, + 0.062500; 0.625000;, + 0.125000; 0.625000;, + 0.750000; 0.500000;, + 0.812500; 0.500000;, + 0.812500; 0.625000;, + 0.750000; 0.625000;, + 0.687500; 0.500000;, + 0.750000; 0.500000;, + 0.750000; 0.625000;, + 0.687500; 0.625000;, + 0.187500; 0.625000;, + 0.187500; 1.000000;, + 0.250000; 1.000000;, + 0.250000; 0.625000;, + 0.187500; 1.000000;, + 0.125000; 1.000000;, + 0.125000; 0.625000;, + 0.187500; 0.625000;, + 0.062500; 0.625000;, + 0.062500; 1.000000;, + 0.000000; 1.000000;, + 0.000000; 0.625000;, + 0.312500; 0.625000;, + 0.312500; 1.000000;, + 0.250000; 1.000000;, + 0.250000; 0.625000;, + 0.125000; 0.250000;, + 0.125000; 0.500000;, + 0.000000; 0.500000;, + 0.000000; 0.250000;, + 0.062500; 0.625000;, + 0.062500; 0.500000;, + 0.125000; 0.500000;, + 0.125000; 0.625000;, + 0.687500; 1.000000;, + 0.750000; 1.000000;, + 0.750000; 0.625000;, + 0.687500; 0.625000;, + 0.687500; 1.000000;, + 0.625000; 1.000000;, + 0.625000; 0.625000;, + 0.687500; 0.625000;, + 0.625000; 0.625000;, + 0.625000; 1.000000;, + 0.687500; 1.000000;, + 0.687500; 0.625000;, + 0.750000; 0.625000;, + 0.750000; 0.500000;, + 0.687500; 0.500000;, + 0.687500; 0.625000;, + 0.750000; 0.625000;, + 0.750000; 1.000000;, + 0.687500; 1.000000;, + 0.687500; 0.625000;, + 0.187500; 0.500000;, + 0.125000; 0.500000;, + 0.125000; 0.625000;, + 0.187500; 0.625000;, + 0.812500; 0.625000;, + 0.812500; 1.000000;, + 0.750000; 1.000000;, + 0.750000; 0.625000;, + 0.812500; 0.625000;, + 0.812500; 0.500000;, + 0.750000; 0.500000;, + 0.750000; 0.625000;, + 0.875000; 0.625000;, + 0.875000; 1.000000;, + 0.812500; 1.000000;, + 0.812500; 0.625000;, + 0.125000; 0.500000;, + 0.062500; 0.500000;, + 0.062500; 0.625000;, + 0.125000; 0.625000;, + 1.000000; 0.500000;, + 0.875000; 0.500000;, + 0.875000; 0.250000;, + 1.000000; 0.250000;, + 0.875000; 0.500000;, + 0.750000; 0.500000;, + 0.750000; 0.250000;, + 0.875000; 0.250000;, + 0.750000; 0.500000;, + 0.625000; 0.500000;, + 0.625000; 0.250000;, + 0.750000; 0.250000;, + 0.750000; 0.250000;, + 0.750000; 0.000000;, + 0.875000; 0.000000;, + 0.875000; 0.250000;, + 0.625000; 0.250000;, + 0.625000; 0.000000;, + 0.750000; 0.000000;, + 0.750000; 0.250000;, + 0.625000; 0.250000;, + 0.625000; 0.500000;, + 0.500000; 0.500000;, + 0.500000; 0.250000;; + } //End of Cube_001 UV Coordinates + XSkinMeshHeader { + 1; + 3; + 6; + } + SkinWeights { + "Armature_Leg_Right"; + 24; + 20, + 21, + 22, + 23, + 64, + 65, + 66, + 67, + 80, + 81, + 82, + 83, + 88, + 89, + 90, + 91, + 124, + 125, + 126, + 127, + 140, + 141, + 142, + 143; + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000; + 1.000000,-0.000000,-0.000000, 0.000000, + 0.000000, 0.000000, 1.000000, 0.000000, + -0.000000,-1.000000, 0.000000, 0.000000, + -1.000000, 6.750001,-0.000001, 1.000000;; + } //End of Armature_Leg_Right Skin Weights + SkinWeights { + "Armature_Leg_Left"; + 24; + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 60, + 61, + 62, + 63, + 68, + 69, + 70, + 71, + 84, + 85, + 86, + 87, + 100, + 101, + 102, + 103; + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000; + 1.000000,-0.000000,-0.000000, 0.000000, + 0.000000, 0.000000, 1.000000, 0.000000, + -0.000000,-1.000000, 0.000000, 0.000000, + 1.000000, 6.750001,-0.000001, 1.000000;; + } //End of Armature_Leg_Left Skin Weights + SkinWeights { + "Armature_Body"; + 24; + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 92, + 93, + 94, + 95; + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000; + 1.000000, 0.000000, 0.000000, 0.000000, + 0.000000, 0.000000,-1.000000, 0.000000, + 0.000000, 1.000000, 0.000000, 0.000000, + 0.000000,-6.750000,-0.000001, 1.000000;; + } //End of Armature_Body Skin Weights + SkinWeights { + "Armature_Head"; + 48; + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 96, + 97, + 98, + 99, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167; + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000; + -1.000000, 0.000000,-0.000000, 0.000000, + -0.000000,-0.000000, 1.000000, 0.000000, + 0.000000, 1.000000, 0.000000, 0.000000, + -0.000000,-13.500000,-0.000002, 1.000000;; + } //End of Armature_Head Skin Weights + SkinWeights { + "Armature_Arm_Left"; + 24; + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 116, + 117, + 118, + 119, + 132, + 133, + 134, + 135; + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000; + 0.989214,-0.143940,-0.027164, 0.000000, + 0.027450,-0.000000, 0.999623, 0.000000, + -0.143886,-0.989587, 0.003951, 0.000000, + 3.920884,13.071540,-0.107668, 1.000000;; + } //End of Armature_Arm_Left Skin Weights + SkinWeights { + "Armature_Arm_Right"; + 24; + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 112, + 113, + 114, + 115, + 120, + 121, + 122, + 123, + 128, + 129, + 130, + 131, + 136, + 137, + 138, + 139; + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000; + 0.989214, 0.143940, 0.027164, 0.000000, + -0.027450,-0.000000, 0.999623, 0.000000, + 0.143886,-0.989587, 0.003951, 0.000000, + -3.920884,13.071540,-0.107668, 1.000000;; + } //End of Armature_Arm_Right Skin Weights + } //End of Cube_001 Mesh + } //End of Player + } //End of Armature +} //End of Root Frame +AnimationSet { + Animation { + {Armature} + AnimationKey { //Position + 2; + 221; + 0;3; 0.000000, 0.000000,-10.000000;;, + 1;3; 0.000000, 0.000000,-10.000000;;, + 2;3; 0.000000, 0.000000,-10.000000;;, + 3;3; 0.000000, 0.000000,-10.000000;;, + 4;3; 0.000000, 0.000000,-10.000000;;, + 5;3; 0.000000, 0.000000,-10.000000;;, + 6;3; 0.000000, 0.000000,-10.000000;;, + 7;3; 0.000000, 0.000000,-10.000000;;, + 8;3; 0.000000, 0.000000,-10.000000;;, + 9;3; 0.000000, 0.000000,-10.000000;;, + 10;3; 0.000000, 0.000000,-10.000000;;, + 11;3; 0.000000, 0.000000,-10.000000;;, + 12;3; 0.000000, 0.000000,-10.000000;;, + 13;3; 0.000000, 0.000000,-10.000000;;, + 14;3; 0.000000, 0.000000,-10.000000;;, + 15;3; 0.000000, 0.000000,-10.000000;;, + 16;3; 0.000000, 0.000000,-10.000000;;, + 17;3; 0.000000, 0.000000,-10.000000;;, + 18;3; 0.000000, 0.000000,-10.000000;;, + 19;3; 0.000000, 0.000000,-10.000000;;, + 20;3; 0.000000, 0.000000,-10.000000;;, + 21;3; 0.000000, 0.000000,-10.000000;;, + 22;3; 0.000000, 0.000000,-10.000000;;, + 23;3; 0.000000, 0.000000,-10.000000;;, + 24;3; 0.000000, 0.000000,-10.000000;;, + 25;3; 0.000000, 0.000000,-10.000000;;, + 26;3; 0.000000, 0.000000,-10.000000;;, + 27;3; 0.000000, 0.000000,-10.000000;;, + 28;3; 0.000000, 0.000000,-10.000000;;, + 29;3; 0.000000, 0.000000,-10.000000;;, + 30;3; 0.000000, 0.000000,-10.000000;;, + 31;3; 0.000000, 0.000000,-10.000000;;, + 32;3; 0.000000, 0.000000,-10.000000;;, + 33;3; 0.000000, 0.000000,-10.000000;;, + 34;3; 0.000000, 0.000000,-10.000000;;, + 35;3; 0.000000, 0.000000,-10.000000;;, + 36;3; 0.000000, 0.000000,-10.000000;;, + 37;3; 0.000000, 0.000000,-10.000000;;, + 38;3; 0.000000, 0.000000,-10.000000;;, + 39;3; 0.000000, 0.000000,-10.000000;;, + 40;3; 0.000000, 0.000000,-10.000000;;, + 41;3; 0.000000, 0.000000,-10.000000;;, + 42;3; 0.000000, 0.000000,-10.000000;;, + 43;3; 0.000000, 0.000000,-10.000000;;, + 44;3; 0.000000, 0.000000,-10.000000;;, + 45;3; 0.000000, 0.000000,-10.000000;;, + 46;3; 0.000000, 0.000000,-10.000000;;, + 47;3; 0.000000, 0.000000,-10.000000;;, + 48;3; 0.000000, 0.000000,-10.000000;;, + 49;3; 0.000000, 0.000000,-10.000000;;, + 50;3; 0.000000, 0.000000,-10.000000;;, + 51;3; 0.000000, 0.000000,-10.000000;;, + 52;3; 0.000000, 0.000000,-10.000000;;, + 53;3; 0.000000, 0.000000,-10.000000;;, + 54;3; 0.000000, 0.000000,-10.000000;;, + 55;3; 0.000000, 0.000000,-10.000000;;, + 56;3; 0.000000, 0.000000,-10.000000;;, + 57;3; 0.000000, 0.000000,-10.000000;;, + 58;3; 0.000000, 0.000000,-10.000000;;, + 59;3; 0.000000, 0.000000,-10.000000;;, + 60;3; 0.000000, 0.000000,-10.000000;;, + 61;3; 0.000000, 0.000000,-10.000000;;, + 62;3; 0.000000, 0.000000,-10.000000;;, + 63;3; 0.000000, 0.000000,-10.000000;;, + 64;3; 0.000000, 0.000000,-10.000000;;, + 65;3; 0.000000, 0.000000,-10.000000;;, + 66;3; 0.000000, 0.000000,-10.000000;;, + 67;3; 0.000000, 0.000000,-10.000000;;, + 68;3; 0.000000, 0.000000,-10.000000;;, + 69;3; 0.000000, 0.000000,-10.000000;;, + 70;3; 0.000000, 0.000000,-10.000000;;, + 71;3; 0.000000, 0.000000,-10.000000;;, + 72;3; 0.000000, 0.000000,-10.000000;;, + 73;3; 0.000000, 0.000000,-10.000000;;, + 74;3; 0.000000, 0.000000,-10.000000;;, + 75;3; 0.000000, 0.000000,-10.000000;;, + 76;3; 0.000000, 0.000000,-10.000000;;, + 77;3; 0.000000, 0.000000,-10.000000;;, + 78;3; 0.000000, 0.000000,-10.000000;;, + 79;3; 0.000000, 0.000000,-10.000000;;, + 80;3; 0.000000, 0.000000,-10.000000;;, + 81;3; 0.000000, 0.000000,-10.000000;;, + 82;3; 0.000000, 0.000000,-10.000000;;, + 83;3; 0.000000, 0.000000,-10.000000;;, + 84;3; 0.000000, 0.000000,-10.000000;;, + 85;3; 0.000000, 0.000000,-10.000000;;, + 86;3; 0.000000, 0.000000,-10.000000;;, + 87;3; 0.000000, 0.000000,-10.000000;;, + 88;3; 0.000000, 0.000000,-10.000000;;, + 89;3; 0.000000, 0.000000,-10.000000;;, + 90;3; 0.000000, 0.000000,-10.000000;;, + 91;3; 0.000000, 0.000000,-10.000000;;, + 92;3; 0.000000, 0.000000,-10.000000;;, + 93;3; 0.000000, 0.000000,-10.000000;;, + 94;3; 0.000000, 0.000000,-10.000000;;, + 95;3; 0.000000, 0.000000,-10.000000;;, + 96;3; 0.000000, 0.000000,-10.000000;;, + 97;3; 0.000000, 0.000000,-10.000000;;, + 98;3; 0.000000, 0.000000,-10.000000;;, + 99;3; 0.000000, 0.000000,-10.000000;;, + 100;3; 0.000000, 0.000000,-10.000000;;, + 101;3; 0.000000, 0.000000,-10.000000;;, + 102;3; 0.000000, 0.000000,-10.000000;;, + 103;3; 0.000000, 0.000000,-10.000000;;, + 104;3; 0.000000, 0.000000,-10.000000;;, + 105;3; 0.000000, 0.000000,-10.000000;;, + 106;3; 0.000000, 0.000000,-10.000000;;, + 107;3; 0.000000, 0.000000,-10.000000;;, + 108;3; 0.000000, 0.000000,-10.000000;;, + 109;3; 0.000000, 0.000000,-10.000000;;, + 110;3; 0.000000, 0.000000,-10.000000;;, + 111;3; 0.000000, 0.000000,-10.000000;;, + 112;3; 0.000000, 0.000000,-10.000000;;, + 113;3; 0.000000, 0.000000,-10.000000;;, + 114;3; 0.000000, 0.000000,-10.000000;;, + 115;3; 0.000000, 0.000000,-10.000000;;, + 116;3; 0.000000, 0.000000,-10.000000;;, + 117;3; 0.000000, 0.000000,-10.000000;;, + 118;3; 0.000000, 0.000000,-10.000000;;, + 119;3; 0.000000, 0.000000,-10.000000;;, + 120;3; 0.000000, 0.000000,-10.000000;;, + 121;3; 0.000000, 0.000000,-10.000000;;, + 122;3; 0.000000, 0.000000,-10.000000;;, + 123;3; 0.000000, 0.000000,-10.000000;;, + 124;3; 0.000000, 0.000000,-10.000000;;, + 125;3; 0.000000, 0.000000,-10.000000;;, + 126;3; 0.000000, 0.000000,-10.000000;;, + 127;3; 0.000000, 0.000000,-10.000000;;, + 128;3; 0.000000, 0.000000,-10.000000;;, + 129;3; 0.000000, 0.000000,-10.000000;;, + 130;3; 0.000000, 0.000000,-10.000000;;, + 131;3; 0.000000, 0.000000,-10.000000;;, + 132;3; 0.000000, 0.000000,-10.000000;;, + 133;3; 0.000000, 0.000000,-10.000000;;, + 134;3; 0.000000, 0.000000,-10.000000;;, + 135;3; 0.000000, 0.000000,-10.000000;;, + 136;3; 0.000000, 0.000000,-10.000000;;, + 137;3; 0.000000, 0.000000,-10.000000;;, + 138;3; 0.000000, 0.000000,-10.000000;;, + 139;3; 0.000000, 0.000000,-10.000000;;, + 140;3; 0.000000, 0.000000,-10.000000;;, + 141;3; 0.000000, 0.000000,-10.000000;;, + 142;3; 0.000000, 0.000000,-10.000000;;, + 143;3; 0.000000, 0.000000,-10.000000;;, + 144;3; 0.000000, 0.000000,-10.000000;;, + 145;3; 0.000000, 0.000000,-10.000000;;, + 146;3; 0.000000, 0.000000,-10.000000;;, + 147;3; 0.000000, 0.000000,-10.000000;;, + 148;3; 0.000000, 0.000000,-10.000000;;, + 149;3; 0.000000, 0.000000,-10.000000;;, + 150;3; 0.000000, 0.000000,-10.000000;;, + 151;3; 0.000000, 0.000000,-10.000000;;, + 152;3; 0.000000, 0.000000,-10.000000;;, + 153;3; 0.000000, 0.000000,-10.000000;;, + 154;3; 0.000000, 0.000000,-10.000000;;, + 155;3; 0.000000, 0.000000,-10.000000;;, + 156;3; 0.000000, 0.000000,-10.000000;;, + 157;3; 0.000000, 0.000000,-10.000000;;, + 158;3; 0.000000, 0.000000,-10.000000;;, + 159;3; 0.000000, 0.000000,-10.000000;;, + 160;3; 0.000000, 0.000000,-10.000000;;, + 161;3; 0.000000, 0.000000,-10.000000;;, + 162;3; 0.000000, 0.000000,-10.000000;;, + 163;3; 0.000000, 0.000000,-10.000000;;, + 164;3; 0.000000, 0.000000,-10.000000;;, + 165;3; 0.000000, 0.000000,-10.000000;;, + 166;3; 0.000000, 0.000000,-10.000000;;, + 167;3; 0.000000, 0.000000,-10.000000;;, + 168;3; 0.000000, 0.000000,-10.000000;;, + 169;3; 0.000000, 0.000000,-10.000000;;, + 170;3; 0.000000, 0.000000,-10.000000;;, + 171;3; 0.000000, 0.000000,-10.000000;;, + 172;3; 0.000000, 0.000000,-10.000000;;, + 173;3; 0.000000, 0.000000,-10.000000;;, + 174;3; 0.000000, 0.000000,-10.000000;;, + 175;3; 0.000000, 0.000000,-10.000000;;, + 176;3; 0.000000, 0.000000,-10.000000;;, + 177;3; 0.000000, 0.000000,-10.000000;;, + 178;3; 0.000000, 0.000000,-10.000000;;, + 179;3; 0.000000, 0.000000,-10.000000;;, + 180;3; 0.000000, 0.000000,-10.000000;;, + 181;3; 0.000000, 0.000000,-10.000000;;, + 182;3; 0.000000, 0.000000,-10.000000;;, + 183;3; 0.000000, 0.000000,-10.000000;;, + 184;3; 0.000000, 0.000000,-10.000000;;, + 185;3; 0.000000, 0.000000,-10.000000;;, + 186;3; 0.000000, 0.000000,-10.000000;;, + 187;3; 0.000000, 0.000000,-10.000000;;, + 188;3; 0.000000, 0.000000,-10.000000;;, + 189;3; 0.000000, 0.000000,-10.000000;;, + 190;3; 0.000000, 0.000000,-10.000000;;, + 191;3; 0.000000, 0.000000,-10.000000;;, + 192;3; 0.000000, 0.000000,-10.000000;;, + 193;3; 0.000000, 0.000000,-10.000000;;, + 194;3; 0.000000, 0.000000,-10.000000;;, + 195;3; 0.000000, 0.000000,-10.000000;;, + 196;3; 0.000000, 0.000000,-10.000000;;, + 197;3; 0.000000, 0.000000,-10.000000;;, + 198;3; 0.000000, 0.000000,-10.000000;;, + 199;3; 0.000000, 0.000000,-10.000000;;, + 200;3; 0.000000, 0.000000,-10.000000;;, + 201;3; 0.000000, 0.000000,-10.000000;;, + 202;3; 0.000000, 0.000000,-10.000000;;, + 203;3; 0.000000, 0.000000,-10.000000;;, + 204;3; 0.000000, 0.000000,-10.000000;;, + 205;3; 0.000000, 0.000000,-10.000000;;, + 206;3; 0.000000, 0.000000,-10.000000;;, + 207;3; 0.000000, 0.000000,-10.000000;;, + 208;3; 0.000000, 0.000000,-10.000000;;, + 209;3; 0.000000, 0.000000,-10.000000;;, + 210;3; 0.000000, 0.000000,-10.000000;;, + 211;3; 0.000000, 0.000000,-10.000000;;, + 212;3; 0.000000, 0.000000,-10.000000;;, + 213;3; 0.000000, 0.000000,-10.000000;;, + 214;3; 0.000000, 0.000000,-10.000000;;, + 215;3; 0.000000, 0.000000,-10.000000;;, + 216;3; 0.000000, 0.000000,-10.000000;;, + 217;3; 0.000000, 0.000000,-10.000000;;, + 218;3; 0.000000, 0.000000,-10.000000;;, + 219;3; 0.000000, 0.000000,-10.000000;;, + 220;3; 0.000000, 0.000000,-10.000000;;; + } + AnimationKey { //Rotation + 0; + 221; + 0;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 1;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 2;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 3;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 4;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 5;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 6;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 7;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 8;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 9;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 10;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 11;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 12;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 13;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 14;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 15;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 16;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 17;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 18;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 19;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 20;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 21;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 22;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 23;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 24;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 25;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 26;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 27;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 28;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 29;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 30;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 31;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 32;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 33;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 34;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 35;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 36;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 37;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 38;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 39;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 40;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 41;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 42;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 43;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 44;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 45;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 46;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 47;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 48;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 49;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 50;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 51;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 52;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 53;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 54;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 55;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 56;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 57;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 58;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 59;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 60;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 61;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 62;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 63;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 64;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 65;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 66;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 67;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 68;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 69;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 70;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 71;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 72;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 73;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 74;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 75;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 76;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 77;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 78;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 79;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 80;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 81;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 82;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 83;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 84;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 85;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 86;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 87;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 88;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 89;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 90;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 91;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 92;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 93;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 94;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 95;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 96;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 97;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 98;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 99;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 100;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 101;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 102;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 103;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 104;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 105;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 106;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 107;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 108;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 109;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 110;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 111;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 112;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 113;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 114;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 115;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 116;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 117;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 118;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 119;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 120;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 121;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 122;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 123;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 124;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 125;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 126;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 127;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 128;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 129;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 130;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 131;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 132;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 133;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 134;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 135;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 136;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 137;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 138;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 139;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 140;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 141;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 142;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 143;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 144;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 145;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 146;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 147;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 148;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 149;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 150;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 151;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 152;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 153;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 154;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 155;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 156;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 157;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 158;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 159;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 160;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 161;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 162;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 163;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 164;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 165;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 166;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 167;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 168;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 169;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 170;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 171;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 172;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 173;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 174;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 175;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 176;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 177;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 178;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 179;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 180;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 181;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 182;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 183;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 184;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 185;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 186;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 187;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 188;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 189;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 190;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 191;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 192;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 193;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 194;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 195;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 196;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 197;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 198;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 199;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 200;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 201;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 202;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 203;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 204;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 205;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 206;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 207;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 208;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 209;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 210;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 211;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 212;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 213;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 214;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 215;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 216;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 217;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 218;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 219;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 220;4; -1.000000, 0.000000, 0.000000, 0.000000;;; + } + AnimationKey { //Scale + 1; + 221; + 0;3; 1.000000, 1.000000, 1.000000;;, + 1;3; 1.000000, 1.000000, 1.000000;;, + 2;3; 1.000000, 1.000000, 1.000000;;, + 3;3; 1.000000, 1.000000, 1.000000;;, + 4;3; 1.000000, 1.000000, 1.000000;;, + 5;3; 1.000000, 1.000000, 1.000000;;, + 6;3; 1.000000, 1.000000, 1.000000;;, + 7;3; 1.000000, 1.000000, 1.000000;;, + 8;3; 1.000000, 1.000000, 1.000000;;, + 9;3; 1.000000, 1.000000, 1.000000;;, + 10;3; 1.000000, 1.000000, 1.000000;;, + 11;3; 1.000000, 1.000000, 1.000000;;, + 12;3; 1.000000, 1.000000, 1.000000;;, + 13;3; 1.000000, 1.000000, 1.000000;;, + 14;3; 1.000000, 1.000000, 1.000000;;, + 15;3; 1.000000, 1.000000, 1.000000;;, + 16;3; 1.000000, 1.000000, 1.000000;;, + 17;3; 1.000000, 1.000000, 1.000000;;, + 18;3; 1.000000, 1.000000, 1.000000;;, + 19;3; 1.000000, 1.000000, 1.000000;;, + 20;3; 1.000000, 1.000000, 1.000000;;, + 21;3; 1.000000, 1.000000, 1.000000;;, + 22;3; 1.000000, 1.000000, 1.000000;;, + 23;3; 1.000000, 1.000000, 1.000000;;, + 24;3; 1.000000, 1.000000, 1.000000;;, + 25;3; 1.000000, 1.000000, 1.000000;;, + 26;3; 1.000000, 1.000000, 1.000000;;, + 27;3; 1.000000, 1.000000, 1.000000;;, + 28;3; 1.000000, 1.000000, 1.000000;;, + 29;3; 1.000000, 1.000000, 1.000000;;, + 30;3; 1.000000, 1.000000, 1.000000;;, + 31;3; 1.000000, 1.000000, 1.000000;;, + 32;3; 1.000000, 1.000000, 1.000000;;, + 33;3; 1.000000, 1.000000, 1.000000;;, + 34;3; 1.000000, 1.000000, 1.000000;;, + 35;3; 1.000000, 1.000000, 1.000000;;, + 36;3; 1.000000, 1.000000, 1.000000;;, + 37;3; 1.000000, 1.000000, 1.000000;;, + 38;3; 1.000000, 1.000000, 1.000000;;, + 39;3; 1.000000, 1.000000, 1.000000;;, + 40;3; 1.000000, 1.000000, 1.000000;;, + 41;3; 1.000000, 1.000000, 1.000000;;, + 42;3; 1.000000, 1.000000, 1.000000;;, + 43;3; 1.000000, 1.000000, 1.000000;;, + 44;3; 1.000000, 1.000000, 1.000000;;, + 45;3; 1.000000, 1.000000, 1.000000;;, + 46;3; 1.000000, 1.000000, 1.000000;;, + 47;3; 1.000000, 1.000000, 1.000000;;, + 48;3; 1.000000, 1.000000, 1.000000;;, + 49;3; 1.000000, 1.000000, 1.000000;;, + 50;3; 1.000000, 1.000000, 1.000000;;, + 51;3; 1.000000, 1.000000, 1.000000;;, + 52;3; 1.000000, 1.000000, 1.000000;;, + 53;3; 1.000000, 1.000000, 1.000000;;, + 54;3; 1.000000, 1.000000, 1.000000;;, + 55;3; 1.000000, 1.000000, 1.000000;;, + 56;3; 1.000000, 1.000000, 1.000000;;, + 57;3; 1.000000, 1.000000, 1.000000;;, + 58;3; 1.000000, 1.000000, 1.000000;;, + 59;3; 1.000000, 1.000000, 1.000000;;, + 60;3; 1.000000, 1.000000, 1.000000;;, + 61;3; 1.000000, 1.000000, 1.000000;;, + 62;3; 1.000000, 1.000000, 1.000000;;, + 63;3; 1.000000, 1.000000, 1.000000;;, + 64;3; 1.000000, 1.000000, 1.000000;;, + 65;3; 1.000000, 1.000000, 1.000000;;, + 66;3; 1.000000, 1.000000, 1.000000;;, + 67;3; 1.000000, 1.000000, 1.000000;;, + 68;3; 1.000000, 1.000000, 1.000000;;, + 69;3; 1.000000, 1.000000, 1.000000;;, + 70;3; 1.000000, 1.000000, 1.000000;;, + 71;3; 1.000000, 1.000000, 1.000000;;, + 72;3; 1.000000, 1.000000, 1.000000;;, + 73;3; 1.000000, 1.000000, 1.000000;;, + 74;3; 1.000000, 1.000000, 1.000000;;, + 75;3; 1.000000, 1.000000, 1.000000;;, + 76;3; 1.000000, 1.000000, 1.000000;;, + 77;3; 1.000000, 1.000000, 1.000000;;, + 78;3; 1.000000, 1.000000, 1.000000;;, + 79;3; 1.000000, 1.000000, 1.000000;;, + 80;3; 1.000000, 1.000000, 1.000000;;, + 81;3; 1.000000, 1.000000, 1.000000;;, + 82;3; 1.000000, 1.000000, 1.000000;;, + 83;3; 1.000000, 1.000000, 1.000000;;, + 84;3; 1.000000, 1.000000, 1.000000;;, + 85;3; 1.000000, 1.000000, 1.000000;;, + 86;3; 1.000000, 1.000000, 1.000000;;, + 87;3; 1.000000, 1.000000, 1.000000;;, + 88;3; 1.000000, 1.000000, 1.000000;;, + 89;3; 1.000000, 1.000000, 1.000000;;, + 90;3; 1.000000, 1.000000, 1.000000;;, + 91;3; 1.000000, 1.000000, 1.000000;;, + 92;3; 1.000000, 1.000000, 1.000000;;, + 93;3; 1.000000, 1.000000, 1.000000;;, + 94;3; 1.000000, 1.000000, 1.000000;;, + 95;3; 1.000000, 1.000000, 1.000000;;, + 96;3; 1.000000, 1.000000, 1.000000;;, + 97;3; 1.000000, 1.000000, 1.000000;;, + 98;3; 1.000000, 1.000000, 1.000000;;, + 99;3; 1.000000, 1.000000, 1.000000;;, + 100;3; 1.000000, 1.000000, 1.000000;;, + 101;3; 1.000000, 1.000000, 1.000000;;, + 102;3; 1.000000, 1.000000, 1.000000;;, + 103;3; 1.000000, 1.000000, 1.000000;;, + 104;3; 1.000000, 1.000000, 1.000000;;, + 105;3; 1.000000, 1.000000, 1.000000;;, + 106;3; 1.000000, 1.000000, 1.000000;;, + 107;3; 1.000000, 1.000000, 1.000000;;, + 108;3; 1.000000, 1.000000, 1.000000;;, + 109;3; 1.000000, 1.000000, 1.000000;;, + 110;3; 1.000000, 1.000000, 1.000000;;, + 111;3; 1.000000, 1.000000, 1.000000;;, + 112;3; 1.000000, 1.000000, 1.000000;;, + 113;3; 1.000000, 1.000000, 1.000000;;, + 114;3; 1.000000, 1.000000, 1.000000;;, + 115;3; 1.000000, 1.000000, 1.000000;;, + 116;3; 1.000000, 1.000000, 1.000000;;, + 117;3; 1.000000, 1.000000, 1.000000;;, + 118;3; 1.000000, 1.000000, 1.000000;;, + 119;3; 1.000000, 1.000000, 1.000000;;, + 120;3; 1.000000, 1.000000, 1.000000;;, + 121;3; 1.000000, 1.000000, 1.000000;;, + 122;3; 1.000000, 1.000000, 1.000000;;, + 123;3; 1.000000, 1.000000, 1.000000;;, + 124;3; 1.000000, 1.000000, 1.000000;;, + 125;3; 1.000000, 1.000000, 1.000000;;, + 126;3; 1.000000, 1.000000, 1.000000;;, + 127;3; 1.000000, 1.000000, 1.000000;;, + 128;3; 1.000000, 1.000000, 1.000000;;, + 129;3; 1.000000, 1.000000, 1.000000;;, + 130;3; 1.000000, 1.000000, 1.000000;;, + 131;3; 1.000000, 1.000000, 1.000000;;, + 132;3; 1.000000, 1.000000, 1.000000;;, + 133;3; 1.000000, 1.000000, 1.000000;;, + 134;3; 1.000000, 1.000000, 1.000000;;, + 135;3; 1.000000, 1.000000, 1.000000;;, + 136;3; 1.000000, 1.000000, 1.000000;;, + 137;3; 1.000000, 1.000000, 1.000000;;, + 138;3; 1.000000, 1.000000, 1.000000;;, + 139;3; 1.000000, 1.000000, 1.000000;;, + 140;3; 1.000000, 1.000000, 1.000000;;, + 141;3; 1.000000, 1.000000, 1.000000;;, + 142;3; 1.000000, 1.000000, 1.000000;;, + 143;3; 1.000000, 1.000000, 1.000000;;, + 144;3; 1.000000, 1.000000, 1.000000;;, + 145;3; 1.000000, 1.000000, 1.000000;;, + 146;3; 1.000000, 1.000000, 1.000000;;, + 147;3; 1.000000, 1.000000, 1.000000;;, + 148;3; 1.000000, 1.000000, 1.000000;;, + 149;3; 1.000000, 1.000000, 1.000000;;, + 150;3; 1.000000, 1.000000, 1.000000;;, + 151;3; 1.000000, 1.000000, 1.000000;;, + 152;3; 1.000000, 1.000000, 1.000000;;, + 153;3; 1.000000, 1.000000, 1.000000;;, + 154;3; 1.000000, 1.000000, 1.000000;;, + 155;3; 1.000000, 1.000000, 1.000000;;, + 156;3; 1.000000, 1.000000, 1.000000;;, + 157;3; 1.000000, 1.000000, 1.000000;;, + 158;3; 1.000000, 1.000000, 1.000000;;, + 159;3; 1.000000, 1.000000, 1.000000;;, + 160;3; 1.000000, 1.000000, 1.000000;;, + 161;3; 1.000000, 1.000000, 1.000000;;, + 162;3; 1.000000, 1.000000, 1.000000;;, + 163;3; 1.000000, 1.000000, 1.000000;;, + 164;3; 1.000000, 1.000000, 1.000000;;, + 165;3; 1.000000, 1.000000, 1.000000;;, + 166;3; 1.000000, 1.000000, 1.000000;;, + 167;3; 1.000000, 1.000000, 1.000000;;, + 168;3; 1.000000, 1.000000, 1.000000;;, + 169;3; 1.000000, 1.000000, 1.000000;;, + 170;3; 1.000000, 1.000000, 1.000000;;, + 171;3; 1.000000, 1.000000, 1.000000;;, + 172;3; 1.000000, 1.000000, 1.000000;;, + 173;3; 1.000000, 1.000000, 1.000000;;, + 174;3; 1.000000, 1.000000, 1.000000;;, + 175;3; 1.000000, 1.000000, 1.000000;;, + 176;3; 1.000000, 1.000000, 1.000000;;, + 177;3; 1.000000, 1.000000, 1.000000;;, + 178;3; 1.000000, 1.000000, 1.000000;;, + 179;3; 1.000000, 1.000000, 1.000000;;, + 180;3; 1.000000, 1.000000, 1.000000;;, + 181;3; 1.000000, 1.000000, 1.000000;;, + 182;3; 1.000000, 1.000000, 1.000000;;, + 183;3; 1.000000, 1.000000, 1.000000;;, + 184;3; 1.000000, 1.000000, 1.000000;;, + 185;3; 1.000000, 1.000000, 1.000000;;, + 186;3; 1.000000, 1.000000, 1.000000;;, + 187;3; 1.000000, 1.000000, 1.000000;;, + 188;3; 1.000000, 1.000000, 1.000000;;, + 189;3; 1.000000, 1.000000, 1.000000;;, + 190;3; 1.000000, 1.000000, 1.000000;;, + 191;3; 1.000000, 1.000000, 1.000000;;, + 192;3; 1.000000, 1.000000, 1.000000;;, + 193;3; 1.000000, 1.000000, 1.000000;;, + 194;3; 1.000000, 1.000000, 1.000000;;, + 195;3; 1.000000, 1.000000, 1.000000;;, + 196;3; 1.000000, 1.000000, 1.000000;;, + 197;3; 1.000000, 1.000000, 1.000000;;, + 198;3; 1.000000, 1.000000, 1.000000;;, + 199;3; 1.000000, 1.000000, 1.000000;;, + 200;3; 1.000000, 1.000000, 1.000000;;, + 201;3; 1.000000, 1.000000, 1.000000;;, + 202;3; 1.000000, 1.000000, 1.000000;;, + 203;3; 1.000000, 1.000000, 1.000000;;, + 204;3; 1.000000, 1.000000, 1.000000;;, + 205;3; 1.000000, 1.000000, 1.000000;;, + 206;3; 1.000000, 1.000000, 1.000000;;, + 207;3; 1.000000, 1.000000, 1.000000;;, + 208;3; 1.000000, 1.000000, 1.000000;;, + 209;3; 1.000000, 1.000000, 1.000000;;, + 210;3; 1.000000, 1.000000, 1.000000;;, + 211;3; 1.000000, 1.000000, 1.000000;;, + 212;3; 1.000000, 1.000000, 1.000000;;, + 213;3; 1.000000, 1.000000, 1.000000;;, + 214;3; 1.000000, 1.000000, 1.000000;;, + 215;3; 1.000000, 1.000000, 1.000000;;, + 216;3; 1.000000, 1.000000, 1.000000;;, + 217;3; 1.000000, 1.000000, 1.000000;;, + 218;3; 1.000000, 1.000000, 1.000000;;, + 219;3; 1.000000, 1.000000, 1.000000;;, + 220;3; 1.000000, 1.000000, 1.000000;;; + } + } + Animation { + {Armature_Body} + AnimationKey { //Position + 2; + 221; + 0;3; -0.000000, 0.000000, 6.750000;;, + 1;3; -0.000000, 0.000000, 6.750000;;, + 2;3; -0.000000, 0.000000, 6.750000;;, + 3;3; -0.000000, 0.000000, 6.750000;;, + 4;3; -0.000000, 0.000000, 6.750000;;, + 5;3; -0.000000, 0.000000, 6.750000;;, + 6;3; -0.000000, 0.000000, 6.750000;;, + 7;3; -0.000000, 0.000000, 6.750000;;, + 8;3; -0.000000, 0.000000, 6.750000;;, + 9;3; -0.000000, 0.000000, 6.750000;;, + 10;3; -0.000000, 0.000000, 6.750000;;, + 11;3; -0.000000, 0.000000, 6.750000;;, + 12;3; -0.000000, 0.000000, 6.750000;;, + 13;3; -0.000000, 0.000000, 6.750000;;, + 14;3; -0.000000, 0.000000, 6.750000;;, + 15;3; -0.000000, 0.000000, 6.750000;;, + 16;3; -0.000000, 0.000000, 6.750000;;, + 17;3; -0.000000, 0.000000, 6.750000;;, + 18;3; -0.000000, 0.000000, 6.750000;;, + 19;3; -0.000000, 0.000000, 6.750000;;, + 20;3; -0.000000, 0.000000, 6.750000;;, + 21;3; -0.000000, 0.000000, 6.750000;;, + 22;3; -0.000000, 0.000000, 6.750000;;, + 23;3; -0.000000, 0.000000, 6.750000;;, + 24;3; -0.000000, 0.000000, 6.750000;;, + 25;3; -0.000000, 0.000000, 6.750000;;, + 26;3; -0.000000, 0.000000, 6.750000;;, + 27;3; -0.000000, 0.000000, 6.750000;;, + 28;3; -0.000000, 0.000000, 6.750000;;, + 29;3; -0.000000, 0.000000, 6.750000;;, + 30;3; -0.000000, 0.000000, 6.750000;;, + 31;3; -0.000000, 0.000000, 6.750000;;, + 32;3; -0.000000, 0.000000, 6.750000;;, + 33;3; -0.000000, 0.000000, 6.750000;;, + 34;3; -0.000000, 0.000000, 6.750000;;, + 35;3; -0.000000, 0.000000, 6.750000;;, + 36;3; -0.000000, 0.000000, 6.750000;;, + 37;3; -0.000000, 0.000000, 6.750000;;, + 38;3; -0.000000, 0.000000, 6.750000;;, + 39;3; -0.000000, 0.000000, 6.750000;;, + 40;3; -0.000000, 0.000000, 6.750000;;, + 41;3; -0.000000, 0.000000, 6.750000;;, + 42;3; -0.000000, 0.000000, 6.750000;;, + 43;3; -0.000000, 0.000000, 6.750000;;, + 44;3; -0.000000, 0.000000, 6.750000;;, + 45;3; -0.000000, 0.000000, 6.750000;;, + 46;3; -0.000000, 0.000000, 6.750000;;, + 47;3; -0.000000, 0.000000, 6.750000;;, + 48;3; -0.000000, 0.000000, 6.750000;;, + 49;3; -0.000000, 0.000000, 6.750000;;, + 50;3; -0.000000, 0.000000, 6.750000;;, + 51;3; -0.000000, 0.000000, 6.750000;;, + 52;3; -0.000000, 0.000000, 6.750000;;, + 53;3; -0.000000, 0.000000, 6.750000;;, + 54;3; -0.000000, 0.000000, 6.750000;;, + 55;3; -0.000000, 0.000000, 6.750000;;, + 56;3; -0.000000, 0.000000, 6.750000;;, + 57;3; -0.000000, 0.000000, 6.750000;;, + 58;3; -0.000000, 0.000000, 6.750000;;, + 59;3; -0.000000, 0.000000, 6.750000;;, + 60;3; -0.000000, 0.000000, 6.750000;;, + 61;3; -0.000000, 0.000000, 6.750000;;, + 62;3; -0.000000, 0.000000, 6.750000;;, + 63;3; -0.000000, 0.000000, 6.750000;;, + 64;3; -0.000000, 0.000000, 6.750000;;, + 65;3; -0.000000, 0.000000, 6.750000;;, + 66;3; -0.000000, 0.000000, 6.750000;;, + 67;3; -0.000000, 0.000000, 6.750000;;, + 68;3; -0.000000, 0.000000, 6.750000;;, + 69;3; -0.000000, 0.000000, 6.750000;;, + 70;3; -0.000000, 0.000000, 6.750000;;, + 71;3; -0.000000, 0.000000, 6.750000;;, + 72;3; -0.000000, 0.000000, 6.750000;;, + 73;3; -0.000000, 0.000000, 6.750000;;, + 74;3; -0.000000, 0.000000, 6.750000;;, + 75;3; -0.000000, 0.000000, 6.750000;;, + 76;3; -0.000000, 0.000000, 6.750000;;, + 77;3; -0.000000, 0.000000, 6.750000;;, + 78;3; -0.000000, 0.000000, 6.750000;;, + 79;3; -0.000000, 0.000000, 6.750000;;, + 80;3; -0.000000, 0.000000, 6.750000;;, + 81;3; -0.000000, 0.000000, 1.000000;;, + 82;3; -0.000000, 0.000000, 1.000000;;, + 83;3; -0.000000, 0.000000, 1.000000;;, + 84;3; -0.000000, 0.000000, 1.000000;;, + 85;3; -0.000000, 0.000000, 1.000000;;, + 86;3; -0.000000, 0.000000, 1.000000;;, + 87;3; -0.000000, 0.000000, 1.000000;;, + 88;3; -0.000000, 0.000000, 1.000000;;, + 89;3; -0.000000, 0.000000, 1.000000;;, + 90;3; -0.000000, 0.000000, 1.000000;;, + 91;3; -0.000000, 0.000000, 1.000000;;, + 92;3; -0.000000, 0.000000, 1.000000;;, + 93;3; -0.000000, 0.000000, 1.000000;;, + 94;3; -0.000000, 0.000000, 1.000000;;, + 95;3; -0.000000, 0.000000, 1.000000;;, + 96;3; -0.000000, 0.000000, 1.000000;;, + 97;3; -0.000000, 0.000000, 1.000000;;, + 98;3; -0.000000, 0.000000, 1.000000;;, + 99;3; -0.000000, 0.000000, 1.000000;;, + 100;3; -0.000000, 0.000000, 1.000000;;, + 101;3; -0.000000, 0.000000, 1.000000;;, + 102;3; -0.000000, 0.000000, 1.000000;;, + 103;3; -0.000000, 0.000000, 1.000000;;, + 104;3; -0.000000, 0.000000, 1.000000;;, + 105;3; -0.000000, 0.000000, 1.000000;;, + 106;3; -0.000000, 0.000000, 1.000000;;, + 107;3; -0.000000, 0.000000, 1.000000;;, + 108;3; -0.000000, 0.000000, 1.000000;;, + 109;3; -0.000000, 0.000000, 1.000000;;, + 110;3; -0.000000, 0.000000, 1.000000;;, + 111;3; -0.000000, 0.000000, 1.000000;;, + 112;3; -0.000000, 0.000000, 1.000000;;, + 113;3; -0.000000, 0.000000, 1.000000;;, + 114;3; -0.000000, 0.000000, 1.000000;;, + 115;3; -0.000000, 0.000000, 1.000000;;, + 116;3; -0.000000, 0.000000, 1.000000;;, + 117;3; -0.000000, 0.000000, 1.000000;;, + 118;3; -0.000000, 0.000000, 1.000000;;, + 119;3; -0.000000, 0.000000, 1.000000;;, + 120;3; -0.000000, 0.000000, 1.000000;;, + 121;3; -0.000000, 0.000000, 1.000000;;, + 122;3; -0.000000, 0.000000, 1.000000;;, + 123;3; -0.000000, 0.000000, 1.000000;;, + 124;3; -0.000000, 0.000000, 1.000000;;, + 125;3; -0.000000, 0.000000, 1.000000;;, + 126;3; -0.000000, 0.000000, 1.000000;;, + 127;3; -0.000000, 0.000000, 1.000000;;, + 128;3; -0.000000, 0.000000, 1.000000;;, + 129;3; -0.000000, 0.000000, 1.000000;;, + 130;3; -0.000000, 0.000000, 1.000000;;, + 131;3; -0.000000, 0.000000, 1.000000;;, + 132;3; -0.000000, 0.000000, 1.000000;;, + 133;3; -0.000000, 0.000000, 1.000000;;, + 134;3; -0.000000, 0.000000, 1.000000;;, + 135;3; -0.000000, 0.000000, 1.000000;;, + 136;3; -0.000000, 0.000000, 1.000000;;, + 137;3; -0.000000, 0.000000, 1.000000;;, + 138;3; -0.000000, 0.000000, 1.000000;;, + 139;3; -0.000000, 0.000000, 1.000000;;, + 140;3; -0.000000, 0.000000, 1.000000;;, + 141;3; -0.000000, 0.000000, 1.000000;;, + 142;3; -0.000000, 0.000000, 1.000000;;, + 143;3; -0.000000, 0.000000, 1.000000;;, + 144;3; -0.000000, 0.000000, 1.000000;;, + 145;3; -0.000000, 0.000000, 1.000000;;, + 146;3; -0.000000, 0.000000, 1.000000;;, + 147;3; -0.000000, 0.000000, 1.000000;;, + 148;3; -0.000000, 0.000000, 1.000000;;, + 149;3; -0.000000, 0.000000, 1.000000;;, + 150;3; -0.000000, 0.000000, 1.000000;;, + 151;3; -0.000000, 0.000000, 1.000000;;, + 152;3; -0.000000, 0.000000, 1.000000;;, + 153;3; -0.000000, 0.000000, 1.000000;;, + 154;3; -0.000000, 0.000000, 1.000000;;, + 155;3; -0.000000, 0.000000, 1.000000;;, + 156;3; -0.000000, 0.000000, 1.000000;;, + 157;3; -0.000000, 0.000000, 1.000000;;, + 158;3; -0.000000, 0.000000, 1.000000;;, + 159;3; -0.000000, 0.000000, 1.000000;;, + 160;3; -0.000000, 0.000000, 1.000000;;, + 161;3; -0.000000, 0.000000, 1.000000;;, + 162;3; -0.000000, 2.000001, 1.000000;;, + 163;3; -0.000000, 2.000001, 1.000000;;, + 164;3; -0.000000, 2.000001, 1.000000;;, + 165;3; -0.000000, 2.000001, 1.000000;;, + 166;3; -0.000000, 2.000001, 1.000000;;, + 167;3; -0.000000, 2.000001, 1.000000;;, + 168;3; -0.000000, 0.000000, 6.750000;;, + 169;3; -0.000000, 0.000000, 6.750000;;, + 170;3; -0.000000, 0.000000, 6.750000;;, + 171;3; -0.000000, 0.000000, 6.750000;;, + 172;3; -0.000000, 0.000000, 6.750000;;, + 173;3; -0.000000, 0.000000, 6.750000;;, + 174;3; -0.000000, 0.000000, 6.750000;;, + 175;3; -0.000000, 0.000000, 6.750000;;, + 176;3; -0.000000, 0.000000, 6.750000;;, + 177;3; -0.000000, 0.000000, 6.750000;;, + 178;3; -0.000000, 0.000000, 6.750000;;, + 179;3; -0.000000, 0.000000, 6.750000;;, + 180;3; -0.000000, 0.000000, 6.750000;;, + 181;3; -0.000000, 0.000000, 6.750000;;, + 182;3; -0.000000, 0.000000, 6.750000;;, + 183;3; -0.000000, 0.000000, 6.750000;;, + 184;3; -0.000000, 0.000000, 6.750000;;, + 185;3; -0.000000, 0.000000, 6.750000;;, + 186;3; -0.000000, 0.000000, 6.750000;;, + 187;3; -0.000000, 0.000000, 6.750000;;, + 188;3; -0.000000, 0.000000, 6.750000;;, + 189;3; -0.000000, 0.000000, 6.750000;;, + 190;3; -0.000000, 0.000000, 6.750000;;, + 191;3; -0.000000, 0.000000, 6.750000;;, + 192;3; -0.000000, 0.000000, 6.750000;;, + 193;3; -0.000000, 0.000000, 6.750000;;, + 194;3; -0.000000, 0.000000, 6.750000;;, + 195;3; -0.000000, 0.000000, 6.750000;;, + 196;3; -0.000000, 0.000000, 6.750000;;, + 197;3; -0.000000, 0.000000, 6.750000;;, + 198;3; -0.000000, 0.000000, 6.750000;;, + 199;3; -0.000000, 0.000000, 6.750000;;, + 200;3; -0.000000, 0.000000, 6.750000;;, + 201;3; -0.000000, 0.000000, 6.750000;;, + 202;3; -0.000000, 0.000000, 6.750000;;, + 203;3; -0.000000, 0.000000, 6.750000;;, + 204;3; -0.000000, 0.000000, 6.750000;;, + 205;3; -0.000000, 0.000000, 6.750000;;, + 206;3; -0.000000, 0.000000, 6.750000;;, + 207;3; -0.000000, 0.000000, 6.750000;;, + 208;3; -0.000000, 0.000000, 6.750000;;, + 209;3; -0.000000, 0.000000, 6.750000;;, + 210;3; -0.000000, 0.000000, 6.750000;;, + 211;3; -0.000000, 0.000000, 6.750000;;, + 212;3; -0.000000, 0.000000, 6.750000;;, + 213;3; -0.000000, 0.000000, 6.750000;;, + 214;3; -0.000000, 0.000000, 6.750000;;, + 215;3; -0.000000, 0.000000, 6.750000;;, + 216;3; -0.000000, 0.000000, 6.750000;;, + 217;3; -0.000000, 0.000000, 6.750000;;, + 218;3; -0.000000, 0.000000, 6.750000;;, + 219;3; -0.000000, 0.000000, 6.750000;;, + 220;3; -0.000000, 0.000000, 6.750000;;; + } + AnimationKey { //Rotation + 0; + 221; + 0;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 1;4; -0.706933, 0.707273, 0.000000, 0.000000;;, + 2;4; -0.706408, 0.707776, 0.000000, 0.000000;;, + 3;4; -0.705530, 0.708616, 0.000000, 0.000000;;, + 4;4; -0.704305, 0.709789, 0.000000, 0.000000;;, + 5;4; -0.702749, 0.711279, 0.000000, 0.000000;;, + 6;4; -0.700886, 0.713062, 0.000000, 0.000000;;, + 7;4; -0.698758, 0.715099, 0.000000, 0.000000;;, + 8;4; -0.696414, 0.717343, 0.000000, 0.000000;;, + 9;4; -0.693920, 0.719730, 0.000000, 0.000000;;, + 10;4; -0.691348, 0.722192, 0.000000, 0.000000;;, + 11;4; -0.688777, 0.724654, 0.000000, 0.000000;;, + 12;4; -0.686283, 0.727042, 0.000000, 0.000000;;, + 13;4; -0.683939, 0.729285, 0.000000, 0.000000;;, + 14;4; -0.681811, 0.731323, 0.000000, 0.000000;;, + 15;4; -0.679949, 0.733105, 0.000000, 0.000000;;, + 16;4; -0.678392, 0.734596, 0.000000, 0.000000;;, + 17;4; -0.677167, 0.735768, 0.000000, 0.000000;;, + 18;4; -0.676289, 0.736609, 0.000000, 0.000000;;, + 19;4; -0.675764, 0.737111, 0.000000, 0.000000;;, + 20;4; -0.675590, 0.737277, 0.000000, 0.000000;;, + 21;4; -0.675764, 0.737111, 0.000000, 0.000000;;, + 22;4; -0.676289, 0.736609, 0.000000, 0.000000;;, + 23;4; -0.677167, 0.735768, 0.000000, 0.000000;;, + 24;4; -0.678392, 0.734596, 0.000000, 0.000000;;, + 25;4; -0.679949, 0.733105, 0.000000, 0.000000;;, + 26;4; -0.681811, 0.731323, 0.000000, 0.000000;;, + 27;4; -0.683939, 0.729285, 0.000000, 0.000000;;, + 28;4; -0.686283, 0.727042, 0.000000, 0.000000;;, + 29;4; -0.688777, 0.724654, 0.000000, 0.000000;;, + 30;4; -0.691349, 0.722192, 0.000000, 0.000000;;, + 31;4; -0.693920, 0.719730, 0.000000, 0.000000;;, + 32;4; -0.696415, 0.717343, 0.000000, 0.000000;;, + 33;4; -0.698758, 0.715099, 0.000000, 0.000000;;, + 34;4; -0.700886, 0.713062, 0.000000, 0.000000;;, + 35;4; -0.702749, 0.711279, 0.000000, 0.000000;;, + 36;4; -0.704305, 0.709789, 0.000000, 0.000000;;, + 37;4; -0.705530, 0.708616, 0.000000, 0.000000;;, + 38;4; -0.706408, 0.707776, 0.000000, 0.000000;;, + 39;4; -0.706933, 0.707273, 0.000000, 0.000000;;, + 40;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 41;4; -0.706933, 0.707273, 0.000000, 0.000000;;, + 42;4; -0.706408, 0.707776, 0.000000, 0.000000;;, + 43;4; -0.705530, 0.708616, 0.000000, 0.000000;;, + 44;4; -0.704305, 0.709789, 0.000000, 0.000000;;, + 45;4; -0.702749, 0.711279, 0.000000, 0.000000;;, + 46;4; -0.700886, 0.713062, 0.000000, 0.000000;;, + 47;4; -0.698758, 0.715099, 0.000000, 0.000000;;, + 48;4; -0.696415, 0.717343, 0.000000, 0.000000;;, + 49;4; -0.693920, 0.719730, 0.000000, 0.000000;;, + 50;4; -0.691348, 0.722192, 0.000000, 0.000000;;, + 51;4; -0.688777, 0.724654, 0.000000, 0.000000;;, + 52;4; -0.686283, 0.727042, 0.000000, 0.000000;;, + 53;4; -0.683939, 0.729285, 0.000000, 0.000000;;, + 54;4; -0.681811, 0.731323, 0.000000, 0.000000;;, + 55;4; -0.679949, 0.733105, 0.000000, 0.000000;;, + 56;4; -0.678392, 0.734596, 0.000000, 0.000000;;, + 57;4; -0.677167, 0.735768, 0.000000, 0.000000;;, + 58;4; -0.676289, 0.736609, 0.000000, 0.000000;;, + 59;4; -0.675764, 0.737111, 0.000000, 0.000000;;, + 60;4; -0.675590, 0.737277, 0.000000, 0.000000;;, + 61;4; -0.675754, 0.737121, 0.000000, 0.000000;;, + 62;4; -0.676212, 0.736682, 0.000000, 0.000000;;, + 63;4; -0.676927, 0.735998, 0.000000, 0.000000;;, + 64;4; -0.677865, 0.735100, 0.000000, 0.000000;;, + 65;4; -0.679001, 0.734013, 0.000000, 0.000000;;, + 66;4; -0.680312, 0.732757, 0.000000, 0.000000;;, + 67;4; -0.681779, 0.731353, 0.000000, 0.000000;;, + 68;4; -0.683387, 0.729813, 0.000000, 0.000000;;, + 69;4; -0.685120, 0.728154, 0.000000, 0.000000;;, + 70;4; -0.686966, 0.726388, 0.000000, 0.000000;;, + 71;4; -0.688910, 0.724526, 0.000000, 0.000000;;, + 72;4; -0.690941, 0.722582, 0.000000, 0.000000;;, + 73;4; -0.693046, 0.720567, 0.000000, 0.000000;;, + 74;4; -0.695210, 0.718495, 0.000000, 0.000000;;, + 75;4; -0.697417, 0.716383, 0.000000, 0.000000;;, + 76;4; -0.699643, 0.714252, 0.000000, 0.000000;;, + 77;4; -0.701856, 0.712133, 0.000000, 0.000000;;, + 78;4; -0.703995, 0.710086, 0.000000, 0.000000;;, + 79;4; -0.705928, 0.708235, 0.000000, 0.000000;;, + 80;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 81;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 82;4; -0.705928, 0.708235, 0.000000, 0.000000;;, + 83;4; -0.703995, 0.710086, 0.000000, 0.000000;;, + 84;4; -0.701856, 0.712133, 0.000000, 0.000000;;, + 85;4; -0.699643, 0.714252, 0.000000, 0.000000;;, + 86;4; -0.697417, 0.716383, 0.000000, 0.000000;;, + 87;4; -0.695210, 0.718495, 0.000000, 0.000000;;, + 88;4; -0.693046, 0.720567, 0.000000, 0.000000;;, + 89;4; -0.690941, 0.722582, 0.000000, 0.000000;;, + 90;4; -0.688910, 0.724526, 0.000000, 0.000000;;, + 91;4; -0.686966, 0.726388, 0.000000, 0.000000;;, + 92;4; -0.685120, 0.728154, 0.000000, 0.000000;;, + 93;4; -0.683387, 0.729813, 0.000000, 0.000000;;, + 94;4; -0.681779, 0.731353, 0.000000, 0.000000;;, + 95;4; -0.680312, 0.732758, 0.000000, 0.000000;;, + 96;4; -0.679001, 0.734013, 0.000000, 0.000000;;, + 97;4; -0.677865, 0.735100, 0.000000, 0.000000;;, + 98;4; -0.676927, 0.735998, 0.000000, 0.000000;;, + 99;4; -0.676212, 0.736682, 0.000000, 0.000000;;, + 100;4; -0.675754, 0.737121, 0.000000, 0.000000;;, + 101;4; -0.675590, 0.737277, 0.000000, 0.000000;;, + 102;4; -0.675764, 0.737111, 0.000000, 0.000000;;, + 103;4; -0.676289, 0.736609, 0.000000, 0.000000;;, + 104;4; -0.677167, 0.735768, 0.000000, 0.000000;;, + 105;4; -0.678392, 0.734596, 0.000000, 0.000000;;, + 106;4; -0.679949, 0.733105, 0.000000, 0.000000;;, + 107;4; -0.681811, 0.731323, 0.000000, 0.000000;;, + 108;4; -0.683939, 0.729285, 0.000000, 0.000000;;, + 109;4; -0.686283, 0.727042, 0.000000, 0.000000;;, + 110;4; -0.688777, 0.724654, 0.000000, 0.000000;;, + 111;4; -0.691348, 0.722192, 0.000000, 0.000000;;, + 112;4; -0.693920, 0.719730, 0.000000, 0.000000;;, + 113;4; -0.696415, 0.717343, 0.000000, 0.000000;;, + 114;4; -0.698758, 0.715099, 0.000000, 0.000000;;, + 115;4; -0.700886, 0.713062, 0.000000, 0.000000;;, + 116;4; -0.702749, 0.711279, 0.000000, 0.000000;;, + 117;4; -0.704305, 0.709789, 0.000000, 0.000000;;, + 118;4; -0.705530, 0.708616, 0.000000, 0.000000;;, + 119;4; -0.706408, 0.707776, 0.000000, 0.000000;;, + 120;4; -0.706933, 0.707273, 0.000000, 0.000000;;, + 121;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 122;4; -0.706933, 0.707273, 0.000000, 0.000000;;, + 123;4; -0.706408, 0.707776, 0.000000, 0.000000;;, + 124;4; -0.705530, 0.708616, 0.000000, 0.000000;;, + 125;4; -0.704305, 0.709789, 0.000000, 0.000000;;, + 126;4; -0.702749, 0.711279, 0.000000, 0.000000;;, + 127;4; -0.700886, 0.713062, 0.000000, 0.000000;;, + 128;4; -0.698758, 0.715099, 0.000000, 0.000000;;, + 129;4; -0.696415, 0.717343, 0.000000, 0.000000;;, + 130;4; -0.693920, 0.719730, 0.000000, 0.000000;;, + 131;4; -0.691348, 0.722192, 0.000000, 0.000000;;, + 132;4; -0.688777, 0.724654, 0.000000, 0.000000;;, + 133;4; -0.686283, 0.727042, 0.000000, 0.000000;;, + 134;4; -0.683939, 0.729285, 0.000000, 0.000000;;, + 135;4; -0.681811, 0.731323, 0.000000, 0.000000;;, + 136;4; -0.679949, 0.733105, 0.000000, 0.000000;;, + 137;4; -0.678392, 0.734596, 0.000000, 0.000000;;, + 138;4; -0.677167, 0.735768, 0.000000, 0.000000;;, + 139;4; -0.676289, 0.736609, 0.000000, 0.000000;;, + 140;4; -0.675764, 0.737111, 0.000000, 0.000000;;, + 141;4; -0.675590, 0.737277, 0.000000, 0.000000;;, + 142;4; -0.675754, 0.737121, 0.000000, 0.000000;;, + 143;4; -0.676211, 0.736683, 0.000000, 0.000000;;, + 144;4; -0.676923, 0.736001, 0.000000, 0.000000;;, + 145;4; -0.677857, 0.735107, 0.000000, 0.000000;;, + 146;4; -0.678987, 0.734026, 0.000000, 0.000000;;, + 147;4; -0.680291, 0.732778, 0.000000, 0.000000;;, + 148;4; -0.681750, 0.731381, 0.000000, 0.000000;;, + 149;4; -0.683349, 0.729852, 0.000000, 0.000000;;, + 150;4; -0.685071, 0.728203, 0.000000, 0.000000;;, + 151;4; -0.686905, 0.726448, 0.000000, 0.000000;;, + 152;4; -0.688838, 0.724598, 0.000000, 0.000000;;, + 153;4; -0.690858, 0.722664, 0.000000, 0.000000;;, + 154;4; -0.692953, 0.720659, 0.000000, 0.000000;;, + 155;4; -0.695109, 0.718596, 0.000000, 0.000000;;, + 156;4; -0.697310, 0.716489, 0.000000, 0.000000;;, + 157;4; -0.699536, 0.714358, 0.000000, 0.000000;;, + 158;4; -0.701753, 0.712235, 0.000000, 0.000000;;, + 159;4; -0.703909, 0.710171, 0.000000, 0.000000;;, + 160;4; -0.705875, 0.708288, 0.000000, 0.000000;;, + 161;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 162;4; -0.000000, 1.000000, 0.000000, 0.000000;;, + 163;4; -0.000000, 1.000000, 0.000000, 0.000000;;, + 164;4; -0.000000, 1.000000, 0.000000, 0.000000;;, + 165;4; -0.000000, 1.000000, 0.000000, 0.000000;;, + 166;4; -0.000000, 1.000000, 0.000000, 0.000000;;, + 167;4; -0.000000, 1.000000, 0.000000, 0.000000;;, + 168;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 169;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 170;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 171;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 172;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 173;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 174;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 175;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 176;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 177;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 178;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 179;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 180;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 181;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 182;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 183;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 184;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 185;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 186;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 187;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 188;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 189;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 190;4; -0.709789, 0.704305, 0.000000, 0.000000;;, + 191;4; -0.717343, 0.696414, 0.000000, 0.000000;;, + 192;4; -0.727042, 0.686283, 0.000000, 0.000000;;, + 193;4; -0.734596, 0.678392, 0.000000, 0.000000;;, + 194;4; -0.737277, 0.675590, 0.000000, 0.000000;;, + 195;4; -0.734596, 0.678392, 0.000000, 0.000000;;, + 196;4; -0.727042, 0.686283, 0.000000, 0.000000;;, + 197;4; -0.717343, 0.696414, 0.000000, 0.000000;;, + 198;4; -0.709789, 0.704305, 0.000000, 0.000000;;, + 199;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 200;4; -0.707107, 0.707107, 0.000000, 0.000000;;, + 201;4; -0.704305, 0.709789, 0.000000, 0.000000;;, + 202;4; -0.696414, 0.717343, 0.000000, 0.000000;;, + 203;4; -0.686283, 0.727042, 0.000000, 0.000000;;, + 204;4; -0.678392, 0.734596, 0.000000, 0.000000;;, + 205;4; -0.675590, 0.737277, 0.000000, 0.000000;;, + 206;4; -0.681074, 0.731794, 0.000000, 0.000000;;, + 207;4; -0.696519, 0.716349, 0.000000, 0.000000;;, + 208;4; -0.716349, 0.696518, 0.000000, 0.000000;;, + 209;4; -0.731794, 0.681074, 0.000000, 0.000000;;, + 210;4; -0.737277, 0.675590, 0.000000, 0.000000;;, + 211;4; -0.731794, 0.681074, 0.000000, 0.000000;;, + 212;4; -0.716349, 0.696518, 0.000000, 0.000000;;, + 213;4; -0.696519, 0.716349, 0.000000, 0.000000;;, + 214;4; -0.681074, 0.731794, 0.000000, 0.000000;;, + 215;4; -0.675590, 0.737277, 0.000000, 0.000000;;, + 216;4; -0.678392, 0.734596, 0.000000, 0.000000;;, + 217;4; -0.686282, 0.727042, 0.000000, 0.000000;;, + 218;4; -0.696414, 0.717343, 0.000000, 0.000000;;, + 219;4; -0.704305, 0.709789, 0.000000, 0.000000;;, + 220;4; -0.707107, 0.707107, 0.000000, 0.000000;;; + } + AnimationKey { //Scale + 1; + 221; + 0;3; 1.000000, 1.000000, 1.000000;;, + 1;3; 1.000000, 1.000000, 1.000000;;, + 2;3; 1.000000, 1.000000, 1.000000;;, + 3;3; 1.000000, 1.000000, 1.000000;;, + 4;3; 1.000000, 1.000000, 1.000000;;, + 5;3; 1.000000, 1.000000, 1.000000;;, + 6;3; 1.000000, 1.000000, 1.000000;;, + 7;3; 1.000000, 1.000000, 1.000000;;, + 8;3; 1.000000, 1.000000, 1.000000;;, + 9;3; 1.000000, 1.000000, 1.000000;;, + 10;3; 1.000000, 1.000000, 1.000000;;, + 11;3; 1.000000, 1.000000, 1.000000;;, + 12;3; 1.000000, 1.000000, 1.000000;;, + 13;3; 1.000000, 1.000000, 1.000000;;, + 14;3; 1.000000, 1.000000, 1.000000;;, + 15;3; 1.000000, 1.000000, 1.000000;;, + 16;3; 1.000000, 1.000000, 1.000000;;, + 17;3; 1.000000, 1.000000, 1.000000;;, + 18;3; 1.000000, 1.000000, 1.000000;;, + 19;3; 1.000000, 1.000000, 1.000000;;, + 20;3; 1.000000, 1.000000, 1.000000;;, + 21;3; 1.000000, 1.000000, 1.000000;;, + 22;3; 1.000000, 1.000000, 1.000000;;, + 23;3; 1.000000, 1.000000, 1.000000;;, + 24;3; 1.000000, 1.000000, 1.000000;;, + 25;3; 1.000000, 1.000000, 1.000000;;, + 26;3; 1.000000, 1.000000, 1.000000;;, + 27;3; 1.000000, 1.000000, 1.000000;;, + 28;3; 1.000000, 1.000000, 1.000000;;, + 29;3; 1.000000, 1.000000, 1.000000;;, + 30;3; 1.000000, 1.000000, 1.000000;;, + 31;3; 1.000000, 1.000000, 1.000000;;, + 32;3; 1.000000, 1.000000, 1.000000;;, + 33;3; 1.000000, 1.000000, 1.000000;;, + 34;3; 1.000000, 1.000000, 1.000000;;, + 35;3; 1.000000, 1.000000, 1.000000;;, + 36;3; 1.000000, 1.000000, 1.000000;;, + 37;3; 1.000000, 1.000000, 1.000000;;, + 38;3; 1.000000, 1.000000, 1.000000;;, + 39;3; 1.000000, 1.000000, 1.000000;;, + 40;3; 1.000000, 1.000000, 1.000000;;, + 41;3; 1.000000, 1.000000, 1.000000;;, + 42;3; 1.000000, 1.000000, 1.000000;;, + 43;3; 1.000000, 1.000000, 1.000000;;, + 44;3; 1.000000, 1.000000, 1.000000;;, + 45;3; 1.000000, 1.000000, 1.000000;;, + 46;3; 1.000000, 1.000000, 1.000000;;, + 47;3; 1.000000, 1.000000, 1.000000;;, + 48;3; 1.000000, 1.000000, 1.000000;;, + 49;3; 1.000000, 1.000000, 1.000000;;, + 50;3; 1.000000, 1.000000, 1.000000;;, + 51;3; 1.000000, 1.000000, 1.000000;;, + 52;3; 1.000000, 1.000000, 1.000000;;, + 53;3; 1.000000, 1.000000, 1.000000;;, + 54;3; 1.000000, 1.000000, 1.000000;;, + 55;3; 1.000000, 1.000000, 1.000000;;, + 56;3; 1.000000, 1.000000, 1.000000;;, + 57;3; 1.000000, 1.000000, 1.000000;;, + 58;3; 1.000000, 1.000000, 1.000000;;, + 59;3; 1.000000, 1.000000, 1.000000;;, + 60;3; 1.000000, 1.000000, 1.000000;;, + 61;3; 1.000000, 1.000000, 1.000000;;, + 62;3; 1.000000, 1.000000, 1.000000;;, + 63;3; 1.000000, 1.000000, 1.000000;;, + 64;3; 1.000000, 1.000000, 1.000000;;, + 65;3; 1.000000, 1.000000, 1.000000;;, + 66;3; 1.000000, 1.000000, 1.000000;;, + 67;3; 1.000000, 1.000000, 1.000000;;, + 68;3; 1.000000, 1.000000, 1.000000;;, + 69;3; 1.000000, 1.000000, 1.000000;;, + 70;3; 1.000000, 1.000000, 1.000000;;, + 71;3; 1.000000, 1.000000, 1.000000;;, + 72;3; 1.000000, 1.000000, 1.000000;;, + 73;3; 1.000000, 1.000000, 1.000000;;, + 74;3; 1.000000, 1.000000, 1.000000;;, + 75;3; 1.000000, 1.000000, 1.000000;;, + 76;3; 1.000000, 1.000000, 1.000000;;, + 77;3; 1.000000, 1.000000, 1.000000;;, + 78;3; 1.000000, 1.000000, 1.000000;;, + 79;3; 1.000000, 1.000000, 1.000000;;, + 80;3; 1.000000, 1.000000, 1.000000;;, + 81;3; 1.000000, 1.000000, 1.000000;;, + 82;3; 1.000000, 1.000000, 1.000000;;, + 83;3; 1.000000, 1.000000, 1.000000;;, + 84;3; 1.000000, 1.000000, 1.000000;;, + 85;3; 1.000000, 1.000000, 1.000000;;, + 86;3; 1.000000, 1.000000, 1.000000;;, + 87;3; 1.000000, 1.000000, 1.000000;;, + 88;3; 1.000000, 1.000000, 1.000000;;, + 89;3; 1.000000, 1.000000, 1.000000;;, + 90;3; 1.000000, 1.000000, 1.000000;;, + 91;3; 1.000000, 1.000000, 1.000000;;, + 92;3; 1.000000, 1.000000, 1.000000;;, + 93;3; 1.000000, 1.000000, 1.000000;;, + 94;3; 1.000000, 1.000000, 1.000000;;, + 95;3; 1.000000, 1.000000, 1.000000;;, + 96;3; 1.000000, 1.000000, 1.000000;;, + 97;3; 1.000000, 1.000000, 1.000000;;, + 98;3; 1.000000, 1.000000, 1.000000;;, + 99;3; 1.000000, 1.000000, 1.000000;;, + 100;3; 1.000000, 1.000000, 1.000000;;, + 101;3; 1.000000, 1.000000, 1.000000;;, + 102;3; 1.000000, 1.000000, 1.000000;;, + 103;3; 1.000000, 1.000000, 1.000000;;, + 104;3; 1.000000, 1.000000, 1.000000;;, + 105;3; 1.000000, 1.000000, 1.000000;;, + 106;3; 1.000000, 1.000000, 1.000000;;, + 107;3; 1.000000, 1.000000, 1.000000;;, + 108;3; 1.000000, 1.000000, 1.000000;;, + 109;3; 1.000000, 1.000000, 1.000000;;, + 110;3; 1.000000, 1.000000, 1.000000;;, + 111;3; 1.000000, 1.000000, 1.000000;;, + 112;3; 1.000000, 1.000000, 1.000000;;, + 113;3; 1.000000, 1.000000, 1.000000;;, + 114;3; 1.000000, 1.000000, 1.000000;;, + 115;3; 1.000000, 1.000000, 1.000000;;, + 116;3; 1.000000, 1.000000, 1.000000;;, + 117;3; 1.000000, 1.000000, 1.000000;;, + 118;3; 1.000000, 1.000000, 1.000000;;, + 119;3; 1.000000, 1.000000, 1.000000;;, + 120;3; 1.000000, 1.000000, 1.000000;;, + 121;3; 1.000000, 1.000000, 1.000000;;, + 122;3; 1.000000, 1.000000, 1.000000;;, + 123;3; 1.000000, 1.000000, 1.000000;;, + 124;3; 1.000000, 1.000000, 1.000000;;, + 125;3; 1.000000, 1.000000, 1.000000;;, + 126;3; 1.000000, 1.000000, 1.000000;;, + 127;3; 1.000000, 1.000000, 1.000000;;, + 128;3; 1.000000, 1.000000, 1.000000;;, + 129;3; 1.000000, 1.000000, 1.000000;;, + 130;3; 1.000000, 1.000000, 1.000000;;, + 131;3; 1.000000, 1.000000, 1.000000;;, + 132;3; 1.000000, 1.000000, 1.000000;;, + 133;3; 1.000000, 1.000000, 1.000000;;, + 134;3; 1.000000, 1.000000, 1.000000;;, + 135;3; 1.000000, 1.000000, 1.000000;;, + 136;3; 1.000000, 1.000000, 1.000000;;, + 137;3; 1.000000, 1.000000, 1.000000;;, + 138;3; 1.000000, 1.000000, 1.000000;;, + 139;3; 1.000000, 1.000000, 1.000000;;, + 140;3; 1.000000, 1.000000, 1.000000;;, + 141;3; 1.000000, 1.000000, 1.000000;;, + 142;3; 1.000000, 1.000000, 1.000000;;, + 143;3; 1.000000, 1.000000, 1.000000;;, + 144;3; 1.000000, 1.000000, 1.000000;;, + 145;3; 1.000000, 1.000000, 1.000000;;, + 146;3; 1.000000, 1.000000, 1.000000;;, + 147;3; 1.000000, 1.000000, 1.000000;;, + 148;3; 1.000000, 1.000000, 1.000000;;, + 149;3; 1.000000, 1.000000, 1.000000;;, + 150;3; 1.000000, 1.000000, 1.000000;;, + 151;3; 1.000000, 1.000000, 1.000000;;, + 152;3; 1.000000, 1.000000, 1.000000;;, + 153;3; 1.000000, 1.000000, 1.000000;;, + 154;3; 1.000000, 1.000000, 1.000000;;, + 155;3; 1.000000, 1.000000, 1.000000;;, + 156;3; 1.000000, 1.000000, 1.000000;;, + 157;3; 1.000000, 1.000000, 1.000000;;, + 158;3; 1.000000, 1.000000, 1.000000;;, + 159;3; 1.000000, 1.000000, 1.000000;;, + 160;3; 1.000000, 1.000000, 1.000000;;, + 161;3; 1.000000, 1.000000, 1.000000;;, + 162;3; 1.000000, 1.000000, 1.000000;;, + 163;3; 1.000000, 1.000000, 1.000000;;, + 164;3; 1.000000, 1.000000, 1.000000;;, + 165;3; 1.000000, 1.000000, 1.000000;;, + 166;3; 1.000000, 1.000000, 1.000000;;, + 167;3; 1.000000, 1.000000, 1.000000;;, + 168;3; 1.000000, 1.000000, 1.000000;;, + 169;3; 1.000000, 1.000000, 1.000000;;, + 170;3; 1.000000, 1.000000, 1.000000;;, + 171;3; 1.000000, 1.000000, 1.000000;;, + 172;3; 1.000000, 1.000000, 1.000000;;, + 173;3; 1.000000, 1.000000, 1.000000;;, + 174;3; 1.000000, 1.000000, 1.000000;;, + 175;3; 1.000000, 1.000000, 1.000000;;, + 176;3; 1.000000, 1.000000, 1.000000;;, + 177;3; 1.000000, 1.000000, 1.000000;;, + 178;3; 1.000000, 1.000000, 1.000000;;, + 179;3; 1.000000, 1.000000, 1.000000;;, + 180;3; 1.000000, 1.000000, 1.000000;;, + 181;3; 1.000000, 1.000000, 1.000000;;, + 182;3; 1.000000, 1.000000, 1.000000;;, + 183;3; 1.000000, 1.000000, 1.000000;;, + 184;3; 1.000000, 1.000000, 1.000000;;, + 185;3; 1.000000, 1.000000, 1.000000;;, + 186;3; 1.000000, 1.000000, 1.000000;;, + 187;3; 1.000000, 1.000000, 1.000000;;, + 188;3; 1.000000, 1.000000, 1.000000;;, + 189;3; 1.000000, 1.000000, 1.000000;;, + 190;3; 1.000000, 1.000000, 1.000000;;, + 191;3; 1.000000, 1.000000, 1.000000;;, + 192;3; 1.000000, 1.000000, 1.000000;;, + 193;3; 1.000000, 1.000000, 1.000000;;, + 194;3; 1.000000, 1.000000, 1.000000;;, + 195;3; 1.000000, 1.000000, 1.000000;;, + 196;3; 1.000000, 1.000000, 1.000000;;, + 197;3; 1.000000, 1.000000, 1.000000;;, + 198;3; 1.000000, 1.000000, 1.000000;;, + 199;3; 1.000000, 1.000000, 1.000000;;, + 200;3; 1.000000, 1.000000, 1.000000;;, + 201;3; 1.000000, 1.000000, 1.000000;;, + 202;3; 1.000000, 1.000000, 1.000000;;, + 203;3; 1.000000, 1.000000, 1.000000;;, + 204;3; 1.000000, 1.000000, 1.000000;;, + 205;3; 1.000000, 1.000000, 1.000000;;, + 206;3; 1.000000, 1.000000, 1.000000;;, + 207;3; 1.000000, 1.000000, 1.000000;;, + 208;3; 1.000000, 1.000000, 1.000000;;, + 209;3; 1.000000, 1.000000, 1.000000;;, + 210;3; 1.000000, 1.000000, 1.000000;;, + 211;3; 1.000000, 1.000000, 1.000000;;, + 212;3; 1.000000, 1.000000, 1.000000;;, + 213;3; 1.000000, 1.000000, 1.000000;;, + 214;3; 1.000000, 1.000000, 1.000000;;, + 215;3; 1.000000, 1.000000, 1.000000;;, + 216;3; 1.000000, 1.000000, 1.000000;;, + 217;3; 1.000000, 1.000000, 1.000000;;, + 218;3; 1.000000, 1.000000, 1.000000;;, + 219;3; 1.000000, 1.000000, 1.000000;;, + 220;3; 1.000000, 1.000000, 1.000000;;; + } + } + Animation { + {Armature_Head} + AnimationKey { //Position + 2; + 221; + 0;3; 0.000000, 6.750000, 0.000000;;, + 1;3; -0.000000, 6.750000, 0.000000;;, + 2;3; 0.000000, 6.750000, 0.000000;;, + 3;3; 0.000000, 6.750000, 0.000000;;, + 4;3; 0.000000, 6.750000, 0.000000;;, + 5;3; 0.000000, 6.750000, 0.000000;;, + 6;3; 0.000000, 6.750000, 0.000000;;, + 7;3; 0.000000, 6.750000,-0.000000;;, + 8;3; 0.000000, 6.750000,-0.000000;;, + 9;3; 0.000000, 6.750000, 0.000000;;, + 10;3; 0.000000, 6.750000,-0.000000;;, + 11;3; 0.000000, 6.750000, 0.000000;;, + 12;3; 0.000000, 6.750000, 0.000000;;, + 13;3; 0.000000, 6.750000, 0.000000;;, + 14;3; 0.000000, 6.750000,-0.000000;;, + 15;3; 0.000000, 6.750000,-0.000000;;, + 16;3; 0.000000, 6.750000, 0.000000;;, + 17;3; -0.000000, 6.750001,-0.000000;;, + 18;3; 0.000000, 6.750000, 0.000000;;, + 19;3; 0.000000, 6.750000, 0.000000;;, + 20;3; 0.000000, 6.750000, 0.000000;;, + 21;3; 0.000000, 6.750000, 0.000000;;, + 22;3; 0.000000, 6.750000, 0.000000;;, + 23;3; -0.000000, 6.750001,-0.000000;;, + 24;3; 0.000000, 6.750000, 0.000000;;, + 25;3; 0.000000, 6.750000, 0.000000;;, + 26;3; 0.000000, 6.750000,-0.000000;;, + 27;3; 0.000000, 6.750000, 0.000000;;, + 28;3; 0.000000, 6.750000, 0.000000;;, + 29;3; 0.000000, 6.750000, 0.000000;;, + 30;3; 0.000000, 6.750000, 0.000000;;, + 31;3; 0.000000, 6.750000, 0.000000;;, + 32;3; 0.000000, 6.750000,-0.000000;;, + 33;3; 0.000000, 6.750000,-0.000000;;, + 34;3; 0.000000, 6.750000, 0.000000;;, + 35;3; 0.000000, 6.750000, 0.000000;;, + 36;3; 0.000000, 6.750000,-0.000000;;, + 37;3; 0.000000, 6.750000, 0.000000;;, + 38;3; 0.000000, 6.750000, 0.000000;;, + 39;3; -0.000000, 6.750000, 0.000000;;, + 40;3; 0.000000, 6.750000, 0.000000;;, + 41;3; -0.000000, 6.750000, 0.000000;;, + 42;3; 0.000000, 6.750000, 0.000000;;, + 43;3; 0.000000, 6.750000, 0.000000;;, + 44;3; 0.000000, 6.750000, 0.000000;;, + 45;3; 0.000000, 6.750000, 0.000000;;, + 46;3; 0.000000, 6.750000,-0.000000;;, + 47;3; 0.000000, 6.750000, 0.000000;;, + 48;3; 0.000000, 6.750000, 0.000000;;, + 49;3; 0.000000, 6.750000, 0.000000;;, + 50;3; 0.000000, 6.750000,-0.000000;;, + 51;3; 0.000000, 6.750000, 0.000000;;, + 52;3; 0.000000, 6.750000, 0.000000;;, + 53;3; 0.000000, 6.750000, 0.000000;;, + 54;3; 0.000000, 6.750000, 0.000000;;, + 55;3; 0.000000, 6.750000,-0.000000;;, + 56;3; 0.000000, 6.750000, 0.000000;;, + 57;3; -0.000000, 6.750001,-0.000000;;, + 58;3; 0.000000, 6.750000, 0.000000;;, + 59;3; 0.000000, 6.750000, 0.000000;;, + 60;3; 0.000000, 6.750000, 0.000000;;, + 61;3; 0.000000, 6.750000, 0.000000;;, + 62;3; 0.000000, 6.750000, 0.000000;;, + 63;3; 0.000000, 6.750000,-0.000000;;, + 64;3; 0.000000, 6.750000, 0.000000;;, + 65;3; 0.000000, 6.750000, 0.000000;;, + 66;3; 0.000000, 6.750000, 0.000000;;, + 67;3; 0.000000, 6.750000, 0.000000;;, + 68;3; 0.000000, 6.750000, 0.000000;;, + 69;3; 0.000000, 6.750000,-0.000000;;, + 70;3; 0.000000, 6.750000,-0.000000;;, + 71;3; 0.000000, 6.750000,-0.000000;;, + 72;3; 0.000000, 6.750000,-0.000000;;, + 73;3; 0.000000, 6.749999, 0.000000;;, + 74;3; 0.000000, 6.750000, 0.000000;;, + 75;3; 0.000000, 6.750000, 0.000000;;, + 76;3; -0.000000, 6.750000,-0.000000;;, + 77;3; 0.000000, 6.750000, 0.000000;;, + 78;3; 0.000000, 6.750000,-0.000000;;, + 79;3; 0.000000, 6.750000, 0.000000;;, + 80;3; 0.000000, 6.750000, 0.000000;;, + 81;3; 0.000000, 6.750000,-0.000000;;, + 82;3; 0.000000, 6.750000, 0.000000;;, + 83;3; 0.000000, 6.750000,-0.000000;;, + 84;3; 0.000000, 6.750000, 0.000000;;, + 85;3; -0.000000, 6.750000,-0.000000;;, + 86;3; 0.000000, 6.750000, 0.000000;;, + 87;3; 0.000000, 6.750000,-0.000000;;, + 88;3; 0.000000, 6.750000, 0.000000;;, + 89;3; 0.000000, 6.750000,-0.000000;;, + 90;3; 0.000000, 6.750000,-0.000000;;, + 91;3; 0.000000, 6.750000, 0.000000;;, + 92;3; 0.000000, 6.750000,-0.000000;;, + 93;3; 0.000000, 6.750000,-0.000000;;, + 94;3; 0.000000, 6.750000,-0.000000;;, + 95;3; 0.000000, 6.750000, 0.000000;;, + 96;3; 0.000000, 6.750000,-0.000000;;, + 97;3; 0.000000, 6.750000, 0.000000;;, + 98;3; 0.000000, 6.750000, 0.000000;;, + 99;3; 0.000000, 6.750000,-0.000000;;, + 100;3; 0.000000, 6.750000, 0.000000;;, + 101;3; 0.000000, 6.750000, 0.000000;;, + 102;3; 0.000000, 6.750000,-0.000000;;, + 103;3; 0.000000, 6.750000, 0.000000;;, + 104;3; -0.000000, 6.750000, 0.000000;;, + 105;3; 0.000000, 6.750000, 0.000000;;, + 106;3; 0.000000, 6.750000, 0.000000;;, + 107;3; 0.000000, 6.750000,-0.000000;;, + 108;3; 0.000000, 6.750000, 0.000000;;, + 109;3; 0.000000, 6.750000, 0.000000;;, + 110;3; 0.000000, 6.750000,-0.000000;;, + 111;3; 0.000000, 6.750000,-0.000000;;, + 112;3; 0.000000, 6.750000,-0.000000;;, + 113;3; 0.000000, 6.750000,-0.000000;;, + 114;3; 0.000000, 6.750000, 0.000000;;, + 115;3; 0.000000, 6.750000, 0.000000;;, + 116;3; 0.000000, 6.750000, 0.000000;;, + 117;3; 0.000000, 6.750000,-0.000000;;, + 118;3; 0.000000, 6.750000,-0.000000;;, + 119;3; 0.000000, 6.750000,-0.000000;;, + 120;3; -0.000000, 6.750000, 0.000000;;, + 121;3; 0.000000, 6.750000,-0.000000;;, + 122;3; -0.000000, 6.750000,-0.000000;;, + 123;3; 0.000000, 6.750000,-0.000000;;, + 124;3; 0.000000, 6.750000, 0.000000;;, + 125;3; 0.000000, 6.750000,-0.000000;;, + 126;3; 0.000000, 6.750000, 0.000000;;, + 127;3; 0.000000, 6.750000,-0.000000;;, + 128;3; 0.000000, 6.750000, 0.000000;;, + 129;3; 0.000000, 6.750000,-0.000000;;, + 130;3; 0.000000, 6.750000,-0.000000;;, + 131;3; 0.000000, 6.750000,-0.000000;;, + 132;3; 0.000000, 6.750000,-0.000000;;, + 133;3; 0.000000, 6.750000, 0.000000;;, + 134;3; 0.000000, 6.750000,-0.000000;;, + 135;3; 0.000000, 6.750000, 0.000000;;, + 136;3; 0.000000, 6.750000, 0.000000;;, + 137;3; 0.000000, 6.750000, 0.000000;;, + 138;3; -0.000000, 6.750000, 0.000000;;, + 139;3; 0.000000, 6.750000,-0.000000;;, + 140;3; 0.000000, 6.750000,-0.000000;;, + 141;3; 0.000000, 6.750000, 0.000000;;, + 142;3; 0.000000, 6.750000, 0.000000;;, + 143;3; 0.000000, 6.750000,-0.000000;;, + 144;3; 0.000000, 6.750000, 0.000000;;, + 145;3; 0.000000, 6.750000, 0.000000;;, + 146;3; 0.000000, 6.750000, 0.000000;;, + 147;3; 0.000000, 6.750000,-0.000000;;, + 148;3; 0.000000, 6.750000, 0.000000;;, + 149;3; 0.000000, 6.750000, 0.000000;;, + 150;3; 0.000000, 6.750000,-0.000000;;, + 151;3; 0.000000, 6.750000,-0.000000;;, + 152;3; 0.000000, 6.750000,-0.000000;;, + 153;3; 0.000000, 6.750000,-0.000000;;, + 154;3; 0.000000, 6.750000,-0.000000;;, + 155;3; 0.000000, 6.750000,-0.000000;;, + 156;3; 0.000000, 6.750000,-0.000000;;, + 157;3; -0.000000, 6.750000, 0.000000;;, + 158;3; 0.000000, 6.750000, 0.000000;;, + 159;3; 0.000000, 6.750000,-0.000000;;, + 160;3; 0.000000, 6.750000, 0.000000;;, + 161;3; 0.000000, 6.750000,-0.000000;;, + 162;3; 0.000000, 6.750000, 0.000000;;, + 163;3; 0.000000, 6.750000, 0.000000;;, + 164;3; 0.000000, 6.750000, 0.000000;;, + 165;3; 0.000000, 6.750000, 0.000000;;, + 166;3; 0.000000, 6.750000, 0.000000;;, + 167;3; 0.000000, 6.750000, 0.000000;;, + 168;3; 0.000000, 6.750000, 0.000000;;, + 169;3; 0.000000, 6.750000, 0.000000;;, + 170;3; 0.000000, 6.750000, 0.000000;;, + 171;3; 0.000000, 6.750000, 0.000000;;, + 172;3; 0.000000, 6.750000, 0.000000;;, + 173;3; 0.000000, 6.750000, 0.000000;;, + 174;3; 0.000000, 6.750000, 0.000000;;, + 175;3; 0.000000, 6.750000, 0.000000;;, + 176;3; 0.000000, 6.750000, 0.000000;;, + 177;3; 0.000000, 6.750000, 0.000000;;, + 178;3; 0.000000, 6.750000, 0.000000;;, + 179;3; 0.000000, 6.750000, 0.000000;;, + 180;3; 0.000000, 6.750000, 0.000000;;, + 181;3; 0.000000, 6.750000, 0.000000;;, + 182;3; 0.000000, 6.750000, 0.000000;;, + 183;3; 0.000000, 6.750000, 0.000000;;, + 184;3; 0.000000, 6.750000, 0.000000;;, + 185;3; 0.000000, 6.750000, 0.000000;;, + 186;3; 0.000000, 6.750000, 0.000000;;, + 187;3; 0.000000, 6.750000, 0.000000;;, + 188;3; 0.000000, 6.750000, 0.000000;;, + 189;3; 0.000000, 6.750000, 0.000000;;, + 190;3; 0.000000, 6.750000,-0.000000;;, + 191;3; 0.000000, 6.750000, 0.000000;;, + 192;3; 0.000000, 6.749999,-0.000000;;, + 193;3; 0.000000, 6.750000, 0.000000;;, + 194;3; 0.000000, 6.750000, 0.000000;;, + 195;3; 0.000000, 6.750000, 0.000000;;, + 196;3; 0.000000, 6.749999, 0.000000;;, + 197;3; 0.000000, 6.750000, 0.000000;;, + 198;3; 0.000000, 6.750000, 0.000000;;, + 199;3; 0.000000, 6.750000, 0.000000;;, + 200;3; 0.000000, 6.750000, 0.000000;;, + 201;3; 0.000000, 6.750000, 0.000000;;, + 202;3; 0.000000, 6.750000,-0.000000;;, + 203;3; 0.000000, 6.750000, 0.000000;;, + 204;3; 0.000000, 6.750000, 0.000000;;, + 205;3; 0.000000, 6.750000, 0.000000;;, + 206;3; -0.000000, 6.750000, 0.000000;;, + 207;3; 0.000000, 6.750000, 0.000000;;, + 208;3; -0.000000, 6.750000, 0.000000;;, + 209;3; 0.000000, 6.750000,-0.000000;;, + 210;3; 0.000000, 6.750000, 0.000000;;, + 211;3; 0.000000, 6.750000,-0.000000;;, + 212;3; -0.000000, 6.750000, 0.000000;;, + 213;3; 0.000000, 6.750000, 0.000000;;, + 214;3; -0.000000, 6.750000, 0.000000;;, + 215;3; 0.000000, 6.750000, 0.000000;;, + 216;3; 0.000000, 6.750000, 0.000000;;, + 217;3; 0.000000, 6.749999, 0.000000;;, + 218;3; 0.000000, 6.750000, 0.000000;;, + 219;3; 0.000000, 6.750000, 0.000000;;, + 220;3; 0.000000, 6.750000, 0.000000;;; + } + AnimationKey { //Rotation + 0; + 221; + 0;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 1;4; -0.000120,-0.000005, 0.999993,-0.000240;;, + 2;4; -0.000483,-0.000021, 0.999974,-0.000967;;, + 3;4; -0.001090,-0.000048, 0.999941,-0.002181;;, + 4;4; -0.001937,-0.000085, 0.999894,-0.003876;;, + 5;4; -0.003014,-0.000132, 0.999835,-0.006030;;, + 6;4; -0.004301,-0.000188, 0.999765,-0.008607;;, + 7;4; -0.005773,-0.000252, 0.999685,-0.011553;;, + 8;4; -0.007394,-0.000323, 0.999596,-0.014795;;, + 9;4; -0.009118,-0.000398, 0.999502,-0.018246;;, + 10;4; -0.010897,-0.000476, 0.999405,-0.021804;;, + 11;4; -0.012675,-0.000553, 0.999308,-0.025363;;, + 12;4; -0.014400,-0.000629, 0.999214,-0.028814;;, + 13;4; -0.016021,-0.000699, 0.999126,-0.032056;;, + 14;4; -0.017493,-0.000764, 0.999045,-0.035002;;, + 15;4; -0.018780,-0.000820, 0.998975,-0.037578;;, + 16;4; -0.019857,-0.000867, 0.998916,-0.039733;;, + 17;4; -0.020704,-0.000904, 0.998870,-0.041427;;, + 18;4; -0.021311,-0.000930, 0.998837,-0.042642;;, + 19;4; -0.021674,-0.000946, 0.998817,-0.043369;;, + 20;4; -0.021794,-0.000952, 0.998811,-0.043609;;, + 21;4; -0.021720,-0.000948, 0.998817,-0.043369;;, + 22;4; -0.021494,-0.000938, 0.998837,-0.042642;;, + 23;4; -0.021108,-0.000922, 0.998870,-0.041427;;, + 24;4; -0.020560,-0.000898, 0.998916,-0.039733;;, + 25;4; -0.019848,-0.000867, 0.998975,-0.037578;;, + 26;4; -0.018975,-0.000828, 0.999045,-0.035002;;, + 27;4; -0.017947,-0.000784, 0.999126,-0.032056;;, + 28;4; -0.016778,-0.000733, 0.999214,-0.028814;;, + 29;4; -0.015484,-0.000676, 0.999308,-0.025363;;, + 30;4; -0.014088,-0.000615, 0.999405,-0.021804;;, + 31;4; -0.012616,-0.000551, 0.999502,-0.018246;;, + 32;4; -0.011095,-0.000484, 0.999597,-0.014795;;, + 33;4; -0.009555,-0.000417, 0.999685,-0.011553;;, + 34;4; -0.008021,-0.000350, 0.999765,-0.008607;;, + 35;4; -0.006517,-0.000285, 0.999835,-0.006030;;, + 36;4; -0.005062,-0.000221, 0.999894,-0.003876;;, + 37;4; -0.003674,-0.000160, 0.999941,-0.002181;;, + 38;4; -0.002362,-0.000103, 0.999974,-0.000967;;, + 39;4; -0.001136,-0.000050, 0.999994,-0.000240;;, + 40;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 41;4; 0.001136, 0.000050, 0.999993,-0.000240;;, + 42;4; 0.002362, 0.000103, 0.999974,-0.000967;;, + 43;4; 0.003674, 0.000160, 0.999941,-0.002181;;, + 44;4; 0.005062, 0.000221, 0.999894,-0.003876;;, + 45;4; 0.006517, 0.000285, 0.999835,-0.006030;;, + 46;4; 0.008021, 0.000350, 0.999765,-0.008607;;, + 47;4; 0.009555, 0.000417, 0.999685,-0.011553;;, + 48;4; 0.011095, 0.000484, 0.999596,-0.014795;;, + 49;4; 0.012616, 0.000551, 0.999502,-0.018246;;, + 50;4; 0.014088, 0.000615, 0.999405,-0.021804;;, + 51;4; 0.015484, 0.000676, 0.999308,-0.025363;;, + 52;4; 0.016778, 0.000733, 0.999214,-0.028814;;, + 53;4; 0.017947, 0.000784, 0.999126,-0.032056;;, + 54;4; 0.018975, 0.000828, 0.999045,-0.035002;;, + 55;4; 0.019848, 0.000867, 0.998975,-0.037578;;, + 56;4; 0.020560, 0.000898, 0.998916,-0.039733;;, + 57;4; 0.021108, 0.000922, 0.998870,-0.041427;;, + 58;4; 0.021494, 0.000938, 0.998837,-0.042642;;, + 59;4; 0.021720, 0.000948, 0.998817,-0.043369;;, + 60;4; 0.021794, 0.000952, 0.998811,-0.043609;;, + 61;4; 0.021681, 0.000947, 0.998817,-0.043383;;, + 62;4; 0.021364, 0.000933, 0.998834,-0.042748;;, + 63;4; 0.020870, 0.000911, 0.998861,-0.041759;;, + 64;4; 0.020221, 0.000883, 0.998896,-0.040461;;, + 65;4; 0.019436, 0.000849, 0.998939,-0.038890;;, + 66;4; 0.018529, 0.000809, 0.998989,-0.037076;;, + 67;4; 0.017514, 0.000765, 0.999044,-0.035045;;, + 68;4; 0.016402, 0.000716, 0.999105,-0.032820;;, + 69;4; 0.015204, 0.000664, 0.999170,-0.030422;;, + 70;4; 0.013928, 0.000608, 0.999240,-0.027869;;, + 71;4; 0.012583, 0.000549, 0.999313,-0.025178;;, + 72;4; 0.011179, 0.000488, 0.999390,-0.022368;;, + 73;4; 0.009723, 0.000425, 0.999469,-0.019456;;, + 74;4; 0.008227, 0.000359, 0.999551,-0.016461;;, + 75;4; 0.006701, 0.000293, 0.999634,-0.013408;;, + 76;4; 0.005161, 0.000225, 0.999718,-0.010327;;, + 77;4; 0.003631, 0.000159, 0.999802,-0.007266;;, + 78;4; 0.002152, 0.000094, 0.999883,-0.004305;;, + 79;4; 0.000815, 0.000036, 0.999956,-0.001631;;, + 80;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 81;4; 0.000000,-0.000000, 1.000000, 0.000000;;, + 82;4; -0.000815,-0.000036, 0.999956,-0.001631;;, + 83;4; -0.002152,-0.000094, 0.999883,-0.004305;;, + 84;4; -0.003631,-0.000159, 0.999802,-0.007266;;, + 85;4; -0.005161,-0.000225, 0.999718,-0.010327;;, + 86;4; -0.006701,-0.000293, 0.999634,-0.013408;;, + 87;4; -0.008226,-0.000359, 0.999551,-0.016461;;, + 88;4; -0.009723,-0.000425, 0.999469,-0.019456;;, + 89;4; -0.011179,-0.000488, 0.999390,-0.022368;;, + 90;4; -0.012583,-0.000549, 0.999313,-0.025178;;, + 91;4; -0.013928,-0.000608, 0.999240,-0.027869;;, + 92;4; -0.015204,-0.000664, 0.999170,-0.030422;;, + 93;4; -0.016402,-0.000716, 0.999105,-0.032820;;, + 94;4; -0.017514,-0.000765, 0.999044,-0.035045;;, + 95;4; -0.018529,-0.000809, 0.998989,-0.037076;;, + 96;4; -0.019436,-0.000849, 0.998939,-0.038890;;, + 97;4; -0.020221,-0.000883, 0.998896,-0.040461;;, + 98;4; -0.020870,-0.000911, 0.998861,-0.041759;;, + 99;4; -0.021364,-0.000933, 0.998834,-0.042748;;, + 100;4; -0.021681,-0.000947, 0.998817,-0.043383;;, + 101;4; -0.021794,-0.000952, 0.998811,-0.043609;;, + 102;4; -0.021720,-0.000948, 0.998817,-0.043369;;, + 103;4; -0.021494,-0.000938, 0.998837,-0.042642;;, + 104;4; -0.021108,-0.000922, 0.998870,-0.041427;;, + 105;4; -0.020560,-0.000898, 0.998916,-0.039733;;, + 106;4; -0.019848,-0.000867, 0.998975,-0.037578;;, + 107;4; -0.018975,-0.000828, 0.999045,-0.035002;;, + 108;4; -0.017947,-0.000784, 0.999126,-0.032056;;, + 109;4; -0.016778,-0.000733, 0.999214,-0.028814;;, + 110;4; -0.015484,-0.000676, 0.999308,-0.025363;;, + 111;4; -0.014088,-0.000615, 0.999405,-0.021804;;, + 112;4; -0.012616,-0.000551, 0.999502,-0.018246;;, + 113;4; -0.011095,-0.000484, 0.999597,-0.014795;;, + 114;4; -0.009555,-0.000417, 0.999685,-0.011553;;, + 115;4; -0.008021,-0.000350, 0.999765,-0.008607;;, + 116;4; -0.006517,-0.000285, 0.999835,-0.006030;;, + 117;4; -0.005062,-0.000221, 0.999894,-0.003876;;, + 118;4; -0.003674,-0.000160, 0.999941,-0.002181;;, + 119;4; -0.002362,-0.000103, 0.999974,-0.000967;;, + 120;4; -0.001136,-0.000050, 0.999994,-0.000240;;, + 121;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 122;4; 0.001136, 0.000050, 0.999993,-0.000240;;, + 123;4; 0.002362, 0.000103, 0.999974,-0.000967;;, + 124;4; 0.003674, 0.000160, 0.999941,-0.002181;;, + 125;4; 0.005062, 0.000221, 0.999894,-0.003876;;, + 126;4; 0.006517, 0.000285, 0.999835,-0.006030;;, + 127;4; 0.008021, 0.000350, 0.999765,-0.008607;;, + 128;4; 0.009555, 0.000417, 0.999685,-0.011553;;, + 129;4; 0.011095, 0.000484, 0.999596,-0.014795;;, + 130;4; 0.012616, 0.000551, 0.999502,-0.018246;;, + 131;4; 0.014088, 0.000615, 0.999405,-0.021804;;, + 132;4; 0.015484, 0.000676, 0.999308,-0.025363;;, + 133;4; 0.016778, 0.000733, 0.999214,-0.028814;;, + 134;4; 0.017947, 0.000784, 0.999126,-0.032056;;, + 135;4; 0.018975, 0.000828, 0.999045,-0.035002;;, + 136;4; 0.019848, 0.000867, 0.998975,-0.037578;;, + 137;4; 0.020560, 0.000898, 0.998916,-0.039733;;, + 138;4; 0.021109, 0.000922, 0.998870,-0.041427;;, + 139;4; 0.021494, 0.000938, 0.998837,-0.042642;;, + 140;4; 0.021720, 0.000948, 0.998817,-0.043369;;, + 141;4; 0.021794, 0.000952, 0.998811,-0.043609;;, + 142;4; 0.021681, 0.000947, 0.998817,-0.043383;;, + 143;4; 0.021364, 0.000933, 0.998834,-0.042748;;, + 144;4; 0.020870, 0.000911, 0.998861,-0.041759;;, + 145;4; 0.020221, 0.000883, 0.998896,-0.040461;;, + 146;4; 0.019436, 0.000849, 0.998939,-0.038890;;, + 147;4; 0.018529, 0.000809, 0.998989,-0.037076;;, + 148;4; 0.017514, 0.000765, 0.999044,-0.035045;;, + 149;4; 0.016402, 0.000716, 0.999105,-0.032820;;, + 150;4; 0.015204, 0.000664, 0.999170,-0.030422;;, + 151;4; 0.013928, 0.000608, 0.999240,-0.027869;;, + 152;4; 0.012583, 0.000549, 0.999313,-0.025178;;, + 153;4; 0.011179, 0.000488, 0.999390,-0.022368;;, + 154;4; 0.009723, 0.000425, 0.999469,-0.019456;;, + 155;4; 0.008227, 0.000359, 0.999551,-0.016461;;, + 156;4; 0.006701, 0.000293, 0.999634,-0.013408;;, + 157;4; 0.005161, 0.000225, 0.999718,-0.010327;;, + 158;4; 0.003631, 0.000159, 0.999802,-0.007266;;, + 159;4; 0.002152, 0.000094, 0.999883,-0.004305;;, + 160;4; 0.000815, 0.000036, 0.999956,-0.001631;;, + 161;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 162;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 163;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 164;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 165;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 166;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 167;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 168;4; 0.000000,-0.000000, 1.000000, 0.000000;;, + 169;4; 0.003877,-0.000000, 0.999915, 0.000000;;, + 170;4; 0.014799,-0.000000, 0.999677, 0.000000;;, + 171;4; 0.028821,-0.000000, 0.999371, 0.000000;;, + 172;4; 0.039742,-0.000000, 0.999133, 0.000000;;, + 173;4; 0.043619, 0.000000, 0.999048, 0.000000;;, + 174;4; 0.041150, 0.000000, 0.999133, 0.000000;;, + 175;4; 0.033580,-0.000000, 0.999371, 0.000000;;, + 176;4; 0.022207,-0.000000, 0.999677, 0.000000;;, + 177;4; 0.010132,-0.000000, 0.999915, 0.000000;;, + 178;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 179;4; -0.010132, 0.000000, 0.999915, 0.000000;;, + 180;4; -0.022206, 0.000000, 0.999677, 0.000000;;, + 181;4; -0.033580, 0.000000, 0.999371, 0.000000;;, + 182;4; -0.041150,-0.000000, 0.999133, 0.000000;;, + 183;4; -0.043619, 0.000000, 0.999048, 0.000000;;, + 184;4; -0.039742, 0.000000, 0.999133, 0.000000;;, + 185;4; -0.028821, 0.000000, 0.999371, 0.000000;;, + 186;4; -0.014798, 0.000000, 0.999677, 0.000000;;, + 187;4; -0.003877, 0.000000, 0.999915, 0.000000;;, + 188;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 189;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 190;4; 0.000000,-0.000000, 1.000000, 0.000000;;, + 191;4; 0.000000,-0.000000, 1.000000, 0.000000;;, + 192;4; 0.000000,-0.000000, 1.000000, 0.000000;;, + 193;4; 0.000000,-0.000000, 1.000000, 0.000000;;, + 194;4; 0.000000,-0.000000, 1.000000, 0.000000;;, + 195;4; 0.000000,-0.000000, 1.000000, 0.000000;;, + 196;4; 0.000000,-0.000000, 1.000000, 0.000000;;, + 197;4; 0.000000,-0.000000, 1.000000, 0.000000;;, + 198;4; 0.000000,-0.000000, 1.000000, 0.000000;;, + 199;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 200;4; 0.000000,-0.000000, 1.000000, 0.000000;;, + 201;4; 0.003877,-0.000000, 0.999915, 0.000000;;, + 202;4; 0.014799,-0.000000, 0.999677, 0.000000;;, + 203;4; 0.028821,-0.000000, 0.999371, 0.000000;;, + 204;4; 0.039742,-0.000000, 0.999133, 0.000000;;, + 205;4; 0.043619, 0.000000, 0.999048, 0.000000;;, + 206;4; 0.041150, 0.000000, 0.999133, 0.000000;;, + 207;4; 0.033580,-0.000000, 0.999371, 0.000000;;, + 208;4; 0.022207,-0.000000, 0.999677, 0.000000;;, + 209;4; 0.010132,-0.000000, 0.999915, 0.000000;;, + 210;4; 0.000000, 0.000000, 1.000000, 0.000000;;, + 211;4; -0.010132, 0.000000, 0.999915, 0.000000;;, + 212;4; -0.022206, 0.000000, 0.999677, 0.000000;;, + 213;4; -0.033580, 0.000000, 0.999371, 0.000000;;, + 214;4; -0.041150,-0.000000, 0.999133, 0.000000;;, + 215;4; -0.043619, 0.000000, 0.999048, 0.000000;;, + 216;4; -0.039742, 0.000000, 0.999133, 0.000000;;, + 217;4; -0.028821, 0.000000, 0.999371, 0.000000;;, + 218;4; -0.014799, 0.000000, 0.999677, 0.000000;;, + 219;4; -0.003877, 0.000000, 0.999915, 0.000000;;, + 220;4; 0.000000, 0.000000, 1.000000, 0.000000;;; + } + AnimationKey { //Scale + 1; + 221; + 0;3; 1.000000, 1.000000, 1.000000;;, + 1;3; 1.000000, 1.000000, 1.000000;;, + 2;3; 1.000000, 1.000000, 1.000000;;, + 3;3; 1.000000, 1.000000, 1.000000;;, + 4;3; 1.000000, 1.000000, 1.000000;;, + 5;3; 1.000000, 1.000000, 1.000000;;, + 6;3; 1.000000, 1.000000, 1.000000;;, + 7;3; 1.000000, 1.000000, 1.000000;;, + 8;3; 1.000000, 1.000000, 1.000000;;, + 9;3; 1.000000, 1.000000, 1.000000;;, + 10;3; 1.000000, 1.000000, 1.000000;;, + 11;3; 1.000000, 1.000000, 1.000000;;, + 12;3; 1.000000, 1.000000, 1.000000;;, + 13;3; 1.000000, 1.000000, 1.000000;;, + 14;3; 1.000000, 1.000000, 1.000000;;, + 15;3; 1.000000, 1.000000, 1.000000;;, + 16;3; 1.000000, 1.000000, 1.000000;;, + 17;3; 1.000000, 1.000000, 1.000000;;, + 18;3; 1.000000, 1.000000, 1.000000;;, + 19;3; 1.000000, 1.000000, 1.000000;;, + 20;3; 1.000000, 1.000000, 1.000000;;, + 21;3; 1.000000, 1.000000, 1.000000;;, + 22;3; 1.000000, 1.000000, 1.000000;;, + 23;3; 1.000000, 1.000000, 1.000000;;, + 24;3; 1.000000, 1.000000, 1.000000;;, + 25;3; 1.000000, 1.000000, 1.000000;;, + 26;3; 1.000000, 1.000000, 1.000000;;, + 27;3; 1.000000, 1.000000, 1.000000;;, + 28;3; 1.000000, 1.000000, 1.000000;;, + 29;3; 1.000000, 1.000000, 1.000000;;, + 30;3; 1.000000, 1.000000, 1.000000;;, + 31;3; 1.000000, 1.000000, 1.000000;;, + 32;3; 1.000000, 1.000000, 1.000000;;, + 33;3; 1.000000, 1.000000, 1.000000;;, + 34;3; 1.000000, 1.000000, 1.000000;;, + 35;3; 1.000000, 1.000000, 1.000000;;, + 36;3; 1.000000, 1.000000, 1.000000;;, + 37;3; 1.000000, 1.000000, 1.000000;;, + 38;3; 1.000000, 1.000000, 1.000000;;, + 39;3; 1.000000, 1.000000, 1.000000;;, + 40;3; 1.000000, 1.000000, 1.000000;;, + 41;3; 1.000000, 1.000000, 1.000000;;, + 42;3; 1.000000, 1.000000, 1.000000;;, + 43;3; 1.000000, 1.000000, 1.000000;;, + 44;3; 1.000000, 1.000000, 1.000000;;, + 45;3; 1.000000, 1.000000, 1.000000;;, + 46;3; 1.000000, 1.000000, 1.000000;;, + 47;3; 1.000000, 1.000000, 1.000000;;, + 48;3; 1.000000, 1.000000, 1.000000;;, + 49;3; 1.000000, 1.000000, 1.000000;;, + 50;3; 1.000000, 1.000000, 1.000000;;, + 51;3; 1.000000, 1.000000, 1.000000;;, + 52;3; 1.000000, 1.000000, 1.000000;;, + 53;3; 1.000000, 1.000000, 1.000000;;, + 54;3; 1.000000, 1.000000, 1.000000;;, + 55;3; 1.000000, 1.000000, 1.000000;;, + 56;3; 1.000000, 1.000000, 1.000000;;, + 57;3; 1.000000, 1.000000, 1.000000;;, + 58;3; 1.000000, 1.000000, 1.000000;;, + 59;3; 1.000000, 1.000000, 1.000000;;, + 60;3; 1.000000, 1.000000, 1.000000;;, + 61;3; 1.000000, 1.000000, 1.000000;;, + 62;3; 1.000000, 1.000000, 1.000000;;, + 63;3; 1.000000, 1.000000, 1.000000;;, + 64;3; 1.000000, 1.000000, 1.000000;;, + 65;3; 1.000000, 1.000000, 1.000000;;, + 66;3; 1.000000, 1.000000, 1.000000;;, + 67;3; 1.000000, 1.000000, 1.000000;;, + 68;3; 1.000000, 1.000000, 1.000000;;, + 69;3; 1.000000, 1.000000, 1.000000;;, + 70;3; 1.000000, 1.000000, 1.000000;;, + 71;3; 1.000000, 1.000000, 1.000000;;, + 72;3; 1.000000, 1.000000, 1.000000;;, + 73;3; 1.000000, 1.000000, 1.000000;;, + 74;3; 1.000000, 1.000000, 1.000000;;, + 75;3; 1.000000, 1.000000, 1.000000;;, + 76;3; 1.000000, 1.000000, 1.000000;;, + 77;3; 1.000000, 1.000000, 1.000000;;, + 78;3; 1.000000, 1.000000, 1.000000;;, + 79;3; 1.000000, 1.000000, 1.000000;;, + 80;3; 1.000000, 1.000000, 1.000000;;, + 81;3; 1.000000, 1.000000, 1.000000;;, + 82;3; 1.000000, 1.000000, 1.000000;;, + 83;3; 1.000000, 1.000000, 1.000000;;, + 84;3; 1.000000, 1.000000, 1.000000;;, + 85;3; 1.000000, 1.000000, 1.000000;;, + 86;3; 1.000000, 1.000000, 1.000000;;, + 87;3; 1.000000, 1.000000, 1.000000;;, + 88;3; 1.000000, 1.000000, 1.000000;;, + 89;3; 1.000000, 1.000000, 1.000000;;, + 90;3; 1.000000, 1.000000, 1.000000;;, + 91;3; 1.000000, 1.000000, 1.000000;;, + 92;3; 1.000000, 1.000000, 1.000000;;, + 93;3; 1.000000, 1.000000, 1.000000;;, + 94;3; 1.000000, 1.000000, 1.000000;;, + 95;3; 1.000000, 1.000000, 1.000000;;, + 96;3; 1.000000, 1.000000, 1.000000;;, + 97;3; 1.000000, 1.000000, 1.000000;;, + 98;3; 1.000000, 1.000000, 1.000000;;, + 99;3; 1.000000, 1.000000, 1.000000;;, + 100;3; 1.000000, 1.000000, 1.000000;;, + 101;3; 1.000000, 1.000000, 1.000000;;, + 102;3; 1.000000, 1.000000, 1.000000;;, + 103;3; 1.000000, 1.000000, 1.000000;;, + 104;3; 1.000000, 1.000000, 1.000000;;, + 105;3; 1.000000, 1.000000, 1.000000;;, + 106;3; 1.000000, 1.000000, 1.000000;;, + 107;3; 1.000000, 1.000000, 1.000000;;, + 108;3; 1.000000, 1.000000, 1.000000;;, + 109;3; 1.000000, 1.000000, 1.000000;;, + 110;3; 1.000000, 1.000000, 1.000000;;, + 111;3; 1.000000, 1.000000, 1.000000;;, + 112;3; 1.000000, 1.000000, 1.000000;;, + 113;3; 1.000000, 1.000000, 1.000000;;, + 114;3; 1.000000, 1.000000, 1.000000;;, + 115;3; 1.000000, 1.000000, 1.000000;;, + 116;3; 1.000000, 1.000000, 1.000000;;, + 117;3; 1.000000, 1.000000, 1.000000;;, + 118;3; 1.000000, 1.000000, 1.000000;;, + 119;3; 1.000000, 1.000000, 1.000000;;, + 120;3; 1.000000, 1.000000, 1.000000;;, + 121;3; 1.000000, 1.000000, 1.000000;;, + 122;3; 1.000000, 1.000000, 1.000000;;, + 123;3; 1.000000, 1.000000, 1.000000;;, + 124;3; 1.000000, 1.000000, 1.000000;;, + 125;3; 1.000000, 1.000000, 1.000000;;, + 126;3; 1.000000, 1.000000, 1.000000;;, + 127;3; 1.000000, 1.000000, 1.000000;;, + 128;3; 1.000000, 1.000000, 1.000000;;, + 129;3; 1.000000, 1.000000, 1.000000;;, + 130;3; 1.000000, 1.000000, 1.000000;;, + 131;3; 1.000000, 1.000000, 1.000000;;, + 132;3; 1.000000, 1.000000, 1.000000;;, + 133;3; 1.000000, 1.000000, 1.000000;;, + 134;3; 1.000000, 1.000000, 1.000000;;, + 135;3; 1.000000, 1.000000, 1.000000;;, + 136;3; 1.000000, 1.000000, 1.000000;;, + 137;3; 1.000000, 1.000000, 1.000000;;, + 138;3; 1.000000, 1.000000, 1.000000;;, + 139;3; 1.000000, 1.000000, 1.000000;;, + 140;3; 1.000000, 1.000000, 1.000000;;, + 141;3; 1.000000, 1.000000, 1.000000;;, + 142;3; 1.000000, 1.000000, 1.000000;;, + 143;3; 1.000000, 1.000000, 1.000000;;, + 144;3; 1.000000, 1.000000, 1.000000;;, + 145;3; 1.000000, 1.000000, 1.000000;;, + 146;3; 1.000000, 1.000000, 1.000000;;, + 147;3; 1.000000, 1.000000, 1.000000;;, + 148;3; 1.000000, 1.000000, 1.000000;;, + 149;3; 1.000000, 1.000000, 1.000000;;, + 150;3; 1.000000, 1.000000, 1.000000;;, + 151;3; 1.000000, 1.000000, 1.000000;;, + 152;3; 1.000000, 1.000000, 1.000000;;, + 153;3; 1.000000, 1.000000, 1.000000;;, + 154;3; 1.000000, 1.000000, 1.000000;;, + 155;3; 1.000000, 1.000000, 1.000000;;, + 156;3; 1.000000, 1.000000, 1.000000;;, + 157;3; 1.000000, 1.000000, 1.000000;;, + 158;3; 1.000000, 1.000000, 1.000000;;, + 159;3; 1.000000, 1.000000, 1.000000;;, + 160;3; 1.000000, 1.000000, 1.000000;;, + 161;3; 1.000000, 1.000000, 1.000000;;, + 162;3; 1.000000, 1.000000, 1.000000;;, + 163;3; 1.000000, 1.000000, 1.000000;;, + 164;3; 1.000000, 1.000000, 1.000000;;, + 165;3; 1.000000, 1.000000, 1.000000;;, + 166;3; 1.000000, 1.000000, 1.000000;;, + 167;3; 1.000000, 1.000000, 1.000000;;, + 168;3; 1.000000, 1.000000, 1.000000;;, + 169;3; 1.000000, 1.000000, 1.000000;;, + 170;3; 1.000000, 1.000000, 1.000000;;, + 171;3; 1.000000, 1.000000, 1.000000;;, + 172;3; 1.000000, 1.000000, 1.000000;;, + 173;3; 1.000000, 1.000000, 1.000000;;, + 174;3; 1.000000, 1.000000, 1.000000;;, + 175;3; 1.000000, 1.000000, 1.000000;;, + 176;3; 1.000000, 1.000000, 1.000000;;, + 177;3; 1.000000, 1.000000, 1.000000;;, + 178;3; 1.000000, 1.000000, 1.000000;;, + 179;3; 1.000000, 1.000000, 1.000000;;, + 180;3; 1.000000, 1.000000, 1.000000;;, + 181;3; 1.000000, 1.000000, 1.000000;;, + 182;3; 1.000000, 1.000000, 1.000000;;, + 183;3; 1.000000, 1.000000, 1.000000;;, + 184;3; 1.000000, 1.000000, 1.000000;;, + 185;3; 1.000000, 1.000000, 1.000000;;, + 186;3; 1.000000, 1.000000, 1.000000;;, + 187;3; 1.000000, 1.000000, 1.000000;;, + 188;3; 1.000000, 1.000000, 1.000000;;, + 189;3; 1.000000, 1.000000, 1.000000;;, + 190;3; 1.000000, 1.000000, 1.000000;;, + 191;3; 1.000000, 1.000000, 1.000000;;, + 192;3; 1.000000, 1.000000, 1.000000;;, + 193;3; 1.000000, 1.000000, 1.000000;;, + 194;3; 1.000000, 1.000000, 1.000000;;, + 195;3; 1.000000, 1.000000, 1.000000;;, + 196;3; 1.000000, 1.000000, 1.000000;;, + 197;3; 1.000000, 1.000000, 1.000000;;, + 198;3; 1.000000, 1.000000, 1.000000;;, + 199;3; 1.000000, 1.000000, 1.000000;;, + 200;3; 1.000000, 1.000000, 1.000000;;, + 201;3; 1.000000, 1.000000, 1.000000;;, + 202;3; 1.000000, 1.000000, 1.000000;;, + 203;3; 1.000000, 1.000000, 1.000000;;, + 204;3; 1.000000, 1.000000, 1.000000;;, + 205;3; 1.000000, 1.000000, 1.000000;;, + 206;3; 1.000000, 1.000000, 1.000000;;, + 207;3; 1.000000, 1.000000, 1.000000;;, + 208;3; 1.000000, 1.000000, 1.000000;;, + 209;3; 1.000000, 1.000000, 1.000000;;, + 210;3; 1.000000, 1.000000, 1.000000;;, + 211;3; 1.000000, 1.000000, 1.000000;;, + 212;3; 1.000000, 1.000000, 1.000000;;, + 213;3; 1.000000, 1.000000, 1.000000;;, + 214;3; 1.000000, 1.000000, 1.000000;;, + 215;3; 1.000000, 1.000000, 1.000000;;, + 216;3; 1.000000, 1.000000, 1.000000;;, + 217;3; 1.000000, 1.000000, 1.000000;;, + 218;3; 1.000000, 1.000000, 1.000000;;, + 219;3; 1.000000, 1.000000, 1.000000;;, + 220;3; 1.000000, 1.000000, 1.000000;;; + } + } + Animation { + {Armature_Arm_Left} + AnimationKey { //Position + 2; + 221; + 0;3; -2.000000, 6.750000, 0.000000;;, + 1;3; -2.000000, 6.750000, 0.000000;;, + 2;3; -2.000000, 6.750000, 0.000000;;, + 3;3; -2.000000, 6.750000, 0.000000;;, + 4;3; -2.000000, 6.750000, 0.000000;;, + 5;3; -2.000000, 6.750000, 0.000000;;, + 6;3; -2.000000, 6.750000, 0.000000;;, + 7;3; -2.000000, 6.750000,-0.000000;;, + 8;3; -2.000000, 6.750000,-0.000000;;, + 9;3; -2.000000, 6.750000, 0.000000;;, + 10;3; -2.000000, 6.750000,-0.000000;;, + 11;3; -2.000000, 6.750000, 0.000000;;, + 12;3; -2.000000, 6.750000, 0.000000;;, + 13;3; -2.000000, 6.750000, 0.000000;;, + 14;3; -2.000000, 6.750000,-0.000000;;, + 15;3; -2.000000, 6.750000,-0.000000;;, + 16;3; -2.000000, 6.750000, 0.000000;;, + 17;3; -2.000000, 6.750001,-0.000000;;, + 18;3; -2.000000, 6.750000, 0.000000;;, + 19;3; -2.000000, 6.750000, 0.000000;;, + 20;3; -2.000000, 6.750000, 0.000000;;, + 21;3; -2.000000, 6.750000, 0.000000;;, + 22;3; -2.000000, 6.750000, 0.000000;;, + 23;3; -2.000000, 6.750001,-0.000000;;, + 24;3; -2.000000, 6.750000, 0.000000;;, + 25;3; -2.000000, 6.750000, 0.000000;;, + 26;3; -2.000000, 6.750000,-0.000000;;, + 27;3; -2.000000, 6.750000, 0.000000;;, + 28;3; -2.000000, 6.750000, 0.000000;;, + 29;3; -2.000000, 6.750000, 0.000000;;, + 30;3; -2.000000, 6.750000, 0.000000;;, + 31;3; -2.000000, 6.750000, 0.000000;;, + 32;3; -2.000000, 6.750000,-0.000000;;, + 33;3; -2.000000, 6.750000,-0.000000;;, + 34;3; -2.000000, 6.750000, 0.000000;;, + 35;3; -2.000000, 6.750000, 0.000000;;, + 36;3; -2.000000, 6.750000,-0.000000;;, + 37;3; -2.000000, 6.750000, 0.000000;;, + 38;3; -2.000000, 6.750000, 0.000000;;, + 39;3; -2.000000, 6.750000, 0.000000;;, + 40;3; -2.000000, 6.750000, 0.000000;;, + 41;3; -2.000000, 6.750000, 0.000000;;, + 42;3; -2.000000, 6.750000, 0.000000;;, + 43;3; -2.000000, 6.750000, 0.000000;;, + 44;3; -2.000000, 6.750000, 0.000000;;, + 45;3; -2.000000, 6.750000, 0.000000;;, + 46;3; -2.000000, 6.750000,-0.000000;;, + 47;3; -2.000000, 6.750000, 0.000000;;, + 48;3; -2.000000, 6.750000, 0.000000;;, + 49;3; -2.000000, 6.750000, 0.000000;;, + 50;3; -2.000000, 6.750000,-0.000000;;, + 51;3; -2.000000, 6.750000, 0.000000;;, + 52;3; -2.000000, 6.750000, 0.000000;;, + 53;3; -2.000000, 6.750000, 0.000000;;, + 54;3; -2.000000, 6.750000, 0.000000;;, + 55;3; -2.000000, 6.750000,-0.000000;;, + 56;3; -2.000000, 6.750000, 0.000000;;, + 57;3; -2.000000, 6.750001,-0.000000;;, + 58;3; -2.000000, 6.750000, 0.000000;;, + 59;3; -2.000000, 6.750000, 0.000000;;, + 60;3; -2.000000, 6.750000, 0.000000;;, + 61;3; -2.000000, 6.750000, 0.000000;;, + 62;3; -2.000000, 6.750000, 0.000000;;, + 63;3; -2.000000, 6.750000,-0.000000;;, + 64;3; -2.000000, 6.750000, 0.000000;;, + 65;3; -2.000000, 6.750000, 0.000000;;, + 66;3; -2.000000, 6.750000, 0.000000;;, + 67;3; -2.000000, 6.750000, 0.000000;;, + 68;3; -2.000000, 6.750000, 0.000000;;, + 69;3; -2.000000, 6.750000,-0.000000;;, + 70;3; -2.000000, 6.750000,-0.000000;;, + 71;3; -2.000000, 6.750000,-0.000000;;, + 72;3; -2.000000, 6.750000,-0.000000;;, + 73;3; -2.000000, 6.749999, 0.000000;;, + 74;3; -2.000000, 6.750000, 0.000000;;, + 75;3; -2.000000, 6.750000, 0.000000;;, + 76;3; -2.000000, 6.750000,-0.000000;;, + 77;3; -2.000000, 6.750000, 0.000000;;, + 78;3; -2.000000, 6.750000,-0.000000;;, + 79;3; -2.000000, 6.750000, 0.000000;;, + 80;3; -2.000000, 6.750000, 0.000000;;, + 81;3; -2.000000, 6.750000,-0.000000;;, + 82;3; -2.000000, 6.750000, 0.000000;;, + 83;3; -2.000000, 6.750000,-0.000000;;, + 84;3; -2.000000, 6.750000, 0.000000;;, + 85;3; -2.000000, 6.750000,-0.000000;;, + 86;3; -2.000000, 6.750000, 0.000000;;, + 87;3; -2.000000, 6.750000,-0.000000;;, + 88;3; -2.000000, 6.750000, 0.000000;;, + 89;3; -2.000000, 6.750000,-0.000000;;, + 90;3; -2.000000, 6.750000,-0.000000;;, + 91;3; -2.000000, 6.750000, 0.000000;;, + 92;3; -2.000000, 6.750000,-0.000000;;, + 93;3; -2.000000, 6.750000,-0.000000;;, + 94;3; -2.000000, 6.750000,-0.000000;;, + 95;3; -2.000000, 6.750000, 0.000000;;, + 96;3; -2.000000, 6.750000,-0.000000;;, + 97;3; -2.000000, 6.750000, 0.000000;;, + 98;3; -2.000000, 6.750000, 0.000000;;, + 99;3; -2.000000, 6.750000,-0.000000;;, + 100;3; -2.000000, 6.750000, 0.000000;;, + 101;3; -2.000000, 6.750000, 0.000000;;, + 102;3; -2.000000, 6.750000,-0.000000;;, + 103;3; -2.000000, 6.750000, 0.000000;;, + 104;3; -2.000000, 6.750000, 0.000000;;, + 105;3; -2.000000, 6.750000, 0.000000;;, + 106;3; -2.000000, 6.750000, 0.000000;;, + 107;3; -2.000000, 6.750000,-0.000000;;, + 108;3; -2.000000, 6.750000, 0.000000;;, + 109;3; -2.000000, 6.750000, 0.000000;;, + 110;3; -2.000000, 6.750000,-0.000000;;, + 111;3; -2.000000, 6.750000,-0.000000;;, + 112;3; -2.000000, 6.750000,-0.000000;;, + 113;3; -2.000000, 6.750000,-0.000000;;, + 114;3; -2.000000, 6.750000, 0.000000;;, + 115;3; -2.000000, 6.750000, 0.000000;;, + 116;3; -2.000000, 6.750000, 0.000000;;, + 117;3; -2.000000, 6.750000,-0.000000;;, + 118;3; -2.000000, 6.750000,-0.000000;;, + 119;3; -2.000000, 6.750000,-0.000000;;, + 120;3; -2.000000, 6.750000, 0.000000;;, + 121;3; -2.000000, 6.750000,-0.000000;;, + 122;3; -2.000000, 6.750000,-0.000000;;, + 123;3; -2.000000, 6.750000,-0.000000;;, + 124;3; -2.000000, 6.750000, 0.000000;;, + 125;3; -2.000000, 6.750000,-0.000000;;, + 126;3; -2.000000, 6.750000, 0.000000;;, + 127;3; -2.000000, 6.750000,-0.000000;;, + 128;3; -2.000000, 6.750000, 0.000000;;, + 129;3; -2.000000, 6.750000,-0.000000;;, + 130;3; -2.000000, 6.750000,-0.000000;;, + 131;3; -2.000000, 6.750000,-0.000000;;, + 132;3; -2.000000, 6.750000,-0.000000;;, + 133;3; -2.000000, 6.750000, 0.000000;;, + 134;3; -2.000000, 6.750000,-0.000000;;, + 135;3; -2.000000, 6.750000, 0.000000;;, + 136;3; -2.000000, 6.750000, 0.000000;;, + 137;3; -2.000000, 6.750000, 0.000000;;, + 138;3; -2.000000, 6.750000, 0.000000;;, + 139;3; -2.000000, 6.750000,-0.000000;;, + 140;3; -2.000000, 6.750000,-0.000000;;, + 141;3; -2.000000, 6.750000, 0.000000;;, + 142;3; -2.000000, 6.750000, 0.000000;;, + 143;3; -2.000000, 6.750000,-0.000000;;, + 144;3; -2.000000, 6.750000, 0.000000;;, + 145;3; -2.000000, 6.750000, 0.000000;;, + 146;3; -2.000000, 6.750000, 0.000000;;, + 147;3; -2.000000, 6.750000,-0.000000;;, + 148;3; -2.000000, 6.750000, 0.000000;;, + 149;3; -2.000000, 6.750000, 0.000000;;, + 150;3; -2.000000, 6.750000,-0.000000;;, + 151;3; -2.000000, 6.750000,-0.000000;;, + 152;3; -2.000000, 6.750000,-0.000000;;, + 153;3; -2.000000, 6.750000,-0.000000;;, + 154;3; -2.000000, 6.750000,-0.000000;;, + 155;3; -2.000000, 6.750000,-0.000000;;, + 156;3; -2.000000, 6.750000,-0.000000;;, + 157;3; -2.000000, 6.750000, 0.000000;;, + 158;3; -2.000000, 6.750000, 0.000000;;, + 159;3; -2.000000, 6.750000,-0.000000;;, + 160;3; -2.000000, 6.750000, 0.000000;;, + 161;3; -2.000000, 6.750000,-0.000000;;, + 162;3; -2.000000, 6.750000, 0.000000;;, + 163;3; -2.000000, 6.750000, 0.000000;;, + 164;3; -2.000000, 6.750000, 0.000000;;, + 165;3; -2.000000, 6.750000, 0.000000;;, + 166;3; -2.000000, 6.750000, 0.000000;;, + 167;3; -2.000000, 6.750000, 0.000000;;, + 168;3; -2.000000, 6.750000, 0.000000;;, + 169;3; -2.000000, 6.750000, 0.000000;;, + 170;3; -2.000000, 6.750000, 0.000000;;, + 171;3; -2.000000, 6.750000, 0.000000;;, + 172;3; -2.000000, 6.750000, 0.000000;;, + 173;3; -2.000000, 6.750000, 0.000000;;, + 174;3; -2.000000, 6.750000, 0.000000;;, + 175;3; -2.000000, 6.750000, 0.000000;;, + 176;3; -2.000000, 6.750000, 0.000000;;, + 177;3; -2.000000, 6.750000, 0.000000;;, + 178;3; -2.000000, 6.750000, 0.000000;;, + 179;3; -2.000000, 6.750000, 0.000000;;, + 180;3; -2.000000, 6.750000, 0.000000;;, + 181;3; -2.000000, 6.750000, 0.000000;;, + 182;3; -2.000000, 6.750000, 0.000000;;, + 183;3; -2.000000, 6.750000, 0.000000;;, + 184;3; -2.000000, 6.750000, 0.000000;;, + 185;3; -2.000000, 6.750000, 0.000000;;, + 186;3; -2.000000, 6.750000, 0.000000;;, + 187;3; -2.000000, 6.750000, 0.000000;;, + 188;3; -2.000000, 6.750000, 0.000000;;, + 189;3; -2.000000, 6.750000, 0.000000;;, + 190;3; -2.000000, 6.750000,-0.000000;;, + 191;3; -2.000000, 6.750000, 0.000000;;, + 192;3; -2.000000, 6.749999,-0.000000;;, + 193;3; -2.000000, 6.750000, 0.000000;;, + 194;3; -2.000000, 6.750000, 0.000000;;, + 195;3; -2.000000, 6.750000, 0.000000;;, + 196;3; -2.000000, 6.749999, 0.000000;;, + 197;3; -2.000000, 6.750000, 0.000000;;, + 198;3; -2.000000, 6.750000, 0.000000;;, + 199;3; -2.000000, 6.750000, 0.000000;;, + 200;3; -2.000000, 6.750000, 0.000000;;, + 201;3; -2.000000, 6.750000, 0.000000;;, + 202;3; -2.000000, 6.750000,-0.000000;;, + 203;3; -2.000000, 6.750000, 0.000000;;, + 204;3; -2.000000, 6.750000, 0.000000;;, + 205;3; -2.000000, 6.750000, 0.000000;;, + 206;3; -2.000000, 6.750000, 0.000000;;, + 207;3; -2.000000, 6.750000, 0.000000;;, + 208;3; -2.000000, 6.750000, 0.000000;;, + 209;3; -2.000000, 6.750000,-0.000000;;, + 210;3; -2.000000, 6.750000, 0.000000;;, + 211;3; -2.000000, 6.750000,-0.000000;;, + 212;3; -2.000000, 6.750000, 0.000000;;, + 213;3; -2.000000, 6.750000, 0.000000;;, + 214;3; -2.000000, 6.750000, 0.000000;;, + 215;3; -2.000000, 6.750000, 0.000000;;, + 216;3; -2.000000, 6.750000, 0.000000;;, + 217;3; -2.000000, 6.749999, 0.000000;;, + 218;3; -2.000000, 6.750000, 0.000000;;, + 219;3; -2.000000, 6.750000, 0.000000;;, + 220;3; -2.000000, 6.750000, 0.000000;;; + } + AnimationKey { //Rotation + 0; + 221; + 0;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 1;4; -0.000756,-0.997293, 0.072149, 0.013783;;, + 2;4; -0.000085,-0.997275, 0.072138, 0.014061;;, + 3;4; 0.001037,-0.997244, 0.072120, 0.014527;;, + 4;4; 0.002602,-0.997202, 0.072094, 0.015177;;, + 5;4; 0.004592,-0.997147, 0.072062, 0.016004;;, + 6;4; 0.006971,-0.997083, 0.072024, 0.016992;;, + 7;4; 0.009691,-0.997008, 0.071980, 0.018122;;, + 8;4; 0.012686,-0.996927, 0.071932, 0.019366;;, + 9;4; 0.015873,-0.996840, 0.071881, 0.020690;;, + 10;4; 0.019160,-0.996750, 0.071828, 0.022055;;, + 11;4; 0.022446,-0.996661, 0.071775, 0.023420;;, + 12;4; 0.025633,-0.996574, 0.071724, 0.024744;;, + 13;4; 0.028628,-0.996492, 0.071675, 0.025988;;, + 14;4; 0.031348,-0.996418, 0.071631, 0.027118;;, + 15;4; 0.033728,-0.996354, 0.071593, 0.028106;;, + 16;4; 0.035717,-0.996299, 0.071561, 0.028932;;, + 17;4; 0.037282,-0.996257, 0.071536, 0.029583;;, + 18;4; 0.038404,-0.996226, 0.071518, 0.030049;;, + 19;4; 0.039075,-0.996208, 0.071507, 0.030327;;, + 20;4; 0.039297,-0.996202, 0.071503, 0.030419;;, + 21;4; 0.039075,-0.996208, 0.071507, 0.030327;;, + 22;4; 0.038404,-0.996226, 0.071518, 0.030049;;, + 23;4; 0.037282,-0.996257, 0.071536, 0.029583;;, + 24;4; 0.035717,-0.996299, 0.071561, 0.028932;;, + 25;4; 0.033728,-0.996354, 0.071593, 0.028106;;, + 26;4; 0.031348,-0.996418, 0.071631, 0.027118;;, + 27;4; 0.028628,-0.996493, 0.071675, 0.025988;;, + 28;4; 0.025633,-0.996574, 0.071724, 0.024744;;, + 29;4; 0.022446,-0.996661, 0.071775, 0.023420;;, + 30;4; 0.019160,-0.996750, 0.071828, 0.022055;;, + 31;4; 0.015873,-0.996840, 0.071881, 0.020690;;, + 32;4; 0.012686,-0.996927, 0.071932, 0.019366;;, + 33;4; 0.009691,-0.997009, 0.071980, 0.018122;;, + 34;4; 0.006971,-0.997083, 0.072024, 0.016992;;, + 35;4; 0.004592,-0.997147, 0.072062, 0.016004;;, + 36;4; 0.002602,-0.997202, 0.072094, 0.015177;;, + 37;4; 0.001037,-0.997244, 0.072120, 0.014527;;, + 38;4; -0.000085,-0.997275, 0.072138, 0.014061;;, + 39;4; -0.000756,-0.997293, 0.072149, 0.013783;;, + 40;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 41;4; -0.000756,-0.997293, 0.072149, 0.013783;;, + 42;4; -0.000085,-0.997275, 0.072138, 0.014061;;, + 43;4; 0.001037,-0.997244, 0.072120, 0.014527;;, + 44;4; 0.002602,-0.997202, 0.072094, 0.015177;;, + 45;4; 0.004592,-0.997147, 0.072062, 0.016004;;, + 46;4; 0.006971,-0.997083, 0.072024, 0.016992;;, + 47;4; 0.009691,-0.997008, 0.071980, 0.018122;;, + 48;4; 0.012686,-0.996927, 0.071932, 0.019366;;, + 49;4; 0.015873,-0.996840, 0.071881, 0.020690;;, + 50;4; 0.019160,-0.996750, 0.071828, 0.022055;;, + 51;4; 0.022446,-0.996661, 0.071775, 0.023420;;, + 52;4; 0.025633,-0.996574, 0.071724, 0.024744;;, + 53;4; 0.028628,-0.996492, 0.071675, 0.025988;;, + 54;4; 0.031348,-0.996418, 0.071631, 0.027118;;, + 55;4; 0.033728,-0.996354, 0.071593, 0.028106;;, + 56;4; 0.035717,-0.996299, 0.071561, 0.028932;;, + 57;4; 0.037282,-0.996257, 0.071536, 0.029583;;, + 58;4; 0.038404,-0.996226, 0.071518, 0.030049;;, + 59;4; 0.039075,-0.996208, 0.071507, 0.030327;;, + 60;4; 0.039297,-0.996202, 0.071503, 0.030419;;, + 61;4; 0.039088,-0.996207, 0.071507, 0.030333;;, + 62;4; 0.038502,-0.996223, 0.071516, 0.030089;;, + 63;4; 0.037589,-0.996248, 0.071531, 0.029710;;, + 64;4; 0.036390,-0.996281, 0.071550, 0.029212;;, + 65;4; 0.034939,-0.996320, 0.071574, 0.028609;;, + 66;4; 0.033263,-0.996366, 0.071601, 0.027913;;, + 67;4; 0.031388,-0.996417, 0.071631, 0.027134;;, + 68;4; 0.029333,-0.996473, 0.071664, 0.026281;;, + 69;4; 0.027118,-0.996534, 0.071700, 0.025361;;, + 70;4; 0.024760,-0.996598, 0.071738, 0.024381;;, + 71;4; 0.022276,-0.996666, 0.071778, 0.023349;;, + 72;4; 0.019680,-0.996736, 0.071819, 0.022271;;, + 73;4; 0.016990,-0.996810, 0.071863, 0.021154;;, + 74;4; 0.014225,-0.996885, 0.071907, 0.020005;;, + 75;4; 0.011405,-0.996962, 0.071953, 0.018834;;, + 76;4; 0.008560,-0.997039, 0.071999, 0.017652;;, + 77;4; 0.005732,-0.997116, 0.072044, 0.016478;;, + 78;4; 0.002998,-0.997191, 0.072088, 0.015342;;, + 79;4; 0.000529,-0.997258, 0.072128, 0.014316;;, + 80;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 81;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 82;4; 0.000529,-0.997258, 0.072128, 0.014316;;, + 83;4; 0.002998,-0.997191, 0.072088, 0.015342;;, + 84;4; 0.005732,-0.997116, 0.072044, 0.016478;;, + 85;4; 0.008560,-0.997039, 0.071999, 0.017652;;, + 86;4; 0.011405,-0.996962, 0.071953, 0.018834;;, + 87;4; 0.014225,-0.996885, 0.071907, 0.020005;;, + 88;4; 0.016990,-0.996810, 0.071863, 0.021154;;, + 89;4; 0.019680,-0.996736, 0.071819, 0.022271;;, + 90;4; 0.022276,-0.996666, 0.071778, 0.023349;;, + 91;4; 0.024760,-0.996598, 0.071738, 0.024381;;, + 92;4; 0.027118,-0.996534, 0.071700, 0.025361;;, + 93;4; 0.029333,-0.996473, 0.071664, 0.026281;;, + 94;4; 0.031388,-0.996417, 0.071631, 0.027134;;, + 95;4; 0.033263,-0.996366, 0.071601, 0.027913;;, + 96;4; 0.034939,-0.996320, 0.071574, 0.028609;;, + 97;4; 0.036390,-0.996281, 0.071550, 0.029212;;, + 98;4; 0.037589,-0.996248, 0.071531, 0.029710;;, + 99;4; 0.038502,-0.996223, 0.071516, 0.030089;;, + 100;4; 0.039088,-0.996207, 0.071507, 0.030333;;, + 101;4; 0.039297,-0.996202, 0.071503, 0.030419;;, + 102;4; 0.039075,-0.996208, 0.071507, 0.030327;;, + 103;4; 0.038404,-0.996226, 0.071518, 0.030049;;, + 104;4; 0.037282,-0.996257, 0.071536, 0.029583;;, + 105;4; 0.035717,-0.996299, 0.071561, 0.028932;;, + 106;4; 0.033728,-0.996354, 0.071593, 0.028106;;, + 107;4; 0.031348,-0.996418, 0.071631, 0.027118;;, + 108;4; 0.028628,-0.996493, 0.071675, 0.025988;;, + 109;4; 0.025633,-0.996574, 0.071724, 0.024744;;, + 110;4; 0.022446,-0.996661, 0.071775, 0.023420;;, + 111;4; 0.019160,-0.996750, 0.071828, 0.022055;;, + 112;4; 0.015873,-0.996840, 0.071881, 0.020690;;, + 113;4; 0.012686,-0.996927, 0.071932, 0.019366;;, + 114;4; 0.009691,-0.997009, 0.071980, 0.018122;;, + 115;4; 0.006971,-0.997083, 0.072024, 0.016992;;, + 116;4; 0.004592,-0.997147, 0.072062, 0.016004;;, + 117;4; 0.002602,-0.997202, 0.072094, 0.015177;;, + 118;4; 0.001037,-0.997244, 0.072120, 0.014527;;, + 119;4; -0.000085,-0.997275, 0.072138, 0.014061;;, + 120;4; -0.000756,-0.997293, 0.072149, 0.013783;;, + 121;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 122;4; -0.000756,-0.997293, 0.072149, 0.013783;;, + 123;4; -0.000085,-0.997275, 0.072138, 0.014061;;, + 124;4; 0.001037,-0.997244, 0.072120, 0.014527;;, + 125;4; 0.002602,-0.997202, 0.072094, 0.015177;;, + 126;4; 0.004592,-0.997147, 0.072062, 0.016004;;, + 127;4; 0.006971,-0.997083, 0.072024, 0.016992;;, + 128;4; 0.009691,-0.997008, 0.071980, 0.018122;;, + 129;4; 0.012686,-0.996927, 0.071932, 0.019366;;, + 130;4; 0.015873,-0.996840, 0.071881, 0.020690;;, + 131;4; 0.019160,-0.996750, 0.071828, 0.022055;;, + 132;4; 0.022446,-0.996661, 0.071775, 0.023420;;, + 133;4; 0.025633,-0.996574, 0.071724, 0.024744;;, + 134;4; 0.028628,-0.996492, 0.071675, 0.025988;;, + 135;4; 0.031348,-0.996418, 0.071631, 0.027118;;, + 136;4; 0.033728,-0.996354, 0.071593, 0.028106;;, + 137;4; 0.035717,-0.996299, 0.071561, 0.028932;;, + 138;4; 0.037282,-0.996257, 0.071536, 0.029583;;, + 139;4; 0.038404,-0.996226, 0.071518, 0.030049;;, + 140;4; 0.039075,-0.996208, 0.071507, 0.030327;;, + 141;4; 0.039297,-0.996202, 0.071503, 0.030419;;, + 142;4; 0.039128,-0.996207, 0.071506, 0.030336;;, + 143;4; 0.038651,-0.996223, 0.071514, 0.030100;;, + 144;4; 0.037905,-0.996248, 0.071527, 0.029733;;, + 145;4; 0.036918,-0.996281, 0.071543, 0.029250;;, + 146;4; 0.035716,-0.996321, 0.071563, 0.028665;;, + 147;4; 0.034318,-0.996367, 0.071586, 0.027990;;, + 148;4; 0.032740,-0.996419, 0.071612, 0.027232;;, + 149;4; 0.030996,-0.996475, 0.071641, 0.026401;;, + 150;4; 0.029097,-0.996535, 0.071672, 0.025504;;, + 151;4; 0.027052,-0.996600, 0.071706, 0.024547;;, + 152;4; 0.024869,-0.996668, 0.071742, 0.023537;;, + 153;4; 0.022553,-0.996739, 0.071780, 0.022479;;, + 154;4; 0.020108,-0.996813, 0.071820, 0.021379;;, + 155;4; 0.017538,-0.996888, 0.071862, 0.020245;;, + 156;4; 0.014842,-0.996965, 0.071906, 0.019082;;, + 157;4; 0.012018,-0.997043, 0.071951, 0.017902;;, + 158;4; 0.009059,-0.997120, 0.071998, 0.016718;;, + 159;4; 0.005950,-0.997194, 0.072048, 0.015556;;, + 160;4; 0.002652,-0.997260, 0.072099, 0.014470;;, + 161;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 162;4; -0.003918,-0.958043, 0.286297, 0.013149;;, + 163;4; -0.003918,-0.958043, 0.286297, 0.013149;;, + 164;4; -0.003918,-0.958043, 0.286297, 0.013149;;, + 165;4; -0.003918,-0.958043, 0.286297, 0.013149;;, + 166;4; -0.003918,-0.958043, 0.286297, 0.013149;;, + 167;4; -0.003918,-0.958043, 0.286297, 0.013149;;, + 168;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 169;4; -0.027462,-0.993490, 0.067048, 0.017181;;, + 170;4; -0.101886,-0.981969, 0.063627, 0.027024;;, + 171;4; -0.197381,-0.966977, 0.061971, 0.039667;;, + 172;4; -0.271737,-0.955241, 0.061528, 0.049515;;, + 173;4; -0.298135,-0.951063, 0.061515, 0.053011;;, + 174;4; -0.281310,-0.955156, 0.062329, 0.050806;;, + 175;4; -0.229756,-0.966690, 0.064679, 0.044029;;, + 176;4; -0.152309,-0.981521, 0.067851, 0.033813;;, + 177;4; -0.070037,-0.993111, 0.070622, 0.022912;;, + 178;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 179;4; 0.068097,-0.993364, 0.072517, 0.004357;;, + 180;4; 0.150414,-0.982075, 0.072004,-0.006858;;, + 181;4; 0.227918,-0.967529, 0.070960,-0.017477;;, + 182;4; 0.279517,-0.956183, 0.070026,-0.024568;;, + 183;4; 0.296358,-0.952153, 0.069674,-0.026885;;, + 184;4; 0.269932,-0.956166, 0.069894,-0.023278;;, + 185;4; 0.195505,-0.967469, 0.070514,-0.013118;;, + 186;4; 0.099930,-0.981983, 0.071311,-0.000073;;, + 187;4; 0.025468,-0.993286, 0.071932, 0.010085;;, + 188;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 189;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 190;4; -0.008545,-0.996939, 0.072024, 0.015345;;, + 191;4; -0.029857,-0.995925, 0.071663, 0.020005;;, + 192;4; -0.057222,-0.994623, 0.071199, 0.025988;;, + 193;4; -0.078533,-0.993609, 0.070838, 0.030648;;, + 194;4; -0.086100,-0.993249, 0.070709, 0.032302;;, + 195;4; -0.078533,-0.993609, 0.070838, 0.030648;;, + 196;4; -0.057222,-0.994623, 0.071199, 0.025988;;, + 197;4; -0.029857,-0.995925, 0.071663, 0.020005;;, + 198;4; -0.008545,-0.996939, 0.072024, 0.015345;;, + 199;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 200;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 201;4; -0.027408,-0.993189, 0.071207, 0.017185;;, + 202;4; -0.101825,-0.981613, 0.068544, 0.027028;;, + 203;4; -0.197342,-0.966749, 0.065124, 0.039670;;, + 204;4; -0.271725,-0.955173, 0.062460, 0.049516;;, + 205;4; -0.298135,-0.951063, 0.061515, 0.053011;;, + 206;4; -0.281310,-0.955156, 0.062329, 0.050806;;, + 207;4; -0.229756,-0.966690, 0.064679, 0.044029;;, + 208;4; -0.152309,-0.981521, 0.067851, 0.033813;;, + 209;4; -0.070037,-0.993111, 0.070622, 0.022912;;, + 210;4; -0.000978,-0.997299, 0.072152, 0.013690;;, + 211;4; 0.068097,-0.993364, 0.072517, 0.004357;;, + 212;4; 0.150414,-0.982075, 0.072004,-0.006858;;, + 213;4; 0.227918,-0.967529, 0.070960,-0.017477;;, + 214;4; 0.279517,-0.956183, 0.070026,-0.024568;;, + 215;4; 0.296358,-0.952153, 0.069674,-0.026885;;, + 216;4; 0.269943,-0.956166, 0.069894,-0.023277;;, + 217;4; 0.195568,-0.967469, 0.070514,-0.013114;;, + 218;4; 0.100029,-0.981982, 0.071310,-0.000067;;, + 219;4; 0.025516,-0.993286, 0.071931, 0.010088;;, + 220;4; -0.000978,-0.997299, 0.072152, 0.013690;;; + } + AnimationKey { //Scale + 1; + 221; + 0;3; 1.000000, 1.000000, 1.000000;;, + 1;3; 1.000000, 1.000000, 1.000000;;, + 2;3; 1.000000, 1.000000, 1.000000;;, + 3;3; 1.000000, 1.000000, 1.000000;;, + 4;3; 1.000000, 1.000000, 1.000000;;, + 5;3; 1.000000, 1.000000, 1.000000;;, + 6;3; 1.000000, 1.000000, 1.000000;;, + 7;3; 1.000000, 1.000000, 1.000000;;, + 8;3; 1.000000, 1.000000, 1.000000;;, + 9;3; 1.000000, 1.000000, 1.000000;;, + 10;3; 1.000000, 1.000000, 1.000000;;, + 11;3; 1.000000, 1.000000, 1.000000;;, + 12;3; 1.000000, 1.000000, 1.000000;;, + 13;3; 1.000000, 1.000000, 1.000000;;, + 14;3; 1.000000, 1.000000, 1.000000;;, + 15;3; 1.000000, 1.000000, 1.000000;;, + 16;3; 1.000000, 1.000000, 1.000000;;, + 17;3; 1.000000, 1.000000, 1.000000;;, + 18;3; 1.000000, 1.000000, 1.000000;;, + 19;3; 1.000000, 1.000000, 1.000000;;, + 20;3; 1.000000, 1.000000, 1.000000;;, + 21;3; 1.000000, 1.000000, 1.000000;;, + 22;3; 1.000000, 1.000000, 1.000000;;, + 23;3; 1.000000, 1.000000, 1.000000;;, + 24;3; 1.000000, 1.000000, 1.000000;;, + 25;3; 1.000000, 1.000000, 1.000000;;, + 26;3; 1.000000, 1.000000, 1.000000;;, + 27;3; 1.000000, 1.000000, 1.000000;;, + 28;3; 1.000000, 1.000000, 1.000000;;, + 29;3; 1.000000, 1.000000, 1.000000;;, + 30;3; 1.000000, 1.000000, 1.000000;;, + 31;3; 1.000000, 1.000000, 1.000000;;, + 32;3; 1.000000, 1.000000, 1.000000;;, + 33;3; 1.000000, 1.000000, 1.000000;;, + 34;3; 1.000000, 1.000000, 1.000000;;, + 35;3; 1.000000, 1.000000, 1.000000;;, + 36;3; 1.000000, 1.000000, 1.000000;;, + 37;3; 1.000000, 1.000000, 1.000000;;, + 38;3; 1.000000, 1.000000, 1.000000;;, + 39;3; 1.000000, 1.000000, 1.000000;;, + 40;3; 1.000000, 1.000000, 1.000000;;, + 41;3; 1.000000, 1.000000, 1.000000;;, + 42;3; 1.000000, 1.000000, 1.000000;;, + 43;3; 1.000000, 1.000000, 1.000000;;, + 44;3; 1.000000, 1.000000, 1.000000;;, + 45;3; 1.000000, 1.000000, 1.000000;;, + 46;3; 1.000000, 1.000000, 1.000000;;, + 47;3; 1.000000, 1.000000, 1.000000;;, + 48;3; 1.000000, 1.000000, 1.000000;;, + 49;3; 1.000000, 1.000000, 1.000000;;, + 50;3; 1.000000, 1.000000, 1.000000;;, + 51;3; 1.000000, 1.000000, 1.000000;;, + 52;3; 1.000000, 1.000000, 1.000000;;, + 53;3; 1.000000, 1.000000, 1.000000;;, + 54;3; 1.000000, 1.000000, 1.000000;;, + 55;3; 1.000000, 1.000000, 1.000000;;, + 56;3; 1.000000, 1.000000, 1.000000;;, + 57;3; 1.000000, 1.000000, 1.000000;;, + 58;3; 1.000000, 1.000000, 1.000000;;, + 59;3; 1.000000, 1.000000, 1.000000;;, + 60;3; 1.000000, 1.000000, 1.000000;;, + 61;3; 1.000000, 1.000000, 1.000000;;, + 62;3; 1.000000, 1.000000, 1.000000;;, + 63;3; 1.000000, 1.000000, 1.000000;;, + 64;3; 1.000000, 1.000000, 1.000000;;, + 65;3; 1.000000, 1.000000, 1.000000;;, + 66;3; 1.000000, 1.000000, 1.000000;;, + 67;3; 1.000000, 1.000000, 1.000000;;, + 68;3; 1.000000, 1.000000, 1.000000;;, + 69;3; 1.000000, 1.000000, 1.000000;;, + 70;3; 1.000000, 1.000000, 1.000000;;, + 71;3; 1.000000, 1.000000, 1.000000;;, + 72;3; 1.000000, 1.000000, 1.000000;;, + 73;3; 1.000000, 1.000000, 1.000000;;, + 74;3; 1.000000, 1.000000, 1.000000;;, + 75;3; 1.000000, 1.000000, 1.000000;;, + 76;3; 1.000000, 1.000000, 1.000000;;, + 77;3; 1.000000, 1.000000, 1.000000;;, + 78;3; 1.000000, 1.000000, 1.000000;;, + 79;3; 1.000000, 1.000000, 1.000000;;, + 80;3; 1.000000, 1.000000, 1.000000;;, + 81;3; 1.000000, 1.000000, 1.000000;;, + 82;3; 1.000000, 1.000000, 1.000000;;, + 83;3; 1.000000, 1.000000, 1.000000;;, + 84;3; 1.000000, 1.000000, 1.000000;;, + 85;3; 1.000000, 1.000000, 1.000000;;, + 86;3; 1.000000, 1.000000, 1.000000;;, + 87;3; 1.000000, 1.000000, 1.000000;;, + 88;3; 1.000000, 1.000000, 1.000000;;, + 89;3; 1.000000, 1.000000, 1.000000;;, + 90;3; 1.000000, 1.000000, 1.000000;;, + 91;3; 1.000000, 1.000000, 1.000000;;, + 92;3; 1.000000, 1.000000, 1.000000;;, + 93;3; 1.000000, 1.000000, 1.000000;;, + 94;3; 1.000000, 1.000000, 1.000000;;, + 95;3; 1.000000, 1.000000, 1.000000;;, + 96;3; 1.000000, 1.000000, 1.000000;;, + 97;3; 1.000000, 1.000000, 1.000000;;, + 98;3; 1.000000, 1.000000, 1.000000;;, + 99;3; 1.000000, 1.000000, 1.000000;;, + 100;3; 1.000000, 1.000000, 1.000000;;, + 101;3; 1.000000, 1.000000, 1.000000;;, + 102;3; 1.000000, 1.000000, 1.000000;;, + 103;3; 1.000000, 1.000000, 1.000000;;, + 104;3; 1.000000, 1.000000, 1.000000;;, + 105;3; 1.000000, 1.000000, 1.000000;;, + 106;3; 1.000000, 1.000000, 1.000000;;, + 107;3; 1.000000, 1.000000, 1.000000;;, + 108;3; 1.000000, 1.000000, 1.000000;;, + 109;3; 1.000000, 1.000000, 1.000000;;, + 110;3; 1.000000, 1.000000, 1.000000;;, + 111;3; 1.000000, 1.000000, 1.000000;;, + 112;3; 1.000000, 1.000000, 1.000000;;, + 113;3; 1.000000, 1.000000, 1.000000;;, + 114;3; 1.000000, 1.000000, 1.000000;;, + 115;3; 1.000000, 1.000000, 1.000000;;, + 116;3; 1.000000, 1.000000, 1.000000;;, + 117;3; 1.000000, 1.000000, 1.000000;;, + 118;3; 1.000000, 1.000000, 1.000000;;, + 119;3; 1.000000, 1.000000, 1.000000;;, + 120;3; 1.000000, 1.000000, 1.000000;;, + 121;3; 1.000000, 1.000000, 1.000000;;, + 122;3; 1.000000, 1.000000, 1.000000;;, + 123;3; 1.000000, 1.000000, 1.000000;;, + 124;3; 1.000000, 1.000000, 1.000000;;, + 125;3; 1.000000, 1.000000, 1.000000;;, + 126;3; 1.000000, 1.000000, 1.000000;;, + 127;3; 1.000000, 1.000000, 1.000000;;, + 128;3; 1.000000, 1.000000, 1.000000;;, + 129;3; 1.000000, 1.000000, 1.000000;;, + 130;3; 1.000000, 1.000000, 1.000000;;, + 131;3; 1.000000, 1.000000, 1.000000;;, + 132;3; 1.000000, 1.000000, 1.000000;;, + 133;3; 1.000000, 1.000000, 1.000000;;, + 134;3; 1.000000, 1.000000, 1.000000;;, + 135;3; 1.000000, 1.000000, 1.000000;;, + 136;3; 1.000000, 1.000000, 1.000000;;, + 137;3; 1.000000, 1.000000, 1.000000;;, + 138;3; 1.000000, 1.000000, 1.000000;;, + 139;3; 1.000000, 1.000000, 1.000000;;, + 140;3; 1.000000, 1.000000, 1.000000;;, + 141;3; 1.000000, 1.000000, 1.000000;;, + 142;3; 1.000000, 1.000000, 1.000000;;, + 143;3; 1.000000, 1.000000, 1.000000;;, + 144;3; 1.000000, 1.000000, 1.000000;;, + 145;3; 1.000000, 1.000000, 1.000000;;, + 146;3; 1.000000, 1.000000, 1.000000;;, + 147;3; 1.000000, 1.000000, 1.000000;;, + 148;3; 1.000000, 1.000000, 1.000000;;, + 149;3; 1.000000, 1.000000, 1.000000;;, + 150;3; 1.000000, 1.000000, 1.000000;;, + 151;3; 1.000000, 1.000000, 1.000000;;, + 152;3; 1.000000, 1.000000, 1.000000;;, + 153;3; 1.000000, 1.000000, 1.000000;;, + 154;3; 1.000000, 1.000000, 1.000000;;, + 155;3; 1.000000, 1.000000, 1.000000;;, + 156;3; 1.000000, 1.000000, 1.000000;;, + 157;3; 1.000000, 1.000000, 1.000000;;, + 158;3; 1.000000, 1.000000, 1.000000;;, + 159;3; 1.000000, 1.000000, 1.000000;;, + 160;3; 1.000000, 1.000000, 1.000000;;, + 161;3; 1.000000, 1.000000, 1.000000;;, + 162;3; 1.000000, 1.000000, 1.000000;;, + 163;3; 1.000000, 1.000000, 1.000000;;, + 164;3; 1.000000, 1.000000, 1.000000;;, + 165;3; 1.000000, 1.000000, 1.000000;;, + 166;3; 1.000000, 1.000000, 1.000000;;, + 167;3; 1.000000, 1.000000, 1.000000;;, + 168;3; 1.000000, 1.000000, 1.000000;;, + 169;3; 1.000000, 1.000000, 1.000000;;, + 170;3; 1.000000, 1.000000, 1.000000;;, + 171;3; 1.000000, 1.000000, 1.000000;;, + 172;3; 1.000000, 1.000000, 1.000000;;, + 173;3; 1.000000, 1.000000, 1.000000;;, + 174;3; 1.000000, 1.000000, 1.000000;;, + 175;3; 1.000000, 1.000000, 1.000000;;, + 176;3; 1.000000, 1.000000, 1.000000;;, + 177;3; 1.000000, 1.000000, 1.000000;;, + 178;3; 1.000000, 1.000000, 1.000000;;, + 179;3; 1.000000, 1.000000, 1.000000;;, + 180;3; 1.000000, 1.000000, 1.000000;;, + 181;3; 1.000000, 1.000000, 1.000000;;, + 182;3; 1.000000, 1.000000, 1.000000;;, + 183;3; 1.000000, 1.000000, 1.000000;;, + 184;3; 1.000000, 1.000000, 1.000000;;, + 185;3; 1.000000, 1.000000, 1.000000;;, + 186;3; 1.000000, 1.000000, 1.000000;;, + 187;3; 1.000000, 1.000000, 1.000000;;, + 188;3; 1.000000, 1.000000, 1.000000;;, + 189;3; 1.000000, 1.000000, 1.000000;;, + 190;3; 1.000000, 1.000000, 1.000000;;, + 191;3; 1.000000, 1.000000, 1.000000;;, + 192;3; 1.000000, 1.000000, 1.000000;;, + 193;3; 1.000000, 1.000000, 1.000000;;, + 194;3; 1.000000, 1.000000, 1.000000;;, + 195;3; 1.000000, 1.000000, 1.000000;;, + 196;3; 1.000000, 1.000000, 1.000000;;, + 197;3; 1.000000, 1.000000, 1.000000;;, + 198;3; 1.000000, 1.000000, 1.000000;;, + 199;3; 1.000000, 1.000000, 1.000000;;, + 200;3; 1.000000, 1.000000, 1.000000;;, + 201;3; 1.000000, 1.000000, 1.000000;;, + 202;3; 1.000000, 1.000000, 1.000000;;, + 203;3; 1.000000, 1.000000, 1.000000;;, + 204;3; 1.000000, 1.000000, 1.000000;;, + 205;3; 1.000000, 1.000000, 1.000000;;, + 206;3; 1.000000, 1.000000, 1.000000;;, + 207;3; 1.000000, 1.000000, 1.000000;;, + 208;3; 1.000000, 1.000000, 1.000000;;, + 209;3; 1.000000, 1.000000, 1.000000;;, + 210;3; 1.000000, 1.000000, 1.000000;;, + 211;3; 1.000000, 1.000000, 1.000000;;, + 212;3; 1.000000, 1.000000, 1.000000;;, + 213;3; 1.000000, 1.000000, 1.000000;;, + 214;3; 1.000000, 1.000000, 1.000000;;, + 215;3; 1.000000, 1.000000, 1.000000;;, + 216;3; 1.000000, 1.000000, 1.000000;;, + 217;3; 1.000000, 1.000000, 1.000000;;, + 218;3; 1.000000, 1.000000, 1.000000;;, + 219;3; 1.000000, 1.000000, 1.000000;;, + 220;3; 1.000000, 1.000000, 1.000000;;; + } + } + Animation { + {Armature_Arm_Right} + AnimationKey { //Position + 2; + 221; + 0;3; 2.000000, 6.750000, 0.000000;;, + 1;3; 2.000000, 6.750000, 0.000000;;, + 2;3; 2.000000, 6.750000, 0.000000;;, + 3;3; 2.000000, 6.750000, 0.000000;;, + 4;3; 2.000000, 6.750000, 0.000000;;, + 5;3; 2.000000, 6.750000, 0.000000;;, + 6;3; 2.000000, 6.750000, 0.000000;;, + 7;3; 2.000000, 6.750000,-0.000000;;, + 8;3; 2.000000, 6.750000,-0.000000;;, + 9;3; 2.000000, 6.750000, 0.000000;;, + 10;3; 2.000000, 6.750000,-0.000000;;, + 11;3; 2.000000, 6.750000, 0.000000;;, + 12;3; 2.000000, 6.750000, 0.000000;;, + 13;3; 2.000000, 6.750000, 0.000000;;, + 14;3; 2.000000, 6.750000,-0.000000;;, + 15;3; 2.000000, 6.750000,-0.000000;;, + 16;3; 2.000000, 6.750000, 0.000000;;, + 17;3; 2.000000, 6.750001,-0.000000;;, + 18;3; 2.000000, 6.750000, 0.000000;;, + 19;3; 2.000000, 6.750000, 0.000000;;, + 20;3; 2.000000, 6.750000, 0.000000;;, + 21;3; 2.000000, 6.750000, 0.000000;;, + 22;3; 2.000000, 6.750000, 0.000000;;, + 23;3; 2.000000, 6.750001,-0.000000;;, + 24;3; 2.000000, 6.750000, 0.000000;;, + 25;3; 2.000000, 6.750000, 0.000000;;, + 26;3; 2.000000, 6.750000,-0.000000;;, + 27;3; 2.000000, 6.750000, 0.000000;;, + 28;3; 2.000000, 6.750000, 0.000000;;, + 29;3; 2.000000, 6.750000, 0.000000;;, + 30;3; 2.000000, 6.750000, 0.000000;;, + 31;3; 2.000000, 6.750000, 0.000000;;, + 32;3; 2.000000, 6.750000,-0.000000;;, + 33;3; 2.000000, 6.750000,-0.000000;;, + 34;3; 2.000000, 6.750000, 0.000000;;, + 35;3; 2.000000, 6.750000, 0.000000;;, + 36;3; 2.000000, 6.750000,-0.000000;;, + 37;3; 2.000000, 6.750000, 0.000000;;, + 38;3; 2.000000, 6.750000, 0.000000;;, + 39;3; 2.000000, 6.750000, 0.000000;;, + 40;3; 2.000000, 6.750000, 0.000000;;, + 41;3; 2.000000, 6.750000, 0.000000;;, + 42;3; 2.000000, 6.750000, 0.000000;;, + 43;3; 2.000000, 6.750000, 0.000000;;, + 44;3; 2.000000, 6.750000, 0.000000;;, + 45;3; 2.000000, 6.750000, 0.000000;;, + 46;3; 2.000000, 6.750000,-0.000000;;, + 47;3; 2.000000, 6.750000, 0.000000;;, + 48;3; 2.000000, 6.750000, 0.000000;;, + 49;3; 2.000000, 6.750000, 0.000000;;, + 50;3; 2.000000, 6.750000,-0.000000;;, + 51;3; 2.000000, 6.750000, 0.000000;;, + 52;3; 2.000000, 6.750000, 0.000000;;, + 53;3; 2.000000, 6.750000, 0.000000;;, + 54;3; 2.000000, 6.750000, 0.000000;;, + 55;3; 2.000000, 6.750000,-0.000000;;, + 56;3; 2.000000, 6.750000, 0.000000;;, + 57;3; 2.000000, 6.750001,-0.000000;;, + 58;3; 2.000000, 6.750000, 0.000000;;, + 59;3; 2.000000, 6.750000, 0.000000;;, + 60;3; 2.000000, 6.750000, 0.000000;;, + 61;3; 2.000000, 6.750000, 0.000000;;, + 62;3; 2.000000, 6.750000, 0.000000;;, + 63;3; 2.000000, 6.750000,-0.000000;;, + 64;3; 2.000000, 6.750000, 0.000000;;, + 65;3; 2.000000, 6.750000, 0.000000;;, + 66;3; 2.000000, 6.750000, 0.000000;;, + 67;3; 2.000000, 6.750000, 0.000000;;, + 68;3; 2.000000, 6.750000, 0.000000;;, + 69;3; 2.000000, 6.750000,-0.000000;;, + 70;3; 2.000000, 6.750000,-0.000000;;, + 71;3; 2.000000, 6.750000,-0.000000;;, + 72;3; 2.000000, 6.750000,-0.000000;;, + 73;3; 2.000000, 6.749999, 0.000000;;, + 74;3; 2.000000, 6.750000, 0.000000;;, + 75;3; 2.000000, 6.750000, 0.000000;;, + 76;3; 2.000000, 6.750000,-0.000000;;, + 77;3; 2.000000, 6.750000, 0.000000;;, + 78;3; 2.000000, 6.750000,-0.000000;;, + 79;3; 2.000000, 6.750000, 0.000000;;, + 80;3; 2.000000, 6.750000, 0.000000;;, + 81;3; 2.000000, 6.750000,-0.000000;;, + 82;3; 2.000000, 6.750000, 0.000000;;, + 83;3; 2.000000, 6.750000,-0.000000;;, + 84;3; 2.000000, 6.750000, 0.000000;;, + 85;3; 2.000000, 6.750000,-0.000000;;, + 86;3; 2.000000, 6.750000, 0.000000;;, + 87;3; 2.000000, 6.750000,-0.000000;;, + 88;3; 2.000000, 6.750000, 0.000000;;, + 89;3; 2.000000, 6.750000,-0.000000;;, + 90;3; 2.000000, 6.750000,-0.000000;;, + 91;3; 2.000000, 6.750000, 0.000000;;, + 92;3; 2.000000, 6.750000,-0.000000;;, + 93;3; 2.000000, 6.750000,-0.000000;;, + 94;3; 2.000000, 6.750000,-0.000000;;, + 95;3; 2.000000, 6.750000, 0.000000;;, + 96;3; 2.000000, 6.750000,-0.000000;;, + 97;3; 2.000000, 6.750000, 0.000000;;, + 98;3; 2.000000, 6.750000, 0.000000;;, + 99;3; 2.000000, 6.750000,-0.000000;;, + 100;3; 2.000000, 6.750000, 0.000000;;, + 101;3; 2.000000, 6.750000, 0.000000;;, + 102;3; 2.000000, 6.750000,-0.000000;;, + 103;3; 2.000000, 6.750000, 0.000000;;, + 104;3; 2.000000, 6.750000, 0.000000;;, + 105;3; 2.000000, 6.750000, 0.000000;;, + 106;3; 2.000000, 6.750000, 0.000000;;, + 107;3; 2.000000, 6.750000,-0.000000;;, + 108;3; 2.000000, 6.750000, 0.000000;;, + 109;3; 2.000000, 6.750000, 0.000000;;, + 110;3; 2.000000, 6.750000,-0.000000;;, + 111;3; 2.000000, 6.750000,-0.000000;;, + 112;3; 2.000000, 6.750000,-0.000000;;, + 113;3; 2.000000, 6.750000,-0.000000;;, + 114;3; 2.000000, 6.750000, 0.000000;;, + 115;3; 2.000000, 6.750000, 0.000000;;, + 116;3; 2.000000, 6.750000, 0.000000;;, + 117;3; 2.000000, 6.750000,-0.000000;;, + 118;3; 2.000000, 6.750000,-0.000000;;, + 119;3; 2.000000, 6.750000,-0.000000;;, + 120;3; 2.000000, 6.750000, 0.000000;;, + 121;3; 2.000000, 6.750000,-0.000000;;, + 122;3; 2.000000, 6.750000,-0.000000;;, + 123;3; 2.000000, 6.750000,-0.000000;;, + 124;3; 2.000000, 6.750000, 0.000000;;, + 125;3; 2.000000, 6.750000,-0.000000;;, + 126;3; 2.000000, 6.750000, 0.000000;;, + 127;3; 2.000000, 6.750000,-0.000000;;, + 128;3; 2.000000, 6.750000, 0.000000;;, + 129;3; 2.000000, 6.750000,-0.000000;;, + 130;3; 2.000000, 6.750000,-0.000000;;, + 131;3; 2.000000, 6.750000,-0.000000;;, + 132;3; 2.000000, 6.750000,-0.000000;;, + 133;3; 2.000000, 6.750000, 0.000000;;, + 134;3; 2.000000, 6.750000,-0.000000;;, + 135;3; 2.000000, 6.750000, 0.000000;;, + 136;3; 2.000000, 6.750000, 0.000000;;, + 137;3; 2.000000, 6.750000, 0.000000;;, + 138;3; 2.000000, 6.750000, 0.000000;;, + 139;3; 2.000000, 6.750000,-0.000000;;, + 140;3; 2.000000, 6.750000,-0.000000;;, + 141;3; 2.000000, 6.750000, 0.000000;;, + 142;3; 2.000000, 6.750000, 0.000000;;, + 143;3; 2.000000, 6.750000,-0.000000;;, + 144;3; 2.000000, 6.750000, 0.000000;;, + 145;3; 2.000000, 6.750000, 0.000000;;, + 146;3; 2.000000, 6.750000, 0.000000;;, + 147;3; 2.000000, 6.750000,-0.000000;;, + 148;3; 2.000000, 6.750000, 0.000000;;, + 149;3; 2.000000, 6.750000, 0.000000;;, + 150;3; 2.000000, 6.750000,-0.000000;;, + 151;3; 2.000000, 6.750000,-0.000000;;, + 152;3; 2.000000, 6.750000,-0.000000;;, + 153;3; 2.000000, 6.750000,-0.000000;;, + 154;3; 2.000000, 6.750000,-0.000000;;, + 155;3; 2.000000, 6.750000,-0.000000;;, + 156;3; 2.000000, 6.750000,-0.000000;;, + 157;3; 2.000000, 6.750000, 0.000000;;, + 158;3; 2.000000, 6.750000, 0.000000;;, + 159;3; 2.000000, 6.750000,-0.000000;;, + 160;3; 2.000000, 6.750000, 0.000000;;, + 161;3; 2.000000, 6.750000,-0.000000;;, + 162;3; 2.000000, 6.750000, 0.000000;;, + 163;3; 2.000000, 6.750000, 0.000000;;, + 164;3; 2.000000, 6.750000, 0.000000;;, + 165;3; 2.000000, 6.750000, 0.000000;;, + 166;3; 2.000000, 6.750000, 0.000000;;, + 167;3; 2.000000, 6.750000, 0.000000;;, + 168;3; 2.000000, 6.750000, 0.000000;;, + 169;3; 2.000000, 6.750000, 0.000000;;, + 170;3; 2.000000, 6.750000, 0.000000;;, + 171;3; 2.000000, 6.750000, 0.000000;;, + 172;3; 2.000000, 6.750000, 0.000000;;, + 173;3; 2.000000, 6.750000, 0.000000;;, + 174;3; 2.000000, 6.750000, 0.000000;;, + 175;3; 2.000000, 6.750000, 0.000000;;, + 176;3; 2.000000, 6.750000, 0.000000;;, + 177;3; 2.000000, 6.750000, 0.000000;;, + 178;3; 2.000000, 6.750000, 0.000000;;, + 179;3; 2.000000, 6.750000, 0.000000;;, + 180;3; 2.000000, 6.750000, 0.000000;;, + 181;3; 2.000000, 6.750000, 0.000000;;, + 182;3; 2.000000, 6.750000, 0.000000;;, + 183;3; 2.000000, 6.750000, 0.000000;;, + 184;3; 2.000000, 6.750000, 0.000000;;, + 185;3; 2.000000, 6.750000, 0.000000;;, + 186;3; 2.000000, 6.750000, 0.000000;;, + 187;3; 2.000000, 6.750000, 0.000000;;, + 188;3; 2.000000, 6.750000, 0.000000;;, + 189;3; 2.000000, 6.750000, 0.000000;;, + 190;3; 2.000000, 6.750000,-0.000000;;, + 191;3; 2.000000, 6.750000, 0.000000;;, + 192;3; 2.000000, 6.749999,-0.000000;;, + 193;3; 2.000000, 6.750000, 0.000000;;, + 194;3; 2.000000, 6.750000, 0.000000;;, + 195;3; 2.000000, 6.750000, 0.000000;;, + 196;3; 2.000000, 6.749999, 0.000000;;, + 197;3; 2.000000, 6.750000, 0.000000;;, + 198;3; 2.000000, 6.750000, 0.000000;;, + 199;3; 2.000000, 6.750000, 0.000000;;, + 200;3; 2.000000, 6.750000, 0.000000;;, + 201;3; 2.000000, 6.750000, 0.000000;;, + 202;3; 2.000000, 6.750000,-0.000000;;, + 203;3; 2.000000, 6.750000, 0.000000;;, + 204;3; 2.000000, 6.750000, 0.000000;;, + 205;3; 2.000000, 6.750000, 0.000000;;, + 206;3; 2.000000, 6.750000, 0.000000;;, + 207;3; 2.000000, 6.750000, 0.000000;;, + 208;3; 2.000000, 6.750000, 0.000000;;, + 209;3; 2.000000, 6.750000,-0.000000;;, + 210;3; 2.000000, 6.750000, 0.000000;;, + 211;3; 2.000000, 6.750000,-0.000000;;, + 212;3; 2.000000, 6.750000, 0.000000;;, + 213;3; 2.000000, 6.750000, 0.000000;;, + 214;3; 2.000000, 6.750000, 0.000000;;, + 215;3; 2.000000, 6.750000, 0.000000;;, + 216;3; 2.000000, 6.750000, 0.000000;;, + 217;3; 2.000000, 6.749999, 0.000000;;, + 218;3; 2.000000, 6.750000, 0.000000;;, + 219;3; 2.000000, 6.750000, 0.000000;;, + 220;3; 2.000000, 6.750000, 0.000000;;; + } + AnimationKey { //Rotation + 0; + 221; + 0;4; -0.000978,-0.997299,-0.072152,-0.013690;;, + 1;4; -0.000756,-0.997293,-0.072149,-0.013783;;, + 2;4; -0.000085,-0.997275,-0.072138,-0.014061;;, + 3;4; 0.001037,-0.997244,-0.072120,-0.014527;;, + 4;4; 0.002602,-0.997202,-0.072094,-0.015177;;, + 5;4; 0.004592,-0.997147,-0.072062,-0.016004;;, + 6;4; 0.006971,-0.997083,-0.072024,-0.016992;;, + 7;4; 0.009691,-0.997008,-0.071980,-0.018122;;, + 8;4; 0.012686,-0.996927,-0.071932,-0.019366;;, + 9;4; 0.015873,-0.996840,-0.071881,-0.020690;;, + 10;4; 0.019160,-0.996750,-0.071828,-0.022055;;, + 11;4; 0.022446,-0.996661,-0.071775,-0.023420;;, + 12;4; 0.025633,-0.996574,-0.071724,-0.024744;;, + 13;4; 0.028628,-0.996492,-0.071675,-0.025988;;, + 14;4; 0.031348,-0.996418,-0.071631,-0.027118;;, + 15;4; 0.033728,-0.996354,-0.071593,-0.028106;;, + 16;4; 0.035717,-0.996299,-0.071561,-0.028932;;, + 17;4; 0.037282,-0.996257,-0.071536,-0.029583;;, + 18;4; 0.038404,-0.996226,-0.071518,-0.030049;;, + 19;4; 0.039075,-0.996208,-0.071507,-0.030327;;, + 20;4; 0.039297,-0.996202,-0.071503,-0.030419;;, + 21;4; 0.039075,-0.996208,-0.071507,-0.030327;;, + 22;4; 0.038404,-0.996226,-0.071518,-0.030049;;, + 23;4; 0.037282,-0.996257,-0.071536,-0.029583;;, + 24;4; 0.035717,-0.996299,-0.071561,-0.028932;;, + 25;4; 0.033728,-0.996354,-0.071593,-0.028106;;, + 26;4; 0.031348,-0.996418,-0.071631,-0.027118;;, + 27;4; 0.028628,-0.996493,-0.071675,-0.025988;;, + 28;4; 0.025633,-0.996574,-0.071724,-0.024744;;, + 29;4; 0.022446,-0.996661,-0.071775,-0.023420;;, + 30;4; 0.019160,-0.996750,-0.071828,-0.022055;;, + 31;4; 0.015873,-0.996840,-0.071881,-0.020690;;, + 32;4; 0.012686,-0.996927,-0.071932,-0.019366;;, + 33;4; 0.009691,-0.997009,-0.071980,-0.018122;;, + 34;4; 0.006971,-0.997083,-0.072024,-0.016992;;, + 35;4; 0.004592,-0.997147,-0.072062,-0.016004;;, + 36;4; 0.002602,-0.997202,-0.072094,-0.015177;;, + 37;4; 0.001037,-0.997244,-0.072120,-0.014527;;, + 38;4; -0.000085,-0.997275,-0.072138,-0.014061;;, + 39;4; -0.000756,-0.997293,-0.072149,-0.013783;;, + 40;4; -0.000978,-0.997299,-0.072152,-0.013690;;, + 41;4; -0.000756,-0.997293,-0.072149,-0.013783;;, + 42;4; -0.000085,-0.997275,-0.072138,-0.014061;;, + 43;4; 0.001037,-0.997244,-0.072120,-0.014527;;, + 44;4; 0.002602,-0.997202,-0.072094,-0.015177;;, + 45;4; 0.004592,-0.997147,-0.072062,-0.016004;;, + 46;4; 0.006971,-0.997083,-0.072024,-0.016992;;, + 47;4; 0.009691,-0.997008,-0.071980,-0.018122;;, + 48;4; 0.012686,-0.996927,-0.071932,-0.019366;;, + 49;4; 0.015873,-0.996840,-0.071881,-0.020690;;, + 50;4; 0.019160,-0.996750,-0.071828,-0.022055;;, + 51;4; 0.022446,-0.996661,-0.071775,-0.023420;;, + 52;4; 0.025633,-0.996574,-0.071724,-0.024744;;, + 53;4; 0.028628,-0.996492,-0.071675,-0.025988;;, + 54;4; 0.031348,-0.996418,-0.071631,-0.027118;;, + 55;4; 0.033728,-0.996354,-0.071593,-0.028106;;, + 56;4; 0.035717,-0.996299,-0.071561,-0.028932;;, + 57;4; 0.037282,-0.996257,-0.071536,-0.029583;;, + 58;4; 0.038404,-0.996226,-0.071518,-0.030049;;, + 59;4; 0.039075,-0.996208,-0.071507,-0.030327;;, + 60;4; 0.039297,-0.996202,-0.071503,-0.030419;;, + 61;4; 0.039088,-0.996207,-0.071507,-0.030333;;, + 62;4; 0.038502,-0.996223,-0.071516,-0.030089;;, + 63;4; 0.037589,-0.996248,-0.071531,-0.029710;;, + 64;4; 0.036390,-0.996281,-0.071550,-0.029212;;, + 65;4; 0.034939,-0.996320,-0.071574,-0.028609;;, + 66;4; 0.033263,-0.996366,-0.071601,-0.027913;;, + 67;4; 0.031388,-0.996417,-0.071631,-0.027134;;, + 68;4; 0.029333,-0.996473,-0.071664,-0.026281;;, + 69;4; 0.027118,-0.996534,-0.071700,-0.025361;;, + 70;4; 0.024760,-0.996598,-0.071738,-0.024381;;, + 71;4; 0.022276,-0.996666,-0.071778,-0.023349;;, + 72;4; 0.019680,-0.996736,-0.071819,-0.022271;;, + 73;4; 0.016990,-0.996810,-0.071863,-0.021154;;, + 74;4; 0.014225,-0.996885,-0.071907,-0.020005;;, + 75;4; 0.011405,-0.996962,-0.071953,-0.018834;;, + 76;4; 0.008560,-0.997039,-0.071999,-0.017652;;, + 77;4; 0.005732,-0.997116,-0.072044,-0.016478;;, + 78;4; 0.002998,-0.997191,-0.072088,-0.015342;;, + 79;4; 0.000529,-0.997258,-0.072128,-0.014316;;, + 80;4; -0.000978,-0.997299,-0.072152,-0.013690;;, + 81;4; -0.000978,-0.997299,-0.072152,-0.013690;;, + 82;4; 0.000529,-0.997258,-0.072128,-0.014316;;, + 83;4; 0.002998,-0.997191,-0.072088,-0.015342;;, + 84;4; 0.005732,-0.997116,-0.072044,-0.016478;;, + 85;4; 0.008560,-0.997039,-0.071999,-0.017652;;, + 86;4; 0.011405,-0.996962,-0.071953,-0.018834;;, + 87;4; 0.014225,-0.996885,-0.071907,-0.020005;;, + 88;4; 0.016990,-0.996810,-0.071863,-0.021154;;, + 89;4; 0.019680,-0.996736,-0.071819,-0.022271;;, + 90;4; 0.022276,-0.996666,-0.071778,-0.023349;;, + 91;4; 0.024760,-0.996598,-0.071738,-0.024381;;, + 92;4; 0.027118,-0.996534,-0.071700,-0.025361;;, + 93;4; 0.029333,-0.996473,-0.071664,-0.026281;;, + 94;4; 0.031388,-0.996417,-0.071631,-0.027134;;, + 95;4; 0.033263,-0.996366,-0.071601,-0.027913;;, + 96;4; 0.034939,-0.996320,-0.071574,-0.028609;;, + 97;4; 0.036390,-0.996281,-0.071550,-0.029212;;, + 98;4; 0.037589,-0.996248,-0.071531,-0.029710;;, + 99;4; 0.038502,-0.996223,-0.071516,-0.030089;;, + 100;4; 0.039088,-0.996207,-0.071507,-0.030333;;, + 101;4; 0.039297,-0.996202,-0.071503,-0.030419;;, + 102;4; 0.039075,-0.996208,-0.071507,-0.030327;;, + 103;4; 0.038404,-0.996226,-0.071518,-0.030049;;, + 104;4; 0.037282,-0.996257,-0.071536,-0.029583;;, + 105;4; 0.035717,-0.996299,-0.071561,-0.028932;;, + 106;4; 0.033728,-0.996354,-0.071593,-0.028106;;, + 107;4; 0.031348,-0.996418,-0.071631,-0.027118;;, + 108;4; 0.028628,-0.996493,-0.071675,-0.025988;;, + 109;4; 0.025633,-0.996574,-0.071724,-0.024744;;, + 110;4; 0.022446,-0.996661,-0.071775,-0.023420;;, + 111;4; 0.019160,-0.996750,-0.071828,-0.022055;;, + 112;4; 0.015873,-0.996840,-0.071881,-0.020690;;, + 113;4; 0.012686,-0.996927,-0.071932,-0.019366;;, + 114;4; 0.009691,-0.997009,-0.071980,-0.018122;;, + 115;4; 0.006971,-0.997083,-0.072024,-0.016992;;, + 116;4; 0.004592,-0.997147,-0.072062,-0.016004;;, + 117;4; 0.002602,-0.997202,-0.072094,-0.015177;;, + 118;4; 0.001037,-0.997244,-0.072120,-0.014527;;, + 119;4; -0.000085,-0.997275,-0.072138,-0.014061;;, + 120;4; -0.000756,-0.997293,-0.072149,-0.013783;;, + 121;4; -0.000978,-0.997299,-0.072152,-0.013690;;, + 122;4; -0.000756,-0.997293,-0.072149,-0.013783;;, + 123;4; -0.000085,-0.997275,-0.072138,-0.014061;;, + 124;4; 0.001037,-0.997244,-0.072120,-0.014527;;, + 125;4; 0.002602,-0.997202,-0.072094,-0.015177;;, + 126;4; 0.004592,-0.997147,-0.072062,-0.016004;;, + 127;4; 0.006971,-0.997083,-0.072024,-0.016992;;, + 128;4; 0.009691,-0.997008,-0.071980,-0.018122;;, + 129;4; 0.012686,-0.996927,-0.071932,-0.019366;;, + 130;4; 0.015873,-0.996840,-0.071881,-0.020690;;, + 131;4; 0.019160,-0.996750,-0.071828,-0.022055;;, + 132;4; 0.022446,-0.996661,-0.071775,-0.023420;;, + 133;4; 0.025633,-0.996574,-0.071724,-0.024744;;, + 134;4; 0.028628,-0.996492,-0.071675,-0.025988;;, + 135;4; 0.031348,-0.996418,-0.071631,-0.027118;;, + 136;4; 0.033728,-0.996354,-0.071593,-0.028106;;, + 137;4; 0.035717,-0.996299,-0.071561,-0.028932;;, + 138;4; 0.037282,-0.996257,-0.071536,-0.029583;;, + 139;4; 0.038404,-0.996226,-0.071518,-0.030049;;, + 140;4; 0.039075,-0.996208,-0.071507,-0.030327;;, + 141;4; 0.039297,-0.996202,-0.071503,-0.030419;;, + 142;4; 0.039128,-0.996207,-0.071506,-0.030336;;, + 143;4; 0.038651,-0.996223,-0.071514,-0.030100;;, + 144;4; 0.037905,-0.996248,-0.071527,-0.029733;;, + 145;4; 0.036918,-0.996281,-0.071543,-0.029250;;, + 146;4; 0.035716,-0.996321,-0.071563,-0.028665;;, + 147;4; 0.034318,-0.996367,-0.071586,-0.027990;;, + 148;4; 0.032740,-0.996419,-0.071612,-0.027232;;, + 149;4; 0.030996,-0.996475,-0.071641,-0.026401;;, + 150;4; 0.029097,-0.996535,-0.071672,-0.025504;;, + 151;4; 0.027052,-0.996600,-0.071706,-0.024547;;, + 152;4; 0.024869,-0.996668,-0.071742,-0.023537;;, + 153;4; 0.022553,-0.996739,-0.071780,-0.022479;;, + 154;4; 0.020108,-0.996813,-0.071820,-0.021379;;, + 155;4; 0.017538,-0.996888,-0.071862,-0.020245;;, + 156;4; 0.014842,-0.996965,-0.071906,-0.019082;;, + 157;4; 0.012018,-0.997043,-0.071951,-0.017902;;, + 158;4; 0.009059,-0.997120,-0.071998,-0.016718;;, + 159;4; 0.005950,-0.997194,-0.072048,-0.015556;;, + 160;4; 0.002652,-0.997260,-0.072099,-0.014470;;, + 161;4; -0.000978,-0.997299,-0.072152,-0.013690;;, + 162;4; -0.003918,-0.958043,-0.286297,-0.013149;;, + 163;4; -0.003918,-0.958043,-0.286297,-0.013149;;, + 164;4; -0.003918,-0.958043,-0.286297,-0.013149;;, + 165;4; -0.003918,-0.958043,-0.286297,-0.013149;;, + 166;4; -0.003918,-0.958043,-0.286297,-0.013149;;, + 167;4; -0.003918,-0.958043,-0.286297,-0.013149;;, + 168;4; -0.000978,-0.997299,-0.072152,-0.013690;;, + 169;4; 0.036347,-0.993296,-0.071786,-0.010872;;, + 170;4; 0.112807,-0.981995,-0.071141,-0.000858;;, + 171;4; 0.203776,-0.967477,-0.070406, 0.012520;;, + 172;4; 0.272381,-0.956168,-0.069861, 0.023101;;, + 173;4; 0.296358,-0.952153,-0.069674, 0.026885;;, + 174;4; 0.279517,-0.956183,-0.070026, 0.024568;;, + 175;4; 0.227918,-0.967529,-0.070960, 0.017477;;, + 176;4; 0.150414,-0.982075,-0.072004, 0.006858;;, + 177;4; 0.068097,-0.993364,-0.072517,-0.004357;;, + 178;4; -0.000978,-0.997299,-0.072152,-0.013690;;, + 179;4; -0.070037,-0.993111,-0.070622,-0.022912;;, + 180;4; -0.152309,-0.981521,-0.067851,-0.033813;;, + 181;4; -0.229756,-0.966690,-0.064679,-0.044029;;, + 182;4; -0.281310,-0.955156,-0.062329,-0.050806;;, + 183;4; -0.298135,-0.951063,-0.061515,-0.053011;;, + 184;4; -0.272259,-0.955140,-0.062465,-0.049482;;, + 185;4; -0.200471,-0.966555,-0.065152,-0.039474;;, + 186;4; -0.106835,-0.981308,-0.068589,-0.026713;;, + 187;4; -0.029968,-0.993038,-0.071230,-0.017022;;, + 188;4; -0.000978,-0.997299,-0.072152,-0.013690;;, + 189;4; -0.835215,-0.536105, 0.025760,-0.119765;;, + 190;4; -0.803181,-0.565890, 0.021820,-0.111185;;, + 191;4; -0.718113,-0.648332, 0.010762,-0.086701;;, + 192;4; -0.614352,-0.752504,-0.003387,-0.054936;;, + 193;4; -0.534771,-0.833228,-0.014392,-0.030125;;, + 194;4; -0.506097,-0.862019,-0.018304,-0.021341;;, + 195;4; -0.535294,-0.833114,-0.014391,-0.030093;;, + 196;4; -0.617412,-0.751837,-0.003378,-0.054751;;, + 197;4; -0.723024,-0.647281, 0.010774,-0.086403;;, + 198;4; -0.805700,-0.565371, 0.021825,-0.111030;;, + 199;4; -0.835215,-0.536105, 0.025760,-0.119765;;, + 200;4; -0.538708,-0.840711,-0.006527,-0.054376;;, + 201;4; -0.565312,-0.813349,-0.003640,-0.060174;;, + 202;4; -0.639811,-0.736783, 0.004462,-0.076531;;, + 203;4; -0.734947,-0.639071, 0.014829,-0.097562;;, + 204;4; -0.808914,-0.563118, 0.022894,-0.113949;;, + 205;4; -0.835215,-0.536105, 0.025760,-0.119765;;, + 206;4; -0.805960,-0.565075, 0.021843,-0.111016;;, + 207;4; -0.723557,-0.646675, 0.010811,-0.086373;;, + 208;4; -0.617754,-0.751449,-0.003355,-0.054733;;, + 209;4; -0.535352,-0.833048,-0.014387,-0.030090;;, + 210;4; -0.506097,-0.862019,-0.018304,-0.021341;;, + 211;4; -0.535352,-0.833048,-0.014387,-0.030090;;, + 212;4; -0.617754,-0.751449,-0.003355,-0.054733;;, + 213;4; -0.723557,-0.646675, 0.010811,-0.086373;;, + 214;4; -0.805960,-0.565075, 0.021843,-0.111016;;, + 215;4; -0.835215,-0.536105, 0.025760,-0.119765;;, + 216;4; -0.808873,-0.563165, 0.022891,-0.113952;;, + 217;4; -0.734703,-0.639351, 0.014812,-0.097576;;, + 218;4; -0.639430,-0.737222, 0.004436,-0.076552;;, + 219;4; -0.565126,-0.813563,-0.003653,-0.060185;;, + 220;4; -0.538708,-0.840711,-0.006527,-0.054376;;; + } + AnimationKey { //Scale + 1; + 221; + 0;3; 1.000000, 1.000000, 1.000000;;, + 1;3; 1.000000, 1.000000, 1.000000;;, + 2;3; 1.000000, 1.000000, 1.000000;;, + 3;3; 1.000000, 1.000000, 1.000000;;, + 4;3; 1.000000, 1.000000, 1.000000;;, + 5;3; 1.000000, 1.000000, 1.000000;;, + 6;3; 1.000000, 1.000000, 1.000000;;, + 7;3; 1.000000, 1.000000, 1.000000;;, + 8;3; 1.000000, 1.000000, 1.000000;;, + 9;3; 1.000000, 1.000000, 1.000000;;, + 10;3; 1.000000, 1.000000, 1.000000;;, + 11;3; 1.000000, 1.000000, 1.000000;;, + 12;3; 1.000000, 1.000000, 1.000000;;, + 13;3; 1.000000, 1.000000, 1.000000;;, + 14;3; 1.000000, 1.000000, 1.000000;;, + 15;3; 1.000000, 1.000000, 1.000000;;, + 16;3; 1.000000, 1.000000, 1.000000;;, + 17;3; 1.000000, 1.000000, 1.000000;;, + 18;3; 1.000000, 1.000000, 1.000000;;, + 19;3; 1.000000, 1.000000, 1.000000;;, + 20;3; 1.000000, 1.000000, 1.000000;;, + 21;3; 1.000000, 1.000000, 1.000000;;, + 22;3; 1.000000, 1.000000, 1.000000;;, + 23;3; 1.000000, 1.000000, 1.000000;;, + 24;3; 1.000000, 1.000000, 1.000000;;, + 25;3; 1.000000, 1.000000, 1.000000;;, + 26;3; 1.000000, 1.000000, 1.000000;;, + 27;3; 1.000000, 1.000000, 1.000000;;, + 28;3; 1.000000, 1.000000, 1.000000;;, + 29;3; 1.000000, 1.000000, 1.000000;;, + 30;3; 1.000000, 1.000000, 1.000000;;, + 31;3; 1.000000, 1.000000, 1.000000;;, + 32;3; 1.000000, 1.000000, 1.000000;;, + 33;3; 1.000000, 1.000000, 1.000000;;, + 34;3; 1.000000, 1.000000, 1.000000;;, + 35;3; 1.000000, 1.000000, 1.000000;;, + 36;3; 1.000000, 1.000000, 1.000000;;, + 37;3; 1.000000, 1.000000, 1.000000;;, + 38;3; 1.000000, 1.000000, 1.000000;;, + 39;3; 1.000000, 1.000000, 1.000000;;, + 40;3; 1.000000, 1.000000, 1.000000;;, + 41;3; 1.000000, 1.000000, 1.000000;;, + 42;3; 1.000000, 1.000000, 1.000000;;, + 43;3; 1.000000, 1.000000, 1.000000;;, + 44;3; 1.000000, 1.000000, 1.000000;;, + 45;3; 1.000000, 1.000000, 1.000000;;, + 46;3; 1.000000, 1.000000, 1.000000;;, + 47;3; 1.000000, 1.000000, 1.000000;;, + 48;3; 1.000000, 1.000000, 1.000000;;, + 49;3; 1.000000, 1.000000, 1.000000;;, + 50;3; 1.000000, 1.000000, 1.000000;;, + 51;3; 1.000000, 1.000000, 1.000000;;, + 52;3; 1.000000, 1.000000, 1.000000;;, + 53;3; 1.000000, 1.000000, 1.000000;;, + 54;3; 1.000000, 1.000000, 1.000000;;, + 55;3; 1.000000, 1.000000, 1.000000;;, + 56;3; 1.000000, 1.000000, 1.000000;;, + 57;3; 1.000000, 1.000000, 1.000000;;, + 58;3; 1.000000, 1.000000, 1.000000;;, + 59;3; 1.000000, 1.000000, 1.000000;;, + 60;3; 1.000000, 1.000000, 1.000000;;, + 61;3; 1.000000, 1.000000, 1.000000;;, + 62;3; 1.000000, 1.000000, 1.000000;;, + 63;3; 1.000000, 1.000000, 1.000000;;, + 64;3; 1.000000, 1.000000, 1.000000;;, + 65;3; 1.000000, 1.000000, 1.000000;;, + 66;3; 1.000000, 1.000000, 1.000000;;, + 67;3; 1.000000, 1.000000, 1.000000;;, + 68;3; 1.000000, 1.000000, 1.000000;;, + 69;3; 1.000000, 1.000000, 1.000000;;, + 70;3; 1.000000, 1.000000, 1.000000;;, + 71;3; 1.000000, 1.000000, 1.000000;;, + 72;3; 1.000000, 1.000000, 1.000000;;, + 73;3; 1.000000, 1.000000, 1.000000;;, + 74;3; 1.000000, 1.000000, 1.000000;;, + 75;3; 1.000000, 1.000000, 1.000000;;, + 76;3; 1.000000, 1.000000, 1.000000;;, + 77;3; 1.000000, 1.000000, 1.000000;;, + 78;3; 1.000000, 1.000000, 1.000000;;, + 79;3; 1.000000, 1.000000, 1.000000;;, + 80;3; 1.000000, 1.000000, 1.000000;;, + 81;3; 1.000000, 1.000000, 1.000000;;, + 82;3; 1.000000, 1.000000, 1.000000;;, + 83;3; 1.000000, 1.000000, 1.000000;;, + 84;3; 1.000000, 1.000000, 1.000000;;, + 85;3; 1.000000, 1.000000, 1.000000;;, + 86;3; 1.000000, 1.000000, 1.000000;;, + 87;3; 1.000000, 1.000000, 1.000000;;, + 88;3; 1.000000, 1.000000, 1.000000;;, + 89;3; 1.000000, 1.000000, 1.000000;;, + 90;3; 1.000000, 1.000000, 1.000000;;, + 91;3; 1.000000, 1.000000, 1.000000;;, + 92;3; 1.000000, 1.000000, 1.000000;;, + 93;3; 1.000000, 1.000000, 1.000000;;, + 94;3; 1.000000, 1.000000, 1.000000;;, + 95;3; 1.000000, 1.000000, 1.000000;;, + 96;3; 1.000000, 1.000000, 1.000000;;, + 97;3; 1.000000, 1.000000, 1.000000;;, + 98;3; 1.000000, 1.000000, 1.000000;;, + 99;3; 1.000000, 1.000000, 1.000000;;, + 100;3; 1.000000, 1.000000, 1.000000;;, + 101;3; 1.000000, 1.000000, 1.000000;;, + 102;3; 1.000000, 1.000000, 1.000000;;, + 103;3; 1.000000, 1.000000, 1.000000;;, + 104;3; 1.000000, 1.000000, 1.000000;;, + 105;3; 1.000000, 1.000000, 1.000000;;, + 106;3; 1.000000, 1.000000, 1.000000;;, + 107;3; 1.000000, 1.000000, 1.000000;;, + 108;3; 1.000000, 1.000000, 1.000000;;, + 109;3; 1.000000, 1.000000, 1.000000;;, + 110;3; 1.000000, 1.000000, 1.000000;;, + 111;3; 1.000000, 1.000000, 1.000000;;, + 112;3; 1.000000, 1.000000, 1.000000;;, + 113;3; 1.000000, 1.000000, 1.000000;;, + 114;3; 1.000000, 1.000000, 1.000000;;, + 115;3; 1.000000, 1.000000, 1.000000;;, + 116;3; 1.000000, 1.000000, 1.000000;;, + 117;3; 1.000000, 1.000000, 1.000000;;, + 118;3; 1.000000, 1.000000, 1.000000;;, + 119;3; 1.000000, 1.000000, 1.000000;;, + 120;3; 1.000000, 1.000000, 1.000000;;, + 121;3; 1.000000, 1.000000, 1.000000;;, + 122;3; 1.000000, 1.000000, 1.000000;;, + 123;3; 1.000000, 1.000000, 1.000000;;, + 124;3; 1.000000, 1.000000, 1.000000;;, + 125;3; 1.000000, 1.000000, 1.000000;;, + 126;3; 1.000000, 1.000000, 1.000000;;, + 127;3; 1.000000, 1.000000, 1.000000;;, + 128;3; 1.000000, 1.000000, 1.000000;;, + 129;3; 1.000000, 1.000000, 1.000000;;, + 130;3; 1.000000, 1.000000, 1.000000;;, + 131;3; 1.000000, 1.000000, 1.000000;;, + 132;3; 1.000000, 1.000000, 1.000000;;, + 133;3; 1.000000, 1.000000, 1.000000;;, + 134;3; 1.000000, 1.000000, 1.000000;;, + 135;3; 1.000000, 1.000000, 1.000000;;, + 136;3; 1.000000, 1.000000, 1.000000;;, + 137;3; 1.000000, 1.000000, 1.000000;;, + 138;3; 1.000000, 1.000000, 1.000000;;, + 139;3; 1.000000, 1.000000, 1.000000;;, + 140;3; 1.000000, 1.000000, 1.000000;;, + 141;3; 1.000000, 1.000000, 1.000000;;, + 142;3; 1.000000, 1.000000, 1.000000;;, + 143;3; 1.000000, 1.000000, 1.000000;;, + 144;3; 1.000000, 1.000000, 1.000000;;, + 145;3; 1.000000, 1.000000, 1.000000;;, + 146;3; 1.000000, 1.000000, 1.000000;;, + 147;3; 1.000000, 1.000000, 1.000000;;, + 148;3; 1.000000, 1.000000, 1.000000;;, + 149;3; 1.000000, 1.000000, 1.000000;;, + 150;3; 1.000000, 1.000000, 1.000000;;, + 151;3; 1.000000, 1.000000, 1.000000;;, + 152;3; 1.000000, 1.000000, 1.000000;;, + 153;3; 1.000000, 1.000000, 1.000000;;, + 154;3; 1.000000, 1.000000, 1.000000;;, + 155;3; 1.000000, 1.000000, 1.000000;;, + 156;3; 1.000000, 1.000000, 1.000000;;, + 157;3; 1.000000, 1.000000, 1.000000;;, + 158;3; 1.000000, 1.000000, 1.000000;;, + 159;3; 1.000000, 1.000000, 1.000000;;, + 160;3; 1.000000, 1.000000, 1.000000;;, + 161;3; 1.000000, 1.000000, 1.000000;;, + 162;3; 1.000000, 1.000000, 1.000000;;, + 163;3; 1.000000, 1.000000, 1.000000;;, + 164;3; 1.000000, 1.000000, 1.000000;;, + 165;3; 1.000000, 1.000000, 1.000000;;, + 166;3; 1.000000, 1.000000, 1.000000;;, + 167;3; 1.000000, 1.000000, 1.000000;;, + 168;3; 1.000000, 1.000000, 1.000000;;, + 169;3; 1.000000, 1.000000, 1.000000;;, + 170;3; 1.000000, 1.000000, 1.000000;;, + 171;3; 1.000000, 1.000000, 1.000000;;, + 172;3; 1.000000, 1.000000, 1.000000;;, + 173;3; 1.000000, 1.000000, 1.000000;;, + 174;3; 1.000000, 1.000000, 1.000000;;, + 175;3; 1.000000, 1.000000, 1.000000;;, + 176;3; 1.000000, 1.000000, 1.000000;;, + 177;3; 1.000000, 1.000000, 1.000000;;, + 178;3; 1.000000, 1.000000, 1.000000;;, + 179;3; 1.000000, 1.000000, 1.000000;;, + 180;3; 1.000000, 1.000000, 1.000000;;, + 181;3; 1.000000, 1.000000, 1.000000;;, + 182;3; 1.000000, 1.000000, 1.000000;;, + 183;3; 1.000000, 1.000000, 1.000000;;, + 184;3; 1.000000, 1.000000, 1.000000;;, + 185;3; 1.000000, 1.000000, 1.000000;;, + 186;3; 1.000000, 1.000000, 1.000000;;, + 187;3; 1.000000, 1.000000, 1.000000;;, + 188;3; 1.000000, 1.000000, 1.000000;;, + 189;3; 1.000000, 1.000000, 1.000000;;, + 190;3; 1.000000, 1.000000, 1.000000;;, + 191;3; 1.000000, 1.000000, 1.000000;;, + 192;3; 1.000000, 1.000000, 1.000000;;, + 193;3; 1.000000, 1.000000, 1.000000;;, + 194;3; 1.000000, 1.000000, 1.000000;;, + 195;3; 1.000000, 1.000000, 1.000000;;, + 196;3; 1.000000, 1.000000, 1.000000;;, + 197;3; 1.000000, 1.000000, 1.000000;;, + 198;3; 1.000000, 1.000000, 1.000000;;, + 199;3; 1.000000, 1.000000, 1.000000;;, + 200;3; 1.000000, 1.000000, 1.000000;;, + 201;3; 1.000000, 1.000000, 1.000000;;, + 202;3; 1.000000, 1.000000, 1.000000;;, + 203;3; 1.000000, 1.000000, 1.000000;;, + 204;3; 1.000000, 1.000000, 1.000000;;, + 205;3; 1.000000, 1.000000, 1.000000;;, + 206;3; 1.000000, 1.000000, 1.000000;;, + 207;3; 1.000000, 1.000000, 1.000000;;, + 208;3; 1.000000, 1.000000, 1.000000;;, + 209;3; 1.000000, 1.000000, 1.000000;;, + 210;3; 1.000000, 1.000000, 1.000000;;, + 211;3; 1.000000, 1.000000, 1.000000;;, + 212;3; 1.000000, 1.000000, 1.000000;;, + 213;3; 1.000000, 1.000000, 1.000000;;, + 214;3; 1.000000, 1.000000, 1.000000;;, + 215;3; 1.000000, 1.000000, 1.000000;;, + 216;3; 1.000000, 1.000000, 1.000000;;, + 217;3; 1.000000, 1.000000, 1.000000;;, + 218;3; 1.000000, 1.000000, 1.000000;;, + 219;3; 1.000000, 1.000000, 1.000000;;, + 220;3; 1.000000, 1.000000, 1.000000;;; + } + } + Animation { + {Armature_Leg_Right} + AnimationKey { //Position + 2; + 221; + 0;3; 1.000000, 0.000000,-0.000001;;, + 1;3; 1.000000,-0.000000,-0.000001;;, + 2;3; 1.000000,-0.000000,-0.000001;;, + 3;3; 1.000000,-0.000000,-0.000001;;, + 4;3; 1.000000,-0.000000,-0.000001;;, + 5;3; 1.000000,-0.000000,-0.000001;;, + 6;3; 1.000000,-0.000000,-0.000001;;, + 7;3; 1.000000,-0.000000,-0.000001;;, + 8;3; 1.000000,-0.000000,-0.000001;;, + 9;3; 1.000000,-0.000000,-0.000001;;, + 10;3; 1.000000,-0.000000,-0.000000;;, + 11;3; 1.000000,-0.000000,-0.000000;;, + 12;3; 1.000000,-0.000000,-0.000000;;, + 13;3; 1.000000,-0.000000,-0.000000;;, + 14;3; 1.000000,-0.000000,-0.000000;;, + 15;3; 1.000000,-0.000000,-0.000001;;, + 16;3; 1.000000,-0.000000,-0.000001;;, + 17;3; 1.000000,-0.000000,-0.000001;;, + 18;3; 1.000000,-0.000000,-0.000001;;, + 19;3; 1.000000,-0.000000,-0.000001;;, + 20;3; 1.000000,-0.000000,-0.000001;;, + 21;3; 1.000000,-0.000000,-0.000001;;, + 22;3; 1.000000,-0.000000,-0.000000;;, + 23;3; 1.000000,-0.000000,-0.000001;;, + 24;3; 1.000000,-0.000000,-0.000001;;, + 25;3; 1.000000,-0.000000,-0.000001;;, + 26;3; 1.000000,-0.000000,-0.000000;;, + 27;3; 1.000000,-0.000000,-0.000000;;, + 28;3; 1.000000,-0.000000,-0.000000;;, + 29;3; 1.000000,-0.000000,-0.000000;;, + 30;3; 1.000000,-0.000000,-0.000000;;, + 31;3; 1.000000,-0.000000,-0.000001;;, + 32;3; 1.000000,-0.000000,-0.000001;;, + 33;3; 1.000000,-0.000000,-0.000001;;, + 34;3; 1.000000,-0.000000,-0.000001;;, + 35;3; 1.000000,-0.000000,-0.000001;;, + 36;3; 1.000000,-0.000000,-0.000001;;, + 37;3; 1.000000,-0.000000,-0.000001;;, + 38;3; 1.000000,-0.000000,-0.000001;;, + 39;3; 1.000000,-0.000000,-0.000001;;, + 40;3; 1.000000, 0.000000,-0.000001;;, + 41;3; 1.000000,-0.000000,-0.000001;;, + 42;3; 1.000000,-0.000000,-0.000001;;, + 43;3; 1.000000,-0.000000,-0.000001;;, + 44;3; 1.000000,-0.000000,-0.000001;;, + 45;3; 1.000000,-0.000000,-0.000001;;, + 46;3; 1.000000,-0.000000,-0.000001;;, + 47;3; 1.000000,-0.000000,-0.000001;;, + 48;3; 1.000000,-0.000000,-0.000001;;, + 49;3; 1.000000,-0.000000,-0.000001;;, + 50;3; 1.000000,-0.000000,-0.000000;;, + 51;3; 1.000000,-0.000000,-0.000000;;, + 52;3; 1.000000,-0.000000,-0.000000;;, + 53;3; 1.000000,-0.000000,-0.000000;;, + 54;3; 1.000000,-0.000000,-0.000000;;, + 55;3; 1.000000,-0.000000,-0.000001;;, + 56;3; 1.000000,-0.000000,-0.000001;;, + 57;3; 1.000000,-0.000000,-0.000001;;, + 58;3; 1.000000,-0.000000,-0.000001;;, + 59;3; 1.000000,-0.000000,-0.000001;;, + 60;3; 1.000000,-0.000000,-0.000001;;, + 61;3; 1.000000,-0.000000,-0.000001;;, + 62;3; 1.000000,-0.000000,-0.000001;;, + 63;3; 1.000000,-0.000000,-0.000001;;, + 64;3; 1.000000,-0.000000,-0.000001;;, + 65;3; 1.000000,-0.000000,-0.000001;;, + 66;3; 1.000000,-0.000000,-0.000001;;, + 67;3; 1.000000,-0.000000,-0.000000;;, + 68;3; 1.000000,-0.000000,-0.000000;;, + 69;3; 1.000000,-0.000000,-0.000000;;, + 70;3; 1.000000,-0.000000,-0.000000;;, + 71;3; 1.000000,-0.000000,-0.000000;;, + 72;3; 1.000000,-0.000000,-0.000000;;, + 73;3; 1.000000,-0.000000,-0.000000;;, + 74;3; 1.000000,-0.000000,-0.000001;;, + 75;3; 1.000000,-0.000000,-0.000001;;, + 76;3; 1.000000,-0.000000,-0.000001;;, + 77;3; 1.000000,-0.000000,-0.000001;;, + 78;3; 1.000000,-0.000000,-0.000001;;, + 79;3; 1.000000,-0.000000,-0.000001;;, + 80;3; 1.000000, 0.000000,-0.000001;;, + 81;3; 1.000000, 0.000000,-0.000001;;, + 82;3; 1.000000,-0.000000,-0.000001;;, + 83;3; 1.000000,-0.000000,-0.000001;;, + 84;3; 1.000000,-0.000000,-0.000001;;, + 85;3; 1.000000,-0.000000,-0.000001;;, + 86;3; 1.000000,-0.000000,-0.000001;;, + 87;3; 1.000000,-0.000000,-0.000001;;, + 88;3; 1.000000,-0.000000,-0.000001;;, + 89;3; 1.000000,-0.000000,-0.000001;;, + 90;3; 1.000000,-0.000000,-0.000001;;, + 91;3; 1.000000,-0.000000,-0.000001;;, + 92;3; 1.000000,-0.000000,-0.000001;;, + 93;3; 1.000000,-0.000000,-0.000001;;, + 94;3; 1.000000,-0.000000,-0.000001;;, + 95;3; 1.000000,-0.000000,-0.000001;;, + 96;3; 1.000000,-0.000000,-0.000001;;, + 97;3; 1.000000,-0.000000,-0.000001;;, + 98;3; 1.000000,-0.000000,-0.000001;;, + 99;3; 1.000000,-0.000000,-0.000001;;, + 100;3; 1.000000,-0.000000,-0.000001;;, + 101;3; 1.000000,-0.000000,-0.000001;;, + 102;3; 1.000000,-0.000000,-0.000001;;, + 103;3; 1.000000,-0.000000,-0.000001;;, + 104;3; 1.000000,-0.000000,-0.000001;;, + 105;3; 1.000000,-0.000000,-0.000001;;, + 106;3; 1.000000,-0.000000,-0.000001;;, + 107;3; 1.000000,-0.000000,-0.000001;;, + 108;3; 1.000000,-0.000000,-0.000001;;, + 109;3; 1.000000,-0.000000,-0.000001;;, + 110;3; 1.000000,-0.000000,-0.000001;;, + 111;3; 1.000000,-0.000000,-0.000001;;, + 112;3; 1.000000,-0.000000,-0.000001;;, + 113;3; 1.000000,-0.000000,-0.000001;;, + 114;3; 1.000000,-0.000000,-0.000001;;, + 115;3; 1.000000,-0.000000,-0.000001;;, + 116;3; 1.000000,-0.000000,-0.000001;;, + 117;3; 1.000000,-0.000000,-0.000001;;, + 118;3; 1.000000,-0.000000,-0.000001;;, + 119;3; 1.000000,-0.000000,-0.000001;;, + 120;3; 1.000000,-0.000000,-0.000001;;, + 121;3; 1.000000, 0.000000,-0.000001;;, + 122;3; 1.000000,-0.000000,-0.000001;;, + 123;3; 1.000000,-0.000000,-0.000001;;, + 124;3; 1.000000,-0.000000,-0.000001;;, + 125;3; 1.000000,-0.000000,-0.000001;;, + 126;3; 1.000000,-0.000000,-0.000001;;, + 127;3; 1.000000,-0.000000,-0.000001;;, + 128;3; 1.000000,-0.000000,-0.000001;;, + 129;3; 1.000000,-0.000000,-0.000001;;, + 130;3; 1.000000,-0.000000,-0.000001;;, + 131;3; 1.000000,-0.000000,-0.000001;;, + 132;3; 1.000000,-0.000000,-0.000001;;, + 133;3; 1.000000,-0.000000,-0.000001;;, + 134;3; 1.000000,-0.000000,-0.000001;;, + 135;3; 1.000000,-0.000000,-0.000001;;, + 136;3; 1.000000,-0.000000,-0.000001;;, + 137;3; 1.000000,-0.000000,-0.000001;;, + 138;3; 1.000000,-0.000000,-0.000001;;, + 139;3; 1.000000,-0.000000,-0.000001;;, + 140;3; 1.000000,-0.000000,-0.000001;;, + 141;3; 1.000000,-0.000000,-0.000001;;, + 142;3; 1.000000,-0.000000,-0.000001;;, + 143;3; 1.000000,-0.000000,-0.000001;;, + 144;3; 1.000000,-0.000000,-0.000001;;, + 145;3; 1.000000,-0.000000,-0.000001;;, + 146;3; 1.000000,-0.000000,-0.000001;;, + 147;3; 1.000000,-0.000000,-0.000001;;, + 148;3; 1.000000,-0.000000,-0.000001;;, + 149;3; 1.000000,-0.000000,-0.000001;;, + 150;3; 1.000000,-0.000000,-0.000001;;, + 151;3; 1.000000,-0.000000,-0.000001;;, + 152;3; 1.000000,-0.000000,-0.000001;;, + 153;3; 1.000000,-0.000000,-0.000001;;, + 154;3; 1.000000,-0.000000,-0.000001;;, + 155;3; 1.000000,-0.000000,-0.000001;;, + 156;3; 1.000000,-0.000000,-0.000001;;, + 157;3; 1.000000,-0.000000,-0.000001;;, + 158;3; 1.000000,-0.000000,-0.000001;;, + 159;3; 1.000000,-0.000000,-0.000001;;, + 160;3; 1.000000,-0.000000,-0.000001;;, + 161;3; 1.000000, 0.000000,-0.000001;;, + 162;3; 1.000000,-0.000000,-0.000000;;, + 163;3; 1.000000,-0.000000,-0.000000;;, + 164;3; 1.000000,-0.000000,-0.000000;;, + 165;3; 1.000000,-0.000000,-0.000000;;, + 166;3; 1.000000,-0.000000,-0.000000;;, + 167;3; 1.000000,-0.000000,-0.000000;;, + 168;3; 1.000000, 0.000000,-0.000001;;, + 169;3; 1.000000, 0.000000,-0.000001;;, + 170;3; 1.000000, 0.000000,-0.000001;;, + 171;3; 1.000000, 0.000000,-0.000001;;, + 172;3; 1.000000, 0.000000,-0.000001;;, + 173;3; 1.000000, 0.000000,-0.000001;;, + 174;3; 1.000000, 0.000000,-0.000001;;, + 175;3; 1.000000, 0.000000,-0.000001;;, + 176;3; 1.000000, 0.000000,-0.000001;;, + 177;3; 1.000000, 0.000000,-0.000001;;, + 178;3; 1.000000, 0.000000,-0.000001;;, + 179;3; 1.000000, 0.000000,-0.000001;;, + 180;3; 1.000000, 0.000000,-0.000001;;, + 181;3; 1.000000, 0.000000,-0.000001;;, + 182;3; 1.000000, 0.000000,-0.000001;;, + 183;3; 1.000000, 0.000000,-0.000001;;, + 184;3; 1.000000, 0.000000,-0.000001;;, + 185;3; 1.000000, 0.000000,-0.000001;;, + 186;3; 1.000000, 0.000000,-0.000001;;, + 187;3; 1.000000, 0.000000,-0.000001;;, + 188;3; 1.000000, 0.000000,-0.000001;;, + 189;3; 1.000000, 0.000000,-0.000001;;, + 190;3; 1.000000, 0.000000,-0.000001;;, + 191;3; 1.000000, 0.000000,-0.000001;;, + 192;3; 1.000000, 0.000000,-0.000000;;, + 193;3; 1.000000, 0.000000,-0.000001;;, + 194;3; 1.000000, 0.000000,-0.000001;;, + 195;3; 1.000000, 0.000000,-0.000001;;, + 196;3; 1.000000, 0.000000,-0.000000;;, + 197;3; 1.000000, 0.000000,-0.000001;;, + 198;3; 1.000000, 0.000000,-0.000001;;, + 199;3; 1.000000, 0.000000,-0.000001;;, + 200;3; 1.000000, 0.000000,-0.000001;;, + 201;3; 1.000000,-0.000000,-0.000001;;, + 202;3; 1.000000,-0.000000,-0.000001;;, + 203;3; 1.000000,-0.000000,-0.000000;;, + 204;3; 1.000000,-0.000000,-0.000001;;, + 205;3; 1.000000,-0.000000,-0.000001;;, + 206;3; 1.000000,-0.000000,-0.000000;;, + 207;3; 1.000000,-0.000000,-0.000001;;, + 208;3; 1.000000, 0.000000,-0.000000;;, + 209;3; 1.000000, 0.000000,-0.000000;;, + 210;3; 1.000000, 0.000000,-0.000001;;, + 211;3; 1.000000, 0.000000,-0.000000;;, + 212;3; 1.000000, 0.000000,-0.000000;;, + 213;3; 1.000000,-0.000000,-0.000001;;, + 214;3; 1.000000,-0.000000,-0.000000;;, + 215;3; 1.000000,-0.000000,-0.000001;;, + 216;3; 1.000000,-0.000000,-0.000001;;, + 217;3; 1.000000,-0.000000,-0.000000;;, + 218;3; 1.000000,-0.000000,-0.000001;;, + 219;3; 1.000000,-0.000000,-0.000001;;, + 220;3; 1.000000, 0.000000,-0.000001;;; + } + AnimationKey { //Rotation + 0; + 221; + 0;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 1;4; -0.000240, 0.999995,-0.000000,-0.000000;;, + 2;4; -0.000967, 0.999979,-0.000000,-0.000000;;, + 3;4; -0.002182, 0.999952,-0.000000,-0.000000;;, + 4;4; -0.003877, 0.999915,-0.000000,-0.000000;;, + 5;4; -0.006032, 0.999868,-0.000000,-0.000000;;, + 6;4; -0.008609, 0.999812,-0.000000,-0.000000;;, + 7;4; -0.011555, 0.999748,-0.000000,-0.000000;;, + 8;4; -0.014798, 0.999677,-0.000000,-0.000000;;, + 9;4; -0.018250, 0.999602,-0.000000,-0.000000;;, + 10;4; -0.021810, 0.999524,-0.000000,-0.000000;;, + 11;4; -0.025369, 0.999446,-0.000000,-0.000000;;, + 12;4; -0.028821, 0.999371,-0.000000,-0.000000;;, + 13;4; -0.032064, 0.999300,-0.000000,-0.000000;;, + 14;4; -0.035010, 0.999236,-0.000000,-0.000000;;, + 15;4; -0.037588, 0.999180,-0.000000,-0.000000;;, + 16;4; -0.039742, 0.999133,-0.000000,-0.000000;;, + 17;4; -0.041437, 0.999096,-0.000000,-0.000000;;, + 18;4; -0.042652, 0.999069,-0.000000,-0.000000;;, + 19;4; -0.043379, 0.999053,-0.000000,-0.000000;;, + 20;4; -0.043619, 0.999048,-0.000000,-0.000000;;, + 21;4; -0.043379, 0.999053,-0.000000,-0.000000;;, + 22;4; -0.042652, 0.999069,-0.000000,-0.000000;;, + 23;4; -0.041437, 0.999096,-0.000000,-0.000000;;, + 24;4; -0.039742, 0.999133,-0.000000,-0.000000;;, + 25;4; -0.037588, 0.999180,-0.000000,-0.000000;;, + 26;4; -0.035010, 0.999236,-0.000000,-0.000000;;, + 27;4; -0.032064, 0.999300,-0.000000,-0.000000;;, + 28;4; -0.028821, 0.999371,-0.000000,-0.000000;;, + 29;4; -0.025369, 0.999446,-0.000000,-0.000000;;, + 30;4; -0.021810, 0.999524,-0.000000,-0.000000;;, + 31;4; -0.018250, 0.999602,-0.000000,-0.000000;;, + 32;4; -0.014798, 0.999677,-0.000000,-0.000000;;, + 33;4; -0.011555, 0.999748,-0.000000,-0.000000;;, + 34;4; -0.008609, 0.999812,-0.000000,-0.000000;;, + 35;4; -0.006032, 0.999868,-0.000000,-0.000000;;, + 36;4; -0.003877, 0.999915,-0.000000,-0.000000;;, + 37;4; -0.002182, 0.999952,-0.000000,-0.000000;;, + 38;4; -0.000967, 0.999979,-0.000000,-0.000000;;, + 39;4; -0.000240, 0.999995,-0.000000,-0.000000;;, + 40;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 41;4; -0.000240, 0.999995,-0.000000,-0.000000;;, + 42;4; -0.000967, 0.999979,-0.000000,-0.000000;;, + 43;4; -0.002182, 0.999952,-0.000000,-0.000000;;, + 44;4; -0.003877, 0.999915,-0.000000,-0.000000;;, + 45;4; -0.006032, 0.999868,-0.000000,-0.000000;;, + 46;4; -0.008609, 0.999812,-0.000000,-0.000000;;, + 47;4; -0.011555, 0.999748,-0.000000,-0.000000;;, + 48;4; -0.014798, 0.999677,-0.000000,-0.000000;;, + 49;4; -0.018250, 0.999602,-0.000000,-0.000000;;, + 50;4; -0.021810, 0.999524,-0.000000,-0.000000;;, + 51;4; -0.025369, 0.999446,-0.000000,-0.000000;;, + 52;4; -0.028821, 0.999371,-0.000000,-0.000000;;, + 53;4; -0.032064, 0.999300,-0.000000,-0.000000;;, + 54;4; -0.035010, 0.999236,-0.000000,-0.000000;;, + 55;4; -0.037588, 0.999180,-0.000000,-0.000000;;, + 56;4; -0.039742, 0.999133,-0.000000,-0.000000;;, + 57;4; -0.041437, 0.999096,-0.000000,-0.000000;;, + 58;4; -0.042652, 0.999069,-0.000000,-0.000000;;, + 59;4; -0.043379, 0.999053,-0.000000,-0.000000;;, + 60;4; -0.043619, 0.999048,-0.000000,-0.000000;;, + 61;4; -0.043616, 0.999053,-0.000000,-0.000000;;, + 62;4; -0.043594, 0.999067,-0.000000,-0.000000;;, + 63;4; -0.043536, 0.999089,-0.000000,-0.000000;;, + 64;4; -0.043427, 0.999117,-0.000000,-0.000000;;, + 65;4; -0.043250, 0.999151,-0.000000,-0.000000;;, + 66;4; -0.042989, 0.999191,-0.000000,-0.000000;;, + 67;4; -0.042627, 0.999235,-0.000000,-0.000000;;, + 68;4; -0.042144, 0.999283,-0.000000,-0.000000;;, + 69;4; -0.041519, 0.999336,-0.000000,-0.000000;;, + 70;4; -0.040726, 0.999391,-0.000000,-0.000000;;, + 71;4; -0.039733, 0.999450,-0.000000,-0.000000;;, + 72;4; -0.038501, 0.999511,-0.000000,-0.000000;;, + 73;4; -0.036980, 0.999575,-0.000000,-0.000000;;, + 74;4; -0.035101, 0.999640,-0.000000,-0.000000;;, + 75;4; -0.032770, 0.999707,-0.000000,-0.000000;;, + 76;4; -0.029842, 0.999774,-0.000000,-0.000000;;, + 77;4; -0.026086, 0.999841,-0.000000,-0.000000;;, + 78;4; -0.021070, 0.999906,-0.000000,-0.000000;;, + 79;4; -0.013794, 0.999964,-0.000000,-0.000000;;, + 80;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 81;4; 0.707107, 0.707107, 0.000000,-0.000000;;, + 82;4; 0.705874, 0.708245, 0.000000,-0.000000;;, + 83;4; 0.703907, 0.710101, 0.000000,-0.000000;;, + 84;4; 0.701752, 0.712152, 0.000000,-0.000000;;, + 85;4; 0.699533, 0.714271, 0.000000,-0.000000;;, + 86;4; 0.697308, 0.716402, 0.000000,-0.000000;;, + 87;4; 0.695107, 0.718513, 0.000000,-0.000000;;, + 88;4; 0.692951, 0.720584, 0.000000,-0.000000;;, + 89;4; 0.690857, 0.722597, 0.000000,-0.000000;;, + 90;4; 0.688837, 0.724539, 0.000000,-0.000000;;, + 91;4; 0.686904, 0.726399, 0.000000,-0.000000;;, + 92;4; 0.685070, 0.728163, 0.000000,-0.000000;;, + 93;4; 0.683348, 0.729820, 0.000000,-0.000000;;, + 94;4; 0.681750, 0.731358, 0.000000,-0.000000;;, + 95;4; 0.680291, 0.732761, 0.000000,-0.000000;;, + 96;4; 0.678987, 0.734015, 0.000000,-0.000000;;, + 97;4; 0.677857, 0.735101, 0.000000,-0.000000;;, + 98;4; 0.676923, 0.735999, 0.000000,-0.000000;;, + 99;4; 0.676211, 0.736682, 0.000000,-0.000000;;, + 100;4; 0.675753, 0.737121, 0.000000,-0.000000;;, + 101;4; 0.675590, 0.737277, 0.000000,-0.000000;;, + 102;4; 0.675764, 0.737111, 0.000000,-0.000000;;, + 103;4; 0.676289, 0.736609, 0.000000,-0.000000;;, + 104;4; 0.677167, 0.735768, 0.000000,-0.000000;;, + 105;4; 0.678392, 0.734596, 0.000000,-0.000000;;, + 106;4; 0.679948, 0.733105, 0.000000,-0.000000;;, + 107;4; 0.681811, 0.731323, 0.000000,-0.000000;;, + 108;4; 0.683939, 0.729285, 0.000000,-0.000000;;, + 109;4; 0.686283, 0.727042, 0.000000,-0.000000;;, + 110;4; 0.688777, 0.724654, 0.000000,-0.000000;;, + 111;4; 0.691348, 0.722192, 0.000000,-0.000000;;, + 112;4; 0.693920, 0.719730, 0.000000,-0.000000;;, + 113;4; 0.696414, 0.717343, 0.000000,-0.000000;;, + 114;4; 0.698758, 0.715099, 0.000000,-0.000000;;, + 115;4; 0.700886, 0.713062, 0.000000,-0.000000;;, + 116;4; 0.702748, 0.711279, 0.000000,-0.000000;;, + 117;4; 0.704305, 0.709789, 0.000000,-0.000000;;, + 118;4; 0.705530, 0.708616, 0.000000,-0.000000;;, + 119;4; 0.706408, 0.707776, 0.000000,-0.000000;;, + 120;4; 0.706933, 0.707273, 0.000000,-0.000000;;, + 121;4; 0.707107, 0.707107, 0.000000,-0.000000;;, + 122;4; 0.706933, 0.707273, 0.000000,-0.000000;;, + 123;4; 0.706408, 0.707776, 0.000000,-0.000000;;, + 124;4; 0.705530, 0.708616, 0.000000,-0.000000;;, + 125;4; 0.704305, 0.709789, 0.000000,-0.000000;;, + 126;4; 0.702749, 0.711279, 0.000000,-0.000000;;, + 127;4; 0.700886, 0.713062, 0.000000,-0.000000;;, + 128;4; 0.698758, 0.715099, 0.000000,-0.000000;;, + 129;4; 0.696414, 0.717343, 0.000000,-0.000000;;, + 130;4; 0.693920, 0.719730, 0.000000,-0.000000;;, + 131;4; 0.691348, 0.722192, 0.000000,-0.000000;;, + 132;4; 0.688777, 0.724654, 0.000000,-0.000000;;, + 133;4; 0.686283, 0.727042, 0.000000,-0.000000;;, + 134;4; 0.683939, 0.729285, 0.000000,-0.000000;;, + 135;4; 0.681811, 0.731323, 0.000000,-0.000000;;, + 136;4; 0.679949, 0.733105, 0.000000,-0.000000;;, + 137;4; 0.678392, 0.734596, 0.000000,-0.000000;;, + 138;4; 0.677167, 0.735768, 0.000000,-0.000000;;, + 139;4; 0.676289, 0.736609, 0.000000,-0.000000;;, + 140;4; 0.675764, 0.737111, 0.000000,-0.000000;;, + 141;4; 0.675590, 0.737277, 0.000000,-0.000000;;, + 142;4; 0.675753, 0.737121, 0.000000,-0.000000;;, + 143;4; 0.676211, 0.736682, 0.000000,-0.000000;;, + 144;4; 0.676923, 0.735999, 0.000000,-0.000000;;, + 145;4; 0.677857, 0.735101, 0.000000,-0.000000;;, + 146;4; 0.678987, 0.734015, 0.000000,-0.000000;;, + 147;4; 0.680291, 0.732761, 0.000000,-0.000000;;, + 148;4; 0.681750, 0.731358, 0.000000,-0.000000;;, + 149;4; 0.683348, 0.729820, 0.000000,-0.000000;;, + 150;4; 0.685070, 0.728163, 0.000000,-0.000000;;, + 151;4; 0.686904, 0.726398, 0.000000,-0.000000;;, + 152;4; 0.688837, 0.724539, 0.000000,-0.000000;;, + 153;4; 0.690857, 0.722596, 0.000000,-0.000000;;, + 154;4; 0.692951, 0.720583, 0.000000,-0.000000;;, + 155;4; 0.695107, 0.718512, 0.000000,-0.000000;;, + 156;4; 0.697308, 0.716401, 0.000000,-0.000000;;, + 157;4; 0.699533, 0.714270, 0.000000,-0.000000;;, + 158;4; 0.701752, 0.712151, 0.000000,-0.000000;;, + 159;4; 0.703907, 0.710100, 0.000000,-0.000000;;, + 160;4; 0.705874, 0.708244, 0.000000,-0.000000;;, + 161;4; 0.707107, 0.707107, 0.000000,-0.000000;;, + 162;4; -0.000000, 0.991445, 0.130526,-0.000000;;, + 163;4; -0.000000, 0.991445, 0.130526,-0.000000;;, + 164;4; -0.000000, 0.991445, 0.130526,-0.000000;;, + 165;4; -0.000000, 0.991445, 0.130526,-0.000000;;, + 166;4; -0.000000, 0.991445, 0.130526,-0.000000;;, + 167;4; -0.000000, 0.991445, 0.130526,-0.000000;;, + 168;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 169;4; 0.034052, 0.993234, 0.000000,-0.000000;;, + 170;4; 0.129903, 0.974175, 0.000000,-0.000000;;, + 171;4; 0.252901, 0.949704, 0.000000,-0.000000;;, + 172;4; 0.348675, 0.930646, 0.000000,-0.000000;;, + 173;4; 0.382683, 0.923880, 0.000000,-0.000000;;, + 174;4; 0.361005, 0.930646, 0.000000,-0.000000;;, + 175;4; 0.294618, 0.949704, 0.000000,-0.000000;;, + 176;4; 0.194899, 0.974175, 0.000000,-0.000000;;, + 177;4; 0.088939, 0.993234, 0.000000,-0.000000;;, + 178;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 179;4; -0.088939, 0.993234,-0.000000,-0.000000;;, + 180;4; -0.194899, 0.974175,-0.000000,-0.000000;;, + 181;4; -0.294618, 0.949704,-0.000000,-0.000000;;, + 182;4; -0.361005, 0.930646,-0.000000,-0.000000;;, + 183;4; -0.382683, 0.923880,-0.000000,-0.000000;;, + 184;4; -0.348675, 0.930646,-0.000000,-0.000000;;, + 185;4; -0.252901, 0.949704,-0.000000,-0.000000;;, + 186;4; -0.129904, 0.974175,-0.000000,-0.000000;;, + 187;4; -0.034052, 0.993234,-0.000000,-0.000000;;, + 188;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 189;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 190;4; 0.003877, 0.999915, 0.000000,-0.000000;;, + 191;4; 0.014798, 0.999677, 0.000000,-0.000000;;, + 192;4; 0.028821, 0.999371, 0.000000,-0.000000;;, + 193;4; 0.039742, 0.999133, 0.000000,-0.000000;;, + 194;4; 0.043619, 0.999048, 0.000000,-0.000000;;, + 195;4; 0.039742, 0.999133, 0.000000,-0.000000;;, + 196;4; 0.028821, 0.999371, 0.000000,-0.000000;;, + 197;4; 0.014798, 0.999677, 0.000000,-0.000000;;, + 198;4; 0.003877, 0.999915, 0.000000,-0.000000;;, + 199;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 200;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 201;4; 0.034052, 0.993233, 0.000000,-0.000000;;, + 202;4; 0.129903, 0.974175, 0.000000,-0.000000;;, + 203;4; 0.252901, 0.949704, 0.000000,-0.000000;;, + 204;4; 0.348675, 0.930646, 0.000000,-0.000000;;, + 205;4; 0.382683, 0.923880, 0.000000,-0.000000;;, + 206;4; 0.361005, 0.930646, 0.000000,-0.000000;;, + 207;4; 0.294618, 0.949704, 0.000000,-0.000000;;, + 208;4; 0.194899, 0.974175, 0.000000,-0.000000;;, + 209;4; 0.088939, 0.993234, 0.000000,-0.000000;;, + 210;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 211;4; -0.088939, 0.993234,-0.000000,-0.000000;;, + 212;4; -0.194899, 0.974175,-0.000000,-0.000000;;, + 213;4; -0.294618, 0.949704,-0.000000,-0.000000;;, + 214;4; -0.361005, 0.930646,-0.000000,-0.000000;;, + 215;4; -0.382683, 0.923880,-0.000000,-0.000000;;, + 216;4; -0.348699, 0.930646,-0.000000,-0.000000;;, + 217;4; -0.253041, 0.949703,-0.000000,-0.000000;;, + 218;4; -0.130122, 0.974173,-0.000000,-0.000000;;, + 219;4; -0.034158, 0.993233,-0.000000,-0.000000;;, + 220;4; -0.000000, 1.000000,-0.000000,-0.000000;;; + } + AnimationKey { //Scale + 1; + 221; + 0;3; 1.000000, 1.000000, 1.000000;;, + 1;3; 1.000000, 1.000000, 1.000000;;, + 2;3; 1.000000, 1.000000, 1.000000;;, + 3;3; 1.000000, 1.000000, 1.000000;;, + 4;3; 1.000000, 1.000000, 1.000000;;, + 5;3; 1.000000, 1.000000, 1.000000;;, + 6;3; 1.000000, 1.000000, 1.000000;;, + 7;3; 1.000000, 1.000000, 1.000000;;, + 8;3; 1.000000, 1.000000, 1.000000;;, + 9;3; 1.000000, 1.000000, 1.000000;;, + 10;3; 1.000000, 1.000000, 1.000000;;, + 11;3; 1.000000, 1.000000, 1.000000;;, + 12;3; 1.000000, 1.000000, 1.000000;;, + 13;3; 1.000000, 1.000000, 1.000000;;, + 14;3; 1.000000, 1.000000, 1.000000;;, + 15;3; 1.000000, 1.000000, 1.000000;;, + 16;3; 1.000000, 1.000000, 1.000000;;, + 17;3; 1.000000, 1.000000, 1.000000;;, + 18;3; 1.000000, 1.000000, 1.000000;;, + 19;3; 1.000000, 1.000000, 1.000000;;, + 20;3; 1.000000, 1.000000, 1.000000;;, + 21;3; 1.000000, 1.000000, 1.000000;;, + 22;3; 1.000000, 1.000000, 1.000000;;, + 23;3; 1.000000, 1.000000, 1.000000;;, + 24;3; 1.000000, 1.000000, 1.000000;;, + 25;3; 1.000000, 1.000000, 1.000000;;, + 26;3; 1.000000, 1.000000, 1.000000;;, + 27;3; 1.000000, 1.000000, 1.000000;;, + 28;3; 1.000000, 1.000000, 1.000000;;, + 29;3; 1.000000, 1.000000, 1.000000;;, + 30;3; 1.000000, 1.000000, 1.000000;;, + 31;3; 1.000000, 1.000000, 1.000000;;, + 32;3; 1.000000, 1.000000, 1.000000;;, + 33;3; 1.000000, 1.000000, 1.000000;;, + 34;3; 1.000000, 1.000000, 1.000000;;, + 35;3; 1.000000, 1.000000, 1.000000;;, + 36;3; 1.000000, 1.000000, 1.000000;;, + 37;3; 1.000000, 1.000000, 1.000000;;, + 38;3; 1.000000, 1.000000, 1.000000;;, + 39;3; 1.000000, 1.000000, 1.000000;;, + 40;3; 1.000000, 1.000000, 1.000000;;, + 41;3; 1.000000, 1.000000, 1.000000;;, + 42;3; 1.000000, 1.000000, 1.000000;;, + 43;3; 1.000000, 1.000000, 1.000000;;, + 44;3; 1.000000, 1.000000, 1.000000;;, + 45;3; 1.000000, 1.000000, 1.000000;;, + 46;3; 1.000000, 1.000000, 1.000000;;, + 47;3; 1.000000, 1.000000, 1.000000;;, + 48;3; 1.000000, 1.000000, 1.000000;;, + 49;3; 1.000000, 1.000000, 1.000000;;, + 50;3; 1.000000, 1.000000, 1.000000;;, + 51;3; 1.000000, 1.000000, 1.000000;;, + 52;3; 1.000000, 1.000000, 1.000000;;, + 53;3; 1.000000, 1.000000, 1.000000;;, + 54;3; 1.000000, 1.000000, 1.000000;;, + 55;3; 1.000000, 1.000000, 1.000000;;, + 56;3; 1.000000, 1.000000, 1.000000;;, + 57;3; 1.000000, 1.000000, 1.000000;;, + 58;3; 1.000000, 1.000000, 1.000000;;, + 59;3; 1.000000, 1.000000, 1.000000;;, + 60;3; 1.000000, 1.000000, 1.000000;;, + 61;3; 1.000000, 1.000000, 1.000000;;, + 62;3; 1.000000, 1.000000, 1.000000;;, + 63;3; 1.000000, 1.000000, 1.000000;;, + 64;3; 1.000000, 1.000000, 1.000000;;, + 65;3; 1.000000, 1.000000, 1.000000;;, + 66;3; 1.000000, 1.000000, 1.000000;;, + 67;3; 1.000000, 1.000000, 1.000000;;, + 68;3; 1.000000, 1.000000, 1.000000;;, + 69;3; 1.000000, 1.000000, 1.000000;;, + 70;3; 1.000000, 1.000000, 1.000000;;, + 71;3; 1.000000, 1.000000, 1.000000;;, + 72;3; 1.000000, 1.000000, 1.000000;;, + 73;3; 1.000000, 1.000000, 1.000000;;, + 74;3; 1.000000, 1.000000, 1.000000;;, + 75;3; 1.000000, 1.000000, 1.000000;;, + 76;3; 1.000000, 1.000000, 1.000000;;, + 77;3; 1.000000, 1.000000, 1.000000;;, + 78;3; 1.000000, 1.000000, 1.000000;;, + 79;3; 1.000000, 1.000000, 1.000000;;, + 80;3; 1.000000, 1.000000, 1.000000;;, + 81;3; 1.000000, 1.000000, 1.000000;;, + 82;3; 1.000000, 1.000000, 1.000000;;, + 83;3; 1.000000, 1.000000, 1.000000;;, + 84;3; 1.000000, 1.000000, 1.000000;;, + 85;3; 1.000000, 1.000000, 1.000000;;, + 86;3; 1.000000, 1.000000, 1.000000;;, + 87;3; 1.000000, 1.000000, 1.000000;;, + 88;3; 1.000000, 1.000000, 1.000000;;, + 89;3; 1.000000, 1.000000, 1.000000;;, + 90;3; 1.000000, 1.000000, 1.000000;;, + 91;3; 1.000000, 1.000000, 1.000000;;, + 92;3; 1.000000, 1.000000, 1.000000;;, + 93;3; 1.000000, 1.000000, 1.000000;;, + 94;3; 1.000000, 1.000000, 1.000000;;, + 95;3; 1.000000, 1.000000, 1.000000;;, + 96;3; 1.000000, 1.000000, 1.000000;;, + 97;3; 1.000000, 1.000000, 1.000000;;, + 98;3; 1.000000, 1.000000, 1.000000;;, + 99;3; 1.000000, 1.000000, 1.000000;;, + 100;3; 1.000000, 1.000000, 1.000000;;, + 101;3; 1.000000, 1.000000, 1.000000;;, + 102;3; 1.000000, 1.000000, 1.000000;;, + 103;3; 1.000000, 1.000000, 1.000000;;, + 104;3; 1.000000, 1.000000, 1.000000;;, + 105;3; 1.000000, 1.000000, 1.000000;;, + 106;3; 1.000000, 1.000000, 1.000000;;, + 107;3; 1.000000, 1.000000, 1.000000;;, + 108;3; 1.000000, 1.000000, 1.000000;;, + 109;3; 1.000000, 1.000000, 0.999999;;, + 110;3; 1.000000, 1.000000, 1.000000;;, + 111;3; 1.000000, 1.000000, 1.000000;;, + 112;3; 1.000000, 1.000000, 1.000000;;, + 113;3; 1.000000, 1.000000, 1.000000;;, + 114;3; 1.000000, 1.000000, 1.000000;;, + 115;3; 1.000000, 1.000000, 1.000000;;, + 116;3; 1.000000, 1.000000, 1.000000;;, + 117;3; 1.000000, 1.000000, 1.000000;;, + 118;3; 1.000000, 1.000000, 1.000000;;, + 119;3; 1.000000, 1.000000, 1.000000;;, + 120;3; 1.000000, 1.000000, 1.000000;;, + 121;3; 1.000000, 1.000000, 1.000000;;, + 122;3; 1.000000, 1.000000, 1.000000;;, + 123;3; 1.000000, 1.000000, 1.000000;;, + 124;3; 1.000000, 1.000000, 1.000000;;, + 125;3; 1.000000, 1.000000, 1.000000;;, + 126;3; 1.000000, 1.000000, 1.000000;;, + 127;3; 1.000000, 1.000000, 1.000000;;, + 128;3; 1.000000, 1.000000, 1.000000;;, + 129;3; 1.000000, 1.000000, 1.000000;;, + 130;3; 1.000000, 1.000000, 1.000000;;, + 131;3; 1.000000, 1.000000, 1.000000;;, + 132;3; 1.000000, 1.000000, 1.000000;;, + 133;3; 1.000000, 1.000000, 0.999999;;, + 134;3; 1.000000, 1.000000, 1.000000;;, + 135;3; 1.000000, 1.000000, 1.000000;;, + 136;3; 1.000000, 1.000000, 1.000000;;, + 137;3; 1.000000, 1.000000, 1.000000;;, + 138;3; 1.000000, 1.000000, 1.000000;;, + 139;3; 1.000000, 1.000000, 1.000000;;, + 140;3; 1.000000, 1.000000, 1.000000;;, + 141;3; 1.000000, 1.000000, 1.000000;;, + 142;3; 1.000000, 1.000000, 1.000000;;, + 143;3; 1.000000, 1.000000, 1.000000;;, + 144;3; 1.000000, 1.000000, 1.000000;;, + 145;3; 1.000000, 1.000000, 1.000000;;, + 146;3; 1.000000, 1.000000, 1.000000;;, + 147;3; 1.000000, 1.000000, 1.000000;;, + 148;3; 1.000000, 1.000000, 1.000000;;, + 149;3; 1.000000, 1.000000, 1.000000;;, + 150;3; 1.000000, 1.000000, 1.000000;;, + 151;3; 1.000000, 1.000000, 1.000000;;, + 152;3; 1.000000, 1.000000, 1.000000;;, + 153;3; 1.000000, 1.000000, 1.000000;;, + 154;3; 1.000000, 1.000000, 1.000000;;, + 155;3; 1.000000, 1.000000, 1.000000;;, + 156;3; 1.000000, 1.000000, 1.000000;;, + 157;3; 1.000000, 1.000000, 1.000000;;, + 158;3; 1.000000, 1.000000, 1.000000;;, + 159;3; 1.000000, 1.000000, 0.999999;;, + 160;3; 1.000000, 1.000000, 1.000000;;, + 161;3; 1.000000, 1.000000, 1.000000;;, + 162;3; 1.000000, 1.000000, 1.000000;;, + 163;3; 1.000000, 1.000000, 1.000000;;, + 164;3; 1.000000, 1.000000, 1.000000;;, + 165;3; 1.000000, 1.000000, 1.000000;;, + 166;3; 1.000000, 1.000000, 1.000000;;, + 167;3; 1.000000, 1.000000, 1.000000;;, + 168;3; 1.000000, 1.000000, 1.000000;;, + 169;3; 1.000000, 1.000000, 1.000000;;, + 170;3; 1.000000, 1.000000, 1.000000;;, + 171;3; 1.000000, 1.000000, 1.000000;;, + 172;3; 1.000000, 1.000000, 1.000000;;, + 173;3; 1.000000, 1.000000, 1.000000;;, + 174;3; 1.000000, 1.000000, 1.000000;;, + 175;3; 1.000000, 1.000000, 1.000000;;, + 176;3; 1.000000, 1.000000, 1.000000;;, + 177;3; 1.000000, 1.000000, 1.000000;;, + 178;3; 1.000000, 1.000000, 1.000000;;, + 179;3; 1.000000, 1.000000, 1.000000;;, + 180;3; 1.000000, 1.000000, 1.000000;;, + 181;3; 1.000000, 1.000000, 1.000000;;, + 182;3; 1.000000, 1.000000, 1.000000;;, + 183;3; 1.000000, 1.000000, 1.000000;;, + 184;3; 1.000000, 1.000000, 1.000000;;, + 185;3; 1.000000, 1.000000, 1.000000;;, + 186;3; 1.000000, 1.000000, 1.000000;;, + 187;3; 1.000000, 1.000000, 1.000000;;, + 188;3; 1.000000, 1.000000, 1.000000;;, + 189;3; 1.000000, 1.000000, 1.000000;;, + 190;3; 1.000000, 1.000000, 1.000000;;, + 191;3; 1.000000, 1.000000, 1.000000;;, + 192;3; 1.000000, 1.000000, 1.000000;;, + 193;3; 1.000000, 1.000000, 1.000000;;, + 194;3; 1.000000, 1.000000, 1.000000;;, + 195;3; 1.000000, 1.000000, 1.000000;;, + 196;3; 1.000000, 1.000000, 1.000000;;, + 197;3; 1.000000, 1.000000, 1.000000;;, + 198;3; 1.000000, 1.000000, 1.000000;;, + 199;3; 1.000000, 1.000000, 1.000000;;, + 200;3; 1.000000, 1.000000, 1.000000;;, + 201;3; 1.000000, 1.000000, 1.000000;;, + 202;3; 1.000000, 1.000000, 1.000000;;, + 203;3; 1.000000, 1.000000, 1.000000;;, + 204;3; 1.000000, 1.000000, 1.000000;;, + 205;3; 1.000000, 1.000000, 1.000000;;, + 206;3; 1.000000, 1.000000, 1.000000;;, + 207;3; 1.000000, 1.000000, 1.000000;;, + 208;3; 1.000000, 1.000000, 1.000000;;, + 209;3; 1.000000, 1.000000, 1.000000;;, + 210;3; 1.000000, 1.000000, 1.000000;;, + 211;3; 1.000000, 1.000000, 1.000000;;, + 212;3; 1.000000, 1.000000, 1.000000;;, + 213;3; 1.000000, 1.000000, 1.000000;;, + 214;3; 1.000000, 1.000000, 1.000000;;, + 215;3; 1.000000, 1.000000, 1.000000;;, + 216;3; 1.000000, 1.000000, 1.000000;;, + 217;3; 1.000000, 1.000000, 1.000000;;, + 218;3; 1.000000, 1.000000, 1.000000;;, + 219;3; 1.000000, 1.000000, 1.000000;;, + 220;3; 1.000000, 1.000000, 1.000000;;; + } + } + Animation { + {Armature_Leg_Left} + AnimationKey { //Position + 2; + 221; + 0;3; -1.000000, 0.000000,-0.000001;;, + 1;3; -1.000000,-0.000000,-0.000001;;, + 2;3; -1.000000,-0.000000,-0.000001;;, + 3;3; -1.000000,-0.000000,-0.000001;;, + 4;3; -1.000000,-0.000000,-0.000001;;, + 5;3; -1.000000,-0.000000,-0.000001;;, + 6;3; -1.000000,-0.000000,-0.000001;;, + 7;3; -1.000000,-0.000000,-0.000001;;, + 8;3; -1.000000,-0.000000,-0.000001;;, + 9;3; -1.000000,-0.000000,-0.000001;;, + 10;3; -1.000000,-0.000000,-0.000000;;, + 11;3; -1.000000,-0.000000,-0.000000;;, + 12;3; -1.000000,-0.000000,-0.000000;;, + 13;3; -1.000000,-0.000000,-0.000000;;, + 14;3; -1.000000,-0.000000,-0.000000;;, + 15;3; -1.000000,-0.000000,-0.000001;;, + 16;3; -1.000000,-0.000000,-0.000001;;, + 17;3; -1.000000,-0.000000,-0.000001;;, + 18;3; -1.000000,-0.000000,-0.000001;;, + 19;3; -1.000000,-0.000000,-0.000001;;, + 20;3; -1.000000,-0.000000,-0.000001;;, + 21;3; -1.000000,-0.000000,-0.000001;;, + 22;3; -1.000000,-0.000000,-0.000000;;, + 23;3; -1.000000,-0.000000,-0.000001;;, + 24;3; -1.000000,-0.000000,-0.000001;;, + 25;3; -1.000000,-0.000000,-0.000001;;, + 26;3; -1.000000,-0.000000,-0.000000;;, + 27;3; -1.000000,-0.000000,-0.000000;;, + 28;3; -1.000000,-0.000000,-0.000000;;, + 29;3; -1.000000,-0.000000,-0.000000;;, + 30;3; -1.000000,-0.000000,-0.000000;;, + 31;3; -1.000000,-0.000000,-0.000001;;, + 32;3; -1.000000,-0.000000,-0.000001;;, + 33;3; -1.000000,-0.000000,-0.000001;;, + 34;3; -1.000000,-0.000000,-0.000001;;, + 35;3; -1.000000,-0.000000,-0.000001;;, + 36;3; -1.000000,-0.000000,-0.000001;;, + 37;3; -1.000000,-0.000000,-0.000001;;, + 38;3; -1.000000,-0.000000,-0.000001;;, + 39;3; -1.000000,-0.000000,-0.000001;;, + 40;3; -1.000000, 0.000000,-0.000001;;, + 41;3; -1.000000,-0.000000,-0.000001;;, + 42;3; -1.000000,-0.000000,-0.000001;;, + 43;3; -1.000000,-0.000000,-0.000001;;, + 44;3; -1.000000,-0.000000,-0.000001;;, + 45;3; -1.000000,-0.000000,-0.000001;;, + 46;3; -1.000000,-0.000000,-0.000001;;, + 47;3; -1.000000,-0.000000,-0.000001;;, + 48;3; -1.000000,-0.000000,-0.000001;;, + 49;3; -1.000000,-0.000000,-0.000001;;, + 50;3; -1.000000,-0.000000,-0.000000;;, + 51;3; -1.000000,-0.000000,-0.000000;;, + 52;3; -1.000000,-0.000000,-0.000000;;, + 53;3; -1.000000,-0.000000,-0.000000;;, + 54;3; -1.000000,-0.000000,-0.000000;;, + 55;3; -1.000000,-0.000000,-0.000001;;, + 56;3; -1.000000,-0.000000,-0.000001;;, + 57;3; -1.000000,-0.000000,-0.000001;;, + 58;3; -1.000000,-0.000000,-0.000001;;, + 59;3; -1.000000,-0.000000,-0.000001;;, + 60;3; -1.000000,-0.000000,-0.000001;;, + 61;3; -1.000000,-0.000000,-0.000001;;, + 62;3; -1.000000,-0.000000,-0.000001;;, + 63;3; -1.000000,-0.000000,-0.000001;;, + 64;3; -1.000000,-0.000000,-0.000001;;, + 65;3; -1.000000,-0.000000,-0.000001;;, + 66;3; -1.000000,-0.000000,-0.000001;;, + 67;3; -1.000000,-0.000000,-0.000000;;, + 68;3; -1.000000,-0.000000,-0.000000;;, + 69;3; -1.000000,-0.000000,-0.000000;;, + 70;3; -1.000000,-0.000000,-0.000000;;, + 71;3; -1.000000,-0.000000,-0.000000;;, + 72;3; -1.000000,-0.000000,-0.000000;;, + 73;3; -1.000000,-0.000000,-0.000000;;, + 74;3; -1.000000,-0.000000,-0.000001;;, + 75;3; -1.000000,-0.000000,-0.000001;;, + 76;3; -1.000000,-0.000000,-0.000001;;, + 77;3; -1.000000,-0.000000,-0.000001;;, + 78;3; -1.000000,-0.000000,-0.000001;;, + 79;3; -1.000000,-0.000000,-0.000001;;, + 80;3; -1.000000, 0.000000,-0.000001;;, + 81;3; -1.000000, 0.000000,-0.000001;;, + 82;3; -1.000000,-0.000000,-0.000001;;, + 83;3; -1.000000,-0.000000,-0.000001;;, + 84;3; -1.000000,-0.000000,-0.000001;;, + 85;3; -1.000000,-0.000000,-0.000001;;, + 86;3; -1.000000,-0.000000,-0.000001;;, + 87;3; -1.000000,-0.000000,-0.000001;;, + 88;3; -1.000000,-0.000000,-0.000001;;, + 89;3; -1.000000,-0.000000,-0.000001;;, + 90;3; -1.000000,-0.000000,-0.000001;;, + 91;3; -1.000000,-0.000000,-0.000001;;, + 92;3; -1.000000,-0.000000,-0.000001;;, + 93;3; -1.000000,-0.000000,-0.000001;;, + 94;3; -1.000000,-0.000000,-0.000001;;, + 95;3; -1.000000,-0.000000,-0.000001;;, + 96;3; -1.000000,-0.000000,-0.000001;;, + 97;3; -1.000000,-0.000000,-0.000001;;, + 98;3; -1.000000,-0.000000,-0.000001;;, + 99;3; -1.000000,-0.000000,-0.000001;;, + 100;3; -1.000000,-0.000000,-0.000001;;, + 101;3; -1.000000,-0.000000,-0.000001;;, + 102;3; -1.000000,-0.000000,-0.000001;;, + 103;3; -1.000000,-0.000000,-0.000001;;, + 104;3; -1.000000,-0.000000,-0.000001;;, + 105;3; -1.000000,-0.000000,-0.000001;;, + 106;3; -1.000000,-0.000000,-0.000001;;, + 107;3; -1.000000,-0.000000,-0.000001;;, + 108;3; -1.000000,-0.000000,-0.000001;;, + 109;3; -1.000000,-0.000000,-0.000001;;, + 110;3; -1.000000,-0.000000,-0.000001;;, + 111;3; -1.000000,-0.000000,-0.000001;;, + 112;3; -1.000000,-0.000000,-0.000001;;, + 113;3; -1.000000,-0.000000,-0.000001;;, + 114;3; -1.000000,-0.000000,-0.000001;;, + 115;3; -1.000000,-0.000000,-0.000001;;, + 116;3; -1.000000,-0.000000,-0.000001;;, + 117;3; -1.000000,-0.000000,-0.000001;;, + 118;3; -1.000000,-0.000000,-0.000001;;, + 119;3; -1.000000,-0.000000,-0.000001;;, + 120;3; -1.000000,-0.000000,-0.000001;;, + 121;3; -1.000000, 0.000000,-0.000001;;, + 122;3; -1.000000,-0.000000,-0.000001;;, + 123;3; -1.000000,-0.000000,-0.000001;;, + 124;3; -1.000000,-0.000000,-0.000001;;, + 125;3; -1.000000,-0.000000,-0.000001;;, + 126;3; -1.000000,-0.000000,-0.000001;;, + 127;3; -1.000000,-0.000000,-0.000001;;, + 128;3; -1.000000,-0.000000,-0.000001;;, + 129;3; -1.000000,-0.000000,-0.000001;;, + 130;3; -1.000000,-0.000000,-0.000001;;, + 131;3; -1.000000,-0.000000,-0.000001;;, + 132;3; -1.000000,-0.000000,-0.000001;;, + 133;3; -1.000000,-0.000000,-0.000001;;, + 134;3; -1.000000,-0.000000,-0.000001;;, + 135;3; -1.000000,-0.000000,-0.000001;;, + 136;3; -1.000000,-0.000000,-0.000001;;, + 137;3; -1.000000,-0.000000,-0.000001;;, + 138;3; -1.000000,-0.000000,-0.000001;;, + 139;3; -1.000000,-0.000000,-0.000001;;, + 140;3; -1.000000,-0.000000,-0.000001;;, + 141;3; -1.000000,-0.000000,-0.000001;;, + 142;3; -1.000000,-0.000000,-0.000001;;, + 143;3; -1.000000,-0.000000,-0.000001;;, + 144;3; -1.000000,-0.000000,-0.000001;;, + 145;3; -1.000000,-0.000000,-0.000001;;, + 146;3; -1.000000,-0.000000,-0.000001;;, + 147;3; -1.000000,-0.000000,-0.000001;;, + 148;3; -1.000000,-0.000000,-0.000001;;, + 149;3; -1.000000,-0.000000,-0.000001;;, + 150;3; -1.000000,-0.000000,-0.000001;;, + 151;3; -1.000000,-0.000000,-0.000001;;, + 152;3; -1.000000,-0.000000,-0.000001;;, + 153;3; -1.000000,-0.000000,-0.000001;;, + 154;3; -1.000000,-0.000000,-0.000001;;, + 155;3; -1.000000,-0.000000,-0.000001;;, + 156;3; -1.000000,-0.000000,-0.000001;;, + 157;3; -1.000000,-0.000000,-0.000001;;, + 158;3; -1.000000,-0.000000,-0.000001;;, + 159;3; -1.000000,-0.000000,-0.000001;;, + 160;3; -1.000000,-0.000000,-0.000001;;, + 161;3; -1.000000, 0.000000,-0.000001;;, + 162;3; -1.000000,-0.000000,-0.000000;;, + 163;3; -1.000000,-0.000000,-0.000000;;, + 164;3; -1.000000,-0.000000,-0.000000;;, + 165;3; -1.000000,-0.000000,-0.000000;;, + 166;3; -1.000000,-0.000000,-0.000000;;, + 167;3; -1.000000,-0.000000,-0.000000;;, + 168;3; -1.000000, 0.000000,-0.000001;;, + 169;3; -1.000000, 0.000000,-0.000001;;, + 170;3; -1.000000, 0.000000,-0.000001;;, + 171;3; -1.000000, 0.000000,-0.000001;;, + 172;3; -1.000000, 0.000000,-0.000001;;, + 173;3; -1.000000, 0.000000,-0.000001;;, + 174;3; -1.000000, 0.000000,-0.000001;;, + 175;3; -1.000000, 0.000000,-0.000001;;, + 176;3; -1.000000, 0.000000,-0.000001;;, + 177;3; -1.000000, 0.000000,-0.000001;;, + 178;3; -1.000000, 0.000000,-0.000001;;, + 179;3; -1.000000, 0.000000,-0.000001;;, + 180;3; -1.000000, 0.000000,-0.000001;;, + 181;3; -1.000000, 0.000000,-0.000001;;, + 182;3; -1.000000, 0.000000,-0.000001;;, + 183;3; -1.000000, 0.000000,-0.000001;;, + 184;3; -1.000000, 0.000000,-0.000001;;, + 185;3; -1.000000, 0.000000,-0.000001;;, + 186;3; -1.000000, 0.000000,-0.000001;;, + 187;3; -1.000000, 0.000000,-0.000001;;, + 188;3; -1.000000, 0.000000,-0.000001;;, + 189;3; -1.000000, 0.000000,-0.000001;;, + 190;3; -1.000000, 0.000000,-0.000001;;, + 191;3; -1.000000, 0.000000,-0.000001;;, + 192;3; -1.000000, 0.000000,-0.000000;;, + 193;3; -1.000000, 0.000000,-0.000001;;, + 194;3; -1.000000, 0.000000,-0.000001;;, + 195;3; -1.000000, 0.000000,-0.000001;;, + 196;3; -1.000000, 0.000000,-0.000000;;, + 197;3; -1.000000, 0.000000,-0.000001;;, + 198;3; -1.000000, 0.000000,-0.000001;;, + 199;3; -1.000000, 0.000000,-0.000001;;, + 200;3; -1.000000, 0.000000,-0.000001;;, + 201;3; -1.000000,-0.000000,-0.000001;;, + 202;3; -1.000000,-0.000000,-0.000001;;, + 203;3; -1.000000,-0.000000,-0.000000;;, + 204;3; -1.000000,-0.000000,-0.000001;;, + 205;3; -1.000000,-0.000000,-0.000001;;, + 206;3; -1.000000,-0.000000,-0.000000;;, + 207;3; -1.000000,-0.000000,-0.000001;;, + 208;3; -1.000000, 0.000000,-0.000000;;, + 209;3; -1.000000, 0.000000,-0.000000;;, + 210;3; -1.000000, 0.000000,-0.000001;;, + 211;3; -1.000000, 0.000000,-0.000000;;, + 212;3; -1.000000, 0.000000,-0.000000;;, + 213;3; -1.000000,-0.000000,-0.000001;;, + 214;3; -1.000000,-0.000000,-0.000000;;, + 215;3; -1.000000,-0.000000,-0.000001;;, + 216;3; -1.000000,-0.000000,-0.000001;;, + 217;3; -1.000000,-0.000000,-0.000000;;, + 218;3; -1.000000,-0.000000,-0.000001;;, + 219;3; -1.000000,-0.000000,-0.000001;;, + 220;3; -1.000000, 0.000000,-0.000001;;; + } + AnimationKey { //Rotation + 0; + 221; + 0;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 1;4; -0.000240, 0.999995,-0.000000,-0.000000;;, + 2;4; -0.000967, 0.999979,-0.000000,-0.000000;;, + 3;4; -0.002182, 0.999952,-0.000000,-0.000000;;, + 4;4; -0.003877, 0.999915,-0.000000,-0.000000;;, + 5;4; -0.006032, 0.999868,-0.000000,-0.000000;;, + 6;4; -0.008609, 0.999812,-0.000000,-0.000000;;, + 7;4; -0.011555, 0.999748,-0.000000,-0.000000;;, + 8;4; -0.014798, 0.999677,-0.000000,-0.000000;;, + 9;4; -0.018250, 0.999602,-0.000000,-0.000000;;, + 10;4; -0.021810, 0.999524,-0.000000,-0.000000;;, + 11;4; -0.025369, 0.999446,-0.000000,-0.000000;;, + 12;4; -0.028821, 0.999371,-0.000000,-0.000000;;, + 13;4; -0.032064, 0.999300,-0.000000,-0.000000;;, + 14;4; -0.035010, 0.999236,-0.000000,-0.000000;;, + 15;4; -0.037588, 0.999180,-0.000000,-0.000000;;, + 16;4; -0.039742, 0.999133,-0.000000,-0.000000;;, + 17;4; -0.041437, 0.999096,-0.000000,-0.000000;;, + 18;4; -0.042652, 0.999069,-0.000000,-0.000000;;, + 19;4; -0.043379, 0.999053,-0.000000,-0.000000;;, + 20;4; -0.043619, 0.999048,-0.000000,-0.000000;;, + 21;4; -0.043379, 0.999053,-0.000000,-0.000000;;, + 22;4; -0.042652, 0.999069,-0.000000,-0.000000;;, + 23;4; -0.041437, 0.999096,-0.000000,-0.000000;;, + 24;4; -0.039742, 0.999133,-0.000000,-0.000000;;, + 25;4; -0.037588, 0.999180,-0.000000,-0.000000;;, + 26;4; -0.035010, 0.999236,-0.000000,-0.000000;;, + 27;4; -0.032064, 0.999300,-0.000000,-0.000000;;, + 28;4; -0.028821, 0.999371,-0.000000,-0.000000;;, + 29;4; -0.025369, 0.999446,-0.000000,-0.000000;;, + 30;4; -0.021810, 0.999524,-0.000000,-0.000000;;, + 31;4; -0.018250, 0.999602,-0.000000,-0.000000;;, + 32;4; -0.014798, 0.999677,-0.000000,-0.000000;;, + 33;4; -0.011555, 0.999748,-0.000000,-0.000000;;, + 34;4; -0.008609, 0.999812,-0.000000,-0.000000;;, + 35;4; -0.006032, 0.999868,-0.000000,-0.000000;;, + 36;4; -0.003877, 0.999915,-0.000000,-0.000000;;, + 37;4; -0.002182, 0.999952,-0.000000,-0.000000;;, + 38;4; -0.000967, 0.999979,-0.000000,-0.000000;;, + 39;4; -0.000240, 0.999995,-0.000000,-0.000000;;, + 40;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 41;4; -0.000240, 0.999995,-0.000000,-0.000000;;, + 42;4; -0.000967, 0.999979,-0.000000,-0.000000;;, + 43;4; -0.002182, 0.999952,-0.000000,-0.000000;;, + 44;4; -0.003877, 0.999915,-0.000000,-0.000000;;, + 45;4; -0.006032, 0.999868,-0.000000,-0.000000;;, + 46;4; -0.008609, 0.999812,-0.000000,-0.000000;;, + 47;4; -0.011555, 0.999748,-0.000000,-0.000000;;, + 48;4; -0.014798, 0.999677,-0.000000,-0.000000;;, + 49;4; -0.018250, 0.999602,-0.000000,-0.000000;;, + 50;4; -0.021810, 0.999524,-0.000000,-0.000000;;, + 51;4; -0.025369, 0.999446,-0.000000,-0.000000;;, + 52;4; -0.028821, 0.999371,-0.000000,-0.000000;;, + 53;4; -0.032064, 0.999300,-0.000000,-0.000000;;, + 54;4; -0.035010, 0.999236,-0.000000,-0.000000;;, + 55;4; -0.037588, 0.999180,-0.000000,-0.000000;;, + 56;4; -0.039742, 0.999133,-0.000000,-0.000000;;, + 57;4; -0.041437, 0.999096,-0.000000,-0.000000;;, + 58;4; -0.042652, 0.999069,-0.000000,-0.000000;;, + 59;4; -0.043379, 0.999053,-0.000000,-0.000000;;, + 60;4; -0.043619, 0.999048,-0.000000,-0.000000;;, + 61;4; -0.043616, 0.999053,-0.000000,-0.000000;;, + 62;4; -0.043594, 0.999067,-0.000000,-0.000000;;, + 63;4; -0.043536, 0.999089,-0.000000,-0.000000;;, + 64;4; -0.043427, 0.999117,-0.000000,-0.000000;;, + 65;4; -0.043250, 0.999151,-0.000000,-0.000000;;, + 66;4; -0.042989, 0.999191,-0.000000,-0.000000;;, + 67;4; -0.042627, 0.999235,-0.000000,-0.000000;;, + 68;4; -0.042144, 0.999283,-0.000000,-0.000000;;, + 69;4; -0.041519, 0.999336,-0.000000,-0.000000;;, + 70;4; -0.040726, 0.999391,-0.000000,-0.000000;;, + 71;4; -0.039733, 0.999450,-0.000000,-0.000000;;, + 72;4; -0.038501, 0.999511,-0.000000,-0.000000;;, + 73;4; -0.036980, 0.999575,-0.000000,-0.000000;;, + 74;4; -0.035101, 0.999640,-0.000000,-0.000000;;, + 75;4; -0.032770, 0.999707,-0.000000,-0.000000;;, + 76;4; -0.029842, 0.999774,-0.000000,-0.000000;;, + 77;4; -0.026086, 0.999841,-0.000000,-0.000000;;, + 78;4; -0.021070, 0.999906,-0.000000,-0.000000;;, + 79;4; -0.013794, 0.999964,-0.000000,-0.000000;;, + 80;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 81;4; 0.707107, 0.707107, 0.000000,-0.000000;;, + 82;4; 0.705874, 0.708245, 0.000000,-0.000000;;, + 83;4; 0.703907, 0.710101, 0.000000,-0.000000;;, + 84;4; 0.701752, 0.712152, 0.000000,-0.000000;;, + 85;4; 0.699533, 0.714271, 0.000000,-0.000000;;, + 86;4; 0.697308, 0.716402, 0.000000,-0.000000;;, + 87;4; 0.695107, 0.718513, 0.000000,-0.000000;;, + 88;4; 0.692951, 0.720584, 0.000000,-0.000000;;, + 89;4; 0.690857, 0.722597, 0.000000,-0.000000;;, + 90;4; 0.688837, 0.724539, 0.000000,-0.000000;;, + 91;4; 0.686904, 0.726399, 0.000000,-0.000000;;, + 92;4; 0.685070, 0.728163, 0.000000,-0.000000;;, + 93;4; 0.683348, 0.729820, 0.000000,-0.000000;;, + 94;4; 0.681750, 0.731358, 0.000000,-0.000000;;, + 95;4; 0.680291, 0.732761, 0.000000,-0.000000;;, + 96;4; 0.678987, 0.734015, 0.000000,-0.000000;;, + 97;4; 0.677857, 0.735101, 0.000000,-0.000000;;, + 98;4; 0.676923, 0.735999, 0.000000,-0.000000;;, + 99;4; 0.676211, 0.736682, 0.000000,-0.000000;;, + 100;4; 0.675753, 0.737121, 0.000000,-0.000000;;, + 101;4; 0.675590, 0.737277, 0.000000,-0.000000;;, + 102;4; 0.675764, 0.737111, 0.000000,-0.000000;;, + 103;4; 0.676289, 0.736609, 0.000000,-0.000000;;, + 104;4; 0.677167, 0.735768, 0.000000,-0.000000;;, + 105;4; 0.678392, 0.734596, 0.000000,-0.000000;;, + 106;4; 0.679948, 0.733105, 0.000000,-0.000000;;, + 107;4; 0.681811, 0.731323, 0.000000,-0.000000;;, + 108;4; 0.683939, 0.729285, 0.000000,-0.000000;;, + 109;4; 0.686283, 0.727042, 0.000000,-0.000000;;, + 110;4; 0.688777, 0.724654, 0.000000,-0.000000;;, + 111;4; 0.691348, 0.722192, 0.000000,-0.000000;;, + 112;4; 0.693920, 0.719730, 0.000000,-0.000000;;, + 113;4; 0.696414, 0.717343, 0.000000,-0.000000;;, + 114;4; 0.698758, 0.715099, 0.000000,-0.000000;;, + 115;4; 0.700886, 0.713062, 0.000000,-0.000000;;, + 116;4; 0.702748, 0.711279, 0.000000,-0.000000;;, + 117;4; 0.704305, 0.709789, 0.000000,-0.000000;;, + 118;4; 0.705530, 0.708616, 0.000000,-0.000000;;, + 119;4; 0.706408, 0.707776, 0.000000,-0.000000;;, + 120;4; 0.706933, 0.707273, 0.000000,-0.000000;;, + 121;4; 0.707107, 0.707107, 0.000000,-0.000000;;, + 122;4; 0.706933, 0.707273, 0.000000,-0.000000;;, + 123;4; 0.706408, 0.707776, 0.000000,-0.000000;;, + 124;4; 0.705530, 0.708616, 0.000000,-0.000000;;, + 125;4; 0.704305, 0.709789, 0.000000,-0.000000;;, + 126;4; 0.702749, 0.711279, 0.000000,-0.000000;;, + 127;4; 0.700886, 0.713062, 0.000000,-0.000000;;, + 128;4; 0.698758, 0.715099, 0.000000,-0.000000;;, + 129;4; 0.696414, 0.717343, 0.000000,-0.000000;;, + 130;4; 0.693920, 0.719730, 0.000000,-0.000000;;, + 131;4; 0.691348, 0.722192, 0.000000,-0.000000;;, + 132;4; 0.688777, 0.724654, 0.000000,-0.000000;;, + 133;4; 0.686283, 0.727042, 0.000000,-0.000000;;, + 134;4; 0.683939, 0.729285, 0.000000,-0.000000;;, + 135;4; 0.681811, 0.731323, 0.000000,-0.000000;;, + 136;4; 0.679949, 0.733105, 0.000000,-0.000000;;, + 137;4; 0.678392, 0.734596, 0.000000,-0.000000;;, + 138;4; 0.677167, 0.735768, 0.000000,-0.000000;;, + 139;4; 0.676289, 0.736609, 0.000000,-0.000000;;, + 140;4; 0.675764, 0.737111, 0.000000,-0.000000;;, + 141;4; 0.675590, 0.737277, 0.000000,-0.000000;;, + 142;4; 0.675753, 0.737121, 0.000000,-0.000000;;, + 143;4; 0.676211, 0.736682, 0.000000,-0.000000;;, + 144;4; 0.676923, 0.735999, 0.000000,-0.000000;;, + 145;4; 0.677857, 0.735101, 0.000000,-0.000000;;, + 146;4; 0.678987, 0.734015, 0.000000,-0.000000;;, + 147;4; 0.680291, 0.732761, 0.000000,-0.000000;;, + 148;4; 0.681750, 0.731358, 0.000000,-0.000000;;, + 149;4; 0.683348, 0.729820, 0.000000,-0.000000;;, + 150;4; 0.685070, 0.728163, 0.000000,-0.000000;;, + 151;4; 0.686904, 0.726398, 0.000000,-0.000000;;, + 152;4; 0.688837, 0.724539, 0.000000,-0.000000;;, + 153;4; 0.690857, 0.722596, 0.000000,-0.000000;;, + 154;4; 0.692951, 0.720583, 0.000000,-0.000000;;, + 155;4; 0.695107, 0.718512, 0.000000,-0.000000;;, + 156;4; 0.697308, 0.716401, 0.000000,-0.000000;;, + 157;4; 0.699533, 0.714270, 0.000000,-0.000000;;, + 158;4; 0.701752, 0.712151, 0.000000,-0.000000;;, + 159;4; 0.703907, 0.710100, 0.000000,-0.000000;;, + 160;4; 0.705874, 0.708244, 0.000000,-0.000000;;, + 161;4; 0.707107, 0.707107, 0.000000,-0.000000;;, + 162;4; -0.000000, 0.991445,-0.130526,-0.000000;;, + 163;4; -0.000000, 0.991445,-0.130526,-0.000000;;, + 164;4; -0.000000, 0.991445,-0.130526,-0.000000;;, + 165;4; -0.000000, 0.991445,-0.130526,-0.000000;;, + 166;4; -0.000000, 0.991445,-0.130526,-0.000000;;, + 167;4; -0.000000, 0.991445,-0.130526,-0.000000;;, + 168;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 169;4; -0.034052, 0.993234,-0.000000,-0.000000;;, + 170;4; -0.129903, 0.974175,-0.000000,-0.000000;;, + 171;4; -0.252901, 0.949704,-0.000000,-0.000000;;, + 172;4; -0.348675, 0.930646,-0.000000,-0.000000;;, + 173;4; -0.382683, 0.923880,-0.000000,-0.000000;;, + 174;4; -0.361005, 0.930646,-0.000000,-0.000000;;, + 175;4; -0.294618, 0.949704,-0.000000,-0.000000;;, + 176;4; -0.194899, 0.974175,-0.000000,-0.000000;;, + 177;4; -0.088939, 0.993234,-0.000000,-0.000000;;, + 178;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 179;4; 0.088939, 0.993234, 0.000000,-0.000000;;, + 180;4; 0.194899, 0.974175, 0.000000,-0.000000;;, + 181;4; 0.294618, 0.949704, 0.000000,-0.000000;;, + 182;4; 0.361005, 0.930646, 0.000000,-0.000000;;, + 183;4; 0.382683, 0.923880, 0.000000,-0.000000;;, + 184;4; 0.348675, 0.930646, 0.000000,-0.000000;;, + 185;4; 0.252901, 0.949704, 0.000000,-0.000000;;, + 186;4; 0.129903, 0.974175, 0.000000,-0.000000;;, + 187;4; 0.034052, 0.993234, 0.000000,-0.000000;;, + 188;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 189;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 190;4; 0.003877, 0.999915, 0.000000,-0.000000;;, + 191;4; 0.014798, 0.999677, 0.000000,-0.000000;;, + 192;4; 0.028821, 0.999371, 0.000000,-0.000000;;, + 193;4; 0.039742, 0.999133, 0.000000,-0.000000;;, + 194;4; 0.043619, 0.999048, 0.000000,-0.000000;;, + 195;4; 0.039742, 0.999133, 0.000000,-0.000000;;, + 196;4; 0.028821, 0.999371, 0.000000,-0.000000;;, + 197;4; 0.014798, 0.999677, 0.000000,-0.000000;;, + 198;4; 0.003877, 0.999915, 0.000000,-0.000000;;, + 199;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 200;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 201;4; -0.034052, 0.993233,-0.000000,-0.000000;;, + 202;4; -0.129903, 0.974175,-0.000000,-0.000000;;, + 203;4; -0.252901, 0.949704,-0.000000,-0.000000;;, + 204;4; -0.348675, 0.930646,-0.000000,-0.000000;;, + 205;4; -0.382683, 0.923880,-0.000000,-0.000000;;, + 206;4; -0.361005, 0.930646,-0.000000,-0.000000;;, + 207;4; -0.294618, 0.949704,-0.000000,-0.000000;;, + 208;4; -0.194899, 0.974175,-0.000000,-0.000000;;, + 209;4; -0.088939, 0.993234,-0.000000,-0.000000;;, + 210;4; -0.000000, 1.000000,-0.000000,-0.000000;;, + 211;4; 0.088939, 0.993234, 0.000000,-0.000000;;, + 212;4; 0.194899, 0.974175, 0.000000,-0.000000;;, + 213;4; 0.294618, 0.949704, 0.000000,-0.000000;;, + 214;4; 0.361005, 0.930646, 0.000000,-0.000000;;, + 215;4; 0.382683, 0.923880, 0.000000,-0.000000;;, + 216;4; 0.348699, 0.930646, 0.000000,-0.000000;;, + 217;4; 0.253041, 0.949703, 0.000000,-0.000000;;, + 218;4; 0.130122, 0.974173, 0.000000,-0.000000;;, + 219;4; 0.034158, 0.993233, 0.000000,-0.000000;;, + 220;4; -0.000000, 1.000000,-0.000000,-0.000000;;; + } + AnimationKey { //Scale + 1; + 221; + 0;3; 1.000000, 1.000000, 1.000000;;, + 1;3; 1.000000, 1.000000, 1.000000;;, + 2;3; 1.000000, 1.000000, 1.000000;;, + 3;3; 1.000000, 1.000000, 1.000000;;, + 4;3; 1.000000, 1.000000, 1.000000;;, + 5;3; 1.000000, 1.000000, 1.000000;;, + 6;3; 1.000000, 1.000000, 1.000000;;, + 7;3; 1.000000, 1.000000, 1.000000;;, + 8;3; 1.000000, 1.000000, 1.000000;;, + 9;3; 1.000000, 1.000000, 1.000000;;, + 10;3; 1.000000, 1.000000, 1.000000;;, + 11;3; 1.000000, 1.000000, 1.000000;;, + 12;3; 1.000000, 1.000000, 1.000000;;, + 13;3; 1.000000, 1.000000, 1.000000;;, + 14;3; 1.000000, 1.000000, 1.000000;;, + 15;3; 1.000000, 1.000000, 1.000000;;, + 16;3; 1.000000, 1.000000, 1.000000;;, + 17;3; 1.000000, 1.000000, 1.000000;;, + 18;3; 1.000000, 1.000000, 1.000000;;, + 19;3; 1.000000, 1.000000, 1.000000;;, + 20;3; 1.000000, 1.000000, 1.000000;;, + 21;3; 1.000000, 1.000000, 1.000000;;, + 22;3; 1.000000, 1.000000, 1.000000;;, + 23;3; 1.000000, 1.000000, 1.000000;;, + 24;3; 1.000000, 1.000000, 1.000000;;, + 25;3; 1.000000, 1.000000, 1.000000;;, + 26;3; 1.000000, 1.000000, 1.000000;;, + 27;3; 1.000000, 1.000000, 1.000000;;, + 28;3; 1.000000, 1.000000, 1.000000;;, + 29;3; 1.000000, 1.000000, 1.000000;;, + 30;3; 1.000000, 1.000000, 1.000000;;, + 31;3; 1.000000, 1.000000, 1.000000;;, + 32;3; 1.000000, 1.000000, 1.000000;;, + 33;3; 1.000000, 1.000000, 1.000000;;, + 34;3; 1.000000, 1.000000, 1.000000;;, + 35;3; 1.000000, 1.000000, 1.000000;;, + 36;3; 1.000000, 1.000000, 1.000000;;, + 37;3; 1.000000, 1.000000, 1.000000;;, + 38;3; 1.000000, 1.000000, 1.000000;;, + 39;3; 1.000000, 1.000000, 1.000000;;, + 40;3; 1.000000, 1.000000, 1.000000;;, + 41;3; 1.000000, 1.000000, 1.000000;;, + 42;3; 1.000000, 1.000000, 1.000000;;, + 43;3; 1.000000, 1.000000, 1.000000;;, + 44;3; 1.000000, 1.000000, 1.000000;;, + 45;3; 1.000000, 1.000000, 1.000000;;, + 46;3; 1.000000, 1.000000, 1.000000;;, + 47;3; 1.000000, 1.000000, 1.000000;;, + 48;3; 1.000000, 1.000000, 1.000000;;, + 49;3; 1.000000, 1.000000, 1.000000;;, + 50;3; 1.000000, 1.000000, 1.000000;;, + 51;3; 1.000000, 1.000000, 1.000000;;, + 52;3; 1.000000, 1.000000, 1.000000;;, + 53;3; 1.000000, 1.000000, 1.000000;;, + 54;3; 1.000000, 1.000000, 1.000000;;, + 55;3; 1.000000, 1.000000, 1.000000;;, + 56;3; 1.000000, 1.000000, 1.000000;;, + 57;3; 1.000000, 1.000000, 1.000000;;, + 58;3; 1.000000, 1.000000, 1.000000;;, + 59;3; 1.000000, 1.000000, 1.000000;;, + 60;3; 1.000000, 1.000000, 1.000000;;, + 61;3; 1.000000, 1.000000, 1.000000;;, + 62;3; 1.000000, 1.000000, 1.000000;;, + 63;3; 1.000000, 1.000000, 1.000000;;, + 64;3; 1.000000, 1.000000, 1.000000;;, + 65;3; 1.000000, 1.000000, 1.000000;;, + 66;3; 1.000000, 1.000000, 1.000000;;, + 67;3; 1.000000, 1.000000, 1.000000;;, + 68;3; 1.000000, 1.000000, 1.000000;;, + 69;3; 1.000000, 1.000000, 1.000000;;, + 70;3; 1.000000, 1.000000, 1.000000;;, + 71;3; 1.000000, 1.000000, 1.000000;;, + 72;3; 1.000000, 1.000000, 1.000000;;, + 73;3; 1.000000, 1.000000, 1.000000;;, + 74;3; 1.000000, 1.000000, 1.000000;;, + 75;3; 1.000000, 1.000000, 1.000000;;, + 76;3; 1.000000, 1.000000, 1.000000;;, + 77;3; 1.000000, 1.000000, 1.000000;;, + 78;3; 1.000000, 1.000000, 1.000000;;, + 79;3; 1.000000, 1.000000, 1.000000;;, + 80;3; 1.000000, 1.000000, 1.000000;;, + 81;3; 1.000000, 1.000000, 1.000000;;, + 82;3; 1.000000, 1.000000, 1.000000;;, + 83;3; 1.000000, 1.000000, 1.000000;;, + 84;3; 1.000000, 1.000000, 1.000000;;, + 85;3; 1.000000, 1.000000, 1.000000;;, + 86;3; 1.000000, 1.000000, 1.000000;;, + 87;3; 1.000000, 1.000000, 1.000000;;, + 88;3; 1.000000, 1.000000, 1.000000;;, + 89;3; 1.000000, 1.000000, 1.000000;;, + 90;3; 1.000000, 1.000000, 1.000000;;, + 91;3; 1.000000, 1.000000, 1.000000;;, + 92;3; 1.000000, 1.000000, 1.000000;;, + 93;3; 1.000000, 1.000000, 1.000000;;, + 94;3; 1.000000, 1.000000, 1.000000;;, + 95;3; 1.000000, 1.000000, 1.000000;;, + 96;3; 1.000000, 1.000000, 1.000000;;, + 97;3; 1.000000, 1.000000, 1.000000;;, + 98;3; 1.000000, 1.000000, 1.000000;;, + 99;3; 1.000000, 1.000000, 1.000000;;, + 100;3; 1.000000, 1.000000, 1.000000;;, + 101;3; 1.000000, 1.000000, 1.000000;;, + 102;3; 1.000000, 1.000000, 1.000000;;, + 103;3; 1.000000, 1.000000, 1.000000;;, + 104;3; 1.000000, 1.000000, 1.000000;;, + 105;3; 1.000000, 1.000000, 1.000000;;, + 106;3; 1.000000, 1.000000, 1.000000;;, + 107;3; 1.000000, 1.000000, 1.000000;;, + 108;3; 1.000000, 1.000000, 1.000000;;, + 109;3; 1.000000, 1.000000, 0.999999;;, + 110;3; 1.000000, 1.000000, 1.000000;;, + 111;3; 1.000000, 1.000000, 1.000000;;, + 112;3; 1.000000, 1.000000, 1.000000;;, + 113;3; 1.000000, 1.000000, 1.000000;;, + 114;3; 1.000000, 1.000000, 1.000000;;, + 115;3; 1.000000, 1.000000, 1.000000;;, + 116;3; 1.000000, 1.000000, 1.000000;;, + 117;3; 1.000000, 1.000000, 1.000000;;, + 118;3; 1.000000, 1.000000, 1.000000;;, + 119;3; 1.000000, 1.000000, 1.000000;;, + 120;3; 1.000000, 1.000000, 1.000000;;, + 121;3; 1.000000, 1.000000, 1.000000;;, + 122;3; 1.000000, 1.000000, 1.000000;;, + 123;3; 1.000000, 1.000000, 1.000000;;, + 124;3; 1.000000, 1.000000, 1.000000;;, + 125;3; 1.000000, 1.000000, 1.000000;;, + 126;3; 1.000000, 1.000000, 1.000000;;, + 127;3; 1.000000, 1.000000, 1.000000;;, + 128;3; 1.000000, 1.000000, 1.000000;;, + 129;3; 1.000000, 1.000000, 1.000000;;, + 130;3; 1.000000, 1.000000, 1.000000;;, + 131;3; 1.000000, 1.000000, 1.000000;;, + 132;3; 1.000000, 1.000000, 1.000000;;, + 133;3; 1.000000, 1.000000, 0.999999;;, + 134;3; 1.000000, 1.000000, 1.000000;;, + 135;3; 1.000000, 1.000000, 1.000000;;, + 136;3; 1.000000, 1.000000, 1.000000;;, + 137;3; 1.000000, 1.000000, 1.000000;;, + 138;3; 1.000000, 1.000000, 1.000000;;, + 139;3; 1.000000, 1.000000, 1.000000;;, + 140;3; 1.000000, 1.000000, 1.000000;;, + 141;3; 1.000000, 1.000000, 1.000000;;, + 142;3; 1.000000, 1.000000, 1.000000;;, + 143;3; 1.000000, 1.000000, 1.000000;;, + 144;3; 1.000000, 1.000000, 1.000000;;, + 145;3; 1.000000, 1.000000, 1.000000;;, + 146;3; 1.000000, 1.000000, 1.000000;;, + 147;3; 1.000000, 1.000000, 1.000000;;, + 148;3; 1.000000, 1.000000, 1.000000;;, + 149;3; 1.000000, 1.000000, 1.000000;;, + 150;3; 1.000000, 1.000000, 1.000000;;, + 151;3; 1.000000, 1.000000, 1.000000;;, + 152;3; 1.000000, 1.000000, 1.000000;;, + 153;3; 1.000000, 1.000000, 1.000000;;, + 154;3; 1.000000, 1.000000, 1.000000;;, + 155;3; 1.000000, 1.000000, 1.000000;;, + 156;3; 1.000000, 1.000000, 1.000000;;, + 157;3; 1.000000, 1.000000, 1.000000;;, + 158;3; 1.000000, 1.000000, 1.000000;;, + 159;3; 1.000000, 1.000000, 0.999999;;, + 160;3; 1.000000, 1.000000, 1.000000;;, + 161;3; 1.000000, 1.000000, 1.000000;;, + 162;3; 1.000000, 1.000000, 1.000000;;, + 163;3; 1.000000, 1.000000, 1.000000;;, + 164;3; 1.000000, 1.000000, 1.000000;;, + 165;3; 1.000000, 1.000000, 1.000000;;, + 166;3; 1.000000, 1.000000, 1.000000;;, + 167;3; 1.000000, 1.000000, 1.000000;;, + 168;3; 1.000000, 1.000000, 1.000000;;, + 169;3; 1.000000, 1.000000, 1.000000;;, + 170;3; 1.000000, 1.000000, 1.000000;;, + 171;3; 1.000000, 1.000000, 1.000000;;, + 172;3; 1.000000, 1.000000, 1.000000;;, + 173;3; 1.000000, 1.000000, 1.000000;;, + 174;3; 1.000000, 1.000000, 1.000000;;, + 175;3; 1.000000, 1.000000, 1.000000;;, + 176;3; 1.000000, 1.000000, 1.000000;;, + 177;3; 1.000000, 1.000000, 1.000000;;, + 178;3; 1.000000, 1.000000, 1.000000;;, + 179;3; 1.000000, 1.000000, 1.000000;;, + 180;3; 1.000000, 1.000000, 1.000000;;, + 181;3; 1.000000, 1.000000, 1.000000;;, + 182;3; 1.000000, 1.000000, 1.000000;;, + 183;3; 1.000000, 1.000000, 1.000000;;, + 184;3; 1.000000, 1.000000, 1.000000;;, + 185;3; 1.000000, 1.000000, 1.000000;;, + 186;3; 1.000000, 1.000000, 1.000000;;, + 187;3; 1.000000, 1.000000, 1.000000;;, + 188;3; 1.000000, 1.000000, 1.000000;;, + 189;3; 1.000000, 1.000000, 1.000000;;, + 190;3; 1.000000, 1.000000, 1.000000;;, + 191;3; 1.000000, 1.000000, 1.000000;;, + 192;3; 1.000000, 1.000000, 1.000000;;, + 193;3; 1.000000, 1.000000, 1.000000;;, + 194;3; 1.000000, 1.000000, 1.000000;;, + 195;3; 1.000000, 1.000000, 1.000000;;, + 196;3; 1.000000, 1.000000, 1.000000;;, + 197;3; 1.000000, 1.000000, 1.000000;;, + 198;3; 1.000000, 1.000000, 1.000000;;, + 199;3; 1.000000, 1.000000, 1.000000;;, + 200;3; 1.000000, 1.000000, 1.000000;;, + 201;3; 1.000000, 1.000000, 1.000000;;, + 202;3; 1.000000, 1.000000, 1.000000;;, + 203;3; 1.000000, 1.000000, 1.000000;;, + 204;3; 1.000000, 1.000000, 1.000000;;, + 205;3; 1.000000, 1.000000, 1.000000;;, + 206;3; 1.000000, 1.000000, 1.000000;;, + 207;3; 1.000000, 1.000000, 1.000000;;, + 208;3; 1.000000, 1.000000, 1.000000;;, + 209;3; 1.000000, 1.000000, 1.000000;;, + 210;3; 1.000000, 1.000000, 1.000000;;, + 211;3; 1.000000, 1.000000, 1.000000;;, + 212;3; 1.000000, 1.000000, 1.000000;;, + 213;3; 1.000000, 1.000000, 1.000000;;, + 214;3; 1.000000, 1.000000, 1.000000;;, + 215;3; 1.000000, 1.000000, 1.000000;;, + 216;3; 1.000000, 1.000000, 1.000000;;, + 217;3; 1.000000, 1.000000, 1.000000;;, + 218;3; 1.000000, 1.000000, 1.000000;;, + 219;3; 1.000000, 1.000000, 1.000000;;, + 220;3; 1.000000, 1.000000, 1.000000;;; + } + } + Animation { + {Player} + AnimationKey { //Position + 2; + 221; + 0;3; 0.000000, 0.000000, 0.000000;;, + 1;3; 0.000000, 0.000000, 0.000000;;, + 2;3; 0.000000, 0.000000, 0.000000;;, + 3;3; 0.000000, 0.000000, 0.000000;;, + 4;3; 0.000000, 0.000000, 0.000000;;, + 5;3; 0.000000, 0.000000, 0.000000;;, + 6;3; 0.000000, 0.000000, 0.000000;;, + 7;3; 0.000000, 0.000000, 0.000000;;, + 8;3; 0.000000, 0.000000, 0.000000;;, + 9;3; 0.000000, 0.000000, 0.000000;;, + 10;3; 0.000000, 0.000000, 0.000000;;, + 11;3; 0.000000, 0.000000, 0.000000;;, + 12;3; 0.000000, 0.000000, 0.000000;;, + 13;3; 0.000000, 0.000000, 0.000000;;, + 14;3; 0.000000, 0.000000, 0.000000;;, + 15;3; 0.000000, 0.000000, 0.000000;;, + 16;3; 0.000000, 0.000000, 0.000000;;, + 17;3; 0.000000, 0.000000, 0.000000;;, + 18;3; 0.000000, 0.000000, 0.000000;;, + 19;3; 0.000000, 0.000000, 0.000000;;, + 20;3; 0.000000, 0.000000, 0.000000;;, + 21;3; 0.000000, 0.000000, 0.000000;;, + 22;3; 0.000000, 0.000000, 0.000000;;, + 23;3; 0.000000, 0.000000, 0.000000;;, + 24;3; 0.000000, 0.000000, 0.000000;;, + 25;3; 0.000000, 0.000000, 0.000000;;, + 26;3; 0.000000, 0.000000, 0.000000;;, + 27;3; 0.000000, 0.000000, 0.000000;;, + 28;3; 0.000000, 0.000000, 0.000000;;, + 29;3; 0.000000, 0.000000, 0.000000;;, + 30;3; 0.000000, 0.000000, 0.000000;;, + 31;3; 0.000000, 0.000000, 0.000000;;, + 32;3; 0.000000, 0.000000, 0.000000;;, + 33;3; 0.000000, 0.000000, 0.000000;;, + 34;3; 0.000000, 0.000000, 0.000000;;, + 35;3; 0.000000, 0.000000, 0.000000;;, + 36;3; 0.000000, 0.000000, 0.000000;;, + 37;3; 0.000000, 0.000000, 0.000000;;, + 38;3; 0.000000, 0.000000, 0.000000;;, + 39;3; 0.000000, 0.000000, 0.000000;;, + 40;3; 0.000000, 0.000000, 0.000000;;, + 41;3; 0.000000, 0.000000, 0.000000;;, + 42;3; 0.000000, 0.000000, 0.000000;;, + 43;3; 0.000000, 0.000000, 0.000000;;, + 44;3; 0.000000, 0.000000, 0.000000;;, + 45;3; 0.000000, 0.000000, 0.000000;;, + 46;3; 0.000000, 0.000000, 0.000000;;, + 47;3; 0.000000, 0.000000, 0.000000;;, + 48;3; 0.000000, 0.000000, 0.000000;;, + 49;3; 0.000000, 0.000000, 0.000000;;, + 50;3; 0.000000, 0.000000, 0.000000;;, + 51;3; 0.000000, 0.000000, 0.000000;;, + 52;3; 0.000000, 0.000000, 0.000000;;, + 53;3; 0.000000, 0.000000, 0.000000;;, + 54;3; 0.000000, 0.000000, 0.000000;;, + 55;3; 0.000000, 0.000000, 0.000000;;, + 56;3; 0.000000, 0.000000, 0.000000;;, + 57;3; 0.000000, 0.000000, 0.000000;;, + 58;3; 0.000000, 0.000000, 0.000000;;, + 59;3; 0.000000, 0.000000, 0.000000;;, + 60;3; 0.000000, 0.000000, 0.000000;;, + 61;3; 0.000000, 0.000000, 0.000000;;, + 62;3; 0.000000, 0.000000, 0.000000;;, + 63;3; 0.000000, 0.000000, 0.000000;;, + 64;3; 0.000000, 0.000000, 0.000000;;, + 65;3; 0.000000, 0.000000, 0.000000;;, + 66;3; 0.000000, 0.000000, 0.000000;;, + 67;3; 0.000000, 0.000000, 0.000000;;, + 68;3; 0.000000, 0.000000, 0.000000;;, + 69;3; 0.000000, 0.000000, 0.000000;;, + 70;3; 0.000000, 0.000000, 0.000000;;, + 71;3; 0.000000, 0.000000, 0.000000;;, + 72;3; 0.000000, 0.000000, 0.000000;;, + 73;3; 0.000000, 0.000000, 0.000000;;, + 74;3; 0.000000, 0.000000, 0.000000;;, + 75;3; 0.000000, 0.000000, 0.000000;;, + 76;3; 0.000000, 0.000000, 0.000000;;, + 77;3; 0.000000, 0.000000, 0.000000;;, + 78;3; 0.000000, 0.000000, 0.000000;;, + 79;3; 0.000000, 0.000000, 0.000000;;, + 80;3; 0.000000, 0.000000, 0.000000;;, + 81;3; 0.000000, 0.000000, 0.000000;;, + 82;3; 0.000000, 0.000000, 0.000000;;, + 83;3; 0.000000, 0.000000, 0.000000;;, + 84;3; 0.000000, 0.000000, 0.000000;;, + 85;3; 0.000000, 0.000000, 0.000000;;, + 86;3; 0.000000, 0.000000, 0.000000;;, + 87;3; 0.000000, 0.000000, 0.000000;;, + 88;3; 0.000000, 0.000000, 0.000000;;, + 89;3; 0.000000, 0.000000, 0.000000;;, + 90;3; 0.000000, 0.000000, 0.000000;;, + 91;3; 0.000000, 0.000000, 0.000000;;, + 92;3; 0.000000, 0.000000, 0.000000;;, + 93;3; 0.000000, 0.000000, 0.000000;;, + 94;3; 0.000000, 0.000000, 0.000000;;, + 95;3; 0.000000, 0.000000, 0.000000;;, + 96;3; 0.000000, 0.000000, 0.000000;;, + 97;3; 0.000000, 0.000000, 0.000000;;, + 98;3; 0.000000, 0.000000, 0.000000;;, + 99;3; 0.000000, 0.000000, 0.000000;;, + 100;3; 0.000000, 0.000000, 0.000000;;, + 101;3; 0.000000, 0.000000, 0.000000;;, + 102;3; 0.000000, 0.000000, 0.000000;;, + 103;3; 0.000000, 0.000000, 0.000000;;, + 104;3; 0.000000, 0.000000, 0.000000;;, + 105;3; 0.000000, 0.000000, 0.000000;;, + 106;3; 0.000000, 0.000000, 0.000000;;, + 107;3; 0.000000, 0.000000, 0.000000;;, + 108;3; 0.000000, 0.000000, 0.000000;;, + 109;3; 0.000000, 0.000000, 0.000000;;, + 110;3; 0.000000, 0.000000, 0.000000;;, + 111;3; 0.000000, 0.000000, 0.000000;;, + 112;3; 0.000000, 0.000000, 0.000000;;, + 113;3; 0.000000, 0.000000, 0.000000;;, + 114;3; 0.000000, 0.000000, 0.000000;;, + 115;3; 0.000000, 0.000000, 0.000000;;, + 116;3; 0.000000, 0.000000, 0.000000;;, + 117;3; 0.000000, 0.000000, 0.000000;;, + 118;3; 0.000000, 0.000000, 0.000000;;, + 119;3; 0.000000, 0.000000, 0.000000;;, + 120;3; 0.000000, 0.000000, 0.000000;;, + 121;3; 0.000000, 0.000000, 0.000000;;, + 122;3; 0.000000, 0.000000, 0.000000;;, + 123;3; 0.000000, 0.000000, 0.000000;;, + 124;3; 0.000000, 0.000000, 0.000000;;, + 125;3; 0.000000, 0.000000, 0.000000;;, + 126;3; 0.000000, 0.000000, 0.000000;;, + 127;3; 0.000000, 0.000000, 0.000000;;, + 128;3; 0.000000, 0.000000, 0.000000;;, + 129;3; 0.000000, 0.000000, 0.000000;;, + 130;3; 0.000000, 0.000000, 0.000000;;, + 131;3; 0.000000, 0.000000, 0.000000;;, + 132;3; 0.000000, 0.000000, 0.000000;;, + 133;3; 0.000000, 0.000000, 0.000000;;, + 134;3; 0.000000, 0.000000, 0.000000;;, + 135;3; 0.000000, 0.000000, 0.000000;;, + 136;3; 0.000000, 0.000000, 0.000000;;, + 137;3; 0.000000, 0.000000, 0.000000;;, + 138;3; 0.000000, 0.000000, 0.000000;;, + 139;3; 0.000000, 0.000000, 0.000000;;, + 140;3; 0.000000, 0.000000, 0.000000;;, + 141;3; 0.000000, 0.000000, 0.000000;;, + 142;3; 0.000000, 0.000000, 0.000000;;, + 143;3; 0.000000, 0.000000, 0.000000;;, + 144;3; 0.000000, 0.000000, 0.000000;;, + 145;3; 0.000000, 0.000000, 0.000000;;, + 146;3; 0.000000, 0.000000, 0.000000;;, + 147;3; 0.000000, 0.000000, 0.000000;;, + 148;3; 0.000000, 0.000000, 0.000000;;, + 149;3; 0.000000, 0.000000, 0.000000;;, + 150;3; 0.000000, 0.000000, 0.000000;;, + 151;3; 0.000000, 0.000000, 0.000000;;, + 152;3; 0.000000, 0.000000, 0.000000;;, + 153;3; 0.000000, 0.000000, 0.000000;;, + 154;3; 0.000000, 0.000000, 0.000000;;, + 155;3; 0.000000, 0.000000, 0.000000;;, + 156;3; 0.000000, 0.000000, 0.000000;;, + 157;3; 0.000000, 0.000000, 0.000000;;, + 158;3; 0.000000, 0.000000, 0.000000;;, + 159;3; 0.000000, 0.000000, 0.000000;;, + 160;3; 0.000000, 0.000000, 0.000000;;, + 161;3; 0.000000, 0.000000, 0.000000;;, + 162;3; 0.000000, 0.000000, 0.000000;;, + 163;3; 0.000000, 0.000000, 0.000000;;, + 164;3; 0.000000, 0.000000, 0.000000;;, + 165;3; 0.000000, 0.000000, 0.000000;;, + 166;3; 0.000000, 0.000000, 0.000000;;, + 167;3; 0.000000, 0.000000, 0.000000;;, + 168;3; 0.000000, 0.000000, 0.000000;;, + 169;3; 0.000000, 0.000000, 0.000000;;, + 170;3; 0.000000, 0.000000, 0.000000;;, + 171;3; 0.000000, 0.000000, 0.000000;;, + 172;3; 0.000000, 0.000000, 0.000000;;, + 173;3; 0.000000, 0.000000, 0.000000;;, + 174;3; 0.000000, 0.000000, 0.000000;;, + 175;3; 0.000000, 0.000000, 0.000000;;, + 176;3; 0.000000, 0.000000, 0.000000;;, + 177;3; 0.000000, 0.000000, 0.000000;;, + 178;3; 0.000000, 0.000000, 0.000000;;, + 179;3; 0.000000, 0.000000, 0.000000;;, + 180;3; 0.000000, 0.000000, 0.000000;;, + 181;3; 0.000000, 0.000000, 0.000000;;, + 182;3; 0.000000, 0.000000, 0.000000;;, + 183;3; 0.000000, 0.000000, 0.000000;;, + 184;3; 0.000000, 0.000000, 0.000000;;, + 185;3; 0.000000, 0.000000, 0.000000;;, + 186;3; 0.000000, 0.000000, 0.000000;;, + 187;3; 0.000000, 0.000000, 0.000000;;, + 188;3; 0.000000, 0.000000, 0.000000;;, + 189;3; 0.000000, 0.000000, 0.000000;;, + 190;3; 0.000000, 0.000000, 0.000000;;, + 191;3; 0.000000, 0.000000, 0.000000;;, + 192;3; 0.000000, 0.000000, 0.000000;;, + 193;3; 0.000000, 0.000000, 0.000000;;, + 194;3; 0.000000, 0.000000, 0.000000;;, + 195;3; 0.000000, 0.000000, 0.000000;;, + 196;3; 0.000000, 0.000000, 0.000000;;, + 197;3; 0.000000, 0.000000, 0.000000;;, + 198;3; 0.000000, 0.000000, 0.000000;;, + 199;3; 0.000000, 0.000000, 0.000000;;, + 200;3; 0.000000, 0.000000, 0.000000;;, + 201;3; 0.000000, 0.000000, 0.000000;;, + 202;3; 0.000000, 0.000000, 0.000000;;, + 203;3; 0.000000, 0.000000, 0.000000;;, + 204;3; 0.000000, 0.000000, 0.000000;;, + 205;3; 0.000000, 0.000000, 0.000000;;, + 206;3; 0.000000, 0.000000, 0.000000;;, + 207;3; 0.000000, 0.000000, 0.000000;;, + 208;3; 0.000000, 0.000000, 0.000000;;, + 209;3; 0.000000, 0.000000, 0.000000;;, + 210;3; 0.000000, 0.000000, 0.000000;;, + 211;3; 0.000000, 0.000000, 0.000000;;, + 212;3; 0.000000, 0.000000, 0.000000;;, + 213;3; 0.000000, 0.000000, 0.000000;;, + 214;3; 0.000000, 0.000000, 0.000000;;, + 215;3; 0.000000, 0.000000, 0.000000;;, + 216;3; 0.000000, 0.000000, 0.000000;;, + 217;3; 0.000000, 0.000000, 0.000000;;, + 218;3; 0.000000, 0.000000, 0.000000;;, + 219;3; 0.000000, 0.000000, 0.000000;;, + 220;3; 0.000000, 0.000000, 0.000000;;; + } + AnimationKey { //Rotation + 0; + 221; + 0;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 1;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 2;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 3;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 4;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 5;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 6;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 7;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 8;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 9;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 10;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 11;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 12;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 13;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 14;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 15;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 16;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 17;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 18;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 19;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 20;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 21;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 22;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 23;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 24;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 25;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 26;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 27;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 28;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 29;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 30;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 31;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 32;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 33;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 34;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 35;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 36;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 37;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 38;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 39;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 40;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 41;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 42;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 43;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 44;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 45;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 46;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 47;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 48;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 49;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 50;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 51;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 52;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 53;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 54;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 55;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 56;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 57;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 58;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 59;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 60;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 61;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 62;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 63;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 64;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 65;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 66;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 67;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 68;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 69;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 70;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 71;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 72;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 73;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 74;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 75;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 76;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 77;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 78;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 79;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 80;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 81;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 82;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 83;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 84;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 85;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 86;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 87;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 88;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 89;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 90;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 91;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 92;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 93;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 94;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 95;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 96;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 97;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 98;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 99;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 100;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 101;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 102;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 103;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 104;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 105;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 106;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 107;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 108;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 109;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 110;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 111;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 112;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 113;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 114;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 115;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 116;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 117;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 118;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 119;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 120;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 121;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 122;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 123;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 124;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 125;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 126;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 127;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 128;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 129;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 130;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 131;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 132;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 133;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 134;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 135;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 136;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 137;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 138;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 139;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 140;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 141;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 142;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 143;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 144;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 145;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 146;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 147;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 148;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 149;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 150;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 151;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 152;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 153;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 154;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 155;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 156;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 157;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 158;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 159;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 160;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 161;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 162;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 163;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 164;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 165;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 166;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 167;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 168;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 169;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 170;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 171;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 172;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 173;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 174;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 175;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 176;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 177;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 178;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 179;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 180;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 181;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 182;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 183;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 184;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 185;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 186;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 187;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 188;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 189;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 190;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 191;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 192;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 193;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 194;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 195;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 196;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 197;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 198;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 199;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 200;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 201;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 202;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 203;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 204;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 205;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 206;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 207;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 208;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 209;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 210;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 211;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 212;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 213;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 214;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 215;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 216;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 217;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 218;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 219;4; -1.000000, 0.000000, 0.000000, 0.000000;;, + 220;4; -1.000000, 0.000000, 0.000000, 0.000000;;; + } + AnimationKey { //Scale + 1; + 221; + 0;3; 1.000000, 1.000000, 1.000000;;, + 1;3; 1.000000, 1.000000, 1.000000;;, + 2;3; 1.000000, 1.000000, 1.000000;;, + 3;3; 1.000000, 1.000000, 1.000000;;, + 4;3; 1.000000, 1.000000, 1.000000;;, + 5;3; 1.000000, 1.000000, 1.000000;;, + 6;3; 1.000000, 1.000000, 1.000000;;, + 7;3; 1.000000, 1.000000, 1.000000;;, + 8;3; 1.000000, 1.000000, 1.000000;;, + 9;3; 1.000000, 1.000000, 1.000000;;, + 10;3; 1.000000, 1.000000, 1.000000;;, + 11;3; 1.000000, 1.000000, 1.000000;;, + 12;3; 1.000000, 1.000000, 1.000000;;, + 13;3; 1.000000, 1.000000, 1.000000;;, + 14;3; 1.000000, 1.000000, 1.000000;;, + 15;3; 1.000000, 1.000000, 1.000000;;, + 16;3; 1.000000, 1.000000, 1.000000;;, + 17;3; 1.000000, 1.000000, 1.000000;;, + 18;3; 1.000000, 1.000000, 1.000000;;, + 19;3; 1.000000, 1.000000, 1.000000;;, + 20;3; 1.000000, 1.000000, 1.000000;;, + 21;3; 1.000000, 1.000000, 1.000000;;, + 22;3; 1.000000, 1.000000, 1.000000;;, + 23;3; 1.000000, 1.000000, 1.000000;;, + 24;3; 1.000000, 1.000000, 1.000000;;, + 25;3; 1.000000, 1.000000, 1.000000;;, + 26;3; 1.000000, 1.000000, 1.000000;;, + 27;3; 1.000000, 1.000000, 1.000000;;, + 28;3; 1.000000, 1.000000, 1.000000;;, + 29;3; 1.000000, 1.000000, 1.000000;;, + 30;3; 1.000000, 1.000000, 1.000000;;, + 31;3; 1.000000, 1.000000, 1.000000;;, + 32;3; 1.000000, 1.000000, 1.000000;;, + 33;3; 1.000000, 1.000000, 1.000000;;, + 34;3; 1.000000, 1.000000, 1.000000;;, + 35;3; 1.000000, 1.000000, 1.000000;;, + 36;3; 1.000000, 1.000000, 1.000000;;, + 37;3; 1.000000, 1.000000, 1.000000;;, + 38;3; 1.000000, 1.000000, 1.000000;;, + 39;3; 1.000000, 1.000000, 1.000000;;, + 40;3; 1.000000, 1.000000, 1.000000;;, + 41;3; 1.000000, 1.000000, 1.000000;;, + 42;3; 1.000000, 1.000000, 1.000000;;, + 43;3; 1.000000, 1.000000, 1.000000;;, + 44;3; 1.000000, 1.000000, 1.000000;;, + 45;3; 1.000000, 1.000000, 1.000000;;, + 46;3; 1.000000, 1.000000, 1.000000;;, + 47;3; 1.000000, 1.000000, 1.000000;;, + 48;3; 1.000000, 1.000000, 1.000000;;, + 49;3; 1.000000, 1.000000, 1.000000;;, + 50;3; 1.000000, 1.000000, 1.000000;;, + 51;3; 1.000000, 1.000000, 1.000000;;, + 52;3; 1.000000, 1.000000, 1.000000;;, + 53;3; 1.000000, 1.000000, 1.000000;;, + 54;3; 1.000000, 1.000000, 1.000000;;, + 55;3; 1.000000, 1.000000, 1.000000;;, + 56;3; 1.000000, 1.000000, 1.000000;;, + 57;3; 1.000000, 1.000000, 1.000000;;, + 58;3; 1.000000, 1.000000, 1.000000;;, + 59;3; 1.000000, 1.000000, 1.000000;;, + 60;3; 1.000000, 1.000000, 1.000000;;, + 61;3; 1.000000, 1.000000, 1.000000;;, + 62;3; 1.000000, 1.000000, 1.000000;;, + 63;3; 1.000000, 1.000000, 1.000000;;, + 64;3; 1.000000, 1.000000, 1.000000;;, + 65;3; 1.000000, 1.000000, 1.000000;;, + 66;3; 1.000000, 1.000000, 1.000000;;, + 67;3; 1.000000, 1.000000, 1.000000;;, + 68;3; 1.000000, 1.000000, 1.000000;;, + 69;3; 1.000000, 1.000000, 1.000000;;, + 70;3; 1.000000, 1.000000, 1.000000;;, + 71;3; 1.000000, 1.000000, 1.000000;;, + 72;3; 1.000000, 1.000000, 1.000000;;, + 73;3; 1.000000, 1.000000, 1.000000;;, + 74;3; 1.000000, 1.000000, 1.000000;;, + 75;3; 1.000000, 1.000000, 1.000000;;, + 76;3; 1.000000, 1.000000, 1.000000;;, + 77;3; 1.000000, 1.000000, 1.000000;;, + 78;3; 1.000000, 1.000000, 1.000000;;, + 79;3; 1.000000, 1.000000, 1.000000;;, + 80;3; 1.000000, 1.000000, 1.000000;;, + 81;3; 1.000000, 1.000000, 1.000000;;, + 82;3; 1.000000, 1.000000, 1.000000;;, + 83;3; 1.000000, 1.000000, 1.000000;;, + 84;3; 1.000000, 1.000000, 1.000000;;, + 85;3; 1.000000, 1.000000, 1.000000;;, + 86;3; 1.000000, 1.000000, 1.000000;;, + 87;3; 1.000000, 1.000000, 1.000000;;, + 88;3; 1.000000, 1.000000, 1.000000;;, + 89;3; 1.000000, 1.000000, 1.000000;;, + 90;3; 1.000000, 1.000000, 1.000000;;, + 91;3; 1.000000, 1.000000, 1.000000;;, + 92;3; 1.000000, 1.000000, 1.000000;;, + 93;3; 1.000000, 1.000000, 1.000000;;, + 94;3; 1.000000, 1.000000, 1.000000;;, + 95;3; 1.000000, 1.000000, 1.000000;;, + 96;3; 1.000000, 1.000000, 1.000000;;, + 97;3; 1.000000, 1.000000, 1.000000;;, + 98;3; 1.000000, 1.000000, 1.000000;;, + 99;3; 1.000000, 1.000000, 1.000000;;, + 100;3; 1.000000, 1.000000, 1.000000;;, + 101;3; 1.000000, 1.000000, 1.000000;;, + 102;3; 1.000000, 1.000000, 1.000000;;, + 103;3; 1.000000, 1.000000, 1.000000;;, + 104;3; 1.000000, 1.000000, 1.000000;;, + 105;3; 1.000000, 1.000000, 1.000000;;, + 106;3; 1.000000, 1.000000, 1.000000;;, + 107;3; 1.000000, 1.000000, 1.000000;;, + 108;3; 1.000000, 1.000000, 1.000000;;, + 109;3; 1.000000, 1.000000, 1.000000;;, + 110;3; 1.000000, 1.000000, 1.000000;;, + 111;3; 1.000000, 1.000000, 1.000000;;, + 112;3; 1.000000, 1.000000, 1.000000;;, + 113;3; 1.000000, 1.000000, 1.000000;;, + 114;3; 1.000000, 1.000000, 1.000000;;, + 115;3; 1.000000, 1.000000, 1.000000;;, + 116;3; 1.000000, 1.000000, 1.000000;;, + 117;3; 1.000000, 1.000000, 1.000000;;, + 118;3; 1.000000, 1.000000, 1.000000;;, + 119;3; 1.000000, 1.000000, 1.000000;;, + 120;3; 1.000000, 1.000000, 1.000000;;, + 121;3; 1.000000, 1.000000, 1.000000;;, + 122;3; 1.000000, 1.000000, 1.000000;;, + 123;3; 1.000000, 1.000000, 1.000000;;, + 124;3; 1.000000, 1.000000, 1.000000;;, + 125;3; 1.000000, 1.000000, 1.000000;;, + 126;3; 1.000000, 1.000000, 1.000000;;, + 127;3; 1.000000, 1.000000, 1.000000;;, + 128;3; 1.000000, 1.000000, 1.000000;;, + 129;3; 1.000000, 1.000000, 1.000000;;, + 130;3; 1.000000, 1.000000, 1.000000;;, + 131;3; 1.000000, 1.000000, 1.000000;;, + 132;3; 1.000000, 1.000000, 1.000000;;, + 133;3; 1.000000, 1.000000, 1.000000;;, + 134;3; 1.000000, 1.000000, 1.000000;;, + 135;3; 1.000000, 1.000000, 1.000000;;, + 136;3; 1.000000, 1.000000, 1.000000;;, + 137;3; 1.000000, 1.000000, 1.000000;;, + 138;3; 1.000000, 1.000000, 1.000000;;, + 139;3; 1.000000, 1.000000, 1.000000;;, + 140;3; 1.000000, 1.000000, 1.000000;;, + 141;3; 1.000000, 1.000000, 1.000000;;, + 142;3; 1.000000, 1.000000, 1.000000;;, + 143;3; 1.000000, 1.000000, 1.000000;;, + 144;3; 1.000000, 1.000000, 1.000000;;, + 145;3; 1.000000, 1.000000, 1.000000;;, + 146;3; 1.000000, 1.000000, 1.000000;;, + 147;3; 1.000000, 1.000000, 1.000000;;, + 148;3; 1.000000, 1.000000, 1.000000;;, + 149;3; 1.000000, 1.000000, 1.000000;;, + 150;3; 1.000000, 1.000000, 1.000000;;, + 151;3; 1.000000, 1.000000, 1.000000;;, + 152;3; 1.000000, 1.000000, 1.000000;;, + 153;3; 1.000000, 1.000000, 1.000000;;, + 154;3; 1.000000, 1.000000, 1.000000;;, + 155;3; 1.000000, 1.000000, 1.000000;;, + 156;3; 1.000000, 1.000000, 1.000000;;, + 157;3; 1.000000, 1.000000, 1.000000;;, + 158;3; 1.000000, 1.000000, 1.000000;;, + 159;3; 1.000000, 1.000000, 1.000000;;, + 160;3; 1.000000, 1.000000, 1.000000;;, + 161;3; 1.000000, 1.000000, 1.000000;;, + 162;3; 1.000000, 1.000000, 1.000000;;, + 163;3; 1.000000, 1.000000, 1.000000;;, + 164;3; 1.000000, 1.000000, 1.000000;;, + 165;3; 1.000000, 1.000000, 1.000000;;, + 166;3; 1.000000, 1.000000, 1.000000;;, + 167;3; 1.000000, 1.000000, 1.000000;;, + 168;3; 1.000000, 1.000000, 1.000000;;, + 169;3; 1.000000, 1.000000, 1.000000;;, + 170;3; 1.000000, 1.000000, 1.000000;;, + 171;3; 1.000000, 1.000000, 1.000000;;, + 172;3; 1.000000, 1.000000, 1.000000;;, + 173;3; 1.000000, 1.000000, 1.000000;;, + 174;3; 1.000000, 1.000000, 1.000000;;, + 175;3; 1.000000, 1.000000, 1.000000;;, + 176;3; 1.000000, 1.000000, 1.000000;;, + 177;3; 1.000000, 1.000000, 1.000000;;, + 178;3; 1.000000, 1.000000, 1.000000;;, + 179;3; 1.000000, 1.000000, 1.000000;;, + 180;3; 1.000000, 1.000000, 1.000000;;, + 181;3; 1.000000, 1.000000, 1.000000;;, + 182;3; 1.000000, 1.000000, 1.000000;;, + 183;3; 1.000000, 1.000000, 1.000000;;, + 184;3; 1.000000, 1.000000, 1.000000;;, + 185;3; 1.000000, 1.000000, 1.000000;;, + 186;3; 1.000000, 1.000000, 1.000000;;, + 187;3; 1.000000, 1.000000, 1.000000;;, + 188;3; 1.000000, 1.000000, 1.000000;;, + 189;3; 1.000000, 1.000000, 1.000000;;, + 190;3; 1.000000, 1.000000, 1.000000;;, + 191;3; 1.000000, 1.000000, 1.000000;;, + 192;3; 1.000000, 1.000000, 1.000000;;, + 193;3; 1.000000, 1.000000, 1.000000;;, + 194;3; 1.000000, 1.000000, 1.000000;;, + 195;3; 1.000000, 1.000000, 1.000000;;, + 196;3; 1.000000, 1.000000, 1.000000;;, + 197;3; 1.000000, 1.000000, 1.000000;;, + 198;3; 1.000000, 1.000000, 1.000000;;, + 199;3; 1.000000, 1.000000, 1.000000;;, + 200;3; 1.000000, 1.000000, 1.000000;;, + 201;3; 1.000000, 1.000000, 1.000000;;, + 202;3; 1.000000, 1.000000, 1.000000;;, + 203;3; 1.000000, 1.000000, 1.000000;;, + 204;3; 1.000000, 1.000000, 1.000000;;, + 205;3; 1.000000, 1.000000, 1.000000;;, + 206;3; 1.000000, 1.000000, 1.000000;;, + 207;3; 1.000000, 1.000000, 1.000000;;, + 208;3; 1.000000, 1.000000, 1.000000;;, + 209;3; 1.000000, 1.000000, 1.000000;;, + 210;3; 1.000000, 1.000000, 1.000000;;, + 211;3; 1.000000, 1.000000, 1.000000;;, + 212;3; 1.000000, 1.000000, 1.000000;;, + 213;3; 1.000000, 1.000000, 1.000000;;, + 214;3; 1.000000, 1.000000, 1.000000;;, + 215;3; 1.000000, 1.000000, 1.000000;;, + 216;3; 1.000000, 1.000000, 1.000000;;, + 217;3; 1.000000, 1.000000, 1.000000;;, + 218;3; 1.000000, 1.000000, 1.000000;;, + 219;3; 1.000000, 1.000000, 1.000000;;, + 220;3; 1.000000, 1.000000, 1.000000;;; + } + } +} //End of AnimationSet diff --git a/mods/default/player.lua b/mods/default/player.lua new file mode 100644 index 0000000..bf08149 --- /dev/null +++ b/mods/default/player.lua @@ -0,0 +1,132 @@ +-- Minetest 0.4 mod: player +-- See README.txt for licensing and other information. + +-- +-- Start of configuration area: +-- + +-- Player animation speed +animation_speed = 30 + +-- Player animation blending +-- Note: This is currently broken due to a bug in Irrlicht, leave at 0 +animation_blend = 0 + +-- Default player appearance +default_model = "character.x" +default_textures = {"character.png", } + +-- Frame ranges for each player model +function player_get_animations(model) + if model == "character.x" then + return { + stand_START = 0, + stand_END = 79, + sit_START = 81, + sit_END = 160, + lay_START = 162, + lay_END = 166, + walk_START = 168, + walk_END = 187, + mine_START = 189, + mine_END = 198, + walk_mine_START = 200, + walk_mine_END = 219 + } + end +end + +-- +-- End of configuration area. +-- + +-- Player stats and animations +local player_model = {} +local player_anim = {} +local player_sneak = {} +local ANIM_STAND = 1 +local ANIM_SIT = 2 +local ANIM_LAY = 3 +local ANIM_WALK = 4 +local ANIM_WALK_MINE = 5 +local ANIM_MINE = 6 + +-- Called when a player's appearance needs to be updated +function player_update_visuals(pl) + local name = pl:get_player_name() + + player_model[name] = default_model + player_anim[name] = 0 -- Animation will be set further below immediately + player_sneak[name] = false + prop = { + mesh = default_model, + textures = default_textures, + visual = "mesh", + visual_size = {x=1, y=1}, + } + pl:set_properties(prop) +end + +-- Update appearance when the player joins +minetest.register_on_joinplayer(player_update_visuals) + +-- Check each player and apply animations +function player_step(dtime) + for _, pl in pairs(minetest.get_connected_players()) do + local name = pl:get_player_name() + local anim = player_get_animations(player_model[name]) + local controls = pl:get_player_control() + local walking = false + local animation_speed_mod = animation_speed + + -- Determine if the player is walking + if controls.up or controls.down or controls.left or controls.right then + walking = true + end + + -- Determine if the player is sneaking, and reduce animation speed if so + if controls.sneak and pl:get_hp() ~= 0 and (walking or controls.LMB) then + animation_speed_mod = animation_speed_mod / 2 + -- Refresh player animation below if sneak state changed + if not player_sneak[name] then + player_anim[name] = 0 + player_sneak[name] = true + end + else + -- Refresh player animation below if sneak state changed + if player_sneak[name] then + player_anim[name] = 0 + player_sneak[name] = false + end + end + + -- Apply animations based on what the player is doing + if pl:get_hp() == 0 then + if player_anim[name] ~= ANIM_LAY then + pl:set_animation({x=anim.lay_START, y=anim.lay_END}, animation_speed_mod, animation_blend) + player_anim[name] = ANIM_LAY + end + elseif walking and controls.LMB then + if player_anim[name] ~= ANIM_WALK_MINE then + pl:set_animation({x=anim.walk_mine_START, y=anim.walk_mine_END}, animation_speed_mod, animation_blend) + player_anim[name] = ANIM_WALK_MINE + end + elseif walking then + if player_anim[name] ~= ANIM_WALK then + pl:set_animation({x=anim.walk_START, y=anim.walk_END}, animation_speed_mod, animation_blend) + player_anim[name] = ANIM_WALK + end + elseif controls.LMB then + if player_anim[name] ~= ANIM_MINE then + pl:set_animation({x=anim.mine_START, y=anim.mine_END}, animation_speed_mod, animation_blend) + player_anim[name] = ANIM_MINE + end + elseif player_anim[name] ~= ANIM_STAND then + pl:set_animation({x=anim.stand_START, y=anim.stand_END}, animation_speed_mod, animation_blend) + player_anim[name] = ANIM_STAND + end + end +end +minetest.register_globalstep(player_step) + +-- END diff --git a/mods/default/sounds/default_break_glass.1.ogg b/mods/default/sounds/default_break_glass.1.ogg new file mode 100644 index 0000000..b1ccc5f Binary files /dev/null and b/mods/default/sounds/default_break_glass.1.ogg differ diff --git a/mods/default/sounds/default_break_glass.2.ogg b/mods/default/sounds/default_break_glass.2.ogg new file mode 100644 index 0000000..b6cc9e8 Binary files /dev/null and b/mods/default/sounds/default_break_glass.2.ogg differ diff --git a/mods/default/sounds/default_break_glass.3.ogg b/mods/default/sounds/default_break_glass.3.ogg new file mode 100644 index 0000000..ae6a6bf Binary files /dev/null and b/mods/default/sounds/default_break_glass.3.ogg differ diff --git a/mods/default/sounds/default_dig_choppy.ogg b/mods/default/sounds/default_dig_choppy.ogg new file mode 100644 index 0000000..d605145 Binary files /dev/null and b/mods/default/sounds/default_dig_choppy.ogg differ diff --git a/mods/default/sounds/default_dig_cracky.ogg b/mods/default/sounds/default_dig_cracky.ogg new file mode 100644 index 0000000..53d45c1 Binary files /dev/null and b/mods/default/sounds/default_dig_cracky.ogg differ diff --git a/mods/default/sounds/default_dig_crumbly.1.ogg b/mods/default/sounds/default_dig_crumbly.1.ogg new file mode 100644 index 0000000..ea5830a Binary files /dev/null and b/mods/default/sounds/default_dig_crumbly.1.ogg differ diff --git a/mods/default/sounds/default_dig_crumbly.2.ogg b/mods/default/sounds/default_dig_crumbly.2.ogg new file mode 100644 index 0000000..f1a9248 Binary files /dev/null and b/mods/default/sounds/default_dig_crumbly.2.ogg differ diff --git a/mods/default/sounds/default_dig_dig_immediate.ogg b/mods/default/sounds/default_dig_dig_immediate.ogg new file mode 100644 index 0000000..526629b Binary files /dev/null and b/mods/default/sounds/default_dig_dig_immediate.ogg differ diff --git a/mods/default/sounds/default_dig_oddly_breakable_by_hand.ogg b/mods/default/sounds/default_dig_oddly_breakable_by_hand.ogg new file mode 100644 index 0000000..d605145 Binary files /dev/null and b/mods/default/sounds/default_dig_oddly_breakable_by_hand.ogg differ diff --git a/mods/default/sounds/default_dug_node.1.ogg b/mods/default/sounds/default_dug_node.1.ogg new file mode 100644 index 0000000..9d56bb8 Binary files /dev/null and b/mods/default/sounds/default_dug_node.1.ogg differ diff --git a/mods/default/sounds/default_grass_footstep.1.ogg b/mods/default/sounds/default_grass_footstep.1.ogg new file mode 100644 index 0000000..ce625d9 Binary files /dev/null and b/mods/default/sounds/default_grass_footstep.1.ogg differ diff --git a/mods/default/sounds/default_grass_footstep.2.ogg b/mods/default/sounds/default_grass_footstep.2.ogg new file mode 100644 index 0000000..330ca47 Binary files /dev/null and b/mods/default/sounds/default_grass_footstep.2.ogg differ diff --git a/mods/default/sounds/default_grass_footstep.3.ogg b/mods/default/sounds/default_grass_footstep.3.ogg new file mode 100644 index 0000000..07acc1e Binary files /dev/null and b/mods/default/sounds/default_grass_footstep.3.ogg differ diff --git a/mods/default/sounds/default_gravel_footstep.1.ogg b/mods/default/sounds/default_gravel_footstep.1.ogg new file mode 100644 index 0000000..68758b2 Binary files /dev/null and b/mods/default/sounds/default_gravel_footstep.1.ogg differ diff --git a/mods/default/sounds/default_gravel_footstep.2.ogg b/mods/default/sounds/default_gravel_footstep.2.ogg new file mode 100644 index 0000000..128ae57 Binary files /dev/null and b/mods/default/sounds/default_gravel_footstep.2.ogg differ diff --git a/mods/default/sounds/default_gravel_footstep.3.ogg b/mods/default/sounds/default_gravel_footstep.3.ogg new file mode 100644 index 0000000..7a5863f Binary files /dev/null and b/mods/default/sounds/default_gravel_footstep.3.ogg differ diff --git a/mods/default/sounds/default_gravel_footstep.4.ogg b/mods/default/sounds/default_gravel_footstep.4.ogg new file mode 100644 index 0000000..8cdadb1 Binary files /dev/null and b/mods/default/sounds/default_gravel_footstep.4.ogg differ diff --git a/mods/default/sounds/default_hard_footstep.1.ogg b/mods/default/sounds/default_hard_footstep.1.ogg new file mode 100644 index 0000000..6b351ff Binary files /dev/null and b/mods/default/sounds/default_hard_footstep.1.ogg differ diff --git a/mods/default/sounds/default_hard_footstep.2.ogg b/mods/default/sounds/default_hard_footstep.2.ogg new file mode 100644 index 0000000..2ce721e Binary files /dev/null and b/mods/default/sounds/default_hard_footstep.2.ogg differ diff --git a/mods/default/sounds/default_place_node.1.ogg b/mods/default/sounds/default_place_node.1.ogg new file mode 100644 index 0000000..526629b Binary files /dev/null and b/mods/default/sounds/default_place_node.1.ogg differ diff --git a/mods/default/sounds/default_place_node.2.ogg b/mods/default/sounds/default_place_node.2.ogg new file mode 100644 index 0000000..012c667 Binary files /dev/null and b/mods/default/sounds/default_place_node.2.ogg differ diff --git a/mods/default/sounds/default_place_node.3.ogg b/mods/default/sounds/default_place_node.3.ogg new file mode 100644 index 0000000..eaf9719 Binary files /dev/null and b/mods/default/sounds/default_place_node.3.ogg differ diff --git a/mods/default/textures/crack_anylength.png b/mods/default/textures/crack_anylength.png new file mode 100644 index 0000000..4997839 Binary files /dev/null and b/mods/default/textures/crack_anylength.png differ diff --git a/mods/default/textures/default_apple.png b/mods/default/textures/default_apple.png new file mode 100644 index 0000000..ad03a18 Binary files /dev/null and b/mods/default/textures/default_apple.png differ diff --git a/mods/default/textures/default_book.png b/mods/default/textures/default_book.png new file mode 100644 index 0000000..176fb6a Binary files /dev/null and b/mods/default/textures/default_book.png differ diff --git a/mods/default/textures/default_bookshelf.png b/mods/default/textures/default_bookshelf.png new file mode 100644 index 0000000..5ecc50f Binary files /dev/null and b/mods/default/textures/default_bookshelf.png differ diff --git a/mods/default/textures/default_brick.png b/mods/default/textures/default_brick.png new file mode 100644 index 0000000..754facc Binary files /dev/null and b/mods/default/textures/default_brick.png differ diff --git a/mods/default/textures/default_cactus_side.png b/mods/default/textures/default_cactus_side.png new file mode 100644 index 0000000..395dd0d Binary files /dev/null and b/mods/default/textures/default_cactus_side.png differ diff --git a/mods/default/textures/default_cactus_top.png b/mods/default/textures/default_cactus_top.png new file mode 100644 index 0000000..60a193c Binary files /dev/null and b/mods/default/textures/default_cactus_top.png differ diff --git a/mods/default/textures/default_chest_front.png b/mods/default/textures/default_chest_front.png new file mode 100755 index 0000000..47b7771 Binary files /dev/null and b/mods/default/textures/default_chest_front.png differ diff --git a/mods/default/textures/default_chest_lock.png b/mods/default/textures/default_chest_lock.png new file mode 100644 index 0000000..f5346f4 Binary files /dev/null and b/mods/default/textures/default_chest_lock.png differ diff --git a/mods/default/textures/default_chest_side.png b/mods/default/textures/default_chest_side.png new file mode 100755 index 0000000..5665168 Binary files /dev/null and b/mods/default/textures/default_chest_side.png differ diff --git a/mods/default/textures/default_chest_top.png b/mods/default/textures/default_chest_top.png new file mode 100755 index 0000000..b4e8a12 Binary files /dev/null and b/mods/default/textures/default_chest_top.png differ diff --git a/mods/default/textures/default_clay.png b/mods/default/textures/default_clay.png new file mode 100644 index 0000000..3557429 Binary files /dev/null and b/mods/default/textures/default_clay.png differ diff --git a/mods/default/textures/default_clay_brick.png b/mods/default/textures/default_clay_brick.png new file mode 100644 index 0000000..8ade8ad Binary files /dev/null and b/mods/default/textures/default_clay_brick.png differ diff --git a/mods/default/textures/default_clay_lump.png b/mods/default/textures/default_clay_lump.png new file mode 100644 index 0000000..be0bab9 Binary files /dev/null and b/mods/default/textures/default_clay_lump.png differ diff --git a/mods/default/textures/default_cloud.png b/mods/default/textures/default_cloud.png new file mode 100644 index 0000000..24091a3 Binary files /dev/null and b/mods/default/textures/default_cloud.png differ diff --git a/mods/default/textures/default_coal_lump.png b/mods/default/textures/default_coal_lump.png new file mode 100644 index 0000000..bad901e Binary files /dev/null and b/mods/default/textures/default_coal_lump.png differ diff --git a/mods/default/textures/default_cobble.png b/mods/default/textures/default_cobble.png new file mode 100755 index 0000000..bc79696 Binary files /dev/null and b/mods/default/textures/default_cobble.png differ diff --git a/mods/default/textures/default_desert_sand.png b/mods/default/textures/default_desert_sand.png new file mode 100644 index 0000000..9e36263 Binary files /dev/null and b/mods/default/textures/default_desert_sand.png differ diff --git a/mods/default/textures/default_desert_stone.png b/mods/default/textures/default_desert_stone.png new file mode 100644 index 0000000..a1afe6d Binary files /dev/null and b/mods/default/textures/default_desert_stone.png differ diff --git a/mods/default/textures/default_dirt.png b/mods/default/textures/default_dirt.png new file mode 100755 index 0000000..30cd4bf Binary files /dev/null and b/mods/default/textures/default_dirt.png differ diff --git a/mods/default/textures/default_dry_shrub.png b/mods/default/textures/default_dry_shrub.png new file mode 100644 index 0000000..450d5d9 Binary files /dev/null and b/mods/default/textures/default_dry_shrub.png differ diff --git a/mods/default/textures/default_fence.png b/mods/default/textures/default_fence.png new file mode 100644 index 0000000..0b99f0e Binary files /dev/null and b/mods/default/textures/default_fence.png differ diff --git a/mods/default/textures/default_furnace_bottom.png b/mods/default/textures/default_furnace_bottom.png new file mode 100644 index 0000000..c86782a Binary files /dev/null and b/mods/default/textures/default_furnace_bottom.png differ diff --git a/mods/default/textures/default_furnace_fire_bg.png b/mods/default/textures/default_furnace_fire_bg.png new file mode 100644 index 0000000..1272e10 Binary files /dev/null and b/mods/default/textures/default_furnace_fire_bg.png differ diff --git a/mods/default/textures/default_furnace_fire_fg.png b/mods/default/textures/default_furnace_fire_fg.png new file mode 100644 index 0000000..fbb19df Binary files /dev/null and b/mods/default/textures/default_furnace_fire_fg.png differ diff --git a/mods/default/textures/default_furnace_front.png b/mods/default/textures/default_furnace_front.png new file mode 100644 index 0000000..8f01e99 Binary files /dev/null and b/mods/default/textures/default_furnace_front.png differ diff --git a/mods/default/textures/default_furnace_front_active.png b/mods/default/textures/default_furnace_front_active.png new file mode 100644 index 0000000..10ffd1f Binary files /dev/null and b/mods/default/textures/default_furnace_front_active.png differ diff --git a/mods/default/textures/default_furnace_side.png b/mods/default/textures/default_furnace_side.png new file mode 100644 index 0000000..c86782a Binary files /dev/null and b/mods/default/textures/default_furnace_side.png differ diff --git a/mods/default/textures/default_furnace_top.png b/mods/default/textures/default_furnace_top.png new file mode 100644 index 0000000..c86782a Binary files /dev/null and b/mods/default/textures/default_furnace_top.png differ diff --git a/mods/default/textures/default_glass.png b/mods/default/textures/default_glass.png new file mode 100644 index 0000000..ade0196 Binary files /dev/null and b/mods/default/textures/default_glass.png differ diff --git a/mods/default/textures/default_grass.png b/mods/default/textures/default_grass.png new file mode 100755 index 0000000..4e1f0f1 Binary files /dev/null and b/mods/default/textures/default_grass.png differ diff --git a/mods/default/textures/default_grass_footsteps.png b/mods/default/textures/default_grass_footsteps.png new file mode 100644 index 0000000..57e063d Binary files /dev/null and b/mods/default/textures/default_grass_footsteps.png differ diff --git a/mods/default/textures/default_grass_side.png b/mods/default/textures/default_grass_side.png new file mode 100755 index 0000000..6ca1a6f Binary files /dev/null and b/mods/default/textures/default_grass_side.png differ diff --git a/mods/default/textures/default_gravel.png b/mods/default/textures/default_gravel.png new file mode 100644 index 0000000..f08666a Binary files /dev/null and b/mods/default/textures/default_gravel.png differ diff --git a/mods/default/textures/default_iron_lump.png b/mods/default/textures/default_iron_lump.png new file mode 100644 index 0000000..edb9310 Binary files /dev/null and b/mods/default/textures/default_iron_lump.png differ diff --git a/mods/default/textures/default_junglegrass.png b/mods/default/textures/default_junglegrass.png new file mode 100644 index 0000000..eea87c0 Binary files /dev/null and b/mods/default/textures/default_junglegrass.png differ diff --git a/mods/default/textures/default_jungletree.png b/mods/default/textures/default_jungletree.png new file mode 100644 index 0000000..d8c2635 Binary files /dev/null and b/mods/default/textures/default_jungletree.png differ diff --git a/mods/default/textures/default_jungletree_top.png b/mods/default/textures/default_jungletree_top.png new file mode 100644 index 0000000..805272a Binary files /dev/null and b/mods/default/textures/default_jungletree_top.png differ diff --git a/mods/default/textures/default_ladder.png b/mods/default/textures/default_ladder.png new file mode 100644 index 0000000..1105635 Binary files /dev/null and b/mods/default/textures/default_ladder.png differ diff --git a/mods/default/textures/default_lava.png b/mods/default/textures/default_lava.png new file mode 100644 index 0000000..9cf9fa8 Binary files /dev/null and b/mods/default/textures/default_lava.png differ diff --git a/mods/default/textures/default_lava_flowing_animated.png b/mods/default/textures/default_lava_flowing_animated.png new file mode 100644 index 0000000..cef8e36 Binary files /dev/null and b/mods/default/textures/default_lava_flowing_animated.png differ diff --git a/mods/default/textures/default_lava_source_animated.png b/mods/default/textures/default_lava_source_animated.png new file mode 100644 index 0000000..9339a68 Binary files /dev/null and b/mods/default/textures/default_lava_source_animated.png differ diff --git a/mods/default/textures/default_leaves.png b/mods/default/textures/default_leaves.png new file mode 100755 index 0000000..d0258ed Binary files /dev/null and b/mods/default/textures/default_leaves.png differ diff --git a/mods/default/textures/default_mese.png b/mods/default/textures/default_mese.png new file mode 100644 index 0000000..4c876cd Binary files /dev/null and b/mods/default/textures/default_mese.png differ diff --git a/mods/default/textures/default_mineral_coal.png b/mods/default/textures/default_mineral_coal.png new file mode 100644 index 0000000..3ff9692 Binary files /dev/null and b/mods/default/textures/default_mineral_coal.png differ diff --git a/mods/default/textures/default_mineral_iron.png b/mods/default/textures/default_mineral_iron.png new file mode 100644 index 0000000..51b15d9 Binary files /dev/null and b/mods/default/textures/default_mineral_iron.png differ diff --git a/mods/default/textures/default_mossycobble.png b/mods/default/textures/default_mossycobble.png new file mode 100755 index 0000000..ca72717 Binary files /dev/null and b/mods/default/textures/default_mossycobble.png differ diff --git a/mods/default/textures/default_nc_back.png b/mods/default/textures/default_nc_back.png new file mode 100644 index 0000000..9f42376 Binary files /dev/null and b/mods/default/textures/default_nc_back.png differ diff --git a/mods/default/textures/default_nc_front.png b/mods/default/textures/default_nc_front.png new file mode 100644 index 0000000..e35c583 Binary files /dev/null and b/mods/default/textures/default_nc_front.png differ diff --git a/mods/default/textures/default_nc_rb.png b/mods/default/textures/default_nc_rb.png new file mode 100644 index 0000000..caef71f Binary files /dev/null and b/mods/default/textures/default_nc_rb.png differ diff --git a/mods/default/textures/default_nc_side.png b/mods/default/textures/default_nc_side.png new file mode 100644 index 0000000..6d1890e Binary files /dev/null and b/mods/default/textures/default_nc_side.png differ diff --git a/mods/default/textures/default_paper.png b/mods/default/textures/default_paper.png new file mode 100644 index 0000000..ae5c06b Binary files /dev/null and b/mods/default/textures/default_paper.png differ diff --git a/mods/default/textures/default_papyrus.png b/mods/default/textures/default_papyrus.png new file mode 100644 index 0000000..d310ce8 Binary files /dev/null and b/mods/default/textures/default_papyrus.png differ diff --git a/mods/default/textures/default_rail.png b/mods/default/textures/default_rail.png new file mode 100644 index 0000000..18176d9 Binary files /dev/null and b/mods/default/textures/default_rail.png differ diff --git a/mods/default/textures/default_rail_crossing.png b/mods/default/textures/default_rail_crossing.png new file mode 100644 index 0000000..9846405 Binary files /dev/null and b/mods/default/textures/default_rail_crossing.png differ diff --git a/mods/default/textures/default_rail_curved.png b/mods/default/textures/default_rail_curved.png new file mode 100644 index 0000000..62afa3d Binary files /dev/null and b/mods/default/textures/default_rail_curved.png differ diff --git a/mods/default/textures/default_rail_t_junction.png b/mods/default/textures/default_rail_t_junction.png new file mode 100644 index 0000000..9985f63 Binary files /dev/null and b/mods/default/textures/default_rail_t_junction.png differ diff --git a/mods/default/textures/default_sand.png b/mods/default/textures/default_sand.png new file mode 100755 index 0000000..2a48456 Binary files /dev/null and b/mods/default/textures/default_sand.png differ diff --git a/mods/default/textures/default_sandstone.png b/mods/default/textures/default_sandstone.png new file mode 100644 index 0000000..c4759b4 Binary files /dev/null and b/mods/default/textures/default_sandstone.png differ diff --git a/mods/default/textures/default_sapling.png b/mods/default/textures/default_sapling.png new file mode 100644 index 0000000..d03c3e4 Binary files /dev/null and b/mods/default/textures/default_sapling.png differ diff --git a/mods/default/textures/default_scorched_stuff.png b/mods/default/textures/default_scorched_stuff.png new file mode 100644 index 0000000..9ced2fb Binary files /dev/null and b/mods/default/textures/default_scorched_stuff.png differ diff --git a/mods/default/textures/default_sign_wall.png b/mods/default/textures/default_sign_wall.png new file mode 100755 index 0000000..d5c6dcd Binary files /dev/null and b/mods/default/textures/default_sign_wall.png differ diff --git a/mods/default/textures/default_steel_block.png b/mods/default/textures/default_steel_block.png new file mode 100644 index 0000000..8e20200 Binary files /dev/null and b/mods/default/textures/default_steel_block.png differ diff --git a/mods/default/textures/default_steel_ingot.png b/mods/default/textures/default_steel_ingot.png new file mode 100644 index 0000000..f6c9414 Binary files /dev/null and b/mods/default/textures/default_steel_ingot.png differ diff --git a/mods/default/textures/default_stick.png b/mods/default/textures/default_stick.png new file mode 100644 index 0000000..2d31797 Binary files /dev/null and b/mods/default/textures/default_stick.png differ diff --git a/mods/default/textures/default_stone.png b/mods/default/textures/default_stone.png new file mode 100755 index 0000000..17c3f56 Binary files /dev/null and b/mods/default/textures/default_stone.png differ diff --git a/mods/default/textures/default_tnt_bottom.png b/mods/default/textures/default_tnt_bottom.png new file mode 100644 index 0000000..8ba2fca Binary files /dev/null and b/mods/default/textures/default_tnt_bottom.png differ diff --git a/mods/default/textures/default_tnt_side.png b/mods/default/textures/default_tnt_side.png new file mode 100644 index 0000000..d9a2bc4 Binary files /dev/null and b/mods/default/textures/default_tnt_side.png differ diff --git a/mods/default/textures/default_tnt_top.png b/mods/default/textures/default_tnt_top.png new file mode 100644 index 0000000..a84ffc9 Binary files /dev/null and b/mods/default/textures/default_tnt_top.png differ diff --git a/mods/default/textures/default_tool_mesepick.png b/mods/default/textures/default_tool_mesepick.png new file mode 100755 index 0000000..4828f0f Binary files /dev/null and b/mods/default/textures/default_tool_mesepick.png differ diff --git a/mods/default/textures/default_tool_steelaxe.png b/mods/default/textures/default_tool_steelaxe.png new file mode 100644 index 0000000..0ad23c9 Binary files /dev/null and b/mods/default/textures/default_tool_steelaxe.png differ diff --git a/mods/default/textures/default_tool_steelpick.png b/mods/default/textures/default_tool_steelpick.png new file mode 100755 index 0000000..1d5a2d1 Binary files /dev/null and b/mods/default/textures/default_tool_steelpick.png differ diff --git a/mods/default/textures/default_tool_steelshovel.png b/mods/default/textures/default_tool_steelshovel.png new file mode 100755 index 0000000..ed84138 Binary files /dev/null and b/mods/default/textures/default_tool_steelshovel.png differ diff --git a/mods/default/textures/default_tool_steelsword.png b/mods/default/textures/default_tool_steelsword.png new file mode 100644 index 0000000..6a82931 Binary files /dev/null and b/mods/default/textures/default_tool_steelsword.png differ diff --git a/mods/default/textures/default_tool_stoneaxe.png b/mods/default/textures/default_tool_stoneaxe.png new file mode 100644 index 0000000..698ac91 Binary files /dev/null and b/mods/default/textures/default_tool_stoneaxe.png differ diff --git a/mods/default/textures/default_tool_stonepick.png b/mods/default/textures/default_tool_stonepick.png new file mode 100755 index 0000000..71ff0b5 Binary files /dev/null and b/mods/default/textures/default_tool_stonepick.png differ diff --git a/mods/default/textures/default_tool_stoneshovel.png b/mods/default/textures/default_tool_stoneshovel.png new file mode 100755 index 0000000..ba52431 Binary files /dev/null and b/mods/default/textures/default_tool_stoneshovel.png differ diff --git a/mods/default/textures/default_tool_stonesword.png b/mods/default/textures/default_tool_stonesword.png new file mode 100644 index 0000000..8f8191f Binary files /dev/null and b/mods/default/textures/default_tool_stonesword.png differ diff --git a/mods/default/textures/default_tool_woodaxe.png b/mods/default/textures/default_tool_woodaxe.png new file mode 100644 index 0000000..3daa4af Binary files /dev/null and b/mods/default/textures/default_tool_woodaxe.png differ diff --git a/mods/default/textures/default_tool_woodpick.png b/mods/default/textures/default_tool_woodpick.png new file mode 100755 index 0000000..7346630 Binary files /dev/null and b/mods/default/textures/default_tool_woodpick.png differ diff --git a/mods/default/textures/default_tool_woodshovel.png b/mods/default/textures/default_tool_woodshovel.png new file mode 100755 index 0000000..649ab4c Binary files /dev/null and b/mods/default/textures/default_tool_woodshovel.png differ diff --git a/mods/default/textures/default_tool_woodsword.png b/mods/default/textures/default_tool_woodsword.png new file mode 100644 index 0000000..d6c6be3 Binary files /dev/null and b/mods/default/textures/default_tool_woodsword.png differ diff --git a/mods/default/textures/default_torch.png b/mods/default/textures/default_torch.png new file mode 100644 index 0000000..b9444af Binary files /dev/null and b/mods/default/textures/default_torch.png differ diff --git a/mods/default/textures/default_torch_animated.png b/mods/default/textures/default_torch_animated.png new file mode 100644 index 0000000..ca1668c Binary files /dev/null and b/mods/default/textures/default_torch_animated.png differ diff --git a/mods/default/textures/default_torch_on_ceiling.png b/mods/default/textures/default_torch_on_ceiling.png new file mode 100644 index 0000000..8deef96 Binary files /dev/null and b/mods/default/textures/default_torch_on_ceiling.png differ diff --git a/mods/default/textures/default_torch_on_ceiling_animated.png b/mods/default/textures/default_torch_on_ceiling_animated.png new file mode 100644 index 0000000..b101561 Binary files /dev/null and b/mods/default/textures/default_torch_on_ceiling_animated.png differ diff --git a/mods/default/textures/default_torch_on_floor.png b/mods/default/textures/default_torch_on_floor.png new file mode 100644 index 0000000..925a59a Binary files /dev/null and b/mods/default/textures/default_torch_on_floor.png differ diff --git a/mods/default/textures/default_torch_on_floor_animated.png b/mods/default/textures/default_torch_on_floor_animated.png new file mode 100644 index 0000000..0b55818 Binary files /dev/null and b/mods/default/textures/default_torch_on_floor_animated.png differ diff --git a/mods/default/textures/default_tree.png b/mods/default/textures/default_tree.png new file mode 100755 index 0000000..ab12501 Binary files /dev/null and b/mods/default/textures/default_tree.png differ diff --git a/mods/default/textures/default_tree_top.png b/mods/default/textures/default_tree_top.png new file mode 100755 index 0000000..6d62006 Binary files /dev/null and b/mods/default/textures/default_tree_top.png differ diff --git a/mods/default/textures/default_water.png b/mods/default/textures/default_water.png new file mode 100755 index 0000000..fe652a9 Binary files /dev/null and b/mods/default/textures/default_water.png differ diff --git a/mods/default/textures/default_water_flowing_animated.png b/mods/default/textures/default_water_flowing_animated.png new file mode 100644 index 0000000..ac35b2a Binary files /dev/null and b/mods/default/textures/default_water_flowing_animated.png differ diff --git a/mods/default/textures/default_water_source_animated.png b/mods/default/textures/default_water_source_animated.png new file mode 100644 index 0000000..26de7ba Binary files /dev/null and b/mods/default/textures/default_water_source_animated.png differ diff --git a/mods/default/textures/default_wood.png b/mods/default/textures/default_wood.png new file mode 100644 index 0000000..66f2b72 Binary files /dev/null and b/mods/default/textures/default_wood.png differ diff --git a/mods/default/textures/heart.png b/mods/default/textures/heart.png new file mode 100644 index 0000000..6bc183e Binary files /dev/null and b/mods/default/textures/heart.png differ diff --git a/mods/default/textures/player.png b/mods/default/textures/player.png new file mode 100644 index 0000000..c055d9b Binary files /dev/null and b/mods/default/textures/player.png differ diff --git a/mods/default/textures/player_back.png b/mods/default/textures/player_back.png new file mode 100644 index 0000000..4acc8d4 Binary files /dev/null and b/mods/default/textures/player_back.png differ diff --git a/mods/default/textures/treeprop.png b/mods/default/textures/treeprop.png new file mode 100644 index 0000000..72e831b Binary files /dev/null and b/mods/default/textures/treeprop.png differ diff --git a/mods/default/textures/wieldhand.png b/mods/default/textures/wieldhand.png new file mode 100644 index 0000000..c4549e5 Binary files /dev/null and b/mods/default/textures/wieldhand.png differ diff --git a/mods/desert_uses b/mods/desert_uses new file mode 160000 index 0000000..f5ca7fa --- /dev/null +++ b/mods/desert_uses @@ -0,0 +1 @@ +Subproject commit f5ca7fa620231643ed4831227ad6763f7df47a97 diff --git a/mods/digicode/depends.txt b/mods/digicode/depends.txt new file mode 100644 index 0000000..aca967d --- /dev/null +++ b/mods/digicode/depends.txt @@ -0,0 +1,2 @@ +default +mesecons diff --git a/mods/digicode/init.lua b/mods/digicode/init.lua new file mode 100644 index 0000000..6a3c30e --- /dev/null +++ b/mods/digicode/init.lua @@ -0,0 +1,110 @@ +digicode = {} + +digicode.digicode_formspec = + "size[3,5]".. + "button[0,1;1,1;dc1;1]button[1,1;1,1;dc2;2]button[2,1;1,1;dc3;3]".. + "button[0,2;1,1;dc4;4]button[1,2;1,1;dc5;5]button[2,2;1,1;dc6;6]".. + "button[0,3;1,1;dc7;7]button[1,3;1,1;dc8;8]button[2,3;1,1;dc9;9]".. + "button_exit[0,4;1,1;dcC;X]button[1,4;1,1;dc0;0]button_exit[2,4;1,1;dcA;V]" + +digicode.hidecode = function(len) + if len == 1 then return "*" + elseif len == 2 then return "**" + elseif len == 3 then return "***" + elseif len == 4 then return "****" + else return "" + end +end + +minetest.register_node("digicode:digicode", { + description = "Digicode", + tiles = { + "digicode_side.png", + "digicode_side.png", + "digicode_side.png", + "digicode_side.png", + "digicode_side.png", + "digicode_front.png" + }, + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + --walkable = false, + selection_box = { + type = "fixed", + fixed = { -6/16, -.5, 6/16, 6/16, .5, 8/16 } + }, + node_box = { + type = "fixed", + fixed = { -6/16, -.5, 6/16, 6/16, .5, 8/16 } + }, + groups = {dig_immediate=2,mesecon=3,mesecon_needs_receiver=1}, + --legacy_facedir_simple = true, + sounds = default.node_sound_stone_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", digicode.digicode_formspec.."label[0,0;SET]") + meta:set_string("infotext", "Digicode") + meta:set_string("goodcode", ""); + meta:set_string("currentcode", ""); + end, + on_receive_fields = function(pos,formname,fields,sender) + local meta = minetest.env:get_meta(pos) + if fields.dcA then + if meta:get_string("goodcode")=="" and meta:get_string("currentcode") ~= "" then + meta:set_string("goodcode",meta:get_string("currentcode")) + minetest.chat_send_player(sender:get_player_name(),"[DIGICODE] Code set to "..meta:get_string("goodcode")) + elseif meta:get_string("currentcode")==meta:get_string("goodcode") then + local node=minetest.env:get_node(pos) + local rules=mesecon.button_get_rules(node.param2) + mesecon:receptor_on(pos, rules) + minetest.after(1, function (params) + if minetest.env:get_node(params.pos).name=="digicode:digicode" then + local rules=mesecon.button_get_rules(params.param2) + mesecon:receptor_off(params.pos, rules) + end + end, {pos=pos, param2=node.param2}) + end + meta:set_string("currentcode","") + elseif fields.dcC then meta:set_string("currentcode","") + else + local button=nil; + if fields.dc0 then button="0" + elseif fields.dc1 then button="1" + elseif fields.dc2 then button="2" + elseif fields.dc3 then button="3" + elseif fields.dc4 then button="4" + elseif fields.dc5 then button="5" + elseif fields.dc6 then button="6" + elseif fields.dc7 then button="7" + elseif fields.dc8 then button="8" + elseif fields.dc9 then button="9" + end + if button then + if string.len(meta:get_string("currentcode")) >= 4 then meta:set_string("currentcode","") end + meta:set_string("currentcode",meta:get_string("currentcode")..button) + end + end + meta:set_string("formspec",digicode.digicode_formspec.."label[1,0;"..digicode.hidecode(meta:get_string("currentcode"):len()).."]") + if meta:get_string("goodcode") == "" then + meta:set_string("formspec",meta:get_string("formspec").."label[0,0;SET]") + end + end, +}) + +digicode.turnoff = function (params) + if minetest.env:get_node(params.pos).name=="digicode:digicode" then + local rules=mesecon.button_get_rules(params.param2) + mesecon:receptor_off(params.pos, rules) + end +end + +minetest.register_craft({ + output = 'digicode:digicode', + recipe = { + {"mesecons_button:button_off", "mesecons_button:button_off", "mesecons_button:button_off"}, + {"default:cobble", "mesecons_microcontroller:microcontroller0000", "default:cobble"}, + {"default:cobble", "group:mesecon_conductor_craftable", "default:cobble"}, + } +}) diff --git a/mods/digicode/textures/digicode_front.png b/mods/digicode/textures/digicode_front.png new file mode 100644 index 0000000..9000369 Binary files /dev/null and b/mods/digicode/textures/digicode_front.png differ diff --git a/mods/digicode/textures/digicode_side.png b/mods/digicode/textures/digicode_side.png new file mode 100644 index 0000000..b72c905 Binary files /dev/null and b/mods/digicode/textures/digicode_side.png differ diff --git a/mods/dye/README.txt b/mods/dye/README.txt new file mode 100644 index 0000000..d414c2c --- /dev/null +++ b/mods/dye/README.txt @@ -0,0 +1,15 @@ +Minetest 0.4 mod: dye +====================== + +See init.lua for documentation. + +License of source code and media files: +--------------------------------------- +Copyright (C) 2012 Perttu Ahola (celeron55) + +This program is free software. It comes without any warranty, to +the extent permitted by applicable law. You can redistribute it +and/or modify it under the terms of the Do What The Fuck You Want +To Public License, Version 2, as published by Sam Hocevar. See +http://sam.zoy.org/wtfpl/COPYING for more details. + diff --git a/mods/dye/depends.txt b/mods/dye/depends.txt new file mode 100644 index 0000000..e69de29 diff --git a/mods/dye/init.lua b/mods/dye/init.lua new file mode 100644 index 0000000..2886828 --- /dev/null +++ b/mods/dye/init.lua @@ -0,0 +1,134 @@ +-- minetest/dye/init.lua + +-- To make recipes that will work with any dye ever made by anybody, define +-- them based on groups. +-- You can select any group of groups, based on your need for amount of colors. +-- basecolor: 9, excolor: 17, unicolor: 89 +-- +-- Example of one shapeless recipe using a color group: +-- Note: As this uses basecolor_*, you'd need 9 of these. +-- minetest.register_craft({ +-- type = "shapeless", +-- output = ':item_yellow', +-- recipe = {':item_no_color', 'group:basecolor_yellow'}, +-- }) + +-- Other mods can use these for looping through available colors +local dye = {} +dye.basecolors = {"white", "grey", "black", "red", "yellow", "green", "cyan", "blue", "magenta"} +dye.excolors = {"white", "lightgrey", "grey", "darkgrey", "black", "red", "orange", "yellow", "lime", "green", "aqua", "cyan", "sky_blue", "blue", "violet", "magenta", "red_violet"} + +-- Base color groups: +-- - basecolor_white +-- - basecolor_grey +-- - basecolor_black +-- - basecolor_red +-- - basecolor_yellow +-- - basecolor_green +-- - basecolor_cyan +-- - basecolor_blue +-- - basecolor_magenta + +-- Extended color groups (* = equal to a base color): +-- * excolor_white +-- - excolor_lightgrey +-- * excolor_grey +-- - excolor_darkgrey +-- * excolor_black +-- * excolor_red +-- - excolor_orange +-- * excolor_yellow +-- - excolor_lime +-- * excolor_green +-- - excolor_aqua +-- * excolor_cyan +-- - excolor_sky_blue +-- * excolor_blue +-- - excolor_violet +-- * excolor_magenta +-- - excolor_red_violet + +-- The whole unifieddyes palette as groups: +-- - unicolor_ +-- For the following, no white/grey/black is allowed: +-- - unicolor_medium_ +-- - unicolor_dark_ +-- - unicolor_light_ +-- - unicolor__s50 +-- - unicolor_medium__s50 +-- - unicolor_dark__s50 + +-- Local stuff +local dyelocal = {} + +-- This collection of colors is partly a historic thing, partly something else. +dyelocal.dyes = { + {"white", "White dye", {dye=1, basecolor_white=1, excolor_white=1, unicolor_white=1}}, + {"grey", "Grey dye", {dye=1, basecolor_grey=1, excolor_grey=1, unicolor_grey=1}}, + {"dark_grey", "Dark grey dye", {dye=1, basecolor_grey=1, excolor_darkgrey=1, unicolor_darkgrey=1}}, + {"black", "Black dye", {dye=1, basecolor_black=1, excolor_black=1, unicolor_black=1}}, + {"violet", "Violet dye", {dye=1, basecolor_magenta=1, excolor_violet=1, unicolor_violet=1}}, + {"blue", "Blue dye", {dye=1, basecolor_blue=1, excolor_blue=1, unicolor_blue=1}}, + {"cyan", "Cyan dye", {dye=1, basecolor_cyan=1, excolor_cyan=1, unicolor_cyan=1}}, + {"dark_green", "Dark green dye",{dye=1, basecolor_green=1, excolor_green=1, unicolor_dark_green=1}}, + {"green", "Green dye", {dye=1, basecolor_green=1, excolor_green=1, unicolor_green=1}}, + {"yellow", "Yellow dye", {dye=1, basecolor_yellow=1, excolor_yellow=1, unicolor_yellow=1}}, + {"brown", "Brown dye", {dye=1, basecolor_yellow=1, excolor_orange=1, unicolor_dark_orange=1}}, + {"orange", "Orange dye", {dye=1, basecolor_orange=1, excolor_orange=1, unicolor_orange=1}}, + {"red", "Red dye", {dye=1, basecolor_red=1, excolor_red=1, unicolor_red=1}}, + {"magenta", "Magenta dye", {dye=1, basecolor_magenta=1, excolor_red_violet=1,unicolor_red_violet=1}}, + {"pink", "Pink dye", {dye=1, basecolor_red=1, excolor_red=1, unicolor_light_red=1}}, +} + +-- Define items +for _, row in ipairs(dyelocal.dyes) do + local name = row[1] + local description = row[2] + local groups = row[3] + local item_name = "dye:"..name + local item_image = "dye_"..name..".png" + minetest.register_craftitem(item_name, { + inventory_image = item_image, + description = description, + groups = groups + }) +end + +-- Mix recipes +-- Just mix everything to everything somehow sanely + +dyelocal.mixbases = {"magenta", "red", "orange", "brown", "yellow", "green", "dark_green", "cyan", "blue", "violet", "black", "dark_grey", "grey", "white"} + +dyelocal.mixes = { + -- magenta, red, orange, brown, yellow, green, dark_green, cyan, blue, violet, black, dark_grey, grey, white + white = {"pink", "pink", "orange", "orange", "yellow", "green", "green", "grey", "cyan", "violet", "grey", "grey", "white", "white"}, + grey = {"pink", "pink", "orange", "orange", "yellow", "green", "green", "grey", "cyan", "pink", "dark_grey","grey", "grey"}, + dark_grey={"brown","brown", "brown", "brown", "brown","dark_green","dark_green","blue","blue","violet","black", "black"}, + black = {"black", "black", "black", "black", "black", "black", "black", "black", "black", "black", "black"}, + violet= {"magenta","magenta","red", "brown", "red", "cyan", "brown", "blue", "violet","violet"}, + blue = {"violet", "magenta","brown","brown","dark_green","cyan","cyan", "cyan", "blue"}, + cyan = {"blue","brown","dark_green","dark_grey","green","cyan","dark_green","cyan"}, + dark_green={"brown","brown","brown", "brown", "green", "green", "dark_green"}, + green = {"brown", "yellow","yellow","dark_green","green","green"}, + yellow= {"red", "orange", "yellow","orange", "yellow"}, + brown = {"brown", "brown","orange", "brown"}, + orange= {"red", "orange","orange"}, + red = {"magenta","red"}, + magenta={"magenta"}, +} + +for one,results in pairs(dyelocal.mixes) do + for i,result in ipairs(results) do + local another = dyelocal.mixbases[i] + minetest.register_craft({ + type = "shapeless", + output = 'dye:'..result..' 2', + recipe = {'dye:'..one, 'dye:'..another}, + }) + end +end + +-- Hide dyelocal +dyelocal = nil + +-- EOF diff --git a/mods/dye/textures/dye_black.png b/mods/dye/textures/dye_black.png new file mode 100644 index 0000000..ef526e6 Binary files /dev/null and b/mods/dye/textures/dye_black.png differ diff --git a/mods/dye/textures/dye_blue.png b/mods/dye/textures/dye_blue.png new file mode 100644 index 0000000..d3e9791 Binary files /dev/null and b/mods/dye/textures/dye_blue.png differ diff --git a/mods/dye/textures/dye_brown.png b/mods/dye/textures/dye_brown.png new file mode 100644 index 0000000..5b27085 Binary files /dev/null and b/mods/dye/textures/dye_brown.png differ diff --git a/mods/dye/textures/dye_cyan.png b/mods/dye/textures/dye_cyan.png new file mode 100644 index 0000000..3ae44e2 Binary files /dev/null and b/mods/dye/textures/dye_cyan.png differ diff --git a/mods/dye/textures/dye_dark_green.png b/mods/dye/textures/dye_dark_green.png new file mode 100644 index 0000000..784b785 Binary files /dev/null and b/mods/dye/textures/dye_dark_green.png differ diff --git a/mods/dye/textures/dye_dark_grey.png b/mods/dye/textures/dye_dark_grey.png new file mode 100644 index 0000000..adaa014 Binary files /dev/null and b/mods/dye/textures/dye_dark_grey.png differ diff --git a/mods/dye/textures/dye_green.png b/mods/dye/textures/dye_green.png new file mode 100644 index 0000000..e88631c Binary files /dev/null and b/mods/dye/textures/dye_green.png differ diff --git a/mods/dye/textures/dye_grey.png b/mods/dye/textures/dye_grey.png new file mode 100644 index 0000000..c4706e7 Binary files /dev/null and b/mods/dye/textures/dye_grey.png differ diff --git a/mods/dye/textures/dye_magenta.png b/mods/dye/textures/dye_magenta.png new file mode 100644 index 0000000..4946c71 Binary files /dev/null and b/mods/dye/textures/dye_magenta.png differ diff --git a/mods/dye/textures/dye_orange.png b/mods/dye/textures/dye_orange.png new file mode 100644 index 0000000..347964d Binary files /dev/null and b/mods/dye/textures/dye_orange.png differ diff --git a/mods/dye/textures/dye_pink.png b/mods/dye/textures/dye_pink.png new file mode 100644 index 0000000..ec2acf5 Binary files /dev/null and b/mods/dye/textures/dye_pink.png differ diff --git a/mods/dye/textures/dye_red.png b/mods/dye/textures/dye_red.png new file mode 100644 index 0000000..9f8c151 Binary files /dev/null and b/mods/dye/textures/dye_red.png differ diff --git a/mods/dye/textures/dye_violet.png b/mods/dye/textures/dye_violet.png new file mode 100644 index 0000000..0ee216c Binary files /dev/null and b/mods/dye/textures/dye_violet.png differ diff --git a/mods/dye/textures/dye_white.png b/mods/dye/textures/dye_white.png new file mode 100644 index 0000000..508e32f Binary files /dev/null and b/mods/dye/textures/dye_white.png differ diff --git a/mods/dye/textures/dye_yellow.png b/mods/dye/textures/dye_yellow.png new file mode 100644 index 0000000..d00a5b8 Binary files /dev/null and b/mods/dye/textures/dye_yellow.png differ diff --git a/mods/exchange/depends.txt b/mods/exchange/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/exchange/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/exchange/init.lua b/mods/exchange/init.lua new file mode 100644 index 0000000..86f0c2c --- /dev/null +++ b/mods/exchange/init.lua @@ -0,0 +1,148 @@ +exchange = {} +exchange.formspec = { + main = "size[8,9]".. + "list[current_name;pl1;0,0;3,4;]".. + "list[current_name;pl2;5,0;3,4;]".. + "list[current_player;main;0,5;8,4;]", + pl1 = { + start = "button[3,1;1,1;pl1_start;Start]", + player = function(name) return "label[3,0;"..name.."]" end, + accept1 = "button[3,1;1,1;pl1_accept1;Confirm]".. + "button[3,2;1,1;pl1_cancel;Cancel]", + accept2 = "button[3,1;1,1;pl1_accept2;Exchange]".. + "button[3,2;1,1;pl1_cancel;Cancel]", + }, + pl2 = { + start = "button[4,1;1,1;pl2_start;Start]", + player = function(name) return "label[4,0;"..name.."]" end, + accept1 = "button[4,1;1,1;pl2_accept1;Confirm]".. + "button[4,2;1,1;pl2_cancel;Cancel]", + accept2 = "button[4,1;1,1;pl2_accept2;Exchange]".. + "button[4,2;1,1;pl2_cancel;Cancel]", + }, +} + +exchange.check_privilege = function(listname,playername,meta) + if listname == "pl1" then + if playername ~= meta:get_string("pl1") then + return false + elseif meta:get_int("pl1step") ~= 1 then + return false + end + end + if listname == "pl2" then + if playername ~= meta:get_string("pl2") then + return false + elseif meta:get_int("pl2step") ~= 1 then + return false + end + end + return true +end + +exchange.update_formspec = function(meta) + formspec = exchange.formspec.main + pl_formspec = function (n) + if meta:get_int(n.."step")==0 then + formspec = formspec .. exchange.formspec[n].start + else + formspec = formspec .. exchange.formspec[n].player(meta:get_string(n)) + if meta:get_int(n.."step") == 1 then + formspec = formspec .. exchange.formspec[n].accept1 + elseif meta:get_int(n.."step") == 2 then + formspec = formspec .. exchange.formspec[n].accept2 + end + end + end + pl_formspec("pl1") pl_formspec("pl2") + meta:set_string("formspec",formspec) +end + +exchange.give_inventory = function(inv,list,playername) + player = minetest.env:get_player_by_name(playername) + if player then + for k,v in ipairs(inv:get_list(list)) do + player:get_inventory():add_item("main",v) + inv:remove_item(list,v) + end + end +end + +exchange.cancel = function(meta) + exchange.give_inventory(meta:get_inventory(),"pl1",meta:get_string("pl1")) + exchange.give_inventory(meta:get_inventory(),"pl2",meta:get_string("pl2")) + meta:set_string("pl1","") + meta:set_string("pl2","") + meta:set_int("pl1step",0) + meta:set_int("pl2step",0) +end + +exchange.exchange = function(meta) + exchange.give_inventory(meta:get_inventory(),"pl1",meta:get_string("pl2")) + exchange.give_inventory(meta:get_inventory(),"pl2",meta:get_string("pl1")) + meta:set_string("pl1","") + meta:set_string("pl2","") + meta:set_int("pl1step",0) + meta:set_int("pl2step",0) +end + +minetest.register_node("exchange:chest", { + description = "Exchange chest", + tiles = {"default_chest_top.png"}, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + sounds = default.node_sound_wood_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("infotext", "Exchange chest") + meta:set_string("pl1","") + meta:set_string("pl2","") + exchange.update_formspec(meta) + local inv = meta:get_inventory() + inv:set_size("pl1", 3*4) + inv:set_size("pl2", 3*4) + end, + on_receive_fields = function(pos, formname, fields, sender) + local meta = minetest.env:get_meta(pos) + pl_receive_fields = function(n) + if fields[n.."_start"] and meta:get_string(n) == "" then + meta:set_string(n,sender:get_player_name()) + end + if meta:get_string(n) == "" then + meta:set_int(n.."step",0) + elseif meta:get_int(n.."step")==0 then + meta:set_int(n.."step",1) + end + if sender:get_player_name() == meta:get_string(n) then + if meta:get_int(n.."step")==1 and fields[n.."_accept1"] then + meta:set_int(n.."step",2) + end + if meta:get_int(n.."step")==2 and fields[n.."_accept2"] then + meta:set_int(n.."step",3) + if n == "pl1" and meta:get_int("pl2step") == 3 then exchange.exchange(meta) end + if n == "pl2" and meta:get_int("pl1step") == 3 then exchange.exchange(meta) end + end + if fields[n.."_cancel"] then exchange.cancel(meta) end + end + end + pl_receive_fields("pl1") pl_receive_fields("pl2") + -- End + exchange.update_formspec(meta) + end, + allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + local meta = minetest.env:get_meta(pos) + if not exchange.check_privilege(from_list,player:get_player_name(),meta) then return 0 end + if not exchange.check_privilege(to_list,player:get_player_name(),meta) then return 0 end + return count + end, + allow_metadata_inventory_put = function(pos, listname, index, stack, player) + local meta = minetest.env:get_meta(pos) + if not exchange.check_privilege(listname,player:get_player_name(),meta) then return 0 end + return stack:get_count() + end, + allow_metadata_inventory_take = function(pos, listname, index, stack, player) + local meta = minetest.env:get_meta(pos) + if not exchange.check_privilege(listname,player:get_player_name(),meta) then return 0 end + return stack:get_count() + end, +}) diff --git a/mods/farming/README.txt b/mods/farming/README.txt new file mode 100644 index 0000000..7f3ffa6 --- /dev/null +++ b/mods/farming/README.txt @@ -0,0 +1,46 @@ +===FARMING MOD for MINETEST-C55=== +by PilzAdam + +Introduction: +This mod adds farming to Minetest. + +How to install: +Unzip the archive an place it in minetest-base-directory/mods/minetest/ +if you have a windows client or a linux run-in-place client. If you have +a linux system-wide instalation place it in ~/.minetest/mods/minetest/. +If you want to install this mod only in one world create the folder +worldmods/ in your worlddirectory. +For further information or help see: +http://wiki.minetest.com/wiki/Installing_Mods + +How to use the mod: +Craft a wood/stone/steel hoe: +material material + stick + stick +Dig dirt with it and turn it to soil. Water the soil and plant the seeds +you get by digging dirt with the hoe. Wait until the seeds are seasoned +and harvest them. When harvesting you will get the product and new seeds. +For further information or help see: +http://minetest.net/forum/viewtopic.php?id=2787 + +License: +Sourcecode: WTFPL (see below) +Graphics: WTFPL (see below) + +See also: +http://minetest.net/ + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 + + Copyright (C) 2004 Sam Hocevar + + Everyone is permitted to copy and distribute verbatim or modified + copies of this license document, and changing it is allowed as long + as the name is changed. + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. You just DO WHAT THE FUCK YOU WANT TO. diff --git a/mods/farming/cactus.lua b/mods/farming/cactus.lua new file mode 100644 index 0000000..3723e70 --- /dev/null +++ b/mods/farming/cactus.lua @@ -0,0 +1,22 @@ +minetest.register_abm({ + nodenames = {"default:cactus"}, + interval = 50, + chance = 20, + action = function(pos, node) + pos.y = pos.y-1 + local name = minetest.env:get_node(pos).name + if name == "default:desert_sand" or name == "default:sand" then + pos.y = pos.y+1 + local height = 0 + while minetest.env:get_node(pos).name == "default:cactus" do + height = height+1 + pos.y = pos.y+1 + end + if height < 4 then + if minetest.env:get_node(pos).name == "air" then + minetest.env:set_node(pos, node) + end + end + end + end +}) diff --git a/mods/farming/changelog.txt b/mods/farming/changelog.txt new file mode 100644 index 0000000..80138c5 --- /dev/null +++ b/mods/farming/changelog.txt @@ -0,0 +1,17 @@ +Version 3: +- make pumpkins with face not craftable but created by punching with a sword +- change groups of pumpkins to more wood like +- add big pumpkin +- add scarecrow +- make bread non stackable +- make saplings plantable everywhere (they still grow only with light and wet soil) +- add weed +- add fuel attributes to nearly everything +- add pumpkin bread +Version 2: +- soil dont turn to dirt when walking over it +- fix hoe bug +- rename corn to wheat +- new textures for harvested wheat +- make cotton drop strings when harvested +- add rubber diff --git a/mods/farming/cotton.lua b/mods/farming/cotton.lua new file mode 100644 index 0000000..658b70e --- /dev/null +++ b/mods/farming/cotton.lua @@ -0,0 +1,93 @@ +minetest.register_craftitem("farming:cotton_seed", { + description = "Cotton Seeds", + inventory_image = "farming_cotton_seed.png", + on_place = function(itemstack, placer, pointed_thing) + local above = minetest.env:get_node(pointed_thing.above) + if above.name == "air" then + above.name = "farming:cotton_1" + minetest.env:set_node(pointed_thing.above, above) + itemstack:take_item(1) + return itemstack + end + end +}) + +minetest.register_node("farming:cotton_1", { + paramtype = "light", + sunlight_propagates = true, + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_cotton_1.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+6/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:cotton_2", { + paramtype = "light", + sunlight_propagates = true, + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_cotton_2.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+12/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:cotton", { + paramtype = "light", + sunlight_propagates = true, + walkable = false, + drawtype = "plantlike", + tiles = {"farming_cotton.png"}, + drop = { + max_items = 6, + items = { + { items = {'farming:cotton_seed'} }, + { items = {'farming:cotton_seed'}, rarity = 2}, + { items = {'farming:cotton_seed'}, rarity = 5}, + { items = {'farming:string'} }, + { items = {'farming:string'}, rarity = 2 }, + { items = {'farming:string'}, rarity = 5 } + } + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +farming:add_plant("farming:cotton", {"farming:cotton_1", "farming:cotton_2"}, 50, 20) + +minetest.register_craftitem("farming:string", { + description = "String", + inventory_image = "farming_string.png", +}) + +minetest.register_craft({ + output = "wool:white", + recipe = {{"farming:string"}} +}) + +-- ========= FUEL ========= +minetest.register_craft({ + type = "fuel", + recipe = "farming:cotton_seed", + burntime = 1 +}) + +minetest.register_craft({ + type = "fuel", + recipe = "farming:string", + burntime = 1 +}) diff --git a/mods/farming/depends.txt b/mods/farming/depends.txt new file mode 100644 index 0000000..0b8ebe0 --- /dev/null +++ b/mods/farming/depends.txt @@ -0,0 +1,3 @@ +default +bucket +wool diff --git a/mods/farming/hoes.lua b/mods/farming/hoes.lua new file mode 100644 index 0000000..33cf462 --- /dev/null +++ b/mods/farming/hoes.lua @@ -0,0 +1,83 @@ +local function create_soil(pos, inv, p) + if pos == nil then + return false + end + local node = minetest.env:get_node(pos) + local name = node.name + local above = minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}) + if name == "default:dirt" or name == "default:dirt_with_grass" then + if above.name == "air" then + node.name = "farming:soil" + minetest.env:set_node(pos, node) + if inv and p and name == "default:dirt_with_grass" then + for name,rarity in pairs(farming.seeds) do + if math.random(1, rarity-p) == 1 then + inv:add_item("main", ItemStack(name)) + end + end + end + return true + end + end + return false +end + +minetest.register_tool("farming:hoe_wood", { + description = "Wood Hoe", + inventory_image = "farming_hoe_wood.png", + on_use = function(itemstack, user, pointed_thing) + if create_soil(pointed_thing.under, user:get_inventory(), 0) then + itemstack:add_wear(65535/30) + return itemstack + end + end +}) + +minetest.register_craft({ + output = "farming:hoe_wood", + recipe = { + {"default:wood", "default:wood"}, + {"", "default:stick"}, + {"", "default:stick"} + } +}) + +minetest.register_tool("farming:hoe_stone", { + description = "Stone Hoe", + inventory_image = "farming_hoe_stone.png", + on_use = function(itemstack, user, pointed_thing) + if create_soil(pointed_thing.under, user:get_inventory(), 5) then + itemstack:add_wear(65535/50) + return itemstack + end + end +}) + +minetest.register_craft({ + output = "farming:hoe_stone", + recipe = { + {"default:cobble", "default:cobble"}, + {"", "default:stick"}, + {"", "default:stick"} + } +}) + +minetest.register_tool("farming:hoe_steel", { + description = "Steel Hoe", + inventory_image = "farming_hoe_steel.png", + on_use = function(itemstack, user, pointed_thing) + if create_soil(pointed_thing.under, user:get_inventory(), 10) then + itemstack:add_wear(65535/80) + return itemstack + end + end +}) + +minetest.register_craft({ + output = "farming:hoe_steel", + recipe = { + {"default:steel_ingot", "default:steel_ingot"}, + {"", "default:stick"}, + {"", "default:stick"} + } +}) diff --git a/mods/farming/init.lua b/mods/farming/init.lua new file mode 100644 index 0000000..56c6751 --- /dev/null +++ b/mods/farming/init.lua @@ -0,0 +1,212 @@ +farming = {} + +function farming:add_plant(full_grown, names, interval, chance) + minetest.register_abm({ + nodenames = names, + interval = interval, + chance = chance, + action = function(pos, node) + pos.y = pos.y-1 + if minetest.env:get_node(pos).name ~= "farming:soil_wet" then + return + end + pos.y = pos.y+1 + if not minetest.env:get_node_light(pos) then + return + end + if minetest.env:get_node_light(pos) < 8 then + return + end + local step = nil + for i,name in ipairs(names) do + if name == node.name then + step = i + break + end + end + if step == nil then + return + end + local new_node = {name=names[step+1]} + if new_node.name == nil then + new_node.name = full_grown + end + minetest.env:set_node(pos, new_node) + end +} ) +end + +function farming:generate_tree(pos, trunk, leaves, underground, replacements) + pos.y = pos.y-1 + local nodename = minetest.env:get_node(pos).name + local ret = true + for _,name in ipairs(underground) do + if nodename == name then + ret = false + break + end + end + pos.y = pos.y+1 + if not minetest.env:get_node_light(pos) then + return + end + if ret or minetest.env:get_node_light(pos) < 8 then + return + end + + node = {name = ""} + for dy=1,4 do + pos.y = pos.y+dy + if minetest.env:get_node(pos).name ~= "air" then + return + end + pos.y = pos.y-dy + end + node.name = trunk + for dy=0,4 do + pos.y = pos.y+dy + minetest.env:set_node(pos, node) + pos.y = pos.y-dy + end + + if not replacements then + replacements = {} + end + + node.name = leaves + pos.y = pos.y+3 + for dx=-2,2 do + for dz=-2,2 do + for dy=0,3 do + pos.x = pos.x+dx + pos.y = pos.y+dy + pos.z = pos.z+dz + + if dx == 0 and dz == 0 and dy==3 then + if minetest.env:get_node(pos).name == "air" and math.random(1, 5) <= 4 then + minetest.env:set_node(pos, node) + for name,rarity in pairs(replacements) do + if math.random(1, rarity) == 1 then + minetest.env:set_node(pos, {name=name}) + end + end + end + elseif dx == 0 and dz == 0 and dy==4 then + if minetest.env:get_node(pos).name == "air" and math.random(1, 5) <= 4 then + minetest.env:set_node(pos, node) + for name,rarity in pairs(replacements) do + if math.random(1, rarity) == 1 then + minetest.env:set_node(pos, {name=name}) + end + end + end + elseif math.abs(dx) ~= 2 and math.abs(dz) ~= 2 then + if minetest.env:get_node(pos).name == "air" then + minetest.env:set_node(pos, node) + for name,rarity in pairs(replacements) do + if math.random(1, rarity) == 1 then + minetest.env:set_node(pos, {name=name}) + end + end + end + else + if math.abs(dx) ~= 2 or math.abs(dz) ~= 2 then + if minetest.env:get_node(pos).name == "air" and math.random(1, 5) <= 4 then + minetest.env:set_node(pos, node) + for name,rarity in pairs(replacements) do + if math.random(1, rarity) == 1 then + minetest.env:set_node(pos, {name=name}) + end + end + end + end + end + + pos.x = pos.x-dx + pos.y = pos.y-dy + pos.z = pos.z-dz + end + end + end +end + +farming.seeds = { + ["farming:wheat_seed"]=20, + ["farming:cotton_seed"]=30, + ["farming:pumpkin_seed"]=60, +} + +-- ========= ALIASES FOR FARMING MOD BY SAPIER ========= +-- hoes +minetest.register_alias("farming:wood_hoe", "farming:hoe_wood") +minetest.register_alias("farming:cobble_hoe", "farming:hoe_stone") +minetest.register_alias("farming:steel_hoe", "farming:hoe_steel") +minetest.register_alias("farming:mese_hoe", "farming:hoe_steel") + +-- wheat -> wheat +minetest.register_alias("farming:wheat_node", "farming:wheat") +--minetest.register_alias("farming:wheat", "farming_wheat_harvested") cant do this +minetest.register_alias("farming:wheat_straw", "farming:wheat") +minetest.register_alias("farming:seed_wheat", "farming:wheat_seed") +for lvl = 1, 6, 1 do + minetest.register_entity(":farming:wheat_lvl"..lvl, { + on_activate = function(self, staticdata) + minetest.env:set_node(self.object:getpos(), {name="farming:wheat_1"}) + end + }) +end + +-- rye -> wheat +minetest.register_alias("farming:rhy_node", "farming:wheat") +minetest.register_alias("farming:rhy", "farming:wheat_harvested") +minetest.register_alias("farming:rhy_straw", "farming:wheat") +minetest.register_alias("farming:seed_rhy", "farming:wheat_seed") +for lvl = 1, 6, 1 do + minetest.register_entity(":farming:rhy_lvl"..lvl, { + on_activate = function(self, staticdata) + minetest.env:set_node(self.object:getpos(), {name="farming:wheat_1"}) + end + }) +end + +-- corn -> wheat +minetest.register_alias("farming:corn_node", "farming:wheat") +minetest.register_alias("farming:corn", "farming:wheat_harvested") +minetest.register_alias("farming:corn_straw", "farming:wheat") +minetest.register_alias("farming:seed_corn", "farming:wheat_seed") +for lvl = 1, 6, 1 do + minetest.register_entity(":farming:corn_lvl"..lvl, { + on_activate = function(self, staticdata) + minetest.env:set_node(self.object:getpos(), {name="farming:wheat_1"}) + end + }) +end + + +-- ========= SOIL ========= +dofile(minetest.get_modpath("farming").."/soil.lua") + +-- ========= HOES ========= +dofile(minetest.get_modpath("farming").."/hoes.lua") + +-- ========= CORN ========= +dofile(minetest.get_modpath("farming").."/wheat.lua") + +-- ========= COTTON ========= +dofile(minetest.get_modpath("farming").."/cotton.lua") + +-- ========= PUMPKIN ========= +dofile(minetest.get_modpath("farming").."/pumpkin.lua") + +-- ========= WEED ========= +dofile(minetest.get_modpath("farming").."/weed.lua") + +-- ========= PAPYRUS ========= +dofile(minetest.get_modpath("farming").."/papyrus.lua") + +-- ========= CACTUS ========= +dofile(minetest.get_modpath("farming").."/cactus.lua") + +if minetest.setting_get("log_mods") then + minetest.log("action", "farming loaded") +end diff --git a/mods/farming/papyrus.lua b/mods/farming/papyrus.lua new file mode 100644 index 0000000..d33e072 --- /dev/null +++ b/mods/farming/papyrus.lua @@ -0,0 +1,25 @@ +minetest.register_abm({ + nodenames = {"default:papyrus"}, + interval = 50, + chance = 20, + action = function(pos, node) + pos.y = pos.y-1 + local name = minetest.env:get_node(pos).name + if name == "default:dirt" or name == "default:dirt_with_grass" then + if minetest.env:find_node_near(pos, 3, {"default:water_source", "default:water_flowing"}) == nil then + return + end + pos.y = pos.y+1 + local height = 0 + while minetest.env:get_node(pos).name == "default:papyrus" do + height = height+1 + pos.y = pos.y+1 + end + if height < 4 then + if minetest.env:get_node(pos).name == "air" then + minetest.env:set_node(pos, node) + end + end + end + end +}) diff --git a/mods/farming/pumpkin.lua b/mods/farming/pumpkin.lua new file mode 100644 index 0000000..e622f6f --- /dev/null +++ b/mods/farming/pumpkin.lua @@ -0,0 +1,454 @@ +minetest.register_craftitem("farming:pumpkin_seed", { + description = "Pumpkin Seed", + inventory_image = "farming_pumpkin_seed.png", + on_place = function(itemstack, placer, pointed_thing) + local above = minetest.env:get_node(pointed_thing.above) + if above.name == "air" then + above.name = "farming:pumpkin_1" + minetest.env:set_node(pointed_thing.above, above) + itemstack:take_item(1) + return itemstack + end + end +}) + +minetest.register_node("farming:pumpkin_1", { + paramtype = "light", + sunlight_propagates = true, + drawtype = "nodebox", + drop = "", + tiles = {"farming_pumpkin_top.png", "farming_pumpkin_top.png", "farming_pumpkin_side.png", "farming_pumpkin_side.png", "farming_pumpkin_side.png", "farming_pumpkin_side.png"}, + node_box = { + type = "fixed", + fixed = { + {-0.2, -0.5, -0.2, 0.2, -0.1, 0.2} + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.2, -0.5, -0.2, 0.2, -0.1, 0.2} + }, + }, + groups = {choppy=2, oddly_breakable_by_hand=2, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("farming:pumpkin_2", { + paramtype = "light", + sunlight_propagates = true, + drawtype = "nodebox", + drop = "", + tiles = {"farming_pumpkin_top.png", "farming_pumpkin_top.png", "farming_pumpkin_side.png", "farming_pumpkin_side.png", "farming_pumpkin_side.png", "farming_pumpkin_side.png"}, + node_box = { + type = "fixed", + fixed = { + {-0.35, -0.5, -0.35, 0.35, 0.2, 0.35} + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.35, -0.5, -0.35, 0.35, 0.2, 0.35} + }, + }, + groups = {choppy=2, oddly_breakable_by_hand=2, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("farming:pumpkin", { + description = "Pumpkin", + paramtype2 = "facedir", + tiles = {"farming_pumpkin_top.png", "farming_pumpkin_top.png", "farming_pumpkin_side.png", "farming_pumpkin_side.png", "farming_pumpkin_side.png", "farming_pumpkin_side.png"}, + groups = {choppy=2, oddly_breakable_by_hand=2, flammable=2}, + sounds = default.node_sound_wood_defaults(), + + on_punch = function(pos, node, puncher) + local tool = puncher:get_wielded_item():get_name() + if tool and tool == "default:sword_wood" or tool == "default:sword_stone" or tool == "default:sword_steel" then + node.name = "farming:pumpkin_face" + minetest.env:set_node(pos, node) + puncher:get_inventory():add_item("main", ItemStack("farming:pumpkin_seed")) + if math.random(1, 5) == 1 then + puncher:get_inventory():add_item("main", ItemStack("farming:pumpkin_seed")) + end + end + end +}) + +farming:add_plant("farming:pumpkin", {"farming:pumpkin_1", "farming:pumpkin_2"}, 80, 20) + +minetest.register_node("farming:pumpkin_face", { + description = "Pumpkin", + paramtype2 = "facedir", + tiles = {"farming_pumpkin_top.png", "farming_pumpkin_top.png", "farming_pumpkin_side.png", "farming_pumpkin_side.png", "farming_pumpkin_side.png", "farming_pumpkin_face.png"}, + groups = {choppy=2, oddly_breakable_by_hand=2, flammable=2}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("farming:pumpkin_face_light", { + description = "Pumpkin", + paramtype2 = "facedir", + light_source = LIGHT_MAX-2, + tiles = {"farming_pumpkin_top.png", "farming_pumpkin_top.png", "farming_pumpkin_side.png", "farming_pumpkin_side.png", "farming_pumpkin_side.png", "farming_pumpkin_face_light.png"}, + groups = {choppy=2, oddly_breakable_by_hand=2, flammable=2}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_craft({ + type = "shapeless", + output = "farming:pumpkin_face_light", + recipe = {"farming:pumpkin_face", "default:torch"} +}) + +-- ========= BIG PUMPKIN ========= +minetest.register_node("farming:big_pumpkin", { + description = "Big Pumpkin", + paramtype2 = "facedir", + tiles = {"farming_pumpkin_big_side.png"}, + selection_box = { + type = "fixed", + fixed = { + {-1, -0.5, -1, 1, 1.5, 1} + } + }, + groups = {choppy=1, oddly_breakable_by_hand=1, flammable=2}, + sounds = default.node_sound_wood_defaults(), + + after_place_node = function(pos, placer) + for dx=-1,1 do + for dy=0,1 do + for dz=-1,1 do + pos.x = pos.x+dx + pos.y = pos.y+dy + pos.z = pos.z+dz + if dx ~= 0 or dy ~= 0 or dz ~= 0 then + if minetest.env:get_node(pos).name ~= "air" then + pos.x = pos.x-dx + pos.y = pos.y-dy + pos.z = pos.z-dz + minetest.env:remove_node(pos) + minetest.after(0.1, function(placer) + local inv = placer:get_inventory() + local index = placer:get_wield_index() + inv:set_stack("main", index, ItemStack("farming:big_pumpkin")) + end, placer) + return + end + end + pos.x = pos.x-dx + pos.y = pos.y-dy + pos.z = pos.z-dz + end + end + end + for dy=0,1 do + pos.y = pos.y+dy + pos.z = pos.z+1 + minetest.env:set_node(pos, {name="farming:big_pumpkin_side", param2=2}) + pos.x = pos.x-1 + minetest.env:set_node(pos, {name="farming:big_pumpkin_corner", param2=2}) + pos.x = pos.x+1 + pos.z = pos.z-2 + minetest.env:set_node(pos, {name="farming:big_pumpkin_side", param2=4}) + pos.x = pos.x+1 + minetest.env:set_node(pos, {name="farming:big_pumpkin_corner", param2=4}) + pos.z = pos.z+1 + minetest.env:set_node(pos, {name="farming:big_pumpkin_side", param2=3}) + pos.z = pos.z+1 + minetest.env:set_node(pos, {name="farming:big_pumpkin_corner", param2=3}) + pos.z = pos.z-1 + pos.x = pos.x-2 + minetest.env:set_node(pos, {name="farming:big_pumpkin_side", param2=1}) + pos.z = pos.z-1 + minetest.env:set_node(pos, {name="farming:big_pumpkin_corner", param2=1}) + pos.z = pos.z+1 + pos.x = pos.x+1 + pos.y = pos.y-dy + end + pos.y = pos.y+1 + minetest.env:set_node(pos, {name="farming:big_pumpkin_top"}) + end, + + after_destruct = function(pos, oldnode) + for dx=-1,1 do + for dy=0,1 do + for dz=-1,1 do + pos.x = pos.x+dx + pos.y = pos.y+dy + pos.z = pos.z+dz + local name = minetest.env:get_node(pos).name + if string.find(name, "farming:big_pumpkin") then + minetest.env:remove_node(pos) + end + pos.x = pos.x-dx + pos.y = pos.y-dy + pos.z = pos.z-dz + end + end + end + end +}) + +minetest.register_node("farming:big_pumpkin_side", { + paramtype = "light", + sunlight_propagates = true, + paramtype2 = "facedir", + tiles = {"farming_pumpkin_big_top_side.png", "farming_pumpkin_big_side.png"}, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, 0, 0.5, 0.5, 0.5} + } + }, + selection_box = { + type = "fixed", + fixed = { + {0, 0, 0, 0, 0, 0} + } + }, + groups = {not_in_creative_inventory=1}, +}) +minetest.register_node("farming:big_pumpkin_corner", { + paramtype = "light", + sunlight_propagates = true, + paramtype2 = "facedir", + tiles = {"farming_pumpkin_big_top_corner.png", "farming_pumpkin_big_side.png"}, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, 0, 0, 0.5, 0.5} + } + }, + selection_box = { + type = "fixed", + fixed = { + {0, 0, 0, 0, 0, 0} + } + }, + groups = {not_in_creative_inventory=1}, +}) + +minetest.register_node("farming:big_pumpkin_top", { + paramtype = "light", + sunlight_propagates = true, + tiles = {"farming_pumpkin_big_top.png"}, + selection_box = { + type = "fixed", + fixed = { + {0, 0, 0, 0, 0, 0} + } + }, + groups = {not_in_creative_inventory=1}, +}) + +minetest.register_craft({ + type = "shapeless", + output = "farming:big_pumpkin", + recipe = {"bucket:bucket_water", "farming:pumpkin"}, + replacements = { + {"bucket:bucket_water", "bucket:bucket_empty"} + } +}) + +-- ========= SCARECROW ========= +local box1 = { + {-1, -8, -1, 1, 8, 1}, +} + +local box2 = { + {-1, -8, -1, 1, 8, 1}, + {-12, -8, -1, 12, -7, 1}, + {-5, -2, -5, 5, 8, 5} +} + +for j,list in ipairs(box1) do + for i,int in ipairs(list) do + list[i] = int/16 + end + box1[j] = list +end + +for j,list in ipairs(box2) do + for i,int in ipairs(list) do + list[i] = int/16 + end + box2[j] = list +end + +minetest.register_node("farming:scarecrow", { + description = "Scarecrow", + paramtype = "light", + sunlight_propagates = true, + paramtype2 = "facedir", + tiles = {"farming_scarecrow_top.png", "farming_scarecrow_top.png", "farming_scarecrow_side.png", "farming_scarecrow_side.png", "farming_scarecrow_side.png", "farming_scarecrow_front.png"}, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = box2 + }, + selection_box = { + type = "fixed", + fixed = { + {-12/16, -1.5, -0.5, 12/16, 0.5, 0.5} + } + }, + groups = {choppy=2, oddly_breakable_by_hand=2, flammable=2}, + + after_place_node = function(pos, placer) + local node = minetest.env:get_node(pos) + local param2 = node.param2 + pos.y = pos.y+1 + if minetest.env:get_node(pos).name ~= "air" then + pos.y = pos.y-1 + minetest.env:remove_node(pos) + minetest.after(0.1, function(placer) + local inv = placer:get_inventory() + local index = placer:get_wield_index() + inv:set_stack("main", index, ItemStack("farming:scarecrow")) + end, placer) + return + end + minetest.env:set_node(pos, node) + pos.y = pos.y-1 + node.name = "farming:scarecrow_bottom" + minetest.env:set_node(pos, node) + end, + + after_destruct = function(pos, oldnode) + pos.y = pos.y-1 + if minetest.env:get_node(pos).name == "farming:scarecrow_bottom" then + minetest.env:remove_node(pos) + end + end +}) + +minetest.register_node("farming:scarecrow_bottom", { + paramtype = "light", + sunlight_propagates = true, + paramtype2 = "facedir", + tiles = {"default_wood.png"}, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = box1 + }, + groups = {not_in_creative_inventory=1}, + selection_box = { + type = "fixed", + fixed = { + {0, 0, 0, 0, 0, 0} + } + } +}) + +minetest.register_craft({ + output = "farming:scarecrow", + recipe = { + {"", "farming:pumpkin_face", "",}, + {"default:stick", "default:stick", "default:stick",}, + {"", "default:stick", "",} + } +}) + +minetest.register_node("farming:scarecrow_light", { + description = "Scarecrow", + paramtype = "light", + sunlight_propagates = true, + paramtype2 = "facedir", + light_source = LIGHT_MAX-2, + tiles = {"farming_scarecrow_top.png", "farming_scarecrow_top.png", "farming_scarecrow_side.png", "farming_scarecrow_side.png", "farming_scarecrow_side.png", "farming_scarecrow_front_light.png"}, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = box2 + }, + selection_box = { + type = "fixed", + fixed = { + {-12/16, -1.5, -0.5, 12/16, 0.5, 0.5} + } + }, + groups = {choppy=2, oddly_breakable_by_hand=2, flammable=2}, + + after_place_node = function(pos, placer) + local node = minetest.env:get_node(pos) + local param2 = node.param2 + pos.y = pos.y+1 + if minetest.env:get_node(pos).name ~= "air" then + pos.y = pos.y-1 + minetest.env:remove_node(pos) + minetest.after(0.1, function(placer) + local inv = placer:get_inventory() + local index = placer:get_wield_index() + inv:set_stack("main", index, ItemStack("farming:scarecrow_light")) + end, placer) + return + end + minetest.env:set_node(pos, node) + pos.y = pos.y-1 + node.name = "farming:scarecrow_bottom" + minetest.env:set_node(pos, node) + end, + + after_destruct = function(pos, oldnode) + pos.y = pos.y-1 + if minetest.env:get_node(pos).name == "farming:scarecrow_bottom" then + minetest.env:remove_node(pos) + end + end +}) + +minetest.register_craft({ + output = "farming:scarecrow_light", + recipe = { + {"", "farming:pumpkin_face_light", "",}, + {"default:stick", "default:stick", "default:stick",}, + {"", "default:stick", "",} + } +}) + +-- ========= FUEL ========= +minetest.register_craft({ + type = "fuel", + recipe = "farming:pumpkin_seed", + burntime = 1 +}) + +minetest.register_craft({ + type = "fuel", + recipe = "farming:pumpkin", + burntime = 5 +}) + +minetest.register_craft({ + type = "fuel", + recipe = "farming:pumpkin_face", + burntime = 5 +}) + +minetest.register_craft({ + type = "fuel", + recipe = "farming:pumpkin_face_light", + burntime = 7 +}) + +minetest.register_craft({ + type = "fuel", + recipe = "farming:big_pumpkin", + burntime = 10 +}) + +minetest.register_craft({ + type = "fuel", + recipe = "farming:scarecrow", + burntime = 5 +}) + +minetest.register_craft({ + type = "fuel", + recipe = "farming:scarecrow_light", + burntime = 5 +}) diff --git a/mods/farming/soil.lua b/mods/farming/soil.lua new file mode 100644 index 0000000..f800335 --- /dev/null +++ b/mods/farming/soil.lua @@ -0,0 +1,45 @@ +minetest.register_node("farming:soil", { + tiles = {"farming_soil.png", "default_dirt.png", "default_dirt.png", "default_dirt.png", "default_dirt.png", "default_dirt.png"}, + drop = "default:dirt", + groups = {crumbly=3, not_in_creative_inventory=1}, + sounds = default.node_sound_dirt_defaults({ + footstep = {name="default_grass_footstep", gain=0.4}, + }), +}) + +minetest.register_node("farming:soil_wet", { + tiles = {"farming_soil_wet.png", "farming_soil_wet_side.png", "farming_soil_wet_side.png", "farming_soil_wet_side.png", "farming_soil_wet_side.png", "farming_soil_wet_side.png"}, + drop = "default:dirt", + groups = {crumbly=3, not_in_creative_inventory=1}, + sounds = default.node_sound_dirt_defaults({ + footstep = {name="default_grass_footstep", gain=0.4}, + }), +}) + +minetest.register_abm({ + nodenames = {"farming:soil"}, + interval = 15, + chance = 3, + action = function(pos, node) + if minetest.env:find_node_near(pos, 4, {"default:water_source", "default:water_flowing"}) then + node.name = "farming:soil_wet" + minetest.env:set_node(pos, node) + end + end, +}) + +-- ========= EXPERIMENTAL ========= +-- This will turn soil to dirt when walking over it +--[[minetest.register_abm({ + nodenames = {"farming:soil", "farming:soil_wet"}, + interval = 2, + chance = 2, + action = function(pos, node) + pos.y = pos.y+1 + if #(minetest.env:get_objects_inside_radius(pos, 0.8)) > 0 then + pos.y = pos.y-1 + node.name = "default:dirt" + minetest.env:set_node(pos, node) + end + end, +})]] diff --git a/mods/farming/textures/farming_bread.png b/mods/farming/textures/farming_bread.png new file mode 100644 index 0000000..6dca983 Binary files /dev/null and b/mods/farming/textures/farming_bread.png differ diff --git a/mods/farming/textures/farming_bread_pumpkin.png b/mods/farming/textures/farming_bread_pumpkin.png new file mode 100644 index 0000000..44db02e Binary files /dev/null and b/mods/farming/textures/farming_bread_pumpkin.png differ diff --git a/mods/farming/textures/farming_cake_mix.png b/mods/farming/textures/farming_cake_mix.png new file mode 100644 index 0000000..5c4b197 Binary files /dev/null and b/mods/farming/textures/farming_cake_mix.png differ diff --git a/mods/farming/textures/farming_cake_mix_pumpkin.png b/mods/farming/textures/farming_cake_mix_pumpkin.png new file mode 100644 index 0000000..171e486 Binary files /dev/null and b/mods/farming/textures/farming_cake_mix_pumpkin.png differ diff --git a/mods/farming/textures/farming_cotton.png b/mods/farming/textures/farming_cotton.png new file mode 100644 index 0000000..8b8d367 Binary files /dev/null and b/mods/farming/textures/farming_cotton.png differ diff --git a/mods/farming/textures/farming_cotton_1.png b/mods/farming/textures/farming_cotton_1.png new file mode 100644 index 0000000..bc72c7e Binary files /dev/null and b/mods/farming/textures/farming_cotton_1.png differ diff --git a/mods/farming/textures/farming_cotton_2.png b/mods/farming/textures/farming_cotton_2.png new file mode 100644 index 0000000..70b6eef Binary files /dev/null and b/mods/farming/textures/farming_cotton_2.png differ diff --git a/mods/farming/textures/farming_cotton_seed.png b/mods/farming/textures/farming_cotton_seed.png new file mode 100644 index 0000000..4154062 Binary files /dev/null and b/mods/farming/textures/farming_cotton_seed.png differ diff --git a/mods/farming/textures/farming_flour.png b/mods/farming/textures/farming_flour.png new file mode 100644 index 0000000..7c302bf Binary files /dev/null and b/mods/farming/textures/farming_flour.png differ diff --git a/mods/farming/textures/farming_hoe_steel.png b/mods/farming/textures/farming_hoe_steel.png new file mode 100644 index 0000000..0d892b4 Binary files /dev/null and b/mods/farming/textures/farming_hoe_steel.png differ diff --git a/mods/farming/textures/farming_hoe_stone.png b/mods/farming/textures/farming_hoe_stone.png new file mode 100644 index 0000000..6b2da0b Binary files /dev/null and b/mods/farming/textures/farming_hoe_stone.png differ diff --git a/mods/farming/textures/farming_hoe_wood.png b/mods/farming/textures/farming_hoe_wood.png new file mode 100644 index 0000000..6b33f6e Binary files /dev/null and b/mods/farming/textures/farming_hoe_wood.png differ diff --git a/mods/farming/textures/farming_pumpkin_big_side.png b/mods/farming/textures/farming_pumpkin_big_side.png new file mode 100644 index 0000000..2651380 Binary files /dev/null and b/mods/farming/textures/farming_pumpkin_big_side.png differ diff --git a/mods/farming/textures/farming_pumpkin_big_top.png b/mods/farming/textures/farming_pumpkin_big_top.png new file mode 100644 index 0000000..581accc Binary files /dev/null and b/mods/farming/textures/farming_pumpkin_big_top.png differ diff --git a/mods/farming/textures/farming_pumpkin_big_top_corner.png b/mods/farming/textures/farming_pumpkin_big_top_corner.png new file mode 100644 index 0000000..ab1de28 Binary files /dev/null and b/mods/farming/textures/farming_pumpkin_big_top_corner.png differ diff --git a/mods/farming/textures/farming_pumpkin_big_top_side.png b/mods/farming/textures/farming_pumpkin_big_top_side.png new file mode 100644 index 0000000..e2eb1a7 Binary files /dev/null and b/mods/farming/textures/farming_pumpkin_big_top_side.png differ diff --git a/mods/farming/textures/farming_pumpkin_face.png b/mods/farming/textures/farming_pumpkin_face.png new file mode 100644 index 0000000..90c0f8a Binary files /dev/null and b/mods/farming/textures/farming_pumpkin_face.png differ diff --git a/mods/farming/textures/farming_pumpkin_face_light.png b/mods/farming/textures/farming_pumpkin_face_light.png new file mode 100644 index 0000000..cef4866 Binary files /dev/null and b/mods/farming/textures/farming_pumpkin_face_light.png differ diff --git a/mods/farming/textures/farming_pumpkin_seed.png b/mods/farming/textures/farming_pumpkin_seed.png new file mode 100644 index 0000000..6933bc3 Binary files /dev/null and b/mods/farming/textures/farming_pumpkin_seed.png differ diff --git a/mods/farming/textures/farming_pumpkin_side.png b/mods/farming/textures/farming_pumpkin_side.png new file mode 100644 index 0000000..3a3f9da Binary files /dev/null and b/mods/farming/textures/farming_pumpkin_side.png differ diff --git a/mods/farming/textures/farming_pumpkin_top.png b/mods/farming/textures/farming_pumpkin_top.png new file mode 100644 index 0000000..edef2d9 Binary files /dev/null and b/mods/farming/textures/farming_pumpkin_top.png differ diff --git a/mods/farming/textures/farming_scarecrow_front.png b/mods/farming/textures/farming_scarecrow_front.png new file mode 100644 index 0000000..364738f Binary files /dev/null and b/mods/farming/textures/farming_scarecrow_front.png differ diff --git a/mods/farming/textures/farming_scarecrow_front_light.png b/mods/farming/textures/farming_scarecrow_front_light.png new file mode 100644 index 0000000..b4b3cf2 Binary files /dev/null and b/mods/farming/textures/farming_scarecrow_front_light.png differ diff --git a/mods/farming/textures/farming_scarecrow_side.png b/mods/farming/textures/farming_scarecrow_side.png new file mode 100644 index 0000000..e22e84b Binary files /dev/null and b/mods/farming/textures/farming_scarecrow_side.png differ diff --git a/mods/farming/textures/farming_scarecrow_top.png b/mods/farming/textures/farming_scarecrow_top.png new file mode 100644 index 0000000..3a4addc Binary files /dev/null and b/mods/farming/textures/farming_scarecrow_top.png differ diff --git a/mods/farming/textures/farming_soil.png b/mods/farming/textures/farming_soil.png new file mode 100644 index 0000000..eac9843 Binary files /dev/null and b/mods/farming/textures/farming_soil.png differ diff --git a/mods/farming/textures/farming_soil_wet.png b/mods/farming/textures/farming_soil_wet.png new file mode 100644 index 0000000..398f727 Binary files /dev/null and b/mods/farming/textures/farming_soil_wet.png differ diff --git a/mods/farming/textures/farming_soil_wet_side.png b/mods/farming/textures/farming_soil_wet_side.png new file mode 100644 index 0000000..dd7f9b6 Binary files /dev/null and b/mods/farming/textures/farming_soil_wet_side.png differ diff --git a/mods/farming/textures/farming_string.png b/mods/farming/textures/farming_string.png new file mode 100644 index 0000000..f417ec4 Binary files /dev/null and b/mods/farming/textures/farming_string.png differ diff --git a/mods/farming/textures/farming_weed.png b/mods/farming/textures/farming_weed.png new file mode 100644 index 0000000..4667287 Binary files /dev/null and b/mods/farming/textures/farming_weed.png differ diff --git a/mods/farming/textures/farming_wheat.png b/mods/farming/textures/farming_wheat.png new file mode 100644 index 0000000..a508318 Binary files /dev/null and b/mods/farming/textures/farming_wheat.png differ diff --git a/mods/farming/textures/farming_wheat_1.png b/mods/farming/textures/farming_wheat_1.png new file mode 100644 index 0000000..007ecf3 Binary files /dev/null and b/mods/farming/textures/farming_wheat_1.png differ diff --git a/mods/farming/textures/farming_wheat_2.png b/mods/farming/textures/farming_wheat_2.png new file mode 100644 index 0000000..40956a7 Binary files /dev/null and b/mods/farming/textures/farming_wheat_2.png differ diff --git a/mods/farming/textures/farming_wheat_3.png b/mods/farming/textures/farming_wheat_3.png new file mode 100644 index 0000000..7dc89a7 Binary files /dev/null and b/mods/farming/textures/farming_wheat_3.png differ diff --git a/mods/farming/textures/farming_wheat_harvested.png b/mods/farming/textures/farming_wheat_harvested.png new file mode 100644 index 0000000..5abde6d Binary files /dev/null and b/mods/farming/textures/farming_wheat_harvested.png differ diff --git a/mods/farming/textures/farming_wheat_seed.png b/mods/farming/textures/farming_wheat_seed.png new file mode 100644 index 0000000..bf2ac77 Binary files /dev/null and b/mods/farming/textures/farming_wheat_seed.png differ diff --git a/mods/farming/weed.lua b/mods/farming/weed.lua new file mode 100644 index 0000000..7331f38 --- /dev/null +++ b/mods/farming/weed.lua @@ -0,0 +1,40 @@ +minetest.register_node("farming:weed", { + description = "Weed", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + drawtype = "plantlike", + tiles = {"farming_weed.png"}, + inventory_image = "farming_weed.png", + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+4/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2}, + sounds = default.node_sound_leaves_defaults() +}) + +minetest.register_abm({ + nodenames = {"farming:soil_wet", "farming:soil"}, + interval = 50, + chance = 10, + action = function(pos, node) + if minetest.env:find_node_near(pos, 4, {"farming:scarecrow", "farming:scarecrow_light"}) ~= nil then + return + end + pos.y = pos.y+1 + if minetest.env:get_node(pos).name == "air" then + node.name = "farming:weed" + minetest.env:set_node(pos, node) + end + end +}) + +-- ========= FUEL ========= +minetest.register_craft({ + type = "fuel", + recipe = "farming:weed", + burntime = 1 +}) \ No newline at end of file diff --git a/mods/farming/wheat.lua b/mods/farming/wheat.lua new file mode 100644 index 0000000..4afbd90 --- /dev/null +++ b/mods/farming/wheat.lua @@ -0,0 +1,176 @@ +minetest.register_craftitem("farming:wheat_seed", { + description = "Wheat Seeds", + inventory_image = "farming_wheat_seed.png", + on_place = function(itemstack, placer, pointed_thing) + local above = minetest.env:get_node(pointed_thing.above) + if above.name == "air" then + above.name = "farming:wheat_1" + minetest.env:set_node(pointed_thing.above, above) + itemstack:take_item(1) + return itemstack + end + end +}) + +minetest.register_node("farming:wheat_1", { + paramtype = "light", + sunlight_propagates = true, + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_wheat_1.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+4/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:wheat_2", { + sunlight_propagates = true, + paramtype = "light", + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_wheat_2.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+7/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:wheat_3", { + sunlight_propagates = true, + paramtype = "light", + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_wheat_3.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+13/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:wheat", { + sunlight_propagates = true, + paramtype = "light", + walkable = false, + drawtype = "plantlike", + tiles = {"farming_wheat.png"}, + drop = { + max_items = 4, + items = { + { items = {'farming:wheat_seed'} }, + { items = {'farming:wheat_seed'}, rarity = 2}, + { items = {'farming:wheat_seed'}, rarity = 5}, + { items = {'farming:wheat_harvested'} } + } + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +farming:add_plant("farming:wheat", {"farming:wheat_1", "farming:wheat_2", "farming:wheat_3"}, 50, 20) + +minetest.register_craftitem("farming:wheat_harvested", { + description = "Harvested Wheat", + inventory_image = "farming_wheat_harvested.png", +}) + +minetest.register_craft({ + output = "farming:flour", + recipe = { + {"farming:wheat_harvested", } + } +}) + +minetest.register_craftitem("farming:flour", { + description = "Flour", + inventory_image = "farming_flour.png", +}) + +minetest.register_craft({ + output = "farming:dough", + type = "shapeless", + recipe = {"farming:flour", "farming:flour", "farming:flour", "farming:flour", "bucket:bucket_water"}, + replacements = {{"bucket:bucket_water", "bucket:bucket_empty"}} +}) + +minetest.register_alias("farming:cake_mix","farming:dough") + +minetest.register_craftitem("farming:dough", { + description = "Bread Dough", + inventory_image = "farming_cake_mix.png", +}) + +minetest.register_craft({ + type = "cooking", + output = "farming:bread", + recipe = "farming:dough", + cooktime = 10 +}) + +minetest.register_craftitem("farming:bread", { + description = "Bread", + inventory_image = "farming_bread.png", + stack_max = 1, + groups = {food=2}, + on_use = minetest.item_eat(10) +}) + +minetest.register_craftitem("farming:pumpkin_bread", { + description = "Pumpkin Bread", + inventory_image = "farming_bread_pumpkin.png", + stack_max = 1, + on_use = minetest.item_eat(20) +}) + +minetest.register_craftitem("farming:pumpkin_cake_mix", { + description = "Pumpkin Cake Mix", + inventory_image = "farming_cake_mix_pumpkin.png", +}) + +minetest.register_craft({ + output = "farming:pumpkin_cake_mix", + type = "shapeless", + recipe = {"farming:cake_mix", "farming:pumpkin"} +}) + +minetest.register_craft({ + type = "cooking", + output = "farming:pumpkin_bread", + recipe = "farming:pumpkin_cake_mix", + cooktime = 10 +}) + +minetest.register_alias("farming:corn_seed", "farming:wheat_seed") +minetest.register_alias("farming:corn_1", "farming:wheat_1") +minetest.register_alias("farming:corn_2", "farming:wheat_2") +minetest.register_alias("farming:corn_3", "farming:wheat_3") +minetest.register_alias("farming:corn", "farming:wheat") +minetest.register_alias("farming:corn_harvested", "farming:wheat_harvested") + +-- ========= FUEL ========= +minetest.register_craft({ + type = "fuel", + recipe = "farming:wheat_seed", + burntime = 1 +}) + +minetest.register_craft({ + type = "fuel", + recipe = "farming:wheat_harvested", + burntime = 2 +}) diff --git a/mods/farming_plus/README.txt b/mods/farming_plus/README.txt new file mode 100644 index 0000000..96117dd --- /dev/null +++ b/mods/farming_plus/README.txt @@ -0,0 +1,48 @@ +===FARMING MOD for MINETEST-C55=== +by PilzAdam + +Extended Version + +Introduction: +This mod adds farming to Minetest. + +How to install: +Unzip the archive an place it in minetest-base-directory/mods/minetest/ +if you have a windows client or a linux run-in-place client. If you have +a linux system-wide instalation place it in ~/.minetest/mods/minetest/. +If you want to install this mod only in one world create the folder +worldmods/ in your worlddirectory. +For further information or help see: +http://wiki.minetest.com/wiki/Installing_Mods + +How to use the mod: +Craft a wood/stone/steel hoe: +material material + stick + stick +Dig dirt with it and turn it to soil. Water the soil and plant the seeds +you get by digging dirt with the hoe. Wait until the seeds are seasoned +and harvest them. When harvesting you will get the product and new seeds. +For further information or help see: +http://minetest.net/forum/viewtopic.php?id=2787 + +License: +Sourcecode: WTFPL (see below) +Graphics: WTFPL (see below) + +See also: +http://minetest.net/ + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 + + Copyright (C) 2004 Sam Hocevar + + Everyone is permitted to copy and distribute verbatim or modified + copies of this license document, and changing it is allowed as long + as the name is changed. + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. You just DO WHAT THE FUCK YOU WANT TO. diff --git a/mods/farming_plus/bananas.lua b/mods/farming_plus/bananas.lua new file mode 100644 index 0000000..8023b48 --- /dev/null +++ b/mods/farming_plus/bananas.lua @@ -0,0 +1,63 @@ +minetest.register_node("farming_plus:banana_sapling", { + description = "Banana Tree Sapling", + drawtype = "plantlike", + tiles = {"farming_banana_sapling.png"}, + inventory_image = "farming_banana_sapling.png", + wield_image = "farming_banana_sapling.png", + paramtype = "light", + walkable = false, + groups = {dig_immediate=3,flammable=2}, + sounds = default.node_sound_defaults(), +}) + +minetest.register_node("farming_plus:banana_leaves", { + drawtype = "allfaces_optional", + tiles = {"farming_banana_leaves.png"}, + paramtype = "light", + groups = {snappy=3, leafdecay=3, flammable=2, not_in_creative_inventory=1}, + drop = { + max_items = 1, + items = { + { + items = {'farming_plus:banana_sapling'}, + rarity = 20, + }, + } + }, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_abm({ + nodenames = {"farming_plus:banana_sapling"}, + interval = 60, + chance = 20, + action = function(pos, node) + farming:generate_tree(pos, "default:tree", "farming_plus:banana_leaves", {"default:dirt", "default:dirt_with_grass"}, {["farming_plus:banana"]=20}) + end +}) + +minetest.register_on_generated(function(minp, maxp, blockseed) + if math.random(1, 100) > 5 then + return + end + local tmp = {x=(maxp.x-minp.x)/2+minp.x, y=(maxp.y-minp.y)/2+minp.y, z=(maxp.z-minp.z)/2+minp.z} + local pos = minetest.env:find_node_near(tmp, maxp.x-minp.x, {"default:dirt_with_grass"}) + if pos ~= nil then + farming:generate_tree({x=pos.x, y=pos.y+1, z=pos.z}, "default:tree", "farming_plus:banana_leaves", {"default:dirt", "default:dirt_with_grass"}, {["farming_plus:banana"]=10}) + end +end) + +minetest.register_node("farming_plus:banana", { + description = "Banana", + tiles = {"farming_banana.png"}, + inventory_image = "farming_banana.png", + wield_image = "farming_banana.png", + drawtype = "torchlike", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + groups = {fleshy=3,dig_immediate=3,flammable=2}, + sounds = default.node_sound_defaults(), + + on_use = minetest.item_eat(6), +}) diff --git a/mods/farming_plus/carrots.lua b/mods/farming_plus/carrots.lua new file mode 100644 index 0000000..20316fb --- /dev/null +++ b/mods/farming_plus/carrots.lua @@ -0,0 +1,89 @@ +minetest.register_craftitem("farming_plus:carrot_seed", { + description = "Carrot Seeds", + inventory_image = "farming_carrot_seed.png", + on_place = function(itemstack, placer, pointed_thing) + local above = minetest.env:get_node(pointed_thing.above) + if above.name == "air" then + above.name = "farming_plus:carrot_1" + minetest.env:set_node(pointed_thing.above, above) + itemstack:take_item(1) + return itemstack + end + end +}) + +minetest.register_node("farming_plus:carrot_1", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_carrot_1.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+3/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming_plus:carrot_2", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_carrot_2.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+5/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming_plus:carrot_3", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_carrot_3.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+12/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming_plus:carrot", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + tiles = {"farming_carrot_4.png"}, + drop = { + max_items = 6, + items = { + { items = {'farming_plus:carrot_seed'} }, + { items = {'farming_plus:carrot_seed'}, rarity = 2}, + { items = {'farming_plus:carrot_seed'}, rarity = 5}, + { items = {'farming_plus:carrot_item'} }, + { items = {'farming_plus:carrot_item'}, rarity = 2 }, + { items = {'farming_plus:carrot_item'}, rarity = 5 } + } + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_craftitem("farming_plus:carrot_item", { + description = "Carrot", + inventory_image = "farming_carrot.png", + on_use = minetest.item_eat(3), +}) + +farming:add_plant("farming_plus:carrot", {"farming_plus:carrot_1", "farming_plus:carrot_2", "farming_plus:carrot_3"}, 50, 20) diff --git a/mods/farming_plus/cocoa.lua b/mods/farming_plus/cocoa.lua new file mode 100644 index 0000000..a6012d2 --- /dev/null +++ b/mods/farming_plus/cocoa.lua @@ -0,0 +1,73 @@ +minetest.register_node("farming_plus:cocoa_sapling", { + description = "Cocoa Tree Sapling", + drawtype = "plantlike", + tiles = {"farming_cocoa_sapling.png"}, + inventory_image = "farming_cocoa_sapling.png", + wield_image = "farming_cocoa_sapling.png", + paramtype = "light", + walkable = false, + groups = {dig_immediate=3,flammable=2}, + sounds = default.node_sound_defaults(), +}) + +minetest.register_node("farming_plus:cocoa_leaves", { + drawtype = "allfaces_optional", + tiles = {"farming_banana_leaves.png"}, + paramtype = "light", + groups = {snappy=3, leafdecay=3, flammable=2, not_in_creative_inventory=1}, + drop = { + max_items = 1, + items = { + { + items = {'farming_plus:cocoa_sapling'}, + rarity = 20, + }, + } + }, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_abm({ + nodenames = {"farming_plus:cocoa_sapling"}, + interval = 60, + chance = 20, + action = function(pos, node) + farming:generate_tree(pos, "default:tree", "farming_plus:cocoa_leaves", {"default:sand", "default:desert_sand"}, {["farming_plus:cocoa"]=20}) + end +}) + +minetest.register_on_generated(function(minp, maxp, blockseed) + if math.random(1, 100) > 5 then + return + end + local tmp = {x=(maxp.x-minp.x)/2+minp.x, y=(maxp.y-minp.y)/2+minp.y, z=(maxp.z-minp.z)/2+minp.z} + local pos = minetest.env:find_node_near(tmp, maxp.x-minp.x, {"default:desert_sand"}) + if pos ~= nil then + farming:generate_tree({x=pos.x, y=pos.y+1, z=pos.z}, "default:tree", "farming_plus:cocoa_leaves", {"default:sand", "default:desert_sand"}, {["farming_plus:cocoa"]=20}) + end +end) + +minetest.register_node("farming_plus:cocoa", { + description = "Cocoa", + tiles = {"farming_cocoa.png"}, + visual_scale = 0.5, + inventory_image = "farming_cocoa.png", + wield_image = "farming_cocoa.png", + drawtype = "torchlike", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + groups = {fleshy=3,dig_immediate=3,flammable=2}, + sounds = default.node_sound_defaults(), +}) + +minetest.register_craftitem("farming_plus:cocoa_bean", { + description = "Cocoa Bean", + inventory_image = "farming_cocoa_bean.png", +}) + +minetest.register_craft({ + output = "farming_plus:cocoa_bean 10", + type = "shapeless", + recipe = {"farming_plus:cocoa"}, +}) diff --git a/mods/farming_plus/depends.txt b/mods/farming_plus/depends.txt new file mode 100644 index 0000000..0f8e026 --- /dev/null +++ b/mods/farming_plus/depends.txt @@ -0,0 +1,4 @@ +default +bucket +wool +farming diff --git a/mods/farming_plus/init.lua b/mods/farming_plus/init.lua new file mode 100644 index 0000000..8a2ec46 --- /dev/null +++ b/mods/farming_plus/init.lua @@ -0,0 +1,52 @@ +farming.seeds = { + ["farming:wheat_seed"]=20, + ["farming:cotton_seed"]=30, + ["farming:pumpkin_seed"]=60, + ["farming_plus:strawberry_seed"]=30, + ["farming_plus:rhubarb_seed"]=30, + ["farming_plus:potatoe_seed"]=30, + ["farming_plus:tomato_seed"]=30, + ["farming_plus:orange_seed"]=30, + ["farming_plus:carrot_seed"]=30, +} + +-- ========= ALIASES FOR FARMING MOD BY SAPIER ========= +-- potatoe -> potatoe +minetest.register_alias("farming:potatoe_node", "farming_plus:potatoe") +--minetest.register_alias("farming:potatoe", "farming:potatoe_item") cant do this +minetest.register_alias("farming:potatoe_straw", "farming_plus:potatoe") +minetest.register_alias("farming:seed_potatoe", "farming_plus:potatoe_seed") +for lvl = 1, 6, 1 do + minetest.register_entity(":farming:potatoe_lvl"..lvl, { + on_activate = function(self, staticdata) + minetest.env:set_node(self.object:getpos(), {name="farming_plus:potatoe_1"}) + end + }) +end + +-- ========= RUBBER ========= +dofile(minetest.get_modpath("farming_plus").."/rubber.lua") + +-- ========= STRAWBERRIES ========= +dofile(minetest.get_modpath("farming_plus").."/strawberries.lua") + +-- ========= RHUBARB ========= +dofile(minetest.get_modpath("farming_plus").."/rhubarb.lua") + +-- ========= POTATOES ========= +dofile(minetest.get_modpath("farming_plus").."/potatoes.lua") + +-- ========= TOMATOES ========= +dofile(minetest.get_modpath("farming_plus").."/tomatoes.lua") + +-- ========= ORANGES ========= +dofile(minetest.get_modpath("farming_plus").."/oranges.lua") + +-- ========= BANANAS ========= +dofile(minetest.get_modpath("farming_plus").."/bananas.lua") + +-- ========= CARROTS ========= +dofile(minetest.get_modpath("farming_plus").."/carrots.lua") + +-- ========= COCOA ========= +dofile(minetest.get_modpath("farming_plus").."/cocoa.lua") diff --git a/mods/farming_plus/oranges.lua b/mods/farming_plus/oranges.lua new file mode 100644 index 0000000..6876fe5 --- /dev/null +++ b/mods/farming_plus/oranges.lua @@ -0,0 +1,89 @@ +minetest.register_craftitem("farming_plus:orange_seed", { + description = "Orange Seeds", + inventory_image = "farming_orange_seed.png", + on_place = function(itemstack, placer, pointed_thing) + local above = minetest.env:get_node(pointed_thing.above) + if above.name == "air" then + above.name = "farming_plus:orange_1" + minetest.env:set_node(pointed_thing.above, above) + itemstack:take_item(1) + return itemstack + end + end +}) + +minetest.register_node("farming_plus:orange_1", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_orange_1.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+3/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming_plus:orange_2", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_orange_2.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+8/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming_plus:orange_3", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_orange_3.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+14/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming_plus:orange", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + tiles = {"farming_orange_4.png"}, + drop = { + max_items = 6, + items = { + { items = {'farming_plus:orange_seed'} }, + { items = {'farming_plus:orange_seed'}, rarity = 2}, + { items = {'farming_plus:orange_seed'}, rarity = 5}, + { items = {'farming_plus:orange_item'} }, + { items = {'farming_plus:orange_item'}, rarity = 2 }, + { items = {'farming_plus:orange_item'}, rarity = 5 } + } + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_craftitem("farming_plus:orange_item", { + description = "Orange", + inventory_image = "farming_orange.png", + on_use = minetest.item_eat(4), +}) + +farming:add_plant("farming_plus:orange", {"farming_plus:orange_1", "farming_plus:orange_2", "farming_plus:orange_3"}, 50, 20) diff --git a/mods/farming_plus/potatoes.lua b/mods/farming_plus/potatoes.lua new file mode 100644 index 0000000..d833dda --- /dev/null +++ b/mods/farming_plus/potatoes.lua @@ -0,0 +1,72 @@ +minetest.register_craftitem("farming_plus:potatoe_seed", { + description = "Potatoe Seeds", + inventory_image = "farming_potatoe_seed.png", + on_place = function(itemstack, placer, pointed_thing) + local above = minetest.env:get_node(pointed_thing.above) + if above.name == "air" then + above.name = "farming_plus:potatoe_1" + minetest.env:set_node(pointed_thing.above, above) + itemstack:take_item(1) + return itemstack + end + end +}) + +minetest.register_node("farming_plus:potatoe_1", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_potatoe_1.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+6/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming_plus:potatoe_2", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_potatoe_2.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+9/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming_plus:potatoe", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + tiles = {"farming_potatoe_3.png"}, + drop = { + max_items = 6, + items = { + { items = {'farming_plus:potatoe_seed'} }, + { items = {'farming_plus:potatoe_seed'}, rarity = 2}, + { items = {'farming_plus:potatoe_seed'}, rarity = 5}, + { items = {'farming_plus:potatoe_item'} }, + { items = {'farming_plus:potatoe_item'}, rarity = 2 }, + { items = {'farming_plus:potatoe_item'}, rarity = 5 } + } + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_craftitem("farming_plus:potatoe_item", { + description = "Potatoe", + inventory_image = "farming_potatoe.png", +}) + +farming:add_plant("farming_plus:potatoe", {"farming_plus:potatoe_1", "farming_plus:potatoe_2"}, 50, 20) diff --git a/mods/farming_plus/rhubarb.lua b/mods/farming_plus/rhubarb.lua new file mode 100644 index 0000000..0151a9d --- /dev/null +++ b/mods/farming_plus/rhubarb.lua @@ -0,0 +1,72 @@ +minetest.register_craftitem("farming_plus:rhubarb_seed", { + description = "Rhubarb Seeds", + inventory_image = "farming_rhubarb_seed.png", + on_place = function(itemstack, placer, pointed_thing) + local above = minetest.env:get_node(pointed_thing.above) + if above.name == "air" then + above.name = "farming_plus:rhubarb_1" + minetest.env:set_node(pointed_thing.above, above) + itemstack:take_item(1) + return itemstack + end + end +}) + +minetest.register_node("farming_plus:rhubarb_1", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_rhubarb_1.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+5/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming_plus:rhubarb_2", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_rhubarb_2.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+11/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming_plus:rhubarb", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + tiles = {"farming_rhubarb_3.png"}, + drop = { + max_items = 6, + items = { + { items = {'farming_plus:rhubarb_seed'} }, + { items = {'farming_plus:rhubarb_seed'}, rarity = 2}, + { items = {'farming_plus:rhubarb_seed'}, rarity = 5}, + { items = {'farming_plus:rhubarb_item'} }, + { items = {'farming_plus:rhubarb_item'}, rarity = 2 }, + { items = {'farming_plus:rhubarb_item'}, rarity = 5 } + } + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_craftitem("farming_plus:rhubarb_item", { + description = "Rhubarb", + inventory_image = "farming_rhubarb.png", +}) + +farming:add_plant("farming_plus:rhubarb", {"farming_plus:rhubarb_1", "farming_plus:rhubarb_2"}, 50, 20) diff --git a/mods/farming_plus/rubber.lua b/mods/farming_plus/rubber.lua new file mode 100644 index 0000000..4b7e413 --- /dev/null +++ b/mods/farming_plus/rubber.lua @@ -0,0 +1,104 @@ +minetest.register_node("farming_plus:rubber_sapling", { + description = "Rubber Tree Sapling", + drawtype = "plantlike", + tiles = {"farming_rubber_sapling.png"}, + inventory_image = "farming_rubber_sapling.png", + wield_image = "farming_rubber_sapling.png", + paramtype = "light", + walkable = false, + groups = {dig_immediate=3,flammable=2}, + sounds = default.node_sound_defaults(), +}) + +minetest.register_node("farming_plus:rubber_tree_full", { + description = "Rubber Tree", + tiles = {"default_tree_top.png", "default_tree_top.png", "farming_rubber_tree_full.png"}, + groups = {tree=1,snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2}, + drop = "default:tree", + sounds = default.node_sound_wood_defaults(), + + on_dig = function(pos, node, digger) + minetest.node_dig(pos, node, digger) + minetest.env:remove_node(pos) + end, + + after_destruct = function(pos, oldnode) + oldnode.name = "farming_plus:rubber_tree_empty" + minetest.env:set_node(pos, oldnode) + end +}) + + +minetest.register_node("farming_plus:rubber_tree_empty", { + tiles = {"default_tree_top.png", "default_tree_top.png", "farming_rubber_tree_empty.png"}, + groups = {tree=1,snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2, not_in_creative_inventory=1}, + drop = "default:tree", + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_abm({ + nodenames = {"farming_plus:rubber_tree_empty"}, + interval = 60, + chance = 15, + action = function(pos, node) + node.name = "farming_plus:rubber_tree_full" + minetest.env:set_node(pos, node) + end +}) + +minetest.register_node("farming_plus:rubber_leaves", { + drawtype = "allfaces_optional", + visual_scale = 1.3, + tiles = {"default_leaves.png"}, + paramtype = "light", + groups = {snappy=3, leafdecay=3, flammable=2, not_in_creative_inventory=1}, + drop = { + max_items = 1, + items = { + { + items = {'farming_plus:rubber_sapling'}, + rarity = 20, + }, + } + }, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_abm({ + nodenames = {"farming_plus:rubber_sapling"}, + interval = 60, + chance = 20, + action = function(pos, node) + farming:generate_tree(pos, "farming_plus:rubber_tree_full", "farming_plus:rubber_leaves", {"default:dirt", "default:dirt_with_grass"}) + end +}) + +minetest.register_on_generated(function(minp, maxp, blockseed) + if math.random(1, 100) > 5 then + return + end + local tmp = {x=(maxp.x-minp.x)/2+minp.x, y=(maxp.y-minp.y)/2+minp.y, z=(maxp.z-minp.z)/2+minp.z} + local pos = minetest.env:find_node_near(tmp, maxp.x-minp.x, {"default:dirt_with_grass"}) + if pos ~= nil then + farming:generate_tree({x=pos.x, y=pos.y+1, z=pos.z}, "farming_plus:rubber_tree_full", "farming_plus:rubber_leaves", {"default:dirt", "default:dirt_with_grass"}) + end +end) + +minetest.register_craftitem("farming_plus:bucket_rubber", { + description = "Bucket with Caoutchouc", + inventory_image = "farming_bucket_rubber.png", + stack_max = 1, +}) + +local bucket_tmp = { + source = "farming_plus:rubber_tree_full", + itemname = "farming_plus:bucket_rubber" +} +bucket.liquids["farming_plus:rubber_tree_full"] = bucket_tmp + +-- ========= FUEL ========= +minetest.register_craft({ + type = "fuel", + recipe = "farming_plus:rubber_sapling", + burntime = 10 +}) diff --git a/mods/farming_plus/strawberries.lua b/mods/farming_plus/strawberries.lua new file mode 100644 index 0000000..6a960b7 --- /dev/null +++ b/mods/farming_plus/strawberries.lua @@ -0,0 +1,89 @@ +minetest.register_craftitem("farming_plus:strawberry_seed", { + description = "Strawberry Seeds", + inventory_image = "farming_strawberry_seed.png", + on_place = function(itemstack, placer, pointed_thing) + local above = minetest.env:get_node(pointed_thing.above) + if above.name == "air" then + above.name = "farming_plus:strawberry_1" + minetest.env:set_node(pointed_thing.above, above) + itemstack:take_item(1) + return itemstack + end + end +}) + +minetest.register_node("farming_plus:strawberry_1", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_strawberry_1.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+9/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming_plus:strawberry_2", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_strawberry_2.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+12/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming_plus:strawberry_3", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_strawberry_3.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+14/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming_plus:strawberry", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + tiles = {"farming_strawberry_4.png"}, + drop = { + max_items = 6, + items = { + { items = {'farming_plus:strawberry_seed'} }, + { items = {'farming_plus:strawberry_seed'}, rarity = 2}, + { items = {'farming_plus:strawberry_seed'}, rarity = 5}, + { items = {'farming_plus:strawberry_item'} }, + { items = {'farming_plus:strawberry_item'}, rarity = 2 }, + { items = {'farming_plus:strawberry_item'}, rarity = 5 } + } + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_craftitem("farming_plus:strawberry_item", { + description = "Strawberry", + inventory_image = "farming_strawberry.png", + on_use = minetest.item_eat(2), +}) + +farming:add_plant("farming_plus:strawberry", {"farming_plus:strawberry_1", "farming_plus:strawberry_2", "farming_plus:strawberry_3"}, 50, 20) diff --git a/mods/farming_plus/textures/farming_banana.png b/mods/farming_plus/textures/farming_banana.png new file mode 100644 index 0000000..f775e14 Binary files /dev/null and b/mods/farming_plus/textures/farming_banana.png differ diff --git a/mods/farming_plus/textures/farming_banana_leaves.png b/mods/farming_plus/textures/farming_banana_leaves.png new file mode 100644 index 0000000..cf8eecb Binary files /dev/null and b/mods/farming_plus/textures/farming_banana_leaves.png differ diff --git a/mods/farming_plus/textures/farming_banana_sapling.png b/mods/farming_plus/textures/farming_banana_sapling.png new file mode 100644 index 0000000..821c64f Binary files /dev/null and b/mods/farming_plus/textures/farming_banana_sapling.png differ diff --git a/mods/farming_plus/textures/farming_bucket_rubber.png b/mods/farming_plus/textures/farming_bucket_rubber.png new file mode 100644 index 0000000..effdcac Binary files /dev/null and b/mods/farming_plus/textures/farming_bucket_rubber.png differ diff --git a/mods/farming_plus/textures/farming_carrot.png b/mods/farming_plus/textures/farming_carrot.png new file mode 100644 index 0000000..5ed61ac Binary files /dev/null and b/mods/farming_plus/textures/farming_carrot.png differ diff --git a/mods/farming_plus/textures/farming_carrot_1.png b/mods/farming_plus/textures/farming_carrot_1.png new file mode 100644 index 0000000..09cfe73 Binary files /dev/null and b/mods/farming_plus/textures/farming_carrot_1.png differ diff --git a/mods/farming_plus/textures/farming_carrot_2.png b/mods/farming_plus/textures/farming_carrot_2.png new file mode 100644 index 0000000..cbb76ea Binary files /dev/null and b/mods/farming_plus/textures/farming_carrot_2.png differ diff --git a/mods/farming_plus/textures/farming_carrot_3.png b/mods/farming_plus/textures/farming_carrot_3.png new file mode 100644 index 0000000..74e3dc8 Binary files /dev/null and b/mods/farming_plus/textures/farming_carrot_3.png differ diff --git a/mods/farming_plus/textures/farming_carrot_4.png b/mods/farming_plus/textures/farming_carrot_4.png new file mode 100644 index 0000000..1c6445f Binary files /dev/null and b/mods/farming_plus/textures/farming_carrot_4.png differ diff --git a/mods/farming_plus/textures/farming_carrot_seed.png b/mods/farming_plus/textures/farming_carrot_seed.png new file mode 100644 index 0000000..69bc450 Binary files /dev/null and b/mods/farming_plus/textures/farming_carrot_seed.png differ diff --git a/mods/farming_plus/textures/farming_cocoa.png b/mods/farming_plus/textures/farming_cocoa.png new file mode 100644 index 0000000..bce3db6 Binary files /dev/null and b/mods/farming_plus/textures/farming_cocoa.png differ diff --git a/mods/farming_plus/textures/farming_cocoa_bean.png b/mods/farming_plus/textures/farming_cocoa_bean.png new file mode 100644 index 0000000..4ad6b35 Binary files /dev/null and b/mods/farming_plus/textures/farming_cocoa_bean.png differ diff --git a/mods/farming_plus/textures/farming_cocoa_sapling.png b/mods/farming_plus/textures/farming_cocoa_sapling.png new file mode 100644 index 0000000..73c588f Binary files /dev/null and b/mods/farming_plus/textures/farming_cocoa_sapling.png differ diff --git a/mods/farming_plus/textures/farming_orange.png b/mods/farming_plus/textures/farming_orange.png new file mode 100644 index 0000000..d9ae9e9 Binary files /dev/null and b/mods/farming_plus/textures/farming_orange.png differ diff --git a/mods/farming_plus/textures/farming_orange_1.png b/mods/farming_plus/textures/farming_orange_1.png new file mode 100644 index 0000000..ab553c8 Binary files /dev/null and b/mods/farming_plus/textures/farming_orange_1.png differ diff --git a/mods/farming_plus/textures/farming_orange_2.png b/mods/farming_plus/textures/farming_orange_2.png new file mode 100644 index 0000000..fb991fd Binary files /dev/null and b/mods/farming_plus/textures/farming_orange_2.png differ diff --git a/mods/farming_plus/textures/farming_orange_3.png b/mods/farming_plus/textures/farming_orange_3.png new file mode 100644 index 0000000..af60f38 Binary files /dev/null and b/mods/farming_plus/textures/farming_orange_3.png differ diff --git a/mods/farming_plus/textures/farming_orange_4.png b/mods/farming_plus/textures/farming_orange_4.png new file mode 100644 index 0000000..73e8715 Binary files /dev/null and b/mods/farming_plus/textures/farming_orange_4.png differ diff --git a/mods/farming_plus/textures/farming_orange_seed.png b/mods/farming_plus/textures/farming_orange_seed.png new file mode 100644 index 0000000..3873bad Binary files /dev/null and b/mods/farming_plus/textures/farming_orange_seed.png differ diff --git a/mods/farming_plus/textures/farming_potatoe.png b/mods/farming_plus/textures/farming_potatoe.png new file mode 100644 index 0000000..50411f8 Binary files /dev/null and b/mods/farming_plus/textures/farming_potatoe.png differ diff --git a/mods/farming_plus/textures/farming_potatoe_1.png b/mods/farming_plus/textures/farming_potatoe_1.png new file mode 100644 index 0000000..75a36d9 Binary files /dev/null and b/mods/farming_plus/textures/farming_potatoe_1.png differ diff --git a/mods/farming_plus/textures/farming_potatoe_2.png b/mods/farming_plus/textures/farming_potatoe_2.png new file mode 100644 index 0000000..6491d34 Binary files /dev/null and b/mods/farming_plus/textures/farming_potatoe_2.png differ diff --git a/mods/farming_plus/textures/farming_potatoe_3.png b/mods/farming_plus/textures/farming_potatoe_3.png new file mode 100644 index 0000000..37a2c97 Binary files /dev/null and b/mods/farming_plus/textures/farming_potatoe_3.png differ diff --git a/mods/farming_plus/textures/farming_potatoe_seed.png b/mods/farming_plus/textures/farming_potatoe_seed.png new file mode 100644 index 0000000..74e440d Binary files /dev/null and b/mods/farming_plus/textures/farming_potatoe_seed.png differ diff --git a/mods/farming_plus/textures/farming_rhubarb.png b/mods/farming_plus/textures/farming_rhubarb.png new file mode 100644 index 0000000..849f61b Binary files /dev/null and b/mods/farming_plus/textures/farming_rhubarb.png differ diff --git a/mods/farming_plus/textures/farming_rhubarb_1.png b/mods/farming_plus/textures/farming_rhubarb_1.png new file mode 100644 index 0000000..706d8cf Binary files /dev/null and b/mods/farming_plus/textures/farming_rhubarb_1.png differ diff --git a/mods/farming_plus/textures/farming_rhubarb_2.png b/mods/farming_plus/textures/farming_rhubarb_2.png new file mode 100644 index 0000000..2aadf5f Binary files /dev/null and b/mods/farming_plus/textures/farming_rhubarb_2.png differ diff --git a/mods/farming_plus/textures/farming_rhubarb_3.png b/mods/farming_plus/textures/farming_rhubarb_3.png new file mode 100644 index 0000000..833f65b Binary files /dev/null and b/mods/farming_plus/textures/farming_rhubarb_3.png differ diff --git a/mods/farming_plus/textures/farming_rhubarb_seed.png b/mods/farming_plus/textures/farming_rhubarb_seed.png new file mode 100644 index 0000000..c16527d Binary files /dev/null and b/mods/farming_plus/textures/farming_rhubarb_seed.png differ diff --git a/mods/farming_plus/textures/farming_rubber_sapling.png b/mods/farming_plus/textures/farming_rubber_sapling.png new file mode 100644 index 0000000..e5c9f5d Binary files /dev/null and b/mods/farming_plus/textures/farming_rubber_sapling.png differ diff --git a/mods/farming_plus/textures/farming_rubber_tree_empty.png b/mods/farming_plus/textures/farming_rubber_tree_empty.png new file mode 100755 index 0000000..1792951 Binary files /dev/null and b/mods/farming_plus/textures/farming_rubber_tree_empty.png differ diff --git a/mods/farming_plus/textures/farming_rubber_tree_full.png b/mods/farming_plus/textures/farming_rubber_tree_full.png new file mode 100755 index 0000000..08067ef Binary files /dev/null and b/mods/farming_plus/textures/farming_rubber_tree_full.png differ diff --git a/mods/farming_plus/textures/farming_strawberry.png b/mods/farming_plus/textures/farming_strawberry.png new file mode 100644 index 0000000..0a80f45 Binary files /dev/null and b/mods/farming_plus/textures/farming_strawberry.png differ diff --git a/mods/farming_plus/textures/farming_strawberry_1.png b/mods/farming_plus/textures/farming_strawberry_1.png new file mode 100644 index 0000000..ff238f6 Binary files /dev/null and b/mods/farming_plus/textures/farming_strawberry_1.png differ diff --git a/mods/farming_plus/textures/farming_strawberry_2.png b/mods/farming_plus/textures/farming_strawberry_2.png new file mode 100644 index 0000000..2912eb5 Binary files /dev/null and b/mods/farming_plus/textures/farming_strawberry_2.png differ diff --git a/mods/farming_plus/textures/farming_strawberry_3.png b/mods/farming_plus/textures/farming_strawberry_3.png new file mode 100644 index 0000000..ca77389 Binary files /dev/null and b/mods/farming_plus/textures/farming_strawberry_3.png differ diff --git a/mods/farming_plus/textures/farming_strawberry_4.png b/mods/farming_plus/textures/farming_strawberry_4.png new file mode 100644 index 0000000..12c6a49 Binary files /dev/null and b/mods/farming_plus/textures/farming_strawberry_4.png differ diff --git a/mods/farming_plus/textures/farming_strawberry_seed.png b/mods/farming_plus/textures/farming_strawberry_seed.png new file mode 100644 index 0000000..08c958d Binary files /dev/null and b/mods/farming_plus/textures/farming_strawberry_seed.png differ diff --git a/mods/farming_plus/textures/farming_tomato.png b/mods/farming_plus/textures/farming_tomato.png new file mode 100644 index 0000000..b112d48 Binary files /dev/null and b/mods/farming_plus/textures/farming_tomato.png differ diff --git a/mods/farming_plus/textures/farming_tomato_1.png b/mods/farming_plus/textures/farming_tomato_1.png new file mode 100644 index 0000000..2e7c425 Binary files /dev/null and b/mods/farming_plus/textures/farming_tomato_1.png differ diff --git a/mods/farming_plus/textures/farming_tomato_2.png b/mods/farming_plus/textures/farming_tomato_2.png new file mode 100644 index 0000000..6f6a451 Binary files /dev/null and b/mods/farming_plus/textures/farming_tomato_2.png differ diff --git a/mods/farming_plus/textures/farming_tomato_3.png b/mods/farming_plus/textures/farming_tomato_3.png new file mode 100644 index 0000000..e01b60b Binary files /dev/null and b/mods/farming_plus/textures/farming_tomato_3.png differ diff --git a/mods/farming_plus/textures/farming_tomato_4.png b/mods/farming_plus/textures/farming_tomato_4.png new file mode 100644 index 0000000..e2f5db4 Binary files /dev/null and b/mods/farming_plus/textures/farming_tomato_4.png differ diff --git a/mods/farming_plus/textures/farming_tomato_seed.png b/mods/farming_plus/textures/farming_tomato_seed.png new file mode 100644 index 0000000..dbef76e Binary files /dev/null and b/mods/farming_plus/textures/farming_tomato_seed.png differ diff --git a/mods/farming_plus/tomatoes.lua b/mods/farming_plus/tomatoes.lua new file mode 100644 index 0000000..ba9cd08 --- /dev/null +++ b/mods/farming_plus/tomatoes.lua @@ -0,0 +1,89 @@ +minetest.register_craftitem("farming_plus:tomato_seed", { + description = "Tomato Seeds", + inventory_image = "farming_tomato_seed.png", + on_place = function(itemstack, placer, pointed_thing) + local above = minetest.env:get_node(pointed_thing.above) + if above.name == "air" then + above.name = "farming_plus:tomato_1" + minetest.env:set_node(pointed_thing.above, above) + itemstack:take_item(1) + return itemstack + end + end +}) + +minetest.register_node("farming_plus:tomato_1", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_tomato_1.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+5/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming_plus:tomato_2", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_tomato_2.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+8/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming_plus:tomato_3", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + drop = "", + tiles = {"farming_tomato_3.png"}, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.5+13/16, 0.5} + }, + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming_plus:tomato", { + paramtype = "light", + walkable = false, + drawtype = "plantlike", + tiles = {"farming_tomato_4.png"}, + drop = { + max_items = 6, + items = { + { items = {'farming_plus:tomato_seed'} }, + { items = {'farming_plus:tomato_seed'}, rarity = 2}, + { items = {'farming_plus:tomato_seed'}, rarity = 5}, + { items = {'farming_plus:tomato_item'} }, + { items = {'farming_plus:tomato_item'}, rarity = 2 }, + { items = {'farming_plus:tomato_item'}, rarity = 5 } + } + }, + groups = {snappy=3, flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_craftitem("farming_plus:tomato_item", { + description = "Tomato", + inventory_image = "farming_tomato.png", + on_use = minetest.item_eat(4), +}) + +farming:add_plant("farming_plus:tomato", {"farming_plus:tomato_1", "farming_plus:tomato_2", "farming_plus:tomato_3"}, 50, 20) diff --git a/mods/flowers/.gitignore b/mods/flowers/.gitignore new file mode 100644 index 0000000..b25c15b --- /dev/null +++ b/mods/flowers/.gitignore @@ -0,0 +1 @@ +*~ diff --git a/mods/flowers/README b/mods/flowers/README new file mode 100644 index 0000000..a8a5f6f --- /dev/null +++ b/mods/flowers/README @@ -0,0 +1,6 @@ +This is a mostly-rewrite of Ironzorg's flowers mod, using more recent features +in the game, to make the code perform better. + +Dependencies: none (just the game's default stuff) + +License: cc-by-sa 3.0 for the textures, WTFPL for everything else. diff --git a/mods/flowers/changelog.txt b/mods/flowers/changelog.txt new file mode 100644 index 0000000..fbe7518 --- /dev/null +++ b/mods/flowers/changelog.txt @@ -0,0 +1,24 @@ +Changelog +--------- + +2012-08-06: Tweaked selection boxes on all nodes. Tweaked seaweed to use +signlike instead of raillike drawtype, (still forced to only spawn flat as +usual). Adjusted light level limits to give it more time to grow. Created +this changelog file using github commit messages as the basis. Shrunk the +geranium flower down a bit to better match the others. + +2012-08-03: Tuned out the random-numbers-inside-ABM stuff. Uses the ABM's +chance setting instead. Should be approximately the same as before, but +hopefully using a tad less CPU. Minor tweak to ABM interval/growing delay. + +2012-08-01: Added blue geranium to the collection of flowers. + +2012-07-31: Disable debug by default. + +2012-07-30: many updates over the course of the day - first commit, removed +some redundant files, added wield/inventory image entries for each item, to +force the game to draw them properly (these shouldn't be needed, must be a +bug). Tweaked spawn code so that the radius check also includes the name of +the item being spawned as well as items in group:flower, that way all items can +have a radius test, and not just those in group:flower. Fiddled with the spawn +rates a bit. diff --git a/mods/flowers/copyright.txt b/mods/flowers/copyright.txt new file mode 100644 index 0000000..6a4112f --- /dev/null +++ b/mods/flowers/copyright.txt @@ -0,0 +1,4 @@ +Flowers mod by Vanessa Ezekowitz - mostly complete rewrite of Flowers by +Ironzorg. + +Textures included herein are ironzorg's original 16px ones. diff --git a/mods/flowers/depends.txt b/mods/flowers/depends.txt new file mode 100644 index 0000000..3a7daa1 --- /dev/null +++ b/mods/flowers/depends.txt @@ -0,0 +1,2 @@ +default + diff --git a/mods/flowers/init.lua b/mods/flowers/init.lua new file mode 100644 index 0000000..b9b5568 --- /dev/null +++ b/mods/flowers/init.lua @@ -0,0 +1,239 @@ +-- Flowers mod by VanessaE, 2012-08-01 +-- Rewritten from Ironzorg's last update, +-- as included in Nature Pack Controlled +-- +-- License: WTFPL (applies to all parts and textures) +-- + +math.randomseed(os.time()) + +local DEBUG = 0 + +local GROWING_DELAY = 500 -- larger numbers = ABM runs less often. default is 500 +local GROWCHANCE = 50 -- larger = less chance to grow. default is 50 + +local FLOWERS = { + { "Rose", "rose", GROWING_DELAY, 10, GROWCHANCE }, + { "Tulip", "tulip", GROWING_DELAY, 10, GROWCHANCE }, + { "Yellow Dandelion", "dandelion_yellow", GROWING_DELAY, 10, GROWCHANCE*2 }, + { "White Dandelion", "dandelion_white", GROWING_DELAY, 10, GROWCHANCE*2 }, + { "Blue Geranium", "geranium", GROWING_DELAY, 10, GROWCHANCE }, + { "Viola", "viola", GROWING_DELAY, 10, GROWCHANCE }, + { "Cotton Plant", "cotton", GROWING_DELAY, 10, GROWCHANCE*2 }, +} + +local dbg = function(s) + if DEBUG == 1 then + print("[FLOWERS] " .. s) + end +end + +local is_node_loaded = function(node_pos) + n = minetest.env:get_node_or_nil(node_pos) + if (n == nil) or (n.name == "ignore") then + return false + end + return true +end + +spawn_on_surfaces = function(spawndelay, spawnflower, spawnradius, spawnchance, spawnsurface, spawnavoid) + minetest.register_abm({ + nodenames = { spawnsurface }, + interval = spawndelay, + chance = spawnchance, + + action = function(pos, node, active_object_count, active_object_count_wider) + local p_top = { x = pos.x, y = pos.y + 1, z = pos.z } + local n_top = minetest.env:get_node(p_top) + if (n_top.name == "air") and is_node_loaded(p_top) then + if (minetest.env:find_node_near(p_top, spawnradius, spawnavoid) == nil ) + and (minetest.env:get_node_light(p_top, nil) > 4) then + dbg("Spawning "..spawnflower.." at "..dump(p_top).." on "..spawnsurface) + minetest.env:add_node(p_top, { name = spawnflower }) + end + end + end + }) +end + +-- On regular fertile ground, any flower except waterlilies can spawn + +for i in ipairs(FLOWERS) do + local flowerdesc = FLOWERS[i][1] + local flower = FLOWERS[i][2] + local delay = FLOWERS[i][3] + local radius = FLOWERS[i][4] + local chance = FLOWERS[i][5] + + minetest.register_node("flowers:flower_"..flower, { + description = flowerdesc, + drawtype = "plantlike", + tiles = { "flower_"..flower..".png" }, + inventory_image = "flower_"..flower..".png", + wield_image = "flower_"..flower..".png", + sunlight_propagates = true, + paramtype = "light", + walkable = false, + groups = { snappy = 3,flammable=2, flower=1 }, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = { -0.15, -0.5, -0.15, 0.15, 0.2, 0.15 }, + }, + }) + + minetest.register_node("flowers:flower_"..flower.."_pot", { + description = flowerdesc.." in a pot", + drawtype = "plantlike", + tiles = { "flower_"..flower.."_pot.png" }, + inventory_image = "flower_"..flower.."_pot.png", + wield_image = "flower_"..flower.."_pot.png", + sunlight_propagates = true, + paramtype = "light", + walkable = false, + groups = { snappy = 3,flammable=2 }, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = { -0.25, -0.5, -0.25, 0.25, 0.5, 0.25 }, + }, + }) + + minetest.register_craft( { + type = "shapeless", + output = "flowers:flower_"..flower.."_pot", + recipe = { + "flowers:flower_pot", + "flowers:flower_"..flower + } + }) + + spawn_on_surfaces(delay, "flowers:flower_"..flower, radius, chance, "default:dirt_with_grass", "group:flower") + spawn_on_surfaces(delay, "flowers:flower_"..flower, radius, chance, "default:dirt", "group:flower") +end + +-- These few have to be defined separately because of some special +-- condition. Waterlilies only spawn on top of water for example. + +minetest.register_node("flowers:flower_waterlily", { + description = "Waterlily", + drawtype = "raillike", + tiles = { "flower_waterlily.png" }, + inventory_image = "flower_waterlily.png", + wield_image = "flower_waterlily.png", + sunlight_propagates = true, + paramtype = "light", + paramtype2 = "wallmounted", + walkable = false, + groups = { snappy = 3,flammable=2,flower=1 }, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = { -0.4, -0.5, -0.4, 0.4, -0.45, 0.4 }, + }, +}) + +spawn_on_surfaces(GROWING_DELAY/2, "flowers:flower_waterlily", 15, GROWCHANCE*3, "default:water_source", "group:flower") + +-- Seaweed requires specific circumstances under which it will spawn + +minetest.register_node("flowers:flower_seaweed", { + description = "Seaweed", + drawtype = "signlike", + tiles = { "flower_seaweed.png" }, + inventory_image = "flower_seaweed.png", + wield_image = "flower_seaweed.png", + sunlight_propagates = true, + paramtype = "light", + paramtype2 = "wallmounted", + walkable = false, + groups = { snappy = 3,flammable=2,flower=1 }, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, -0.5, 0.5, -0.4, 0.5 }, + }, +}) + +minetest.register_abm({ + nodenames = { "default:water_source" }, + interval = GROWING_DELAY*2, + chance = GROWCHANCE*2, + neighbors = {"default:dirt", "default:dirt_with_grass"}, + action = function(pos, node, active_object_count, active_object_count_wider) + local p_top = { x = pos.x, y = pos.y + 1, z = pos.z } + local n_top = minetest.env:get_node(p_top) + local n_light = minetest.env:get_node_light(p_top, nil) + if (n_top.name == "air") and is_node_loaded(p_top) + and (n_light < 10) and (n_light > 4) + and table.getn(minetest.env:find_nodes_in_area({x=pos.x-1, y=pos.y, z=pos.z-1}, {x=pos.x+1, y=pos.y, z=pos.z+1}, {"default:dirt", "default:dirt_with_grass"})) > 0 then + dbg("Spawning flowers:flower_seaweed at "..dump(p_top).." on default:water_source") + minetest.env:add_node(p_top, { name = "flowers:flower_seaweed", param2 = 1 }) + end + end +}) + +minetest.register_abm({ + nodenames = { "default:dirt", "default:dirt_with_grass", }, + interval = GROWING_DELAY*2, + chance = GROWCHANCE*4, + neighbors = {"default:water_source"}, + action = function(pos, node, active_object_count, active_object_count_wider) + local p_top = { x = pos.x, y = pos.y + 1, z = pos.z } + local n_top = minetest.env:get_node(p_top) + local n_light = minetest.env:get_node_light(p_top, nil) + if (n_top.name == "air") and is_node_loaded(p_top) + and (n_light < 10) and (n_light > 4) + and table.getn(minetest.env:find_nodes_in_area({x=pos.x-1, y=pos.y, z=pos.z-1}, {x=pos.x+1, y=pos.y, z=pos.z+1}, {"default:water_source"})) > 1 then + dbg("Spawning flowers:flower_seaweed at "..dump(p_top).." on default:water_source") + minetest.env:add_node(p_top, { name = "flowers:flower_seaweed", param2 = 1 }) + end + end +}) + +minetest.register_abm({ + nodenames = { "default:stone", }, + interval = GROWING_DELAY*2, + chance = GROWCHANCE*2, + neighbors = {"default:water_source"}, + action = function(pos, node, active_object_count, active_object_count_wider) + local p_top = { x = pos.x, y = pos.y + 1, z = pos.z } + local n_top = minetest.env:get_node(p_top) + local n_light = minetest.env:get_node_light(p_top, nil) + if (n_top.name == "air") and is_node_loaded(p_top) + and (n_light < 10) and (n_light > 4) + and table.getn(minetest.env:find_nodes_in_area({x=pos.x-1, y=pos.y, z=pos.z-1}, {x=pos.x+1, y=pos.y, z=pos.z+1}, {"default:water_source"})) > 6 then + dbg("Spawning flowers:flower_seaweed at "..dump(p_top).." on default:water_source") + minetest.env:add_node(p_top, { name = "flowers:flower_seaweed", param2 = 1 }) + end + end +}) + +-- Additional crafts, etc. + +minetest.register_craftitem("flowers:flower_pot", { + description = "Flower Pot", + inventory_image = "flower_pot.png", +}) + +minetest.register_craft( { + output = "flowers:flower_pot", + recipe = { + { "default:clay_brick", "", "default:clay_brick" }, + { "", "default:clay_brick", "" } + }, +}) + +minetest.register_craftitem("flowers:cotton", { + description = "Cotton", + image = "cotton.png", +}) + +minetest.register_craft({ + output = "flowers:cotton 3", + recipe ={ + {"flowers:flower_cotton"}, + } +}) + +print("[Flowers] Loaded!") diff --git a/mods/flowers/license.txt b/mods/flowers/license.txt new file mode 100644 index 0000000..2dc8cbf --- /dev/null +++ b/mods/flowers/license.txt @@ -0,0 +1,3 @@ +All code is WTFPL. +All textures are cc-by-sa 3.0. + diff --git a/mods/flowers/textures/cotton.png b/mods/flowers/textures/cotton.png new file mode 100644 index 0000000..c184db2 Binary files /dev/null and b/mods/flowers/textures/cotton.png differ diff --git a/mods/flowers/textures/flower_cotton.png b/mods/flowers/textures/flower_cotton.png new file mode 100644 index 0000000..7b046dd Binary files /dev/null and b/mods/flowers/textures/flower_cotton.png differ diff --git a/mods/flowers/textures/flower_cotton_pot.png b/mods/flowers/textures/flower_cotton_pot.png new file mode 100644 index 0000000..9432adf Binary files /dev/null and b/mods/flowers/textures/flower_cotton_pot.png differ diff --git a/mods/flowers/textures/flower_dandelion_white.png b/mods/flowers/textures/flower_dandelion_white.png new file mode 100644 index 0000000..b22d6d4 Binary files /dev/null and b/mods/flowers/textures/flower_dandelion_white.png differ diff --git a/mods/flowers/textures/flower_dandelion_white_pot.png b/mods/flowers/textures/flower_dandelion_white_pot.png new file mode 100644 index 0000000..1b48fe6 Binary files /dev/null and b/mods/flowers/textures/flower_dandelion_white_pot.png differ diff --git a/mods/flowers/textures/flower_dandelion_yellow.png b/mods/flowers/textures/flower_dandelion_yellow.png new file mode 100644 index 0000000..500adef Binary files /dev/null and b/mods/flowers/textures/flower_dandelion_yellow.png differ diff --git a/mods/flowers/textures/flower_dandelion_yellow_pot.png b/mods/flowers/textures/flower_dandelion_yellow_pot.png new file mode 100644 index 0000000..42a0cd7 Binary files /dev/null and b/mods/flowers/textures/flower_dandelion_yellow_pot.png differ diff --git a/mods/flowers/textures/flower_geranium.png b/mods/flowers/textures/flower_geranium.png new file mode 100644 index 0000000..5325982 Binary files /dev/null and b/mods/flowers/textures/flower_geranium.png differ diff --git a/mods/flowers/textures/flower_geranium_pot.png b/mods/flowers/textures/flower_geranium_pot.png new file mode 100644 index 0000000..f7932f4 Binary files /dev/null and b/mods/flowers/textures/flower_geranium_pot.png differ diff --git a/mods/flowers/textures/flower_pot.png b/mods/flowers/textures/flower_pot.png new file mode 100644 index 0000000..1c16464 Binary files /dev/null and b/mods/flowers/textures/flower_pot.png differ diff --git a/mods/flowers/textures/flower_rose.png b/mods/flowers/textures/flower_rose.png new file mode 100644 index 0000000..4047d3f Binary files /dev/null and b/mods/flowers/textures/flower_rose.png differ diff --git a/mods/flowers/textures/flower_rose_pot.png b/mods/flowers/textures/flower_rose_pot.png new file mode 100644 index 0000000..6723aad Binary files /dev/null and b/mods/flowers/textures/flower_rose_pot.png differ diff --git a/mods/flowers/textures/flower_seaweed.png b/mods/flowers/textures/flower_seaweed.png new file mode 100644 index 0000000..5d34ec9 Binary files /dev/null and b/mods/flowers/textures/flower_seaweed.png differ diff --git a/mods/flowers/textures/flower_tulip.png b/mods/flowers/textures/flower_tulip.png new file mode 100644 index 0000000..5686997 Binary files /dev/null and b/mods/flowers/textures/flower_tulip.png differ diff --git a/mods/flowers/textures/flower_tulip_pot.png b/mods/flowers/textures/flower_tulip_pot.png new file mode 100644 index 0000000..6ee4c8a Binary files /dev/null and b/mods/flowers/textures/flower_tulip_pot.png differ diff --git a/mods/flowers/textures/flower_viola.png b/mods/flowers/textures/flower_viola.png new file mode 100644 index 0000000..21e17bd Binary files /dev/null and b/mods/flowers/textures/flower_viola.png differ diff --git a/mods/flowers/textures/flower_viola_pot.png b/mods/flowers/textures/flower_viola_pot.png new file mode 100644 index 0000000..db02084 Binary files /dev/null and b/mods/flowers/textures/flower_viola_pot.png differ diff --git a/mods/flowers/textures/flower_waterlily.png b/mods/flowers/textures/flower_waterlily.png new file mode 100644 index 0000000..0235d84 Binary files /dev/null and b/mods/flowers/textures/flower_waterlily.png differ diff --git a/mods/give_initial_stuff/depends.txt b/mods/give_initial_stuff/depends.txt new file mode 100644 index 0000000..3a7daa1 --- /dev/null +++ b/mods/give_initial_stuff/depends.txt @@ -0,0 +1,2 @@ +default + diff --git a/mods/give_initial_stuff/init.lua b/mods/give_initial_stuff/init.lua new file mode 100644 index 0000000..9cf6b51 --- /dev/null +++ b/mods/give_initial_stuff/init.lua @@ -0,0 +1,12 @@ +minetest.register_on_newplayer(function(player) + print("on_newplayer") + if minetest.setting_getbool("give_initial_stuff") then + print("giving give_initial_stuff to player") + player:get_inventory():add_item('main', 'default:pick_steel') + player:get_inventory():add_item('main', 'default:torch 99') + player:get_inventory():add_item('main', 'default:axe_steel') + player:get_inventory():add_item('main', 'default:shovel_steel') + player:get_inventory():add_item('main', 'default:cobble 99') + end +end) + diff --git a/mods/glow/depends.txt b/mods/glow/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/glow/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/glow/init.lua b/mods/glow/init.lua new file mode 100644 index 0000000..84a1002 --- /dev/null +++ b/mods/glow/init.lua @@ -0,0 +1,39 @@ +-- glow/init.lua +-- mod by john and Zeg9 + +LIGHT_MAX = 14 + +minetest.register_node("glow:stone", { + description = "Glowing stone", + tile_images = {"glow_stone.png"}, + light_source = LIGHT_MAX, + groups = {cracky=3}, + sounds = default.node_sound_glass_defaults(), +}) + +minetest.register_node("glow:lamp", { + description = "Lamp", + tile_images = {"glow_lamp.png"}, + light_source = LIGHT_MAX, + groups = {cracky=3}, + sounds = default.node_sound_glass_defaults(), +}) + + +minetest.register_craft( { + output = '"glow:stone" 2', + recipe = { + { 'default:stone','default:coal_lump','default:stone' } + }, +}) + +minetest.register_craft( { + output = '"glow:lamp" 6', + recipe = { + { 'default:stick','default:glass', 'default:stick' }, + { 'default:glass','glow:stone', 'default:glass' }, + { 'default:stick','default:glass', 'default:stick' }, + }, +}) + +minetest.register_alias("glow:lantern", "glow:lamp") diff --git a/mods/glow/textures/glow_lamp.png b/mods/glow/textures/glow_lamp.png new file mode 100644 index 0000000..f7532d3 Binary files /dev/null and b/mods/glow/textures/glow_lamp.png differ diff --git a/mods/glow/textures/glow_stone.png b/mods/glow/textures/glow_stone.png new file mode 100644 index 0000000..71b97c0 Binary files /dev/null and b/mods/glow/textures/glow_stone.png differ diff --git a/mods/homedecor/.gitignore b/mods/homedecor/.gitignore new file mode 100644 index 0000000..b25c15b --- /dev/null +++ b/mods/homedecor/.gitignore @@ -0,0 +1 @@ +*~ diff --git a/mods/homedecor/README b/mods/homedecor/README new file mode 100644 index 0000000..07deaab --- /dev/null +++ b/mods/homedecor/README @@ -0,0 +1,49 @@ +This is what I consider to be a fairly feature-filled home decor mod. +It supplies a bunch of stuff found in most homes, like flower pots, home +electronics, brass and wrought-iron tables, and lots more! + +All items can be accessed either by crafting various other items +together, or with the usual /give commands. To get a list of the actual +node names, just go into the homedecor/ folder and run the listnodes.sh +Bash script. Note that a few of the listed nodes are kinda useless by +themselves (like the various parts of the folding doors). + +All of the images used for the recipes in the forum post tracking this +mod are included in the crafting-guide/ folder. + +Most stuff can be made from materials found through a game world. Some +stuff can only be crafted by using materials from another mod (look for +the orange highlights). Currently, this mod can use materials from +moreores, mesecons, wool, and unifieddyes if present. You can still use +the usual /give commands to get the items that depend on these mods if +you don't use them installed. + +This mod is still a work-in-progress, but should be complete enough not +to irritate anyone. :-) Namely, dressers still need to be fleshed out, +many items can be used as fuel but the burn times need tuning, and I +need to tune the cook time and fuel usage on the four smelted items. + +This mod was put together using a recent git pull, and requires a +build/pull dated June 17, 2012 or later. Most stuff should work fine on +older builds as well, but a few nodes in this mod require Nodebox +support, a feature added to Minetest on that date. It will NOT work +with Minetest v0.3 (that version doesn't support mods). + +Much of the code (especially for the doors) plus the bucket were taken +from the files which come with Minetest and altered to suit. Many +thanks to Jeija for coming up with an elegant cylinder using nodeboxes; +see his 'irregular' mods). His code is used herein (you can guess where +:-) ). + +Dependencies: none (just the game's default stuff) + +Recommends: buckets, flowers, unifieddyes, junglegrass, moreores, +mesecons, wool + +License: GPL for all lua code. WTFPL for all of my textures and +everything else. + +The distribution archive also supplies a copy of Ironzorg's Flowers mod +and of my Unified Dyes mod, since this mod provides more stuff when +those two are present. You can remove these if you want - they're only +needed if you want to craft the various dyed/colored items. diff --git a/mods/homedecor/changelog.txt b/mods/homedecor/changelog.txt new file mode 100644 index 0000000..a98aec8 --- /dev/null +++ b/mods/homedecor/changelog.txt @@ -0,0 +1,89 @@ +Changelog +--------- +2012-09-25: Added alternate recipes for most items that use dyes. Removed +Mesecons dependency from TV and stereo (uses in-built silicon lumps if Mesecons +isn't present). Replaced speakers' Mesecons Noteblocks with copper ingots from +Moreores. + +2012-08-01: Added optional recipes for items that use wool to also use cotton +instead. Choose one or the other in any given recipe (you can't mix the two). +No, it isn't a Kosher thing. ;-) + +2012-07-28: Noticed I technically had left/right textures swapped on a few +blocks. The textures were drawn to counteract this, without my realizing I was +doing just that. :-) Fixed. Also replaced all "tile_images" references with +"tiles", since the former is deprecated in favor of the latter. + +2012-07-26: Updated to use the Vessels mod to give back empty dye bottles. + +2012-07-24: Made all objects that use a dye require a more appropriate color, +made all objects that use a dye give back empty bottles on craft, made grey +shutters use the various grey paints directly. Moved this changelog out of the +forum post and into this separate file. + +2012-07-12: Moved project to github. + +2012-07-02: Deleted a few redundant files from the unified dyes mod. + +2012-06-30: Added a fancy wood-and-glass door. Textures used here were +formerly used for (and have been replaced by new textures for) the default wood +door in my realistic texture packs. + +2012-06-27: Relaxed dependency on UnifiedDyes to prevent depending on Flowers. +The mod will still use them if available; if not, you just can't craft the +various colored objects. + +2012-06-26: Separated dyes into their own mod ("unifieddyes"). Added a copy of +flowers and made this mod depend on it and unified dyes. Updated all crafting +recipes to fit, got rid of the conditional code for flowers (since it is a +dependency now), removed a bunch of redundant register_craftitem code, fixed +some copy&paste errors on the window shutters. As a consequence of these +changes, white paint, titanium dioxide, and all colors of dyes will have to be +removed and replaced (but the things that depend on them are fine). + +2012-06-25: Removed all of the old legacy_wallmounted references - I didn't +realize they were deprecated (and they were causing out-of-nodes issues also). + +2012-06-23: Added small speaker, round brass pole, square wrought iron pole +(without connecting rungs). Fairly recent version of Minetest required for +these to work (uses nodeboxes). Note that if you've placed brass or wrought +iron poles in your world already, they will be drawn using these newer styles; +if you need the square poles and/or connecting rungs, you'll need to remove +them and craft brass/wrought iron fences instead. + +2012-06-16: Tweaked terracotta roof tiles/shingles to give the 4 pieces back on +digging a 'shingle'. + +2012-06-15 (a bit later): Did the same for the stereo and television and +improved them in the process. + +2012-06-15: Tweaked the speaker textures, added separate images for all 6 +sides. + +2012-06-14: Added right-opening versions of oak and mahogany "folding" doors - +allows one to create double doors. Split the two colors into separate files. +Inspired by Calinou's update to the default doors mod - works the same way too. +:-) + +2012-06-13 (a lot later): Changed the crafting recipe slightly for nightstands +- they're designated as 'oak' now. Added crafting recipe for mahogany +variants. If you've already placed nightstands into your world, you should +remove them before updating - sorry, you'll have to rebuild them due my having +had to change the node names. Added initial crafting recipes for oak and +mahogany drawers and complete dressers (dresser components are not yet useful, +work in progress. See crafts.lua for more details). + +2012-06-13: Changed buckets of white paint so that the empty bucket is returned +when the bucket of paint is crafted into something else (rather than when the +bucket of paint is first created). * Fixed copy&paste error from the previous +bucket change. * Moved smelting and crafting of white paint from crafts.lua +over to dyes.lua. + +2012-06-12: Multiple post-release updates over the course of the day. * Fixed +recipe collision with glass panes. * Implemented a full set of dyes derived +from flowers, updated all related crafting recipes and screenshots to match. * +Collected all dyes into one file. Changed recipes for blue and purple dyes to +something that makes a bit more sense. :-) * Tweaked oak shutters to give two +pieces on crafting. * Added alternate recipes for orange and green dyes. + +2012-06-12: Initial release. diff --git a/mods/homedecor/copyright.txt b/mods/homedecor/copyright.txt new file mode 100644 index 0000000..14613ff --- /dev/null +++ b/mods/homedecor/copyright.txt @@ -0,0 +1,6 @@ +Most code and all textures by Vanessa Ezekowitz. + +Some code copied and modified from the game's default mods (especially +doors) and ironzorg's flowers mod. + +Licenses: For the lua code, GPL. For all images and everything else, WTFPL. diff --git a/mods/homedecor/crafts.lua b/mods/homedecor/crafts.lua new file mode 100644 index 0000000..69490e1 --- /dev/null +++ b/mods/homedecor/crafts.lua @@ -0,0 +1,1715 @@ +-- Crafting for homedecor mod (includes folding) by Vanessa Ezekowitz +-- 2012-06-12 +-- +-- Mostly my own code; overall template borrowed from game default +-- +-- License: GPL +-- + +-- Some recipes need white paint. If Unified Dyes isn't present, +-- implement the standard white paint production method here instead, +-- plus some alternate recipes in the event of material shorages. + +if ( minetest.get_modpath("unifieddyes") ) == nil then + + minetest.register_craftitem(":unifieddyes:titanium_dioxide", { + description = "Titanium Dioxide", + inventory_image = "homedecor_titanium_dioxide.png", + }) + + minetest.register_craft({ + type = "cooking", + output = "unifieddyes:titanium_dioxide 10", + recipe = "default:stone", + }) + + minetest.register_craftitem(":unifieddyes:white_paint", { + description = "Bucket of white paint", + inventory_image = "homedecor_white_paint.png", + }) + + minetest.register_craft( { + type = "shapeless", + output = "unifieddyes:white_paint", + recipe = { + "unifieddyes:titanium_dioxide", + "bucket:bucket_water", + "default:junglegrass", + }, + }) + + minetest.register_craft( { + type = "shapeless", + output = "unifieddyes:white_paint", + recipe = { + "unifieddyes:titanium_dioxide", + "bucket:bucket_water", + "default:dry_shrub", + "default:dry_shrub", + }, + }) + + minetest.register_craft( { + type = "shapeless", + output = "unifieddyes:white_paint", + recipe = { + "unifieddyes:titanium_dioxide", + "bucket:bucket_water", + "default:leaves", + "default:leaves", + "default:leaves", + }, + }) +end + + +-- misc stuff :D + +minetest.register_craftitem("homedecor:terracotta_base", { + description = "Uncooked Terracotta Base", + inventory_image = "homedecor_terracotta_base.png", +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:terracotta_base 8", + recipe = { + "default:dirt", + "default:clay_lump", + "bucket:bucket_water" + }, + replacements = { {'bucket:bucket_water', 'bucket:bucket_empty'}, }, +}) + +minetest.register_craftitem("homedecor:roof_tile_terracotta", { + description = "Terracotta Roof Tile", + inventory_image = "homedecor_roof_tile_terracotta.png", +}) + +minetest.register_craft({ + type = "cooking", + output = "homedecor:roof_tile_terracotta", + recipe = "homedecor:terracotta_base", +}) + +minetest.register_craft( { + output = 'homedecor:shingles_terracotta', + recipe = { + { 'homedecor:roof_tile_terracotta', 'homedecor:roof_tile_terracotta'}, + { 'homedecor:roof_tile_terracotta', 'homedecor:roof_tile_terracotta'}, + }, +}) + +minetest.register_craft( { + output = 'homedecor:flower_pot_terracotta', + recipe = { + { 'homedecor:roof_tile_terracotta', 'default:dirt', 'homedecor:roof_tile_terracotta' }, + { 'homedecor:roof_tile_terracotta', 'homedecor:roof_tile_terracotta', 'homedecor:roof_tile_terracotta' }, + }, +}) + +-- + +minetest.register_craftitem("homedecor:plastic_sheeting", { + description = "Plastic sheet", + inventory_image = "homedecor_plastic_sheeting.png", +}) + +minetest.register_craftitem("homedecor:plastic_base", { + description = "Unprocessed Plastic base", + wield_image = "homedecor_plastic_base.png", + inventory_image = "homedecor_plastic_base_inv.png", +}) + +minetest.register_craft({ + type = "shapeless", + output = 'homedecor:plastic_base 6', + recipe = { "default:junglegrass", + "default:junglegrass", + "default:junglegrass" + } +}) + +minetest.register_craft({ + type = "shapeless", + output = 'homedecor:plastic_base 3', + recipe = { "default:dry_shrub", + "default:dry_shrub", + "default:dry_shrub" + }, +}) + +minetest.register_craft({ + type = "shapeless", + output = 'homedecor:plastic_base 4', + recipe = { "default:leaves", + "default:leaves", + "default:leaves", + "default:leaves", + "default:leaves", + "default:leaves" + } +}) + +minetest.register_craft({ + type = "cooking", + output = "homedecor:plastic_sheeting", + recipe = "homedecor:plastic_base", +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:plastic_base', + burntime = 30, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:plastic_sheeting', + burntime = 30, +}) + +minetest.register_craft( { + output = 'homedecor:flower_pot_green', + recipe = { + { 'unifieddyes:dark_green', '', '' }, + { 'homedecor:plastic_sheeting', 'default:dirt', 'homedecor:plastic_sheeting' }, + { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' }, + }, + replacements = { {'unifieddyes:dark_green', 'vessels:glass_bottle'}, }, + +}) + +minetest.register_craft( { + output = 'homedecor:flower_pot_green', + recipe = { + { 'default:leaves', '', 'default:leaves' }, + { 'homedecor:plastic_sheeting', 'default:dirt', 'homedecor:plastic_sheeting' }, + { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' }, + }, + replacements = { {'unifieddyes:dark_green', 'vessels:glass_bottle'}, }, + +}) + +minetest.register_craft( { + output = 'homedecor:flower_pot_black', + recipe = { + { 'group:dye,basecolor_black', 'group:dye,basecolor_black', 'group:dye,basecolor_black' }, + { 'homedecor:plastic_sheeting', 'default:dirt', 'homedecor:plastic_sheeting' }, + { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' }, + }, + replacements = { + {'unifieddyes:black', 'vessels:glass_bottle'}, + {'unifieddyes:black', 'vessels:glass_bottle'}, + {'unifieddyes:black', 'vessels:glass_bottle'} + } +}) + +minetest.register_craft( { + output = 'homedecor:flower_pot_black', + recipe = { + { 'default:coal_lump', 'default:coal_lump', 'default:coal_lump' }, + { 'homedecor:plastic_sheeting', 'default:dirt', 'homedecor:plastic_sheeting' }, + { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' }, + }, +}) +-- + +minetest.register_craft( { + output = 'homedecor:projection_screen 3', + recipe = { + { '', 'default:glass', '' }, + { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' }, + { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' }, + }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:projection_screen', + burntime = 30, +}) + +-- + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:ceiling_paint 10', + recipe = { + 'unifieddyes:white_paint', + 'default:stone', + }, + replacements = { {'unifieddyes:white_paint', 'bucket:bucket_empty'}, }, +}) + +minetest.register_craft( { + output = 'homedecor:ceiling_tile 10', + recipe = { + { '', 'unifieddyes:white_paint', '' }, + { 'default:steel_ingot', 'default:stone', 'default:steel_ingot' }, + + }, + replacements = { {'unifieddyes:white_paint', 'bucket:bucket_empty'}, }, +}) + + +-- ======================================================= +-- Items/recipes not requiring smelting of anything new + +minetest.register_craft( { + output = 'homedecor:glass_table_small_round 15', + recipe = { + { '', 'default:glass', '' }, + { 'default:glass', 'default:glass', 'default:glass' }, + { '', 'default:glass', '' }, + }, +}) + +-- + +minetest.register_craft( { + type = "shapeless", + output = 'homedecor:glass_table_small_square', + recipe = { 'homedecor:glass_table_small_round' }, +}) + +-- + +minetest.register_craft( { + type = "shapeless", + output = 'homedecor:glass_table_large', + recipe = { 'homedecor:glass_table_small_square' }, +}) + +-- + +minetest.register_craft( { + output = 'homedecor:shingles_asphalt 6', + recipe = { + { 'default:dirt', 'group:dye,basecolor_black', 'default:dirt' }, + { 'default:sand', 'group:dye,basecolor_black', 'default:sand' }, + { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' }, + }, + replacements = { + {'unifieddyes:black', 'vessels:glass_bottle'}, + {'unifieddyes:black', 'vessels:glass_bottle'}, + } +}) + +minetest.register_craft( { + output = 'homedecor:shingles_asphalt 6', + recipe = { + { 'default:dirt', 'default:coal_lump', 'default:dirt' }, + { 'default:sand', 'default:coal_lump', 'default:sand' }, + { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' }, + }, +}) +-- + +minetest.register_craft( { + output = 'homedecor:shingles_wood 12', + recipe = { + { 'default:stick', 'default:wood'}, + { 'default:wood', 'default:stick'}, + }, +}) + +minetest.register_craft( { + output = 'homedecor:shingles_wood 12', + recipe = { + { 'default:wood', 'default:stick'}, + { 'default:stick', 'default:wood'}, + }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:shingles_wood', + burntime = 30, +}) + +-- + +minetest.register_craft( { + output = 'homedecor:skylight 9', + recipe = { + { 'default:glass', 'default:glass' }, + { 'default:glass', 'default:glass' }, + }, +}) + +-- + +minetest.register_craft( { + output = 'homedecor:wood_table_small_round 15', + recipe = { + { '', 'default:wood', '' }, + { 'default:wood', 'default:wood', 'default:wood' }, + { '', 'default:wood', '' }, + }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:wood_table_small_round', + burntime = 30, +}) + +minetest.register_craft( { + type = "shapeless", + output = 'homedecor:wood_table_small_square', + recipe = { 'homedecor:wood_table_small_round' }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:wood_table_small_square', + burntime = 30, +}) + +-- + +minetest.register_craft( { + type = "shapeless", + output = 'homedecor:wood_table_large', + recipe = { 'homedecor:wood_table_small_square' }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:wood_table_large', + burntime = 30, +}) + +-- Various colors of shutters + +minetest.register_craft( { + output = 'homedecor:shutter_oak 2', + recipe = { + { 'default:stick', 'default:stick' }, + { 'default:stick', 'default:stick' }, + { 'default:stick', 'default:stick' }, + }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:shutter_oak', + burntime = 30, +}) + +-- + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:shutter_black 4', + recipe = { + 'group:dye,basecolor_black', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak' + }, + replacements = { {'unifieddyes:black', 'vessels:glass_bottle'}, }, +}) + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:shutter_black 4', + recipe = { + 'default:coal_lump', + 'default:coal_lump', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak' + }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:shutter_black', + burntime = 30, +}) + +-- + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:shutter_dark_grey 4', + recipe = { + 'unifieddyes:darkgrey_paint', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak' + }, + replacements = { {'unifieddyes:darkgrey_paint', 'bucket:bucket_empty'}, }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:shutter_dark_grey', + burntime = 30, +}) + +-- + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:shutter_grey 4', + recipe = { + 'group:dye,basecolor_grey', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak' + }, + replacements = { {'unifieddyes:grey_paint', 'bucket:bucket_empty'}, }, +}) + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:shutter_grey 4', + recipe = { + 'default:coal_lump', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak' + }, +}) +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:shutter_grey', + burntime = 30, +}) + +-- + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:shutter_white 4', + recipe = { + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'unifieddyes:white_paint', + }, + replacements = { {'unifieddyes:white_paint', 'bucket:bucket_empty'}, }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:shutter_white', + burntime = 30, +}) + +-- + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:shutter_mahogany 4', + recipe = { + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'unifieddyes:dark_orange', + }, + replacements = { {'unifieddyes:dark_orange', 'vessels:glass_bottle'}, }, +}) + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:shutter_mahogany 4', + recipe = { + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'default:coal_lump', + 'default:dirt', + }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:shutter_mahogany', + burntime = 30, +}) +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:shutter_red 4', + recipe = { + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'group:dye,basecolor_red', + }, + replacements = { {'unifieddyes:red', 'vessels:glass_bottle'}, }, +}) + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:shutter_red 4', + recipe = { + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'default:apple', + }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:shutter_red', + burntime = 30, +}) + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:shutter_yellow 4', + recipe = { + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'group:dye,basecolor_yellow', + }, + replacements = { {'unifieddyes:yellow', 'vessels:glass_bottle'}, }, +}) + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:shutter_yellow 4', + recipe = { + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'default:mese_crystal_fragment', + 'default:mese_crystal_fragment', + 'default:mese_crystal_fragment' + }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:shutter_yellow', + burntime = 30, +}) + +-- + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:shutter_forest_green 4', + recipe = { + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'unifieddyes:dark_green', + }, + replacements = { {'unifieddyes:dark_green', 'vessels:glass_bottle'}, }, +}) + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:shutter_forest_green 4', + recipe = { + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'default:leaves', + 'default:coal_lump', + }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:shutter_forest_green', + burntime = 30, +}) + +-- + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:shutter_light_blue 4', + recipe = { + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'unifieddyes:light_blue', + }, + replacements = { {'unifieddyes:light_blue', 'vessels:glass_bottle'}, }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:shutter_light_blue', + burntime = 30, +}) + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:shutter_purple 4', + recipe = { + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'homedecor:shutter_oak', + 'unifieddyes:violet', + }, + replacements = { {'unifieddyes:violet', 'vessels:glass_bottle'}, }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:shutter_purple', + burntime = 30, +}) + +-- + +minetest.register_craftitem("homedecor:drawer_small", { + description = "Small Wooden Drawer", + inventory_image = "homedecor_drawer_small.png", +}) + + +minetest.register_craft( { + output = 'homedecor:drawer_small', + recipe = { + { 'default:wood', 'default:steel_ingot', 'default:wood' }, + }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:drawer_small', + burntime = 30, +}) + +-- + +minetest.register_craft( { + output = 'homedecor:nightstand_oak_one_drawer', + recipe = { + { 'homedecor:drawer_small' }, + { 'default:wood' }, + }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:nightstand_oak_one_drawer', + burntime = 30, +}) + +minetest.register_craft( { + output = 'homedecor:nightstand_oak_two_drawers', + recipe = { + { 'homedecor:drawer_small' }, + { 'homedecor:drawer_small' }, + { 'default:wood' }, + }, +}) + +minetest.register_craft( { + output = 'homedecor:nightstand_oak_two_drawers', + recipe = { + { 'homedecor:nightstand_oak_one_drawer' }, + { 'homedecor:drawer_small' }, + }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:nightstand_oak_two_drawers', + burntime = 30, +}) + +-- + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:nightstand_mahogany_one_drawer', + recipe = { + 'homedecor:nightstand_oak_one_drawer', + 'unifieddyes:dark_orange', + }, + replacements = { {'unifieddyes:dark_orange', 'vessels:glass_bottle'}, }, +}) + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:nightstand_mahogany_one_drawer', + recipe = { + 'homedecor:nightstand_oak_one_drawer', + 'default:dirt', + 'default:coal_lump', + }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:nightstand_mahogany_one_drawer', + burntime = 30, +}) + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:nightstand_mahogany_two_drawers', + recipe = { + 'homedecor:nightstand_oak_two_drawers', + 'unifieddyes:dark_orange', + }, + replacements = { {'unifieddyes:dark_orange', 'vessels:glass_bottle'}, }, +}) + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:nightstand_mahogany_two_drawers', + recipe = { + 'homedecor:nightstand_oak_two_drawers', + 'default:dirt', + 'default:coal_lump', + }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:nightstand_mahogany_two_drawers', + burntime = 30, +}) + +minetest.register_craftitem("homedecor:brass_ingot", { + description = "Brass Ingot", + inventory_image = "homedecor_brass_ingot.png", +}) + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:brass_ingot 2', + recipe = { + 'moreores:silver_ingot', + 'moreores:copper_ingot', + }, +}) + +-- Table legs + +minetest.register_craft( { + output = 'homedecor:table_legs_wrought_iron 3', + recipe = { + { '', 'default:iron_lump', '' }, + { '', 'default:iron_lump', '' }, + { 'default:iron_lump', 'default:iron_lump', 'default:iron_lump' }, + }, +}) + +minetest.register_craft( { + output = 'homedecor:table_legs_brass 3', + recipe = { + { '', 'homedecor:brass_ingot', '' }, + { '', 'homedecor:brass_ingot', '' }, + { 'homedecor:brass_ingot', 'homedecor:brass_ingot', 'homedecor:brass_ingot' } + }, +}) + +minetest.register_craftitem("homedecor:utility_table_legs", { + description = "Legs for Small Utility table", + inventory_image = "homedecor_utility_table_legs.png", +}) + +minetest.register_craft( { + output = 'homedecor:utility_table_legs', + recipe = { + { 'default:stick', 'default:stick', 'default:stick' }, + { 'default:stick', '', 'default:stick' }, + { 'default:stick', '', 'default:stick' }, + }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:utility_table_legs', + burntime = 30, +}) + +-- vertical poles/lampposts + +minetest.register_craft( { + output = 'homedecor:pole_brass 4', + recipe = { + { '', 'homedecor:brass_ingot', '' }, + { '', 'homedecor:brass_ingot', '' }, + { '', 'homedecor:brass_ingot', '' } + }, +}) + +minetest.register_craft( { + output = 'homedecor:pole_wrought_iron 4', + recipe = { + { 'default:iron_lump', }, + { 'default:iron_lump', }, + { 'default:iron_lump', }, + }, +}) + +-- Home electronics + +if ( minetest.get_modpath("mesecons") ) == nil then + + minetest.register_craftitem(":mesecons_materials:silicon", { + description = "Silicon lump", + inventory_image = "homedecor_silicon.png", + }) + + minetest.register_craft( { + output = "mesecons_materials:silicon 4", + recipe = { + { "default:sand", "default:sand" }, + { "default:sand", "default:steel_ingot" }, + }, + }) + +end + +minetest.register_craft( { + output = "homedecor:ic 4", + recipe = { + { "mesecons_materials:silicon", "mesecons_materials:silicon" }, + { "mesecons_materials:silicon", "default:steel_ingot" }, + }, +}) + +minetest.register_craftitem("homedecor:ic", { + description = "Simple Integrated Circuit", + inventory_image = "homedecor_ic.png", +}) + +minetest.register_craft( { + output = 'homedecor:television', + recipe = { + { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' }, + { 'homedecor:plastic_sheeting', 'moreblocks:glowglass', 'homedecor:plastic_sheeting' }, + { 'homedecor:ic', 'homedecor:ic', 'homedecor:ic' }, + }, +}) + +minetest.register_craft( { + output = 'homedecor:stereo', + recipe = { + { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' }, + { 'homedecor:plastic_sheeting', 'homedecor:ic', 'homedecor:plastic_sheeting' }, + { 'default:steel_ingot', 'homedecor:ic', 'default:steel_ingot' }, + }, +}) + +-- =========================================================== +-- Recipes that require materials from wool (cotton alternate) + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:rug_small 8', + recipe = { + 'wool:red', + 'wool:yellow', + 'wool:blue', + 'wool:black' + }, +}) + +-- cotton version: + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:rug_small 8', + recipe = { + 'cotton:red', + 'cotton:yellow', + 'cotton:blue', + 'cotton:black' + }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:rug_small', + burntime = 30, +}) + +minetest.register_craft( { + type = 'shapeless', + output = 'homedecor:rug_large 2', + recipe = { + 'homedecor:rug_small', + 'homedecor:rug_small', + }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:rug_large', + burntime = 30, +}) + +-- ===================================== +-- Speakers require copper from moreores + +minetest.register_craft( { + output = 'homedecor:speaker', + recipe = { + { 'default:wood', 'wool:black', 'default:wood' }, + { 'default:wood', 'moreores:copper_ingot', 'default:wood' }, + { 'default:wood', 'wool:black', 'default:wood' }, + }, +}) + +minetest.register_craft( { + output = 'homedecor:speaker_small', + recipe = { + { 'default:wood', 'wool:black', 'default:wood' }, + { 'default:wood', 'moreores:copper_ingot', 'default:wood' }, + }, +}) + +-- cotton version + +minetest.register_craft( { + output = 'homedecor:speaker', + recipe = { + { 'default:wood', 'cotton:black', 'default:wood' }, + { 'default:wood', 'moreores:copper_ingot', 'default:wood' }, + { 'default:wood', 'cotton:black', 'default:wood' }, + }, +}) + +minetest.register_craft( { + output = 'homedecor:speaker_small', + recipe = { + { 'default:wood', 'cotton:black', 'default:wood' }, + { 'default:wood', 'moreores:copper_ingot', 'default:wood' }, + }, +}) + +-- Curtains + +local curtaincolors = { + "red", + "green", + "blue", + "white", + "pink", + "violet" +} + +for c in ipairs(curtaincolors) do + local color = curtaincolors[c] + minetest.register_craft( { + output = "homedecor:curtain_"..color.." 3", + recipe = { + { "wool:"..color, "", ""}, + { "wool:"..color, "", ""}, + { "wool:"..color, "", ""}, + }, + }) +end + + +-- Recycling recipes + +-- Some glass objects recycle via the glass fragments item/recipe in the Vessels mod. + +minetest.register_craft({ + type = "shapeless", + output = "vessels:glass_fragments", + recipe = { + "homedecor:glass_table_small_round", + "homedecor:glass_table_small_round", + "homedecor:glass_table_small_round" + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "vessels:glass_fragments", + recipe = { + "homedecor:glass_table_small_square", + "homedecor:glass_table_small_square", + "homedecor:glass_table_small_square" + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "vessels:glass_fragments", + recipe = { + "homedecor:glass_table_large", + "homedecor:glass_table_large", + "homedecor:glass_table_large" + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "vessels:glass_fragments", + recipe = { + "homedecor:skylight", + "homedecor:skylight", + "homedecor:skylight", + } +}) + +-- Wooden tabletops can turn into sticks + +minetest.register_craft({ + type = "shapeless", + output = "default:stick 4", + recipe = { + "homedecor:wood_table_small_round", + "homedecor:wood_table_small_round", + "homedecor:wood_table_small_round" + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "default:stick 4", + recipe = { + "homedecor:wood_table_small_square", + "homedecor:wood_table_small_square", + "homedecor:wood_table_small_square" + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "default:stick 4", + recipe = { + "homedecor:wood_table_large", + "homedecor:wood_table_large", + "homedecor:wood_table_large" + } +}) + +-- Kitchen stuff + +minetest.register_craft({ + output = "homedecor:oven", + recipe = { + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot", }, + {"default:steel_ingot", "moreblocks:ironglass", "default:steel_ingot", }, + {"default:steel_ingot", "moreores:copper_ingot", "default:steel_ingot", }, + } +}) + +minetest.register_craft({ + output = "homedecor:refrigerator", + recipe = { + {"default:steel_ingot", "moreblocks:glowglass", "default:steel_ingot", }, + {"default:steel_ingot", "moreores:tin_ingot", "default:steel_ingot", }, + {"default:steel_ingot", "default:clay", "default:steel_ingot", }, + } +}) + +minetest.register_craft({ + output = "homedecor:kitchen_cabinet", + recipe = { + {"default:wood", "default:stick", "default:wood", }, + {"default:wood", "default:stick", "default:wood", }, + {"default:wood", "default:stick", "default:wood", }, + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:kitchen_cabinet_half 2", + recipe = { "homedecor:kitchen_cabinet" } +}) + +minetest.register_craft({ + output = "homedecor:kitchen_cabinet_with_sink", + recipe = { + {"default:wood", "default:steel_ingot", "default:wood", }, + {"default:wood", "default:steel_ingot", "default:wood", }, + {"default:wood", "default:stick", "default:wood", }, + } +}) + +-- Lighting + +-- yellow + +minetest.register_craft({ + output = "homedecor:glowlight_thick_yellow 6", + recipe = { + {"moreblocks:superglowglass", "moreblocks:superglowglass", "moreblocks:superglowglass", }, + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:glowlight_thick_yellow_wall", + recipe = { + "homedecor:glowlight_thick_yellow", + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:glowlight_thick_yellow", + recipe = { + "homedecor:glowlight_thick_yellow_wall", + } +}) + +minetest.register_craft({ + output = "homedecor:glowlight_thin_yellow 6", + recipe = { + {"homedecor:glowlight_thick_yellow", "homedecor:glowlight_thick_yellow", "homedecor:glowlight_thick_yellow", }, + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:glowlight_thin_yellow_wall", + recipe = { + "homedecor:glowlight_thin_yellow", + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:glowlight_thin_yellow", + recipe = { + "homedecor:glowlight_thin_yellow_wall", + } +}) + +minetest.register_craft({ + output = "homedecor:glowlight_small_cube_yellow 8", + recipe = { + {"default:stick" }, + {"moreblocks:superglowglass" }, + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:glowlight_small_cube_yellow_ceiling", + recipe = { + "homedecor:glowlight_small_cube_yellow", + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:glowlight_small_cube_yellow", + recipe = { + "homedecor:glowlight_small_cube_yellow_ceiling", + } +}) + +-- white + +minetest.register_craft({ + output = "homedecor:glowlight_thick_white 6", + recipe = { + { "wool:white", "wool:white", "wool:white" }, + {"moreblocks:superglowglass", "moreblocks:superglowglass", "moreblocks:superglowglass", }, + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:glowlight_thick_white 2", + recipe = { + "wool:white", + "homedecor:glowlight_thick_yellow", + "homedecor:glowlight_thick_yellow", + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:glowlight_thick_white_wall", + recipe = { + "homedecor:glowlight_thick_white", + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:glowlight_thick_white", + recipe = { + "homedecor:glowlight_thick_white_wall", + } +}) + +minetest.register_craft({ + output = "homedecor:glowlight_thin_white 6", + recipe = { + {"homedecor:glowlight_thick_white", "homedecor:glowlight_thick_white", "homedecor:glowlight_thick_white", }, + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:glowlight_thin_white_wall", + recipe = { + "homedecor:glowlight_thin_white", + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:glowlight_thin_white", + recipe = { + "homedecor:glowlight_thin_white_wall", + } +}) + +minetest.register_craft({ + output = "homedecor:glowlight_small_cube_white 8", + recipe = { + {"wool:white" }, + {"moreblocks:superglowglass" }, + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:glowlight_small_cube_white_ceiling", + recipe = { + "homedecor:glowlight_small_cube_white", + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:glowlight_small_cube_white", + recipe = { + "homedecor:glowlight_small_cube_white_ceiling", + } +}) + +-- Fences and gates + +minetest.register_craft( { + output = 'homedecor:fence_brass 6', + recipe = { + { 'homedecor:brass_ingot', 'homedecor:brass_ingot', 'homedecor:brass_ingot' }, + { 'homedecor:brass_ingot', 'homedecor:brass_ingot', 'homedecor:brass_ingot' }, + }, +}) + +minetest.register_craft( { + output = 'homedecor:fence_wrought_iron 6', + recipe = { + { 'default:iron_lump','default:iron_lump','default:iron_lump' }, + { 'default:iron_lump','default:iron_lump','default:iron_lump' }, + }, +}) + +minetest.register_craft( { + output = "homedecor:fence_picket 6", + recipe = { + { "default:stick", "default:stick", "default:stick" }, + { "default:stick", "", "default:stick" }, + { "default:stick", "default:stick", "default:stick" } + }, +}) + +minetest.register_craft( { + output = "homedecor:fence_picket_white 6", + recipe = { + { "default:stick", "default:stick", "default:stick" }, + { "default:stick", "unifieddyes:white_paint", "default:stick" }, + { "default:stick", "default:stick", "default:stick" } + }, + replacements = { {'unifieddyes:white_paint', 'bucket:bucket_empty'}, }, +}) + +minetest.register_craft( { + output = "homedecor:fence_privacy 6", + recipe = { + { "default:wood", "default:stick", "default:wood" }, + { "default:wood", "", "default:wood" }, + { "default:wood", "default:stick", "default:wood" } + }, +}) + +minetest.register_craft( { + output = "homedecor:fence_barbed_wire 6", + recipe = { + { "default:stick", "default:iron_lump", "default:stick" }, + { "default:stick", "", "default:stick" }, + { "default:stick", "default:iron_lump", "default:stick" } + }, +}) + +minetest.register_craft( { + output = "homedecor:fence_chainlink 9", + recipe = { + { "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" }, + { "default:steel_ingot", "default:iron_lump", "default:steel_ingot" }, + { "default:steel_ingot", "default:iron_lump", "default:steel_ingot" } + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:fence_picket_gate_white_closed", + recipe = { + "homedecor:fence_picket_white" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:fence_picket_white", + recipe = { + "homedecor:fence_picket_gate_white_closed" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:fence_picket_gate_closed", + recipe = { + "homedecor:fence_picket" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:fence_picket", + recipe = { + "homedecor:fence_picket_gate_closed" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:fence_barbed_wire_gate_closed", + recipe = { + "homedecor:fence_barbed_wire" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:fence_barbed_wire", + recipe = { + "homedecor:fence_barbed_wire_gate_closed" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:fence_chainlink_gate_closed", + recipe = { + "homedecor:fence_chainlink" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:fence_chainlink", + recipe = { + "homedecor:fence_chainlink_gate_closed" + }, +}) + +-- doors + +-- plain wood, non-windowed + +minetest.register_craft( { + output = "homedecor:door_wood_plain_bottom_left 2", + recipe = { + { "default:wood", "default:wood", "" }, + { "default:wood", "default:wood", "default:steel_ingot" }, + { "default:wood", "default:wood", "" }, + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_wood_plain_bottom_left", + recipe = { + "homedecor:door_wood_plain_bottom_right" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_wood_plain_bottom_right", + recipe = { + "homedecor:door_wood_plain_bottom_left" + }, +}) + +-- fancy exterior + +minetest.register_craft( { + output = "homedecor:door_exterior_fancy_bottom_left 2", + recipe = { + { "default:wood", "default:glass" }, + { "default:wood", "default:wood" }, + { "default:wood", "default:wood" }, + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_exterior_fancy_bottom_left", + recipe = { + "homedecor:door_exterior_fancy_bottom_right" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_exterior_fancy_bottom_right", + recipe = { + "homedecor:door_exterior_fancy_bottom_left" + }, +}) + + +-- wood and glass (grid style) + +-- bare + +minetest.register_craft( { + output = "homedecor:door_wood_glass_bottom_left 2", + recipe = { + { "default:glass", "default:wood" }, + { "default:wood", "default:glass" }, + { "default:glass", "default:wood" }, + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_wood_glass_bottom_left", + recipe = { + "homedecor:door_wood_glass_bottom_right" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_wood_glass_bottom_right", + recipe = { + "homedecor:door_wood_glass_bottom_left" + }, +}) + +-- mahogany + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_wood_glass_mahogany_bottom_left 2", + recipe = { + "default:dirt", + "default:coal_lump", + "homedecor:door_wood_glass_bottom_left", + "homedecor:door_wood_glass_bottom_left" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_wood_glass_mahogany_bottom_right 2", + recipe = { + "default:dirt", + "default:coal_lump", + "homedecor:door_wood_glass_bottom_right", + "homedecor:door_wood_glass_bottom_right" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_wood_glass_mahogany_bottom_left 2", + recipe = { + "unifieddyes:dark_orange", + "homedecor:door_wood_glass_bottom_left", + "homedecor:door_wood_glass_bottom_left" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_wood_glass_mahogany_bottom_right 2", + recipe = { + "unifieddyes:dark_orange", + "homedecor:door_wood_glass_bottom_right", + "homedecor:door_wood_glass_bottom_right" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_wood_glass_mahogany_bottom_left", + recipe = { + "homedecor:door_wood_glass_mahogany_bottom_right" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_wood_glass_mahogany_bottom_right", + recipe = { + "homedecor:door_wood_glass_mahogany_bottom_left" + }, +}) + +-- white + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_wood_glass_white_bottom_left 2", + recipe = { + "unifieddyes:white_paint", + "homedecor:door_wood_glass_bottom_left", + "homedecor:door_wood_glass_bottom_left" + }, + replacements = { {'unifieddyes:white_paint', 'bucket:bucket_empty'}, }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_wood_glass_white_bottom_right 2", + recipe = { + "unifieddyes:white_paint", + "homedecor:door_wood_glass_bottom_right", + "homedecor:door_wood_glass_bottom_right" + }, + replacements = { {'unifieddyes:white_paint', 'bucket:bucket_empty'}, }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_wood_glass_white_bottom_left", + recipe = { + "homedecor:door_wood_glass_white_bottom_right" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_wood_glass_white_bottom_right", + recipe = { + "homedecor:door_wood_glass_white_bottom_left" + }, +}) + +-- Solid glass with metal handle + +minetest.register_craft( { + output = "homedecor:door_glass_bottom_left 2", + recipe = { + { "default:glass", "default:glass" }, + { "default:glass", "default:steel_ingot" }, + { "default:glass", "default:glass" }, + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_glass_bottom_left", + recipe = { + "homedecor:door_glass_bottom_right" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_glass_bottom_right", + recipe = { + "homedecor:door_glass_bottom_left" + }, +}) + +-- Closet doors + +-- oak + +minetest.register_craft( { + output = "homedecor:door_closet_oak_bottom_left 2", + recipe = { + { "", "default:stick", "default:stick" }, + { "default:steel_ingot", "default:stick", "default:stick" }, + { "", "default:stick", "default:stick" }, + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_closet_oak_bottom_left", + recipe = { + "homedecor:door_closet_oak_bottom_right" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_closet_oak_bottom_right", + recipe = { + "homedecor:door_closet_oak_bottom_left" + }, +}) + +-- mahogany + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_closet_mahogany_bottom_left 2", + recipe = { + "homedecor:door_closet_oak_bottom_left", + "homedecor:door_closet_oak_bottom_left", + "default:dirt", + "default:coal_lump", + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_closet_mahogany_bottom_left 2", + recipe = { + "homedecor:door_closet_oak_bottom_left", + "homedecor:door_closet_oak_bottom_left", + "unifieddyes:dark_orange" + }, + replacements = { {'unifieddyes:dark_orange', 'vessels:glass_bottle'}, }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_closet_mahogany_bottom_left", + recipe = { + "homedecor:door_closet_mahogany_bottom_right" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_closet_mahogany_bottom_right", + recipe = { + "homedecor:door_closet_mahogany_bottom_left" + }, +}) + diff --git a/mods/homedecor/depends.txt b/mods/homedecor/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/homedecor/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/homedecor/door_models.lua b/mods/homedecor/door_models.lua new file mode 100644 index 0000000..13d98bb --- /dev/null +++ b/mods/homedecor/door_models.lua @@ -0,0 +1,317 @@ +homedecor_door_models = { + { + "closet_mahogany", + "Mahogany Closet Door", + + {{ -8/16, 5/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, 8/32, 13/32, 8/16, 9/32, 15/32 }, + { -8/16, 6/32, 13/32, 8/16, 7/32, 15/32 }, + { -8/16, 4/32, 13/32, 8/16, 5/32, 15/32 }, + { -8/16, 2/32, 13/32, 8/16, 3/32, 15/32 }, + { -8/16, 0/32, 13/32, 8/16, 1/32, 15/32 }, + { -8/16, -2/32, 13/32, 8/16, -1/32, 15/32 }, + { -8/16, -4/32, 13/32, 8/16, -3/32, 15/32 }, + { -8/16, -6/32, 13/32, 8/16, -5/32, 15/32 }, + { -8/16, -8/32, 13/32, 8/16, -7/32, 15/32 }, + { -8/16, -10/32, 13/32, 8/16, -9/32, 15/32 }, + { -8/16, -12/32, 13/32, 8/16, -11/32, 15/32 }, + { -8/16, -16/32, 6/16, 8/16, -13/32, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }}, + + {{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16}, + { -8/16, 10/32, 13/32, 8/16, 11/32, 15/32 }, + { -8/16, 8/32, 13/32, 8/16, 9/32, 15/32 }, + { -8/16, 6/32, 13/32, 8/16, 7/32, 15/32 }, + { -8/16, 4/32, 13/32, 8/16, 5/32, 15/32 }, + { -8/16, 2/32, 13/32, 8/16, 3/32, 15/32 }, + { -8/16, 0, 13/32, 8/16, 1/32, 15/32 }, + { -8/16, -2/32, 13/32, 8/16, -1/32, 15/32 }, + { -8/16, -4/32, 13/32, 8/16, -3/32, 15/32 }, + { -8/16, -6/32, 13/32, 8/16, -5/32, 15/32 }, + { -8/16, -8/32, 13/32, 8/16, -7/32, 15/32 }, + { -8/16, -10/32, 13/32, 8/16, -9/32, 15/32 }, + { -8/16, -16/32, 6/16, 8/16, -11/32, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }}, + + {{ -8/16, 5/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, 8/32, 13/32, 8/16, 9/32, 15/32 }, + { -8/16, 6/32, 13/32, 8/16, 7/32, 15/32 }, + { -8/16, 4/32, 13/32, 8/16, 5/32, 15/32 }, + { -8/16, 2/32, 13/32, 8/16, 3/32, 15/32 }, + { -8/16, 0/32, 13/32, 8/16, 1/32, 15/32 }, + { -8/16, -2/32, 13/32, 8/16, -1/32, 15/32 }, + { -8/16, -4/32, 13/32, 8/16, -3/32, 15/32 }, + { -8/16, -6/32, 13/32, 8/16, -5/32, 15/32 }, + { -8/16, -8/32, 13/32, 8/16, -7/32, 15/32 }, + { -8/16, -10/32, 13/32, 8/16, -9/32, 15/32 }, + { -8/16, -12/32, 13/32, 8/16, -11/32, 15/32 }, + { -8/16, -16/32, 6/16, 8/16, -13/32, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }}, + + {{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16}, + { -8/16, 10/32, 13/32, 8/16, 11/32, 15/32 }, + { -8/16, 8/32, 13/32, 8/16, 9/32, 15/32 }, + { -8/16, 6/32, 13/32, 8/16, 7/32, 15/32 }, + { -8/16, 4/32, 13/32, 8/16, 5/32, 15/32 }, + { -8/16, 2/32, 13/32, 8/16, 3/32, 15/32 }, + { -8/16, 0, 13/32, 8/16, 1/32, 15/32 }, + { -8/16, -2/32, 13/32, 8/16, -1/32, 15/32 }, + { -8/16, -4/32, 13/32, 8/16, -3/32, 15/32 }, + { -8/16, -6/32, 13/32, 8/16, -5/32, 15/32 }, + { -8/16, -8/32, 13/32, 8/16, -7/32, 15/32 }, + { -8/16, -10/32, 13/32, 8/16, -9/32, 15/32 }, + { -8/16, -16/32, 6/16, 8/16, -11/32, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }} + }, + +---------- + + { + "closet_oak", + "Oak Closet Door", + + {{ -8/16, 5/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, 8/32, 13/32, 8/16, 9/32, 15/32 }, + { -8/16, 6/32, 13/32, 8/16, 7/32, 15/32 }, + { -8/16, 4/32, 13/32, 8/16, 5/32, 15/32 }, + { -8/16, 2/32, 13/32, 8/16, 3/32, 15/32 }, + { -8/16, 0/32, 13/32, 8/16, 1/32, 15/32 }, + { -8/16, -2/32, 13/32, 8/16, -1/32, 15/32 }, + { -8/16, -4/32, 13/32, 8/16, -3/32, 15/32 }, + { -8/16, -6/32, 13/32, 8/16, -5/32, 15/32 }, + { -8/16, -8/32, 13/32, 8/16, -7/32, 15/32 }, + { -8/16, -10/32, 13/32, 8/16, -9/32, 15/32 }, + { -8/16, -12/32, 13/32, 8/16, -11/32, 15/32 }, + { -8/16, -16/32, 6/16, 8/16, -13/32, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }}, + + {{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16}, + { -8/16, 10/32, 13/32, 8/16, 11/32, 15/32 }, + { -8/16, 8/32, 13/32, 8/16, 9/32, 15/32 }, + { -8/16, 6/32, 13/32, 8/16, 7/32, 15/32 }, + { -8/16, 4/32, 13/32, 8/16, 5/32, 15/32 }, + { -8/16, 2/32, 13/32, 8/16, 3/32, 15/32 }, + { -8/16, 0, 13/32, 8/16, 1/32, 15/32 }, + { -8/16, -2/32, 13/32, 8/16, -1/32, 15/32 }, + { -8/16, -4/32, 13/32, 8/16, -3/32, 15/32 }, + { -8/16, -6/32, 13/32, 8/16, -5/32, 15/32 }, + { -8/16, -8/32, 13/32, 8/16, -7/32, 15/32 }, + { -8/16, -10/32, 13/32, 8/16, -9/32, 15/32 }, + { -8/16, -16/32, 6/16, 8/16, -11/32, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }}, + + {{ -8/16, 5/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, 8/32, 13/32, 8/16, 9/32, 15/32 }, + { -8/16, 6/32, 13/32, 8/16, 7/32, 15/32 }, + { -8/16, 4/32, 13/32, 8/16, 5/32, 15/32 }, + { -8/16, 2/32, 13/32, 8/16, 3/32, 15/32 }, + { -8/16, 0/32, 13/32, 8/16, 1/32, 15/32 }, + { -8/16, -2/32, 13/32, 8/16, -1/32, 15/32 }, + { -8/16, -4/32, 13/32, 8/16, -3/32, 15/32 }, + { -8/16, -6/32, 13/32, 8/16, -5/32, 15/32 }, + { -8/16, -8/32, 13/32, 8/16, -7/32, 15/32 }, + { -8/16, -10/32, 13/32, 8/16, -9/32, 15/32 }, + { -8/16, -12/32, 13/32, 8/16, -11/32, 15/32 }, + { -8/16, -16/32, 6/16, 8/16, -13/32, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }}, + + {{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16}, + { -8/16, 10/32, 13/32, 8/16, 11/32, 15/32 }, + { -8/16, 8/32, 13/32, 8/16, 9/32, 15/32 }, + { -8/16, 6/32, 13/32, 8/16, 7/32, 15/32 }, + { -8/16, 4/32, 13/32, 8/16, 5/32, 15/32 }, + { -8/16, 2/32, 13/32, 8/16, 3/32, 15/32 }, + { -8/16, 0, 13/32, 8/16, 1/32, 15/32 }, + { -8/16, -2/32, 13/32, 8/16, -1/32, 15/32 }, + { -8/16, -4/32, 13/32, 8/16, -3/32, 15/32 }, + { -8/16, -6/32, 13/32, 8/16, -5/32, 15/32 }, + { -8/16, -8/32, 13/32, 8/16, -7/32, 15/32 }, + { -8/16, -10/32, 13/32, 8/16, -9/32, 15/32 }, + { -8/16, -16/32, 6/16, 8/16, -11/32, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }}, + }, + +---------- + + { + "exterior_fancy", + "Fancy Wood/Glass Door", + + {{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }}, + + {{ -8/16, -8/16, 6/16, 8/16, 6/16, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }}, + + {{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }}, + + {{ -8/16, -8/16, 6/16, 8/16, 6/16, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }} + }, + +---------- + + { + "glass", + "Glass Office Door", + + {{ -8/16, -8/16, 6/16, 8/16, 8/16, 8/16 }}, + + {{ -8/16, -8/16, 6/16, 8/16, 8/16, 8/16 }}, + + {{ -8/16, -8/16, 6/16, 8/16, 8/16, 8/16 }}, + + {{ -8/16, -8/16, 6/16, 8/16, 8/16, 8/16 }} + }, + +---------- + + { + "wood_glass", + "Glass and Wood, Oak-colored", + + {{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -3/32, 6/16, 8/16, 1/32, 8/16 }, + { -8/16, -8/16, 6/16, 8/16, -7/16, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { -1/16, -8/16, 6/16, 1/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }}, + + {{ -8/16, 7/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -1/32, 6/16, 8/16, 3/32, 8/16 }, + { -8/16, -8/16, 6/16, 8/16, -6/16, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { -1/16, -8/16, 6/16, 1/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }}, + + {{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -3/32, 6/16, 8/16, 1/32, 8/16 }, + { -8/16, -8/16, 6/16, 8/16, -7/16, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { -1/16, -8/16, 6/16, 1/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }}, + + {{ -8/16, 7/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -1/32, 6/16, 8/16, 3/32, 8/16 }, + { -8/16, -8/16, 6/16, 8/16, -6/16, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { -1/16, -8/16, 6/16, 1/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }} + }, + +---------- + + { + "wood_glass_mahogany", + "Glass and Wood, Mahogany-colored", + + {{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -3/32, 6/16, 8/16, 1/32, 8/16 }, + { -8/16, -8/16, 6/16, 8/16, -7/16, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { -1/16, -8/16, 6/16, 1/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }}, + + {{ -8/16, 7/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -1/32, 6/16, 8/16, 3/32, 8/16 }, + { -8/16, -8/16, 6/16, 8/16, -6/16, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { -1/16, -8/16, 6/16, 1/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }}, + + {{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -3/32, 6/16, 8/16, 1/32, 8/16 }, + { -8/16, -8/16, 6/16, 8/16, -7/16, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { -1/16, -8/16, 6/16, 1/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }}, + + {{ -8/16, 7/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -1/32, 6/16, 8/16, 3/32, 8/16 }, + { -8/16, -8/16, 6/16, 8/16, -6/16, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { -1/16, -8/16, 6/16, 1/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }} + }, + +---------- + + { + "wood_glass_white", + "Glass and Wood, White", + + {{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -3/32, 6/16, 8/16, 1/32, 8/16 }, + { -8/16, -8/16, 6/16, 8/16, -7/16, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { -1/16, -8/16, 6/16, 1/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }}, + + {{ -8/16, 7/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -1/32, 6/16, 8/16, 3/32, 8/16 }, + { -8/16, -8/16, 6/16, 8/16, -6/16, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { -1/16, -8/16, 6/16, 1/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }}, + + {{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -3/32, 6/16, 8/16, 1/32, 8/16 }, + { -8/16, -8/16, 6/16, 8/16, -7/16, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { -1/16, -8/16, 6/16, 1/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }}, + + {{ -8/16, 7/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -1/32, 6/16, 8/16, 3/32, 8/16 }, + { -8/16, -8/16, 6/16, 8/16, -6/16, 8/16 }, + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, + { -1/16, -8/16, 6/16, 1/16, 8/16, 8/16 }, + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, + { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }} + }, + +---------- + + { + "wood_plain", + "Plain Wooden Door", + + {{ -8/16, -8/16, 6/16, 8/16, 8/16, 8/16 }}, + + {{ -8/16, -8/16, 6/16, 8/16, 8/16, 8/16 }}, + + {{ -8/16, -8/16, 6/16, 8/16, 8/16, 8/16 }}, + + {{ -8/16, -8/16, 6/16, 8/16, 8/16, 8/16 }} + }, + +} + diff --git a/mods/homedecor/door_nodes.lua b/mods/homedecor/door_nodes.lua new file mode 100644 index 0000000..68d3f4d --- /dev/null +++ b/mods/homedecor/door_nodes.lua @@ -0,0 +1,268 @@ +-- Node definitions for Homedecor doors + +local sides = {"left", "right"} +local rsides = {"right", "left"} + +-- cheater's method of detecting if default doors are right-click-to-open: +-- default.generate_ore() was exposed to the modding API one day prior to the +-- right-click thing. + +local use_rightclick = type(default.generate_ore) + +for i in ipairs(sides) do + local side = sides[i] + local rside = rsides[i] + + for j in ipairs(homedecor_door_models) do + local doorname = homedecor_door_models[j][1] + local doordesc = homedecor_door_models[j][2] + local nodeboxes_top = nil + local nodeboxes_bottom = nil + + if side == "left" then + nodeboxes_top = homedecor_door_models[j][3] + nodeboxes_bottomtom = homedecor_door_models[j][4] + else + nodeboxes_top = homedecor_door_models[j][5] + nodeboxes_bottomtom = homedecor_door_models[j][6] + end + + local tiles_top = { + "homedecor_door_"..doorname.."_tb.png", + "homedecor_door_"..doorname.."_tb.png", + "homedecor_door_"..doorname.."_lrt.png", + "homedecor_door_"..doorname.."_lrt.png", + "homedecor_door_"..doorname.."_"..rside.."_top.png", + "homedecor_door_"..doorname.."_"..side.."_top.png", + } + + local tiles_bottom = { + "homedecor_door_"..doorname.."_tb.png", + "homedecor_door_"..doorname.."_tb.png", + "homedecor_door_"..doorname.."_lrb.png", + "homedecor_door_"..doorname.."_lrb.png", + "homedecor_door_"..doorname.."_"..rside.."_bottom.png", + "homedecor_door_"..doorname.."_"..side.."_bottom.png", + } + + local selectboxes_top = { + type = "fixed", + fixed = { -0.5, -1.5, 6/16, 0.5, 0.5, 8/16} + } + + local selectboxes_bottom = { + type = "fixed", + fixed = { -0.5, -0.5, 6/16, 0.5, 1.5, 8/16} + } + + if use_rightclick == nil then -- register the version that uses on_punch + + minetest.register_node("homedecor:door_"..doorname.."_top_"..side, { + description = doordesc.." (Top Half, "..side.."-opening)", + drawtype = "nodebox", + tiles = tiles_top, + paramtype = "light", + paramtype2 = "facedir", + groups = {snappy=3, not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + selection_box = selectboxes_top, + node_box = { + type = "fixed", + fixed = nodeboxes_top + }, + drop = "homedecor:door_"..doorname.."_bottom_"..side, + after_dig_node = function(pos, oldnode, oldmetadata, digger) + if minetest.env:get_node({x=pos.x, y=pos.y-1, z=pos.z}).name == "homedecor:door_"..doorname.."_bottom_"..side then + minetest.env:remove_node({x=pos.x, y=pos.y-1, z=pos.z}) + end + end, + on_punch = function(pos, node, puncher) + homedecor_flip_door({x=pos.x, y=pos.y-1, z=pos.z}, node, puncher, doorname, side) + end + }) + + minetest.register_node("homedecor:door_"..doorname.."_bottom_"..side, { + description = doordesc.." ("..side.."-opening)", + drawtype = "nodebox", + tiles = tiles_bottom, + inventory_image = "homedecor_door_"..doorname.."_"..side.."_inv.png", + paramtype = "light", + paramtype2 = "facedir", + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + selection_box = selectboxes_bottom, + node_box = { + type = "fixed", + fixed = nodeboxes_bottomtom + }, + after_dig_node = function(pos, oldnode, oldmetadata, digger) + if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name == "homedecor:door_"..doorname.."_top_"..side then + minetest.env:remove_node({x=pos.x, y=pos.y+1, z=pos.z}) + end + end, + on_punch = function(pos, node, puncher) + homedecor_flip_door(pos, node, puncher, doorname, side) + end, + on_place = function(itemstack, placer, pointed_thing) + return homedecor_place_door(itemstack, placer, pointed_thing, doorname, side) + end, + }) + + else -- register the version that uses on_rightclick + + minetest.register_node("homedecor:door_"..doorname.."_top_"..side, { + description = doordesc.." (Top Half, "..side.."-opening)", + drawtype = "nodebox", + tiles = tiles_top, + paramtype = "light", + paramtype2 = "facedir", + groups = {snappy=3, not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + selection_box = selectboxes_top, + node_box = { + type = "fixed", + fixed = nodeboxes_top + }, + drop = "homedecor:door_"..doorname.."_bottom_"..side, + after_dig_node = function(pos, oldnode, oldmetadata, digger) + if minetest.env:get_node({x=pos.x, y=pos.y-1, z=pos.z}).name == "homedecor:door_"..doorname.."_bottom_"..side then + minetest.env:remove_node({x=pos.x, y=pos.y-1, z=pos.z}) + end + end, + on_rightclick = function(pos, node, clicker) + homedecor_flip_door({x=pos.x, y=pos.y-1, z=pos.z}, node, clicker, doorname, side) + end + }) + + minetest.register_node("homedecor:door_"..doorname.."_bottom_"..side, { + description = doordesc.." ("..side.."-opening)", + drawtype = "nodebox", + tiles = tiles_bottom, + inventory_image = "homedecor_door_"..doorname.."_"..side.."_inv.png", + paramtype = "light", + paramtype2 = "facedir", + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + selection_box = selectboxes_bottom, + node_box = { + type = "fixed", + fixed = nodeboxes_bottomtom + }, + after_dig_node = function(pos, oldnode, oldmetadata, digger) + if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name == "homedecor:door_"..doorname.."_top_"..side then + minetest.env:remove_node({x=pos.x, y=pos.y+1, z=pos.z}) + end + end, + on_place = function(itemstack, placer, pointed_thing) + -- for some obscure reason, this callback is used if the target node + -- is a homedecor door, probably because they have an on_rightclick + -- setting -- but only if you're weilding a door! + + local node=minetest.env:get_node(pointed_thing.under) + if string.find(node.name, "homedecor:door_") then + + local lr = nil + if string.find(node.name, "left") then + lr = "left" + else + lr = "right" + end + + local tb = nil + if string.find(node.name, "top") then + tb = "top" + else + tb = "bottom" + end + + local dname = string.gsub(string.gsub(string.gsub(node.name, "homedecor:door_", ""), "_"..lr, ""), "_"..tb, "") + + print(node.name) + print(dname) + print(lr) + + homedecor_flip_door(pointed_thing.under, node, placer, dname, lr) + return + else + return homedecor_place_door(itemstack, placer, pointed_thing, doorname, side) + end + end, + on_rightclick = function(pos, node, clicker) + homedecor_flip_door(pos, node, clicker, doorname, side) + end + }) + end + end +end + +function homedecor_node_is_owned(pos, placer) + local ownername = false + if type(IsPlayerNodeOwner) == "function" then -- node_ownership mod + if HasOwner(pos, placer) then -- returns true if the node is owned + if not IsPlayerNodeOwner(pos, placer:get_player_name()) then + if type(getLastOwner) == "function" then -- ...is an old version + ownername = getLastOwner(pos) + elseif type(GetNodeOwnerName) == "function" then -- ...is a recent version + ownername = GetNodeOwnerName(pos) + else + ownername = "someone" + end + end + end + + elseif type(isprotect)=="function" then -- glomie's protection mod + if not isprotect(5, pos, placer) then + ownername = "someone" + end + end + + if ownername ~= false then + minetest.chat_send_player( placer:get_player_name(), "Sorry, "..ownername.." owns that spot." ) + return true + else + return false + end +end + +function homedecor_place_door(itemstack, placer, pointed_thing, name, side) + local pos = pointed_thing.above + if homedecor_node_is_owned(pointed_thing.under, placer) == false then + + local nodename = minetest.env:get_node(pointed_thing.under).name + local field = minetest.registered_nodes[nodename].on_rightclick + + if field == nil then + fdir = minetest.dir_to_facedir(placer:get_look_dir()) + if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then + minetest.chat_send_player( placer:get_player_name(), 'Not enough vertical space to place a door!' ) + return + end + minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name = "homedecor:door_"..name.."_top_"..side, param2=fdir}) + minetest.env:add_node(pos, { name = "homedecor:door_"..name.."_bottom_"..side, param2=fdir}) + itemstack:take_item() + return itemstack + end + return minetest.item_place(itemstack, placer, pointed_thing) + end +end + +function homedecor_flip_door(pos, node, player, name, side) + local rside = nil + local nfdir = nil + if side == "left" then + rside = "right" + nfdir=node.param2 - 1 + if nfdir < 0 then nfdir = 3 end + else + rside = "left" + nfdir=node.param2 + 1 + if nfdir > 3 then nfdir = 0 end + end + minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name = "homedecor:door_"..name.."_top_"..rside, param2=nfdir}) + minetest.env:add_node(pos, { name = "homedecor:door_"..name.."_bottom_"..rside, param2=nfdir}) +end + diff --git a/mods/homedecor/fences.lua b/mods/homedecor/fences.lua new file mode 100644 index 0000000..faa2ca2 --- /dev/null +++ b/mods/homedecor/fences.lua @@ -0,0 +1,498 @@ +-- This file adds fences of various types + +minetest.register_node("homedecor:fence_brass", { + description = "Brass Fence/railing", + drawtype = "fencelike", + tiles = {"homedecor_tile_brass.png"}, + inventory_image = "homedecor_fence_brass.png", + wield_image = "homedecor_pole_brass.png", + paramtype = "light", + is_ground_content = true, + selection_box = { + type = "fixed", + fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}, + }, + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + walkable = true, +}) + +minetest.register_node("homedecor:fence_wrought_iron", { + description = "Wrought Iron Fence/railing", + drawtype = "fencelike", + tiles = {"homedecor_tile_wrought_iron.png"}, + inventory_image = "homedecor_fence_wrought_iron.png", + wield_image = "homedecor_pole_wrought_iron.png", + paramtype = "light", + is_ground_content = true, + selection_box = { + type = "fixed", + fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}, + }, + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + walkable = true, +}) + +minetest.register_node("homedecor:fence_picket", { + drawtype = "nodebox", + description = "Unpainted Picket Fence", + tiles = { + "homedecor_fence_picket.png", + "homedecor_fence_picket.png", + "homedecor_fence_picket.png", + "homedecor_fence_picket.png", + "homedecor_fence_picket_backside.png", + "homedecor_fence_picket.png" + }, +-- inventory_image = "homedecor_fence_picket.png", +-- wield_image = "homedecor_fence_picket.png", + paramtype = "light", + is_ground_content = true, + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0.4, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0.495, 0.5, 0.5, 0.495 } + }, +}) + +minetest.register_node("homedecor:fence_picket_white", { + drawtype = "nodebox", + description = "White Picket Fence", + tiles = { + "homedecor_fence_picket_white.png", + "homedecor_fence_picket_white.png", + "homedecor_fence_picket_white.png", + "homedecor_fence_picket_white.png", + "homedecor_fence_picket_white_backside.png", + "homedecor_fence_picket_white.png" + }, +-- inventory_image = "homedecor_fence_picket_white.png", +-- wield_image = "homedecor_fence_picket_white.png", + paramtype = "light", + is_ground_content = true, + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0.4, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0.495, 0.5, 0.5, 0.495 } + }, +}) + +minetest.register_node("homedecor:fence_privacy", { + drawtype = "nodebox", + description = "Wooden Privacy Fence", + tiles = { + "homedecor_fence_privacy_tb.png", + "homedecor_fence_privacy_tb.png", + "homedecor_fence_privacy_sides.png", + "homedecor_fence_privacy_sides.png", + "homedecor_fence_privacy_backside.png", + "homedecor_fence_privacy_front.png" + }, + paramtype = "light", + is_ground_content = true, + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, 5/16, 0.5, 0.5, 8/16 } + }, + node_box = { + type = "fixed", + fixed = { + { -8/16, -8/16, 5/16, -5/16, 8/16, 7/16 }, -- left part + { -4/16, -8/16, 5/16, 3/16, 8/16, 7/16 }, -- middle part + { 4/16, -8/16, 5/16, 8/16, 8/16, 7/16 }, -- right part + { -8/16, -2/16, 7/16, 8/16, 2/16, 8/16 }, -- connecting rung + } + }, +}) + +minetest.register_node("homedecor:fence_barbed_wire", { + drawtype = "nodebox", + description = "Barbed Wire Fence", + tiles = {"homedecor_fence_barbed_wire.png"}, + paramtype = "light", + is_ground_content = true, + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0.375, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, -- left post + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post + { -6/16, -8/16, 7/16, 6/16, 8/16, 7/16 } -- the wire + } + }, +}) + +minetest.register_node("homedecor:fence_chainlink", { + drawtype = "nodebox", + description = "Chainlink Fence", + tiles = { + "homedecor_fence_chainlink_tb.png", + "homedecor_fence_chainlink_tb.png", + "homedecor_fence_chainlink_sides.png", + "homedecor_fence_chainlink_sides.png", + "homedecor_fence_chainlink_fb.png", + "homedecor_fence_chainlink_fb.png", + }, + paramtype = "light", + is_ground_content = true, + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0.375, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { + { -8/16, -8/16, 6/16, -7/16, 8/16, 8/16 }, -- left post + { 7/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post + { -8/16, 7/16, 13/32, 8/16, 8/16, 15/32 }, -- top piece + { -8/16, -8/16, 13/32, 8/16, -7/16, 15/32 }, -- bottom piece + { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 } -- the chainlink itself + } + }, +}) + + +-- ===== +-- Gates + +minetest.register_node("homedecor:fence_picket_gate_closed", { + drawtype = "nodebox", + description = "Unpainted Picket Fence Gate", + tiles = { + "homedecor_fence_picket_gate.png", + "homedecor_fence_picket_gate.png", + "homedecor_fence_picket_gate.png", + "homedecor_fence_picket_gate.png", + "homedecor_fence_picket_gate_backside.png", + "homedecor_fence_picket_gate.png" + }, +-- inventory_image = "homedecor_fence_picket_gate.png", +-- wield_image = "homedecor_fence_picket_gate.png", + paramtype = "light", + is_ground_content = true, + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0.4, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0.495, 0.5, 0.5, 0.495 } + }, +}) + +minetest.register_node("homedecor:fence_picket_gate_open", { + drawtype = "nodebox", + description = "Unpainted Picket Fence Gate", + tiles = { + "homedecor_fence_picket_gate.png", + "homedecor_fence_picket_gate.png", + "homedecor_fence_picket_gate.png", + "homedecor_fence_picket_gate_backside.png", + "homedecor_fence_picket_gate.png", + "homedecor_fence_picket_gate.png" + }, +-- inventory_image = "homedecor_fence_picket_gate.png", +-- wield_image = "homedecor_fence_picket_gate.png", + paramtype = "light", + is_ground_content = true, + groups = {snappy=3, not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = { 0.4, -0.5, -0.5, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { 0.495, -0.5, -0.5, 0.495, 0.5, 0.5 } + }, + drop = "homedecor:fence_picket_gate_closed" +}) + +minetest.register_node("homedecor:fence_picket_gate_white_closed", { + drawtype = "nodebox", + description = "White Picket Fence Gate", + tiles = { + "homedecor_fence_picket_gate_white.png", + "homedecor_fence_picket_gate_white.png", + "homedecor_fence_picket_gate_white.png", + "homedecor_fence_picket_gate_white.png", + "homedecor_fence_picket_gate_white_backside.png", + "homedecor_fence_picket_gate_white.png" + }, +-- inventory_image = "homedecor_fence_picket_gate.png", +-- wield_image = "homedecor_fence_picket_gate.png", + paramtype = "light", + is_ground_content = true, + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0.4, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0.495, 0.5, 0.5, 0.495 } + }, +}) + +minetest.register_node("homedecor:fence_picket_gate_white_open", { + drawtype = "nodebox", + description = "White Picket Fence Gate", + tiles = { + "homedecor_fence_picket_gate_white.png", + "homedecor_fence_picket_gate_white.png", + "homedecor_fence_picket_gate_white.png", + "homedecor_fence_picket_gate_white_backside.png", + "homedecor_fence_picket_gate_white.png", + "homedecor_fence_picket_gate_white.png" + }, +-- inventory_image = "homedecor_fence_picket_gate.png", +-- wield_image = "homedecor_fence_picket_gate.png", + paramtype = "light", + is_ground_content = true, + groups = {snappy=3, not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = { 0.4, -0.5, -0.5, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { 0.495, -0.5, -0.5, 0.495, 0.5, 0.5 } + }, + drop = "homedecor:fence_picket_gate_closed" +}) + +minetest.register_node("homedecor:fence_barbed_wire_gate_closed", { + drawtype = "nodebox", + description = "Barbed Wire Fence Gate", + tiles = { + "homedecor_fence_barbed_wire_gate_edges.png", + "homedecor_fence_barbed_wire_gate_edges.png", + "homedecor_fence_barbed_wire_gate_edges.png", + "homedecor_fence_barbed_wire_gate_edges.png", + "homedecor_fence_barbed_wire_gate_backside.png", + "homedecor_fence_barbed_wire_gate_front.png" + }, + paramtype = "light", + is_ground_content = true, + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0.375, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { + { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, -- left post + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post + { -8/16, 7/16, 13/32, 8/16, 8/16, 15/32 }, -- top piece + { -8/16, -8/16, 13/32, 8/16, -7/16, 15/32 }, -- bottom piece + { -6/16, -8/16, 7/16, 6/16, 8/16, 7/16 } -- the wire + } + }, +}) + +minetest.register_node("homedecor:fence_barbed_wire_gate_open", { + drawtype = "nodebox", + description = "Barbed Wire Fence Gate", + tiles = { + "homedecor_fence_barbed_wire_gate_edges.png", + "homedecor_fence_barbed_wire_gate_edges.png", + "homedecor_fence_barbed_wire_gate_front.png", + "homedecor_fence_barbed_wire_gate_backside.png", + "homedecor_fence_barbed_wire_gate_edges.png", + "homedecor_fence_barbed_wire_gate_edges.png" + }, + paramtype = "light", + is_ground_content = true, + groups = {snappy=3, not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = { 0.375, -0.5, -0.5, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { + { 6/16, -8/16, -8/16, 8/16, 8/16, -6/16 }, -- left post + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post + { 13/32, 7/16, -8/16, 15/32, 8/16, 8/16 }, -- top piece + { 13/32, -8/16, -8/16, 15/32, -7/16, 8/16 }, -- bottom piece + { 7/16, -8/16, -6/16, 7/16, 8/16, 6/16 } -- the wire + } + }, + drop = "homedecor:fence_barbed_wire_gate_closed" +}) + +minetest.register_node("homedecor:fence_chainlink_gate_closed", { + drawtype = "nodebox", + description = "Chainlink Fence Gate", + tiles = { + "homedecor_fence_chainlink_gate_tb.png", + "homedecor_fence_chainlink_gate_tb.png", + "homedecor_fence_chainlink_gate_sides.png", + "homedecor_fence_chainlink_gate_sides.png", + "homedecor_fence_chainlink_gate_backside.png", + "homedecor_fence_chainlink_gate_front.png", + }, + paramtype = "light", + is_ground_content = true, + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0.375, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { + { -8/16, -8/16, 6/16, -7/16, 8/16, 8/16 }, -- left post + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post + { -8/16, 7/16, 13/32, 8/16, 8/16, 15/32 }, -- top piece + { -8/16, -8/16, 13/32, 8/16, -7/16, 15/32 }, -- bottom piece + { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }, -- the chainlink itself + { -8/16, -3/16, 6/16, -6/16, 3/16, 8/16 } -- the lump representing the lock + } + }, +}) + +minetest.register_node("homedecor:fence_chainlink_gate_open", { + drawtype = "nodebox", + description = "Chainlink Fence Gate (open)", + tiles = { + "homedecor_fence_chainlink_gate_tb.png", + "homedecor_fence_chainlink_gate_tb.png", + "homedecor_fence_chainlink_gate_front.png", + "homedecor_fence_chainlink_gate_backside.png", + "homedecor_fence_chainlink_gate_sides.png", + "homedecor_fence_chainlink_gate_sides.png", + }, + paramtype = "light", + is_ground_content = true, + groups = {snappy=3, not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = { 0.375, -0.5, -0.5, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { + { 6/16, -8/16, -8/16, 8/16, 8/16, -7/16 }, -- left post + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post + { 13/32, 7/16, -8/16, 15/32, 8/16, 8/16 }, -- top piece + { 13/32, -8/16, -8/16, 15/32, -7/16, 8/16 }, -- bottom piece + { 7/16, -8/16, -8/16, 7/16, 8/16, 8/16 }, -- the chainlink itself + { 6/16, -3/16, -8/16, 8/16, 3/16, -6/16 } -- the lump representing the lock + } + }, + drop = "homedecor:fence_chainlink_gate_closed" +}) + +minetest.register_on_punchnode(function (pos, node) + if node.name=="homedecor:fence_picket_gate_white_closed" then + fdir=node.param2 + minetest.env:add_node(pos, { name = "homedecor:fence_picket_gate_white_open", param2 = fdir }) + end +end) + +minetest.register_on_punchnode(function (pos, node) + if node.name=="homedecor:fence_picket_gate_white_open" then + fdir=node.param2 + minetest.env:add_node(pos, { name = "homedecor:fence_picket_gate_white_closed", param2 = fdir }) + end +end) + +minetest.register_on_punchnode(function (pos, node) + if node.name=="homedecor:fence_picket_gate_closed" then + fdir=node.param2 + minetest.env:add_node(pos, { name = "homedecor:fence_picket_gate_open", param2 = fdir }) + end +end) + +minetest.register_on_punchnode(function (pos, node) + if node.name=="homedecor:fence_picket_gate_open" then + fdir=node.param2 + minetest.env:add_node(pos, { name = "homedecor:fence_picket_gate_closed", param2 = fdir }) + end +end) + +minetest.register_on_punchnode(function (pos, node) + if node.name=="homedecor:fence_barbed_wire_gate_closed" then + fdir=node.param2 + minetest.env:add_node(pos, { name = "homedecor:fence_barbed_wire_gate_open", param2 = fdir }) + end +end) + +minetest.register_on_punchnode(function (pos, node) + if node.name=="homedecor:fence_barbed_wire_gate_open" then + fdir=node.param2 + minetest.env:add_node(pos, { name = "homedecor:fence_barbed_wire_gate_closed", param2 = fdir }) + end +end) + +minetest.register_on_punchnode(function (pos, node) + if node.name=="homedecor:fence_chainlink_gate_closed" then + fdir=node.param2 + minetest.env:add_node(pos, { name = "homedecor:fence_chainlink_gate_open", param2 = fdir }) + end +end) + +minetest.register_on_punchnode(function (pos, node) + if node.name=="homedecor:fence_chainlink_gate_open" then + fdir=node.param2 + minetest.env:add_node(pos, { name = "homedecor:fence_chainlink_gate_closed", param2 = fdir }) + end +end) + + diff --git a/mods/homedecor/init.lua b/mods/homedecor/init.lua new file mode 100644 index 0000000..cd92d19 --- /dev/null +++ b/mods/homedecor/init.lua @@ -0,0 +1,806 @@ +-- Home Decor mod by VanessaE +-- 2012-09-30 +-- +-- Mostly my own code, with bits and pieces lifted from Minetest's default +-- lua files and from ironzorg's flowers mod. Many thanks to GloopMaster +-- for helping me figure out the inventories used in the nightstands/dressers. +-- +-- The code for ovens, nightstands, refrigerators are basically modified +-- copies of the code for chests and furnaces. +-- +-- License: LGPL +-- + +local DEBUG = 0 + +-- Local Functions + +local dbg = function(s) + if DEBUG == 1 then + print('[HomeDecor] ' .. s) + end +end + +-- Nodes + +minetest.register_node('homedecor:shingles_wood', { + description = "Wood Shingles", + drawtype = 'raillike', + tiles = { 'homedecor_shingles_wood.png' }, + wield_image = 'homedecor_shingles_wood.png', + inventory_image = 'homedecor_shingles_wood.png', + paramtype = 'light', + sunlight_propagates = false, + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node('homedecor:skylight', { + description = "Glass Skylight", + drawtype = 'raillike', + tiles = { 'default_glass.png' }, + wield_image = 'default_glass.png', + inventory_image = 'default_glass.png', + paramtype = 'light', + sunlight_propagates = true, + walkable = true, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node('homedecor:shingles_asphalt', { + description = "Asphalt Shingles", + drawtype = 'raillike', + tiles = { 'homedecor_shingles_asphalt.png' }, + wield_image = 'homedecor_shingles_asphalt.png', + inventory_image = 'homedecor_shingles_asphalt.png', + paramtype = 'light', + sunlight_propagates = false, + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node('homedecor:shingles_terracotta', { + description = "Terracotta Roofing", + drawtype = 'raillike', + tiles = { 'homedecor_shingles_terracotta.png' }, + wield_image = 'homedecor_shingles_terracotta.png', + inventory_image = 'homedecor_shingles_terracotta.png', + paramtype = 'light', + sunlight_propagates = false, + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + drop = 'homedecor:roof_tile_terracotta 4', + +}) + +minetest.register_node('homedecor:projection_screen', { + description = "Projection Screen Material", + drawtype = 'signlike', + tiles = { 'homedecor_projection_screen.png' }, + wield_image = 'homedecor_projection_screen_inv.png', + inventory_image = 'homedecor_projection_screen_inv.png', + sunlight_propagates = false, + paramtype = 'light', + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype2 = 'wallmounted', + selection_box = { + type = "wallmounted", + --wall_side = = + }, +}) + +minetest.register_node('homedecor:ceiling_paint', { + description = "Textured Ceiling Paint", + drawtype = 'signlike', + tiles = { 'homedecor_ceiling_paint.png' }, + inventory_image = 'homedecor_ceiling_paint_roller.png', + wield_image = 'homedecor_ceiling_paint_roller.png', + sunlight_propagates = true, + paramtype = 'light', + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "wallmounted", + --wall_top = + --wall_bottom = + --wall_side = + }, +}) + +minetest.register_node('homedecor:ceiling_tile', { + description = "Drop-Ceiling Tile", + drawtype = 'signlike', + tiles = { 'homedecor_ceiling_tile.png' }, + wield_image = 'homedecor_ceiling_tile.png', + inventory_image = 'homedecor_ceiling_tile.png', + sunlight_propagates = true, + paramtype = 'light', + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "wallmounted", + --wall_top = + --wall_bottom = + --wall_side = + }, +}) + +minetest.register_node('homedecor:rug_small', { + description = "Small Throw Rug", + drawtype = 'signlike', + tiles = { 'homedecor_rug_small.png' }, + wield_image = 'homedecor_rug_small.png', + inventory_image = 'homedecor_rug_small.png', + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "wallmounted", + is_ground_content = true, + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "wallmounted", + --wall_top = + --wall_bottom = + --wall_side = + }, +}) + +minetest.register_node('homedecor:rug_large', { + description = "Large Area Rug", + drawtype = 'signlike', + tiles = { 'homedecor_rug_large.png' }, + wield_image = 'homedecor_rug_large.png', + inventory_image = 'homedecor_rug_large.png', + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "wallmounted", + is_ground_content = true, + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "wallmounted", + --wall_top = + --wall_bottom = + --wall_side = + }, + }) + +minetest.register_node('homedecor:glass_table_large', { + description = "Large Glass Table Piece", + drawtype = 'signlike', + tiles = { 'homedecor_glass_table_large.png' }, + wield_image = 'homedecor_glass_table_large.png', + inventory_image = 'homedecor_glass_table_large.png', + sunlight_propagates = true, + paramtype = 'light', + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype2 = "wallmounted", + is_ground_content = true, + selection_box = { + type = "wallmounted", + --wall_top = + --wall_bottom = + --wall_side = + }, +}) + +minetest.register_node('homedecor:glass_table_small_round', { + description = "Glass Table (Small, Round)", + drawtype = 'signlike', + tiles = { 'homedecor_glass_table_small_round.png' }, + wield_image = 'homedecor_glass_table_small_round.png', + inventory_image = 'homedecor_glass_table_small_round.png', + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "wallmounted", + is_ground_content = true, + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "wallmounted", + --wall_top = + --wall_bottom = + --wall_side = + }, +}) + +minetest.register_node('homedecor:glass_table_small_square', { + description = "Glass Table (Small, Square)", + drawtype = 'signlike', + tiles = { 'homedecor_glass_table_small_square.png' }, + wield_image = 'homedecor_glass_table_small_square.png', + inventory_image = 'homedecor_glass_table_small_square.png', + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = "wallmounted", + is_ground_content = true, + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "wallmounted", + --wall_top = + --wall_bottom = + --wall_side = + }, +}) + +minetest.register_node("homedecor:table_legs_brass", { + description = "Brass Table Legs", + drawtype = "plantlike", + tiles = {"homedecor_table_legs_brass.png"}, + inventory_image = "homedecor_table_legs_brass.png", + wield_image = "homedecor_table_legs_brass.png", + visual_scale = 1.04, + paramtype = "light", + walkable = false, + groups = {snappy=3}, + sounds = default.node_sound_leaves_defaults(), + walkable = true, +}) + +minetest.register_node("homedecor:table_legs_wrought_iron", { + description = "Brass Table Legs", + drawtype = "plantlike", + tiles = {"homedecor_table_legs_wrought_iron.png"}, + inventory_image = "homedecor_table_legs_wrought_iron.png", + wield_image = "homedecor_table_legs_wrought_iron.png", + visual_scale = 1.04, + paramtype = "light", + walkable = false, + groups = {snappy=3}, + sounds = default.node_sound_leaves_defaults(), + walkable = true, +}) + +minetest.register_node('homedecor:stereo', { + description = "Stereo Receiver", + tiles = { 'homedecor_stereo_top.png', + 'homedecor_stereo_bottom.png', + 'homedecor_stereo_right.png', + 'homedecor_stereo_left.png', + 'homedecor_stereo_back.png', + 'homedecor_stereo_front.png'}, + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node('homedecor:utility_table_top', { + description = "Utility Table", + tiles = { 'homedecor_utility_table_top.png' }, + inventory_image = 'homedecor_utility_table_top.png', + wield_image = 'homedecor_utility_table_top.png', + drawtype = "signlike", + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype2 = "wallmounted", + is_ground_content = true, + selection_box = { + type = "wallmounted", + --wall_top = + --wall_bottom = + --wall_side = + }, + +}) + +minetest.register_node('homedecor:utility_table_legs', { + description = "Legs for Utility Table", + tiles = { 'homedecor_utility_table_legs.png' }, + inventory_image = 'homedecor_utility_table_legs_inv.png', + wield_image = 'homedecor_utility_table_legs.png', + visual_scale = 1.04, + sunlight_propagates = true, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + drawtype = "plantlike", +}) + +minetest.register_node('homedecor:flower_pot_terracotta', { + description = "Terracotta Flower Pot", + tiles = { 'homedecor_flower_pot_terracotta_top.png', + 'homedecor_flower_pot_terracotta_bottom.png', + 'homedecor_flower_pot_terracotta_sides.png', + 'homedecor_flower_pot_terracotta_sides.png', + 'homedecor_flower_pot_terracotta_sides.png', + 'homedecor_flower_pot_terracotta_sides.png'}, + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node('homedecor:flower_pot_black', { + description = "Black Plastic Flower Pot", + tiles = { 'homedecor_flower_pot_black_top.png', + 'homedecor_flower_pot_black_bottom.png', + 'homedecor_flower_pot_black_sides.png', + 'homedecor_flower_pot_black_sides.png', + 'homedecor_flower_pot_black_sides.png', + 'homedecor_flower_pot_black_sides.png'}, + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node('homedecor:flower_pot_green', { + description = "Green Plastic Flower Pot", + tiles = { 'homedecor_flower_pot_green_top.png', + 'homedecor_flower_pot_green_bottom.png', + 'homedecor_flower_pot_green_sides.png', + 'homedecor_flower_pot_green_sides.png', + 'homedecor_flower_pot_green_sides.png', + 'homedecor_flower_pot_green_sides.png'}, + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node('homedecor:wood_table_large', { + description = "Wooden Tabletop piece", + tiles = { 'homedecor_wood_table_large.png' }, + inventory_image = 'homedecor_wood_table_large.png', + wield_image = 'homedecor_wood_table_large.png', + drawtype = 'signlike', + sunlight_propagates = false, + paramtype = "light", + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype2 = "wallmounted", + is_ground_content = true, + selection_box = { + type = "wallmounted", + --wall_top = + --wall_bottom = + --wall_side = + }, +}) + +minetest.register_node('homedecor:wood_table_small_round', { + description = "Wooden Tabletop (Small, Round)", + tiles = { 'homedecor_wood_table_small_round.png' }, + inventory_image = 'homedecor_wood_table_small_round.png', + wield_image = 'homedecor_wood_table_small_round.png', + drawtype = 'signlike', + sunlight_propagates = false, + paramtype = "light", + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype2 = "wallmounted", + is_ground_content = true, + selection_box = { + type = "wallmounted", + --wall_top = + --wall_bottom = + --wall_side = + }, +}) + +minetest.register_node('homedecor:wood_table_small_square', { + description = "Wooden Tabletop (Small, Square)", + tiles = { 'homedecor_wood_table_small_square.png' }, + inventory_image = 'homedecor_wood_table_small_square.png', + wield_image = 'homedecor_wood_table_small_square.png', + drawtype = 'signlike', + sunlight_propagates = false, + paramtype = "light", + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype2 = "wallmounted", + is_ground_content = true, + selection_box = { + type = "wallmounted", + --wall_top = + --wall_bottom = + --wall_side = + }, +}) + +minetest.register_node('homedecor:shutter_black', { + description = "Wooden Shutter (Black)", + tiles = { 'homedecor_window_shutter_black.png' }, + inventory_image = 'homedecor_window_shutter_black.png', + wield_image = 'homedecor_window_shutter_black.png', + drawtype = 'signlike', + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype2 = 'wallmounted', + selection_box = { + type = "wallmounted", + --wall_side = = + }, +}) + +minetest.register_node('homedecor:shutter_mahogany', { + description = "Wooden Shutter (Unpainted Mahogany)", + tiles = { 'homedecor_window_shutter_mahogany.png' }, + inventory_image = 'homedecor_window_shutter_mahogany.png', + wield_image = 'homedecor_window_shutter_mahogany.png', + drawtype = 'signlike', + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype2 = 'wallmounted', + selection_box = { + type = "wallmounted", + --wall_side = = + }, +}) + +minetest.register_node('homedecor:shutter_oak', { + description = "Wooden Shutter (Unpainted Oak)", + tiles = { 'homedecor_window_shutter_oak.png' }, + inventory_image = 'homedecor_window_shutter_oak.png', + wield_image = 'homedecor_window_shutter_oak.png', + drawtype = 'signlike', + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype2 = 'wallmounted', + selection_box = { + type = "wallmounted", + --wall_side = = + }, +}) + +minetest.register_node('homedecor:shutter_dark_grey', { + description = "Wooden Shutter (Dark Grey)", + tiles = { 'homedecor_window_shutter_dark_grey.png' }, + inventory_image = 'homedecor_window_shutter_dark_grey.png', + wield_image = 'homedecor_window_shutter_dark_grey.png', + drawtype = 'signlike', + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype2 = 'wallmounted', + selection_box = { + type = "wallmounted", + --wall_side = = + }, +}) + +minetest.register_node('homedecor:shutter_forest_green', { + description = "Wooden Shutter (Forest Green)", + tiles = { 'homedecor_window_shutter_forest_green.png' }, + inventory_image = 'homedecor_window_shutter_forest_green.png', + wield_image = 'homedecor_window_shutter_forest_green.png', + drawtype = 'signlike', + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype2 = 'wallmounted', + selection_box = { + type = "wallmounted", + --wall_side = = + }, +}) + +minetest.register_node('homedecor:shutter_grey', { + description = "Wooden Shutter (Grey)", + tiles = { 'homedecor_window_shutter_grey.png' }, + inventory_image = 'homedecor_window_shutter_grey.png', + wield_image = 'homedecor_window_shutter_grey.png', + drawtype = 'signlike', + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype2 = 'wallmounted', + selection_box = { + type = "wallmounted", + --wall_side = = + }, +}) + +minetest.register_node('homedecor:shutter_light_blue', { + description = "Wooden Shutter (Light Blue)", + tiles = { 'homedecor_window_shutter_light_blue.png' }, + inventory_image = 'homedecor_window_shutter_light_blue.png', + wield_image = 'homedecor_window_shutter_light_blue.png', + drawtype = 'signlike', + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype2 = 'wallmounted', + selection_box = { + type = "wallmounted", + --wall_side = = + }, +}) + +minetest.register_node('homedecor:shutter_purple', { + description = "Wooden Shutter (Purple)", + tiles = { 'homedecor_window_shutter_purple.png' }, + inventory_image = 'homedecor_window_shutter_purple.png', + wield_image = 'homedecor_window_shutter_purple.png', + drawtype = 'signlike', + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype2 = 'wallmounted', + selection_box = { + type = "wallmounted", + --wall_side = = + }, +}) + +minetest.register_node('homedecor:shutter_red', { + description = "Wooden Shutter (Red)", + tiles = { 'homedecor_window_shutter_red.png' }, + inventory_image = 'homedecor_window_shutter_red.png', + wield_image = 'homedecor_window_shutter_red.png', + drawtype = 'signlike', + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype2 = 'wallmounted', + selection_box = { + type = "wallmounted", + --wall_side = = + }, +}) + +minetest.register_node('homedecor:shutter_white', { + description = "Wooden Shutter (White)", + tiles = { 'homedecor_window_shutter_white.png' }, + inventory_image = 'homedecor_window_shutter_white.png', + wield_image = 'homedecor_window_shutter_white.png', + drawtype = 'signlike', + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype2 = 'wallmounted', + selection_box = { + type = "wallmounted", + --wall_side = = + }, +}) + +minetest.register_node('homedecor:shutter_yellow', { + description = "Wooden Shutter (Yellow)", + tiles = { 'homedecor_window_shutter_yellow.png' }, + inventory_image = 'homedecor_window_shutter_yellow.png', + wield_image = 'homedecor_window_shutter_yellow.png', + drawtype = 'signlike', + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype2 = 'wallmounted', + selection_box = { + type = "wallmounted", + --wall_side = = + }, +}) + + +minetest.register_node('homedecor:utilitytable2', { + description = "Utility table mk2", + tiles = { 'homedecor_utility_table_top.png', + 'homedecor_blanktile.png', + 'homedecor_utility_table_legs.png', + 'homedecor_utility_table_legs.png', + 'homedecor_utility_table_legs.png', + 'homedecor_utility_table_legs.png'}, + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), +}) + +-- cylinder-shaped objects courtesy Jeija + +local cylbox = {} +local detail = 50 +local sehne +local size = 0.2 + +for i = 1, detail-1 do + sehne = math.sqrt(0.25 - (((i/detail)-0.5)^2)) + cylbox[i]={((i/detail)-0.5)*size, -0.5, -sehne*size, ((i/detail)+(1/detail)-0.5)*size, 0.5, sehne*size} +end + +minetest.register_node("homedecor:pole_brass", { + description = "Brass Pole", + drawtype = "nodebox", + tiles = {"homedecor_tile_brass2.png"}, + inventory_image = "homedecor_pole_brass2.png", + wield_image = "homedecor_pole_brass2.png", + paramtype = "light", + is_ground_content = true, + selection_box = { + type = "fixed", + fixed = {-size/2, -0.5, -size/2, size/2, 0.5, size/2}, + }, + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + node_box = { + type = "fixed", + fixed = cylbox, + } +}) + +minetest.register_node("homedecor:pole_wrought_iron", { + description = "Wrought Iron Pole", + drawtype = "nodebox", + tiles = {"homedecor_tile_wrought_iron2.png"}, + inventory_image = "homedecor_pole_wrought_iron.png", + wield_image = "homedecor_pole_wrought_iron.png", + paramtype = "light", + is_ground_content = true, + selection_box = { + type = "fixed", + fixed = {-0.0625, -0.5, -0.0625, 0.0625, 0.5, 0.0625} + }, + node_box = { + type = "fixed", + fixed = {-0.0625, -0.5, -0.0625, 0.0625, 0.5, 0.0625} + }, + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + walkable = true, +}) + +minetest.register_node('homedecor:speaker', { + description = "Large Stereo Speaker", + tiles = { 'homedecor_speaker_top.png', + 'homedecor_speaker_bottom.png', + 'homedecor_speaker_right.png', + 'homedecor_speaker_left.png', + 'homedecor_speaker_back.png', + 'homedecor_speaker_front.png'}, + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node('homedecor:speaker_small', { + description = "Small Surround Speaker", + drawtype = "nodebox", + tiles = { + 'homedecor_speaker_top.png', + 'homedecor_speaker_bottom.png', + 'homedecor_speaker_right.png', + 'homedecor_speaker_left.png', + 'homedecor_speaker_back.png', + 'homedecor_speaker_front.png' + }, + selection_box = { + type = "fixed", + fixed = { -0.2, -0.5, 0, 0.2, 0, 0.4 } + }, + node_box = { + type = "fixed", + fixed = { -0.2, -0.5, 0, 0.2, 0, 0.4 } + }, + + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), +}) + +-- + +local curtaincolors = { + "red", + "green", + "blue", + "white", + "pink", + "violet" +} + +for c in ipairs(curtaincolors) do + local color = curtaincolors[c] + +minetest.register_node("homedecor:curtain_"..color, { + description = "Curtains ("..color..")", + tiles = { "homedecor_curtain_"..color..".png" }, + inventory_image = "homedecor_curtain_"..color..".png", + wield_image = "homedecor_curtain_"..color..".png", + drawtype = 'signlike', + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype2 = 'wallmounted', + selection_box = { + type = "wallmounted", + --wall_side = = + }, +}) + +end + +dofile(minetest.get_modpath("homedecor").."/door_models.lua") +dofile(minetest.get_modpath("homedecor").."/door_nodes.lua") + +dofile(minetest.get_modpath("homedecor").."/lighting.lua") +dofile(minetest.get_modpath("homedecor").."/fences.lua") +dofile(minetest.get_modpath("homedecor").."/kitchen_cabinet.lua") +dofile(minetest.get_modpath("homedecor").."/refrigerator.lua") +dofile(minetest.get_modpath("homedecor").."/oven.lua") +dofile(minetest.get_modpath("homedecor").."/nightstands.lua") +dofile(minetest.get_modpath("homedecor").."/television.lua") + +dofile(minetest.get_modpath("homedecor").."/crafts.lua") + +print("[HomeDecor] Loaded!") diff --git a/mods/homedecor/kitchen_cabinet.lua b/mods/homedecor/kitchen_cabinet.lua new file mode 100644 index 0000000..06fe314 --- /dev/null +++ b/mods/homedecor/kitchen_cabinet.lua @@ -0,0 +1,142 @@ +-- This file supplies Kitchen cabinets and kitchen sink + +minetest.register_node('homedecor:kitchen_cabinet', { + description = "Kitchen Cabinet", + tiles = { 'homedecor_kitchen_cabinet_top.png', + 'homedecor_kitchen_cabinet_bottom.png', + 'homedecor_kitchen_cabinet_sides.png', + 'homedecor_kitchen_cabinet_sides.png', + 'homedecor_kitchen_cabinet_sides.png', + 'homedecor_kitchen_cabinet_front.png'}, + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "size[8,8]".. + "list[current_name;main;0,0;8,3;]".. + "list[current_player;main;0,4;8,4;]") + meta:set_string("infotext", "Kitchen cabinet") + local inv = meta:get_inventory() + inv:set_size("main", 24) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in kitchen cabinet at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to kitchen cabinet at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from kitchen cabinet at "..minetest.pos_to_string(pos)) + end, +}) + +minetest.register_node('homedecor:kitchen_cabinet_half', { + drawtype="nodebox", + description = 'Half-height Kitchen Cabinet (on ceiling)', + tiles = { 'homedecor_kitchen_cabinet_sides.png', + 'homedecor_kitchen_cabinet_bottom.png', + 'homedecor_kitchen_cabinet_sides.png', + 'homedecor_kitchen_cabinet_sides.png', + 'homedecor_kitchen_cabinet_sides.png', + 'homedecor_kitchen_cabinet_front_half.png'}, + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + selection_box = { + type = "fixed", + fixed = { -0.5, 0, -0.5, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { -0.5, 0, -0.5, 0.5, 0.5, 0.5 } + }, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "size[8,7]".. + "list[current_name;main;1,0;6,2;]".. + "list[current_player;main;0,3;8,4;]") + meta:set_string("infotext", "Kitchen cabinet") + local inv = meta:get_inventory() + inv:set_size("main", 12) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in kitchen cabinet at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to kitchen cabinet at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from kitchen cabinet at "..minetest.pos_to_string(pos)) + end, +}) + + + +minetest.register_node('homedecor:kitchen_cabinet_with_sink', { + description = "Kitchen Cabinet with sink", + tiles = { 'homedecor_kitchen_cabinet_sinktop.png', + 'homedecor_kitchen_cabinet_bottom.png', + 'homedecor_kitchen_cabinet_sides.png', + 'homedecor_kitchen_cabinet_sides.png', + 'homedecor_kitchen_cabinet_sides.png', + 'homedecor_kitchen_cabinet_front.png'}, + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "size[8,7]".. + "list[current_name;main;0,0;8,2;]".. + "list[current_player;main;0,3;8,4;]") + meta:set_string("infotext", "Under-sink cabinet") + local inv = meta:get_inventory() + inv:set_size("main", 16) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in under-sink cabinet at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to under-sink cabinet at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from under-sink cabinet at "..minetest.pos_to_string(pos)) + end, +}) + diff --git a/mods/homedecor/lighting.lua b/mods/homedecor/lighting.lua new file mode 100644 index 0000000..79f7c42 --- /dev/null +++ b/mods/homedecor/lighting.lua @@ -0,0 +1,342 @@ + +-- This file supplies glowlights + +-- Yellow + +minetest.register_node('homedecor:glowlight_thick_yellow', { + description = "Yellow Glowlight (thick)", + drawtype = "nodebox", + tiles = { + 'homedecor_glowlight_yellow_tb.png', + 'homedecor_glowlight_yellow_tb.png', + 'homedecor_glowlight_thick_yellow_sides.png', + 'homedecor_glowlight_thick_yellow_sides.png', + 'homedecor_glowlight_thick_yellow_sides.png', + 'homedecor_glowlight_thick_yellow_sides.png' + }, + selection_box = { + type = "fixed", + fixed = { -0.5, 0, -0.5, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { -0.5, 0, -0.5, 0.5, 0.5, 0.5 } + }, + + sunlight_propagates = false, + paramtype = "light", + walkable = true, + groups = { snappy = 3 }, + light_source = LIGHT_MAX, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node('homedecor:glowlight_thick_yellow_wall', { + description = "Yellow Glowlight (thick, on wall)", + drawtype = "nodebox", + tiles = { + 'homedecor_glowlight_thick_yellow_sides.png', + 'homedecor_glowlight_thick_yellow_sides.png', + 'homedecor_glowlight_thick_yellow_wall_sides.png', + 'homedecor_glowlight_thick_yellow_wall_sides.png', + 'homedecor_glowlight_yellow_tb.png', + 'homedecor_glowlight_yellow_tb.png' + }, + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0, 0.5, 0.5, 0.5 } + }, + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + groups = { snappy = 3 }, + light_source = LIGHT_MAX, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node('homedecor:glowlight_thin_yellow', { + description = "Yellow Glowlight (thin)", + drawtype = "nodebox", + tiles = { + 'homedecor_glowlight_yellow_tb.png', + 'homedecor_glowlight_yellow_tb.png', + 'homedecor_glowlight_thin_yellow_sides.png', + 'homedecor_glowlight_thin_yellow_sides.png', + 'homedecor_glowlight_thin_yellow_sides.png', + 'homedecor_glowlight_thin_yellow_sides.png' + }, + selection_box = { + type = "fixed", + fixed = { -0.5, 0.25, -0.5, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { -0.5, 0.25, -0.5, 0.5, 0.5, 0.5 } + }, + + sunlight_propagates = false, + paramtype = "light", + walkable = true, + groups = { snappy = 3 }, + light_source = LIGHT_MAX-1, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node('homedecor:glowlight_thin_yellow_wall', { + description = "Yellow Glowlight (thin, on wall)", + drawtype = "nodebox", + tiles = { + 'homedecor_glowlight_thin_yellow_sides.png', + 'homedecor_glowlight_thin_yellow_sides.png', + 'homedecor_glowlight_thin_yellow_wall_sides.png', + 'homedecor_glowlight_thin_yellow_wall_sides.png', + 'homedecor_glowlight_yellow_tb.png', + 'homedecor_glowlight_yellow_tb.png' + }, + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0.25, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0.25, 0.5, 0.5, 0.5 } + }, + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + groups = { snappy = 3 }, + light_source = LIGHT_MAX-1, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node('homedecor:glowlight_small_cube_yellow', { + description = "Yellow Glowlight (small cube)", + drawtype = "nodebox", + tiles = { + 'homedecor_glowlight_cube_yellow_tb.png', + 'homedecor_glowlight_cube_yellow_tb.png', + 'homedecor_glowlight_cube_yellow_sides.png', + 'homedecor_glowlight_cube_yellow_sides.png', + 'homedecor_glowlight_cube_yellow_sides.png', + 'homedecor_glowlight_cube_yellow_sides.png' + }, + selection_box = { + type = "fixed", + fixed = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 } + }, + node_box = { + type = "fixed", + fixed = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 } + }, + + sunlight_propagates = false, + paramtype = "light", + walkable = true, + groups = { snappy = 3 }, + light_source = LIGHT_MAX-1, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node('homedecor:glowlight_small_cube_yellow_ceiling', { + description = "Yellow Glowlight (small cube, on ceiling)", + drawtype = "nodebox", + tiles = { + 'homedecor_glowlight_cube_yellow_tb.png', + 'homedecor_glowlight_cube_yellow_tb.png', + 'homedecor_glowlight_cube_yellow_sides_ceiling.png', + 'homedecor_glowlight_cube_yellow_sides_ceiling.png', + 'homedecor_glowlight_cube_yellow_sides_ceiling.png', + 'homedecor_glowlight_cube_yellow_sides_ceiling.png' + }, + selection_box = { + type = "fixed", + fixed = { -0.25, 0, -0.25, 0.25, 0.5, 0.25 } + }, + node_box = { + type = "fixed", + fixed = { -0.25, 0, -0.25, 0.25, 0.5, 0.25 } + }, + + sunlight_propagates = false, + paramtype = "light", + walkable = true, + groups = { snappy = 3 }, + light_source = LIGHT_MAX-1, + sounds = default.node_sound_leaves_defaults(), +}) + +-- White + +minetest.register_node('homedecor:glowlight_thick_white', { + description = "White Glowlight (thick)", + drawtype = "nodebox", + tiles = { + 'homedecor_glowlight_white_tb.png', + 'homedecor_glowlight_white_tb.png', + 'homedecor_glowlight_thick_white_sides.png', + 'homedecor_glowlight_thick_white_sides.png', + 'homedecor_glowlight_thick_white_sides.png', + 'homedecor_glowlight_thick_white_sides.png' + }, + selection_box = { + type = "fixed", + fixed = { -0.5, 0, -0.5, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { -0.5, 0, -0.5, 0.5, 0.5, 0.5 } + }, + + sunlight_propagates = false, + paramtype = "light", + walkable = true, + groups = { snappy = 3 }, + light_source = LIGHT_MAX, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node('homedecor:glowlight_thick_white_wall', { + description = "White Glowlight (thick, on wall)", + drawtype = "nodebox", + tiles = { + 'homedecor_glowlight_thick_white_sides.png', + 'homedecor_glowlight_thick_white_sides.png', + 'homedecor_glowlight_thick_white_wall_sides.png', + 'homedecor_glowlight_thick_white_wall_sides.png', + 'homedecor_glowlight_white_tb.png', + 'homedecor_glowlight_white_tb.png' + }, + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0, 0.5, 0.5, 0.5 } + }, + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + groups = { snappy = 3 }, + light_source = LIGHT_MAX, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node('homedecor:glowlight_thin_white', { + description = "White Glowlight (thin)", + drawtype = "nodebox", + tiles = { + 'homedecor_glowlight_white_tb.png', + 'homedecor_glowlight_white_tb.png', + 'homedecor_glowlight_thin_white_sides.png', + 'homedecor_glowlight_thin_white_sides.png', + 'homedecor_glowlight_thin_white_sides.png', + 'homedecor_glowlight_thin_white_sides.png' + }, + selection_box = { + type = "fixed", + fixed = { -0.5, 0.25, -0.5, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { -0.5, 0.25, -0.5, 0.5, 0.5, 0.5 } + }, + + sunlight_propagates = false, + paramtype = "light", + walkable = true, + groups = { snappy = 3 }, + light_source = LIGHT_MAX-1, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node('homedecor:glowlight_thin_white_wall', { + description = "White Glowlight (thin, on wall)", + drawtype = "nodebox", + tiles = { + 'homedecor_glowlight_thin_white_sides.png', + 'homedecor_glowlight_thin_white_sides.png', + 'homedecor_glowlight_thin_white_wall_sides.png', + 'homedecor_glowlight_thin_white_wall_sides.png', + 'homedecor_glowlight_white_tb.png', + 'homedecor_glowlight_white_tb.png' + }, + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0.25, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { -0.5, -0.5, 0.25, 0.5, 0.5, 0.5 } + }, + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + groups = { snappy = 3 }, + light_source = LIGHT_MAX-1, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node('homedecor:glowlight_small_cube_white', { + description = "White Glowlight (small cube)", + drawtype = "nodebox", + tiles = { + 'homedecor_glowlight_cube_white_tb.png', + 'homedecor_glowlight_cube_white_tb.png', + 'homedecor_glowlight_cube_white_sides.png', + 'homedecor_glowlight_cube_white_sides.png', + 'homedecor_glowlight_cube_white_sides.png', + 'homedecor_glowlight_cube_white_sides.png' + }, + selection_box = { + type = "fixed", + fixed = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 } + }, + node_box = { + type = "fixed", + fixed = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 } + }, + + sunlight_propagates = false, + paramtype = "light", + walkable = true, + groups = { snappy = 3 }, + light_source = LIGHT_MAX-1, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node('homedecor:glowlight_small_cube_white_ceiling', { + description = "White Glowlight (small cube, on ceiling)", + drawtype = "nodebox", + tiles = { + 'homedecor_glowlight_cube_white_tb.png', + 'homedecor_glowlight_cube_white_tb.png', + 'homedecor_glowlight_cube_white_sides_ceiling.png', + 'homedecor_glowlight_cube_white_sides_ceiling.png', + 'homedecor_glowlight_cube_white_sides_ceiling.png', + 'homedecor_glowlight_cube_white_sides_ceiling.png' + }, + selection_box = { + type = "fixed", + fixed = { -0.25, 0, -0.25, 0.25, 0.5, 0.25 } + }, + node_box = { + type = "fixed", + fixed = { -0.25, 0, -0.25, 0.25, 0.5, 0.25 } + }, + + sunlight_propagates = false, + paramtype = "light", + walkable = true, + groups = { snappy = 3 }, + light_source = LIGHT_MAX-1, + sounds = default.node_sound_leaves_defaults(), +}) diff --git a/mods/homedecor/listnodes.sh b/mods/homedecor/listnodes.sh new file mode 100755 index 0000000..2332080 --- /dev/null +++ b/mods/homedecor/listnodes.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +echo "Node listing as of "`date` > nodes.txt + +for i in *.lua; do + echo -e "\nIn $i:\n" >> nodes.txt + cat $i | grep "minetest.register_node(" | \ + sed "s/minetest.register_node(.homedecor:/homedecor:/; s/., {//" | \ + sort >> nodes.txt +done + +less nodes.txt +rm -f nodes.txt diff --git a/mods/homedecor/nightstands.lua b/mods/homedecor/nightstands.lua new file mode 100644 index 0000000..0bedae6 --- /dev/null +++ b/mods/homedecor/nightstands.lua @@ -0,0 +1,235 @@ +-- This file supplies nightstands + +minetest.register_node('homedecor:nightstand_oak_one_drawer', { + drawtype = "nodebox", + description = "Oak Nightstand with One Drawer", + tiles = { 'homedecor_nightstand_oak_top.png', + 'homedecor_nightstand_oak_bottom.png', + 'homedecor_nightstand_oak_right.png', + 'homedecor_nightstand_oak_left.png', + 'homedecor_nightstand_oak_back.png', + 'homedecor_nightstand_oak_1_drawer_front.png'}, + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { + { -8/16, 0, -30/64, 8/16, 8/16, 8/16 }, -- top half + { -7/16, 1/16, -32/64, 7/16, 7/16, -29/64}, -- drawer face + { -8/16, -8/16, -30/64, -7/16, 0, 8/16 }, -- left + { 7/16, -8/16, -30/64, 8/16, 0, 8/16 }, -- right + { -8/16, -8/16, 7/16, 8/16, 0, 8/16 }, -- back + { -8/16, -8/16, -30/64, 8/16, -7/16, 8/16 } -- bottom + } + }, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "size[8,6]".. + "list[current_name;main;0,0;8,1;]".. + "list[current_player;main;0,2;8,4;]") + meta:set_string("infotext", "One-drawer Nightstand") + local inv = meta:get_inventory() + inv:set_size("main", 8) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in nightstand at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to nightstand at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from nightstand at "..minetest.pos_to_string(pos)) + end, +}) + +minetest.register_node('homedecor:nightstand_oak_two_drawers', { + drawtype = "nodebox", + description = "Oak Nightstand with One Drawer", + tiles = { 'homedecor_nightstand_oak_top.png', + 'homedecor_nightstand_oak_bottom.png', + 'homedecor_nightstand_oak_right.png', + 'homedecor_nightstand_oak_left.png', + 'homedecor_nightstand_oak_back.png', + 'homedecor_nightstand_oak_2_drawer_front.png'}, + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { + { -8/16, -8/16, -30/64, 8/16, 8/16, 8/16 }, -- main body + { -7/16, 1/16, -32/64, 7/16, 7/16, -29/64 }, -- top drawer face + { -7/16, -7/16, -32/64, 7/16, -1/16, -29/64 }, -- bottom drawer face + + } + }, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "size[8,7]".. + "list[current_name;main;0,0;8,2;]".. + "list[current_player;main;0,3;8,4;]") + meta:set_string("infotext", "Two-drawer Nightstand") + local inv = meta:get_inventory() + inv:set_size("main", 16) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in nightstand at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to nightstand at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from nightstand at "..minetest.pos_to_string(pos)) + end, +}) + +minetest.register_node('homedecor:nightstand_mahogany_one_drawer', { + drawtype = "nodebox", + description = "Mahogany Nightstand with One Drawer", + tiles = { 'homedecor_nightstand_mahogany_top.png', + 'homedecor_nightstand_mahogany_bottom.png', + 'homedecor_nightstand_mahogany_right.png', + 'homedecor_nightstand_mahogany_left.png', + 'homedecor_nightstand_mahogany_back.png', + 'homedecor_nightstand_mahogany_1_drawer_front.png'}, + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { + { -8/16, 0, -30/64, 8/16, 8/16, 8/16 }, -- top half + { -7/16, 1/16, -32/64, 7/16, 7/16, -29/64}, -- drawer face + { -8/16, -8/16, -30/64, -7/16, 0, 8/16 }, -- left + { 7/16, -8/16, -30/64, 8/16, 0, 8/16 }, -- right + { -8/16, -8/16, 7/16, 8/16, 0, 8/16 }, -- back + { -8/16, -8/16, -30/64, 8/16, -7/16, 8/16 } -- bottom + } + }, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "size[8,6]".. + "list[current_name;main;0,0;8,1;]".. + "list[current_player;main;0,2;8,4;]") + meta:set_string("infotext", "One-drawer Nightstand") + local inv = meta:get_inventory() + inv:set_size("main", 8) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in nightstand at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to nightstand at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from nightstand at "..minetest.pos_to_string(pos)) + end, +}) + +minetest.register_node('homedecor:nightstand_mahogany_two_drawers', { + drawtype = "nodebox", + description = "Mahogany Nightstand with Two Drawers", + tiles = { 'homedecor_nightstand_mahogany_top.png', + 'homedecor_nightstand_mahogany_bottom.png', + 'homedecor_nightstand_mahogany_right.png', + 'homedecor_nightstand_mahogany_left.png', + 'homedecor_nightstand_mahogany_back.png', + 'homedecor_nightstand_mahogany_2_drawer_front.png'}, + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { + { -8/16, -8/16, -30/64, 8/16, 8/16, 8/16 }, -- main body + { -7/16, 1/16, -32/64, 7/16, 7/16, -29/64 }, -- top drawer face + { -7/16, -7/16, -32/64, 7/16, -1/16, -29/64 }, -- bottom drawer face + + } + }, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "size[8,7]".. + "list[current_name;main;0,0;8,2;]".. + "list[current_player;main;0,3;8,4;]") + meta:set_string("infotext", "Two-drawer Nightstand") + local inv = meta:get_inventory() + inv:set_size("main", 16) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in nightstand at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to nightstand at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from nightstand at "..minetest.pos_to_string(pos)) + end, +}) diff --git a/mods/homedecor/oven.lua b/mods/homedecor/oven.lua new file mode 100644 index 0000000..85ab9cd --- /dev/null +++ b/mods/homedecor/oven.lua @@ -0,0 +1,188 @@ +-- This code supplies an oven/stove. Basically it's just a copy of the default furnace with different textures. + +default.oven_inactive_formspec = + "size[8,9]".. + "image[2,2;1,1;default_furnace_fire_bg.png]".. + "list[current_name;fuel;2,3;1,1;]".. + "list[current_name;src;2,1;1,1;]".. + "list[current_name;dst;5,1;2,2;]".. + "list[current_player;main;0,5;8,4;]" + +minetest.register_node("homedecor:oven", { + description = "Oven", + tiles = {"homedecor_oven_top.png", "homedecor_oven_bottom.png", "homedecor_oven_side.png", + "homedecor_oven_side.png", "homedecor_oven_side.png", "homedecor_oven_front.png"}, + paramtype2 = "facedir", + groups = {cracky=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_stone_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", default.oven_inactive_formspec) + meta:set_string("infotext", "Oven") + local inv = meta:get_inventory() + inv:set_size("fuel", 1) + inv:set_size("src", 1) + inv:set_size("dst", 4) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("fuel") then + return false + elseif not inv:is_empty("dst") then + return false + elseif not inv:is_empty("src") then + return false + end + return true + end, +}) + +minetest.register_node("homedecor:oven_active", { + description = "Oven", + tiles = {"homedecor_oven_top.png", "homedecor_oven_bottom.png", "homedecor_oven_side.png", + "homedecor_oven_side.png", "homedecor_oven_side.png", "homedecor_oven_front_active.png"}, + paramtype2 = "facedir", + light_source = 8, + drop = "homedecor:oven", + groups = {cracky=2, not_in_creative_inventory=1}, + legacy_facedir_simple = true, + sounds = default.node_sound_stone_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", default.oven_inactive_formspec) + meta:set_string("infotext", "Oven"); + local inv = meta:get_inventory() + inv:set_size("fuel", 1) + inv:set_size("src", 1) + inv:set_size("dst", 4) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("fuel") then + return false + elseif not inv:is_empty("dst") then + return false + elseif not inv:is_empty("src") then + return false + end + return true + end, +}) + +function hacky_swap_node(pos,name) + local node = minetest.env:get_node(pos) + local meta = minetest.env:get_meta(pos) + local meta0 = meta:to_table() + if node.name == name then + return + end + node.name = name + local meta0 = meta:to_table() + minetest.env:set_node(pos,node) + meta = minetest.env:get_meta(pos) + meta:from_table(meta0) +end + +minetest.register_abm({ + nodenames = {"homedecor:oven","homedecor:oven_active"}, + interval = 1.0, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + local meta = minetest.env:get_meta(pos) + for i, name in ipairs({ + "fuel_totaltime", + "fuel_time", + "src_totaltime", + "src_time" + }) do + if meta:get_string(name) == "" then + meta:set_float(name, 0.0) + end + end + + local inv = meta:get_inventory() + + local srclist = inv:get_list("src") + local cooked = nil + + if srclist then + cooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist}) + end + + local was_active = false + + if meta:get_float("fuel_time") < meta:get_float("fuel_totaltime") then + was_active = true + meta:set_float("fuel_time", meta:get_float("fuel_time") + 1) + meta:set_float("src_time", meta:get_float("src_time") + 1) + if cooked and cooked.item and meta:get_float("src_time") >= cooked.time then + -- check if there's room for output in "dst" list + if inv:room_for_item("dst",cooked.item) then + -- Put result in "dst" list + inv:add_item("dst", cooked.item) + -- take stuff from "src" list + srcstack = inv:get_stack("src", 1) + srcstack:take_item() + inv:set_stack("src", 1, srcstack) + else + print("Could not insert '"..cooked.item:to_string().."'") + end + meta:set_string("src_time", 0) + end + end + + if meta:get_float("fuel_time") < meta:get_float("fuel_totaltime") then + local percent = math.floor(meta:get_float("fuel_time") / + meta:get_float("fuel_totaltime") * 100) + meta:set_string("infotext","Oven active: "..percent.."%") + hacky_swap_node(pos,"homedecor:oven_active") + meta:set_string("formspec", + "size[8,9]".. + "image[2,2;1,1;default_furnace_fire_bg.png^[lowpart:".. + (100-percent)..":default_furnace_fire_fg.png]".. + "list[current_name;fuel;2,3;1,1;]".. + "list[current_name;src;2,1;1,1;]".. + "list[current_name;dst;5,1;2,2;]".. + "list[current_player;main;0,5;8,4;]") + return + end + + local fuel = nil + local cooked = nil + local fuellist = inv:get_list("fuel") + local srclist = inv:get_list("src") + + if srclist then + cooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist}) + end + if fuellist then + fuel = minetest.get_craft_result({method = "fuel", width = 1, items = fuellist}) + end + + if fuel.time <= 0 then + meta:set_string("infotext","Oven out of fuel") + hacky_swap_node(pos,"homedecor:oven") + meta:set_string("formspec", default.oven_inactive_formspec) + return + end + + if cooked.item:is_empty() then + if was_active then + meta:set_string("infotext","Oven is empty") + hacky_swap_node(pos,"homedecor:oven") + meta:set_string("formspec", default.oven_inactive_formspec) + end + return + end + + meta:set_string("fuel_totaltime", fuel.time) + meta:set_string("fuel_time", 0) + + local stack = inv:get_stack("fuel", 1) + stack:take_item() + inv:set_stack("fuel", 1, stack) + end, +}) diff --git a/mods/homedecor/refrigerator.lua b/mods/homedecor/refrigerator.lua new file mode 100644 index 0000000..7a32b41 --- /dev/null +++ b/mods/homedecor/refrigerator.lua @@ -0,0 +1,69 @@ +-- This file supplies refrigerators + +minetest.register_node('homedecor:refrigerator', { + drawtype = "nodebox", + description = "Refrigerator", + tiles = { + 'homedecor_refrigerator_top.png', + 'homedecor_refrigerator_bottom.png', + 'homedecor_refrigerator_right.png', + 'homedecor_refrigerator_left.png', + 'homedecor_refrigerator_back.png', + 'homedecor_refrigerator_front.png' + }, + inventory_image = "homedecor_refrigerator_inv.png", + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + groups = { snappy = 3 }, + + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, -0.5, 0.5, 1.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { -0.5, -0.5, -0.5, 0.5, 1.5, 0.5 } + }, + + sounds = default.node_sound_leaves_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "size[10,10]".. + "list[current_name;main;0,0;10,5;]".. + "list[current_player;main;1,6;8,4;]") + meta:set_string("infotext", "Refrigerator") + local inv = meta:get_inventory() + inv:set_size("main",50) + end, + + on_place = function(itemstack, placer, pointed_thing) + local pos = pointed_thing.above + if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then + minetest.chat_send_player( placer:get_player_name(), 'Not enough vertical space to place a refrigerator!' ) + return + end + return minetest.item_place(itemstack, placer, pointed_thing) + end, + + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in refrigerator at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to refrigerator at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from refrigerator at "..minetest.pos_to_string(pos)) + end, +}) + diff --git a/mods/homedecor/television.lua b/mods/homedecor/television.lua new file mode 100644 index 0000000..783bd7b --- /dev/null +++ b/mods/homedecor/television.lua @@ -0,0 +1,27 @@ +-- This file provides a semi-animated television. + +minetest.register_node('homedecor:television', { + description = "Small CRT Television", + tiles = { 'homedecor_television_top.png', + 'homedecor_television_bottom.png', + 'homedecor_television_right.png', + 'homedecor_television_left.png', + 'homedecor_television_back.png', + { name="homedecor_television_front_animated.png", + animation={ + type="vertical_frames", + aspect_w=16, + aspect_h=16, + length=80.0 + } + } + }, + sunlight_propagates = false, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + light_source = LIGHT_MAX - 1, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), +}) + diff --git a/mods/homedecor/textures/homedecor_blanktile.png b/mods/homedecor/textures/homedecor_blanktile.png new file mode 100644 index 0000000..54da3c2 Binary files /dev/null and b/mods/homedecor/textures/homedecor_blanktile.png differ diff --git a/mods/homedecor/textures/homedecor_brass_ingot.png b/mods/homedecor/textures/homedecor_brass_ingot.png new file mode 100644 index 0000000..91323ae Binary files /dev/null and b/mods/homedecor/textures/homedecor_brass_ingot.png differ diff --git a/mods/homedecor/textures/homedecor_ceiling_paint.png b/mods/homedecor/textures/homedecor_ceiling_paint.png new file mode 100644 index 0000000..04b7cb6 Binary files /dev/null and b/mods/homedecor/textures/homedecor_ceiling_paint.png differ diff --git a/mods/homedecor/textures/homedecor_ceiling_paint_roller.png b/mods/homedecor/textures/homedecor_ceiling_paint_roller.png new file mode 100644 index 0000000..f31317e Binary files /dev/null and b/mods/homedecor/textures/homedecor_ceiling_paint_roller.png differ diff --git a/mods/homedecor/textures/homedecor_ceiling_tile.png b/mods/homedecor/textures/homedecor_ceiling_tile.png new file mode 100644 index 0000000..00a2055 Binary files /dev/null and b/mods/homedecor/textures/homedecor_ceiling_tile.png differ diff --git a/mods/homedecor/textures/homedecor_curtain_blue.png b/mods/homedecor/textures/homedecor_curtain_blue.png new file mode 100644 index 0000000..d1e2af9 Binary files /dev/null and b/mods/homedecor/textures/homedecor_curtain_blue.png differ diff --git a/mods/homedecor/textures/homedecor_curtain_green.png b/mods/homedecor/textures/homedecor_curtain_green.png new file mode 100644 index 0000000..bc06c9f Binary files /dev/null and b/mods/homedecor/textures/homedecor_curtain_green.png differ diff --git a/mods/homedecor/textures/homedecor_curtain_pink.png b/mods/homedecor/textures/homedecor_curtain_pink.png new file mode 100644 index 0000000..7f47827 Binary files /dev/null and b/mods/homedecor/textures/homedecor_curtain_pink.png differ diff --git a/mods/homedecor/textures/homedecor_curtain_red.png b/mods/homedecor/textures/homedecor_curtain_red.png new file mode 100644 index 0000000..a9462d0 Binary files /dev/null and b/mods/homedecor/textures/homedecor_curtain_red.png differ diff --git a/mods/homedecor/textures/homedecor_curtain_violet.png b/mods/homedecor/textures/homedecor_curtain_violet.png new file mode 100644 index 0000000..def54f2 Binary files /dev/null and b/mods/homedecor/textures/homedecor_curtain_violet.png differ diff --git a/mods/homedecor/textures/homedecor_curtain_white.png b/mods/homedecor/textures/homedecor_curtain_white.png new file mode 100644 index 0000000..5058ed1 Binary files /dev/null and b/mods/homedecor/textures/homedecor_curtain_white.png differ diff --git a/mods/homedecor/textures/homedecor_door_closet_mahogany_left_bottom.png b/mods/homedecor/textures/homedecor_door_closet_mahogany_left_bottom.png new file mode 100644 index 0000000..a1dd62c Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_closet_mahogany_left_bottom.png differ diff --git a/mods/homedecor/textures/homedecor_door_closet_mahogany_left_inv.png b/mods/homedecor/textures/homedecor_door_closet_mahogany_left_inv.png new file mode 100644 index 0000000..0e28154 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_closet_mahogany_left_inv.png differ diff --git a/mods/homedecor/textures/homedecor_door_closet_mahogany_left_top.png b/mods/homedecor/textures/homedecor_door_closet_mahogany_left_top.png new file mode 100644 index 0000000..1545854 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_closet_mahogany_left_top.png differ diff --git a/mods/homedecor/textures/homedecor_door_closet_mahogany_lrb.png b/mods/homedecor/textures/homedecor_door_closet_mahogany_lrb.png new file mode 100644 index 0000000..d0a38d5 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_closet_mahogany_lrb.png differ diff --git a/mods/homedecor/textures/homedecor_door_closet_mahogany_lrt.png b/mods/homedecor/textures/homedecor_door_closet_mahogany_lrt.png new file mode 100644 index 0000000..d0a38d5 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_closet_mahogany_lrt.png differ diff --git a/mods/homedecor/textures/homedecor_door_closet_mahogany_right_bottom.png b/mods/homedecor/textures/homedecor_door_closet_mahogany_right_bottom.png new file mode 100644 index 0000000..976d029 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_closet_mahogany_right_bottom.png differ diff --git a/mods/homedecor/textures/homedecor_door_closet_mahogany_right_inv.png b/mods/homedecor/textures/homedecor_door_closet_mahogany_right_inv.png new file mode 100644 index 0000000..61267bb Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_closet_mahogany_right_inv.png differ diff --git a/mods/homedecor/textures/homedecor_door_closet_mahogany_right_top.png b/mods/homedecor/textures/homedecor_door_closet_mahogany_right_top.png new file mode 100644 index 0000000..ef9dd02 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_closet_mahogany_right_top.png differ diff --git a/mods/homedecor/textures/homedecor_door_closet_mahogany_tb.png b/mods/homedecor/textures/homedecor_door_closet_mahogany_tb.png new file mode 100644 index 0000000..afc38ee Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_closet_mahogany_tb.png differ diff --git a/mods/homedecor/textures/homedecor_door_closet_oak_left_bottom.png b/mods/homedecor/textures/homedecor_door_closet_oak_left_bottom.png new file mode 100644 index 0000000..6d59916 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_closet_oak_left_bottom.png differ diff --git a/mods/homedecor/textures/homedecor_door_closet_oak_left_inv.png b/mods/homedecor/textures/homedecor_door_closet_oak_left_inv.png new file mode 100644 index 0000000..58f75f6 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_closet_oak_left_inv.png differ diff --git a/mods/homedecor/textures/homedecor_door_closet_oak_left_top.png b/mods/homedecor/textures/homedecor_door_closet_oak_left_top.png new file mode 100644 index 0000000..3e2a9a0 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_closet_oak_left_top.png differ diff --git a/mods/homedecor/textures/homedecor_door_closet_oak_lrb.png b/mods/homedecor/textures/homedecor_door_closet_oak_lrb.png new file mode 100644 index 0000000..fabd292 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_closet_oak_lrb.png differ diff --git a/mods/homedecor/textures/homedecor_door_closet_oak_lrt.png b/mods/homedecor/textures/homedecor_door_closet_oak_lrt.png new file mode 100644 index 0000000..fabd292 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_closet_oak_lrt.png differ diff --git a/mods/homedecor/textures/homedecor_door_closet_oak_right_bottom.png b/mods/homedecor/textures/homedecor_door_closet_oak_right_bottom.png new file mode 100644 index 0000000..3450923 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_closet_oak_right_bottom.png differ diff --git a/mods/homedecor/textures/homedecor_door_closet_oak_right_inv.png b/mods/homedecor/textures/homedecor_door_closet_oak_right_inv.png new file mode 100644 index 0000000..0e27705 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_closet_oak_right_inv.png differ diff --git a/mods/homedecor/textures/homedecor_door_closet_oak_right_top.png b/mods/homedecor/textures/homedecor_door_closet_oak_right_top.png new file mode 100644 index 0000000..3b345a3 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_closet_oak_right_top.png differ diff --git a/mods/homedecor/textures/homedecor_door_closet_oak_tb.png b/mods/homedecor/textures/homedecor_door_closet_oak_tb.png new file mode 100644 index 0000000..7264b78 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_closet_oak_tb.png differ diff --git a/mods/homedecor/textures/homedecor_door_exterior_fancy_left_bottom.png b/mods/homedecor/textures/homedecor_door_exterior_fancy_left_bottom.png new file mode 100644 index 0000000..b643c59 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_exterior_fancy_left_bottom.png differ diff --git a/mods/homedecor/textures/homedecor_door_exterior_fancy_left_inv.png b/mods/homedecor/textures/homedecor_door_exterior_fancy_left_inv.png new file mode 100644 index 0000000..37c5677 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_exterior_fancy_left_inv.png differ diff --git a/mods/homedecor/textures/homedecor_door_exterior_fancy_left_top.png b/mods/homedecor/textures/homedecor_door_exterior_fancy_left_top.png new file mode 100644 index 0000000..d30b4fb Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_exterior_fancy_left_top.png differ diff --git a/mods/homedecor/textures/homedecor_door_exterior_fancy_lrb.png b/mods/homedecor/textures/homedecor_door_exterior_fancy_lrb.png new file mode 100644 index 0000000..87a43b4 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_exterior_fancy_lrb.png differ diff --git a/mods/homedecor/textures/homedecor_door_exterior_fancy_lrt.png b/mods/homedecor/textures/homedecor_door_exterior_fancy_lrt.png new file mode 100644 index 0000000..87a43b4 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_exterior_fancy_lrt.png differ diff --git a/mods/homedecor/textures/homedecor_door_exterior_fancy_right_bottom.png b/mods/homedecor/textures/homedecor_door_exterior_fancy_right_bottom.png new file mode 100644 index 0000000..cda5cbc Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_exterior_fancy_right_bottom.png differ diff --git a/mods/homedecor/textures/homedecor_door_exterior_fancy_right_inv.png b/mods/homedecor/textures/homedecor_door_exterior_fancy_right_inv.png new file mode 100644 index 0000000..b7858e3 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_exterior_fancy_right_inv.png differ diff --git a/mods/homedecor/textures/homedecor_door_exterior_fancy_right_top.png b/mods/homedecor/textures/homedecor_door_exterior_fancy_right_top.png new file mode 100644 index 0000000..ce2cf64 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_exterior_fancy_right_top.png differ diff --git a/mods/homedecor/textures/homedecor_door_exterior_fancy_tb.png b/mods/homedecor/textures/homedecor_door_exterior_fancy_tb.png new file mode 100644 index 0000000..8130381 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_exterior_fancy_tb.png differ diff --git a/mods/homedecor/textures/homedecor_door_glass_bottom_left.png b/mods/homedecor/textures/homedecor_door_glass_bottom_left.png new file mode 100644 index 0000000..64ce23d Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_glass_bottom_left.png differ diff --git a/mods/homedecor/textures/homedecor_door_glass_bottom_right.png b/mods/homedecor/textures/homedecor_door_glass_bottom_right.png new file mode 100644 index 0000000..798fd61 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_glass_bottom_right.png differ diff --git a/mods/homedecor/textures/homedecor_door_glass_left_bottom.png b/mods/homedecor/textures/homedecor_door_glass_left_bottom.png new file mode 100644 index 0000000..8bdf3ca Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_glass_left_bottom.png differ diff --git a/mods/homedecor/textures/homedecor_door_glass_left_inv.png b/mods/homedecor/textures/homedecor_door_glass_left_inv.png new file mode 100644 index 0000000..0b338fc Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_glass_left_inv.png differ diff --git a/mods/homedecor/textures/homedecor_door_glass_left_top.png b/mods/homedecor/textures/homedecor_door_glass_left_top.png new file mode 100644 index 0000000..8b51bd3 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_glass_left_top.png differ diff --git a/mods/homedecor/textures/homedecor_door_glass_lrb.png b/mods/homedecor/textures/homedecor_door_glass_lrb.png new file mode 100644 index 0000000..25b4db7 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_glass_lrb.png differ diff --git a/mods/homedecor/textures/homedecor_door_glass_lrt.png b/mods/homedecor/textures/homedecor_door_glass_lrt.png new file mode 100644 index 0000000..25b4db7 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_glass_lrt.png differ diff --git a/mods/homedecor/textures/homedecor_door_glass_right_bottom.png b/mods/homedecor/textures/homedecor_door_glass_right_bottom.png new file mode 100644 index 0000000..1fa2431 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_glass_right_bottom.png differ diff --git a/mods/homedecor/textures/homedecor_door_glass_right_inv.png b/mods/homedecor/textures/homedecor_door_glass_right_inv.png new file mode 100644 index 0000000..ac4c91e Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_glass_right_inv.png differ diff --git a/mods/homedecor/textures/homedecor_door_glass_right_top.png b/mods/homedecor/textures/homedecor_door_glass_right_top.png new file mode 100644 index 0000000..b8a73c8 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_glass_right_top.png differ diff --git a/mods/homedecor/textures/homedecor_door_glass_tb.png b/mods/homedecor/textures/homedecor_door_glass_tb.png new file mode 100644 index 0000000..10c7133 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_glass_tb.png differ diff --git a/mods/homedecor/textures/homedecor_door_glass_top_left.png b/mods/homedecor/textures/homedecor_door_glass_top_left.png new file mode 100644 index 0000000..93f14c8 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_glass_top_left.png differ diff --git a/mods/homedecor/textures/homedecor_door_glass_top_right.png b/mods/homedecor/textures/homedecor_door_glass_top_right.png new file mode 100644 index 0000000..9a2b5a1 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_glass_top_right.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_inv.png b/mods/homedecor/textures/homedecor_door_wood_glass_inv.png new file mode 100644 index 0000000..9fba113 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_glass_inv.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_left_bottom.png b/mods/homedecor/textures/homedecor_door_wood_glass_left_bottom.png new file mode 100644 index 0000000..f97af9f Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_glass_left_bottom.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_left_inv.png b/mods/homedecor/textures/homedecor_door_wood_glass_left_inv.png new file mode 100644 index 0000000..0e23f4b Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_glass_left_inv.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_left_top.png b/mods/homedecor/textures/homedecor_door_wood_glass_left_top.png new file mode 100644 index 0000000..e23ec0f Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_glass_left_top.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_lrb.png b/mods/homedecor/textures/homedecor_door_wood_glass_lrb.png new file mode 100644 index 0000000..927060d Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_glass_lrb.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_lrt.png b/mods/homedecor/textures/homedecor_door_wood_glass_lrt.png new file mode 100644 index 0000000..927060d Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_glass_lrt.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_inv.png b/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_inv.png new file mode 100644 index 0000000..3957093 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_inv.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_left_bottom.png b/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_left_bottom.png new file mode 100644 index 0000000..3f9490e Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_left_bottom.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_left_inv.png b/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_left_inv.png new file mode 100644 index 0000000..e6a32cd Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_left_inv.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_left_top.png b/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_left_top.png new file mode 100644 index 0000000..d0d3ade Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_left_top.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_lrb.png b/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_lrb.png new file mode 100644 index 0000000..8e6c8f0 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_lrb.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_lrt.png b/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_lrt.png new file mode 100644 index 0000000..8e6c8f0 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_lrt.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_right_bottom.png b/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_right_bottom.png new file mode 100644 index 0000000..c12eee2 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_right_bottom.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_right_inv.png b/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_right_inv.png new file mode 100644 index 0000000..23fcb81 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_right_inv.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_right_top.png b/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_right_top.png new file mode 100644 index 0000000..4c74aff Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_right_top.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_tb.png b/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_tb.png new file mode 100644 index 0000000..7256f44 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_glass_mahogany_tb.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_right_bottom.png b/mods/homedecor/textures/homedecor_door_wood_glass_right_bottom.png new file mode 100644 index 0000000..bb0d1fa Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_glass_right_bottom.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_right_inv.png b/mods/homedecor/textures/homedecor_door_wood_glass_right_inv.png new file mode 100644 index 0000000..7121d0b Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_glass_right_inv.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_right_top.png b/mods/homedecor/textures/homedecor_door_wood_glass_right_top.png new file mode 100644 index 0000000..0e9c430 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_glass_right_top.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_tb.png b/mods/homedecor/textures/homedecor_door_wood_glass_tb.png new file mode 100644 index 0000000..245ac53 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_glass_tb.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_white_inv.png b/mods/homedecor/textures/homedecor_door_wood_glass_white_inv.png new file mode 100644 index 0000000..3aa316e Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_glass_white_inv.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_white_left_bottom.png b/mods/homedecor/textures/homedecor_door_wood_glass_white_left_bottom.png new file mode 100644 index 0000000..fc55b83 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_glass_white_left_bottom.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_white_left_inv.png b/mods/homedecor/textures/homedecor_door_wood_glass_white_left_inv.png new file mode 100644 index 0000000..5afeb62 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_glass_white_left_inv.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_white_left_top.png b/mods/homedecor/textures/homedecor_door_wood_glass_white_left_top.png new file mode 100644 index 0000000..8afa073 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_glass_white_left_top.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_white_lrb.png b/mods/homedecor/textures/homedecor_door_wood_glass_white_lrb.png new file mode 100644 index 0000000..2fcd80b Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_glass_white_lrb.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_white_lrt.png b/mods/homedecor/textures/homedecor_door_wood_glass_white_lrt.png new file mode 100644 index 0000000..2fcd80b Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_glass_white_lrt.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_white_right_bottom.png b/mods/homedecor/textures/homedecor_door_wood_glass_white_right_bottom.png new file mode 100644 index 0000000..045215c Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_glass_white_right_bottom.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_white_right_inv.png b/mods/homedecor/textures/homedecor_door_wood_glass_white_right_inv.png new file mode 100644 index 0000000..b64ecef Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_glass_white_right_inv.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_white_right_top.png b/mods/homedecor/textures/homedecor_door_wood_glass_white_right_top.png new file mode 100644 index 0000000..5227088 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_glass_white_right_top.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_glass_white_tb.png b/mods/homedecor/textures/homedecor_door_wood_glass_white_tb.png new file mode 100644 index 0000000..41526b4 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_glass_white_tb.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_plain_left_bottom.png b/mods/homedecor/textures/homedecor_door_wood_plain_left_bottom.png new file mode 100644 index 0000000..17fbd52 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_plain_left_bottom.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_plain_left_inv.png b/mods/homedecor/textures/homedecor_door_wood_plain_left_inv.png new file mode 100644 index 0000000..0e2ec8e Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_plain_left_inv.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_plain_left_top.png b/mods/homedecor/textures/homedecor_door_wood_plain_left_top.png new file mode 100644 index 0000000..234a0ce Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_plain_left_top.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_plain_lrb.png b/mods/homedecor/textures/homedecor_door_wood_plain_lrb.png new file mode 100644 index 0000000..13ea213 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_plain_lrb.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_plain_lrt.png b/mods/homedecor/textures/homedecor_door_wood_plain_lrt.png new file mode 100644 index 0000000..13ea213 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_plain_lrt.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_plain_right_bottom.png b/mods/homedecor/textures/homedecor_door_wood_plain_right_bottom.png new file mode 100644 index 0000000..271a6e6 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_plain_right_bottom.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_plain_right_inv.png b/mods/homedecor/textures/homedecor_door_wood_plain_right_inv.png new file mode 100644 index 0000000..aa9eb57 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_plain_right_inv.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_plain_right_top.png b/mods/homedecor/textures/homedecor_door_wood_plain_right_top.png new file mode 100644 index 0000000..8d0e7f5 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_plain_right_top.png differ diff --git a/mods/homedecor/textures/homedecor_door_wood_plain_tb.png b/mods/homedecor/textures/homedecor_door_wood_plain_tb.png new file mode 100644 index 0000000..536b315 Binary files /dev/null and b/mods/homedecor/textures/homedecor_door_wood_plain_tb.png differ diff --git a/mods/homedecor/textures/homedecor_drawer_large.png b/mods/homedecor/textures/homedecor_drawer_large.png new file mode 100644 index 0000000..d45cf17 Binary files /dev/null and b/mods/homedecor/textures/homedecor_drawer_large.png differ diff --git a/mods/homedecor/textures/homedecor_drawer_small.png b/mods/homedecor/textures/homedecor_drawer_small.png new file mode 100644 index 0000000..4b55033 Binary files /dev/null and b/mods/homedecor/textures/homedecor_drawer_small.png differ diff --git a/mods/homedecor/textures/homedecor_fence_barbed_wire.png b/mods/homedecor/textures/homedecor_fence_barbed_wire.png new file mode 100644 index 0000000..ae64953 Binary files /dev/null and b/mods/homedecor/textures/homedecor_fence_barbed_wire.png differ diff --git a/mods/homedecor/textures/homedecor_fence_barbed_wire_gate_backside.png b/mods/homedecor/textures/homedecor_fence_barbed_wire_gate_backside.png new file mode 100644 index 0000000..4d573dd Binary files /dev/null and b/mods/homedecor/textures/homedecor_fence_barbed_wire_gate_backside.png differ diff --git a/mods/homedecor/textures/homedecor_fence_barbed_wire_gate_edges.png b/mods/homedecor/textures/homedecor_fence_barbed_wire_gate_edges.png new file mode 100644 index 0000000..df12ced Binary files /dev/null and b/mods/homedecor/textures/homedecor_fence_barbed_wire_gate_edges.png differ diff --git a/mods/homedecor/textures/homedecor_fence_barbed_wire_gate_front.png b/mods/homedecor/textures/homedecor_fence_barbed_wire_gate_front.png new file mode 100644 index 0000000..00a0375 Binary files /dev/null and b/mods/homedecor/textures/homedecor_fence_barbed_wire_gate_front.png differ diff --git a/mods/homedecor/textures/homedecor_fence_brass.png b/mods/homedecor/textures/homedecor_fence_brass.png new file mode 100644 index 0000000..02c2559 Binary files /dev/null and b/mods/homedecor/textures/homedecor_fence_brass.png differ diff --git a/mods/homedecor/textures/homedecor_fence_chainlink_fb.png b/mods/homedecor/textures/homedecor_fence_chainlink_fb.png new file mode 100644 index 0000000..d140c0c Binary files /dev/null and b/mods/homedecor/textures/homedecor_fence_chainlink_fb.png differ diff --git a/mods/homedecor/textures/homedecor_fence_chainlink_gate_backside.png b/mods/homedecor/textures/homedecor_fence_chainlink_gate_backside.png new file mode 100644 index 0000000..75d949d Binary files /dev/null and b/mods/homedecor/textures/homedecor_fence_chainlink_gate_backside.png differ diff --git a/mods/homedecor/textures/homedecor_fence_chainlink_gate_front.png b/mods/homedecor/textures/homedecor_fence_chainlink_gate_front.png new file mode 100644 index 0000000..8987179 Binary files /dev/null and b/mods/homedecor/textures/homedecor_fence_chainlink_gate_front.png differ diff --git a/mods/homedecor/textures/homedecor_fence_chainlink_gate_sides.png b/mods/homedecor/textures/homedecor_fence_chainlink_gate_sides.png new file mode 100644 index 0000000..3033279 Binary files /dev/null and b/mods/homedecor/textures/homedecor_fence_chainlink_gate_sides.png differ diff --git a/mods/homedecor/textures/homedecor_fence_chainlink_gate_tb.png b/mods/homedecor/textures/homedecor_fence_chainlink_gate_tb.png new file mode 100644 index 0000000..62be7a7 Binary files /dev/null and b/mods/homedecor/textures/homedecor_fence_chainlink_gate_tb.png differ diff --git a/mods/homedecor/textures/homedecor_fence_chainlink_sides.png b/mods/homedecor/textures/homedecor_fence_chainlink_sides.png new file mode 100644 index 0000000..83f6eff Binary files /dev/null and b/mods/homedecor/textures/homedecor_fence_chainlink_sides.png differ diff --git a/mods/homedecor/textures/homedecor_fence_chainlink_tb.png b/mods/homedecor/textures/homedecor_fence_chainlink_tb.png new file mode 100644 index 0000000..4708eb8 Binary files /dev/null and b/mods/homedecor/textures/homedecor_fence_chainlink_tb.png differ diff --git a/mods/homedecor/textures/homedecor_fence_picket.png b/mods/homedecor/textures/homedecor_fence_picket.png new file mode 100644 index 0000000..52c94dc Binary files /dev/null and b/mods/homedecor/textures/homedecor_fence_picket.png differ diff --git a/mods/homedecor/textures/homedecor_fence_picket_backside.png b/mods/homedecor/textures/homedecor_fence_picket_backside.png new file mode 100644 index 0000000..9dc8399 Binary files /dev/null and b/mods/homedecor/textures/homedecor_fence_picket_backside.png differ diff --git a/mods/homedecor/textures/homedecor_fence_picket_gate.png b/mods/homedecor/textures/homedecor_fence_picket_gate.png new file mode 100644 index 0000000..90ec2ad Binary files /dev/null and b/mods/homedecor/textures/homedecor_fence_picket_gate.png differ diff --git a/mods/homedecor/textures/homedecor_fence_picket_gate_backside.png b/mods/homedecor/textures/homedecor_fence_picket_gate_backside.png new file mode 100644 index 0000000..53115da Binary files /dev/null and b/mods/homedecor/textures/homedecor_fence_picket_gate_backside.png differ diff --git a/mods/homedecor/textures/homedecor_fence_picket_gate_white.png b/mods/homedecor/textures/homedecor_fence_picket_gate_white.png new file mode 100644 index 0000000..41dc143 Binary files /dev/null and b/mods/homedecor/textures/homedecor_fence_picket_gate_white.png differ diff --git a/mods/homedecor/textures/homedecor_fence_picket_gate_white_backside.png b/mods/homedecor/textures/homedecor_fence_picket_gate_white_backside.png new file mode 100644 index 0000000..f8261b7 Binary files /dev/null and b/mods/homedecor/textures/homedecor_fence_picket_gate_white_backside.png differ diff --git a/mods/homedecor/textures/homedecor_fence_picket_white.png b/mods/homedecor/textures/homedecor_fence_picket_white.png new file mode 100644 index 0000000..0752ed9 Binary files /dev/null and b/mods/homedecor/textures/homedecor_fence_picket_white.png differ diff --git a/mods/homedecor/textures/homedecor_fence_picket_white_backside.png b/mods/homedecor/textures/homedecor_fence_picket_white_backside.png new file mode 100644 index 0000000..fe0cf7d Binary files /dev/null and b/mods/homedecor/textures/homedecor_fence_picket_white_backside.png differ diff --git a/mods/homedecor/textures/homedecor_fence_privacy_backside.png b/mods/homedecor/textures/homedecor_fence_privacy_backside.png new file mode 100644 index 0000000..12b9574 Binary files /dev/null and b/mods/homedecor/textures/homedecor_fence_privacy_backside.png differ diff --git a/mods/homedecor/textures/homedecor_fence_privacy_front.png b/mods/homedecor/textures/homedecor_fence_privacy_front.png new file mode 100644 index 0000000..0804095 Binary files /dev/null and b/mods/homedecor/textures/homedecor_fence_privacy_front.png differ diff --git a/mods/homedecor/textures/homedecor_fence_privacy_sides.png b/mods/homedecor/textures/homedecor_fence_privacy_sides.png new file mode 100644 index 0000000..f6b2ff8 Binary files /dev/null and b/mods/homedecor/textures/homedecor_fence_privacy_sides.png differ diff --git a/mods/homedecor/textures/homedecor_fence_privacy_tb.png b/mods/homedecor/textures/homedecor_fence_privacy_tb.png new file mode 100644 index 0000000..73812fa Binary files /dev/null and b/mods/homedecor/textures/homedecor_fence_privacy_tb.png differ diff --git a/mods/homedecor/textures/homedecor_fence_wrought_iron.png b/mods/homedecor/textures/homedecor_fence_wrought_iron.png new file mode 100644 index 0000000..e3865df Binary files /dev/null and b/mods/homedecor/textures/homedecor_fence_wrought_iron.png differ diff --git a/mods/homedecor/textures/homedecor_flower_pot_black_bottom.png b/mods/homedecor/textures/homedecor_flower_pot_black_bottom.png new file mode 100644 index 0000000..2e5344f Binary files /dev/null and b/mods/homedecor/textures/homedecor_flower_pot_black_bottom.png differ diff --git a/mods/homedecor/textures/homedecor_flower_pot_black_sides.png b/mods/homedecor/textures/homedecor_flower_pot_black_sides.png new file mode 100644 index 0000000..86c591a Binary files /dev/null and b/mods/homedecor/textures/homedecor_flower_pot_black_sides.png differ diff --git a/mods/homedecor/textures/homedecor_flower_pot_black_top.png b/mods/homedecor/textures/homedecor_flower_pot_black_top.png new file mode 100644 index 0000000..a112cb1 Binary files /dev/null and b/mods/homedecor/textures/homedecor_flower_pot_black_top.png differ diff --git a/mods/homedecor/textures/homedecor_flower_pot_green_bottom.png b/mods/homedecor/textures/homedecor_flower_pot_green_bottom.png new file mode 100644 index 0000000..c3d7778 Binary files /dev/null and b/mods/homedecor/textures/homedecor_flower_pot_green_bottom.png differ diff --git a/mods/homedecor/textures/homedecor_flower_pot_green_sides.png b/mods/homedecor/textures/homedecor_flower_pot_green_sides.png new file mode 100644 index 0000000..575360f Binary files /dev/null and b/mods/homedecor/textures/homedecor_flower_pot_green_sides.png differ diff --git a/mods/homedecor/textures/homedecor_flower_pot_green_top.png b/mods/homedecor/textures/homedecor_flower_pot_green_top.png new file mode 100644 index 0000000..4a4c502 Binary files /dev/null and b/mods/homedecor/textures/homedecor_flower_pot_green_top.png differ diff --git a/mods/homedecor/textures/homedecor_flower_pot_terracotta_bottom.png b/mods/homedecor/textures/homedecor_flower_pot_terracotta_bottom.png new file mode 100644 index 0000000..e2ba0f8 Binary files /dev/null and b/mods/homedecor/textures/homedecor_flower_pot_terracotta_bottom.png differ diff --git a/mods/homedecor/textures/homedecor_flower_pot_terracotta_sides.png b/mods/homedecor/textures/homedecor_flower_pot_terracotta_sides.png new file mode 100644 index 0000000..d1e9153 Binary files /dev/null and b/mods/homedecor/textures/homedecor_flower_pot_terracotta_sides.png differ diff --git a/mods/homedecor/textures/homedecor_flower_pot_terracotta_top.png b/mods/homedecor/textures/homedecor_flower_pot_terracotta_top.png new file mode 100644 index 0000000..730919b Binary files /dev/null and b/mods/homedecor/textures/homedecor_flower_pot_terracotta_top.png differ diff --git a/mods/homedecor/textures/homedecor_glass_table_large.png b/mods/homedecor/textures/homedecor_glass_table_large.png new file mode 100644 index 0000000..6d44116 Binary files /dev/null and b/mods/homedecor/textures/homedecor_glass_table_large.png differ diff --git a/mods/homedecor/textures/homedecor_glass_table_small_round.png b/mods/homedecor/textures/homedecor_glass_table_small_round.png new file mode 100644 index 0000000..29b2d73 Binary files /dev/null and b/mods/homedecor/textures/homedecor_glass_table_small_round.png differ diff --git a/mods/homedecor/textures/homedecor_glass_table_small_square.png b/mods/homedecor/textures/homedecor_glass_table_small_square.png new file mode 100644 index 0000000..3b4b32f Binary files /dev/null and b/mods/homedecor/textures/homedecor_glass_table_small_square.png differ diff --git a/mods/homedecor/textures/homedecor_glowlight_cube_white_sides.png b/mods/homedecor/textures/homedecor_glowlight_cube_white_sides.png new file mode 100644 index 0000000..51bd18d Binary files /dev/null and b/mods/homedecor/textures/homedecor_glowlight_cube_white_sides.png differ diff --git a/mods/homedecor/textures/homedecor_glowlight_cube_white_sides_ceiling.png b/mods/homedecor/textures/homedecor_glowlight_cube_white_sides_ceiling.png new file mode 100644 index 0000000..6b9b6a5 Binary files /dev/null and b/mods/homedecor/textures/homedecor_glowlight_cube_white_sides_ceiling.png differ diff --git a/mods/homedecor/textures/homedecor_glowlight_cube_white_tb.png b/mods/homedecor/textures/homedecor_glowlight_cube_white_tb.png new file mode 100644 index 0000000..6066f68 Binary files /dev/null and b/mods/homedecor/textures/homedecor_glowlight_cube_white_tb.png differ diff --git a/mods/homedecor/textures/homedecor_glowlight_cube_yellow_sides.png b/mods/homedecor/textures/homedecor_glowlight_cube_yellow_sides.png new file mode 100644 index 0000000..945e38a Binary files /dev/null and b/mods/homedecor/textures/homedecor_glowlight_cube_yellow_sides.png differ diff --git a/mods/homedecor/textures/homedecor_glowlight_cube_yellow_sides_ceiling.png b/mods/homedecor/textures/homedecor_glowlight_cube_yellow_sides_ceiling.png new file mode 100644 index 0000000..8d4e641 Binary files /dev/null and b/mods/homedecor/textures/homedecor_glowlight_cube_yellow_sides_ceiling.png differ diff --git a/mods/homedecor/textures/homedecor_glowlight_cube_yellow_tb.png b/mods/homedecor/textures/homedecor_glowlight_cube_yellow_tb.png new file mode 100644 index 0000000..3a54dd9 Binary files /dev/null and b/mods/homedecor/textures/homedecor_glowlight_cube_yellow_tb.png differ diff --git a/mods/homedecor/textures/homedecor_glowlight_thick_white_sides.png b/mods/homedecor/textures/homedecor_glowlight_thick_white_sides.png new file mode 100644 index 0000000..e657834 Binary files /dev/null and b/mods/homedecor/textures/homedecor_glowlight_thick_white_sides.png differ diff --git a/mods/homedecor/textures/homedecor_glowlight_thick_white_wall_sides.png b/mods/homedecor/textures/homedecor_glowlight_thick_white_wall_sides.png new file mode 100644 index 0000000..9e67c0c Binary files /dev/null and b/mods/homedecor/textures/homedecor_glowlight_thick_white_wall_sides.png differ diff --git a/mods/homedecor/textures/homedecor_glowlight_thick_yellow_sides.png b/mods/homedecor/textures/homedecor_glowlight_thick_yellow_sides.png new file mode 100644 index 0000000..424a319 Binary files /dev/null and b/mods/homedecor/textures/homedecor_glowlight_thick_yellow_sides.png differ diff --git a/mods/homedecor/textures/homedecor_glowlight_thick_yellow_wall_sides.png b/mods/homedecor/textures/homedecor_glowlight_thick_yellow_wall_sides.png new file mode 100644 index 0000000..65da329 Binary files /dev/null and b/mods/homedecor/textures/homedecor_glowlight_thick_yellow_wall_sides.png differ diff --git a/mods/homedecor/textures/homedecor_glowlight_thin_white_sides.png b/mods/homedecor/textures/homedecor_glowlight_thin_white_sides.png new file mode 100644 index 0000000..8389ebd Binary files /dev/null and b/mods/homedecor/textures/homedecor_glowlight_thin_white_sides.png differ diff --git a/mods/homedecor/textures/homedecor_glowlight_thin_white_wall_sides.png b/mods/homedecor/textures/homedecor_glowlight_thin_white_wall_sides.png new file mode 100644 index 0000000..dfebca2 Binary files /dev/null and b/mods/homedecor/textures/homedecor_glowlight_thin_white_wall_sides.png differ diff --git a/mods/homedecor/textures/homedecor_glowlight_thin_yellow_sides.png b/mods/homedecor/textures/homedecor_glowlight_thin_yellow_sides.png new file mode 100644 index 0000000..1dd5bd1 Binary files /dev/null and b/mods/homedecor/textures/homedecor_glowlight_thin_yellow_sides.png differ diff --git a/mods/homedecor/textures/homedecor_glowlight_thin_yellow_wall_sides.png b/mods/homedecor/textures/homedecor_glowlight_thin_yellow_wall_sides.png new file mode 100644 index 0000000..5bd3837 Binary files /dev/null and b/mods/homedecor/textures/homedecor_glowlight_thin_yellow_wall_sides.png differ diff --git a/mods/homedecor/textures/homedecor_glowlight_white_tb.png b/mods/homedecor/textures/homedecor_glowlight_white_tb.png new file mode 100644 index 0000000..5da4494 Binary files /dev/null and b/mods/homedecor/textures/homedecor_glowlight_white_tb.png differ diff --git a/mods/homedecor/textures/homedecor_glowlight_yellow_tb.png b/mods/homedecor/textures/homedecor_glowlight_yellow_tb.png new file mode 100644 index 0000000..41bbfb8 Binary files /dev/null and b/mods/homedecor/textures/homedecor_glowlight_yellow_tb.png differ diff --git a/mods/homedecor/textures/homedecor_ic.png b/mods/homedecor/textures/homedecor_ic.png new file mode 100644 index 0000000..b46daa2 Binary files /dev/null and b/mods/homedecor/textures/homedecor_ic.png differ diff --git a/mods/homedecor/textures/homedecor_kitchen_cabinet_bottom.png b/mods/homedecor/textures/homedecor_kitchen_cabinet_bottom.png new file mode 100644 index 0000000..a7dcb7f Binary files /dev/null and b/mods/homedecor/textures/homedecor_kitchen_cabinet_bottom.png differ diff --git a/mods/homedecor/textures/homedecor_kitchen_cabinet_front.png b/mods/homedecor/textures/homedecor_kitchen_cabinet_front.png new file mode 100644 index 0000000..70e4e2d Binary files /dev/null and b/mods/homedecor/textures/homedecor_kitchen_cabinet_front.png differ diff --git a/mods/homedecor/textures/homedecor_kitchen_cabinet_front_half.png b/mods/homedecor/textures/homedecor_kitchen_cabinet_front_half.png new file mode 100644 index 0000000..0a25186 Binary files /dev/null and b/mods/homedecor/textures/homedecor_kitchen_cabinet_front_half.png differ diff --git a/mods/homedecor/textures/homedecor_kitchen_cabinet_sides.png b/mods/homedecor/textures/homedecor_kitchen_cabinet_sides.png new file mode 100644 index 0000000..dd2065f Binary files /dev/null and b/mods/homedecor/textures/homedecor_kitchen_cabinet_sides.png differ diff --git a/mods/homedecor/textures/homedecor_kitchen_cabinet_sinktop.png b/mods/homedecor/textures/homedecor_kitchen_cabinet_sinktop.png new file mode 100644 index 0000000..7e89ddb Binary files /dev/null and b/mods/homedecor/textures/homedecor_kitchen_cabinet_sinktop.png differ diff --git a/mods/homedecor/textures/homedecor_kitchen_cabinet_top.png b/mods/homedecor/textures/homedecor_kitchen_cabinet_top.png new file mode 100644 index 0000000..e8d689d Binary files /dev/null and b/mods/homedecor/textures/homedecor_kitchen_cabinet_top.png differ diff --git a/mods/homedecor/textures/homedecor_nightstand_mahogany_1_drawer_front.png b/mods/homedecor/textures/homedecor_nightstand_mahogany_1_drawer_front.png new file mode 100644 index 0000000..3cdfe7a Binary files /dev/null and b/mods/homedecor/textures/homedecor_nightstand_mahogany_1_drawer_front.png differ diff --git a/mods/homedecor/textures/homedecor_nightstand_mahogany_2_drawer_front.png b/mods/homedecor/textures/homedecor_nightstand_mahogany_2_drawer_front.png new file mode 100644 index 0000000..89dfde0 Binary files /dev/null and b/mods/homedecor/textures/homedecor_nightstand_mahogany_2_drawer_front.png differ diff --git a/mods/homedecor/textures/homedecor_nightstand_mahogany_back.png b/mods/homedecor/textures/homedecor_nightstand_mahogany_back.png new file mode 100644 index 0000000..e77a4c7 Binary files /dev/null and b/mods/homedecor/textures/homedecor_nightstand_mahogany_back.png differ diff --git a/mods/homedecor/textures/homedecor_nightstand_mahogany_bottom.png b/mods/homedecor/textures/homedecor_nightstand_mahogany_bottom.png new file mode 100644 index 0000000..a49357e Binary files /dev/null and b/mods/homedecor/textures/homedecor_nightstand_mahogany_bottom.png differ diff --git a/mods/homedecor/textures/homedecor_nightstand_mahogany_left.png b/mods/homedecor/textures/homedecor_nightstand_mahogany_left.png new file mode 100644 index 0000000..e604a64 Binary files /dev/null and b/mods/homedecor/textures/homedecor_nightstand_mahogany_left.png differ diff --git a/mods/homedecor/textures/homedecor_nightstand_mahogany_right.png b/mods/homedecor/textures/homedecor_nightstand_mahogany_right.png new file mode 100644 index 0000000..25ce91d Binary files /dev/null and b/mods/homedecor/textures/homedecor_nightstand_mahogany_right.png differ diff --git a/mods/homedecor/textures/homedecor_nightstand_mahogany_top.png b/mods/homedecor/textures/homedecor_nightstand_mahogany_top.png new file mode 100644 index 0000000..dc9753e Binary files /dev/null and b/mods/homedecor/textures/homedecor_nightstand_mahogany_top.png differ diff --git a/mods/homedecor/textures/homedecor_nightstand_oak_1_drawer_front.png b/mods/homedecor/textures/homedecor_nightstand_oak_1_drawer_front.png new file mode 100644 index 0000000..97e0161 Binary files /dev/null and b/mods/homedecor/textures/homedecor_nightstand_oak_1_drawer_front.png differ diff --git a/mods/homedecor/textures/homedecor_nightstand_oak_2_drawer_front.png b/mods/homedecor/textures/homedecor_nightstand_oak_2_drawer_front.png new file mode 100644 index 0000000..e269d98 Binary files /dev/null and b/mods/homedecor/textures/homedecor_nightstand_oak_2_drawer_front.png differ diff --git a/mods/homedecor/textures/homedecor_nightstand_oak_back.png b/mods/homedecor/textures/homedecor_nightstand_oak_back.png new file mode 100644 index 0000000..271bda6 Binary files /dev/null and b/mods/homedecor/textures/homedecor_nightstand_oak_back.png differ diff --git a/mods/homedecor/textures/homedecor_nightstand_oak_bottom.png b/mods/homedecor/textures/homedecor_nightstand_oak_bottom.png new file mode 100644 index 0000000..2f759fe Binary files /dev/null and b/mods/homedecor/textures/homedecor_nightstand_oak_bottom.png differ diff --git a/mods/homedecor/textures/homedecor_nightstand_oak_left.png b/mods/homedecor/textures/homedecor_nightstand_oak_left.png new file mode 100644 index 0000000..f7ec083 Binary files /dev/null and b/mods/homedecor/textures/homedecor_nightstand_oak_left.png differ diff --git a/mods/homedecor/textures/homedecor_nightstand_oak_right.png b/mods/homedecor/textures/homedecor_nightstand_oak_right.png new file mode 100644 index 0000000..b762954 Binary files /dev/null and b/mods/homedecor/textures/homedecor_nightstand_oak_right.png differ diff --git a/mods/homedecor/textures/homedecor_nightstand_oak_top.png b/mods/homedecor/textures/homedecor_nightstand_oak_top.png new file mode 100644 index 0000000..ffa6c90 Binary files /dev/null and b/mods/homedecor/textures/homedecor_nightstand_oak_top.png differ diff --git a/mods/homedecor/textures/homedecor_oven_bottom.png b/mods/homedecor/textures/homedecor_oven_bottom.png new file mode 100644 index 0000000..2802096 Binary files /dev/null and b/mods/homedecor/textures/homedecor_oven_bottom.png differ diff --git a/mods/homedecor/textures/homedecor_oven_front.png b/mods/homedecor/textures/homedecor_oven_front.png new file mode 100644 index 0000000..288e9ff Binary files /dev/null and b/mods/homedecor/textures/homedecor_oven_front.png differ diff --git a/mods/homedecor/textures/homedecor_oven_front_active.png b/mods/homedecor/textures/homedecor_oven_front_active.png new file mode 100644 index 0000000..aaab206 Binary files /dev/null and b/mods/homedecor/textures/homedecor_oven_front_active.png differ diff --git a/mods/homedecor/textures/homedecor_oven_side.png b/mods/homedecor/textures/homedecor_oven_side.png new file mode 100644 index 0000000..30dd910 Binary files /dev/null and b/mods/homedecor/textures/homedecor_oven_side.png differ diff --git a/mods/homedecor/textures/homedecor_oven_top.png b/mods/homedecor/textures/homedecor_oven_top.png new file mode 100644 index 0000000..e1298a6 Binary files /dev/null and b/mods/homedecor/textures/homedecor_oven_top.png differ diff --git a/mods/homedecor/textures/homedecor_plastic_base.png b/mods/homedecor/textures/homedecor_plastic_base.png new file mode 100644 index 0000000..4d0e3f2 Binary files /dev/null and b/mods/homedecor/textures/homedecor_plastic_base.png differ diff --git a/mods/homedecor/textures/homedecor_plastic_base_inv.png b/mods/homedecor/textures/homedecor_plastic_base_inv.png new file mode 100644 index 0000000..3a02005 Binary files /dev/null and b/mods/homedecor/textures/homedecor_plastic_base_inv.png differ diff --git a/mods/homedecor/textures/homedecor_plastic_sheeting.png b/mods/homedecor/textures/homedecor_plastic_sheeting.png new file mode 100644 index 0000000..810ea2a Binary files /dev/null and b/mods/homedecor/textures/homedecor_plastic_sheeting.png differ diff --git a/mods/homedecor/textures/homedecor_pole_brass.png b/mods/homedecor/textures/homedecor_pole_brass.png new file mode 100644 index 0000000..9658c1a Binary files /dev/null and b/mods/homedecor/textures/homedecor_pole_brass.png differ diff --git a/mods/homedecor/textures/homedecor_pole_brass2.png b/mods/homedecor/textures/homedecor_pole_brass2.png new file mode 100644 index 0000000..e673fb0 Binary files /dev/null and b/mods/homedecor/textures/homedecor_pole_brass2.png differ diff --git a/mods/homedecor/textures/homedecor_pole_wrought_iron.png b/mods/homedecor/textures/homedecor_pole_wrought_iron.png new file mode 100644 index 0000000..23bd25d Binary files /dev/null and b/mods/homedecor/textures/homedecor_pole_wrought_iron.png differ diff --git a/mods/homedecor/textures/homedecor_projection_screen.png b/mods/homedecor/textures/homedecor_projection_screen.png new file mode 100644 index 0000000..7133403 Binary files /dev/null and b/mods/homedecor/textures/homedecor_projection_screen.png differ diff --git a/mods/homedecor/textures/homedecor_projection_screen_inv.png b/mods/homedecor/textures/homedecor_projection_screen_inv.png new file mode 100644 index 0000000..7ba41d2 Binary files /dev/null and b/mods/homedecor/textures/homedecor_projection_screen_inv.png differ diff --git a/mods/homedecor/textures/homedecor_refrigerator_back.png b/mods/homedecor/textures/homedecor_refrigerator_back.png new file mode 100644 index 0000000..dafb4c0 Binary files /dev/null and b/mods/homedecor/textures/homedecor_refrigerator_back.png differ diff --git a/mods/homedecor/textures/homedecor_refrigerator_bottom.png b/mods/homedecor/textures/homedecor_refrigerator_bottom.png new file mode 100644 index 0000000..e4762d3 Binary files /dev/null and b/mods/homedecor/textures/homedecor_refrigerator_bottom.png differ diff --git a/mods/homedecor/textures/homedecor_refrigerator_front.png b/mods/homedecor/textures/homedecor_refrigerator_front.png new file mode 100644 index 0000000..8e14964 Binary files /dev/null and b/mods/homedecor/textures/homedecor_refrigerator_front.png differ diff --git a/mods/homedecor/textures/homedecor_refrigerator_inv.png b/mods/homedecor/textures/homedecor_refrigerator_inv.png new file mode 100644 index 0000000..9147422 Binary files /dev/null and b/mods/homedecor/textures/homedecor_refrigerator_inv.png differ diff --git a/mods/homedecor/textures/homedecor_refrigerator_left.png b/mods/homedecor/textures/homedecor_refrigerator_left.png new file mode 100644 index 0000000..22173f3 Binary files /dev/null and b/mods/homedecor/textures/homedecor_refrigerator_left.png differ diff --git a/mods/homedecor/textures/homedecor_refrigerator_right.png b/mods/homedecor/textures/homedecor_refrigerator_right.png new file mode 100644 index 0000000..0ef4169 Binary files /dev/null and b/mods/homedecor/textures/homedecor_refrigerator_right.png differ diff --git a/mods/homedecor/textures/homedecor_refrigerator_top.png b/mods/homedecor/textures/homedecor_refrigerator_top.png new file mode 100644 index 0000000..1fc732c Binary files /dev/null and b/mods/homedecor/textures/homedecor_refrigerator_top.png differ diff --git a/mods/homedecor/textures/homedecor_roof_tile_terracotta.png b/mods/homedecor/textures/homedecor_roof_tile_terracotta.png new file mode 100644 index 0000000..d9ad782 Binary files /dev/null and b/mods/homedecor/textures/homedecor_roof_tile_terracotta.png differ diff --git a/mods/homedecor/textures/homedecor_rug_large.png b/mods/homedecor/textures/homedecor_rug_large.png new file mode 100644 index 0000000..9b12b6c Binary files /dev/null and b/mods/homedecor/textures/homedecor_rug_large.png differ diff --git a/mods/homedecor/textures/homedecor_rug_small.png b/mods/homedecor/textures/homedecor_rug_small.png new file mode 100644 index 0000000..7d53edb Binary files /dev/null and b/mods/homedecor/textures/homedecor_rug_small.png differ diff --git a/mods/homedecor/textures/homedecor_shingles_asphalt.png b/mods/homedecor/textures/homedecor_shingles_asphalt.png new file mode 100644 index 0000000..057546c Binary files /dev/null and b/mods/homedecor/textures/homedecor_shingles_asphalt.png differ diff --git a/mods/homedecor/textures/homedecor_shingles_terracotta.png b/mods/homedecor/textures/homedecor_shingles_terracotta.png new file mode 100644 index 0000000..3f42cca Binary files /dev/null and b/mods/homedecor/textures/homedecor_shingles_terracotta.png differ diff --git a/mods/homedecor/textures/homedecor_shingles_wood.png b/mods/homedecor/textures/homedecor_shingles_wood.png new file mode 100644 index 0000000..b982747 Binary files /dev/null and b/mods/homedecor/textures/homedecor_shingles_wood.png differ diff --git a/mods/homedecor/textures/homedecor_silicon.png b/mods/homedecor/textures/homedecor_silicon.png new file mode 100644 index 0000000..a7b0d52 Binary files /dev/null and b/mods/homedecor/textures/homedecor_silicon.png differ diff --git a/mods/homedecor/textures/homedecor_speaker_back.png b/mods/homedecor/textures/homedecor_speaker_back.png new file mode 100644 index 0000000..a3ffb02 Binary files /dev/null and b/mods/homedecor/textures/homedecor_speaker_back.png differ diff --git a/mods/homedecor/textures/homedecor_speaker_bottom.png b/mods/homedecor/textures/homedecor_speaker_bottom.png new file mode 100644 index 0000000..b99091c Binary files /dev/null and b/mods/homedecor/textures/homedecor_speaker_bottom.png differ diff --git a/mods/homedecor/textures/homedecor_speaker_front.png b/mods/homedecor/textures/homedecor_speaker_front.png new file mode 100644 index 0000000..76efdbf Binary files /dev/null and b/mods/homedecor/textures/homedecor_speaker_front.png differ diff --git a/mods/homedecor/textures/homedecor_speaker_left.png b/mods/homedecor/textures/homedecor_speaker_left.png new file mode 100644 index 0000000..9d6908e Binary files /dev/null and b/mods/homedecor/textures/homedecor_speaker_left.png differ diff --git a/mods/homedecor/textures/homedecor_speaker_right.png b/mods/homedecor/textures/homedecor_speaker_right.png new file mode 100644 index 0000000..68e5d58 Binary files /dev/null and b/mods/homedecor/textures/homedecor_speaker_right.png differ diff --git a/mods/homedecor/textures/homedecor_speaker_top.png b/mods/homedecor/textures/homedecor_speaker_top.png new file mode 100644 index 0000000..b2d4c88 Binary files /dev/null and b/mods/homedecor/textures/homedecor_speaker_top.png differ diff --git a/mods/homedecor/textures/homedecor_stereo_back.png b/mods/homedecor/textures/homedecor_stereo_back.png new file mode 100644 index 0000000..1fbd885 Binary files /dev/null and b/mods/homedecor/textures/homedecor_stereo_back.png differ diff --git a/mods/homedecor/textures/homedecor_stereo_bottom.png b/mods/homedecor/textures/homedecor_stereo_bottom.png new file mode 100644 index 0000000..83f07be Binary files /dev/null and b/mods/homedecor/textures/homedecor_stereo_bottom.png differ diff --git a/mods/homedecor/textures/homedecor_stereo_front.png b/mods/homedecor/textures/homedecor_stereo_front.png new file mode 100644 index 0000000..81f7eab Binary files /dev/null and b/mods/homedecor/textures/homedecor_stereo_front.png differ diff --git a/mods/homedecor/textures/homedecor_stereo_left.png b/mods/homedecor/textures/homedecor_stereo_left.png new file mode 100644 index 0000000..5c820d9 Binary files /dev/null and b/mods/homedecor/textures/homedecor_stereo_left.png differ diff --git a/mods/homedecor/textures/homedecor_stereo_right.png b/mods/homedecor/textures/homedecor_stereo_right.png new file mode 100644 index 0000000..0e0a307 Binary files /dev/null and b/mods/homedecor/textures/homedecor_stereo_right.png differ diff --git a/mods/homedecor/textures/homedecor_stereo_top.png b/mods/homedecor/textures/homedecor_stereo_top.png new file mode 100644 index 0000000..a81c597 Binary files /dev/null and b/mods/homedecor/textures/homedecor_stereo_top.png differ diff --git a/mods/homedecor/textures/homedecor_table_legs_brass.png b/mods/homedecor/textures/homedecor_table_legs_brass.png new file mode 100644 index 0000000..1491b9a Binary files /dev/null and b/mods/homedecor/textures/homedecor_table_legs_brass.png differ diff --git a/mods/homedecor/textures/homedecor_table_legs_wrought_iron.png b/mods/homedecor/textures/homedecor_table_legs_wrought_iron.png new file mode 100644 index 0000000..8b571c0 Binary files /dev/null and b/mods/homedecor/textures/homedecor_table_legs_wrought_iron.png differ diff --git a/mods/homedecor/textures/homedecor_television_back.png b/mods/homedecor/textures/homedecor_television_back.png new file mode 100644 index 0000000..792f0dd Binary files /dev/null and b/mods/homedecor/textures/homedecor_television_back.png differ diff --git a/mods/homedecor/textures/homedecor_television_bottom.png b/mods/homedecor/textures/homedecor_television_bottom.png new file mode 100644 index 0000000..b7e58d1 Binary files /dev/null and b/mods/homedecor/textures/homedecor_television_bottom.png differ diff --git a/mods/homedecor/textures/homedecor_television_front.png b/mods/homedecor/textures/homedecor_television_front.png new file mode 100644 index 0000000..023f336 Binary files /dev/null and b/mods/homedecor/textures/homedecor_television_front.png differ diff --git a/mods/homedecor/textures/homedecor_television_front_animated.png b/mods/homedecor/textures/homedecor_television_front_animated.png new file mode 100644 index 0000000..6347b8c Binary files /dev/null and b/mods/homedecor/textures/homedecor_television_front_animated.png differ diff --git a/mods/homedecor/textures/homedecor_television_left.png b/mods/homedecor/textures/homedecor_television_left.png new file mode 100644 index 0000000..36e0cb9 Binary files /dev/null and b/mods/homedecor/textures/homedecor_television_left.png differ diff --git a/mods/homedecor/textures/homedecor_television_right.png b/mods/homedecor/textures/homedecor_television_right.png new file mode 100644 index 0000000..149fc2f Binary files /dev/null and b/mods/homedecor/textures/homedecor_television_right.png differ diff --git a/mods/homedecor/textures/homedecor_television_top.png b/mods/homedecor/textures/homedecor_television_top.png new file mode 100644 index 0000000..b34a5f5 Binary files /dev/null and b/mods/homedecor/textures/homedecor_television_top.png differ diff --git a/mods/homedecor/textures/homedecor_terracotta_base.png b/mods/homedecor/textures/homedecor_terracotta_base.png new file mode 100644 index 0000000..edae79e Binary files /dev/null and b/mods/homedecor/textures/homedecor_terracotta_base.png differ diff --git a/mods/homedecor/textures/homedecor_tile_brass.png b/mods/homedecor/textures/homedecor_tile_brass.png new file mode 100644 index 0000000..f84b2db Binary files /dev/null and b/mods/homedecor/textures/homedecor_tile_brass.png differ diff --git a/mods/homedecor/textures/homedecor_tile_brass2.png b/mods/homedecor/textures/homedecor_tile_brass2.png new file mode 100644 index 0000000..4c6e1e9 Binary files /dev/null and b/mods/homedecor/textures/homedecor_tile_brass2.png differ diff --git a/mods/homedecor/textures/homedecor_tile_wrought_iron.png b/mods/homedecor/textures/homedecor_tile_wrought_iron.png new file mode 100644 index 0000000..a6a054d Binary files /dev/null and b/mods/homedecor/textures/homedecor_tile_wrought_iron.png differ diff --git a/mods/homedecor/textures/homedecor_tile_wrought_iron2.png b/mods/homedecor/textures/homedecor_tile_wrought_iron2.png new file mode 100644 index 0000000..3761fb8 Binary files /dev/null and b/mods/homedecor/textures/homedecor_tile_wrought_iron2.png differ diff --git a/mods/homedecor/textures/homedecor_titanium_dioxide.png b/mods/homedecor/textures/homedecor_titanium_dioxide.png new file mode 100644 index 0000000..753b607 Binary files /dev/null and b/mods/homedecor/textures/homedecor_titanium_dioxide.png differ diff --git a/mods/homedecor/textures/homedecor_utility_table_legs.png b/mods/homedecor/textures/homedecor_utility_table_legs.png new file mode 100644 index 0000000..74d4cfa Binary files /dev/null and b/mods/homedecor/textures/homedecor_utility_table_legs.png differ diff --git a/mods/homedecor/textures/homedecor_utility_table_legs_inv.png b/mods/homedecor/textures/homedecor_utility_table_legs_inv.png new file mode 100644 index 0000000..b6d2f5b Binary files /dev/null and b/mods/homedecor/textures/homedecor_utility_table_legs_inv.png differ diff --git a/mods/homedecor/textures/homedecor_utility_table_top.png b/mods/homedecor/textures/homedecor_utility_table_top.png new file mode 100644 index 0000000..d8a74a0 Binary files /dev/null and b/mods/homedecor/textures/homedecor_utility_table_top.png differ diff --git a/mods/homedecor/textures/homedecor_white_paint.png b/mods/homedecor/textures/homedecor_white_paint.png new file mode 100644 index 0000000..668ccc7 Binary files /dev/null and b/mods/homedecor/textures/homedecor_white_paint.png differ diff --git a/mods/homedecor/textures/homedecor_window_shutter_black.png b/mods/homedecor/textures/homedecor_window_shutter_black.png new file mode 100644 index 0000000..81583aa Binary files /dev/null and b/mods/homedecor/textures/homedecor_window_shutter_black.png differ diff --git a/mods/homedecor/textures/homedecor_window_shutter_dark_grey.png b/mods/homedecor/textures/homedecor_window_shutter_dark_grey.png new file mode 100644 index 0000000..7c67cc7 Binary files /dev/null and b/mods/homedecor/textures/homedecor_window_shutter_dark_grey.png differ diff --git a/mods/homedecor/textures/homedecor_window_shutter_forest_green.png b/mods/homedecor/textures/homedecor_window_shutter_forest_green.png new file mode 100644 index 0000000..ae3d81d Binary files /dev/null and b/mods/homedecor/textures/homedecor_window_shutter_forest_green.png differ diff --git a/mods/homedecor/textures/homedecor_window_shutter_grey.png b/mods/homedecor/textures/homedecor_window_shutter_grey.png new file mode 100644 index 0000000..0c4435b Binary files /dev/null and b/mods/homedecor/textures/homedecor_window_shutter_grey.png differ diff --git a/mods/homedecor/textures/homedecor_window_shutter_light_blue.png b/mods/homedecor/textures/homedecor_window_shutter_light_blue.png new file mode 100644 index 0000000..f27c5c2 Binary files /dev/null and b/mods/homedecor/textures/homedecor_window_shutter_light_blue.png differ diff --git a/mods/homedecor/textures/homedecor_window_shutter_mahogany.png b/mods/homedecor/textures/homedecor_window_shutter_mahogany.png new file mode 100644 index 0000000..bfc130a Binary files /dev/null and b/mods/homedecor/textures/homedecor_window_shutter_mahogany.png differ diff --git a/mods/homedecor/textures/homedecor_window_shutter_oak.png b/mods/homedecor/textures/homedecor_window_shutter_oak.png new file mode 100644 index 0000000..bd8db7f Binary files /dev/null and b/mods/homedecor/textures/homedecor_window_shutter_oak.png differ diff --git a/mods/homedecor/textures/homedecor_window_shutter_purple.png b/mods/homedecor/textures/homedecor_window_shutter_purple.png new file mode 100644 index 0000000..0e48b1d Binary files /dev/null and b/mods/homedecor/textures/homedecor_window_shutter_purple.png differ diff --git a/mods/homedecor/textures/homedecor_window_shutter_red.png b/mods/homedecor/textures/homedecor_window_shutter_red.png new file mode 100644 index 0000000..948d500 Binary files /dev/null and b/mods/homedecor/textures/homedecor_window_shutter_red.png differ diff --git a/mods/homedecor/textures/homedecor_window_shutter_white.png b/mods/homedecor/textures/homedecor_window_shutter_white.png new file mode 100644 index 0000000..e0f4b19 Binary files /dev/null and b/mods/homedecor/textures/homedecor_window_shutter_white.png differ diff --git a/mods/homedecor/textures/homedecor_window_shutter_yellow.png b/mods/homedecor/textures/homedecor_window_shutter_yellow.png new file mode 100644 index 0000000..fc46a00 Binary files /dev/null and b/mods/homedecor/textures/homedecor_window_shutter_yellow.png differ diff --git a/mods/homedecor/textures/homedecor_wood_table_large.png b/mods/homedecor/textures/homedecor_wood_table_large.png new file mode 100644 index 0000000..2c5205f Binary files /dev/null and b/mods/homedecor/textures/homedecor_wood_table_large.png differ diff --git a/mods/homedecor/textures/homedecor_wood_table_small_round.png b/mods/homedecor/textures/homedecor_wood_table_small_round.png new file mode 100644 index 0000000..b681a00 Binary files /dev/null and b/mods/homedecor/textures/homedecor_wood_table_small_round.png differ diff --git a/mods/homedecor/textures/homedecor_wood_table_small_square.png b/mods/homedecor/textures/homedecor_wood_table_small_square.png new file mode 100644 index 0000000..c3c0ae0 Binary files /dev/null and b/mods/homedecor/textures/homedecor_wood_table_small_square.png differ diff --git a/mods/hydro/depends.txt b/mods/hydro/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/hydro/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/hydro/init.lua b/mods/hydro/init.lua new file mode 100644 index 0000000..83fc83b --- /dev/null +++ b/mods/hydro/init.lua @@ -0,0 +1,455 @@ +HYDRO_GROW_INTERVAL = 100 +PLANTS = { + tomato = {name='tomato',growtype='growtall'}, + peas = {name='peas',growtype='growtall'}, + habanero = {name='habanero',growtype='growtall'}, + grapes = {name='grapes',growtype='permaculture'}, + coffee = {name='coffee',growtype='permaculture'}, + roses = {name='roses',growtype='growtall',give_on_harvest='hydro:rosebush'} +} + +PLANTLIKE = function(nodeid, nodename,type,option) + if option == nil then option = false end + + local params ={ description = nodename, drawtype = "plantlike", tile_images = {"hydro_"..nodeid..'.png'}, + inventory_image = "hydro_"..nodeid..'.png', wield_image = "hydro_"..nodeid..'.png', paramtype = "light", } + + if type == 'veg' then + params.groups = {snappy=2,dig_immediate=3,flammable=2} + params.sounds = default.node_sound_leaves_defaults() + if option == false then params.walkable = false end + elseif type == 'met' then -- metallic + params.groups = {cracky=3} + params.sounds = default.node_sound_stone_defaults() + elseif type == 'cri' then -- craft items + params.groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3} + params.sounds = default.node_sound_wood_defaults() + if option == false then params.walkable = false end + elseif type == 'eat' then -- edible + params.groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3} + params.sounds = default.node_sound_wood_defaults() + params.walkable = false + params.on_use = minetest.item_eat(option) + end + minetest.register_node("hydro:"..nodeid, params) +end +GLOWLIKE = function(nodeid,nodename,drawtype) + if drawtype == nil then + drawtype = 'glasslike' + inv_image = minetest.inventorycube("hydro_"..nodeid..".png") + else + inv_image = "hydro_"..nodeid..".png" + end + minetest.register_node("hydro:"..nodeid, { + description = nodename, + drawtype = drawtype, + tile_images = {"hydro_"..nodeid..".png"}, + inventory_image = inv_image, + light_propagates = true, + paramtype = "light", + sunlight_propagates = true, + light_source = 15 , + is_ground_content = true, + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, + sounds = default.node_sound_glass_defaults(), + }) +end + +PLANTLIKE('wine','Wine Bottle','eat',1) +PLANTLIKE('coffeecup','Coffee Cup','eat',2) +GLOWLIKE('growlamp','Growlamp','plantlike') +minetest.register_node("hydro:promix", { + description = "Promix", + tile_images = {"hydro_promix.png"}, + is_ground_content = true, + groups = {crumbly=3}, + sounds = default.node_sound_dirt_defaults(), +}) +minetest.register_node("hydro:roastedcoffee", { + description = "Roasted Coffee", + tile_images = {"hydro_roastedcoffee.png"}, + inventory_image = minetest.inventorycube("hydro_roastedcoffee.png"), + is_ground_content = true, + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_node("hydro:rosebush", { + description = "Rose Bush", + drawtype = "allfaces_optional", + visual_scale = 1.3, + tile_images = {"hydro_rosebush.png"}, + paramtype = "light", + groups = {snappy=3, flammable=2}, + sounds = default.node_sound_leaves_defaults(), +}) + +get_plantname = {} -- plants index by nodenames (tomato1, tomato2, seeds_tomato, etc..) +get_plantbynumber = {} -- plants index by number (for random select) +get_wildplants = {} -- wildplant nodenames (pop control) + +local is_specialharvest = function(plantname) + local result = 'hydro:'..plantname + if PLANTS[plantname].give_on_harvest ~= nil then result = PLANTS[plantname].give_on_harvest end + return result +end + +for index,plant in pairs(PLANTS) do + -- define nodes + minetest.register_node("hydro:wild_"..plant.name, { + description = "Wild Plant", + drawtype = "plantlike", + visual_scale = 1.0, + tile_images = {"hydro_wildplant.png"}, + paramtype = "light", + walkable = false, + groups = {snappy=3,flammable=3}, + sounds = default.node_sound_leaves_defaults(), + drop = 'hydro:seeds_'..plant.name..' 4', + selection_box = { + type = "fixed", + fixed = {-1/3, -1/2, -1/3, 1/3, 1/6, 1/3}, + }, + }) + minetest.register_node("hydro:seeds_"..plant.name, { + description = plant.name.." Seeds", + drawtype = "signlike", + tile_images = {"hydro_seeds.png"}, + inventory_image = "hydro_seeds.png", + wield_image = "hydro_seeds.png", + paramtype = "light", + paramtype2 = "wallmounted", + is_ground_content = true, + walkable = false, + climbable = false, + selection_box = { + type = "wallmounted", + --wall_top = = + --wall_bottom = = + --wall_side = = + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=3}, + legacy_wallmounted = true, + sounds = default.node_sound_wood_defaults(), + }) + minetest.register_node('hydro:seedlings_'..plant.name, { + drawtype = 'plantlike', + visual_scale = 1.0, + tile_images = { 'hydro_seedlings.png' }, + inventory_image = 'hydro_seedlings.png', + sunlight_propagates = true, + paramtype = 'light', + walkable = false, + furnace_burntime = 1, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + drop = '', + }) + minetest.register_node('hydro:sproutlings_' .. plant.name, { + drawtype = 'plantlike', + visual_scale = 1.0, + tile_images = { 'hydro_sproutlings.png' }, + inventory_image = 'hydro_sproutlings.png', + sunlight_propagates = true, + paramtype = 'light', + walkable = false, + furnace_burntime = 1, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + drop = '', + }) + minetest.register_node('hydro:'..plant.name..'1', { + description = 'Tomato Plant (Young)', + drawtype = 'plantlike', + visual_scale = 1.0, + tile_images = { 'hydro_'..plant.name..'1.png' }, + inventory_image = 'hydro_'..plant.name..'1.png', + sunlight_propagates = true, + paramtype = 'light', + walkable = false, + furnace_burntime = 1, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + drop = '', + }) + + local after_dig_node = nil + if plant.growtype == 'permaculture' then + plant.growtype = 'growshort' + after_dig_node = function(pos,node) + minetest.env:add_node(pos,{type='node',name='hydro:'..plant.name..'1'}) + end + + end + minetest.register_node('hydro:'..plant.name..'2', { + description = 'Tomato Plant (Youngish)', + drawtype = 'plantlike', + visual_scale = 1.0, + tile_images = { 'hydro_'..plant.name..'2.png' }, + inventory_image = 'hydro_'..plant.name..'2.png', + sunlight_propagates = true, + paramtype = 'light', + walkable = false, + furnace_burntime = 1, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + drop = '', + }) + minetest.register_node('hydro:'..plant.name..'3', { + description = 'Tomato Plant (Fruitings)', + drawtype = 'plantlike', + visual_scale = 1.0, + tile_images = { 'hydro_'..plant.name..'3.png' }, + inventory_image = 'hydro_'..plant.name..'3.png', + sunlight_propagates = true, + paramtype = 'light', + walkable = false, + furnace_burntime = 1, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + drop = '', + }) + + + local harvest = 'hydro:'..plant.name + if plant.give_on_harvest then harvest = plant.give_on_harvest end + + minetest.register_node('hydro:'..plant.name..'4', { + description = 'Tomato Plant (Ripe)', + drawtype = 'plantlike', + visual_scale = 1.0, + tile_images = { 'hydro_'..plant.name..'4.png' }, + inventory_image = 'hydro_'..plant.name..'4.png', + sunlight_propagates = true, + paramtype = 'light', + walkable = false, + furnace_burntime = 1, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + after_dig_node = after_dig_node, + drop = { + items = { + { items = {'hydro:seeds_'..plant.name..' 4'}, + rarity = 4, + }, + { + items = {harvest..' 2'}, + } + } + }, + + }) + if plant.give_on_harvest == nil then + minetest.register_node("hydro:"..plant.name, { + description = plant.name, + drawtype = "plantlike", + visual_scale = 1.0, + tile_images = {"hydro_"..plant.name..".png"}, + inventory_image = "hydro_"..plant.name..".png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + groups = {fleshy=3,dig_immediate=3,flammable=2}, + on_use = minetest.item_eat(4), + sounds = default.node_sound_defaults(), + }) + end + table.insert(get_wildplants, 'hydro:wild_'..plant.name) + table.insert(get_plantbynumber, plant.name) + get_plantname["hydro:"..plant.name.."4"] = plant.name + get_plantname["hydro:"..plant.name.."3"] = plant.name + get_plantname["hydro:"..plant.name.."2"] = plant.name + get_plantname["hydro:"..plant.name.."1"] = plant.name + get_plantname['hydro:sproutlings_'..plant.name] = plant.name + get_plantname['hydro:seedlings_'..plant.name] = plant.name + get_plantname['hydro:seeds_'..plant.name] = plant.name +end + +-- GROW (TALL) FUNCTION +growtall = function (plantname, nodename, grnode) + if nodename == 'hydro:'..plantname..'3' then minetest.env:add_node(grnode.grow1,{type="node",name="hydro:"..plantname.."4"}) + minetest.env:add_node(grnode.grow2,{type="node",name="hydro:"..plantname.."4"}) + elseif nodename == 'hydro:'..plantname..'2' then minetest.env:add_node(grnode.grow1,{type="node",name="hydro:"..plantname.."3"}) + minetest.env:add_node(grnode.grow2,{type="node",name="hydro:"..plantname.."3"}) + elseif nodename == 'hydro:'..plantname..'1' then minetest.env:add_node(grnode.grow1,{type="node",name="hydro:"..plantname.."2"}) + minetest.env:add_node(grnode.grow2,{type="node",name="hydro:"..plantname.."2"}) + elseif nodename =='hydro:sproutlings_'..plantname then minetest.env:add_node(grnode.grow1,{type="node",name="hydro:"..plantname.."1"}) + elseif nodename == 'hydro:seedlings_'..plantname then minetest.env:add_node(grnode.grow1,{type="node",name="hydro:sproutlings_"..plantname}) + elseif nodename == 'hydro:seeds_'..plantname then minetest.env:add_node(grnode.grow1,{type="node",name="hydro:seedlings_"..plantname}) + end + +end + +growshort = function (plantname, nodename, grnode) + if nodename == 'hydro:'..plantname..'3' then minetest.env:add_node(grnode.grow1,{type="node",name="hydro:"..plantname.."4"}) +-- minetest.env:add_node(grnode.grow2,{type="node",name="hydro:"..plantname.."4"}) + elseif nodename == 'hydro:'..plantname..'2' then minetest.env:add_node(grnode.grow1,{type="node",name="hydro:"..plantname.."3"}) +-- minetest.env:add_node(grnode.grow2,{type="node",name="hydro:"..plantname.."3"}) + elseif nodename == 'hydro:'..plantname..'1' then minetest.env:add_node(grnode.grow1,{type="node",name="hydro:"..plantname.."2"}) +-- minetest.env:add_node(grnode.grow2,{type="node",name="hydro:"..plantname.."2"}) + elseif nodename =='hydro:sproutlings_'..plantname then minetest.env:add_node(grnode.grow1,{type="node",name="hydro:"..plantname.."1"}) + elseif nodename == 'hydro:seedlings_'..plantname then minetest.env:add_node(grnode.grow1,{type="node",name="hydro:sproutlings_"..plantname}) + elseif nodename == 'hydro:seeds_'..plantname then minetest.env:add_node(grnode.grow1,{type="node",name="hydro:seedlings_"..plantname}) + end + +end + +-- WILD PLANTS/SEEDS GENERATING +minetest.register_abm({ + nodenames = { "default:dirt_with_grass" }, + interval = 600, + chance = 80, + action = function(pos, node, active_object_count, active_object_count_wider) + local air = { x=pos.x, y=pos.y+1,z=pos.z } + local is_air = minetest.env:get_node_or_nil(air) + if is_air ~= nil and is_air.name == 'air' then + local count = table.getn(get_plantbynumber) + local random_plant = math.random(1,count) + local nodename = "hydro:wild_"..get_plantbynumber[random_plant] + if nodename ~= "hydro:wild_rubberplant" then minetest.env:add_node({x=pos.x,y=pos.y+1,z=pos.z},{type="node",name=nodename}) end + end + end +}) +minetest.register_abm({ + nodenames = get_wildplants, + interval = 600, + chance = 2, + action = function(pos, node, active_object_count, active_object_count_wider) + minetest.env:remove_node({x=pos.x,y=pos.y,z=pos.z}) + end +}) + + +-- GROWING +minetest.register_abm({ + nodenames = { "hydro:growlamp" }, + interval = HYDRO_GROW_INTERVAL, + chance = 1, + + action = function(pos, node, active_object_count, active_object_count_wider) + local grnode1 = {water = {x=pos.x,y=pos.y-5,z=pos.z}, mix = {x=pos.x,y=pos.y-4,z=pos.z},grow1 = {x=pos.x,y=pos.y-3,z=pos.z}, grow2 = {x=pos.x,y=pos.y-2,z=pos.z}} + local grnode2 = {water = {x=pos.x-1,y=pos.y-5,z=pos.z}, mix = {x=pos.x-1,y=pos.y-4,z=pos.z},grow1 = {x=pos.x-1, y=pos.y-3,z=pos.z}, grow2 = {x=pos.x-1,y=pos.y-2,z=pos.z}} + local grnode3 = {water = {x=pos.x+1,y=pos.y-5,z=pos.z}, mix = {x=pos.x+1,y=pos.y-4,z=pos.z},grow1 = {x=pos.x+1, y=pos.y-3,z=pos.z}, grow2 = {x=pos.x+1,y=pos.y-2,z=pos.z}} + local grnode4 = {water = {x=pos.x,y=pos.y-5,z=pos.z-1}, mix = {x=pos.x,y=pos.y-4,z=pos.z-1},grow1 = {x=pos.x, y=pos.y-3, z=pos.z-1}, grow2 = {x=pos.x,y=pos.y-2,z=pos.z-1}} + local grnode5 = {water = {x=pos.x,y=pos.y-5,z=pos.z+1}, mix = {x=pos.x,y=pos.y-4,z=pos.z+1},grow1 = {x=pos.x, y=pos.y-3, z=pos.z+1}, grow2 = {x=pos.x,y=pos.y-2,z=pos.z+1}} + local grnode6 = {water = {x=pos.x-1,y=pos.y-5,z=pos.z-1}, mix = {x=pos.x-1,y=pos.y-4,z=pos.z-1},grow1 = {x=pos.x-1,y=pos.y-3,z=pos.z-1}, grow2 = {x=pos.x-1,y=pos.y-2,z=pos.z-1}} + local grnode7 = {water = {x=pos.x-1,y=pos.y-5,z=pos.z+1}, mix = {x=pos.x-1,y=pos.y-4,z=pos.z+1},grow1 = {x=pos.x-1,y=pos.y-3,z=pos.z+1}, grow2 = {x=pos.x-1,y=pos.y-2,z=pos.z+1}} + local grnode8 = {water = {x=pos.x+1,y=pos.y-5,z=pos.z-1}, mix = {x=pos.x+1,y=pos.y-4,z=pos.z-1},grow1 = {x=pos.x+1,y=pos.y-3,z=pos.z-1}, grow2 = {x=pos.x+1,y=pos.y-2,z=pos.z-1}} + local grnode9 = {water = {x=pos.x+1,y=pos.y-5,z=pos.z+1}, mix = {x=pos.x+1,y=pos.y-4,z=pos.z+1},grow1 = {x=pos.x+1,y=pos.y-3,z=pos.z+1}, grow2 = {x=pos.x+1,y=pos.y-2,z=pos.z+1}} + + + local water1 = minetest.env:get_node(grnode1.water) + if water1.name == 'default:water_source' or water1.name == 'default:water_flowing' then water1 = true end + local ismix1 = minetest.env:get_node(grnode1.mix) + local water2 = minetest.env:get_node(grnode2.water) + if water2.name == 'default:water_source' or water2.name == 'default:water_flowing' then water2 = true end + local ismix2 = minetest.env:get_node(grnode2.mix) + local water3 = minetest.env:get_node(grnode3.water) + if water3.name == 'default:water_source' or water3.name == 'default:water_flowing' then water3 = true end + local ismix3 = minetest.env:get_node(grnode3.mix) + local water4 = minetest.env:get_node(grnode4.water) + if water4.name == 'default:water_source' or water4.name == 'default:water_flowing' then water4 = true end + local ismix4 = minetest.env:get_node(grnode4.mix) + local water5 = minetest.env:get_node(grnode5.water) + if water5.name == 'default:water_source' or water5.name == 'default:water_flowing' then water5 = true end + local ismix5 = minetest.env:get_node(grnode5.mix) + local water6 = minetest.env:get_node(grnode6.water) + if water6.name == 'default:water_source' or water6.name == 'default:water_flowing' then water6 = true end + local ismix6 = minetest.env:get_node(grnode6.mix) + local water7 = minetest.env:get_node(grnode7.water) + if water7.name == 'default:water_source' or water7.name == 'default:water_flowing' then water7 = true end + local ismix7 = minetest.env:get_node(grnode7.mix) + local water8 = minetest.env:get_node(grnode8.water) + if water8.name == 'default:water_source' or water8.name == 'default:water_flowing' then water8 = true end + local ismix8 = minetest.env:get_node(grnode8.mix) + local water9 = minetest.env:get_node(grnode9.water) + if water9.name == 'default:water_source' or water9.name == 'default:water_flowing' then water9 = true end + local ismix9 = minetest.env:get_node(grnode9.mix) + + + if water1 == true and ismix1.name == 'hydro:promix' then + local grow1 = minetest.env:get_node(grnode1.grow1) + local curplant = get_plantname[grow1.name] + if curplant ~= nil and PLANTS[curplant].growtype == 'growtall' then growtall(curplant,grow1.name,grnode1) -- *** GENERIC GROW FUNCTION + elseif curplant ~= nil and PLANTS[curplant].growtype == 'growshort' then growshort(curplant,grow1.name,grnode1) end -- *** GENERIC GROW FUNCTION + end + if water2 == true and ismix2.name == 'hydro:promix' then + local grow2 = minetest.env:get_node(grnode2.grow1) + local curplant = get_plantname[grow2.name] + if curplant ~= nil and PLANTS[curplant].growtype == 'growtall' then growtall(curplant,grow2.name,grnode2) -- *** GENERIC GROW FUNCTION + elseif curplant ~= nil and PLANTS[curplant].growtype == 'growshort' then growshort(curplant,grow2.name,grnode2) end -- *** GENERIC GROW FUNCTION + end + if water3 == true and ismix3.name == 'hydro:promix' then + local grow3 = minetest.env:get_node(grnode3.grow1) + local curplant = get_plantname[grow3.name] + if curplant ~= nil and PLANTS[curplant].growtype == 'growtall' then growtall(curplant,grow3.name,grnode3) -- *** GENERIC GROW FUNCTION + elseif curplant ~= nil and PLANTS[curplant].growtype == 'growshort' then growshort(curplant,grow3.name,grnode3) end -- *** GENERIC GROW FUNCTION + + end + if water4 == true and ismix4.name == 'hydro:promix' then + local grow4 = minetest.env:get_node(grnode4.grow1) + local curplant = get_plantname[grow4.name] + if curplant ~= nil and PLANTS[curplant].growtype == 'growtall' then growtall(curplant,grow4.name,grnode4) -- *** GENERIC GROW FUNCTION + elseif curplant ~= nil and PLANTS[curplant].growtype == 'growshort' then growshort(curplant,grow4.name,grnode4) end -- *** GENERIC GROW FUNCTION + + end + if water5 == true and ismix5.name == 'hydro:promix' then + local grow5 = minetest.env:get_node(grnode5.grow1) + local curplant = get_plantname[grow5.name] + if curplant ~= nil and PLANTS[curplant].growtype == 'growtall' then growtall(curplant,grow5.name,grnode5) -- *** GENERIC GROW FUNCTION + elseif curplant ~= nil and PLANTS[curplant].growtype == 'growshort' then growshort(curplant,grow5.name,grnode5) end -- *** GENERIC GROW FUNCTION + + end + if water6 == true and ismix6.name == 'hydro:promix' then + local grow6 = minetest.env:get_node(grnode6.grow1) + local curplant = get_plantname[grow6.name] + if curplant ~= nil and PLANTS[curplant].growtype == 'growtall' then growtall(curplant,grow6.name,grnode6) -- *** GENERIC GROW FUNCTION + elseif curplant ~= nil and PLANTS[curplant].growtype == 'growshort' then growshort(curplant,grow6.name,grnode6) end -- *** GENERIC GROW FUNCTION + + end + if water7 == true and ismix7.name == 'hydro:promix' then + local grow7 = minetest.env:get_node(grnode7.grow1) + local curplant = get_plantname[grow7.name] + if curplant ~= nil and PLANTS[curplant].growtype == 'growtall' then growtall(curplant,grow7.name,grnode7) -- *** GENERIC GROW FUNCTION + elseif curplant ~= nil and PLANTS[curplant].growtype == 'growshort' then growshort(curplant,grow7.name,grnode7) end -- *** GENERIC GROW FUNCTION + + end + if water8 == true and ismix8.name == 'hydro:promix' then + local grow8 = minetest.env:get_node(grnode8.grow1) + local curplant = get_plantname[grow8.name] + if curplant ~= nil and PLANTS[curplant].growtype == 'growtall' then growtall(curplant,grow8.name,grnode8) -- *** GENERIC GROW FUNCTION + elseif curplant ~= nil and PLANTS[curplant].growtype == 'growshort' then growshort(curplant,grow8.name,grnode8) end -- *** GENERIC GROW FUNCTION + + end + if water9 == true and ismix9.name == 'hydro:promix' then + local grow9 = minetest.env:get_node(grnode9.grow1) + local curplant = get_plantname[grow9.name] + if curplant ~= nil and PLANTS[curplant].growtype == 'growtall' then growtall(curplant,grow9.name,grnode9) -- *** GENERIC GROW FUNCTION + elseif curplant ~= nil and PLANTS[curplant].growtype == 'growshort' then growshort(curplant,grow9.name,grnode9) end -- *** GENERIC GROW FUNCTION + + end + + end +}) + +minetest.register_craft({ output = 'hydro:growlamp 1', recipe = { + {'glass', 'torch','glass'}, + {'glass', 'torch','glass'}, + {'glass', 'torch','glass'}, +}}) +minetest.register_craft({ output = 'hydro:promix 6', recipe = { + {'', 'default:clay_lump',''}, + {'default:dirt', 'default:dirt', 'default:dirt'}, + {'default:dirt', 'default:dirt', 'default:dirt'}, +}}) +minetest.register_craft({ output = 'hydro:wine 1', recipe = { + {'default:glass', 'hydro:grapes','default:glass'}, + {'default:glass', 'hydro:grapes','default:glass'}, + {'default:glass', 'hydro:grapes','default:glass'}, + }}) +minetest.register_craft({ output = 'node "hydro:coffeecup" 1', recipe = { + {'','',''}, + {'default:clay_lump','hydro:roastedcoffee','default:clay_lump'}, + {'','default:clay_lump',''}, + }}) +minetest.register_craft({ type = "cooking", output = "hydro:roastedcoffee", recipe = "hydro:coffee", }) + diff --git a/mods/hydro/textures/hydro_coffee.png b/mods/hydro/textures/hydro_coffee.png new file mode 100644 index 0000000..fffd1d5 Binary files /dev/null and b/mods/hydro/textures/hydro_coffee.png differ diff --git a/mods/hydro/textures/hydro_coffee1.png b/mods/hydro/textures/hydro_coffee1.png new file mode 100644 index 0000000..a3c5be7 Binary files /dev/null and b/mods/hydro/textures/hydro_coffee1.png differ diff --git a/mods/hydro/textures/hydro_coffee2.png b/mods/hydro/textures/hydro_coffee2.png new file mode 100644 index 0000000..4b2a9a3 Binary files /dev/null and b/mods/hydro/textures/hydro_coffee2.png differ diff --git a/mods/hydro/textures/hydro_coffee3.png b/mods/hydro/textures/hydro_coffee3.png new file mode 100644 index 0000000..033beac Binary files /dev/null and b/mods/hydro/textures/hydro_coffee3.png differ diff --git a/mods/hydro/textures/hydro_coffee4.png b/mods/hydro/textures/hydro_coffee4.png new file mode 100644 index 0000000..40c67f4 Binary files /dev/null and b/mods/hydro/textures/hydro_coffee4.png differ diff --git a/mods/hydro/textures/hydro_coffeecup.png b/mods/hydro/textures/hydro_coffeecup.png new file mode 100644 index 0000000..23c8a18 Binary files /dev/null and b/mods/hydro/textures/hydro_coffeecup.png differ diff --git a/mods/hydro/textures/hydro_grapes.png b/mods/hydro/textures/hydro_grapes.png new file mode 100644 index 0000000..1475cff Binary files /dev/null and b/mods/hydro/textures/hydro_grapes.png differ diff --git a/mods/hydro/textures/hydro_grapes1.png b/mods/hydro/textures/hydro_grapes1.png new file mode 100644 index 0000000..a3c5be7 Binary files /dev/null and b/mods/hydro/textures/hydro_grapes1.png differ diff --git a/mods/hydro/textures/hydro_grapes2.png b/mods/hydro/textures/hydro_grapes2.png new file mode 100644 index 0000000..4b2a9a3 Binary files /dev/null and b/mods/hydro/textures/hydro_grapes2.png differ diff --git a/mods/hydro/textures/hydro_grapes3.png b/mods/hydro/textures/hydro_grapes3.png new file mode 100644 index 0000000..033beac Binary files /dev/null and b/mods/hydro/textures/hydro_grapes3.png differ diff --git a/mods/hydro/textures/hydro_grapes4.png b/mods/hydro/textures/hydro_grapes4.png new file mode 100644 index 0000000..bb38591 Binary files /dev/null and b/mods/hydro/textures/hydro_grapes4.png differ diff --git a/mods/hydro/textures/hydro_growlamp.png b/mods/hydro/textures/hydro_growlamp.png new file mode 100644 index 0000000..86c2a17 Binary files /dev/null and b/mods/hydro/textures/hydro_growlamp.png differ diff --git a/mods/hydro/textures/hydro_habanero.png b/mods/hydro/textures/hydro_habanero.png new file mode 100644 index 0000000..47fabaa Binary files /dev/null and b/mods/hydro/textures/hydro_habanero.png differ diff --git a/mods/hydro/textures/hydro_habanero1.png b/mods/hydro/textures/hydro_habanero1.png new file mode 100644 index 0000000..d4a0998 Binary files /dev/null and b/mods/hydro/textures/hydro_habanero1.png differ diff --git a/mods/hydro/textures/hydro_habanero2.png b/mods/hydro/textures/hydro_habanero2.png new file mode 100644 index 0000000..9d7f161 Binary files /dev/null and b/mods/hydro/textures/hydro_habanero2.png differ diff --git a/mods/hydro/textures/hydro_habanero3.png b/mods/hydro/textures/hydro_habanero3.png new file mode 100644 index 0000000..81c5e0b Binary files /dev/null and b/mods/hydro/textures/hydro_habanero3.png differ diff --git a/mods/hydro/textures/hydro_habanero4.png b/mods/hydro/textures/hydro_habanero4.png new file mode 100644 index 0000000..8053f3d Binary files /dev/null and b/mods/hydro/textures/hydro_habanero4.png differ diff --git a/mods/hydro/textures/hydro_peas.png b/mods/hydro/textures/hydro_peas.png new file mode 100644 index 0000000..be738ac Binary files /dev/null and b/mods/hydro/textures/hydro_peas.png differ diff --git a/mods/hydro/textures/hydro_peas1.png b/mods/hydro/textures/hydro_peas1.png new file mode 100644 index 0000000..b428df4 Binary files /dev/null and b/mods/hydro/textures/hydro_peas1.png differ diff --git a/mods/hydro/textures/hydro_peas2.png b/mods/hydro/textures/hydro_peas2.png new file mode 100644 index 0000000..edef180 Binary files /dev/null and b/mods/hydro/textures/hydro_peas2.png differ diff --git a/mods/hydro/textures/hydro_peas3.png b/mods/hydro/textures/hydro_peas3.png new file mode 100644 index 0000000..b4f9085 Binary files /dev/null and b/mods/hydro/textures/hydro_peas3.png differ diff --git a/mods/hydro/textures/hydro_peas4.png b/mods/hydro/textures/hydro_peas4.png new file mode 100644 index 0000000..618b149 Binary files /dev/null and b/mods/hydro/textures/hydro_peas4.png differ diff --git a/mods/hydro/textures/hydro_promix.png b/mods/hydro/textures/hydro_promix.png new file mode 100644 index 0000000..2612bd6 Binary files /dev/null and b/mods/hydro/textures/hydro_promix.png differ diff --git a/mods/hydro/textures/hydro_roastedcoffee.png b/mods/hydro/textures/hydro_roastedcoffee.png new file mode 100644 index 0000000..9a274b2 Binary files /dev/null and b/mods/hydro/textures/hydro_roastedcoffee.png differ diff --git a/mods/hydro/textures/hydro_rosebush.png b/mods/hydro/textures/hydro_rosebush.png new file mode 100644 index 0000000..af42454 Binary files /dev/null and b/mods/hydro/textures/hydro_rosebush.png differ diff --git a/mods/hydro/textures/hydro_roses1.png b/mods/hydro/textures/hydro_roses1.png new file mode 100644 index 0000000..d5f6d1b Binary files /dev/null and b/mods/hydro/textures/hydro_roses1.png differ diff --git a/mods/hydro/textures/hydro_roses2.png b/mods/hydro/textures/hydro_roses2.png new file mode 100644 index 0000000..002bd02 Binary files /dev/null and b/mods/hydro/textures/hydro_roses2.png differ diff --git a/mods/hydro/textures/hydro_roses3.png b/mods/hydro/textures/hydro_roses3.png new file mode 100644 index 0000000..6f5944c Binary files /dev/null and b/mods/hydro/textures/hydro_roses3.png differ diff --git a/mods/hydro/textures/hydro_roses4.png b/mods/hydro/textures/hydro_roses4.png new file mode 100644 index 0000000..d480a3b Binary files /dev/null and b/mods/hydro/textures/hydro_roses4.png differ diff --git a/mods/hydro/textures/hydro_seedlings.png b/mods/hydro/textures/hydro_seedlings.png new file mode 100644 index 0000000..ae7cb62 Binary files /dev/null and b/mods/hydro/textures/hydro_seedlings.png differ diff --git a/mods/hydro/textures/hydro_seeds.png b/mods/hydro/textures/hydro_seeds.png new file mode 100644 index 0000000..9194d48 Binary files /dev/null and b/mods/hydro/textures/hydro_seeds.png differ diff --git a/mods/hydro/textures/hydro_sproutlings.png b/mods/hydro/textures/hydro_sproutlings.png new file mode 100644 index 0000000..3168574 Binary files /dev/null and b/mods/hydro/textures/hydro_sproutlings.png differ diff --git a/mods/hydro/textures/hydro_tomato.png b/mods/hydro/textures/hydro_tomato.png new file mode 100644 index 0000000..a53429f Binary files /dev/null and b/mods/hydro/textures/hydro_tomato.png differ diff --git a/mods/hydro/textures/hydro_tomato1.png b/mods/hydro/textures/hydro_tomato1.png new file mode 100644 index 0000000..d5f6d1b Binary files /dev/null and b/mods/hydro/textures/hydro_tomato1.png differ diff --git a/mods/hydro/textures/hydro_tomato2.png b/mods/hydro/textures/hydro_tomato2.png new file mode 100644 index 0000000..002bd02 Binary files /dev/null and b/mods/hydro/textures/hydro_tomato2.png differ diff --git a/mods/hydro/textures/hydro_tomato3.png b/mods/hydro/textures/hydro_tomato3.png new file mode 100644 index 0000000..90ebe67 Binary files /dev/null and b/mods/hydro/textures/hydro_tomato3.png differ diff --git a/mods/hydro/textures/hydro_tomato4.png b/mods/hydro/textures/hydro_tomato4.png new file mode 100644 index 0000000..170f0c3 Binary files /dev/null and b/mods/hydro/textures/hydro_tomato4.png differ diff --git a/mods/hydro/textures/hydro_wildplant.png b/mods/hydro/textures/hydro_wildplant.png new file mode 100644 index 0000000..44a45c7 Binary files /dev/null and b/mods/hydro/textures/hydro_wildplant.png differ diff --git a/mods/hydro/textures/hydro_wine.png b/mods/hydro/textures/hydro_wine.png new file mode 100644 index 0000000..d0944ea Binary files /dev/null and b/mods/hydro/textures/hydro_wine.png differ diff --git a/mods/inventory_plus/init.lua b/mods/inventory_plus/init.lua new file mode 100644 index 0000000..ecbb1a2 --- /dev/null +++ b/mods/inventory_plus/init.lua @@ -0,0 +1,162 @@ +--[[ + +Inventory Plus for Minetest + +Copyright (c) 2012 cornernote, Brett O'Donnell +Source Code: https://github.com/cornernote/minetest-particles +License: GPLv3 + +]]-- + + +-- expose api +inventory_plus = {} + +-- define buttons +inventory_plus.buttons = {} + +-- default inventory page +inventory_plus.default = minetest.setting_get("inventory_default") or "craft" + +-- register_button +inventory_plus.register_button = function(player,name,label) + local player_name = player:get_player_name() + if inventory_plus.buttons[player_name] == nil then + inventory_plus.buttons[player_name] = {} + end + inventory_plus.buttons[player_name][name] = label +end + +-- set_inventory_formspec +inventory_plus.set_inventory_formspec = function(player,formspec) + if minetest.setting_getbool("creative_mode") then + -- if creative mode is on then wait a bit + minetest.after(0.01,function() + player:set_inventory_formspec(formspec) + end) + else + player:set_inventory_formspec(formspec) + end +end + +-- get_formspec +inventory_plus.get_formspec = function(player,page) + local formspec = "size[8,7.5]" + + -- player inventory + formspec = formspec .. "list[current_player;main;0,3.5;8,4;]" + + -- craft page + if page=="craft" then + formspec = formspec + .."button[0,0;2,0.5;main;Back]" + .."list[current_player;craftpreview;7,1;1,1;]" + if minetest.setting_getbool("inventory_craft_small") then + formspec = formspec.."list[current_player;craft;3,0;2,2;]" + player:get_inventory():set_width("craft", 2) + player:get_inventory():set_size("craft", 2*2) + else + formspec = formspec.."list[current_player;craft;3,0;3,3;]" + player:get_inventory():set_width("craft", 3) + player:get_inventory():set_size("craft", 3*3) + end + end + + -- creative page + if page=="creative" then + return player:get_inventory_formspec() + .."button[5,0;2,0.5;main;Back]" + .."label[6,1.5;Trash:]" + .."list[detached:trash;main;6,2;1,1;]" + .."label[5,1.5;Refill:]" + .."list[detached:refill;main;5,2;1,1;]" + end + + -- main page + if page=="main" then + -- buttons + local x,y=0,0 + for k,v in pairs(inventory_plus.buttons[player:get_player_name()]) do + formspec = formspec .. "button["..x..","..y..";2,0.5;"..k..";"..v.."]" + x=x+2 + if x == 8 then + x=0 + y=y+1 + end + end + end + + return formspec +end + +-- trash slot +inventory_plus.trash = minetest.create_detached_inventory("trash", { + allow_put = function(inv, listname, index, stack, player) + if minetest.setting_getbool("creative_mode") then + return stack:get_count() + else + return 0 + end + end, + on_put = function(inv, listname, index, stack, player) + inv:set_stack(listname, index, nil) + end, +}) +inventory_plus.trash:set_size("main", 1) + +-- refill slot +inventory_plus.refill = minetest.create_detached_inventory("refill", { + allow_put = function(inv, listname, index, stack, player) + if minetest.setting_getbool("creative_mode") then + return stack:get_count() + else + return 0 + end + end, + on_put = function(inv, listname, index, stack, player) + inv:set_stack(listname, index, ItemStack(stack:get_name().." "..stack:get_stack_max())) + end, +}) +inventory_plus.refill:set_size("main", 1) + +-- register_on_joinplayer +minetest.register_on_joinplayer(function(player) + if minetest.setting_getbool("inventory_craft_small") then + player:get_inventory():set_width("craft", 2) + player:get_inventory():set_size("craft", 2*2) + else + player:get_inventory():set_width("craft", 3) + player:get_inventory():set_size("craft", 3*3) + end + inventory_plus.register_button(player,"craft","Craft") + if minetest.setting_getbool("creative_mode") then + inventory_plus.register_button(player,"creative_prev","Creative") + end + minetest.after(1,function() + inventory_plus.set_inventory_formspec(player,inventory_plus.get_formspec(player, inventory_plus.default)) + end) +end) + +-- register_on_player_receive_fields +minetest.register_on_player_receive_fields(function(player, formname, fields) + -- main + if fields.main then + inventory_plus.set_inventory_formspec(player, inventory_plus.get_formspec(player,"main")) + return + end + -- craft + if fields.craft then + inventory_plus.set_inventory_formspec(player, inventory_plus.get_formspec(player,"craft")) + return + end + -- creative + if fields.creative_prev or fields.creative_next then + minetest.after(0.01,function() + inventory_plus.set_inventory_formspec(player, inventory_plus.get_formspec(player,"creative")) + end) + return + end +end) + +-- log that we started +minetest.log("action", "[MOD]"..minetest.get_current_modname().." -- loaded from "..minetest.get_modpath(minetest.get_current_modname())) \ No newline at end of file diff --git a/mods/irc/API.txt b/mods/irc/API.txt new file mode 100644 index 0000000..76c09e6 --- /dev/null +++ b/mods/irc/API.txt @@ -0,0 +1,115 @@ + +IRC Mod API +----------- +This file documents the API exported by the IRC mod. + + +BASICS +------ +In order to allow your mod to interface with this mod, you must add `irc' + (without the quotes) to your mod's `depends.txt' file. + + +REFERENCE +--------- + +mt_irc.say ( [name ,] message ) + Sends to either the channel (if is nil or not specified), + or to the given user (if is specified). + Example: + mt_irc.say("Hello, Channel!") + mt_irc.say("john1234", "How are you?") + +mt_irc.register_bot_command ( name, cmddef ) + Registers a new bot command named . + When an user sends a private message to the bot starting with `!name', the + command's function is called. + Here's the command definition (): + cmddef = { + params = " ...", -- A short help text for !help + description = "My command", -- What does the command? (one-liner) + func = function ( from, param ) + -- This function gets called when the command is invoked. + -- is the name of the user that invoked the command. + -- is the rest of the input (after removing !command) + end, + }; + Example: + mt_irc.register_bot_command("hello", { + params = nil, -- No params + description = "Greet user", + func = function ( from, param ) + mt_irc.say(from, "Hello!") + end, + }); + +mt_irc.connected_players [ name ] + This table holds the players who are currently on the channel (may be less + than the players in the game). It is modified by the /part and /join chat + commands. + Example: + if (mt_irc.connected_players["joe"]) then + -- Joe is talking on IRC + end + +mt_irc.register_callback ( name, func ) + Registers a function to be called when an event happens. is the name + of the event, and is the function to be called. See CALLBACKS below + for more information + Example: + mt_irc.register_callback("channel_msg", function ( from, msg ) + if (from == "joe") then + mt_irc.say("joe", "You are not allowed to do that!") + return true + end + end) + +This mod also supplies some utility functions: + +string.expandvars ( string, vars ) + Expands all occurrences of the pattern "$(varname)" with the value of + `varname' in the table. Variable names not found on the table + are left verbatim in the string. + Example: + local tpl = "$(foo) $(bar) $(baz)" + local s = tpl:expandvars({ foo=1, bar="Hello" }) + -- `s' now contains "1 Hello $(baz)" + +In addition, all the configuration options decribed in `README.txt' are + available to other mods, though they should be considered "read only". Do + not modify these settings at runtime or you will most likely crash the + server! + + +CALLBACKS +--------- +The `mt_irc.register_callback' function can register functions to be called + when some events happen. These are the events supported: + +channel_msg ( from, message ) + Called right before the bot sends a message to the channel. + is the name of the user sending the message. is the + unmodified message sent by the user. + Returning any value other than nil or false will prevent the message from + being sent. + Example: + mt_irc.register_callback("channel_msg", function ( from, msg ) + if (from == "joe") then + mt_irc.say("joe", "You are not allowed to do that!") + return true + end + end) + +private_msg ( from, to, message ) + Called right before the bot sends a private message to an user. + is the name of the user sending the message. is the recipient + of the message. is the unmodified message sent by the user. + Returning any value other than nil or false will prevent the message from + being sent. + Example: + mt_irc.register_callback("private_msg", function ( from, to, msg ) + if (to == "admin") then + mt_irc.say(from, "You are not allowed to do that!") + return true + end + end) diff --git a/mods/irc/CHANGES.txt b/mods/irc/CHANGES.txt new file mode 100644 index 0000000..57c8c78 --- /dev/null +++ b/mods/irc/CHANGES.txt @@ -0,0 +1,37 @@ + +Version 0.1.2: + - Fixed the Quit: Excess Flood bug. + - Removed the `packmod' scripts in favor of a dedicated CMake target. + - Fixed packaging of mod under MinGW32. + - Export some basic API so other mods may use the connection to send + messages, etc. + - Added /irc_disconnect and /irc_reconnect chat commands. + - Added some basic documentation about the API exported by this mod. + More coming soon. + - Added automatic reconnection in case the bot is kicked from the + channel. + - Fixed delay while the bot waits for the Message Of The Day (or topic) + - Fixed bug where players were able to send messages to the channel + even if they had no `shout' priv. + +Version 0.1.1: + - Moved all user configuration to `config.lua'. + - Added formatted messages for sent and received messages and options + to change them. + - Added options to change port, password. + - Added support for sending/receiving private messages. + - Removed need for separate packmod.{sh|bat} scripts. Now everything + is (almost) nicely handled by CMake. + - Now all sources (including Lua itself) are added to a single + luasocket lib. This will hopefully fix some cases where the linker + b0rk3d with undefined references under Linux. + - Added option to enable/disable connecting when starting the game, and + the /irc_connect chat command to connect manually to the server (as + suggested by OldCoder). The /irc_connect chat command requires the + `irc_admin' privilege. + - Added option to enable/disable joining the channel when a player joins, + and the /join and /part chat commands to join and part the channel + manually if desired (as suggested by OldCoder). + +Version 0.1.0: + - At least it's working :) diff --git a/mods/irc/LICENSE-LuaIRC.txt b/mods/irc/LICENSE-LuaIRC.txt new file mode 100644 index 0000000..fe30b8a --- /dev/null +++ b/mods/irc/LICENSE-LuaIRC.txt @@ -0,0 +1,7 @@ +Copyright (c) 2007 Jesse Luehrs + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/mods/irc/LICENSE-luasocket.txt b/mods/irc/LICENSE-luasocket.txt new file mode 100644 index 0000000..90d88e7 --- /dev/null +++ b/mods/irc/LICENSE-luasocket.txt @@ -0,0 +1,20 @@ +LuaSocket 2.0 license +Copyright © 2004-2005 Diego Nehab + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. diff --git a/mods/irc/LICENSE.txt b/mods/irc/LICENSE.txt new file mode 100644 index 0000000..6ef5b70 --- /dev/null +++ b/mods/irc/LICENSE.txt @@ -0,0 +1,15 @@ + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 + + Copyright (C) 2004 Sam Hocevar + + Everyone is permitted to copy and distribute verbatim or modified + copies of this license document, and changing it is allowed as long + as the name is changed. + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. You just DO WHAT THE FUCK YOU WANT TO. + diff --git a/mods/irc/README.txt b/mods/irc/README.txt new file mode 100644 index 0000000..4013c83 --- /dev/null +++ b/mods/irc/README.txt @@ -0,0 +1,216 @@ +IRC Mod for Minetest +(C) 2012 Diego MartĂ­nez + +INTRODUCTION +------------ +This mod is just a glue between luasocket, LuaIRC, and Minetest. It + provides a two-way communication between the in-game chat, and an + arbitrary IRC channel. + +The forum topic is at http://minetest.net/forum/viewtopic.php?id=3905 + + +COMPILING +--------- +Make sure you have CMake (http://cmake.org/), and of course, a C compiler, + on your system before proceeding. +For Windows, try MinGW32 (http://mingw.org/). +For Unix-based systems, you should not have any problems with the C compiler + since there's one (almost) always available. Puppy Linux users of course + need a separate `devx.sfs' (from the same place where you got the Puppy + ISO), since vanilla Puppy does not come with `gcc'. See your Puppy docs for + more info about how to install additional SFS files. + +Quick one line build for linux. + +git clone https://github.com/kaeza/minetest-irc.git && cd minetest-irc && mkdir build && cd build && cmake .. && make && make pack_mod && cp -R irc +Please change the "cp -R irc" to fit your install of minetest. + +To compile and "pack" the mod: + + - Open a command prompt/terminal and CD to the minetest-irc directory. + - Create a directory named "Build", and CD into it: + mkdir Build + cd Build + - Run CMake to generate the build system (see your CMake docs for more + information about command line options, in particular the `-G' option). + cmake .. + - Use the build tool for the generated build system to compile the + native library. For example, if using Microsoft Visual Studio, open + the generated workspace and build from there. If using make, just run + "make" from within the Build directory. + - Again use the build tool to invoke the `pack_mod' target. For example, + if using `make', run "make pack_mod" from within the build directory. + This will create an `irc' directory inside the build directory. + This `irc' directory will be ready to be deployed to your Minetest mods + directory. + + +INSTALLING +---------- +Just put the created `irc' directory in any of the directories where + Minetest looks for mods. For more information, see: + http://wiki.minetest.com/wiki/Installing_mods + + +SETTINGS +-------- +All settings are changed in the `config.lua' file. If any of these settings + are either nil or false, the default value is used. + + mt_irc.server (string, default "irc.freenode.net") + This is the IRC server the mod connects to. + + mt_irc.channel (string, default "##mt-irc-mod") + The IRC channel to join. + + mt_irc.dtime (number, default 0.2) + This is the time in seconds between updates in the connection. + In order not to block the game, the mod must periodically "poll" + the connection to both send messages to, and receive messages + from the channel. A high value means slower connection to IRC, + but possibly better response from the game. A low value means + the mod "polls" the connection more often, but can make the + game hang. It allows fractional values. + + mt_irc.timeout (number, default 60.0) + Underlying socket timeout in seconds. This is the time before + the system drops an idle connection. + + mt_irc.server_nick (string, default "minetest-"..) + Nickname used as "proxy" for the in-game chat. + "" is the server IP address packed as a 32 bit integer. + (Currently, it's just a random 32 bit number). + + mt_irc.password (string, default "") + Password to use when connecting to the server. + + mt_irc.message_format_out (string, default "<$(name)> $(message)") + This specifies how to send the messages from in-game to IRC. + The strings can contain "macros" (or variable substitutions), which + are specified as "$(macro_name)". + Currently, these macros are supported: + $(name) The name of the player sending the message. + $(message) The actual message text. + Any unrecognized macro will be left in the message verbatim. + For example, if a user named "mtuser" is saying "Hello!", then: + "<$(name)> $(message)" + ...will yield... + " Hello!" + ...and... + "$(name): $(message) $(xyz)" + ...will yield... + "mtuser: Hello! $(xyz)" + + mt_irc.message_format_in (string, + default "<$(name)@IRC> $(message)") + This specifies how the messages gotten from the IRC channel are + displayed in-game. + The strings can contain "macros" (or variable substitutions), which + are specified as "$(macro_name)". + Currently, these macros are supported: + $(name) The nickname of the user sending the message. + $(message) The actual message text. + $(server) The IRC server. + $(port) The IRC server port. + $(channel) The IRC channel. + In the default configuration, this will yield: + Hello! + + mt_irc.debug (boolean, default false) + Whether to output debug information. + + mt_irc.auto_connect (boolean, default false) + If true, the bot is connected by default. If false, a player with + `irc_admin' privilege has to use the /irc_connect command to + connect to the server. + + mt_irc.auto_join (boolean, default false) + If true, players join the channel automatically upon entering the + game. If false, each user must manually use the /join command to + join the channel. In any case, the players may use the /part + command to opt-out of being in the channel. + +USAGE +----- +Once the game is connected to the IRC channel, chatting using the 'T' or + F10 hotkeys will send the messages to the channel, and will be visible + by anyone. Also, when someone sends a message to the channel, that text + will be visible in-game. + +This mod also adds a few chat commands: + + /msg + Sends a private message to the IRC user whose nickname is `nick'. + + /join + Join the IRC channel. + + /part + Part the IRC channel. + + /irc_connect + Connect the bot manually to the IRC network. + + /irc_disconnect + Disconnect the bot manually to the IRC network (this does not + shutdown the game). + + /irc_reconnect + A combination of /irc_disconnect and /irc_connect. + +You can also send private messages from IRC to in-game players, though + it's a bit tricky. + +To do it, you must send a private message to the bot (set with + the `mt_irc.server_nick' option above), in the following format: + >playername message +For example, if there's a player named `mtuser', you can send him/her + a private message with: + /msg server_nick >mtuser Hello! + +To avoid possible misunderstandings (since all in-game players use the + same IRC user to converse with you), the "proxy" user will reject any + private messages that are not in that format, and will send back a + nice reminder as a private message. + +The bot also supports some basic commands, which are invoked by sending + a private message to it. Use `!help' to get a list of commands, and + `!help ' to get help about a specific command. + + +THANKS +------ +I'd like to thank the users who supported this mod both on the Minetest + Forums and on the #minetest channel. In no particular order: + + Shaun/kizeren, RAPHAEL, DARGON, Calinou, Exio, vortexlabs/mrtux, + marveidemanis, marktraceur, jmf/john_minetest, sdzen/Muadtralk, + VanessaE, PilzAdam, sfan5, celeron55, KikaRz, OldCoder, RealBadAngel, + and all the people who commented in the forum topic. Thanks to you all! + + +LICENSE +------- + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 + + Copyright (C) 2004 Sam Hocevar + + Everyone is permitted to copy and distribute verbatim or modified + copies of this license document, and changing it is allowed as long + as the name is changed. + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. You just DO WHAT THE FUCK YOU WANT TO. + +The files `http.lua', `ltn12.lua', `mime.lua', `smtp.lua', `socket.lua', + and `url.lua' are part of the luasocket project + (http://luasocket.luaforge.org/). See `LICENSE-luasocket.txt' for + licensing information. + +The `irc.lua' file and the entire contents of the `irc' directory are part + of the LuaIRC project (http://luairc.luaforge.org/). See + `LICENSE-LuaIRC.txt' for licensing information. diff --git a/mods/irc/TODO.txt b/mods/irc/TODO.txt new file mode 100644 index 0000000..1634d8f --- /dev/null +++ b/mods/irc/TODO.txt @@ -0,0 +1,20 @@ + +TODO List +--------- + + - Check for availability of nickname on join, and select a different one + until one is available. + - Implement more callbacks for `mt_irc.register_callback'. + +Not TODO List +------------- +* These things either WON'T BE SUPPORTED, or have VERY LOW priority. + + - Support for sending CTCP queries (LuaIRC seems to handle incoming + queries internally by default). + +Known Bugs +---------- + + - Apparently, some users have to install `luasocket' separately, since + the provided one won't compile/work (reported by leo_rockway). diff --git a/mods/irc/botcmds.lua b/mods/irc/botcmds.lua new file mode 100644 index 0000000..2a6b4e7 --- /dev/null +++ b/mods/irc/botcmds.lua @@ -0,0 +1,92 @@ + +mt_irc.bot_commands = { }; + +mt_irc.bot_help = function ( from, cmdname ) + local cmd = mt_irc.bot_commands[cmdname]; + if (not cmd) then + irc.say(from, "Unknown command `"..cmdname.."'"); + return; + end + local usage = "Usage: !"..cmdname; + if (cmd.params) then usage = usage.." "..cmd.params; end + irc.say(from, usage); + if (cmd.description) then irc.say(from, " "..cmd.description); end +end + +mt_irc.register_bot_command = function ( name, def ) + if ((not def.func) or (type(def.func) ~= "function")) then + error("Wrong bot command definition", 2); + end + mt_irc.bot_commands[name] = def; +end + +mt_irc.register_bot_command("help", { + params = "[]"; + description = "Get help about a command"; + func = function ( from, args ) + if (args ~= "") then + mt_irc.bot_help(from, args); + else + local cmdlist = "Available commands:"; + for name,cmd in pairs(mt_irc.bot_commands) do + cmdlist = cmdlist.." "..name; + end + irc.say(from, cmdlist); + irc.say(from, "Use `!help ' to get help about a specific command."); + end + end; +}); + +mt_irc.register_bot_command("who", { + params = nil; + description = "Tell who is playing"; + func = function ( from, args ) + local s = ""; + for k, v in pairs(mt_irc.connected_players) do + if (v) then + s = s.." "..k; + end + end + irc.say(from, "Players On Channel:"..s); + end; +}); + +mt_irc.register_bot_command("whereis", { + params = ""; + description = "Tell the location of "; + + func = function ( from, args ) + if (args == "") then + mt_irc.bot_help(from, "whereis"); + return; + end + local list = minetest.env:get_objects_inside_radius({x=0,y=0,z=0}, 100000); + for _, obj in ipairs(list) do + if (obj:is_player() and (obj:get_player_name() == args)) then + local fmt = "Player %s is at (%.2f,%.2f,%.2f)"; + local pos = obj:getpos(); + irc.say(from, fmt:format(args, pos.x, pos.y, pos.z)); + return; + end + end + irc.say(from, "There's No player named `"..args.."'"); + end; +}); + +local starttime = os.time(); + +mt_irc.register_bot_command("uptime", { + params = ""; + description = "Tell how much time the server has been up"; + privs = { shout=true; }; + func = function ( name, param ) + local t = os.time(); + local diff = os.difftime(t, starttime); + local fmt = "Server has been running for %d:%02d:%02d"; + irc.say(name, fmt:format( + math.floor(diff / 60 / 60), + math.mod(math.floor(diff / 60), 60), + math.mod(math.floor(diff), 60) + )); + end; +}); diff --git a/mods/irc/callback.lua b/mods/irc/callback.lua new file mode 100644 index 0000000..7f9deba --- /dev/null +++ b/mods/irc/callback.lua @@ -0,0 +1,213 @@ + +-- IRC Mod for Minetest +-- By Diego MartĂ­nez +-- +-- This mod allows to tie a Minetest server to an IRC channel. +-- +-- This program is free software. It comes without any warranty, to +-- the extent permitted by applicable law. You can redistribute it +-- and/or modify it under the terms of the Do What The Fuck You Want +-- To Public License, Version 2, as published by Sam Hocevar. See +-- http://sam.zoy.org/wtfpl/COPYING for more details. +-- + +local irc = require("irc"); + +mt_irc.callbacks = { }; + +mt_irc._callback = function ( name, ... ) + local list = mt_irc.callbacks[name]; + if (not list) then return; end + for n = 1, #list do + local r = list[n](...); + if (r) then return r; end + end +end + +mt_irc.register_callback = function ( name, func ) + local list = mt_irc.callbacks[name]; + if (not list) then + list = { }; + mt_irc.callbacks[name] = list; + end + list[#list + 1] = func; +end + +minetest.register_on_joinplayer(function ( player ) + + mt_irc.say(mt_irc.channel, "*** "..player:get_player_name().." joined the game"); + mt_irc.connected_players[player:get_player_name()] = mt_irc.auto_join; + +end); + +irc.register_callback("connect", function ( ) + mt_irc.got_motd = true; + irc.join(mt_irc.channel); +end); + +irc.register_callback("channel_msg", function ( channel, from, message ) + if (not mt_irc.connect_ok) then return; end + local t = { + name=(from or ""); + message=(message or ""); + server=mt_irc.server; + port=mt_irc.port; + channel=mt_irc.channel; + }; + local text = mt_irc.message_format_in:gsub("%$%(([^)]+)%)", t) + if (mt_irc._callback("channel_msg", from, message, text)) then return; end + for k, v in pairs(mt_irc.connected_players) do + if (v) then minetest.chat_send_player(k, text); end + end +end); + +local function bot_command ( from, message ) + + local pos = message:find(" ", 1, true); + local cmd, args; + if (pos) then + cmd = message:sub(1, pos - 1); + args = message:sub(pos + 1); + else + cmd = message; + args = ""; + end + + if (not mt_irc.bot_commands[cmd]) then + mt_irc.say(from, "Unknown command `"..cmd.."'. Try `!help'."); + return; + end + + mt_irc.bot_commands[cmd].func(from, args); + +end + +irc.register_callback("private_msg", function ( from, message ) + if (not mt_irc.connect_ok) then return; end + local player_to; + local msg; + if (message:sub(1, 1) == ">") then + local pos = message:find(" ", 1, true); + if (not pos) then return; end + player_to = message:sub(2, pos - 1); + msg = message:sub(pos + 1); + elseif (message:sub(1, 1) == "!") then + bot_command(from, message:sub(2)); + return; + else + irc.say(from, 'Message not sent! Please use "!help" to see possible commands.'); + irc.say(from, ' Or use the ">playername Message" syntax to send a private message.'); + return; + end + if (not mt_irc.connected_players[player_to]) then + irc.say(from, "User `"..player_to.."' is not connected to IRC."); + return; + end + local t = { + name=(from or ""); + message=(msg or ""); + server=mt_irc.server; + port=mt_irc.port; + channel=mt_irc.channel; + }; + local text = mt_irc.message_format_in:expandvars(t); + if (mt_irc._callback("private_msg", from, player_to, message, text)) then return; end + minetest.chat_send_player(player_to, "PRIVATE: "..text); +end); + +irc.register_callback("kick", function ( chaninfo, to, from ) + minetest.chat_send_all("IRC: Bot was kicked by "..from..". Reconnecting bot in 5 seconds..."); + mt_irc.got_motd = false; + mt_irc.connect_ok = false; + irc.quit("Kicked"); + minetest.after(5, mt_irc.connect); +end); + +irc.register_callback("nick_change", function ( from, old_nick ) + if (not mt_irc.connect_ok) then return; end + local text = "["..old_nick.." changed his nick to "..from.."]"; + for k, v in pairs(mt_irc.connected_players) do + if (v) then minetest.chat_send_player(k, text); end + end +end); + +irc.register_callback("join", function ( servinfo, from ) + local text = "*** "..from.." joined "..mt_irc.channel; + for k, v in pairs(mt_irc.connected_players) do + if (v) then minetest.chat_send_player(k, text); end + end +end); + +irc.register_callback("part", function ( servinfo, from, part_msg ) + local text = "*** "..from.." left "..mt_irc.channel.." ("..part_msg..")"; + for k, v in pairs(mt_irc.connected_players) do + if (v) then minetest.chat_send_player(k, text); end + end +end); + +irc.register_callback("channel_act", function ( servinfo, from, message) + if (not mt_irc.connect_ok) then return; end + local text = "*** "..from.." "..message; + for k, v in pairs(mt_irc.connected_players) do + if (v) then minetest.chat_send_player(k, text); end + end +end); + +minetest.register_on_leaveplayer(function ( player ) + local name = player:get_player_name(); + mt_irc.connected_players[name] = false; + if (not mt_irc.connect_ok) then return; end + irc.say(mt_irc.channel, "*** "..name.." left the game"); +end); + +minetest.register_on_chat_message(function ( name, message ) + if (not mt_irc.connect_ok) then return; end + if (message:sub(1, 1) == "/") then return; end + if (not mt_irc.connected_players[name]) then return; end + if (not minetest.check_player_privs(name, {shout=true})) then + return; + end + if (not mt_irc.buffered_messages) then + mt_irc.buffered_messages = { }; + end + mt_irc.buffered_messages[#mt_irc.buffered_messages + 1] = { + name = name; + message = message; + }; +end); + +minetest.register_on_shutdown(function ( ) + irc.quit("Game shutting down."); + for n = 1, 5 do + irc.poll(); + end +end); + +irc.handlers.on_error = function (...) --( from, respond_to ) + for k, v in pairs(mt_irc.connected_players) do + if (v) then minetest.chat_send_player(k, "IRC: Bot had a network error. Reconnecting in 5 seconds..."); end + end + for _, v in ipairs({...}) do + minetest.chat_send_all(dump(v)); + end + irc.quit("Network error"); + for n = 1, 5 do + irc.poll(); + end + mt_irc.got_motd = false; + mt_irc.connect_ok = false; + minetest.after(5, mt_irc.connect); +end + +irc.handlers.on_err_nicknameinuse = function ( from, respond_to ) + irc.quit("Nick in use"); + for n = 1, 5 do + irc.poll(); + end + mt_irc.got_motd = false; + mt_irc.connect_ok = false; + local n = (tonumber(mt_irc.server_nick:sub(-1)) or 0) + 1; + if (n == 10) then n = 1; end + mt_irc.server_nick = mt_irc.server_nick:sub(1, -2)..n; + mt_irc.connect(); +end diff --git a/mods/irc/chatcmds.lua b/mods/irc/chatcmds.lua new file mode 100644 index 0000000..f8041b0 --- /dev/null +++ b/mods/irc/chatcmds.lua @@ -0,0 +1,125 @@ + +-- IRC Mod for Minetest +-- By Diego MartĂ­nez +-- +-- This mod allows to tie a Minetest server to an IRC channel. +-- +-- This program is free software. It comes without any warranty, to +-- the extent permitted by applicable law. You can redistribute it +-- and/or modify it under the terms of the Do What The Fuck You Want +-- To Public License, Version 2, as published by Sam Hocevar. See +-- http://sam.zoy.org/wtfpl/COPYING for more details. +-- + +local irc = require("irc"); + +minetest.register_chatcommand("msg", { + params = " "; + description = "Send a private message to an IRC user"; + privs = { shout=true; }; + func = function ( name, param ) + if (not mt_irc.connect_ok) then + minetest.chat_send_player(name, "IRC: You are not connected use /irc_connect."); + return; + end + local pos = param:find(" ", 1, true); + if (not pos) then return; end + local name = param:sub(1, pos - 1); + local msg = param:sub(pos + 1); + local t = { + name=name; + message=msg; + }; + local text = mt_irc.message_format_out:expandvars(t); + irc.send("PRIVMSG", name, text); + end; +}); + +minetest.register_chatcommand("irc_connect", { + params = ""; + description = "Connect to the IRC server"; + privs = { irc_admin=true; }; + func = function ( name, param ) + if (mt_irc.connect_ok) then + minetest.chat_send_player(name, "IRC: You are already connected."); + return; + end + mt_irc.connect(); + minetest.chat_send_player(name, "IRC: You are now connected."); + irc.say(mt_irc.channel, name.." joined the channel."); + end; +}); + +minetest.register_chatcommand("irc_disconnect", { + params = ""; + description = "Disconnect from the IRC server"; + privs = { irc_admin=true; }; + func = function ( name, param ) + if (not mt_irc.connect_ok) then + minetest.chat_send_player(name, "IRC: You are not connected."); + return; + end + irc.quit("Manual BOT Disconnection"); + minetest.chat_send_player(name, "IRC: You are now disconnected."); + mt_irc.connect_ok = false; + end; +}); + +minetest.register_chatcommand("irc_reconnect", { + params = ""; + description = "Reconnect to the IRC server"; + privs = { irc_admin=true; }; + func = function ( name, param ) + if (mt_irc.connect_ok) then + irc.quit("Reconnecting BOT..."); + minetest.chat_send_player(name, "IRC: Reconnecting bot..."); + mt_irc.got_motd = true; + mt_irc.connect_ok = false; + end + mt_irc.connect(); + end; +}); + +minetest.register_chatcommand("join", { + params = ""; + description = "Join the IRC channel"; + privs = { shout=true; }; + func = function ( name, param ) + mt_irc.join(name); + end; +}); + +minetest.register_chatcommand("part", { + params = ""; + description = "Part the IRC channel"; + privs = { shout=true; }; + func = function ( name, param ) + mt_irc.part(name); + end; +}); + +minetest.register_chatcommand("me", { + params = ""; + description = "chat action (eg. /me orders a pizza)"; + privs = { shout=true }; + func = function(name, param) + minetest.chat_send_all("* "..name.." "..param); + irc.say(mt_irc.channel, "* "..name.." "..param); + end, +}) + +minetest.register_chatcommand("who", { + -- TODO: This duplicates code from !who + params = ""; + description = "Tell who is currently on the channel"; + privs = { shout=true; }; + func = function ( name, param ) + local s = ""; + for k, v in pairs(mt_irc.connected_players) do + if (v) then + s = s.." "..k; + end + end + minetest.chat_send_player(name, "Players On Channel:"..s); + end; +}); diff --git a/mods/irc/config.lua b/mods/irc/config.lua new file mode 100644 index 0000000..096ffc1 --- /dev/null +++ b/mods/irc/config.lua @@ -0,0 +1,61 @@ + +-- IRC Mod for Minetest +-- By Diego MartĂ­nez +-- +-- This mod allows to tie a Minetest server to an IRC channel. +-- +-- This program is free software. It comes without any warranty, to +-- the extent permitted by applicable law. You can redistribute it +-- and/or modify it under the terms of the Do What The Fuck You Want +-- To Public License, Version 2, as published by Sam Hocevar. See +-- http://sam.zoy.org/wtfpl/COPYING for more details. +-- + +-- ************************* +-- ** BASIC USER SETTINGS ** +-- ************************* + +-- Server to connect on joinplayer (string, default "irc.freenode.net") +mt_irc.server = nil; + +-- Port to connect on joinplayer (number, default 6667) +mt_irc.port = nil; + +-- Channel to connect on joinplayer (string, default "##mt-irc-mod") +mt_irc.channel = "##mtzegaton"; + +-- *********************** +-- ** ADVANCED SETTINGS ** +-- *********************** + +-- Time between chat updates in seconds (number, default 0.2). +mt_irc.dtime = nil; + +-- Underlying socket timeout in seconds (number, default 1.0). +mt_irc.timeout = nil; + +-- Nickname when using single conection (string, default "minetest-"..); +-- ( is the server IP address packed as a 32 bit integer). +mt_irc.server_nick = nil; + +-- Password to use when using single connection (string, default "") +mt_irc.password = nil; + +-- The format of messages sent to IRC server (string, default "<$(name)> $(message)") +-- See `README.txt' for the macros supported here. +mt_irc.message_format_out = "<$(name)> $(message)"; + +-- The format of messages sent to IRC server (string, default "<$(name)@IRC> $(message)") +-- See `README.txt' for the macros supported here. +mt_irc.message_format_in = "<$(name)@IRC> $(message)"; + +-- Enable debug output (boolean, default false) +mt_irc.debug = false; + +-- Whether to automatically join the channed when player joins +-- (boolean, default true) +mt_irc.auto_join = true; + +-- Whether to automatically connect to the server on mod load +-- (boolean, default true) +mt_irc.auto_connect = true; diff --git a/mods/irc/friends.lua b/mods/irc/friends.lua new file mode 100644 index 0000000..6592195 --- /dev/null +++ b/mods/irc/friends.lua @@ -0,0 +1,22 @@ + +-- IRC Mod for Minetest +-- By Diego MartĂ­nez +-- +-- This mod allows to tie a Minetest server to an IRC channel. +-- +-- This program is free software. It comes without any warranty, to +-- the extent permitted by applicable law. You can redistribute it +-- and/or modify it under the terms of the Do What The Fuck You Want +-- To Public License, Version 2, as published by Sam Hocevar. See +-- http://sam.zoy.org/wtfpl/COPYING for more details. +-- + +-- TODO + +--[[ +local MODPATH = mt_irc.modpath; + +local function load_friends_list ( ) + +end +]] diff --git a/mods/irc/ftp.lua b/mods/irc/ftp.lua new file mode 100644 index 0000000..1ddc77d --- /dev/null +++ b/mods/irc/ftp.lua @@ -0,0 +1,280 @@ +----------------------------------------------------------------------------- +-- FTP support for the Lua language +-- LuaSocket toolkit. +-- Author: Diego Nehab +-- RCS ID: $Id: ftp.lua,v 1.42 2005/11/22 08:33:29 diego Exp $ +----------------------------------------------------------------------------- + +----------------------------------------------------------------------------- +-- Declare module and import dependencies +----------------------------------------------------------------------------- +local base = _G +local table = require("table") +local string = require("string") +local math = require("math") +local socket = require("socket") +local url = require("socket.url") +local tp = require("socket.tp") +local ltn12 = require("ltn12") +module("socket.ftp") + +----------------------------------------------------------------------------- +-- Program constants +----------------------------------------------------------------------------- +-- timeout in seconds before the program gives up on a connection +TIMEOUT = 60 +-- default port for ftp service +PORT = 21 +-- this is the default anonymous password. used when no password is +-- provided in url. should be changed to your e-mail. +USER = "ftp" +PASSWORD = "anonymous@anonymous.org" + +----------------------------------------------------------------------------- +-- Low level FTP API +----------------------------------------------------------------------------- +local metat = { __index = {} } + +function open(server, port, create) + local tp = socket.try(tp.connect(server, port or PORT, create, TIMEOUT)) + local f = base.setmetatable({ tp = tp }, metat) + -- make sure everything gets closed in an exception + f.try = socket.newtry(function() f:close() end) + return f +end + +function metat.__index:portconnect() + self.try(self.server:settimeout(TIMEOUT)) + self.data = self.try(self.server:accept()) + self.try(self.data:settimeout(TIMEOUT)) +end + +function metat.__index:pasvconnect() + self.data = self.try(socket.tcp()) + self.try(self.data:settimeout(TIMEOUT)) + self.try(self.data:connect(self.pasvt.ip, self.pasvt.port)) +end + +function metat.__index:login(user, password) + self.try(self.tp:command("user", user or USER)) + local code, reply = self.try(self.tp:check{"2..", 331}) + if code == 331 then + self.try(self.tp:command("pass", password or PASSWORD)) + self.try(self.tp:check("2..")) + end + return 1 +end + +function metat.__index:pasv() + self.try(self.tp:command("pasv")) + local code, reply = self.try(self.tp:check("2..")) + local pattern = "(%d+)%D(%d+)%D(%d+)%D(%d+)%D(%d+)%D(%d+)" + local a, b, c, d, p1, p2 = socket.skip(2, string.find(reply, pattern)) + self.try(a and b and c and d and p1 and p2, reply) + self.pasvt = { + ip = string.format("%d.%d.%d.%d", a, b, c, d), + port = p1*256 + p2 + } + if self.server then + self.server:close() + self.server = nil + end + return self.pasvt.ip, self.pasvt.port +end + +function metat.__index:port(ip, port) + self.pasvt = nil + if not ip then + ip, port = self.try(self.tp:getcontrol():getsockname()) + self.server = self.try(socket.bind(ip, 0)) + ip, port = self.try(self.server:getsockname()) + self.try(server:settimeout(TIMEOUT)) + end + local pl = math.mod(port, 256) + local ph = (port - pl)/256 + local arg = string.gsub(string.format("%s,%d,%d", ip, ph, pl), "%.", ",") + self.try(self.tp:command("port", arg)) + self.try(self.tp:check("2..")) + return 1 +end + +function metat.__index:send(sendt) + self.try(self.pasvt or self.server, "need port or pasv first") + -- if there is a pasvt table, we already sent a PASV command + -- we just get the data connection into self.data + if self.pasvt then self:pasvconnect() end + -- get the transfer argument and command + local argument = sendt.argument or + url.unescape(string.gsub(sendt.path or "", "^[/\\]", "")) + if argument == "" then argument = nil end + local command = sendt.command or "stor" + -- send the transfer command and check the reply + self.try(self.tp:command(command, argument)) + local code, reply = self.try(self.tp:check{"2..", "1.."}) + -- if there is not a a pasvt table, then there is a server + -- and we already sent a PORT command + if not self.pasvt then self:portconnect() end + -- get the sink, source and step for the transfer + local step = sendt.step or ltn12.pump.step + local checkstep = function(src, snk) + -- check status in control connection while downloading + local readyt = socket.select(readt, nil, 0) + if readyt[tp] then self.try(self.tp:check("2..")) end + return step(src, snk) + end + local sink = socket.sink("close-when-done", self.data) + -- transfer all data and check error + self.try(ltn12.pump.all(sendt.source, sink, checkstep)) + if string.find(code, "1..") then self.try(self.tp:check("2..")) end + -- done with data connection + self.data:close() + -- find out how many bytes were sent + local sent = socket.skip(1, self.data:getstats()) + self.data = nil + return sent +end + +function metat.__index:receive(recvt) + self.try(self.pasvt or self.server, "need port or pasv first") + if self.pasvt then self:pasvconnect() end + local argument = recvt.argument or + url.unescape(string.gsub(recvt.path or "", "^[/\\]", "")) + if argument == "" then argument = nil end + local command = recvt.command or "retr" + self.try(self.tp:command(command, argument)) + local code = self.try(self.tp:check{"1..", "2.."}) + if not self.pasvt then self:portconnect() end + local source = socket.source("until-closed", self.data) + local step = recvt.step or ltn12.pump.step + self.try(ltn12.pump.all(source, recvt.sink, step)) + if string.find(code, "1..") then self.try(self.tp:check("2..")) end + self.data:close() + self.data = nil + return 1 +end + +function metat.__index:cwd(dir) + self.try(self.tp:command("cwd", dir)) + self.try(self.tp:check(250)) + return 1 +end + +function metat.__index:type(type) + self.try(self.tp:command("type", type)) + self.try(self.tp:check(200)) + return 1 +end + +function metat.__index:greet() + local code = self.try(self.tp:check{"1..", "2.."}) + if string.find(code, "1..") then self.try(self.tp:check("2..")) end + return 1 +end + +function metat.__index:quit() + self.try(self.tp:command("quit")) + self.try(self.tp:check("2..")) + return 1 +end + +function metat.__index:close() + if self.data then self.data:close() end + if self.server then self.server:close() end + return self.tp:close() +end + +----------------------------------------------------------------------------- +-- High level FTP API +----------------------------------------------------------------------------- +function override(t) + if t.url then + u = url.parse(t.url) + for i,v in base.pairs(t) do + u[i] = v + end + return u + else return t end +end + +local function tput(putt) + putt = override(putt) + socket.try(putt.host, "missing hostname") + local f = open(putt.host, putt.port, putt.create) + f:greet() + f:login(putt.user, putt.password) + if putt.type then f:type(putt.type) end + f:pasv() + local sent = f:send(putt) + f:quit() + f:close() + return sent +end + +local default = { + path = "/", + scheme = "ftp" +} + +local function parse(u) + local t = socket.try(url.parse(u, default)) + socket.try(t.scheme == "ftp", "wrong scheme '" .. t.scheme .. "'") + socket.try(t.host, "missing hostname") + local pat = "^type=(.)$" + if t.params then + t.type = socket.skip(2, string.find(t.params, pat)) + socket.try(t.type == "a" or t.type == "i", + "invalid type '" .. t.type .. "'") + end + return t +end + +local function sput(u, body) + local putt = parse(u) + putt.source = ltn12.source.string(body) + return tput(putt) +end + +put = socket.protect(function(putt, body) + if base.type(putt) == "string" then return sput(putt, body) + else return tput(putt) end +end) + +local function tget(gett) + gett = override(gett) + socket.try(gett.host, "missing hostname") + local f = open(gett.host, gett.port, gett.create) + f:greet() + f:login(gett.user, gett.password) + if gett.type then f:type(gett.type) end + f:pasv() + f:receive(gett) + f:quit() + return f:close() +end + +local function sget(u) + local gett = parse(u) + local t = {} + gett.sink = ltn12.sink.table(t) + tget(gett) + return table.concat(t) +end + +command = socket.protect(function(cmdt) + cmdt = override(cmdt) + socket.try(cmdt.host, "missing hostname") + socket.try(cmdt.command, "missing command") + local f = open(cmdt.host, cmdt.port, cmdt.create) + f:greet() + f:login(cmdt.user, cmdt.password) + f.try(f.tp:command(cmdt.command, cmdt.argument)) + if cmdt.check then f.try(f.tp:check(cmdt.check)) end + f:quit() + return f:close() +end) + +get = socket.protect(function(gett) + if base.type(gett) == "string" then return sget(gett) + else return tget(gett) end +end) + diff --git a/mods/irc/http.lua b/mods/irc/http.lua new file mode 100644 index 0000000..a448508 --- /dev/null +++ b/mods/irc/http.lua @@ -0,0 +1,326 @@ +----------------------------------------------------------------------------- +-- HTTP/1.1 client support for the Lua language. +-- LuaSocket toolkit. +-- Author: Diego Nehab +-- RCS ID: $Id: http.lua,v 1.63 2005/11/22 08:33:29 diego Exp $ +----------------------------------------------------------------------------- + +----------------------------------------------------------------------------- +-- Declare module and import dependencies +------------------------------------------------------------------------------- +local socket = require("socket") +local url = require("socket.url") +local ltn12 = require("ltn12") +local mime = require("mime") +local string = require("string") +local base = _G +local table = require("table") +module("socket.http") + +----------------------------------------------------------------------------- +-- Program constants +----------------------------------------------------------------------------- +-- connection timeout in seconds +TIMEOUT = 60 +-- default port for document retrieval +PORT = 80 +-- user agent field sent in request +USERAGENT = socket._VERSION + +----------------------------------------------------------------------------- +-- Reads MIME headers from a connection, unfolding where needed +----------------------------------------------------------------------------- +local function receiveheaders(sock, headers) + local line, name, value, err + headers = headers or {} + -- get first line + line, err = sock:receive() + if err then return nil, err end + -- headers go until a blank line is found + while line ~= "" do + -- get field-name and value + name, value = socket.skip(2, string.find(line, "^(.-):%s*(.*)")) + if not (name and value) then return nil, "malformed reponse headers" end + name = string.lower(name) + -- get next line (value might be folded) + line, err = sock:receive() + if err then return nil, err end + -- unfold any folded values + while string.find(line, "^%s") do + value = value .. line + line = sock:receive() + if err then return nil, err end + end + -- save pair in table + if headers[name] then headers[name] = headers[name] .. ", " .. value + else headers[name] = value end + end + return headers +end + +----------------------------------------------------------------------------- +-- Extra sources and sinks +----------------------------------------------------------------------------- +socket.sourcet["http-chunked"] = function(sock, headers) + return base.setmetatable({ + getfd = function() return sock:getfd() end, + dirty = function() return sock:dirty() end + }, { + __call = function() + -- get chunk size, skip extention + local line, err = sock:receive() + if err then return nil, err end + local size = base.tonumber(string.gsub(line, ";.*", ""), 16) + if not size then return nil, "invalid chunk size" end + -- was it the last chunk? + if size > 0 then + -- if not, get chunk and skip terminating CRLF + local chunk, err, part = sock:receive(size) + if chunk then sock:receive() end + return chunk, err + else + -- if it was, read trailers into headers table + headers, err = receiveheaders(sock, headers) + if not headers then return nil, err end + end + end + }) +end + +socket.sinkt["http-chunked"] = function(sock) + return base.setmetatable({ + getfd = function() return sock:getfd() end, + dirty = function() return sock:dirty() end + }, { + __call = function(self, chunk, err) + if not chunk then return sock:send("0\r\n\r\n") end + local size = string.format("%X\r\n", string.len(chunk)) + return sock:send(size .. chunk .. "\r\n") + end + }) +end + +----------------------------------------------------------------------------- +-- Low level HTTP API +----------------------------------------------------------------------------- +local metat = { __index = {} } + +function open(host, port, create) + -- create socket with user connect function, or with default + local c = socket.try(create or socket.tcp)() + local h = base.setmetatable({ c = c }, metat) + -- create finalized try + h.try = socket.newtry(function() h:close() end) + -- set timeout before connecting + h.try(c:settimeout(TIMEOUT)) + h.try(c:connect(host, port or PORT)) + -- here everything worked + return h +end + +function metat.__index:sendrequestline(method, uri) + local reqline = string.format("%s %s HTTP/1.1\r\n", method or "GET", uri) + return self.try(self.c:send(reqline)) +end + +function metat.__index:sendheaders(headers) + local h = "\r\n" + for i, v in base.pairs(headers) do + h = i .. ": " .. v .. "\r\n" .. h + end + self.try(self.c:send(h)) + return 1 +end + +function metat.__index:sendbody(headers, source, step) + source = source or ltn12.source.empty() + step = step or ltn12.pump.step + -- if we don't know the size in advance, send chunked and hope for the best + local mode = "http-chunked" + if headers["content-length"] then mode = "keep-open" end + return self.try(ltn12.pump.all(source, socket.sink(mode, self.c), step)) +end + +function metat.__index:receivestatusline() + local status = self.try(self.c:receive()) + local code = socket.skip(2, string.find(status, "HTTP/%d*%.%d* (%d%d%d)")) + return self.try(base.tonumber(code), status) +end + +function metat.__index:receiveheaders() + return self.try(receiveheaders(self.c)) +end + +function metat.__index:receivebody(headers, sink, step) + sink = sink or ltn12.sink.null() + step = step or ltn12.pump.step + local length = base.tonumber(headers["content-length"]) + local t = headers["transfer-encoding"] -- shortcut + local mode = "default" -- connection close + if t and t ~= "identity" then mode = "http-chunked" + elseif base.tonumber(headers["content-length"]) then mode = "by-length" end + return self.try(ltn12.pump.all(socket.source(mode, self.c, length), + sink, step)) +end + +function metat.__index:close() + return self.c:close() +end + +----------------------------------------------------------------------------- +-- High level HTTP API +----------------------------------------------------------------------------- +local function adjusturi(reqt) + local u = reqt + -- if there is a proxy, we need the full url. otherwise, just a part. + if not reqt.proxy and not PROXY then + u = { + path = socket.try(reqt.path, "invalid path 'nil'"), + params = reqt.params, + query = reqt.query, + fragment = reqt.fragment + } + end + return url.build(u) +end + +local function adjustproxy(reqt) + local proxy = reqt.proxy or PROXY + if proxy then + proxy = url.parse(proxy) + return proxy.host, proxy.port or 3128 + else + return reqt.host, reqt.port + end +end + +local function adjustheaders(headers, host) + -- default headers + local lower = { + ["user-agent"] = USERAGENT, + ["host"] = host, + ["connection"] = "close, TE", + ["te"] = "trailers" + } + -- override with user headers + for i,v in base.pairs(headers or lower) do + lower[string.lower(i)] = v + end + return lower +end + +-- default url parts +local default = { + host = "", + port = PORT, + path ="/", + scheme = "http" +} + +local function adjustrequest(reqt) + -- parse url if provided + local nreqt = reqt.url and url.parse(reqt.url, default) or {} + local t = url.parse(reqt.url, default) + -- explicit components override url + for i,v in base.pairs(reqt) do nreqt[i] = v end + socket.try(nreqt.host, "invalid host '" .. base.tostring(nreqt.host) .. "'") + -- compute uri if user hasn't overriden + nreqt.uri = reqt.uri or adjusturi(nreqt) + -- ajust host and port if there is a proxy + nreqt.host, nreqt.port = adjustproxy(nreqt) + -- adjust headers in request + nreqt.headers = adjustheaders(nreqt.headers, nreqt.host) + return nreqt +end + +local function shouldredirect(reqt, code, headers) + return headers.location and + string.gsub(headers.location, "%s", "") ~= "" and + (reqt.redirect ~= false) and + (code == 301 or code == 302) and + (not reqt.method or reqt.method == "GET" or reqt.method == "HEAD") + and (not reqt.nredirects or reqt.nredirects < 5) +end + +local function shouldauthorize(reqt, code) + -- if there has been an authorization attempt, it must have failed + if reqt.headers and reqt.headers["authorization"] then return nil end + -- if last attempt didn't fail due to lack of authentication, + -- or we don't have authorization information, we can't retry + return code == 401 and reqt.user and reqt.password +end + +local function shouldreceivebody(reqt, code) + if reqt.method == "HEAD" then return nil end + if code == 204 or code == 304 then return nil end + if code >= 100 and code < 200 then return nil end + return 1 +end + +-- forward declarations +local trequest, tauthorize, tredirect + +function tauthorize(reqt) + local auth = "Basic " .. (mime.b64(reqt.user .. ":" .. reqt.password)) + reqt.headers["authorization"] = auth + return trequest(reqt) +end + +function tredirect(reqt, location) + local result, code, headers, status = trequest { + -- the RFC says the redirect URL has to be absolute, but some + -- servers do not respect that + url = url.absolute(reqt, location), + source = reqt.source, + sink = reqt.sink, + headers = reqt.headers, + proxy = reqt.proxy, + nredirects = (reqt.nredirects or 0) + 1, + connect = reqt.connect + } + -- pass location header back as a hint we redirected + headers.location = headers.location or location + return result, code, headers, status +end + +function trequest(reqt) + reqt = adjustrequest(reqt) + local h = open(reqt.host, reqt.port, reqt.create) + h:sendrequestline(reqt.method, reqt.uri) + h:sendheaders(reqt.headers) + if reqt.source then h:sendbody(reqt.headers, reqt.source, reqt.step) end + local code, headers, status + code, status = h:receivestatusline() + headers = h:receiveheaders() + if shouldredirect(reqt, code, headers) then + h:close() + return tredirect(reqt, headers.location) + elseif shouldauthorize(reqt, code) then + h:close() + return tauthorize(reqt) + elseif shouldreceivebody(reqt, code) then + h:receivebody(headers, reqt.sink, reqt.step) + end + h:close() + return 1, code, headers, status +end + +local function srequest(u, body) + local t = {} + local reqt = { + url = u, + sink = ltn12.sink.table(t) + } + if body then + reqt.source = ltn12.source.string(body) + reqt.headers = { ["content-length"] = string.len(body) } + reqt.method = "POST" + end + local code, headers, status = socket.skip(1, trequest(reqt)) + return table.concat(t), code, headers, status +end + +request = socket.protect(function(reqt, body) + if base.type(reqt) == "string" then return srequest(reqt, body) + else return trequest(reqt) end +end) diff --git a/mods/irc/init.lua b/mods/irc/init.lua new file mode 100644 index 0000000..825253d --- /dev/null +++ b/mods/irc/init.lua @@ -0,0 +1,162 @@ + +-- IRC Mod for Minetest +-- By Diego MartĂ­nez +-- +-- This mod allows to tie a Minetest server to an IRC channel. +-- +-- This program is free software. It comes without any warranty, to +-- the extent permitted by applicable law. You can redistribute it +-- and/or modify it under the terms of the Do What The Fuck You Want +-- To Public License, Version 2, as published by Sam Hocevar. See +-- http://sam.zoy.org/wtfpl/COPYING for more details. +-- + +local MODPATH = minetest.get_modpath("irc"); + +mt_irc = { }; + +dofile(MODPATH.."/config.lua"); + +mt_irc.cur_time = 0; +mt_irc.buffered_messages = { }; +mt_irc.connected_players = { }; +mt_irc.modpath = MODPATH; + +package.path = MODPATH.."/?.lua;"..package.path; +package.cpath = MODPATH.."/lib?.so;"..MODPATH.."/?.dll;"..package.cpath; + +local irc = require 'irc'; + +irc.DEBUG = ((mt_irc.debug and true) or false); + +-- Set defaults if not specified. +if (not mt_irc.server_nick) then + local pr = PseudoRandom(os.time()); + -- Workaround for bad distribution in minetest PRNG implementation. + local fmt = "minetest-%02X%02X%02X%02X"; + mt_irc.server_nick = fmt:format( + pr:next(0, 255), + pr:next(0, 255), + pr:next(0, 255), + pr:next(0, 255) + ); +end +mt_irc.server = (mt_irc.server or "irc.freenode.net"); +mt_irc.port = (mt_irc.port or 6667); +mt_irc.channel = (mt_irc.channel or "##mt-irc-mod"); +mt_irc.dtime = (mt_irc.dtime or 0.2); +mt_irc.timeout = (mt_irc.timeout or 60.0); +mt_irc.message_format_out = (mt_irc.message_format_out or "<$(nick)> $(message)"); +mt_irc.message_format_in = (mt_irc.message_format_in or "<$(name)@IRC[$(channel)]> $(message)"); +if (mt_irc.connect_on_join == nil) then mt_irc.connect_on_join = false; end +if (mt_irc.connect_on_load == nil) then mt_irc.connect_on_load = false; end + +minetest.register_privilege("irc_admin", { + description = "Allow IRC administrative tasks to be performed."; + give_to_singleplayer = true; +}); + +mt_irc.part = function ( name ) + if (not mt_irc.connected_players[name]) then + minetest.chat_send_player(name, "IRC: You are not in the channel."); + return; + end + mt_irc.connected_players[name] = false; + minetest.chat_send_player(name, "IRC: You are now out of the channel."); + --irc.send(mt_irc.channel, name.." is no longer in the channel."); + irc.send(name.." is no longer in the channel."); +end + +mt_irc.join = function ( name ) + local function do_join ( name ) + if (mt_irc.connected_players[name]) then + minetest.chat_send_player(name, "IRC: You are already in the channel."); + return; + end + mt_irc.connected_players[name] = true; + mt_irc.join(mt_irc.channel); + minetest.chat_send_player(name, "IRC: You are now in the channel."); + end + if (not pcall(do_join, name)) then + mt_irc.connected_players[name] = false; + end +end + +mt_irc.connect = function ( ) + mt_irc.connect_ok = irc.connect({ + network = mt_irc.server; + port = mt_irc.port; + nick = mt_irc.server_nick; + pass = mt_irc.password; + timeout = mt_irc.timeout; + channel = mt_irc.channel; + }); + if (not mt_irc.connect_ok) then + local s = "DEBUG: irc.connect failed"; + minetest.debug(s); + minetest.chat_send_all(s); + return; + end + while (not mt_irc.got_motd) do + irc.poll(); + end + + minetest.register_globalstep(function ( dtime ) + if (not mt_irc.connect_ok) then return; end + if (not mt_irc.players_connected) then + for _,player in ipairs(minetest.get_connected_players()) do + mt_irc.connected_players[player:get_player_name()] = mt_irc.auto_join; + end + end + mt_irc.cur_time = mt_irc.cur_time + dtime; + if (mt_irc.cur_time >= mt_irc.dtime) then + if (mt_irc.buffered_messages) then + for _, msg in ipairs(mt_irc.buffered_messages) do + local t = { + name=(msg.name or ""); + message=(msg.message or ""); + }; + local text = mt_irc.message_format_out:expandvars(t); + irc.say(mt_irc.channel, text); + end + mt_irc.buffered_messages = nil; + end + irc.poll(); + mt_irc.cur_time = mt_irc.cur_time - mt_irc.dtime; + --local plys = minetest.get_connected_players(); + --if ((#plys <= 0) and (minetest.is_singleplayer())) then + -- minetest.after(1.0, function ( ) + -- irc.quit("Closing."); + -- end) + --end + end + end); +end + +mt_irc.say = function ( to, msg ) + if (not msg) then + msg = to; + to = mt_irc.channel; + end + to = to or mt_irc.channel; + msg = msg or ""; + irc.say(to, msg); +end + +mt_irc.irc = irc; + +-- Misc helpers + +-- Requested by Exio +string.expandvars = function ( s, vars ) + return s:gsub("%$%(([^)]+)%)", vars); +end + +dofile(MODPATH.."/callback.lua"); +dofile(MODPATH.."/chatcmds.lua"); +dofile(MODPATH.."/botcmds.lua"); +dofile(MODPATH.."/friends.lua"); + +if (mt_irc.auto_connect) then + mt_irc.connect() +end diff --git a/mods/irc/irc.lua b/mods/irc/irc.lua new file mode 100644 index 0000000..b05a7a1 --- /dev/null +++ b/mods/irc/irc.lua @@ -0,0 +1,1023 @@ +--- +-- Implementation of the main LuaIRC module + +-- initialization {{{ +local base = _G +local constants = require 'irc.constants' +local ctcp = require 'irc.ctcp' +local c = ctcp._ctcp_quote +local irc_debug = require 'irc.debug' +local message = require 'irc.message' +local misc = require 'irc.misc' +local socket = require 'socket' +local os = require 'os' +local string = require 'string' +local table = require 'table' +-- }}} + +--- +-- LuaIRC - IRC framework written in Lua +-- @release 0.3 +module 'irc' + +-- constants {{{ +_VERSION = 'LuaIRC 0.3' +-- }}} + +-- classes {{{ +local Channel = base.require 'irc.channel' +-- }}} + +-- local variables {{{ +local irc_sock = nil +local rsockets = {} +local wsockets = {} +local rcallbacks = {} +local wcallbacks = {} +local icallbacks = { + whois = {}, + serverversion = {}, + servertime = {}, + ctcp_ping = {}, + ctcp_time = {}, + ctcp_version = {}, +} +local requestinfo = {whois = {}} +handlers = {} +ctcp_handlers = {} +user_handlers = {} +serverinfo = {} +ip = nil +-- }}} + +-- defaults {{{ +TIMEOUT = 60 -- connection timeout +NETWORK = "localhost" -- default network +PORT = 6667 -- default port +NICK = "luabot" -- default nick +--USERNAME = "LuaIRC" -- default username +USERNAME = "minetest" -- default username +--REALNAME = "LuaIRC" -- default realname +REALNAME = "minetest" -- default realname +DEBUG = false -- whether we want extra debug information +OUTFILE = nil -- file to send debug output to - nil is stdout +-- }}} + +-- private functions {{{ +-- main_loop_iter {{{ +local function main_loop_iter() + if #rsockets == 0 and #wsockets == 0 then return false end + local rready, wready, err = socket.select(rsockets, wsockets) + if err then irc_debug._err(err); return false; end + + for _, sock in base.ipairs(rready) do + local cb = socket.protect(rcallbacks[sock]) + local ret, err = cb(sock) + if not ret then + irc_debug._warn("socket error: " .. err) + _unregister_socket(sock, 'r') + end + end + + for _, sock in base.ipairs(wready) do + local cb = socket.protect(wcallbacks[sock]) + local ret, err = cb(sock) + if not ret then + irc_debug._warn("socket error: " .. err) + _unregister_socket(sock, 'w') + end + end + + return true +end +-- }}} + +-- begin_main_loop {{{ +local function begin_main_loop() + --while main_loop_iter() do end +end +-- }}} + +poll = main_loop_iter; + +-- incoming_message {{{ +local function incoming_message(sock) + local rcvd = { sock:receive() }; + if ((rcvd[1] == nil) and (rcvd[2] == "timeout")) then return true; end + local raw_msg = socket.try(base.unpack(rcvd)) + irc_debug._message("RECV", raw_msg) + local msg = message._parse(raw_msg) + misc._try_call_warn("Unhandled server message: " .. msg.command, + handlers["on_" .. msg.command:lower()], + (misc._parse_user(msg.from)), base.unpack(msg.args)) + return true +end +-- }}} + +-- callback {{{ +local function callback(name, ...) + return misc._try_call(user_handlers[name], ...) +end +-- }}} +-- }}} + +-- internal message handlers {{{ +-- command handlers {{{ +-- on_nick {{{ +function handlers.on_nick(from, new_nick) + for chan in channels() do + chan:_change_nick(from, new_nick) + end + callback("nick_change", new_nick, from) +end +-- }}} + +-- on_join {{{ +function handlers.on_join(from, chan) + chan = string.lower(chan); + base.assert(serverinfo.channels[chan], + "Received join message for unknown channel: " .. chan) + if serverinfo.channels[chan].join_complete then + serverinfo.channels[chan]:_add_user(from) + callback("join", serverinfo.channels[chan], from) + end +end +-- }}} + +-- on_part {{{ +function handlers.on_part(from, chan, part_msg) + -- don't assert on chan here, since we get part messages for ourselves + -- after we remove the channel from the channel list + if not serverinfo.channels[chan] then return end + if serverinfo.channels[chan].join_complete then + serverinfo.channels[chan]:_remove_user(from) + callback("part", serverinfo.channels[chan], from, part_msg) + end +end +-- }}} + +-- on_mode {{{ +function handlers.on_mode(from, to, mode_string, ...) + local dir = mode_string:sub(1, 1) + mode_string = mode_string:sub(2) + local args = {...} + to = string.lower(to); + + if to:sub(1, 1) == "#" then + -- handle channel mode requests {{{ + base.assert(serverinfo.channels[to], + "Received mode change for unknown channel: " .. to) + local chan = serverinfo.channels[to] + local ind = 1 + for i = 1, mode_string:len() do + local mode = mode_string:sub(i, i) + local target = args[ind] + -- channel modes other than op/voice will be implemented as + -- information request commands + if mode == "o" then -- channel op {{{ + chan:_change_status(target, dir == "+", "o") + callback(({["+"] = "op", ["-"] = "deop"})[dir], + chan, from, target) + ind = ind + 1 + -- }}} + elseif mode == "v" then -- voice {{{ + chan:_change_status(target, dir == "+", "v") + callback(({["+"] = "voice", ["-"] = "devoice"})[dir], + chan, from, target) + ind = ind + 1 + -- }}} + end + end + -- }}} + elseif from == to then + -- handle user mode requests {{{ + -- TODO: make users more easily accessible so this is actually + -- reasonably possible + for i = 1, mode_string:len() do + local mode = mode_string:sub(i, i) + if mode == "i" then -- invisible {{{ + -- }}} + elseif mode == "s" then -- server messages {{{ + -- }}} + elseif mode == "w" then -- wallops messages {{{ + -- }}} + elseif mode == "o" then -- ircop {{{ + -- }}} + end + end + -- }}} + end +end +-- }}} + +-- on_topic {{{ +function handlers.on_topic(from, chan, new_topic) + chan = string.lower(chan); + base.assert(serverinfo.channels[chan], + "Received topic message for unknown channel: " .. chan) + serverinfo.channels[chan]._topic.text = new_topic + serverinfo.channels[chan]._topic.user = from + serverinfo.channels[chan]._topic.time = os.time() + if serverinfo.channels[chan].join_complete then + callback("topic_change", serverinfo.channels[chan]) + end +end +-- }}} + +-- on_invite {{{ +function handlers.on_invite(from, to, chan) + chan = string.lower(chan); + callback("invite", from, chan) +end +-- }}} + +-- on_kick {{{ +function handlers.on_kick(from, chan, to) + chan = string.lower(chan); + base.assert(serverinfo.channels[chan], + "Received kick message for unknown channel: " .. chan) + if serverinfo.channels[chan].join_complete then + serverinfo.channels[chan]:_remove_user(to) + callback("kick", serverinfo.channels[chan], to, from) + end +end +-- }}} + +-- on_privmsg {{{ +function handlers.on_privmsg(from, to, msg) + local msgs = ctcp._ctcp_split(msg) + to = string.lower(to); + for _, v in base.ipairs(msgs) do + local msg = v.str + if v.ctcp then + -- ctcp message {{{ + local words = misc._split(msg) + local received_command = words[1] + local cb = "on_" .. received_command:lower() + table.remove(words, 1) + -- not using try_call here because the ctcp specification requires + -- an error response to nonexistant commands + if base.type(ctcp_handlers[cb]) == "function" then + ctcp_handlers[cb](from, to, table.concat(words, " ")) + else + notice(from, c("ERRMSG", received_command, ":Unknown query")) + end + -- }}} + else + -- normal message {{{ + if to:sub(1, 1) == "#" then + base.assert(serverinfo.channels[to], + "Received channel msg from unknown channel: " .. to) + callback("channel_msg", serverinfo.channels[to], from, msg) + else + callback("private_msg", from, msg) + end + -- }}} + end + end +end +-- }}} + +-- on_notice {{{ +function handlers.on_notice(from, to, msg) + local msgs = ctcp._ctcp_split(msg) + to = string.lower(to); + for _, v in base.ipairs(msgs) do + local msg = v.str + if v.ctcp then + -- ctcp message {{{ + local words = misc._split(msg) + local command = words[1]:lower() + table.remove(words, 1) + misc._try_call_warn("Unknown CTCP message: " .. command, + ctcp_handlers["on_rpl_"..command], from, to, + table.concat(words, ' ')) + -- }}} + else + -- normal message {{{ + if to:sub(1, 1) == "#" then + base.assert(serverinfo.channels[to], + "Received channel msg from unknown channel: " .. to) + callback("channel_notice", serverinfo.channels[to], from, msg) + else + callback("private_notice", from, msg) + end + -- }}} + end + end +end +-- }}} + +-- on_quit {{{ +function handlers.on_quit(from, quit_msg) + from = string.lower(from); + for name, chan in base.pairs(serverinfo.channels) do + chan:_remove_user(from) + end + callback("quit", from, quit_msg) +end +-- }}} + +-- on_ping {{{ +-- respond to server pings to make sure it knows we are alive +function handlers.on_ping(from, respond_to) + send("PONG", respond_to) +end +-- }}} +-- }}} + +-- server replies {{{ +-- on_rpl_topic {{{ +-- catch topic changes +function handlers.on_rpl_topic(from, chan, topic) + chan = string.lower(chan); + base.assert(serverinfo.channels[chan], + "Received topic information about unknown channel: " .. chan) + serverinfo.channels[chan]._topic.text = topic +end +-- }}} + +-- on_rpl_notopic {{{ +function handlers.on_rpl_notopic(from, chan) + chan = string.lower(chan); + base.assert(serverinfo.channels[chan], + "Received topic information about unknown channel: " .. chan) + serverinfo.channels[chan]._topic.text = "" +end +-- }}} + +-- on_rpl_topicdate {{{ +-- "topic was set by at