diff options
133 files changed, 8829 insertions, 109 deletions
diff --git a/extranodes/aspirin.lua b/extranodes/aspirin.lua new file mode 100644 index 0000000..a9ddad8 --- /dev/null +++ b/extranodes/aspirin.lua @@ -0,0 +1,41 @@ +-- aspirin + +-- makes any sence only when there is hunger as a separate status of the player +-- also it uses willow twigs - ethereal dependency +-- A bottle of aspirin pills heals the player immediately. + +local S = rawget(_G, "intllib") and intllib.Getter() or function(s) return s end + +if minetest.get_modpath("hunger") and minetest.get_modpath("ethereal") then + + minetest.register_craftitem(":technic:aspirin_pill", { + description = S("Aspirin pill"), + inventory_image = "technic_aspirin_pill.png", + on_use = function(itemstack, user, pointed_thing) + user:set_hp(user:get_hp() + 2) + itemstack:take_item() + return itemstack + end + }) + + minetest.register_craftitem(":technic:aspirin_bottle", { + description = S("Aspirin pills"), + inventory_image = "technic_aspirin_bottle.png", + on_use = function(itemstack, user, pointed_thing) + user:set_hp(20) + itemstack:take_item() + return itemstack + end + }) + + minetest.register_craft({ + type = "shapeless", + output = "technic:aspirin_bottle", + recipe = {"technic:aspirin_pill", "technic:aspirin_pill", + "technic:aspirin_pill", "technic:aspirin_pill", + "technic:aspirin_pill", "technic:aspirin_pill", + "technic:aspirin_pill", "vessels:glass_bottle"} + }) + +end + diff --git a/extranodes/depends.txt b/extranodes/depends.txt index 15b9ef5..fa27879 100644 --- a/extranodes/depends.txt +++ b/extranodes/depends.txt @@ -1,4 +1,7 @@ default +technic? +pipeworks? +mesecons? technic_worldgen concrete unifieddyes? diff --git a/extranodes/extramesecons.lua b/extranodes/extramesecons.lua new file mode 100644 index 0000000..05581c5 --- /dev/null +++ b/extranodes/extramesecons.lua @@ -0,0 +1,63 @@ +local S = rawget(_G, "intllib") and intllib.Getter() or function(s) return s end + +if minetest.get_modpath("mesecons") then + + mesecon.register_node("extranodes:mesecon_switch_protected", { + paramtype2="facedir", + description="Switch (protected)", + is_ground_content = false, + sounds = default.node_sound_stone_defaults(), + after_place_node = function(pos, placer, itemstack, pointed_thing) + local meta = minetest.get_meta(pos) + meta:set_string("owner", placer:get_player_name() or "") + end, + on_rightclick = function (pos, node, player) + local meta = minetest.get_meta(pos) + local owner = meta:get_string("owner") + local pname = player:get_player_name(); + if owner ~= pname then + minetest.chat_send_player(pname, "This switch can only be used by " .. owner) + return + end + if(mesecon.flipstate(pos, node) == "on") then + mesecon.receptor_on(pos) + else + mesecon.receptor_off(pos) + end + minetest.sound_play("mesecons_switch", {pos=pos}) + end + },{ + groups = {dig_immediate=2}, + tiles = { "mesecons_switch_side.png", + "mesecons_switch_side.png", + "mesecons_switch_side.png^default_key.png^[transformR180", + "mesecons_switch_side.png^default_key.png^[transformR180FX", + "mesecons_switch_side.png", + "mesecons_switch_off.png^mesecons_switch_locked_frame.png"}, + mesecons = {receptor = { state = mesecon.state.off }} + },{ + groups = {dig_immediate=2, not_in_creative_inventory=1}, + tiles = { "mesecons_switch_side.png", + "mesecons_switch_side.png", + "mesecons_switch_side.png^default_key.png^[transformR180", + "mesecons_switch_side.png^default_key.png^[transformR180FX", + "mesecons_switch_side.png", + "mesecons_switch_on.png^mesecons_switch_locked_frame.png"}, + mesecons = {receptor = { state = mesecon.state.on }} + }) + + minetest.register_craft({ + output = "extranodes:mesecon_switch_protected_off 2", + recipe = { + {"default:steel_ingot", "default:cobble", "default:steel_ingot"}, + {"group:mesecon_conductor_craftable","default:skeleton_key", "group:mesecon_conductor_craftable"}, + } + }) + + minetest.register_craft({ + output = "extranodes:mesecon_switch_protected_off", + type = "shapeless", + recipe = {"default:skeleton_key", "mesecons_switch:mesecon_switch_off"} + }) + +end
\ No newline at end of file diff --git a/extranodes/extratubes.lua b/extranodes/extratubes.lua new file mode 100644 index 0000000..e624c87 --- /dev/null +++ b/extranodes/extratubes.lua @@ -0,0 +1,241 @@ +-- EXTRATUBES +-- This files add some new tube types, to widen the pipeworks mod assortment of +-- available parts in order to better meet the needs of expansive automation +local S = rawget(_G, "intllib") and intllib.Getter() or function(s) return s end + +if minetest.get_modpath("pipeworks") then + + --------------------------------------------------------------------- + -- straight-only pipe + -- does not connect side-wise, allows items in both directions + -- a counterpart to straight-only pipe, and a cheap alternative + -- to one-way tube for long segments of parallel pipes + --------------------------------------------------------------------- + + minetest.register_node(":pipeworks:straight_tube", { + description = S("Straight-only Tube"), + tiles = {"pipeworks_straight_tube_side.png", + "pipeworks_straight_tube_side.png", + "pipeworks_straight_tube_output.png", + "pipeworks_straight_tube_input.png", + "pipeworks_straight_tube_side.png", + "pipeworks_straight_tube_side.png"}, + paramtype2 = "facedir", + drawtype = "nodebox", + paramtype = "light", + node_box = {type = "fixed", + fixed = {{-1/2, -9/64, -9/64, 1/2, 9/64, 9/64}}}, + groups = {snappy = 2, choppy = 2, oddly_breakable_by_hand = 2, tubedevice = 1}, + sounds = default.node_sound_wood_defaults(), + tube = { + connect_sides = {left = 1, right = 1}, + can_go = function(pos, node, velocity, stack) + return {velocity} + end, + can_insert = function(pos, node, stack, direction) + local dir = pipeworks.facedir_to_right_dir(node.param2) + local opdir = vector.multiply(dir, -1) + return vector.equals(dir, direction) or vector.equals(opdir, direction) + end, + priority = 60 -- Higher than normal tubes, but lower than one-way tubes + }, + after_place_node = pipeworks.after_place, + after_dig_node = pipeworks.after_dig, + }) + + minetest.register_craft({ + output = "pipeworks:straight_tube 3", + recipe = { + { "pipeworks:tube_1", "pipeworks:tube_1", "pipeworks:tube_1" }, + }, + }) + + + --------------------------------------------------------------------- + -- conducting one-way tube - to stop making those ugly shunting wires + --------------------------------------------------------------------- + + + if pipeworks.enable_one_way_tube and pipeworks.enable_conductor_tube then + minetest.register_node(":pipeworks:conductor_one_way_tube_on", { + description = S("One-way Conducting Tube"), + tiles = {"pipeworks_conductor_one_way_tube_top_on.png", + "pipeworks_conductor_one_way_tube_top_on.png", + "pipeworks_conductor_one_way_tube_output_on.png", + "pipeworks_conductor_one_way_tube_input_on.png", + "pipeworks_conductor_one_way_tube_side_on.png", + "pipeworks_conductor_one_way_tube_top_on.png"}, + paramtype2 = "facedir", + drawtype = "nodebox", + paramtype = "light", + node_box = {type = "fixed", + fixed = {{-1/2, -9/64, -9/64, 1/2, 9/64, 9/64}}}, + groups = {snappy = 2, choppy = 2, oddly_breakable_by_hand = 2, tubedevice = 1, mesecon = 2, not_in_creative_inventory = 1}, + sounds = default.node_sound_wood_defaults(), + tube = { + connect_sides = {left = 1, right = 1}, + can_go = function(pos, node, velocity, stack) + return {velocity} + end, + can_insert = function(pos, node, stack, direction) + local dir = pipeworks.facedir_to_right_dir(node.param2) + return vector.equals(dir, direction) + end, + priority = 75 -- Higher than normal tubes, but lower than receivers + }, + after_place_node = pipeworks.after_place, + after_dig_node = pipeworks.after_dig, + mesecons = { + conductor = {state = mesecon.state.on, + rules = pipeworks.mesecons_rules, + onstate = "pipeworks:conductor_one_way_tube_on", + offstate = "pipeworks:conductor_one_way_tube_off" + } + }, + drop = "pipeworks:conductor_one_way_tube_off", + }) + + minetest.register_node(":pipeworks:conductor_one_way_tube_off", { + description = S("One-way Conducting Tube"), + tiles = {"pipeworks_conductor_one_way_tube_top_off.png", + "pipeworks_conductor_one_way_tube_top_off.png", + "pipeworks_conductor_one_way_tube_output_off.png", + "pipeworks_conductor_one_way_tube_input_off.png", + "pipeworks_conductor_one_way_tube_side_off.png", + "pipeworks_conductor_one_way_tube_top_off.png"}, + paramtype2 = "facedir", + drawtype = "nodebox", + paramtype = "light", + node_box = {type = "fixed", + fixed = {{-1/2, -9/64, -9/64, 1/2, 9/64, 9/64}}}, + groups = {snappy = 2, choppy = 2, oddly_breakable_by_hand = 2, tubedevice = 1, mesecon = 2}, + sounds = default.node_sound_wood_defaults(), + tube = { + connect_sides = {left = 1, right = 1}, + can_go = function(pos, node, velocity, stack) + return {velocity} + end, + can_insert = function(pos, node, stack, direction) + local dir = pipeworks.facedir_to_right_dir(node.param2) + return vector.equals(dir, direction) + end, + priority = 75 -- Higher than normal tubes, but lower than receivers + }, + after_place_node = pipeworks.after_place, + after_dig_node = pipeworks.after_dig, + mesecons = { + conductor = {state = mesecon.state.off, + rules = pipeworks.mesecons_rules, + onstate = "pipeworks:conductor_one_way_tube_on", + offstate = "pipeworks:conductor_one_way_tube_off" + } + }, + drop = "pipeworks:conductor_one_way_tube_off", + }) + + minetest.register_craft({ + output = "pipeworks:conductor_one_way_tube_off", + recipe = { + { "pipeworks:one_way_tube", "mesecons:wire_00000000_off"} + }, + }) + end + + --------------------------------------------------------------------- + -- mesecon-controlled valve (bidirectional) + --------------------------------------------------------------------- + + minetest.register_node(":pipeworks:tube_valve_on", { + description = S("Tube Valve"), + tiles = {"pipeworks_tube_valve_side_on.png", + "pipeworks_tube_valve_side_on.png", + "pipeworks_straight_tube_output.png", + "pipeworks_straight_tube_input.png", + "pipeworks_tube_valve_side_on.png", + "pipeworks_tube_valve_side_on.png"}, + paramtype2 = "facedir", + drawtype = "nodebox", + paramtype = "light", + node_box = {type = "fixed", + fixed = {{-1/2, -9/64, -9/64, 1/2, 9/64, 9/64}}}, + groups = {snappy = 2, choppy = 2, oddly_breakable_by_hand = 2, tubedevice = 1, mesecon = 2, not_in_creative_inventory = 1}, + sounds = default.node_sound_wood_defaults(), + tube = { + connect_sides = {left = 1, right = 1}, + can_go = function(pos, node, velocity, stack) + return {velocity} + end, + can_insert = function(pos, node, stack, direction) + local dir = pipeworks.facedir_to_right_dir(node.param2) + local opdir = vector.multiply(dir, -1) + return vector.equals(dir, direction) or vector.equals(opdir, direction) + end, + priority = 50 -- regular tube + }, + after_place_node = pipeworks.after_place, + after_dig_node = pipeworks.after_dig, + mesecons = { + effector = { + rules = pipeworks.mesecons_rules, + action_on = function (pos, node) + minetest.swap_node(pos, {name = "pipeworks:tube_valve_on", param2 = node.param2 }) + end, + action_off = function (pos, node) + minetest.swap_node(pos, {name = "pipeworks:tube_valve_off", param2 = node.param2 }) + end, + } + }, + drop = "pipeworks:tube_valve_off", + }) + + minetest.register_node(":pipeworks:tube_valve_off", { + description = S("Tube Valve"), + tiles = {"pipeworks_tube_valve_side_off.png", + "pipeworks_tube_valve_side_off.png", + "pipeworks_straight_tube_output.png", + "pipeworks_straight_tube_input.png", + "pipeworks_tube_valve_side_off.png", + "pipeworks_tube_valve_side_off.png"}, + paramtype2 = "facedir", + drawtype = "nodebox", + paramtype = "light", + node_box = {type = "fixed", + fixed = {{-1/2, -9/64, -9/64, 1/2, 9/64, 9/64}}}, + groups = {snappy = 2, choppy = 2, oddly_breakable_by_hand = 2, tubedevice = 1, mesecon = 2}, + sounds = default.node_sound_wood_defaults(), + tube = { + connect_sides = {left = 1, right = 1}, + can_go = function(pos, node, velocity, stack) + return {velocity} + end, + can_insert = function(pos, node, stack, direction) + return false + end, + priority = 50 -- regular tube + }, + after_place_node = pipeworks.after_place, + after_dig_node = pipeworks.after_dig, + mesecons = { + effector = { + rules = pipeworks.mesecons_rules, + action_on = function (pos, node) + minetest.swap_node(pos, {name = "pipeworks:tube_valve_on", param2 = node.param2 }) + end, + action_off = function (pos, node) + minetest.swap_node(pos, {name = "pipeworks:tube_valve_off", param2 = node.param2 }) + end, + } + }, + drop = "pipeworks:tube_valve_off", + }) + + minetest.register_craft({ + output = "pipeworks:tube_valve_off 2", + recipe = { + { "pipeworks:tube_1", "homedecor:plastic_sheeting", "pipeworks:tube_1"}, + { "", "mesecons:wire_00000000_off", ""} + }, + }) + + +end
\ No newline at end of file diff --git a/extranodes/init.lua b/extranodes/init.lua index eb54067..69cb820 100644 --- a/extranodes/init.lua +++ b/extranodes/init.lua @@ -3,6 +3,23 @@ -- Boilerplate to support localized strings if intllib mod is installed. local S = rawget(_G, "intllib") and intllib.Getter() or function(s) return s end +-- some extras to the extras +local path = string.gsub(technic.modpath, "technic/technic", "technic/extranodes") +dofile(path.."/aspirin.lua") +dofile(path.."/trampoline.lua") +dofile(path.."/extratubes.lua") +dofile(path.."/extramesecons.lua") +dofile(path.."/lox.lua") + +if minetest.get_modpath("bakedclay") then + -- bring back them sticks + minetest.register_craft( { + type = "shapeless", + output = "default:stick", + recipe = {"default:dry_shrub"} + }) +end + if minetest.get_modpath("moreblocks") then -- register stairsplus/circular_saw nodes @@ -107,6 +124,7 @@ local iclip_def = { drawtype = "mesh", mesh = "technic_insulator_clip.obj", tiles = {"technic_insulator_clip.png"}, + paramtype2 = "facedir", is_ground_content = false, groups = {choppy=1, snappy=1, oddly_breakable_by_hand=1 }, sounds = default.node_sound_stone_defaults(), @@ -185,3 +203,69 @@ minetest.register_craft({ { "technic:raw_latex", "default:fence_wood", "technic:raw_latex"}, } }) + +-- Artificial diamonds + +minetest.register_craftitem(":technic:diamond_seed", { + description = S("Diamond Seed"), + inventory_image = "technic_diamond_seed.png", +}) + +minetest.register_craft({ + type = "cooking", + output = "technic:diamond_seed", + recipe = "technic:graphite" +}) + +-- Cotton seed oil: fuel and fertilizer + +if minetest.get_modpath("farming") then + if minetest.get_modpath("bonemeal") then + minetest.register_craftitem(":technic:cottonseed_oil", { + description = S("Cottonseed Oil"), + inventory_image = "technic_cottonseed_oil.png", + on_use = function(itemstack, user, pointed_thing) + if pointed_thing.type ~= "node" then + return + end + if minetest.is_protected(pointed_thing.under, user:get_player_name()) then + return + end + if not is_creative(user:get_player_name()) then + itemstack:take_item() + end + bonemeal:on_use(pointed_thing.under, 4) + return itemstack + end, + }) + else + minetest.register_craftitem(":technic:cottonseed_oil", { + description = S("Cottonseed Oil"), + inventory_image = "technic_cottonseed_oil.png", + }) + end + + minetest.register_craft({ + type = "fuel", + recipe = "technic:cottonseed_oil", + burntime = 20, + }) + +end + + +-- -- Additional recipe for straw blocks out of straw mat from cottages (if present) +-- -- not to let the centifuge output go to waste, since farming:straw can be used with a saw... +-- +-- if minetest.get_modpath("cottages") and minetest.get_modpath("farming") then +-- minetest.register_craft({ +-- output = "farming:straw 2", +-- recipe = { +-- { "cottages:straw_mat", "cottages:straw_mat", "cottages:straw_mat" }, +-- { "cottages:straw_mat", "cottages:straw_mat", "cottages:straw_mat" }, +-- { "cottages:straw_mat", "cottages:straw_mat", "cottages:straw_mat" }, +-- } +-- }) +-- end + + diff --git a/extranodes/lox.lua b/extranodes/lox.lua new file mode 100644 index 0000000..3aaadee --- /dev/null +++ b/extranodes/lox.lua @@ -0,0 +1,194 @@ +-- An small arsenal of tools to battle the lava craters + + +local S = rawget(_G, "intllib") and intllib.Getter() or function(s) return s end + +local freezing_rules = { + ["default:water_source"] = "default:ice", + ["default:water_flowing"] = "default:snowblock", + ["default:river_water_source"] = "default:ice", + ["default:river_water_flowing"] = "default:snowblock", + ["default:lava_source"] = "default:obsidian", + ["default:lava_flowing"] = "default:stone", + ["fire:basic_flame"] = "air", + ["default:dirt"] = "default:dirt_with_snow", + ["ethereal:fiery_dirt"] = "default:dirt_with_snow", + ["ethereal:mushroom_dirt"] = "default:dirt_with_snow", +} + +local function freeze(user, pos, radius) + + -- if the function is used by a node: user is a string + -- if it's called by an item, user is a PlayerRef + + if type(user) == 'string' then + if minetest.is_protected(pos, user) then + minetest.record_protection_violation(pos, user) + return + end + else + if minetest.is_protected(pos, user:get_player_name()) then + minetest.record_protection_violation(pos, user:get_player_name()) + return + end + end + + local loc = {} + local wrk = false + -- R = 2, d = 3 + -- R = 10, d = 5 + local depth = math.floor(0.25*radius+2.5) + + for y = 0,depth,1 do + for x = -radius,radius,1 do + for z = -radius,radius,1 do + loc = {x = pos.x - x, y = pos.y - y, z = pos.z - z} + if freezing_rules[minetest.get_node(loc).name] then + wrk = true + minetest.swap_node(loc, {name = freezing_rules[minetest.get_node(loc).name]}) + end + if math.random(1,5) == 5 then + if minetest.get_node({x = loc.x, y = loc.y+1, z = loc.z}).name == "air" + and minetest.get_node(loc).name ~= "air" + and minetest.get_node(loc).name ~= "stairs:slab_snowblock" then + minetest.set_node({x = loc.x, y = loc.y+1, z = loc.z}, {name = "stairs:slab_snowblock"}) + end + end + end + end + end + + if wrk then + minetest.sound_play("default_cool_lava", {gain = 1, pos = pos}) + end + + return true + +end + +minetest.register_craftitem(":technic:lox", { + description = S("Liquid Oxygen"), + tiles = {"technic_lox.png"}, + inventory_image = "technic_lox.png", + wield_image = "technic_lox.png", + paramtype = "light", + is_ground_content = false, + walkable = false, + liquids_pointable = true, + selection_box = { + type = "fixed", + fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25} + }, + groups = {vessel = 1, dig_immediate = 3, attached_node = 1}, + sounds = default.node_sound_defaults(), + on_use = function(itemstack, user, pointed_thing) + if pointed_thing.type ~= "node" then + return itemstack + end + + itemstack:take_item() + + freeze(user, pointed_thing.under, 2) + + local uinv = user:get_inventory() + if uinv:room_for_item("main", "vessels:steel_bottle 1") then + uinv:add_item("main", "vessels:steel_bottle 1") + else + minetest.item_drop(ItemStack("vessels:steel_bottle 1"), user, user:getpos()) + end + + user:set_hp(user:get_hp() - 1) + + return itemstack + end +}) + +minetest.register_node(":technic:fbomb", { + description = S("F-Bomb"), + tiles = {"technic_fbomb.png"}, + paramtype = "light", + is_ground_content = false, + walkable = false, + selection_box = { + type = "fixed", + fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25} + }, + groups = {dig_immediate = 2, falling_node = 1}, + sounds = default.node_sound_defaults(), + on_punch = function(pos, node, player, pointed_thing) + minetest.remove_node(pos) + minetest.place_node(pos, {name="technic:fbombact"}) + local nm = minetest.get_meta(pos) + nm:set_string("player", player:get_player_name()) + end +}) + +minetest.register_node(":technic:fbombact", { + description = S("F-Bomb Active"), + tiles = {"technic_fbombact.png"}, + paramtype = "light", + is_ground_content = false, + walkable = false, + light_source = 3, + selection_box = { + type = "fixed", + fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25} + }, + groups = {falling_node = 1, cracky = 1, not_in_creative_inventory = 1}, + sounds = default.node_sound_defaults(), + on_construct = function(pos) + local nm = minetest.get_meta(pos) + local id = minetest.add_particlespawner({ + amount = 30, + time = 0, + minpos = pos, + maxpos = pos, + minvel = {x=-2, y=0, z=-2}, + maxvel = {x=2, y=0, z=2}, + minacc = {x=0, y=0, z=0}, + maxacc = {x=0.5, y=0, z=0.5}, + minexptime = 1, + maxexptime = 5, + minsize = 1, + maxsize = 4, + collisiondetection = false, + vertical = false, + texture = "technic_snowflake.png", + glow = 2 + }) + nm:set_int("id", id) + local tm = minetest.get_node_timer(pos) + tm:start(5) + end, + on_timer = function(pos, elapsed) + local nm = minetest.get_meta(pos) + local pn = nm:get_string("player") + freeze(pn, pos, 10) + minetest.remove_node(pos) + return false + end, + on_destruct = function(pos) + local nm = minetest.get_meta(pos) + if (nm:get_int("id")) then + minetest.delete_particlespawner(nm:get_int("id")) + end + end, + drop = "technic:fbomb" + +}) + +minetest.register_craft({ + output = "technic:fbomb 3", + recipe = { + { "technic:lox", "tnt:tnt", "technic:lox"}, + { "tnt:tnt", "technic:lox", "tnt:tnt"}, + { "technic:lox", "tnt:tnt", "technic:lox"} + }, + }) + +-- since there will be a significant surplus of snow slabs, a recipe for recycling is in order +minetest.register_craft({ + output = "default:snowblock", + type = "shapeless", + recipe = { "stairs:slab_snowblock", "stairs:slab_snowblock" }, + })
\ No newline at end of file diff --git a/extranodes/textures/mesecons_switch_locked_frame.png b/extranodes/textures/mesecons_switch_locked_frame.png Binary files differnew file mode 100644 index 0000000..239f97e --- /dev/null +++ b/extranodes/textures/mesecons_switch_locked_frame.png diff --git a/extranodes/textures/pipeworks_conductor_one_way_tube_input_off.png b/extranodes/textures/pipeworks_conductor_one_way_tube_input_off.png Binary files differnew file mode 100644 index 0000000..8f77487 --- /dev/null +++ b/extranodes/textures/pipeworks_conductor_one_way_tube_input_off.png diff --git a/extranodes/textures/pipeworks_conductor_one_way_tube_input_on.png b/extranodes/textures/pipeworks_conductor_one_way_tube_input_on.png Binary files differnew file mode 100644 index 0000000..85b20aa --- /dev/null +++ b/extranodes/textures/pipeworks_conductor_one_way_tube_input_on.png diff --git a/extranodes/textures/pipeworks_conductor_one_way_tube_output_off.png b/extranodes/textures/pipeworks_conductor_one_way_tube_output_off.png Binary files differnew file mode 100644 index 0000000..8f77487 --- /dev/null +++ b/extranodes/textures/pipeworks_conductor_one_way_tube_output_off.png diff --git a/extranodes/textures/pipeworks_conductor_one_way_tube_output_on.png b/extranodes/textures/pipeworks_conductor_one_way_tube_output_on.png Binary files differnew file mode 100644 index 0000000..85b20aa --- /dev/null +++ b/extranodes/textures/pipeworks_conductor_one_way_tube_output_on.png diff --git a/extranodes/textures/pipeworks_conductor_one_way_tube_side_off.png b/extranodes/textures/pipeworks_conductor_one_way_tube_side_off.png Binary files differnew file mode 100644 index 0000000..beab600 --- /dev/null +++ b/extranodes/textures/pipeworks_conductor_one_way_tube_side_off.png diff --git a/extranodes/textures/pipeworks_conductor_one_way_tube_side_on.png b/extranodes/textures/pipeworks_conductor_one_way_tube_side_on.png Binary files differnew file mode 100644 index 0000000..c0150e2 --- /dev/null +++ b/extranodes/textures/pipeworks_conductor_one_way_tube_side_on.png diff --git a/extranodes/textures/pipeworks_conductor_one_way_tube_top_off.png b/extranodes/textures/pipeworks_conductor_one_way_tube_top_off.png Binary files differnew file mode 100644 index 0000000..36c7684 --- /dev/null +++ b/extranodes/textures/pipeworks_conductor_one_way_tube_top_off.png diff --git a/extranodes/textures/pipeworks_conductor_one_way_tube_top_on.png b/extranodes/textures/pipeworks_conductor_one_way_tube_top_on.png Binary files differnew file mode 100644 index 0000000..080c09c --- /dev/null +++ b/extranodes/textures/pipeworks_conductor_one_way_tube_top_on.png diff --git a/extranodes/textures/pipeworks_straight_tube_input.png b/extranodes/textures/pipeworks_straight_tube_input.png Binary files differnew file mode 100644 index 0000000..8490858 --- /dev/null +++ b/extranodes/textures/pipeworks_straight_tube_input.png diff --git a/extranodes/textures/pipeworks_straight_tube_output.png b/extranodes/textures/pipeworks_straight_tube_output.png Binary files differnew file mode 100644 index 0000000..8490858 --- /dev/null +++ b/extranodes/textures/pipeworks_straight_tube_output.png diff --git a/extranodes/textures/pipeworks_straight_tube_side.png b/extranodes/textures/pipeworks_straight_tube_side.png Binary files differnew file mode 100644 index 0000000..4e03b3d --- /dev/null +++ b/extranodes/textures/pipeworks_straight_tube_side.png diff --git a/extranodes/textures/pipeworks_tube_valve_side_off.png b/extranodes/textures/pipeworks_tube_valve_side_off.png Binary files differnew file mode 100644 index 0000000..56186e6 --- /dev/null +++ b/extranodes/textures/pipeworks_tube_valve_side_off.png diff --git a/extranodes/textures/pipeworks_tube_valve_side_on.png b/extranodes/textures/pipeworks_tube_valve_side_on.png Binary files differnew file mode 100644 index 0000000..f25ad9c --- /dev/null +++ b/extranodes/textures/pipeworks_tube_valve_side_on.png diff --git a/extranodes/textures/technic_aspirin_bottle.png b/extranodes/textures/technic_aspirin_bottle.png Binary files differnew file mode 100644 index 0000000..64c2b03 --- /dev/null +++ b/extranodes/textures/technic_aspirin_bottle.png diff --git a/extranodes/textures/technic_aspirin_pill.png b/extranodes/textures/technic_aspirin_pill.png Binary files differnew file mode 100644 index 0000000..f7fccb8 --- /dev/null +++ b/extranodes/textures/technic_aspirin_pill.png diff --git a/extranodes/textures/technic_cottonseed_oil.png b/extranodes/textures/technic_cottonseed_oil.png Binary files differnew file mode 100644 index 0000000..be4550e --- /dev/null +++ b/extranodes/textures/technic_cottonseed_oil.png diff --git a/extranodes/textures/technic_fbomb.png b/extranodes/textures/technic_fbomb.png Binary files differnew file mode 100644 index 0000000..edae1a1 --- /dev/null +++ b/extranodes/textures/technic_fbomb.png diff --git a/extranodes/textures/technic_fbombact.png b/extranodes/textures/technic_fbombact.png Binary files differnew file mode 100644 index 0000000..061f23f --- /dev/null +++ b/extranodes/textures/technic_fbombact.png diff --git a/extranodes/textures/technic_lox.png b/extranodes/textures/technic_lox.png Binary files differnew file mode 100644 index 0000000..341cba3 --- /dev/null +++ b/extranodes/textures/technic_lox.png diff --git a/extranodes/textures/technic_snowflake.png b/extranodes/textures/technic_snowflake.png Binary files differnew file mode 100644 index 0000000..1e039af --- /dev/null +++ b/extranodes/textures/technic_snowflake.png diff --git a/extranodes/trampoline.lua b/extranodes/trampoline.lua new file mode 100644 index 0000000..d36e356 --- /dev/null +++ b/extranodes/trampoline.lua @@ -0,0 +1,94 @@ +-- bouncy-bouncy +-- this adds two useful kinds of nodes. Two fall damage dampeners (50% and 100%) +-- and a trampoline. Unlike on the mushroom spores from ethereal, players can +-- freely jump on the dampeners. +-- The latex foam adds use to sulphur, and may be employed for something else later. + +local S = rawget(_G, "intllib") and intllib.Getter() or function(s) return s end + + +minetest.register_craftitem(":technic:latex_foam", { + description = S("Latex Foam"), + inventory_image = "technic_latex_foam.png", +}) + +minetest.register_node(":technic:fall_dampener_50", { + description = S("Fall Dampener 50%"), + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = {-0.5,-0.5,-0.5,0.5,0,0.5} + }, + collision_box = { + type = "fixed", + fixed = {-0.5,-0.5,-0.5,0.5,0,0.5} + }, + selection_box = { + type = "fixed", + fixed = {-0.5,-0.5,-0.5,0.5,0,0.5} + }, + tiles = { "technic_fall_dampener_top.png", + "technic_fall_dampener_bottom.png", + "technic_fall_dampener_side.png", + "technic_fall_dampener_side.png", + "technic_fall_dampener_side.png", + "technic_fall_dampener_side.png"}, + groups = {crumbly = 3, fall_damage_add_percent = -50}, + sounds = default.node_sound_dirt_defaults(), +}) + +minetest.register_node(":technic:fall_dampener_100", { + description = S("Fall Dampener 100%"), + drawtype = "normal", + tiles = {"technic_fall_dampener_top.png", + "technic_fall_dampener_bottom.png", + "technic_fall_dampener_side.png", + "technic_fall_dampener_side.png", + "technic_fall_dampener_side.png", + "technic_fall_dampener_side.png"}, + groups = {crumbly = 3, fall_damage_add_percent = -100}, + sounds = default.node_sound_dirt_defaults(), +}) + +minetest.register_node(":technic:trampoline", { + description = S("Trampoline"), + drawtype = "normal", + tiles = {"technic_trampoline_top.png", + "technic_fall_dampener_bottom.png", -- cost cuts + "technic_trampoline_side.png", + "technic_trampoline_side.png", + "technic_trampoline_side.png", + "technic_trampoline_side.png"}, + groups = {crumbly = 3, bouncy = 100, fall_damage_add_percent = -100}, + sounds = {footstep = {name = "trampoline_boing", gain = 1.0}} +}) + + +minetest.register_craft({ + output = "technic:fall_dampener_50", + recipe = { + { "", "", ""}, + { "technic:raw_latex", "technic:raw_latex", "technic:raw_latex"}, + { "technic:latex_foam", "technic:latex_foam", "technic:latex_foam"}, + } +}) + +minetest.register_craft({ + output = "technic:fall_dampener_100", + recipe = { + { "technic:raw_latex", "technic:raw_latex", "technic:raw_latex"}, + { "technic:latex_foam", "technic:latex_foam", "technic:latex_foam"}, + { "technic:latex_foam", "technic:latex_foam", "technic:latex_foam"}, + } +}) + +minetest.register_craft({ + output = "technic:trampoline", + recipe = { + { "dye:green", "dye:green", "dye:green"}, + { "technic:rubber", "technic:rubber", "technic:rubber"}, + { "technic:rubber", "technic:rubber", "technic:rubber"}, + } +}) + + diff --git a/technic/crafts.lua b/technic/crafts.lua index 14bafd3..4c8b799 100644 --- a/technic/crafts.lua +++ b/technic/crafts.lua @@ -8,6 +8,12 @@ minetest.clear_craft({ output = "default:bronze_ingot" }) +minetest.register_craft({
+ type = "shapeless", + output = "default:bronze_ingot 9"
, + recipe = {"default:bronzeblock"} +}) + -- Accelerator tube if pipeworks.enable_accelerator_tube then minetest.clear_craft({ @@ -160,6 +166,15 @@ minetest.register_craft({ }) minetest.register_craft({ + output = 'technic:control_logic_unit_adv', + recipe = { + {'technic:fine_gold_wire', 'technic:fine_gold_wire', 'technic:fine_gold_wire'}, + {'technic:silicon_wafer', 'technic:silicon_wafer', 'technic:silicon_wafer'}, + {'default:copper_ingot', 'technic:chromium_ingot', 'default:copper_ingot'}, + } +}) + +minetest.register_craft({ output = 'technic:mixed_metal_ingot 9', recipe = { {'technic:stainless_steel_ingot', 'technic:stainless_steel_ingot', 'technic:stainless_steel_ingot'}, diff --git a/technic/depends.txt b/technic/depends.txt index 5bf9f9f..c052452 100644 --- a/technic/depends.txt +++ b/technic/depends.txt @@ -9,4 +9,4 @@ digilines? digiline_remote? intllib? unified_inventory? -vector_extras? +vector_extras?
\ No newline at end of file diff --git a/technic/items.lua b/technic/items.lua index a0edb96..ec12a8f 100644 --- a/technic/items.lua +++ b/technic/items.lua @@ -115,6 +115,12 @@ minetest.register_craftitem( "technic:control_logic_unit", { inventory_image = "technic_control_logic_unit.png", }) +minetest.register_craftitem( "technic:control_logic_unit_adv", { + description = S("Advanced Control Logic Unit"), + inventory_image = "technic_control_logic_unit_adv.png", +}) + + minetest.register_craftitem("technic:mixed_metal_ingot", { description = S("Mixed Metal Ingot"), inventory_image = "technic_mixed_metal_ingot.png", diff --git a/technic/machines/HV/compressor.lua b/technic/machines/HV/compressor.lua new file mode 100644 index 0000000..12e165b --- /dev/null +++ b/technic/machines/HV/compressor.lua @@ -0,0 +1,12 @@ +-- HV compressor + +minetest.register_craft({ + output = 'technic:hv_compressor', + recipe = { + {'technic:carbon_plate', 'technic:mv_compressor', 'technic:composite_plate'}, + {'pipeworks:tube_1', 'technic:hv_transformer', 'pipeworks:tube_1'}, + {'technic:stainless_steel_ingot', 'technic:hv_cable', 'technic:stainless_steel_ingot'}, + } +}) + +technic.register_compressor({tier = "HV", demand = {1500, 1000, 750}, speed = 5, upgrade = 1, tube = 1}) diff --git a/technic/machines/HV/electric_furnace.lua b/technic/machines/HV/electric_furnace.lua new file mode 100644 index 0000000..c4a72fb --- /dev/null +++ b/technic/machines/HV/electric_furnace.lua @@ -0,0 +1,17 @@ +-- HV Electric Furnace +-- This is a faster version of the stone furnace which runs on EUs +-- In addition to this it can be upgraded with microcontrollers and batteries +-- This new version uses the batteries to lower the power consumption of the machine +-- Also in addition this furnace can be attached to the pipe system from the pipeworks mod. + +minetest.register_craft({ + output = 'technic:hv_electric_furnace', + recipe = { + {'technic:carbon_plate', 'technic:mv_electric_furnace', 'technic:composite_plate'}, + {'pipeworks:tube_1', 'technic:hv_transformer', 'pipeworks:tube_1'}, + {'technic:stainless_steel_ingot', 'technic:hv_cable', 'technic:stainless_steel_ingot'}, + } +}) + +technic.register_electric_furnace({tier="HV", upgrade=1, tube=1, demand={4000, 2500, 1500}, speed=12}) + diff --git a/technic/machines/HV/grinder.lua b/technic/machines/HV/grinder.lua new file mode 100644 index 0000000..89dfc31 --- /dev/null +++ b/technic/machines/HV/grinder.lua @@ -0,0 +1,13 @@ +-- HV grinder + +minetest.register_craft({ + output = 'technic:hv_grinder', + recipe = { + {'technic:carbon_plate', 'technic:mv_grinder', 'technic:composite_plate'}, + {'pipeworks:tube_1', 'technic:hv_transformer', 'pipeworks:tube_1'}, + {'technic:stainless_steel_ingot', 'technic:hv_cable', 'technic:stainless_steel_ingot'}, + } +}) + +technic.register_grinder({tier="HV", demand={1200, 900, 600}, speed=5, upgrade=1, tube=1}) + diff --git a/technic/machines/HV/init.lua b/technic/machines/HV/init.lua index d7136b4..93cd7b7 100644 --- a/technic/machines/HV/init.lua +++ b/technic/machines/HV/init.lua @@ -15,4 +15,8 @@ dofile(path.."/generator.lua") -- Machines dofile(path.."/quarry.lua") dofile(path.."/forcefield.lua") +dofile(path.."/electric_furnace.lua") +dofile(path.."/grinder.lua") +dofile(path.."/compressor.lua") + diff --git a/technic/machines/LV/cnc.lua b/technic/machines/LV/cnc.lua index 58ec6ba..e5e2e3f 100644 --- a/technic/machines/LV/cnc.lua +++ b/technic/machines/LV/cnc.lua @@ -28,8 +28,11 @@ local onesize_products = { pyramid = 2, spike = 1, cylinder = 2, + cylinder_fluted = 2, oblate_spheroid = 1, sphere = 1, + sphere_half = 2, + sphere_quarter = 4, stick = 8, slope_upsdown = 2, slope_edge_upsdown = 1, @@ -38,6 +41,20 @@ local onesize_products = { slope_lying = 2, onecurvededge = 1, twocurvededge = 1, + innercurvededge = 1, + opposedcurvededge = 1, + block_fluted = 1, + tile_beveled = 9, + arch216 = 1, + arch216_flange = 1, + cylinder_half = 4, + cylinder_half_corner = 4, + beam216 = 8, + beam216_cross = 2, + beam216_tee = 2, + beam216_cross_column = 1, + diagonal_truss = 6, + diagonal_truss_cross = 4, } local twosize_products = { element_straight = 4, @@ -48,43 +65,60 @@ local twosize_products = { } local cnc_formspec = - "invsize[9,11;]".. - "label[1,0;"..S("Choose Milling Program:").."]".. - "image_button[1,0.5;1,1;technic_cnc_slope.png;slope; ]".. - "image_button[2,0.5;1,1;technic_cnc_slope_edge.png;slope_edge; ]".. - "image_button[3,0.5;1,1;technic_cnc_slope_inner_edge.png;slope_inner_edge; ]".. - "image_button[4,0.5;1,1;technic_cnc_pyramid.png;pyramid; ]".. - "image_button[5,0.5;1,1;technic_cnc_spike.png;spike; ]".. - "image_button[6,0.5;1,1;technic_cnc_cylinder.png;cylinder; ]".. - "image_button[7,0.5;1,1;technic_cnc_oblate_spheroid.png;oblate_spheroid; ]".. - "image_button[8,0.5;1,1;technic_cnc_stick.png;stick; ]".. - - "image_button[1,1.5;1,1;technic_cnc_slope_upsdwn.png;slope_upsdown; ]".. - "image_button[2,1.5;1,1;technic_cnc_slope_edge_upsdwn.png;slope_edge_upsdown; ]".. - "image_button[3,1.5;1,1;technic_cnc_slope_inner_edge_upsdwn.png;slope_inner_edge_upsdown; ]".. - "image_button[4,1.5;1,1;technic_cnc_cylinder_horizontal.png;cylinder_horizontal; ]".. - "image_button[5,1.5;1,1;technic_cnc_sphere.png;sphere; ]".. + "invsize[11,11;]".. + "label[0,0;"..S("Choose Milling Program:").."]".. + "image_button[0,0.5;1,1;technic_cnc_slope.png;slope; ]".. + "image_button[1,0.5;1,1;technic_cnc_slope_edge.png;slope_edge; ]".. + "image_button[2,0.5;1,1;technic_cnc_slope_inner_edge.png;slope_inner_edge; ]".. + "image_button[3,0.5;1,1;technic_cnc_pyramid.png;pyramid; ]".. + "image_button[4,0.5;1,1;technic_cnc_spike.png;spike; ]".. + "image_button[5,0.5;1,1;technic_cnc_tile_beveled.png;tile_beveled; ]".. + "image_button[6,0.5;1,1;technic_cnc_stick.png;stick; ]".. + "image_button[7,0.5;1,1;technic_cnc_beam216.png;beam216; ]".. + "image_button[8,0.5;1,1;technic_cnc_beam216_cross.png;beam216_cross; ]".. + "image_button[9,0.5;1,1;technic_cnc_beam216_tee.png;beam216_tee; ]".. + "image_button[10,0.5;1,1;technic_cnc_beam216_cross_column.png;beam216_cross_column; ]".. - "image_button[1,2.5;1,1;technic_cnc_slope_lying.png;slope_lying; ]".. - "image_button[2,2.5;1,1;technic_cnc_onecurvededge.png;onecurvededge; ]".. - "image_button[3,2.5;1,1;technic_cnc_twocurvededge.png;twocurvededge; ]".. + "image_button[0,1.5;1,1;technic_cnc_slope_upsdwn.png;slope_upsdown; ]".. + "image_button[1,1.5;1,1;technic_cnc_slope_edge_upsdwn.png;slope_edge_upsdown; ]".. + "image_button[2,1.5;1,1;technic_cnc_slope_inner_edge_upsdwn.png;slope_inner_edge_upsdown; ]".. + "image_button[3,1.5;1,1;technic_cnc_cylinder.png;cylinder; ]".. + "image_button[4,1.5;1,1;technic_cnc_cylinder_horizontal.png;cylinder_horizontal; ]".. + "image_button[5,1.5;1,1;technic_cnc_cylinder_half.png;cylinder_half; ]".. + "image_button[6,1.5;1,1;technic_cnc_cylinder_half_corner.png;cylinder_half_corner; ]".. + "image_button[7,1.5;1,1;technic_cnc_oblate_spheroid.png;oblate_spheroid; ]".. + "image_button[8,1.5;1,1;technic_cnc_sphere.png;sphere; ]".. + "image_button[9,1.5;1,1;technic_cnc_sphere_half.png;sphere_half; ]".. + "image_button[10,1.5;1,1;technic_cnc_sphere_quarter.png;sphere_quarter; ]".. + + "image_button[0,2.5;1,1;technic_cnc_slope_lying.png;slope_lying; ]".. + "image_button[1,2.5;1,1;technic_cnc_onecurvededge.png;onecurvededge; ]".. + "image_button[2,2.5;1,1;technic_cnc_twocurvededge.png;twocurvededge; ]".. + "image_button[3,2.5;1,1;technic_cnc_innercurvededge.png;innercurvededge; ]".. + "image_button[4,2.5;1,1;technic_cnc_opposedcurvededge.png;opposedcurvededge; ]".. + "image_button[5,2.5;1,1;technic_cnc_block_fluted.png;block_fluted; ]".. + "image_button[6,2.5;1,1;technic_cnc_cylinder_fluted.png;cylinder_fluted; ]".. + "image_button[7,2.5;1,1;technic_cnc_arch216.png;arch216; ]".. + "image_button[8,2.5;1,1;technic_cnc_arch216_flange.png;arch216_flange; ]".. + "image_button[9,2.5;1,1;technic_cnc_diagonal_truss.png;diagonal_truss; ]".. + "image_button[10,2.5;1,1;technic_cnc_diagonal_truss_cross.png;diagonal_truss_cross; ]".. - "label[1,3.5;"..S("Slim Elements half / normal height:").."]".. + "label[0,3.5;"..S("Slim Elements half / normal height:").."]".. - "image_button[1,4;1,0.5;technic_cnc_full.png;full; ]".. - "image_button[1,4.5;1,0.5;technic_cnc_half.png;half; ]".. - "image_button[2,4;1,1;technic_cnc_element_straight.png;element_straight; ]".. - "image_button[3,4;1,1;technic_cnc_element_end.png;element_end; ]".. - "image_button[4,4;1,1;technic_cnc_element_cross.png;element_cross; ]".. - "image_button[5,4;1,1;technic_cnc_element_t.png;element_t; ]".. - "image_button[6,4;1,1;technic_cnc_element_edge.png;element_edge; ]".. + "image_button[0,4;1,0.5;technic_cnc_full.png;full; ]".. + "image_button[0,4.5;1,0.5;technic_cnc_half.png;half; ]".. + "image_button[1,4;1,1;technic_cnc_element_straight.png;element_straight; ]".. + "image_button[2,4;1,1;technic_cnc_element_end.png;element_end; ]".. + "image_button[3,4;1,1;technic_cnc_element_cross.png;element_cross; ]".. + "image_button[4,4;1,1;technic_cnc_element_t.png;element_t; ]".. + "image_button[5,4;1,1;technic_cnc_element_edge.png;element_edge; ]".. - "label[0, 5.5;"..S("In:").."]".. - "list[current_name;src;0.5,5.5;1,1;]".. - "label[4, 5.5;"..S("Out:").."]".. - "list[current_name;dst;5,5.5;4,1;]".. + "label[1, 5.5;"..S("In:").."]".. + "list[current_name;src;1.5,5.5;1,1;]".. + "label[4.5, 5.5;"..S("Out:").."]".. + "list[current_name;dst;5.5,5.5;4,1;]".. - "list[current_player;main;0,7;8,4;]".. + "list[current_player;main;1.5,7;8,4;]".. "listring[current_name;dst]".. "listring[current_player;main]".. "listring[current_name;src]".. @@ -171,7 +205,7 @@ local run = function(pos, node) meta:set_int("src_time", meta:get_int("src_time") + 1) if meta:get_int("src_time") >= 3 then -- 3 ticks per output meta:set_int("src_time", 0) - srcstack = inv:get_stack("src", 1) + local srcstack = inv:get_stack("src", 1) srcstack:take_item() inv:set_stack("src", 1, srcstack) inv:add_item("dst", result.." "..meta:get_int("cnc_multiplier")) diff --git a/technic/machines/LV/cnc_api.lua b/technic/machines/LV/cnc_api.lua index f5aae5c..6fdd35b 100644 --- a/technic/machines/LV/cnc_api.lua +++ b/technic/machines/LV/cnc_api.lua @@ -99,6 +99,29 @@ technic.cnc.programs = { model = "technic_sphere.obj", desc = S("Sphere") }, + + + { suffix = "technic_cnc_sphere_half", + model = "technic_sphere_half.obj", + desc = S("Half Sphere"), + cbox = { + type = "fixed", + fixed = { + { -0.5, -0.5, -0.5, 0.5, 0, 0.5 }, + } + } + }, + + { suffix = "technic_cnc_sphere_quarter", + model = "technic_sphere_quarter.obj", + desc = S("Quarter Sphere"), + cbox = { + type = "fixed", + fixed = { + { -0.5, -0.5, -0.5, 0.5, 0, 0 }, + } + } + }, { suffix = "technic_cnc_cylinder_horizontal", model = "technic_cylinder_horizontal.obj", @@ -109,7 +132,39 @@ technic.cnc.programs = { model = "technic_cylinder.obj", desc = S("Cylinder") }, + + { suffix = "technic_cnc_cylinder_half", + model = "technic_cylinder_half.obj", + desc = S("Half Cylinder"), + cbox = { + type = "fixed", + fixed = { + { -0.5, -0.5, -0.5, 0.5, 0, 0.5 }, + } + } + }, + + { suffix = "technic_cnc_cylinder_half_corner", + model = "technic_cylinder_half_corner.obj", + desc = S("Half Cylinder Corner"), + cbox = { + type = "fixed", + fixed = { + { -0.5, -0.5, -0.5, 0.5, 0, 0.5 }, + } + } + }, + { suffix = "technic_cnc_cylinder_fluted", + model = "technic_cylinder_fluted.obj", + desc = S("Fluted Cylinder Column") + }, + + { suffix = "technic_cnc_block_fluted", + model = "technic_block_fluted.obj", + desc = S("Fluted Square Column") + }, + { suffix = "technic_cnc_twocurvededge", model = "technic_two_curved_edge.obj", desc = S("Two Curved Edge/Corner Block") @@ -119,7 +174,130 @@ technic.cnc.programs = { model = "technic_one_curved_edge.obj", desc = S("One Curved Edge Block") }, - + + { suffix = "technic_cnc_innercurvededge", + model = "technic_inner_curved_edge.obj", + desc = S("Inner Curved Edge Block") + }, + + { suffix = "technic_cnc_opposedcurvededge", + model = "technic_opposed_curved_edge.obj", + desc = S("Opposed Curved Edges Block") + }, + + -- 4/16 Diagonal truss + + { suffix = "technic_cnc_diagonal_truss", + model = "technic_diagonal_truss.obj", + desc = S("Diagonal Truss"), + cbox = { + type = "fixed", + fixed = { + { -0.5, -0.5, -0.25, 0.5, 0.5, 0.25 }, + } + } + }, + + { suffix = "technic_cnc_diagonal_truss_cross", + model = "technic_diagonal_truss_cross.obj", + desc = S("Diagonal Truss Cross"), + cbox = { + type = "fixed", + fixed = { + { -0.5, -0.5, -0.25, 0.5, 0.5, 0.25 }, + } + } + }, + + -- 2/16 Beams + + { suffix = "technic_cnc_beam216", + model = "technic_beam_216.obj", + desc = S("2/16 Beam"), + cbox = { + type = "fixed", + fixed = { + {0.5, 0.5, 0.065, -0.5, 0, -0.065}, + } + } + }, + + { suffix = "technic_cnc_beam216_cross", + model = "technic_beam_216_cross.obj", + desc = S("2/16 Beam Cross"), + cbox = { + type = "fixed", + fixed = { + {0.5, 0.5, 0.5, -0.5, 0, -0.5}, + } + } + }, + + { suffix = "technic_cnc_beam216_tee", + model = "technic_beam_216_tee.obj", + desc = S("2/16 Beam T"), + cbox = { + type = "fixed", + fixed = { + {-0.5, 0.5, -0.5, 0.5, 0, 0.0625}, + } + } + }, + + { suffix = "technic_cnc_beam216_cross_column", + model = "technic_beam_216_cross_column.obj", + desc = S("2/16 Beam Cross with Column"), + cbox = { + type = "fixed", + fixed = { + {0.5, 0.5, 0.5, -0.5, -0.5, -0.5}, + } + } + }, + + -- 2/16 Arch + + { suffix = "technic_cnc_arch216", + model = "technic_arch_216.obj", + desc = S("2/16 Arch"), + cbox = { + type = "fixed", + fixed = { + {0.4375, -0.5, -0.5, 0.5, -0.1875, 0.5}, + {-0.5, 0.4375, -0.5, -0.1875, 0.5, 0.5}, + {-0.1875, 0.25, -0.5, 0, 0.4375, 0.5}, + {0.25, -0.1875, -0.5, 0.4375, 0, 0.5}, + {-0.0625, 0.1875, -0.5, 0.125, 0.3125, 0.5}, + {0.1875, -0.0625, -0.5, 0.3125, 0.125, 0.5}, + {0.0625, 0.0625, -0.5, 0.25, 0.25, 0.5}, + } + } + }, + + { suffix = "technic_cnc_arch216_flange", + model = "technic_arch_216_flange.obj", + desc = S("2/16 Arch Flange"), + cbox = { + type = "fixed", + fixed = { + {-0.5, 0.4375, -0.5, 0.5, 0.5, 0.5}, + {0.4375, -0.5, -0.5, 0.5, 0.5, 0.5}, + {0.0625, 0.0625, -0.5, 0.4375, 0.4375, 0.5}, + } + } + }, + + { suffix = "technic_cnc_tile_beveled", + model = "technic_tile_beveled.obj", + desc = S("Beveled Tile"), + cbox = { + type = "fixed", + fixed = { + { -1/2, -1/2, -1/2, 1/2, -2/5, 1/2 }, + } + } + }, + { suffix = "technic_cnc_spike", model = "technic_pyramid_spike.obj", desc = S("Spike"), @@ -303,7 +481,8 @@ function technic.cnc.register_program(recipeitem, suffix, model, groups, images, walkable = true, groups = groups, selection_box = sbox, - collision_box = cbox + collision_box = cbox, + light_source = groups.light_source, }) end @@ -343,7 +522,7 @@ function technic.cnc.register_slope_edge_etc(recipeitem, groups, images, desc_sl technic.cnc.register_spike(recipeitem, groups, images, desc_spike) technic.cnc.register_onecurvededge(recipeitem, groups, images, desc_onecurvededge) technic.cnc.register_twocurvededge(recipeitem, groups, images, desc_twocurvededge) - technic.cnc.register_cylinder(recipeitem, groups, images, desc_cylinder) + technic.cnc.register_cylinder(recipeitem, groups, images, desc_cylinder) technic.cnc.register_cylinder_horizontal(recipeitem, groups, images, desc_cylinder_horizontal) technic.cnc.register_spheroid(recipeitem, groups, images, desc_spheroid) technic.cnc.register_element_straight(recipeitem, groups, images, desc_element_straight) diff --git a/technic/machines/LV/cnc_nodes.lua b/technic/machines/LV/cnc_nodes.lua index 05be9af..e6c586f 100644 --- a/technic/machines/LV/cnc_nodes.lua +++ b/technic/machines/LV/cnc_nodes.lua @@ -1,7 +1,7 @@ -- REGISTER MATERIALS AND PROPERTIES FOR NONCUBIC ELEMENTS: ----------------------------------------------------------- -local S = technic.getter +local S=technic.getter -- DIRT ------- @@ -15,18 +15,77 @@ technic.cnc.register_all("default:wood", {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, {"default_wood.png"}, S("Wooden")) + +technic.cnc.register_all("default:junglewood", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"default_junglewood.png"}, + S("Junglewood")) + +technic.cnc.register_all("default:pine_wood", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"default_pine_wood.png"}, + S("Pine")) + +technic.cnc.register_all("default:acacia_wood", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"default_acacia_wood.png"}, + S("Acacia")) + +technic.cnc.register_all("default:aspen_wood", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"default_aspen_wood.png"}, + S("Aspen")) + -- STONE -------- technic.cnc.register_all("default:stone", - {cracky=3, not_in_creative_inventory=1}, + {cracky=3, stone=1, not_in_creative_inventory=1}, {"default_stone.png"}, S("Stone")) + +technic.cnc.register_all("default:stonebrick", + {crumbly=2, cracky=3, stone=1, not_in_creative_inventory=1}, + {"default_stone_brick.png"}, + S("Stone Brick")) + +technic.cnc.register_all("default:stone_block", + {crumbly=2, cracky=3, stone=1, not_in_creative_inventory=1}, + {"default_stone_block.png"}, + S("Stone Block")) + + +technic.cnc.register_all("default:desert_stone", + {cracky=3, stone=1, not_in_creative_inventory=1}, + {"default_desert_stone.png"}, + S("Desert Stone")) + +technic.cnc.register_all("default:desert_stonebrick", + {crumbly=2, cracky=3, stone=1, not_in_creative_inventory=1}, + {"default_desert_stone_brick.png"}, + S("Desert Stone Brick")) + +technic.cnc.register_all("default:desert_stone_block", + {crumbly=2, cracky=3, stone=1, not_in_creative_inventory=1}, + {"default_desert_stone_block.png"}, + S("Desert Stone Block")) + -- COBBLE --------- technic.cnc.register_all("default:cobble", - {cracky=3, not_in_creative_inventory=1}, + {cracky=3, stone=1, not_in_creative_inventory=1}, {"default_cobble.png"}, S("Cobble")) + +technic.cnc.register_all("default:mossycobble", + {cracky=3, stone=1, not_in_creative_inventory=1}, + {"default_mossycobble.png"}, + S("Mossy Cobblestone")) + +technic.cnc.register_all("default:desert_cobble", + {cracky=3, stone=1, not_in_creative_inventory=1}, + {"default_desert_cobble.png"}, + S("Desert Cobble")) + -- BRICK -------- technic.cnc.register_all("default:brick", @@ -34,6 +93,7 @@ technic.cnc.register_all("default:brick", {"default_brick.png"}, S("Brick")) + -- SANDSTONE ------------ technic.cnc.register_all("default:sandstone", @@ -41,12 +101,50 @@ technic.cnc.register_all("default:sandstone", {"default_sandstone.png"}, S("Sandstone")) --- LEAVES ---------- -technic.cnc.register_all("default:leaves", - {snappy=2, choppy=2, oddly_breakable_by_hand=3, not_in_creative_inventory=1}, - {"default_leaves.png"}, - S("Leaves")) +technic.cnc.register_all("default:sandstonebrick", + {crumbly=2, cracky=3, not_in_creative_inventory=1}, + {"default_sandstone_brick.png"}, + S("Sandstone Brick")) + +technic.cnc.register_all("default:sandstone_block", + {crumbly=2, cracky=3, not_in_creative_inventory=1}, + {"default_sandstone_block.png"}, + S("Sandstone Block")) + + +technic.cnc.register_all("default:desert_sandstone", + {crumbly=2, cracky=3, not_in_creative_inventory=1}, + {"default_desert_sandstone.png"}, + S("Desert Sandstone")) + +technic.cnc.register_all("default:desert_sandstone_brick", + {crumbly=2, cracky=3, not_in_creative_inventory=1}, + {"default_desert_sandstone_brick.png"}, + S("Desert Sandstone Brick")) + +technic.cnc.register_all("default:desert_sandstone_block", + {crumbly=2, cracky=3, not_in_creative_inventory=1}, + {"default_desert_sandstone_block.png"}, + S("Desert Sandstone Block")) + + +technic.cnc.register_all("default:silver_sandstone", + {crumbly=2, cracky=3, not_in_creative_inventory=1}, + {"default_silver_sandstone.png"}, + S("Silver Sandstone")) + +technic.cnc.register_all("default:silver_sandstone_brick", + {crumbly=2, cracky=3, not_in_creative_inventory=1}, + {"default_silver_sandstone_brick.png"}, + S("Silver Sandstone Brick")) + +technic.cnc.register_all("default:silver_sandstone_block", + {crumbly=2, cracky=3, not_in_creative_inventory=1}, + {"default_silver_sandstone_block.png"}, + S("Silver Sandstone Block")) + + + -- TREE ------- technic.cnc.register_all("default:tree", @@ -54,6 +152,22 @@ technic.cnc.register_all("default:tree", {"default_tree.png"}, S("Tree")) +-- ICE +------- +technic.cnc.register_all("default:ice", + {cracky=3, puts_out_fire=1, cools_lava=1, not_in_creative_inventory=1}, + {"default_ice.png"}, + S("Ice")) + + +-- OBSIDIAN +----------- +technic.cnc.register_all("default:obsidian_block", + {cracky=1, level=2, not_in_creative_inventory=1}, + {"default_obsidian_block.png"}, + S("Obsidian")) + + -- WROUGHT IRON --------------- technic.cnc.register_all("default:steelblock", @@ -68,13 +182,63 @@ technic.cnc.register_all("default:bronzeblock", {"default_bronze_block.png"}, S("Bronze")) --- Stainless Steel +-- Zinc -------- +technic.cnc.register_all("technic:zinc_block", + {cracky=1, level=2, not_in_creative_inventory=1}, + {"technic_zinc_block.png"}, + S("Zinc")) + +-- Cast Iron +------------ +technic.cnc.register_all("technic:cast_iron_block", + {cracky=1, level=2, not_in_creative_inventory=1}, + {"technic_cast_iron_block.png"}, + S("Cast Iron")) + +-- Stainless Steel +------------------ technic.cnc.register_all("technic:stainless_steel_block", {cracky=1, level=2, not_in_creative_inventory=1}, {"technic_stainless_steel_block.png"}, S("Stainless Steel")) +-- Carbon steel +--------------- +technic.cnc.register_all("technic:carbon_steel_block", + {cracky=1, level=2, not_in_creative_inventory=1}, + {"technic_carbon_steel_block.png"}, + S("Carbon Steel")) + +-- Brass +-------- +technic.cnc.register_all("technic:brass_block", + {cracky=1, level=2, not_in_creative_inventory=1}, + {"technic_brass_block.png"}, + S("Brass")) + +-- Copper +--------- +technic.cnc.register_all("default:copperblock", + {cracky=1, level=2, not_in_creative_inventory=1}, + {"default_copper_block.png"}, + S("Copper")) + +-- Tin +------ +technic.cnc.register_all("default:tinblock", + {cracky=1, level=2, not_in_creative_inventory=1}, + {"default_tin_block.png"}, + S("Tin")) + +-- Gold +------- +technic.cnc.register_all("default:goldblock", + {cracky=1, level=2, not_in_creative_inventory=1}, + {"default_gold_block.png"}, + S("Gold")) + + -- Marble ------------ technic.cnc.register_all("technic:marble", @@ -89,3 +253,176 @@ technic.cnc.register_all("technic:granite", {"technic_granite.png"}, S("Granite")) + +if minetest.get_modpath("ethereal") then + -- Glostone + ------------ + technic.cnc.register_all("ethereal:glostone", + {cracky=1, not_in_creative_inventory=1, light_source=13}, + {"glostone.png"}, + S("Glo Stone")) + +end + + +if minetest.get_modpath("ethereal") then + -- Glostone + ------------ + technic.cnc.register_all("ethereal:glostone", + {cracky=1, not_in_creative_inventory=1, light_source=13}, + {"glostone.png"}, + S("Glo Stone")) + + -- Crystal block + ---------------- + technic.cnc.register_all("ethereal:crystal_block", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"crystal_block.png"}, + S("Crystal")) + + -- Misc. Wood types + ------------------- + technic.cnc.register_all("ethereal:banana_wood", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"banana_wood.png"}, + S("Banana Wood")) + + technic.cnc.register_all("ethereal:birch_wood", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"moretrees_birch_wood.png"}, + S("Birch Wood")) + + technic.cnc.register_all("ethereal:frost_wood", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"frost_wood.png"}, + S("Frost Wood")) + + technic.cnc.register_all("ethereal:palm_wood", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"moretrees_palm_wood.png"}, + S("Palm Wood")) + + technic.cnc.register_all("ethereal:willow_wood", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"willow_wood.png"}, + S("Willow Wood")) + + technic.cnc.register_all("ethereal:yellow_wood", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"yellow_wood.png"}, + S("Healing Tree Wood")) + + technic.cnc.register_all("ethereal:redwood_wood", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"redwood_wood.png"}, + S("Redwood")) + + -- Glorious bamboo + ------------------- + technic.cnc.register_all("ethereal:bamboo_floor", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"bamboo_floor.png"}, + S("Bamboo")) +end + + +if minetest.get_modpath("moreblocks") then + -- Tiles + ------------ + technic.cnc.register_all("moreblocks:stone_tile", + {stone=1, cracky=3, not_in_creative_inventory=1}, + {"moreblocks_stone_tile.png"}, + S("Stone Tile")) + + technic.cnc.register_all("moreblocks:split_stone_tile", + {stone=1, cracky=3, not_in_creative_inventory=1}, + {"moreblocks_split_stone_tile.png"}, + S("Split Stone Tile")) + + technic.cnc.register_all("moreblocks:checker_stone_tile", + {stone=1, cracky=3, not_in_creative_inventory=1}, + {"moreblocks_checker_stone_tile.png"}, + S("Checker Stone Tile")) + + technic.cnc.register_all("moreblocks:cactus_checker", + {stone=1, cracky=3, not_in_creative_inventory=1}, + {"moreblocks_cactus_checker.png"}, + S("Cactus Checker")) + + -- Bricks + ------------ + technic.cnc.register_all("moreblocks:cactus_brick", + {cracky=3, not_in_creative_inventory=1}, + {"moreblocks_cactus_brick.png"}, + S("Cactus Brick")) + + technic.cnc.register_all("moreblocks:grey_bricks", + {cracky=3, not_in_creative_inventory=1}, + {"moreblocks_grey_bricks.png"}, + S("Grey Bricks")) + + -- Metals + ------------ + technic.cnc.register_all("moreblocks:copperpatina", + {cracky=1, level=2, not_in_creative_inventory=1}, + {"moreblocks_copperpatina.png"}, + S("Copper Patina")) + + if not minetest.get_modpath("bakedclay") then + -- Clay + ------------ + technic.cnc.register_all("bakedclay:red", + {cracky=3, not_in_creative_inventory=1}, + {"baked_clay_red.png"}, + S("Red Clay")) + + technic.cnc.register_all("bakedclay:orange", + {cracky=3, not_in_creative_inventory=1}, + {"baked_clay_orange.png"}, + S("Orange Clay")) + + technic.cnc.register_all("bakedclay:grey", + {cracky=3, not_in_creative_inventory=1}, + {"baked_clay_grey.png"}, + S("Grey Clay")) + end + +end + + +if minetest.get_modpath("maple") then + technic.cnc.register_all("maple:maple_wood", + {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + {"maple_wood.png"}, + S("Maple")) +end + + +if minetest.get_modpath("bakedclay") then + + local clay = { + {"white", "White"}, + {"grey", "Grey"}, + {"black", "Black"}, + {"red", "Red"}, + {"yellow", "Yellow"}, + {"green", "Green"}, + {"cyan", "Cyan"}, + {"blue", "Blue"}, + {"magenta", "Magenta"}, + {"orange", "Orange"}, + {"violet", "Violet"}, + {"brown", "Brown"}, + {"pink", "Pink"}, + {"dark_grey", "Dark Grey"}, + {"dark_green", "Dark Green"}, + } + + for _,c in ipairs(clay) do + technic.cnc.register_all("bakedclay:" .. c[1], + {cracky=3, not_in_creative_inventory=1}, + {"baked_clay_" .. c[1] .. ".png"}, + S(c[2] .. " Clay")) + end + +end
\ No newline at end of file diff --git a/technic/machines/LV/geothermal.lua b/technic/machines/LV/geothermal.lua index 27f4abc..3282fb8 100644 --- a/technic/machines/LV/geothermal.lua +++ b/technic/machines/LV/geothermal.lua @@ -1,7 +1,7 @@ -- A geothermal EU generator -- Using hot lava and water this device can create energy from steam -- The machine is only producing LV EUs and can thus not drive more advanced equipment --- The output is a little more than the coal burning generator (max 300EUs) +-- The output is 4 times that of the coal burning generator (max 800EUs) minetest.register_alias("geothermal", "technic:geothermal") @@ -56,10 +56,10 @@ local run = function(pos, node) if check == 2 then lava_nodes = lava_nodes + 1 end end - if water_nodes == 1 and lava_nodes == 1 then production_level = 25; eu_supply = 50 end - if water_nodes == 2 and lava_nodes == 1 then production_level = 50; eu_supply = 100 end - if water_nodes == 1 and lava_nodes == 2 then production_level = 75; eu_supply = 200 end - if water_nodes == 2 and lava_nodes == 2 then production_level = 100; eu_supply = 300 end + if water_nodes == 1 and lava_nodes == 1 then production_level = 25; eu_supply = 200 end + if water_nodes == 2 and lava_nodes == 1 then production_level = 50; eu_supply = 400 end + if water_nodes == 1 and lava_nodes == 2 then production_level = 75; eu_supply = 600 end + if water_nodes == 2 and lava_nodes == 2 then production_level = 100; eu_supply = 800 end if production_level > 0 then meta:set_int("LV_EU_supply", eu_supply) diff --git a/technic/machines/LV/init.lua b/technic/machines/LV/init.lua index 30523c9..447fb21 100644 --- a/technic/machines/LV/init.lua +++ b/technic/machines/LV/init.lua @@ -27,3 +27,4 @@ dofile(path.."/cnc.lua") dofile(path.."/cnc_api.lua") dofile(path.."/cnc_nodes.lua") +dofile(path.."/lamp.lua")
\ No newline at end of file diff --git a/technic/machines/LV/lamp.lua b/technic/machines/LV/lamp.lua new file mode 100644 index 0000000..5e8ee8c --- /dev/null +++ b/technic/machines/LV/lamp.lua @@ -0,0 +1,250 @@ +-- LV LED and LV LED Lamp +-- LED - a weak light source, intended primarily as a core component for LED lamps +-- LED Lamp - a powerful light source, illuminating a 7x7x3(H) volume below itself +-- with light bright as the sun. + +local S = technic.getter + + +local illuminate = function(pos, mode) + local loc = {} +-- loc.x, loc.y, loc.z = pos.x, pos.y, pos.z + for y=1,3,1 do + for x=-3,3,1 do + for z = -3,3,1 do + loc = {x = pos.x - x, y = pos.y - y, z = pos.z - z} + if mode then + if minetest.get_node(loc).name == "air" then + minetest.swap_node(loc, {name = "technic:dummy_light_source"}) + end + else + if minetest.get_node(loc).name == "technic:dummy_light_source" then + minetest.swap_node(loc, {name = "air"}) + end + end + end + end + end +end + + +local led_on = function(pos, node) + local meta = minetest.get_meta(pos) + local eu_input = meta:get_int("LV_EU_input") + local machine_name = S("%s LED"):format("LV") + local machine_node = "technic:lv_led" + local demand = 5 + + if eu_input < demand then + technic.swap_node(pos, machine_node) + meta:set_string("infotext", S("%s Unpowered"):format(machine_name)) + elseif eu_input >= demand then + technic.swap_node(pos, machine_node.."_active") + meta:set_string("infotext", S("%s Active"):format(machine_name)) + end + meta:set_int("LV_EU_demand", demand) +end + +local led_off = function(pos, node) + local meta = minetest.get_meta(pos) + local eu_input = meta:get_int("LV_EU_input") + local machine_name = S("%s LED"):format("LV") + local machine_node = "technic:lv_led" + + technic.swap_node(pos, machine_node) + meta:set_string("infotext", S("%s Unpowered"):format(machine_name)) + + meta:set_int("LV_EU_demand", 0) +end + + + +local lamp_on = function(pos, node) + local meta = minetest.get_meta(pos) + local eu_input = meta:get_int("LV_EU_input") + local machine_name = S("%s Lamp"):format("LV") + local machine_node = "technic:lv_lamp" + local demand = 50 + + if eu_input < demand then + technic.swap_node(pos, machine_node) + meta:set_string("infotext", S("%s Unpowered"):format(machine_name)) + illuminate(pos, false) + elseif eu_input >= demand then + technic.swap_node(pos, machine_node.."_active") + meta:set_string("infotext", S("%s Active"):format(machine_name)) + illuminate(pos, true) + end + meta:set_int("LV_EU_demand", demand) +end + +local lamp_off = function(pos, node) + local meta = minetest.get_meta(pos) + local eu_input = meta:get_int("LV_EU_input") + local machine_name = S("%s Lamp"):format("LV") + local machine_node = "technic:lv_lamp" + + illuminate(pos, false) + technic.swap_node(pos, machine_node) + meta:set_string("infotext", S("%s Unpowered"):format(machine_name)) + meta:set_int("LV_EU_demand", 0) +end + + +minetest.register_node("technic:dummy_light_source", { + description = S("Dummy light source node"), + node_box = { + type = "fixed", + fixed = {} + }, + collision_box = { + type = "fixed", + fixed = {} + }, + selection_box = { + type = "fixed", + fixed = {} + }, + drawtype = "airlike", + buildable_to = true, + light_source = 14, + sunlight_propagates = true, + diggable = false, + walkable = false, + groups = { not_in_creative_inventory = 1 } +}) + +minetest.register_node("technic:lv_led", { + description = S("LV LED"), + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = {0.2,0.2,0.2,-0.2,-0.2,-0.2} + }, + collision_box = { + type = "fixed", + fixed = {0.2,0.2,0.2,-0.2,-0.2,-0.2} + }, + selection_box = { + type = "fixed", + fixed = {0.2,0.2,0.2,-0.2,-0.2,-0.2} + }, + tiles = {"technic_lv_led.png"}, + inventory_image = "technic_lv_led_inv.png", + sunlight_propagates = true, + groups = {cracky=2, technic_machine=1, technic_lv=1}, + connect_sides = {"front", "back", "left", "right", "top", "bottom"}, + can_dig = technic.machine_can_dig, + technic_run = led_on, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("infotext", S("%s LED"):format("LV")) + end, + drop = "technic:lv_led" +}) + +minetest.register_node("technic:lv_led_active", { + description = S("LV LED Active"), + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = {0.2,0.2,0.2,-0.2,-0.2,-0.2} + }, + collision_box = { + type = "fixed", + fixed = {0.2,0.2,0.2,-0.2,-0.2,-0.2} + }, + selection_box = { + type = "fixed", + fixed = {0.2,0.2,0.2,-0.2,-0.2,-0.2} + }, + tiles = {"technic_lv_led.png"}, + light_source = 9, + sunlight_propagates = true, + groups = {cracky=2, technic_machine=1, technic_lv=1, not_in_creative_inventory=1}, + connect_sides = {"front", "back", "left", "right", "top", "bottom"}, + can_dig = technic.machine_can_dig, + technic_run = led_on, + technic_on_disable = led_off, + drop = "technic:lv_led" +}) + + +minetest.register_node("technic:lv_lamp", { + description = S("%s Lamp"):format("LV"), + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = {0.5,0.5,0.5,-0.5,-0.2,-0.5} + }, + collision_box = { + type = "fixed", + fixed = {0.5,0.5,0.5,-0.5,-0.2,-0.5} + }, + selection_box = { + type = "fixed", + fixed = {0.5,0.5,0.5,-0.5,-0.2,-0.5} + }, + tiles = {"technic_lv_lamp_top.png", "technic_lv_lamp_bottom.png", "technic_lv_lamp_side.png", + "technic_lv_lamp_side.png", "technic_lv_lamp_side.png", "technic_lv_lamp_side.png"}, + groups = {cracky=2, technic_machine=1, technic_lv=1}, + connect_sides = {"front", "back", "left", "right", "top",}, + can_dig = technic.machine_can_dig, + technic_run = lamp_on, + on_destruct = lamp_off, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("infotext", S("%s Lamp"):format("LV")) + end, +}) + + +minetest.register_node("technic:lv_lamp_active", { + description = S("%s Lamp Active"):format("LV"), + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = {0.5,0.5,0.5,-0.5,-0.2,-0.5} + }, + collision_box = { + type = "fixed", + fixed = {0.5,0.5,0.5,-0.5,-0.2,-0.5} + }, + selection_box = { + type = "fixed", + fixed = {0.5,0.5,0.5,-0.5,-0.2,-0.5} + }, + tiles = {"technic_lv_lamp_top.png", "technic_lv_lamp_bottom.png", "technic_lv_lamp_side.png", + "technic_lv_lamp_side.png", "technic_lv_lamp_side.png", "technic_lv_lamp_side.png"}, + groups = {cracky=2, technic_machine=1, technic_lv=1, not_in_creative_inventory=1}, + connect_sides = {"front", "back", "left", "right", "top"}, + light_source = 1, + can_dig = technic.machine_can_dig, + technic_run = lamp_on, + on_destruct = lamp_off, + technic_on_disable = lamp_off, +}) + +minetest.register_craft({ + output = 'technic:lv_led 2', + recipe = { + {'', 'homedecor:plastic_sheeting', ''}, + {'homedecor:plastic_sheeting', 'technic:doped_silicon_wafer', 'homedecor:plastic_sheeting'}, + {'', 'technic:fine_silver_wire', ''}, + }, +}) + +minetest.register_craft({ + output = 'technic:lv_lamp', + recipe = { + {'default:glass', 'default:glass', 'default:glass'}, + {'technic:lv_led', 'technic:lv_led', 'technic:lv_led'}, + {'mesecons_materials:glue', 'technic:lv_cable', 'mesecons_materials:glue'}, + }, +}) + +technic.register_machine("LV", "technic:lv_lamp", technic.receiver) +technic.register_machine("LV", "technic:lv_lamp_active", technic.receiver) + +technic.register_machine("LV", "technic:lv_led", technic.receiver) +technic.register_machine("LV", "technic:lv_led_active", technic.receiver) diff --git a/technic/machines/MV/centrifuge.lua b/technic/machines/MV/centrifuge.lua index a0aad64..d386265 100644 --- a/technic/machines/MV/centrifuge.lua +++ b/technic/machines/MV/centrifuge.lua @@ -9,7 +9,7 @@ minetest.register_craft({ technic.register_centrifuge({ tier = "MV", - demand = { 8000, 7000, 6000 }, + demand = { 8000, 6500, 5000 }, speed = 2, upgrade = 1, tube = 1, diff --git a/technic/machines/MV/init.lua b/technic/machines/MV/init.lua index 72a98b6..66e2d45 100644 --- a/technic/machines/MV/init.lua +++ b/technic/machines/MV/init.lua @@ -27,6 +27,6 @@ dofile(path.."/tool_workshop.lua") -- The power radiator supplies appliances with inductive coupled power: -- Lighting and associated textures is taken directly from VanessaE's homedecor and made electric. -- This is currently useless, slow, and mostly copied ---dofile(path.."/power_radiator.lua") ---dofile(path.."/lighting.lua") +-- dofile(path.."/power_radiator.lua") +-- dofile(path.."/lighting.lua") diff --git a/technic/machines/init.lua b/technic/machines/init.lua index f2e31c9..57cb9a9 100644 --- a/technic/machines/init.lua +++ b/technic/machines/init.lua @@ -7,6 +7,8 @@ dofile(path.."/LV/init.lua") dofile(path.."/MV/init.lua") dofile(path.."/HV/init.lua") + + dofile(path.."/switching_station.lua") dofile(path.."/power_monitor.lua") dofile(path.."/supply_converter.lua") diff --git a/technic/machines/register/alloy_recipes.lua b/technic/machines/register/alloy_recipes.lua index bd09bd6..0d40b77 100644 --- a/technic/machines/register/alloy_recipes.lua +++ b/technic/machines/register/alloy_recipes.lua @@ -28,8 +28,35 @@ local recipes = { -- The highest volume use of carbon black is as a reinforcing filler in rubber products, especially tires. -- "[Compounding a] pure gum vulcanizate … with 50% of its weight of carbon black improves its tensile strength and wear resistance …" {"technic:raw_latex 4", "technic:coal_dust 2", "technic:rubber 6", 2}, + {"technic:raw_latex 3", "technic:sulfur_dust 1", "technic:latex_foam", 2}, } +if minetest.get_modpath("ethereal") then + table.insert(recipes, {"ethereal:crystal_spike", "ethereal:fire_dust 2", "default:mese_crystal 2"}) + if not minetest.get_modpath("bakedclay") then + table.insert(recipes, {"default:clay", "dye:red", "bakedclay:red"}) + table.insert(recipes, {"default:clay", "dye:orange", "bakedclay:orange"}) + table.insert(recipes, {"default:clay", "dye:grey", "bakedclay:grey"}) + end + if minetest.get_modpath("bonemeal") then + table.insert(recipes, {"default:sand", "bonemeal:mulch", "ethereal:sandy 2"}) + table.insert(recipes, {"default:sand", "bonemeal:bonemeal", "ethereal:sandy"}) + end +end + +if minetest.get_modpath("bakedclay") then + + local clay = {"white", "grey", "black", "red", "yellow", + "green", "cyan", "blue", "magenta", "orange", + "violet", "brown", "pink", "dark_grey", "dark_green"} + + -- the recipe of the bakedclay mod yields 8 blocks, so we'll do two times better + for _,c in ipairs(clay) do + table.insert(recipes, {"default:clay 8", "dye:" .. c, "bakedclay:" .. c .. " 16"}) + end + +end + for _, data in pairs(recipes) do technic.register_alloy_recipe({input = {data[1], data[2]}, output = data[3], time = data[4]}) end diff --git a/technic/machines/register/centrifuge_recipes.lua b/technic/machines/register/centrifuge_recipes.lua index 4684ba0..fb16d0c 100644 --- a/technic/machines/register/centrifuge_recipes.lua +++ b/technic/machines/register/centrifuge_recipes.lua @@ -15,7 +15,7 @@ local recipes = { { "technic:stainless_steel_dust 4", "technic:wrought_iron_dust 3", "technic:chromium_dust" }, { "technic:brass_dust 3", "technic:copper_dust 2", "technic:zinc_dust" }, { "technic:chernobylite_dust", "default:sand", "technic:uranium3_dust" }, - { "default:dirt 4", "default:sand", "default:gravel", "default:clay_lump 2" }, + { "default:dirt 4", "default:sand", "default:gravel", "default:clay_lump 4" }, } local function uranium_dust(p) @@ -32,9 +32,25 @@ if minetest.get_modpath("bushes_classic") then end if minetest.get_modpath("farming") then - table.insert(recipes, { "farming:wheat 4", "farming:seed_wheat 3", "default:dry_shrub 1" }) + if minetest.get_modpath("cottages") then + -- work as a mechanized threshing floor + table.insert(recipes, { "farming:wheat", "farming:seed_wheat", "cottages:straw_mat" }) + table.insert(recipes, { "farming:barley", "farming:seed_barley", "cottages:straw_mat" }) + else + -- work in a less fancy and less efficient manner + table.insert(recipes, { "farming:wheat 4", "farming:seed_wheat 3", "default:dry_shrub 1" }) + table.insert(recipes, { "farming:barley 4", "farming:seed_barley 3", "default:dry_shrub 1" }) + end +end + +-- using centfuge as a sorting machine for grass seeds +table.insert(recipes, { "default:grass_1 99", "default:dry_grass_1 80", "default:dry_shrub 7", "default:junglegrass 12" }) +if minetest.get_modpath("ethereal") then + table.insert(recipes, { "default:junglegrass 99", "ethereal:dry_shrub 10", "ethereal:crystalgrass 5", "ethereal:snowygrass 5" }) + table.insert(recipes, { "default:dry_grass_1 99", "ethereal:fern 5" }) end + for _, data in pairs(recipes) do technic.register_separating_recipe({ input = { data[1] }, output = { data[2], data[3], data[4] } }) end diff --git a/technic/machines/register/common.lua b/technic/machines/register/common.lua index dfa2948..f872fa2 100644 --- a/technic/machines/register/common.lua +++ b/technic/machines/register/common.lua @@ -19,16 +19,20 @@ function technic.handle_machine_upgrades(meta) if upg_item1 == "technic:control_logic_unit" then tube_upgrade = tube_upgrade + 1 + elseif upg_item1 == "technic:control_logic_unit_adv" then + tube_upgrade = tube_upgrade + 6 elseif upg_item1 == "technic:battery" then EU_upgrade = EU_upgrade + 1 end if upg_item2 == "technic:control_logic_unit" then tube_upgrade = tube_upgrade + 1 + elseif upg_item2 == "technic:control_logic_unit_adv" then + tube_upgrade = tube_upgrade + 6 elseif upg_item2 == "technic:battery" then EU_upgrade = EU_upgrade + 1 end - + return EU_upgrade, tube_upgrade end @@ -39,6 +43,7 @@ local function on_machine_upgrade(meta, stack) meta:set_int("public", 1) return 1 elseif stack_name ~= "technic:control_logic_unit" + and stack_name ~= "technic:control_logic_unit_adv" and stack_name ~= "technic:battery" then return 0 end @@ -60,7 +65,7 @@ local function on_machine_downgrade(meta, stack, list) end -function technic.send_items(pos, x_velocity, z_velocity, output_name) +function technic.send_items(pos, x_velocity, z_velocity, output_name, full) -- Send items on their way in the pipe system. if output_name == nil then output_name = "dst" @@ -68,20 +73,28 @@ function technic.send_items(pos, x_velocity, z_velocity, output_name) local meta = minetest.get_meta(pos) local inv = meta:get_inventory() + local i = 0 for _, stack in ipairs(inv:get_list(output_name)) do i = i + 1 if stack then local item0 = stack:to_table() if item0 then - item0["count"] = "1" - technic.tube_inject_item(pos, pos, vector.new(x_velocity, 0, z_velocity), item0) - stack:take_item(1) + if full then + technic.tube_inject_item(pos, pos, vector.new(x_velocity, 0, z_velocity), item0) + stack:clear() + else + item0["count"] = "1" + technic.tube_inject_item(pos, pos, vector.new(x_velocity, 0, z_velocity), item0) + stack:take_item(1) + end inv:set_stack(output_name, i, stack) return end end end + + end @@ -128,11 +141,18 @@ function technic.handle_machine_pipeworks(pos, tube_upgrade, send_function) if minetest.get_item_group(node1.name, "tubedevice") > 0 then output_tube_connected = true end + + local send_stack = false + if tube_upgrade > 2 then + send_stack = true + tube_upgrade = tube_upgrade % 5 + end + local tube_time = meta:get_int("tube_time") + tube_upgrade if tube_time >= 2 then tube_time = 0 if output_tube_connected then - send_function(pos, x_velocity, z_velocity) + send_function(pos, x_velocity, z_velocity, nil, send_stack) end end meta:set_int("tube_time", tube_time) diff --git a/technic/machines/register/compressor_recipes.lua b/technic/machines/register/compressor_recipes.lua index a625f1a..b36936c 100644 --- a/technic/machines/register/compressor_recipes.lua +++ b/technic/machines/register/compressor_recipes.lua @@ -11,22 +11,69 @@ end local recipes = { {"default:snowblock", "default:ice"}, {"default:sand 2", "default:sandstone"}, + {"default:silver_sand 2", "default:silver_sandstone"}, {"default:desert_sand", "default:desert_stone"}, {"technic:mixed_metal_ingot", "technic:composite_plate"}, {"default:copper_ingot 5", "technic:copper_plate"}, {"technic:coal_dust 4", "technic:graphite"}, {"technic:carbon_cloth", "technic:carbon_plate"}, {"technic:uranium35_ingot 5", "technic:uranium_fuel"}, + {"technic:diamond_seed 25", "default:diamond"} } --- defuse the default sandstone recipe, since we have the compressor to take over in a more realistic manner -minetest.clear_craft({ - output = "default:sandstone", - recipe = { - {'group:sand', 'group:sand'}, - {'group:sand', 'group:sand'} - }, -}) + +if minetest.get_modpath("ethereal") then + + -- compressing most copious leaves into more compact fuel + -- this conversion is based on the burn time (1 vs. 10) + some overhead + table.insert(recipes, {"default:acacia_leaves 15", "ethereal:charcoal_lump 1"}) + table.insert(recipes, {"default:aspen_leaves 15", "ethereal:charcoal_lump 1"}) + table.insert(recipes, {"default:leaves 15", "ethereal:charcoal_lump 1"}) + table.insert(recipes, {"default:jungleleaves 15", "ethereal:charcoal_lump 1"}) + + -- the density of charcoal is ~1/10 of coal, otherwise it's pure carbon + table.insert(recipes, {"ethereal:charcoal_lump 10", "default:coal_lump 1"}) + -- + some leaves which are most often left over in large amounts + table.insert(recipes, {"ethereal:willow_twig 15", "ethereal:charcoal_lump 1"}) + table.insert(recipes, {"ethereal:redwood_leaves 15", "ethereal:charcoal_lump 1"}) + table.insert(recipes, {"ethereal:frost_leaves 15", "ethereal:charcoal_lump 1"}) + table.insert(recipes, {"ethereal:yellowleaves 15", "ethereal:charcoal_lump 1"}) + table.insert(recipes, {"ethereal:birch_leaves 15", "ethereal:charcoal_lump 1"}) + table.insert(recipes, {"ethereal:bamboo_leaves 15", "ethereal:charcoal_lump 1"}) + table.insert(recipes, {"ethereal:orange_leaves 15", "ethereal:charcoal_lump 1"}) + + if minetest.get_modpath("technic_worldgen") or minetest.get_modpath("moretrees") then + table.insert(recipes, {"moretrees:rubber_tree_leaves 15", "ethereal:charcoal_lump 1"}) + end + +end + +-- liquid oxygen +table.insert(recipes, {"vessels:steel_bottle", "technic:lox"}) + + +-- defuse the default sandstone recipe, since we have the compressor to take over in a +-- more realistic manner. It also uses groups instead of proper sand, which is even more +-- important, given there are many types of sand and sandstone. +-- minetest.clear_craft({ +-- output = "default:sandstone", +-- recipe = { +-- {'group:sand', 'group:sand'}, +-- {'group:sand', 'group:sand'} +-- }, +-- }) +-- +-- -- provide an alternative recipe for sandstone, which demands the default sand in particular +-- -- the compressing recipe offered by technic is still offering superior performance +-- minetest.register_craft({ +-- output = "default:sandstone", +-- recipe = { +-- {'default:sand', 'default:sand'}, +-- {'default:sand', 'default:sand'} +-- }, +-- }) +-- UPD: the above changes were made obsolete by default game development + for _, data in pairs(recipes) do technic.register_compressor_recipe({input = {data[1]}, output = data[2]}) diff --git a/technic/machines/register/extractor_recipes.lua b/technic/machines/register/extractor_recipes.lua index 1de0ba0..e052971 100644 --- a/technic/machines/register/extractor_recipes.lua +++ b/technic/machines/register/extractor_recipes.lua @@ -29,6 +29,57 @@ if minetest.get_modpath("dye") then {"bushes:blueberry", unifieddyes and "unifieddyes:magenta_s50 4" or "dye:magenta 4"}, } + if minetest.get_modpath("hunger") and minetest.get_modpath("ethereal") then + table.insert(dye_recipes, {"ethereal:willow_twig 12", "technic:aspirin_pill"}) + end + + if minetest.get_modpath("farming") then + -- Cottonseed oil: a fuel and a potent fertilizer (irl: pesticide) --- + -- hemp oil calls for 8 seeds, but extractor recipes are normally twice as potent + table.insert(dye_recipes, {"farming:seed_cotton 4", "technic:cottonseed_oil"}) + + -- Dyes --- + -- better recipes for farming's crafting methods (twice the output) + table.insert(dye_recipes, {"farming:chili_pepper", "dye:red 4"}) + table.insert(dye_recipes, {"farming:beans", "dye:green 4"}) + table.insert(dye_recipes, {"farming:grapes", "dye:violet 4"}) + table.insert(dye_recipes, {"farming:cocoa_beans", "dye:brown 4"}) + -- Some extra recipes: + -- Himalayan rhubarb root can give yellow dye IRL + table.insert(dye_recipes, {"farming:rhubarb", "dye:yellow 4"}) + table.insert(dye_recipes, {"farming:onion", "dye:yellow 4"}) + table.insert(dye_recipes, {"farming:blueberries", "dye:blue 4"}) + table.insert(dye_recipes, {"farming:raspberries", "dye:red 4"}) + end + + if minetest.get_modpath("ethereal") then + table.insert(dye_recipes, {"ethereal:seaweed", "dye:dark_green 6"}) + table.insert(dye_recipes, {"ethereal:coral2", "dye:cyan 6"}) + table.insert(dye_recipes, {"ethereal:coral3", "dye:orange 6"}) + table.insert(dye_recipes, {"ethereal:coral4", "dye:pink 6"}) + table.insert(dye_recipes, {"ethereal:coral5", "dye:green 6"}) + table.insert(dye_recipes, {"ethereal:fern", "dye:dark_green 4"}) + table.insert(dye_recipes, {"ethereal:snowygrass", "dye:grey 4"}) + table.insert(dye_recipes, {"ethereal:crystalgrass", "dye:blue 4"}) + end + + if minetest.get_modpath("bakedclay") then + table.insert(dye_recipes, {"bakedclay:delphinium", "dye:cyan 6"}) + table.insert(dye_recipes, {"bakedclay:thistle", "dye:magenta 6"}) + table.insert(dye_recipes, {"bakedclay:lazarus", "dye:pink 6"}) + table.insert(dye_recipes, {"bakedclay:mannagrass", "dye:dark_green 6"}) + end + + if minetest.get_modpath("wine") then + table.insert(dye_recipes, {"wine:blue_agave", "dye:cyan 6"}) + end + + if minetest.get_modpath("bonemeal") then + table.insert(dye_recipes, {"bonemeal:bone", "dye:white 8"}) + table.insert(dye_recipes, {"bonemeal:bonemeal", "dye:white 4"}) + end + + for _, data in ipairs(dye_recipes) do technic.register_extractor_recipe({input = {data[1]}, output = data[2]}) end @@ -43,6 +94,37 @@ if minetest.get_modpath("dye") then }) end + + -- When the recipe for 4 default:sand out of 1 default:sandstone is defused in the + -- grinder recipes, some dyed wool becomes broken. This is a known bug and it's in + -- the game itself. However, by re-declaring the recipes for corrupted wool+dye + -- combinations here, we can alleviate this situation. Or so it seeems. + -- The following code snippet is abridged from wool mod in the minetest_game: + + if minetest.get_modpath("wool") then + + local dyes = { + {"violet", "Violet", "excolor_violet"}, + {"brown", "Brown", "unicolor_dark_orange"}, + {"pink", "Pink", "unicolor_light_red"}, + {"dark_grey", "Dark Grey", "unicolor_darkgrey"}, + {"dark_green", "Dark Green", "unicolor_dark_green"}, + } + + for i = 1, #dyes do + local name, desc, craft_color_group = unpack(dyes[i]) + minetest.register_craft{ + type = "shapeless", + output = "wool:" .. name, + recipe = {"group:dye," .. craft_color_group, "group:wool"}, + } + end + + end + + -- end of remedial dye workaround + + minetest.register_craft({ type = "shapeless", output = "dye:black 1", diff --git a/technic/machines/register/grinder_recipes.lua b/technic/machines/register/grinder_recipes.lua index fa55e7a..84fbeb7 100644 --- a/technic/machines/register/grinder_recipes.lua +++ b/technic/machines/register/grinder_recipes.lua @@ -22,22 +22,80 @@ local recipes = { {"technic:sulfur_lump", "technic:sulfur_dust 2"}, {"default:stone", "technic:stone_dust"}, {"default:sand", "technic:stone_dust"}, + -- recycle some items: + {"xpanes:pane_flat 8", "vessels:glass_fragments 3"}, + {"doors:door_glass", "vessels:glass_fragments 6"}, + {"doors:door_wood", "technic:sawdust 24"}, + {"doors:trapdoor", "technic:sawdust 12"}, + {"doors:trapdoor_steel", "technic:wrought_iron_dust 4"}, + {"doors:door_obsidian_glass", "default:obsidian_shard 6"}, + {"doors:door_steel", "technic:wrought_iron_dust 6"}, + {"default:sign_wall_steel", "technic:wrought_iron_dust 2"}, + {"default:sign_wall_wood", "technic:sawdust 8"}, -- Other {"default:cobble", "default:gravel"}, {"default:gravel", "default:sand"}, {"default:sandstone", "default:sand 2"}, -- reverse recipe can be found in the compressor + {"technic:stone_dust", "default:silver_sand"} } +if minetest.get_modpath("ethereal") then + -- the density of charcoal is ~1/10 of coal, otherwise it's the same graphitic carbon + table.insert(recipes, {"ethereal:charcoal_lump 5", "technic:coal_dust 1"}) +end + +if minetest.get_modpath("bonemeal") then + table.insert(recipes, {"bonemeal:bone", "bonemeal:bonemeal 8"}) +end + +if minetest.get_modpath("moreblocks") then + table.insert(recipes, {"moreblocks:cobble_compressed", "default:gravel 9"}) + -- there is no other place to throw in the cooking recipe + minetest.register_craft({ + type = "cooking", + cooktime = 5, + output = "default:stone 9", + recipe = "moreblocks:cobble_compressed" + }) +end + + -- defuse the sandstone -> 4 sand recipe to avoid infinite sand bugs (also consult the inverse compressor recipe) +-- this snippet, when executed, also corrupts some dye+wool combinations. A remedial +-- workaround is included in extractor recipes, since it's where we work with dyes. minetest.clear_craft({ recipe = { - {'default:sandstone'} - }, + {"default:sandstone"} + } }) if minetest.get_modpath("farming") then table.insert(recipes, {"farming:seed_wheat", "farming:flour 1"}) + table.insert(recipes, {"farming:seed_barley", "farming:flour 1"}) + + -- added by dhausmig + if minetest.registered_items["farming:corn"] ~= nil then + minetest.register_craftitem("technic:cornmeal", { + description = S("Corn Meal"), + inventory_image = "technic_cornmeal.png", + }) + minetest.register_craftitem("technic:cornbread", { + description = S("Cornbread"), + inventory_image = "technic_cornbread.png", + on_use = minetest.item_eat(8), + }) + + minetest.register_craft({ + type = "cooking", + cooktime = 10, + output = "technic:cornbread", + recipe = "technic:cornmeal" + }) + + table.insert(recipes, {"farming:corn", "technic:cornmeal 2"}) + -- end of dhausmig's addition + end end if minetest.get_modpath("moreores") then diff --git a/technic/models/technic_arch_216.obj b/technic/models/technic_arch_216.obj new file mode 100644 index 0000000..f2f3e5a --- /dev/null +++ b/technic/models/technic_arch_216.obj @@ -0,0 +1,190 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +mtllib technic_arch_216.mtl +o Cylinder_Cylinder.007 +v -0.500000 -0.499999 -0.500000 +v -0.500000 -0.499999 0.500000 +v -0.480785 -0.304909 0.500000 +v -0.480785 -0.304909 -0.500000 +v -0.423879 -0.117316 0.500000 +v -0.423879 -0.117316 -0.500000 +v -0.331469 0.055571 0.500000 +v -0.331469 0.055571 -0.500000 +v -0.207106 0.207108 0.500000 +v -0.207106 0.207108 -0.500000 +v -0.055569 0.331470 0.500000 +v -0.055569 0.331470 -0.500000 +v 0.117318 0.423880 0.500000 +v 0.117318 0.423880 -0.500000 +v 0.304911 0.480786 0.500000 +v 0.304911 0.480786 -0.500000 +v 0.500000 0.500000 0.500000 +v 0.500000 0.500000 -0.500000 +v -0.375000 -0.499999 -0.500000 +v -0.358187 -0.329295 -0.500000 +v -0.358187 -0.329295 0.500000 +v -0.375000 -0.499999 0.500000 +v -0.308394 -0.165151 -0.500000 +v -0.308394 -0.165151 0.500000 +v -0.227535 -0.013875 -0.500000 +v -0.227535 -0.013875 0.500000 +v -0.118718 0.118719 -0.500000 +v -0.118718 0.118719 0.500000 +v 0.013877 0.227537 -0.500000 +v 0.013877 0.227537 0.500000 +v 0.165153 0.308395 -0.500000 +v 0.165153 0.308395 0.500000 +v 0.329297 0.358187 -0.500000 +v 0.329297 0.358187 0.500000 +v 0.500000 0.375000 -0.500000 +v 0.500000 0.375000 0.500000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 0.080477 +vt 0.000000 0.080477 +vt 1.000000 0.182905 +vt 0.000000 0.182905 +vt 1.000000 0.303347 +vt 0.000000 0.303347 +vt 1.000000 0.437175 +vt 0.000000 0.437175 +vt 1.000000 0.579246 +vt 0.000000 0.579247 +vt 1.000000 0.724101 +vt 0.000000 0.724101 +vt 1.000000 0.866172 +vt 0.000000 0.866173 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 1.000000 0.000000 +vt 1.000000 0.080477 +vt 0.000000 0.080477 +vt 0.000000 0.000000 +vt 1.000000 0.182905 +vt 0.000000 0.182905 +vt 1.000000 0.303347 +vt 0.000000 0.303347 +vt 1.000000 0.437175 +vt 0.000000 0.437175 +vt 1.000000 0.579247 +vt 0.000000 0.579247 +vt 1.000000 0.724101 +vt 0.000000 0.724101 +vt 1.000000 0.866173 +vt 0.000000 0.866173 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.875009 +vt 0.999929 0.875009 +vt 0.999929 1.000000 +vt 0.999929 0.875009 +vt 0.999929 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.875009 +vt 0.804911 0.980785 +vt 1.000000 0.875000 +vt 0.617318 0.923880 +vt 0.829297 0.858187 +vt 0.444431 0.831470 +vt 0.665153 0.808395 +vt 0.292894 0.707107 +vt 0.513877 0.727536 +vt 0.195089 0.980785 +vt 0.000000 0.875000 +vt 0.381282 0.618719 +vt 0.168531 0.555571 +vt 0.272465 0.486125 +vt 0.076121 0.382684 +vt 0.191606 0.334849 +vt 0.019215 0.195091 +vt 0.141813 0.170704 +vt -0.000000 0.000000 +vt 0.125000 0.000000 +vt 0.170703 0.858187 +vt 0.382682 0.923880 +vt 0.334847 0.808395 +vt 0.555569 0.831470 +vt 0.486123 0.727536 +vt 0.707106 0.707107 +vt 0.618718 0.618719 +vt 0.831469 0.555571 +vt 0.727535 0.486124 +vt 0.923879 0.382684 +vt 0.808394 0.334848 +vt 0.980785 0.195091 +vt 0.858187 0.170704 +vt 1.000000 0.000000 +vt 0.875000 0.000000 +vn -0.9952 0.0980 0.0000 +vn -0.9569 0.2903 0.0000 +vn -0.8819 0.4714 0.0000 +vn -0.7730 0.6344 0.0000 +vn -0.6344 0.7730 0.0000 +vn -0.4714 0.8819 0.0000 +vn -0.2903 0.9569 0.0000 +vn -0.0980 0.9952 0.0000 +vn 0.9952 -0.0980 -0.0000 +vn 0.9569 -0.2903 -0.0000 +vn 0.8819 -0.4714 -0.0000 +vn 0.7730 -0.6344 -0.0000 +vn 0.6344 -0.7730 -0.0000 +vn 0.4714 -0.8819 -0.0000 +vn 0.2903 -0.9569 -0.0000 +vn 0.0980 -0.9952 -0.0000 +vn 0.0000 -1.0000 -0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn -0.0000 0.0000 -1.0000 +usemtl None +s 1 +f 1/1/1 2/2/1 3/3/1 4/4/1 +f 4/4/2 3/3/2 5/5/2 6/6/2 +f 6/6/3 5/5/3 7/7/3 8/8/3 +f 8/8/4 7/7/4 9/9/4 10/10/4 +f 10/10/5 9/9/5 11/11/5 12/12/5 +f 12/12/6 11/11/6 13/13/6 14/14/6 +f 14/14/7 13/13/7 15/15/7 16/16/7 +f 16/16/8 15/15/8 17/17/8 18/18/8 +f 19/19/9 20/20/9 21/21/9 22/22/9 +f 20/20/10 23/23/10 24/24/10 21/21/10 +f 23/23/11 25/25/11 26/26/11 24/24/11 +f 25/25/12 27/27/12 28/28/12 26/26/12 +f 27/27/13 29/29/13 30/30/13 28/28/13 +f 29/29/14 31/31/14 32/32/14 30/30/14 +f 31/31/15 33/33/15 34/34/15 32/32/15 +f 33/33/16 35/35/16 36/36/16 34/34/16 +f 1/37/17 19/38/17 22/39/17 2/40/17 +f 17/41/18 36/42/18 35/43/18 18/44/18 +f 15/45/19 36/46/19 17/17/19 +f 13/47/19 34/48/19 15/45/19 +f 34/48/19 36/46/19 15/45/19 +f 13/47/19 11/49/19 32/50/19 +f 34/48/19 13/47/19 32/50/19 +f 9/51/19 30/52/19 11/49/19 +f 16/53/20 18/18/20 35/54/20 +f 9/51/19 28/55/19 30/52/19 +f 7/56/19 28/55/19 9/51/19 +f 7/56/19 26/57/19 28/55/19 +f 5/58/19 26/57/19 7/56/19 +f 5/58/19 24/59/19 26/57/19 +f 3/60/19 24/59/19 5/58/19 +f 3/60/19 21/61/19 24/59/19 +f 2/62/19 21/61/19 3/60/19 +f 2/62/19 22/63/19 21/61/19 +f 30/52/19 32/50/19 11/49/19 +f 35/54/20 33/64/20 16/53/20 +f 14/65/20 33/64/20 31/66/20 +f 12/67/20 14/65/20 31/66/20 +f 31/66/20 29/68/20 12/67/20 +f 33/64/20 14/65/20 16/53/20 +f 10/69/20 29/68/20 27/70/20 +f 8/71/20 10/69/20 27/70/20 +f 8/71/20 27/70/20 25/72/20 +f 6/73/20 8/71/20 25/72/20 +f 6/73/20 25/72/20 23/74/20 +f 4/75/20 6/73/20 23/74/20 +f 4/75/20 23/74/20 20/76/20 +f 1/77/20 4/75/20 20/76/20 +f 1/77/20 20/76/20 19/78/20 +f 29/68/20 10/69/20 12/67/20 diff --git a/technic/models/technic_arch_216_flange.obj b/technic/models/technic_arch_216_flange.obj new file mode 100644 index 0000000..6bfb97c --- /dev/null +++ b/technic/models/technic_arch_216_flange.obj @@ -0,0 +1,134 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +mtllib technic_arch_216_flange.mtl +o Cylinder_Cylinder.003 +v -0.375000 -0.499999 -0.500000 +v -0.358187 -0.329295 -0.500000 +v -0.358187 -0.329295 0.500000 +v -0.375000 -0.499999 0.500000 +v -0.308394 -0.165151 -0.500000 +v -0.308394 -0.165151 0.500000 +v -0.227535 -0.013875 -0.500000 +v -0.227535 -0.013875 0.500000 +v -0.118718 0.118719 -0.500000 +v -0.118718 0.118719 0.500000 +v 0.013877 0.227537 -0.500000 +v 0.013877 0.227537 0.500000 +v 0.165153 0.308395 -0.500000 +v 0.165153 0.308395 0.500000 +v 0.329297 0.358187 -0.500000 +v 0.329297 0.358187 0.500000 +v 0.500000 0.375000 -0.500000 +v 0.500000 0.375000 0.500000 +v -0.500000 -0.499999 -0.500000 +v -0.500000 -0.499999 0.500000 +v 0.500000 0.500000 0.500000 +v 0.500000 0.500000 -0.500000 +v -0.500000 0.500000 0.500000 +v -0.500000 0.500000 -0.500000 +vt 0.513877 0.727537 +vt 0.665153 0.808395 +vt 0.000000 1.000000 +vt 0.191606 0.334848 +vt 0.272465 0.486124 +vt 0.000000 0.000000 +vt 0.125000 0.000000 +vt 0.141813 0.170704 +vt 1.000000 1.000000 +vt 0.829297 0.858187 +vt 1.000000 0.875000 +vt 0.381282 0.618719 +vt 0.808394 0.334848 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.858187 0.170704 +vt 0.875000 0.000000 +vt 0.334847 0.808395 +vt 0.486123 0.727537 +vt 0.170703 0.858187 +vt 0.000000 1.000000 +vt 0.000000 0.875000 +vt 0.618718 0.618719 +vt 0.727535 0.486124 +vt 1.000000 0.000000 +vt 1.000000 0.080477 +vt 0.000000 0.080477 +vt 0.000000 0.000000 +vt 1.000000 0.182905 +vt 0.000000 0.182905 +vt 1.000000 0.303347 +vt 0.000000 0.303347 +vt 1.000000 0.437175 +vt 0.000000 0.437175 +vt 1.000000 0.579247 +vt 0.000000 0.579247 +vt 1.000000 0.724101 +vt 0.000000 0.724101 +vt 1.000000 0.866173 +vt 0.000000 0.866173 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.999929 0.000000 +vt 0.999929 0.124991 +vt 0.000000 0.124991 +vt 1.000000 0.875009 +vt 1.000000 1.000000 +vt 0.000071 1.000000 +vt 0.000071 0.875009 +vt 0.999900 0.999900 +vt 0.000100 0.999900 +vt 0.000099 0.000100 +vt 0.999900 0.000100 +vt 0.999900 0.999900 +vt 0.000100 0.999900 +vt 0.000100 0.000100 +vt 0.999900 0.000100 +vn -0.0000 0.0000 1.0000 +vn -0.0000 0.0000 -1.0000 +vn 0.9952 -0.0980 -0.0000 +vn 0.9569 -0.2903 -0.0000 +vn 0.8819 -0.4714 -0.0000 +vn 0.7730 -0.6344 -0.0000 +vn 0.6344 -0.7730 -0.0000 +vn 0.4714 -0.8819 -0.0000 +vn 0.2903 -0.9569 -0.0000 +vn 0.0980 -0.9952 -0.0000 +vn 0.0000 -1.0000 -0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +usemtl None +s off +f 12/1/1 14/2/1 23/3/1 +f 6/4/1 8/5/1 23/3/1 +f 20/6/1 4/7/1 3/8/1 +f 20/6/1 3/8/1 6/4/1 +f 14/2/1 21/9/1 23/3/1 +f 16/10/1 18/11/1 21/9/1 +f 14/2/1 16/10/1 21/9/1 +f 10/12/1 12/1/1 23/3/1 +f 8/5/1 10/12/1 23/3/1 +f 5/13/2 19/14/2 24/15/2 +f 19/14/2 2/16/2 1/17/2 +f 19/14/2 5/13/2 2/16/2 +f 13/18/2 11/19/2 24/15/2 +f 15/20/2 22/21/2 17/22/2 +f 13/18/2 22/21/2 15/20/2 +f 20/6/1 6/4/1 23/3/1 +f 22/21/2 13/18/2 24/15/2 +f 9/23/2 24/15/2 11/19/2 +f 7/24/2 24/15/2 9/23/2 +f 7/24/2 5/13/2 24/15/2 +s 1 +f 1/25/3 2/26/3 3/27/3 4/28/3 +f 2/26/4 5/29/4 6/30/4 3/27/4 +f 5/29/5 7/31/5 8/32/5 6/30/5 +f 7/31/6 9/33/6 10/34/6 8/32/6 +f 9/33/7 11/35/7 12/36/7 10/34/7 +f 11/35/8 13/37/8 14/38/8 12/36/8 +f 13/37/9 15/39/9 16/40/9 14/38/9 +f 15/39/10 17/41/10 18/42/10 16/40/10 +f 19/43/11 1/44/11 4/45/11 20/6/11 +f 21/46/12 18/47/12 17/48/12 22/49/12 +f 23/50/13 24/51/13 19/52/13 20/53/13 +f 21/54/14 22/55/14 24/56/14 23/57/14 diff --git a/technic/models/technic_beam_216.obj b/technic/models/technic_beam_216.obj new file mode 100644 index 0000000..77e8a38 --- /dev/null +++ b/technic/models/technic_beam_216.obj @@ -0,0 +1,50 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +mtllib technic_beam_216.mtl +o Cube_Cube.004 +v 0.500000 -0.000000 0.062500 +v 0.500000 0.500000 0.062500 +v -0.500000 0.500000 0.062500 +v -0.500000 -0.000000 0.062500 +v -0.500000 0.500000 -0.062500 +v -0.500000 0.000000 -0.062500 +v 0.500000 0.500000 -0.062500 +v 0.500000 0.000000 -0.062500 +vt 0.999900 0.500100 +vt 0.999900 1.000000 +vt 0.000100 1.000000 +vt 0.000100 0.500100 +vt 0.124975 0.500100 +vt 0.124975 1.000000 +vt 0.000000 1.000000 +vt -0.000000 0.500100 +vt 0.999900 0.500100 +vt 0.999900 1.000000 +vt 0.000100 1.000000 +vt 0.000100 0.500100 +vt 0.124975 0.500100 +vt 0.124975 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.500100 +vt 0.000200 1.000000 +vt 0.000200 0.875025 +vt 1.000000 0.875025 +vt 1.000000 1.000000 +vt 0.000200 1.000000 +vt 0.000200 0.875025 +vt 1.000000 0.875025 +vt 1.000000 1.000000 +vn 0.0000 -0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 -0.0000 +vn 0.0000 1.0000 0.0000 +usemtl None +s 1 +f 1/1/1 2/2/1 3/3/1 4/4/1 +f 4/5/2 3/6/2 5/7/2 6/8/2 +f 6/9/3 5/10/3 7/11/3 8/12/3 +f 8/13/4 7/14/4 2/15/4 1/16/4 +f 4/17/5 6/18/5 8/19/5 1/20/5 +f 5/21/6 3/22/6 2/23/6 7/24/6 diff --git a/technic/models/technic_beam_216_cross.obj b/technic/models/technic_beam_216_cross.obj new file mode 100644 index 0000000..6c67668 --- /dev/null +++ b/technic/models/technic_beam_216_cross.obj @@ -0,0 +1,114 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +mtllib technic_beam_216_cross.mtl +o Cube_Cube.001 +v -0.062500 -0.000000 0.500000 +v -0.062500 0.500000 0.500000 +v -0.062500 0.500000 -0.500000 +v -0.062500 0.000000 -0.500000 +v -0.062500 0.000000 -0.063364 +v -0.062500 -0.000000 0.061980 +v 0.062500 0.500000 -0.500000 +v 0.062500 0.000000 -0.500000 +v 0.062500 0.500000 0.500000 +v 0.062500 -0.000000 0.500000 +v 0.062500 -0.000000 0.063047 +v 0.062500 0.000000 -0.062118 +v 0.500000 -0.000000 0.062500 +v 0.500000 0.500000 0.062500 +v 0.063194 0.500000 0.062500 +v -0.062064 0.500000 0.062500 +v -0.500000 0.500000 0.062500 +v -0.500000 -0.000000 0.062500 +v -0.500000 0.500000 -0.062500 +v -0.500000 0.000000 -0.062500 +v -0.062059 0.500000 -0.062500 +v 0.062716 0.500000 -0.062500 +v 0.500000 0.500000 -0.062500 +v 0.500000 0.000000 -0.062500 +vt 0.999900 0.500100 +vt 0.999900 1.000000 +vt 0.000100 1.000000 +vt 0.000100 0.500100 +vt 0.436649 0.500100 +vt 0.561968 0.500100 +vt 0.124975 0.500100 +vt 0.124975 1.000000 +vt 0.000000 1.000000 +vt -0.000000 0.500100 +vt 0.999900 0.500100 +vt 0.999900 1.000000 +vt 0.000100 1.000000 +vt 0.000100 0.500100 +vt 0.436966 0.500100 +vt 0.562106 0.500100 +vt 0.124975 0.500100 +vt 0.124975 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.500100 +vt 0.562068 1.000000 +vt 0.563134 0.875025 +vt 1.000000 0.875025 +vt 1.000000 1.000000 +vt 0.000200 1.000000 +vt 0.000200 0.875025 +vt 1.000000 0.875025 +vt 1.000000 1.000000 +vt 0.000200 1.000000 +vt 0.000200 0.875025 +vt 0.437994 0.875025 +vt 0.436749 1.000000 +vt 0.999900 0.500100 +vt 0.999900 1.000000 +vt 0.563181 1.000000 +vt 0.437949 1.000000 +vt 0.000100 1.000000 +vt 0.000100 0.500100 +vt 0.124975 0.500100 +vt 0.124975 1.000000 +vt 0.000000 1.000000 +vt -0.000000 0.500100 +vt 0.999900 0.500100 +vt 0.999900 1.000000 +vt 0.562047 1.000000 +vt 0.437297 1.000000 +vt 0.000100 1.000000 +vt 0.000100 0.500100 +vt 0.124975 0.500100 +vt 0.124975 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.500100 +vt 0.000200 1.000000 +vt 0.000200 0.875025 +vt 1.000000 0.875025 +vt 1.000000 1.000000 +vt 0.562803 1.000000 +vt 0.563281 0.875025 +vt 1.000000 0.875025 +vt 1.000000 1.000000 +vt 0.000200 1.000000 +vt 0.000200 0.875025 +vt 0.438049 0.875025 +vt 0.438053 1.000000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 -0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn -0.0000 -1.0000 -0.0000 +vn 0.0000 1.0000 0.0000 +usemtl None +s 1 +f 1/1/1 2/2/1 3/3/1 4/4/1 5/5/1 6/6/1 +f 4/7/2 3/8/2 7/9/2 8/10/2 +f 8/11/3 7/12/3 9/13/3 10/14/3 11/15/3 12/16/3 +f 10/17/4 9/18/4 2/19/4 1/20/4 +f 6/21/5 11/22/5 10/23/5 1/24/5 +f 7/25/6 3/26/6 2/27/6 9/28/6 +f 4/29/5 8/30/5 12/31/5 5/32/5 +f 13/33/4 14/34/4 15/35/4 16/36/4 17/37/4 18/38/4 +f 18/39/1 17/40/1 19/41/1 20/42/1 +f 20/43/2 19/44/2 21/45/2 22/46/2 23/47/2 24/48/2 +f 24/49/3 23/50/3 14/51/3 13/52/3 +f 18/53/5 20/54/5 24/55/5 13/56/5 +f 22/57/6 15/58/6 14/59/6 23/60/6 +f 19/61/6 17/62/6 16/63/6 21/64/6 diff --git a/technic/models/technic_beam_216_cross_column.obj b/technic/models/technic_beam_216_cross_column.obj new file mode 100644 index 0000000..dca738e --- /dev/null +++ b/technic/models/technic_beam_216_cross_column.obj @@ -0,0 +1,169 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +mtllib technic_beam_216_cross_column.mtl +o Cube_Cube.007 +v -0.150000 -0.500000 0.150000 +v -0.150000 0.500000 0.150000 +v -0.150000 0.500000 -0.150000 +v -0.150000 -0.500000 -0.150000 +v 0.150000 0.500000 -0.150000 +v 0.150000 -0.500000 -0.150000 +v 0.150000 0.500000 0.150000 +v 0.150000 -0.500000 0.150000 +v -0.062500 -0.000000 0.500000 +v -0.062500 0.500000 0.500000 +v -0.062500 0.500000 0.150733 +v -0.062500 0.500000 -0.148528 +v -0.062500 0.500000 -0.500000 +v -0.062500 0.000000 -0.500000 +v 0.062500 0.500000 -0.500000 +v 0.062500 0.000000 -0.500000 +v 0.062500 0.500000 -0.150975 +v 0.062500 0.500000 0.149916 +v 0.062500 0.500000 0.500000 +v 0.062500 -0.000000 0.500000 +v 0.500000 -0.000000 0.062500 +v 0.500000 0.500000 0.062500 +v 0.149910 0.500000 0.062500 +v -0.149935 0.500000 0.062500 +v -0.500000 0.500000 0.062500 +v -0.500000 -0.000000 0.062500 +v -0.500000 0.500000 -0.062500 +v -0.500000 0.000000 -0.062500 +v -0.148506 0.500000 -0.062500 +v 0.151055 0.500000 -0.062500 +v 0.500000 0.500000 -0.062500 +v 0.500000 0.000000 -0.062500 +vt 0.649970 0.000100 +vt 0.649970 0.999900 +vt 0.350030 0.999900 +vt 0.350030 0.000100 +vt 0.649970 0.000100 +vt 0.649970 0.999900 +vt 0.350030 0.999900 +vt 0.350030 0.000100 +vt 0.649970 0.000100 +vt 0.649970 0.999900 +vt 0.350030 0.999900 +vt 0.350030 0.000100 +vt 0.649970 0.000100 +vt 0.649970 0.999900 +vt 0.350030 0.999900 +vt 0.350030 0.000100 +vt 0.350030 0.350030 +vt 0.649970 0.350030 +vt 0.649970 0.649970 +vt 0.350030 0.649970 +vt 0.350030 0.649970 +vt 0.350030 0.350030 +vt 0.649970 0.350030 +vt 0.649970 0.649970 +vt 0.999900 0.500100 +vt 0.999900 1.000000 +vt 0.650702 1.000000 +vt 0.351502 1.000000 +vt 0.000100 1.000000 +vt 0.000100 0.500100 +vt 0.124975 0.500100 +vt 0.124975 1.000000 +vt 0.000000 1.000000 +vt -0.000000 0.500100 +vt 0.999900 0.500100 +vt 0.999900 1.000000 +vt 0.650945 1.000000 +vt 0.350114 1.000000 +vt 0.000100 1.000000 +vt 0.000100 0.500100 +vt 0.124975 0.500100 +vt 0.124975 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.500100 +vt 0.000200 1.000000 +vt 0.000200 0.875025 +vt 1.000000 0.875025 +vt 1.000000 1.000000 +vt 0.649986 1.000000 +vt 0.650802 0.875025 +vt 1.000000 0.875025 +vt 1.000000 1.000000 +vt 0.000200 1.000000 +vt 0.000200 0.875025 +vt 0.351602 0.875025 +vt 0.349155 1.000000 +vt 0.999900 0.500100 +vt 0.999900 1.000000 +vt 0.649880 1.000000 +vt 0.350095 1.000000 +vt 0.000100 1.000000 +vt 0.000100 0.500100 +vt 0.124975 0.500100 +vt 0.124975 1.000000 +vt 0.000000 1.000000 +vt -0.000000 0.500100 +vt 0.999900 0.500100 +vt 0.999900 1.000000 +vt 0.648476 1.000000 +vt 0.348975 1.000000 +vt 0.000100 1.000000 +vt 0.000100 0.500100 +vt 0.124975 0.500100 +vt 0.124975 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.500100 +vt 0.000200 1.000000 +vt 0.000200 0.875025 +vt 1.000000 0.875025 +vt 1.000000 1.000000 +vt 0.651125 1.000000 +vt 0.649980 0.875025 +vt 1.000000 0.875025 +vt 1.000000 1.000000 +vt 0.000200 1.000000 +vt 0.000200 0.875025 +vt 0.350195 0.875025 +vt 0.351624 1.000000 +vn -1.0000 -0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.5774 -0.5774 0.5774 +vn -0.5774 0.5774 0.5774 +vn -0.8937 0.4487 0.0000 +vn -0.8966 0.4428 0.0000 +vn -0.5774 0.5774 -0.5774 +vn -0.5774 -0.5774 -0.5774 +vn 0.5774 0.5774 -0.5774 +vn 0.5774 -0.5774 -0.5774 +vn 0.8922 0.4517 0.0000 +vn 0.8952 0.4457 0.0000 +vn 0.5774 0.5774 0.5774 +vn 0.5774 -0.5774 0.5774 +vn 0.0000 0.4451 0.8955 +vn 0.0000 0.4498 0.8931 +vn 0.0000 0.4446 -0.8957 +vn 0.0000 0.4493 -0.8934 +usemtl None +s off +f 1/1/1 2/2/1 3/3/1 4/4/1 +f 4/5/2 3/6/2 5/7/2 6/8/2 +f 6/9/3 5/10/3 7/11/3 8/12/3 +f 8/13/4 7/14/4 2/15/4 1/16/4 +f 4/17/5 6/18/5 8/19/5 1/20/5 +f 2/21/6 7/22/6 5/23/6 3/24/6 +s 1 +f 9/25/7 10/26/8 11/27/9 12/28/10 13/29/11 14/30/12 +f 14/31/12 13/32/11 15/33/13 16/34/14 +f 16/35/14 15/36/13 17/37/15 18/38/16 19/39/17 20/40/18 +f 20/41/18 19/42/17 10/43/8 9/44/7 +f 14/45/12 16/46/14 20/47/18 9/48/7 +f 18/49/16 11/50/9 10/51/8 19/52/17 +f 15/53/13 13/54/11 12/55/10 17/56/15 +f 21/57/18 22/58/17 23/59/19 24/60/20 25/61/8 26/62/7 +f 26/63/7 25/64/8 27/65/11 28/66/12 +f 28/67/12 27/68/11 29/69/21 30/70/22 31/71/13 32/72/14 +f 32/73/14 31/74/13 22/75/17 21/76/18 +f 26/77/7 28/78/12 32/79/14 21/80/18 +f 30/81/22 23/82/19 22/83/17 31/84/13 +f 27/85/11 25/86/8 24/87/20 29/88/21 diff --git a/technic/models/technic_beam_216_tee.obj b/technic/models/technic_beam_216_tee.obj new file mode 100644 index 0000000..9a76eaf --- /dev/null +++ b/technic/models/technic_beam_216_tee.obj @@ -0,0 +1,91 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +mtllib technic_beam_216_tee.mtl +o Cube_Cube.002 +v 0.500000 -0.000000 0.062500 +v 0.500000 0.500000 0.062500 +v -0.500000 0.500000 0.062500 +v -0.500000 -0.000000 0.062500 +v -0.500000 0.500000 -0.062500 +v -0.500000 0.000000 -0.062500 +v 0.500000 0.500000 -0.062500 +v 0.500000 0.000000 -0.062500 +v -0.062500 0.000000 0.000000 +v -0.062500 0.500000 0.000000 +v -0.062500 0.500000 -0.063387 +v -0.062500 0.500000 -0.500000 +v -0.062500 0.000000 -0.500000 +v -0.062500 0.000000 -0.062645 +v 0.062500 0.500000 -0.500000 +v 0.062500 0.000000 -0.500000 +v 0.062500 0.000000 -0.062253 +v 0.062500 0.500000 -0.063564 +v 0.062500 0.500000 0.000000 +v 0.062500 0.000000 0.000000 +vt 0.999900 0.500100 +vt 0.999900 1.000000 +vt 0.000100 1.000000 +vt 0.000100 0.500100 +vt 0.124975 0.500100 +vt 0.124975 1.000000 +vt 0.000000 1.000000 +vt -0.000000 0.500100 +vt 0.999900 0.500100 +vt 0.999900 1.000000 +vt 0.000100 1.000000 +vt 0.000100 0.500100 +vt 0.124975 0.500100 +vt 0.124975 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.500100 +vt 0.000200 1.000000 +vt 0.000200 0.875025 +vt 1.000000 0.875025 +vt 1.000000 1.000000 +vt 0.000200 1.000000 +vt 0.000200 0.875025 +vt 1.000000 0.875025 +vt 1.000000 1.000000 +vt 0.500000 0.500100 +vt 0.500000 1.000000 +vt 0.436625 1.000000 +vt 0.000100 1.000000 +vt 0.000100 0.500100 +vt 0.437367 0.500100 +vt 0.124975 0.500100 +vt 0.124975 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.500100 +vt 0.562340 1.000000 +vt 0.562733 0.875025 +vt 1.000000 0.875025 +vt 1.000000 1.000000 +vt 0.563475 1.000000 +vt 0.563651 0.875025 +vt 1.000000 0.875025 +vt 1.000000 1.000000 +vt 0.999900 0.500100 +vt 0.999900 1.000000 +vt 0.563551 1.000000 +vt 0.500000 1.000000 +vt 0.500000 0.500100 +vt 0.562240 0.500100 +vn 0.0000 -0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 -0.0000 +vn 0.0000 1.0000 0.0000 +usemtl None +s 1 +f 1/1/1 2/2/1 3/3/1 4/4/1 +f 4/5/2 3/6/2 5/7/2 6/8/2 +f 6/9/3 5/10/3 7/11/3 8/12/3 +f 8/13/4 7/14/4 2/15/4 1/16/4 +f 4/17/5 6/18/5 8/19/5 1/20/5 +f 5/21/6 3/22/6 2/23/6 7/24/6 +f 9/25/2 10/26/2 11/27/2 12/28/2 13/29/2 14/30/2 +f 13/31/3 12/32/3 15/33/3 16/34/3 +f 17/35/5 14/36/5 13/37/5 16/38/5 +f 11/39/6 18/40/6 15/41/6 12/42/6 +f 16/43/4 15/44/4 18/45/4 19/46/4 20/47/4 17/48/4 diff --git a/technic/models/technic_block_fluted.obj b/technic/models/technic_block_fluted.obj new file mode 100644 index 0000000..7a2a2af --- /dev/null +++ b/technic/models/technic_block_fluted.obj @@ -0,0 +1,826 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +mtllib technic_block_fluted.mtl +o Cube_Cube.003 +v -0.214286 -0.500000 -0.500000 +v -0.214286 0.500000 -0.500000 +v -0.071429 0.500000 -0.500000 +v -0.071429 -0.500000 -0.500000 +v 0.214286 -0.500000 0.500000 +v 0.214286 0.500000 0.500000 +v 0.071429 0.500000 0.500000 +v 0.071429 -0.500000 0.500000 +v -0.500000 0.500000 0.214286 +v -0.500000 0.500000 0.071429 +v -0.500000 -0.500000 0.071429 +v -0.500000 -0.500000 0.214286 +v -0.500000 0.500000 0.500000 +v -0.500000 0.500000 0.357143 +v -0.500000 -0.500000 0.357143 +v -0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 -0.357143 +v -0.500000 0.500000 -0.357143 +v -0.500000 0.500000 -0.500000 +v -0.500000 -0.500000 -0.500000 +v -0.500000 -0.500000 -0.071429 +v -0.500000 0.500000 -0.071429 +v -0.500000 0.500000 -0.214286 +v -0.500000 -0.500000 -0.214286 +v -0.450000 0.500000 0.357143 +v -0.450000 -0.500000 0.357143 +v -0.450000 0.500000 0.214286 +v -0.450000 -0.500000 0.214286 +v -0.450000 -0.500000 0.071429 +v -0.450000 0.500000 0.071429 +v -0.450000 0.500000 -0.071429 +v -0.450000 -0.500000 -0.071429 +v -0.450000 -0.500000 -0.214286 +v -0.450000 0.500000 -0.214286 +v -0.450000 0.500000 -0.357143 +v -0.450000 -0.500000 -0.357143 +v 0.500000 -0.500000 -0.214286 +v 0.500000 0.500000 -0.214286 +v 0.500000 0.500000 -0.071429 +v 0.500000 -0.500000 -0.071429 +v 0.450000 -0.500000 -0.357143 +v 0.450000 0.500000 -0.357143 +v 0.450000 0.500000 -0.214286 +v 0.450000 -0.500000 -0.214286 +v 0.450000 0.500000 -0.071429 +v 0.450000 -0.500000 -0.071429 +v 0.500000 -0.500000 -0.500000 +v 0.500000 0.500000 -0.500000 +v 0.500000 0.500000 -0.357143 +v 0.500000 -0.500000 -0.357143 +v 0.500000 -0.500000 0.357143 +v 0.500000 0.500000 0.357143 +v 0.500000 0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 0.071429 +v 0.500000 0.500000 0.071429 +v 0.500000 0.500000 0.214286 +v 0.500000 -0.500000 0.214286 +v 0.450000 -0.500000 0.214286 +v 0.450000 0.500000 0.214286 +v 0.450000 0.500000 0.357143 +v 0.450000 -0.500000 0.357143 +v 0.450000 0.500000 0.071429 +v 0.450000 -0.500000 0.071429 +v -0.071429 0.500000 0.500000 +v -0.071429 -0.500000 0.500000 +v -0.071429 -0.500000 0.450000 +v -0.071429 0.500000 0.450000 +v 0.357143 -0.500000 0.450000 +v 0.357143 0.500000 0.450000 +v 0.214286 0.500000 0.450000 +v 0.214286 -0.500000 0.450000 +v 0.357143 0.500000 0.500000 +v 0.357143 -0.500000 0.500000 +v -0.357143 0.500000 0.500000 +v -0.357143 -0.500000 0.500000 +v -0.357143 -0.500000 0.450000 +v -0.357143 0.500000 0.450000 +v -0.214286 0.500000 0.500000 +v -0.214286 -0.500000 0.500000 +v -0.214286 -0.500000 0.450000 +v -0.214286 0.500000 0.450000 +v 0.071429 -0.500000 0.450000 +v 0.071429 0.500000 0.450000 +v 0.357143 0.500000 -0.500000 +v 0.357143 -0.500000 -0.500000 +v 0.357143 -0.500000 -0.450000 +v 0.357143 0.500000 -0.450000 +v -0.357143 -0.500000 -0.450000 +v -0.357143 0.500000 -0.450000 +v -0.214286 0.500000 -0.450000 +v -0.214286 -0.500000 -0.450000 +v 0.214286 -0.500000 -0.500000 +v 0.214286 0.500000 -0.500000 +v 0.214286 0.500000 -0.450000 +v 0.214286 -0.500000 -0.450000 +v -0.071429 0.500000 -0.450000 +v -0.071429 -0.500000 -0.450000 +v -0.357143 0.500000 -0.500000 +v -0.357143 -0.500000 -0.500000 +v 0.071429 -0.500000 -0.500000 +v 0.071429 0.500000 -0.500000 +v 0.071429 0.500000 -0.450000 +v 0.071429 -0.500000 -0.450000 +v -0.500000 -0.500000 0.357143 +v -0.450000 -0.500000 0.357143 +v -0.357143 -0.500000 0.450000 +v -0.357143 -0.500000 0.500000 +v -0.500000 -0.500000 0.500000 +v 0.357143 0.500000 -0.500000 +v 0.357143 0.500000 -0.450000 +v 0.450000 0.500000 -0.357143 +v 0.500000 0.500000 -0.357143 +v 0.500000 0.500000 -0.500000 +v 0.500000 0.500000 -0.071429 +v 0.500000 0.500000 -0.214286 +v 0.450000 0.500000 -0.214286 +v 0.450000 0.500000 -0.071429 +v 0.500000 0.500000 0.214286 +v 0.500000 0.500000 0.071429 +v 0.450000 0.500000 0.071429 +v 0.450000 0.500000 0.214286 +v 0.500000 0.500000 0.500000 +v 0.500000 0.500000 0.357143 +v 0.450000 0.500000 0.357143 +v 0.357143 0.500000 0.450000 +v 0.357143 0.500000 0.500000 +v 0.071429 0.500000 0.500000 +v 0.214286 0.500000 0.500000 +v 0.214286 0.500000 0.450000 +v 0.071429 0.500000 0.450000 +v -0.071429 0.500000 0.500000 +v -0.071429 0.500000 0.450000 +v -0.214286 0.500000 0.450000 +v -0.214286 0.500000 0.500000 +v -0.357143 0.500000 0.500000 +v -0.357143 0.500000 0.450000 +v -0.450000 0.500000 0.357143 +v -0.500000 0.500000 0.357143 +v -0.500000 0.500000 0.500000 +v -0.500000 0.500000 0.214286 +v -0.450000 0.500000 0.214286 +v -0.450000 0.500000 0.071429 +v -0.500000 0.500000 0.071429 +v -0.500000 0.500000 -0.071429 +v -0.450000 0.500000 -0.071429 +v -0.450000 0.500000 -0.214286 +v -0.500000 0.500000 -0.214286 +v -0.500000 0.500000 -0.357143 +v -0.450000 0.500000 -0.357143 +v -0.357143 0.500000 -0.450000 +v -0.357143 0.500000 -0.500000 +v -0.500000 0.500000 -0.500000 +v -0.071429 0.500000 -0.500000 +v -0.214286 0.500000 -0.500000 +v -0.214286 0.500000 -0.450000 +v -0.071429 0.500000 -0.450000 +v 0.214286 0.500000 -0.500000 +v 0.071429 0.500000 -0.500000 +v 0.071429 0.500000 -0.450000 +v 0.214286 0.500000 -0.450000 +v -0.450000 -0.500000 0.214286 +v -0.500000 -0.500000 0.214286 +v -0.500000 -0.500000 0.071429 +v -0.450000 -0.500000 0.071429 +v -0.450000 -0.500000 -0.071429 +v -0.500000 -0.500000 -0.071429 +v -0.500000 -0.500000 -0.214286 +v -0.450000 -0.500000 -0.214286 +v -0.071429 -0.500000 0.450000 +v -0.071429 -0.500000 0.500000 +v -0.214286 -0.500000 0.500000 +v -0.214286 -0.500000 0.450000 +v 0.214286 -0.500000 0.450000 +v 0.214286 -0.500000 0.500000 +v 0.071429 -0.500000 0.500000 +v 0.071429 -0.500000 0.450000 +v -0.450000 -0.500000 -0.357143 +v -0.500000 -0.500000 -0.357143 +v -0.500000 -0.500000 -0.500000 +v -0.357143 -0.500000 -0.500000 +v -0.357143 -0.500000 -0.450000 +v 0.450000 -0.500000 0.357143 +v 0.500000 -0.500000 0.357143 +v 0.500000 -0.500000 0.500000 +v 0.357143 -0.500000 0.500000 +v 0.357143 -0.500000 0.450000 +v 0.450000 -0.500000 0.071429 +v 0.500000 -0.500000 0.071429 +v 0.500000 -0.500000 0.214286 +v 0.450000 -0.500000 0.214286 +v 0.450000 -0.500000 -0.214286 +v 0.500000 -0.500000 -0.214286 +v 0.500000 -0.500000 -0.071429 +v 0.450000 -0.500000 -0.071429 +v -0.214286 -0.500000 -0.450000 +v -0.214286 -0.500000 -0.500000 +v -0.071429 -0.500000 -0.500000 +v -0.071429 -0.500000 -0.450000 +v 0.071429 -0.500000 -0.450000 +v 0.071429 -0.500000 -0.500000 +v 0.214286 -0.500000 -0.500000 +v 0.214286 -0.500000 -0.450000 +v 0.357143 -0.500000 -0.450000 +v 0.357143 -0.500000 -0.500000 +v 0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 -0.357143 +v 0.450000 -0.500000 -0.357143 +vt 0.703261 0.000176 +vt 0.703260 0.999999 +vt 0.593390 0.999999 +vt 0.593390 0.000176 +vt 0.703261 0.000176 +vt 0.703261 1.000000 +vt 0.593390 1.000000 +vt 0.593390 0.000176 +vt 0.703174 0.999823 +vt 0.593303 0.999824 +vt 0.593303 0.000000 +vt 0.703173 0.000000 +vt 0.999825 0.999823 +vt 0.889954 0.999823 +vt 0.889954 0.000000 +vt 0.999825 0.000000 +vt 0.109871 0.000001 +vt 0.109872 0.999824 +vt 0.000001 0.999825 +vt 0.000000 0.000001 +vt 0.406522 0.000000 +vt 0.406523 0.999824 +vt 0.296652 0.999824 +vt 0.296651 0.000001 +vt 0.851499 0.999823 +vt 0.851499 0.000000 +vt 0.741628 0.999823 +vt 0.741628 0.000000 +vt 0.554848 0.000000 +vt 0.554848 0.999824 +vt 0.444977 0.999824 +vt 0.444977 0.000000 +vt 0.258196 0.000001 +vt 0.258197 0.999824 +vt 0.148327 0.999824 +vt 0.148326 0.000001 +vt 0.703554 0.000088 +vt 0.703554 0.999911 +vt 0.593684 0.999911 +vt 0.593683 0.000088 +vt 0.851879 0.000088 +vt 0.851879 0.999911 +vt 0.742009 0.999911 +vt 0.742009 0.000088 +vt 0.555229 0.999911 +vt 0.555228 0.000088 +vt 1.000205 0.000087 +vt 1.000205 0.999911 +vt 0.890334 0.999911 +vt 0.890334 0.000088 +vt 0.110251 0.000088 +vt 0.110252 0.999912 +vt 0.000382 0.999913 +vt 0.000380 0.000089 +vt 0.406902 0.000088 +vt 0.406903 0.999912 +vt 0.297032 0.999912 +vt 0.297031 0.000088 +vt 0.258577 0.000088 +vt 0.258578 0.999912 +vt 0.148707 0.999912 +vt 0.148706 0.000088 +vt 0.445358 0.999911 +vt 0.445357 0.000088 +vt 0.406609 1.000000 +vt 0.406610 0.000176 +vt 0.445064 0.000176 +vt 0.445064 1.000000 +vt 0.851587 0.000177 +vt 0.851586 1.000000 +vt 0.741715 1.000000 +vt 0.741716 0.000176 +vt 0.999912 0.000177 +vt 0.999911 1.000000 +vt 0.890041 1.000000 +vt 0.890041 0.000177 +vt 0.109959 1.000000 +vt 0.109959 0.000176 +vt 0.148413 0.000176 +vt 0.148413 1.000000 +vt 0.000088 1.000000 +vt 0.000088 0.000176 +vt 0.296739 1.000000 +vt 0.296739 0.000176 +vt 0.258284 0.000176 +vt 0.258284 1.000000 +vt 0.554936 0.000176 +vt 0.554935 1.000000 +vt 0.109958 0.999999 +vt 0.109959 0.000175 +vt 0.148413 0.000175 +vt 0.148413 0.999999 +vt 0.851587 0.000176 +vt 0.851585 1.000000 +vt 0.741715 1.000000 +vt 0.741716 0.000176 +vt 0.296739 0.000176 +vt 0.296738 0.999999 +vt 0.258283 0.999999 +vt 0.258284 0.000176 +vt 0.554935 0.999999 +vt 0.554936 0.000176 +vt 0.999912 0.000177 +vt 0.999911 1.000000 +vt 0.890040 1.000000 +vt 0.890041 0.000177 +vt 0.000088 0.999999 +vt 0.000088 0.000175 +vt 0.406610 0.000176 +vt 0.406609 0.999999 +vt 0.445063 0.999999 +vt 0.445064 0.000176 +vt 0.999900 0.142928 +vt 0.949910 0.142928 +vt 0.857071 0.050090 +vt 0.857071 0.000100 +vt 0.999900 0.000100 +vt 0.142857 0.000000 +vt 0.142857 0.050000 +vt 0.050000 0.142857 +vt 0.000000 0.142857 +vt 0.000000 0.000000 +vt 0.000000 0.428571 +vt 0.000000 0.285714 +vt 0.050000 0.285714 +vt 0.050000 0.428571 +vt 0.000000 0.714286 +vt 0.000000 0.571429 +vt 0.050000 0.571429 +vt 0.050000 0.714286 +vt 0.000000 1.000000 +vt 0.000000 0.857143 +vt 0.050000 0.857143 +vt 0.142857 0.950000 +vt 0.142857 1.000000 +vt 0.428571 1.000000 +vt 0.285714 1.000000 +vt 0.285714 0.950000 +vt 0.428571 0.950000 +vt 0.571429 1.000000 +vt 0.571429 0.950000 +vt 0.714286 0.950000 +vt 0.714286 1.000000 +vt 0.857143 1.000000 +vt 0.857143 0.950000 +vt 0.950000 0.857143 +vt 1.000000 0.857143 +vt 1.000000 1.000000 +vt 1.000000 0.714286 +vt 0.950000 0.714286 +vt 0.950000 0.571429 +vt 1.000000 0.571429 +vt 1.000000 0.428571 +vt 0.950000 0.428571 +vt 0.950000 0.285714 +vt 1.000000 0.285714 +vt 1.000000 0.142857 +vt 0.950000 0.142857 +vt 0.857143 0.050000 +vt 0.857143 0.000000 +vt 1.000000 0.000000 +vt 0.571429 0.000000 +vt 0.714286 0.000000 +vt 0.714286 0.050000 +vt 0.571429 0.050000 +vt 0.285714 0.000000 +vt 0.428571 0.000000 +vt 0.428571 0.050000 +vt 0.285714 0.050000 +vt 0.949910 0.285757 +vt 0.999899 0.285757 +vt 0.999900 0.428585 +vt 0.949910 0.428585 +vt 0.949910 0.571414 +vt 0.999900 0.571414 +vt 0.999900 0.714242 +vt 0.949910 0.714242 +vt 0.571414 0.050090 +vt 0.571414 0.000100 +vt 0.714243 0.000100 +vt 0.714243 0.050090 +vt 0.285757 0.050090 +vt 0.285757 0.000100 +vt 0.428585 0.000100 +vt 0.428585 0.050090 +vt 0.949910 0.857071 +vt 0.999900 0.857071 +vt 0.999900 0.999899 +vt 0.857072 0.999899 +vt 0.857072 0.949909 +vt 0.050090 0.142929 +vt 0.000100 0.142929 +vt 0.000100 0.000100 +vt 0.142928 0.000100 +vt 0.142928 0.050090 +vt 0.050090 0.428586 +vt 0.000100 0.428586 +vt 0.000100 0.285757 +vt 0.050090 0.285757 +vt 0.050090 0.714243 +vt 0.000100 0.714243 +vt 0.000100 0.571415 +vt 0.050090 0.571415 +vt 0.714243 0.949909 +vt 0.714243 0.999899 +vt 0.571415 0.999899 +vt 0.571415 0.949910 +vt 0.428586 0.949910 +vt 0.428586 0.999900 +vt 0.285757 0.999900 +vt 0.285757 0.949910 +vt 0.142929 0.949910 +vt 0.142929 0.999900 +vt 0.000100 0.999900 +vt 0.000100 0.857072 +vt 0.050090 0.857072 +vt 0.256468 0.326048 +vt 0.256468 0.256468 +vt 0.256468 0.256468 +vt 0.256468 0.326048 +vt 0.481599 0.628810 +vt 0.481599 0.615929 +vt 0.481599 0.615929 +vt 0.481599 0.628810 +vt 0.604371 0.719179 +vt 0.604371 0.743532 +vt 0.604371 0.743532 +vt 0.604371 0.719179 +vt 0.371190 0.592007 +vt 0.371190 0.628810 +vt 0.371190 0.628810 +vt 0.371190 0.592007 +vt 0.534790 0.743532 +vt 0.534790 0.719179 +vt 0.534790 0.719179 +vt 0.534790 0.743532 +vt 0.615929 0.518401 +vt 0.615929 0.481599 +vt 0.615929 0.481599 +vt 0.615929 0.518401 +vt 0.256468 0.604371 +vt 0.256468 0.534790 +vt 0.256468 0.534790 +vt 0.256468 0.604371 +vt 0.673952 0.743532 +vt 0.673952 0.719179 +vt 0.673952 0.719179 +vt 0.673952 0.743532 +vt 0.673952 0.256468 +vt 0.743532 0.256468 +vt 0.743532 0.256468 +vt 0.673952 0.256468 +vt 0.518401 0.615929 +vt 0.518401 0.628810 +vt 0.518401 0.628810 +vt 0.518401 0.615929 +vt 0.534790 0.256468 +vt 0.604371 0.256468 +vt 0.604371 0.256468 +vt 0.534790 0.256468 +vt 0.719179 0.326048 +vt 0.719179 0.395629 +vt 0.719179 0.395629 +vt 0.719179 0.326048 +vt 0.615929 0.592007 +vt 0.615929 0.555204 +vt 0.615929 0.555204 +vt 0.615929 0.592007 +vt 0.481599 0.371190 +vt 0.444796 0.371190 +vt 0.444796 0.371190 +vt 0.481599 0.371190 +vt 0.465210 0.280821 +vt 0.534790 0.280821 +vt 0.534790 0.280821 +vt 0.465210 0.280821 +vt 0.628810 0.518401 +vt 0.628810 0.518401 +vt 0.743532 0.534790 +vt 0.743532 0.604371 +vt 0.743532 0.604371 +vt 0.743532 0.534790 +vt 0.395629 0.256468 +vt 0.465210 0.256468 +vt 0.465210 0.256468 +vt 0.395629 0.256468 +vt 0.743532 0.395629 +vt 0.743532 0.395629 +vt 0.371190 0.444796 +vt 0.371190 0.481599 +vt 0.371190 0.481599 +vt 0.371190 0.444796 +vt 0.628810 0.444796 +vt 0.615929 0.444796 +vt 0.615929 0.444796 +vt 0.628810 0.444796 +vt 0.719179 0.604371 +vt 0.719179 0.604371 +vt 0.719179 0.673952 +vt 0.743532 0.673952 +vt 0.743532 0.673952 +vt 0.719179 0.673952 +vt 0.615929 0.407993 +vt 0.628810 0.407993 +vt 0.628810 0.407993 +vt 0.615929 0.407993 +vt 0.384071 0.407993 +vt 0.384071 0.444796 +vt 0.384071 0.444796 +vt 0.384071 0.407993 +vt 0.555204 0.371190 +vt 0.518401 0.371190 +vt 0.518401 0.371190 +vt 0.555204 0.371190 +vt 0.743532 0.326048 +vt 0.743532 0.326048 +vt 0.280821 0.534790 +vt 0.280821 0.465210 +vt 0.280821 0.465210 +vt 0.280821 0.534790 +vt 0.628810 0.481599 +vt 0.628810 0.481599 +vt 0.280821 0.673952 +vt 0.280821 0.604371 +vt 0.280821 0.604371 +vt 0.280821 0.673952 +vt 0.407993 0.371190 +vt 0.371190 0.371190 +vt 0.371190 0.371190 +vt 0.407993 0.371190 +vt 0.743532 0.465210 +vt 0.719179 0.465210 +vt 0.719179 0.465210 +vt 0.743532 0.465210 +vt 0.384071 0.481599 +vt 0.384071 0.518401 +vt 0.384071 0.518401 +vt 0.384071 0.481599 +vt 0.604371 0.280821 +vt 0.673952 0.280821 +vt 0.673952 0.280821 +vt 0.604371 0.280821 +vt 0.628810 0.555204 +vt 0.628810 0.555204 +vt 0.384071 0.555204 +vt 0.384071 0.592007 +vt 0.384071 0.592007 +vt 0.384071 0.555204 +vt 0.628810 0.592007 +vt 0.628810 0.592007 +vt 0.407993 0.384071 +vt 0.407993 0.384071 +vt 0.592007 0.628810 +vt 0.628810 0.628810 +vt 0.628810 0.628810 +vt 0.592007 0.628810 +vt 0.465210 0.743532 +vt 0.395629 0.743532 +vt 0.395629 0.743532 +vt 0.465210 0.743532 +vt 0.444796 0.384071 +vt 0.444796 0.384071 +vt 0.555204 0.628810 +vt 0.555204 0.628810 +vt 0.280821 0.395629 +vt 0.280821 0.326048 +vt 0.280821 0.326048 +vt 0.280821 0.395629 +vt 0.326048 0.743532 +vt 0.256468 0.743532 +vt 0.256468 0.743532 +vt 0.326048 0.743532 +vt 0.465210 0.719179 +vt 0.465210 0.719179 +vt 0.518401 0.384071 +vt 0.481599 0.384071 +vt 0.481599 0.384071 +vt 0.518401 0.384071 +vt 0.256468 0.673952 +vt 0.256468 0.673952 +vt 0.256468 0.395629 +vt 0.256468 0.395629 +vt 0.326048 0.280821 +vt 0.395629 0.280821 +vt 0.395629 0.280821 +vt 0.326048 0.280821 +vt 0.444796 0.628810 +vt 0.444796 0.628810 +vt 0.592007 0.384071 +vt 0.555204 0.384071 +vt 0.555204 0.384071 +vt 0.592007 0.384071 +vt 0.371190 0.555204 +vt 0.371190 0.555204 +vt 0.371190 0.407993 +vt 0.371190 0.407993 +vt 0.326048 0.256468 +vt 0.326048 0.256468 +vt 0.395629 0.719179 +vt 0.326048 0.719179 +vt 0.326048 0.719179 +vt 0.395629 0.719179 +vt 0.371190 0.518401 +vt 0.371190 0.518401 +vt 0.444796 0.615929 +vt 0.444796 0.615929 +vt 0.256468 0.465210 +vt 0.256468 0.465210 +vt 0.555204 0.615929 +vt 0.592007 0.615929 +vt 0.592007 0.615929 +vt 0.555204 0.615929 +vt 0.743532 0.743532 +vt 0.743532 0.743532 +vt 0.592007 0.371190 +vt 0.592007 0.371190 +vt 0.719179 0.534790 +vt 0.719179 0.534790 +vt 0.628810 0.371190 +vt 0.628810 0.371190 +vt 0.407993 0.615929 +vt 0.407993 0.615929 +vt 0.407993 0.628810 +vt 0.407993 0.628810 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 -0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +usemtl None +s 1 +f 1/1/1 2/2/1 3/3/1 4/4/1 +f 5/5/2 6/6/2 7/7/2 8/8/2 +f 9/9/3 10/10/3 11/11/3 12/12/3 +f 13/13/3 14/14/3 15/15/3 16/16/3 +f 17/17/3 18/18/3 19/19/3 20/20/3 +f 21/21/3 22/22/3 23/23/3 24/24/3 +f 15/15/1 14/14/1 25/25/1 26/26/1 +f 25/25/3 27/27/3 28/28/3 26/26/3 +f 29/29/3 30/30/3 31/31/3 32/32/3 +f 33/33/3 34/34/3 35/35/3 36/36/3 +f 18/18/2 17/17/2 36/36/2 35/35/2 +f 11/11/1 10/10/1 30/30/1 29/29/1 +f 22/22/2 21/21/2 32/32/2 31/31/2 +f 9/9/2 12/12/2 28/28/2 27/27/2 +f 24/24/1 23/23/1 34/34/1 33/33/1 +f 37/37/4 38/38/4 39/39/4 40/40/4 +f 41/41/4 42/42/4 43/43/4 44/44/4 +f 40/40/2 39/39/2 45/45/2 46/46/2 +f 47/47/4 48/48/4 49/49/4 50/50/4 +f 38/38/1 37/37/1 44/44/1 43/43/1 +f 51/51/4 52/52/4 53/53/4 54/54/4 +f 50/50/2 49/49/2 42/42/2 41/41/2 +f 55/55/4 56/56/4 57/57/4 58/58/4 +f 59/59/4 60/60/4 61/61/4 62/62/4 +f 46/46/4 45/45/4 63/63/4 64/64/4 +f 56/56/1 55/55/1 64/64/1 63/63/1 +f 58/58/2 57/57/2 60/60/2 59/59/2 +f 52/52/1 51/51/1 62/62/1 61/61/1 +f 65/65/4 66/66/4 67/67/4 68/68/4 +f 69/69/2 70/70/2 71/71/2 72/72/2 +f 6/6/4 5/5/4 72/72/4 71/71/4 +f 54/73/2 53/74/2 73/75/2 74/76/2 +f 75/77/4 76/78/4 77/79/4 78/80/4 +f 76/78/2 75/77/2 13/81/2 16/82/2 +f 66/66/2 65/65/2 79/83/2 80/84/2 +f 81/85/2 82/86/2 78/80/2 77/79/2 +f 83/87/2 84/88/2 68/68/2 67/67/2 +f 80/84/3 79/83/3 82/86/3 81/85/3 +f 74/76/3 73/75/3 70/70/3 69/69/3 +f 8/8/3 7/7/3 84/88/3 83/87/3 +f 85/89/3 86/90/3 87/91/3 88/92/3 +f 89/93/1 90/94/1 91/95/1 92/96/1 +f 93/97/4 94/98/4 95/99/4 96/100/4 +f 4/4/4 3/3/4 97/101/4 98/102/4 +f 20/103/1 19/104/1 99/105/1 100/106/1 +f 86/90/1 85/89/1 48/107/1 47/108/1 +f 101/109/1 102/110/1 94/98/1 93/97/1 +f 96/100/1 95/99/1 88/92/1 87/91/1 +f 98/102/1 97/101/1 103/111/1 104/112/1 +f 100/106/4 99/105/4 90/94/4 89/93/4 +f 102/110/3 101/109/3 104/112/3 103/111/3 +f 2/2/3 1/1/3 92/96/3 91/95/3 +f 105/113/5 106/114/5 107/115/5 108/116/5 109/117/5 +f 110/118/6 111/119/6 112/120/6 113/121/6 114/122/6 +f 115/123/6 116/124/6 117/125/6 118/126/6 +f 119/127/6 120/128/6 121/129/6 122/130/6 +f 123/131/6 124/132/6 125/133/6 126/134/6 127/135/6 +f 128/136/6 129/137/6 130/138/6 131/139/6 +f 132/140/6 133/141/6 134/142/6 135/143/6 +f 136/144/6 137/145/6 138/146/6 139/147/6 140/148/6 +f 141/149/6 142/150/6 143/151/6 144/152/6 +f 145/153/6 146/154/6 147/155/6 148/156/6 +f 149/157/6 150/158/6 151/159/6 152/160/6 153/161/6 +f 154/162/6 155/163/6 156/164/6 157/165/6 +f 158/166/6 159/167/6 160/168/6 161/169/6 +f 147/155/6 146/154/6 143/151/6 142/150/6 138/146/6 137/145/6 134/142/6 133/141/6 131/139/6 130/138/6 126/134/6 125/133/6 122/130/6 121/129/6 118/126/6 117/125/6 112/120/6 111/119/6 161/169/6 160/168/6 157/165/6 156/164/6 151/159/6 150/158/6 +f 162/170/5 163/171/5 164/172/5 165/173/5 +f 166/174/5 167/175/5 168/176/5 169/177/5 +f 170/178/5 171/179/5 172/180/5 173/181/5 +f 174/182/5 175/183/5 176/184/5 177/185/5 +f 178/186/5 179/187/5 180/188/5 181/189/5 182/190/5 +f 183/191/5 184/192/5 185/193/5 186/194/5 187/195/5 +f 188/196/5 189/197/5 190/198/5 191/199/5 +f 192/200/5 193/201/5 194/202/5 195/203/5 +f 196/204/5 197/205/5 198/206/5 199/207/5 +f 200/208/5 201/209/5 202/210/5 203/211/5 +f 204/212/5 205/213/5 206/214/5 207/215/5 208/216/5 +f 208/216/5 192/200/5 195/203/5 188/196/5 191/199/5 183/191/5 187/195/5 174/182/5 177/185/5 170/178/5 173/181/5 107/115/5 106/114/5 162/170/5 165/173/5 166/174/5 169/177/5 178/186/5 182/190/5 196/204/5 199/207/5 200/208/5 203/211/5 204/212/5 +f 17/217/2 20/218/2 180/219/2 179/220/2 +f 65/221/2 68/222/2 133/223/2 132/224/2 +f 72/225/2 5/226/2 175/227/2 174/228/2 +f 14/229/2 13/230/2 140/231/2 139/232/2 +f 8/233/2 83/234/2 177/235/2 176/236/2 +f 63/237/2 45/238/2 118/239/2 121/240/2 +f 12/241/2 11/242/2 164/243/2 163/244/2 +f 74/245/2 69/246/2 187/247/2 186/248/2 +f 86/249/2 47/250/2 206/251/2 205/252/2 +f 84/253/2 7/254/2 128/255/2 131/256/2 +f 101/257/2 93/258/2 202/259/2 201/260/2 +f 41/261/2 44/262/2 192/263/2 208/264/2 +f 61/265/2 60/266/2 122/267/2 125/268/2 +f 3/269/2 2/270/2 155/271/2 154/272/2 +f 98/273/2 104/274/2 200/275/2 199/276/2 +f 56/277/2 63/237/2 121/240/2 120/278/2 +f 55/279/2 58/280/2 190/281/2 189/282/2 +f 1/283/2 4/284/2 198/285/2 197/286/2 +f 44/262/2 37/287/2 193/288/2 192/263/2 +f 23/289/2 22/290/2 145/291/2 148/292/2 +f 38/293/2 43/294/2 117/295/2 116/296/2 +f 58/280/2 59/297/2 191/298/2 190/281/2 +f 62/299/2 51/300/2 184/301/2 183/302/2 +f 42/303/2 49/304/2 113/305/2 112/306/2 +f 35/307/2 34/308/2 147/309/2 150/310/2 +f 94/311/2 102/312/2 159/313/2 158/314/2 +f 50/315/2 41/261/2 208/264/2 207/316/2 +f 29/317/2 32/318/2 166/319/2 165/320/2 +f 45/238/2 39/321/2 115/322/2 118/239/2 +f 26/323/2 28/324/2 162/325/2 106/326/2 +f 99/327/2 19/328/2 153/329/2 152/330/2 +f 40/331/2 46/332/2 195/333/2 194/334/2 +f 31/335/2 30/336/2 143/337/2 146/338/2 +f 96/339/2 87/340/2 204/341/2 203/342/2 +f 60/266/2 57/343/2 119/344/2 122/267/2 +f 27/345/2 25/346/2 138/347/2 142/348/2 +f 52/349/2 61/265/2 125/268/2 124/350/2 +f 90/351/2 99/327/2 152/330/2 151/352/2 +f 73/353/2 53/354/2 123/355/2 127/356/2 +f 66/357/2 80/358/2 172/359/2 171/360/2 +f 91/361/2 90/351/2 151/352/2 156/362/2 +f 7/254/2 6/363/2 129/364/2 128/255/2 +f 33/365/2 36/366/2 178/367/2 169/368/2 +f 76/369/2 16/370/2 109/371/2 108/372/2 +f 5/226/2 8/233/2 176/236/2 175/227/2 +f 83/234/2 67/373/2 170/374/2 177/235/2 +f 103/375/2 97/376/2 157/377/2 160/378/2 +f 25/346/2 14/229/2 139/232/2 138/347/2 +f 15/379/2 26/323/2 106/326/2 105/380/2 +f 24/381/2 33/365/2 169/368/2 168/382/2 +f 89/383/2 92/384/2 196/385/2 182/386/2 +f 79/387/2 65/221/2 132/224/2 135/388/2 +f 36/366/2 17/217/2 179/220/2 178/367/2 +f 88/389/2 95/390/2 161/391/2 111/392/2 +f 9/393/2 27/345/2 142/348/2 141/394/2 +f 18/395/2 35/307/2 150/310/2 149/396/2 +f 100/397/2 89/383/2 182/386/2 181/398/2 +f 81/399/2 77/400/2 107/401/2 173/402/2 +f 30/336/2 10/403/2 144/404/2 143/337/2 +f 2/270/2 91/361/2 156/362/2 155/271/2 +f 11/242/2 29/317/2 165/320/2 164/243/2 +f 97/376/2 3/269/2 154/272/2 157/377/2 +f 82/405/2 79/387/2 135/388/2 134/406/2 +f 32/318/2 21/407/2 167/408/2 166/319/2 +f 4/284/2 98/273/2 199/276/2 198/285/2 +f 22/290/2 31/335/2 146/338/2 145/291/2 +f 92/384/2 1/283/2 197/286/2 196/385/2 +f 71/409/2 70/410/2 126/411/2 130/412/2 +f 28/324/2 12/241/2 163/244/2 162/325/2 +f 95/390/2 94/311/2 158/314/2 161/391/2 +f 34/308/2 23/289/2 148/292/2 147/309/2 +f 93/258/2 96/339/2 203/342/2 202/259/2 +f 51/300/2 54/413/2 185/414/2 184/301/2 +f 87/340/2 86/249/2 205/252/2 204/341/2 +f 85/415/2 88/389/2 111/392/2 110/416/2 +f 68/222/2 84/253/2 131/256/2 133/223/2 +f 104/274/2 101/257/2 201/260/2 200/275/2 +f 16/370/2 15/379/2 105/380/2 109/371/2 +f 102/312/2 103/375/2 160/378/2 159/313/2 +f 46/332/2 64/417/2 188/418/2 195/333/2 +f 19/328/2 18/395/2 149/396/2 153/329/2 +f 69/246/2 72/225/2 174/228/2 187/247/2 +f 49/304/2 48/419/2 114/420/2 113/305/2 +f 20/218/2 100/397/2 181/398/2 180/219/2 +f 78/421/2 82/405/2 134/406/2 137/422/2 +f 39/321/2 38/293/2 116/296/2 115/322/2 +f 48/419/2 85/415/2 110/416/2 114/420/2 +f 57/343/2 56/277/2 120/278/2 119/344/2 +f 47/250/2 50/315/2 207/316/2 206/251/2 +f 80/358/2 81/399/2 173/402/2 172/359/2 +f 43/294/2 42/303/2 112/306/2 117/295/2 +f 53/354/2 52/349/2 124/350/2 123/355/2 +f 77/400/2 76/369/2 108/372/2 107/401/2 +f 37/287/2 40/331/2 194/334/2 193/288/2 +f 75/423/2 78/421/2 137/422/2 136/424/2 +f 64/417/2 55/279/2 189/282/2 188/418/2 +f 54/413/2 74/245/2 186/248/2 185/414/2 +f 6/363/2 71/409/2 130/412/2 129/364/2 +f 13/230/2 75/423/2 136/424/2 140/231/2 +f 70/410/2 73/353/2 127/356/2 126/411/2 +f 59/297/2 62/299/2 183/302/2 191/298/2 +f 21/407/2 24/381/2 168/382/2 167/408/2 +f 67/373/2 66/357/2 171/360/2 170/374/2 +f 10/403/2 9/393/2 141/394/2 144/404/2 diff --git a/technic/models/technic_cylinder_fluted.obj b/technic/models/technic_cylinder_fluted.obj new file mode 100644 index 0000000..bcc4efd --- /dev/null +++ b/technic/models/technic_cylinder_fluted.obj @@ -0,0 +1,919 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +mtllib technic_cylinder_fluted.mtl +o Cylinder_Cylinder.005 +v 0.443505 -0.500000 -0.230874 +v 0.397106 -0.500000 -0.212245 +v 0.354204 -0.500000 -0.277994 +v 0.389943 -0.500000 -0.312962 +v 0.498097 -0.500000 -0.043579 +v 0.448100 -0.500000 -0.044124 +v 0.433625 -0.500000 -0.121286 +v 0.480025 -0.500000 -0.139915 +v -0.212245 -0.500000 -0.397106 +v -0.121286 -0.500000 -0.433625 +v -0.044123 -0.500000 -0.448101 +v 0.053888 -0.500000 -0.447031 +v 0.130715 -0.500000 -0.430876 +v 0.220858 -0.500000 -0.392381 +v 0.285655 -0.500000 -0.348055 +v 0.447031 -0.500000 0.053888 +v 0.430875 -0.500000 0.130716 +v 0.392381 -0.500000 0.220858 +v 0.348055 -0.500000 0.285655 +v 0.277994 -0.500000 0.354202 +v 0.212245 -0.500000 0.397105 +v 0.121285 -0.500000 0.433624 +v 0.044123 -0.500000 0.448100 +v -0.053888 -0.500000 0.447030 +v -0.130717 -0.500000 0.430876 +v -0.220858 -0.500000 0.392381 +v -0.285656 -0.500000 0.348054 +v -0.354204 -0.500000 0.277994 +v -0.397106 -0.500000 0.212244 +v -0.433626 -0.500000 0.121285 +v -0.448101 -0.500000 0.044123 +v -0.447031 -0.500000 -0.053889 +v -0.430876 -0.500000 -0.130717 +v -0.392381 -0.500000 -0.220858 +v -0.348054 -0.500000 -0.285655 +v -0.277993 -0.500000 -0.354204 +v 0.476858 -0.500000 0.150353 +v 0.497028 -0.500000 0.054433 +v 0.383023 -0.500000 0.321394 +v 0.438363 -0.500000 0.240495 +v 0.230874 -0.500000 0.443505 +v 0.312961 -0.500000 0.389942 +v 0.043577 -0.500000 0.498097 +v 0.139914 -0.500000 0.480024 +v -0.150354 -0.500000 0.476858 +v -0.054434 -0.500000 0.497027 +v -0.321394 -0.500000 0.383022 +v -0.240495 -0.500000 0.438363 +v -0.443506 -0.500000 0.230873 +v -0.389943 -0.500000 0.312962 +v -0.498098 -0.500000 0.043578 +v -0.480026 -0.500000 0.139914 +v -0.476858 -0.500000 -0.150354 +v -0.497028 -0.500000 -0.054435 +v -0.383022 -0.500000 -0.321394 +v -0.438363 -0.500000 -0.240495 +v -0.312961 -0.500000 -0.389943 +v -0.230874 -0.500000 -0.443505 +v -0.043578 -0.500000 -0.498098 +v -0.139915 -0.500000 -0.480025 +v 0.150352 -0.500000 -0.476859 +v 0.054433 -0.500000 -0.497028 +v 0.321394 -0.500000 -0.383023 +v 0.240495 -0.500000 -0.438363 +v -0.139915 -0.500000 -0.480025 +v -0.139915 0.500000 -0.480025 +v -0.043578 0.500000 -0.498098 +v -0.043578 -0.500000 -0.498098 +v -0.150354 0.500000 0.476858 +v -0.054434 0.500000 0.497027 +v -0.054434 0.500000 0.497027 +v -0.053888 0.500000 0.447030 +v -0.130717 0.500000 0.430876 +v -0.150354 0.500000 0.476858 +v 0.054433 -0.500000 -0.497028 +v 0.054433 0.500000 -0.497028 +v 0.150352 0.500000 -0.476859 +v 0.150352 -0.500000 -0.476859 +v 0.240495 -0.500000 -0.438363 +v 0.240495 0.500000 -0.438363 +v 0.321394 0.500000 -0.383023 +v 0.321394 -0.500000 -0.383023 +v 0.389943 -0.500000 -0.312962 +v 0.389943 0.500000 -0.312962 +v 0.443505 0.500000 -0.230874 +v 0.443505 -0.500000 -0.230874 +v 0.480025 -0.500000 -0.139915 +v 0.480025 0.500000 -0.139915 +v 0.498097 0.500000 -0.043579 +v 0.498097 -0.500000 -0.043579 +v 0.285655 0.500000 -0.348055 +v 0.321394 0.500000 -0.383023 +v 0.240495 0.500000 -0.438363 +v 0.220858 0.500000 -0.392381 +v 0.497028 -0.500000 0.054433 +v 0.497028 0.500000 0.054433 +v 0.476858 0.500000 0.150353 +v 0.476858 -0.500000 0.150353 +v 0.438363 -0.500000 0.240495 +v 0.438363 0.500000 0.240495 +v 0.383023 0.500000 0.321394 +v 0.383023 -0.500000 0.321394 +v 0.312961 -0.500000 0.389942 +v 0.312961 0.500000 0.389942 +v 0.230874 0.500000 0.443505 +v 0.230874 -0.500000 0.443505 +v 0.139914 -0.500000 0.480024 +v 0.139914 0.500000 0.480024 +v 0.043577 0.500000 0.498097 +v 0.043577 -0.500000 0.498097 +v -0.054434 -0.500000 0.497027 +v -0.150354 -0.500000 0.476858 +v -0.240495 -0.500000 0.438363 +v -0.240495 0.500000 0.438363 +v -0.321394 0.500000 0.383022 +v -0.321394 -0.500000 0.383022 +v -0.389943 -0.500000 0.312962 +v -0.389943 0.500000 0.312962 +v -0.443506 0.500000 0.230873 +v -0.443506 -0.500000 0.230873 +v -0.480026 -0.500000 0.139914 +v -0.480026 0.500000 0.139914 +v -0.498098 0.500000 0.043578 +v -0.498098 -0.500000 0.043578 +v -0.497028 -0.500000 -0.054435 +v -0.497028 0.500000 -0.054435 +v -0.476858 0.500000 -0.150354 +v -0.476858 -0.500000 -0.150354 +v -0.438363 -0.500000 -0.240495 +v -0.438363 0.500000 -0.240495 +v -0.383022 0.500000 -0.321394 +v -0.383022 -0.500000 -0.321394 +v -0.312961 -0.500000 -0.389943 +v -0.312961 0.500000 -0.389943 +v -0.230874 0.500000 -0.443505 +v -0.230874 -0.500000 -0.443505 +v 0.054433 0.500000 -0.497028 +v 0.053888 0.500000 -0.447031 +v 0.130715 0.500000 -0.430876 +v 0.150352 0.500000 -0.476859 +v -0.438363 0.500000 -0.240495 +v -0.392381 0.500000 -0.220858 +v -0.348054 0.500000 -0.285655 +v -0.383022 0.500000 -0.321394 +v -0.285656 0.500000 0.348054 +v -0.321394 0.500000 0.383022 +v -0.240495 0.500000 0.438363 +v -0.220858 0.500000 0.392381 +v -0.389943 0.500000 0.312962 +v -0.354204 0.500000 0.277994 +v -0.397106 0.500000 0.212244 +v -0.443506 0.500000 0.230873 +v 0.312961 0.500000 0.389942 +v 0.277994 0.500000 0.354203 +v 0.212245 0.500000 0.397105 +v 0.230874 0.500000 0.443505 +v -0.480026 0.500000 0.139914 +v -0.433626 0.500000 0.121285 +v -0.448101 0.500000 0.044123 +v -0.498098 0.500000 0.043578 +v -0.312961 0.500000 -0.389943 +v -0.277993 0.500000 -0.354204 +v -0.212245 0.500000 -0.397106 +v -0.230874 0.500000 -0.443505 +v 0.044123 0.500000 0.448100 +v 0.043577 0.500000 0.498097 +v 0.139914 0.500000 0.480024 +v 0.121286 0.500000 0.433624 +v -0.139915 0.500000 -0.480025 +v -0.121286 0.500000 -0.433625 +v -0.044123 0.500000 -0.448101 +v -0.043578 0.500000 -0.498098 +v -0.497028 0.500000 -0.054435 +v -0.447031 0.500000 -0.053889 +v -0.430876 0.500000 -0.130717 +v -0.476858 0.500000 -0.150354 +v 0.354204 0.500000 -0.277994 +v 0.389943 0.500000 -0.312962 +v 0.397106 0.500000 -0.212245 +v 0.433625 0.500000 -0.121286 +v 0.443505 0.500000 -0.230874 +v 0.480025 0.500000 -0.139915 +v 0.448100 0.500000 -0.044124 +v 0.447031 0.500000 0.053888 +v 0.498097 0.500000 -0.043579 +v 0.497028 0.500000 0.054433 +v 0.430875 0.500000 0.130716 +v 0.392381 0.500000 0.220858 +v 0.476858 0.500000 0.150353 +v 0.438363 0.500000 0.240495 +v 0.348055 0.500000 0.285655 +v 0.383023 0.500000 0.321394 +vt 0.736839 0.943094 +vt 0.717612 0.896676 +vt 0.783205 0.852849 +vt 0.818731 0.888375 +vt 0.549247 1.000000 +vt 0.549246 0.949758 +vt 0.626618 0.934368 +vt 0.645845 0.980785 +vt 0.896675 0.282387 +vt 0.934367 0.373381 +vt 0.949757 0.450753 +vt 0.949757 0.549244 +vt 0.934367 0.626616 +vt 0.896676 0.717611 +vt 0.852849 0.783204 +vt 0.450755 0.949758 +vt 0.373382 0.934367 +vt 0.282388 0.896677 +vt 0.216795 0.852850 +vt 0.147152 0.783206 +vt 0.103323 0.717613 +vt 0.065633 0.626619 +vt 0.050242 0.549246 +vt 0.050242 0.450755 +vt 0.065631 0.373383 +vt 0.103322 0.282389 +vt 0.147150 0.216795 +vt 0.216793 0.147151 +vt 0.282387 0.103323 +vt 0.373381 0.065632 +vt 0.450752 0.050242 +vt 0.549245 0.050242 +vt 0.626617 0.065632 +vt 0.717610 0.103323 +vt 0.783204 0.147151 +vt 0.852848 0.216795 +vt 0.354156 0.980785 +vt 0.450755 1.000000 +vt 0.181269 0.888376 +vt 0.263161 0.943095 +vt 0.056906 0.736840 +vt 0.111625 0.818732 +vt 0.000000 0.549246 +vt 0.019215 0.645846 +vt 0.019214 0.354156 +vt 0.000000 0.450755 +vt 0.111624 0.181269 +vt 0.056905 0.263162 +vt 0.263160 0.056906 +vt 0.181267 0.111625 +vt 0.450752 0.000000 +vt 0.354154 0.019215 +vt 0.645843 0.019215 +vt 0.549245 0.000000 +vt 0.818730 0.111625 +vt 0.736837 0.056905 +vt 0.888374 0.181269 +vt 0.943093 0.263160 +vt 0.999999 0.450753 +vt 0.980784 0.354154 +vt 0.980785 0.645843 +vt 0.999999 0.549244 +vt 0.888376 0.818730 +vt 0.943094 0.736838 +vt 0.625001 -0.000000 +vt 0.625001 1.000000 +vt 0.562501 1.000000 +vt 0.562501 -0.000000 +vt 0.980786 0.354156 +vt 1.000000 0.450755 +vt 1.000000 0.450755 +vt 0.949758 0.450755 +vt 0.934369 0.373383 +vt 0.980786 0.354156 +vt 0.500001 -0.000000 +vt 0.500001 1.000000 +vt 0.437501 1.000000 +vt 0.437501 -0.000000 +vt 0.375001 -0.000000 +vt 0.375001 1.000000 +vt 0.312501 1.000000 +vt 0.312501 -0.000000 +vt 0.250001 -0.000000 +vt 0.250001 1.000000 +vt 0.187501 1.000000 +vt 0.187501 -0.000000 +vt 0.125001 -0.000000 +vt 0.125001 1.000000 +vt 0.062501 1.000000 +vt 0.062501 -0.000000 +vt 0.147150 0.783204 +vt 0.111624 0.818730 +vt 0.111624 0.818730 +vt 0.056905 0.736838 +vt 0.056905 0.736838 +vt 0.103323 0.717611 +vt 0.963545 -0.000000 +vt 0.963545 1.000000 +vt 0.903532 1.000000 +vt 0.903531 -0.000000 +vt 0.843518 -0.000000 +vt 0.843518 1.000000 +vt 0.783504 1.000000 +vt 0.783504 0.000000 +vt 0.723491 0.000000 +vt 0.723491 1.000000 +vt 0.663477 1.000000 +vt 0.663477 0.000000 +vt 0.603463 0.000000 +vt 0.603463 1.000000 +vt 0.543450 1.000000 +vt 0.543450 0.000000 +vt 0.483436 0.000000 +vt 0.483436 1.000000 +vt 0.423422 1.000000 +vt 0.423422 0.000000 +vt 0.363409 0.000000 +vt 0.363409 1.000000 +vt 0.303395 1.000000 +vt 0.303395 0.000000 +vt 0.243382 0.000000 +vt 0.243382 1.000000 +vt 0.183368 1.000000 +vt 0.183368 0.000000 +vt 0.123354 0.000000 +vt 0.123354 1.000000 +vt 0.063341 1.000000 +vt 0.063341 0.000000 +vt 1.000000 -0.000000 +vt 1.000000 1.000000 +vt 0.937500 1.000000 +vt 0.937500 -0.000000 +vt 0.875001 -0.000000 +vt 0.875001 1.000000 +vt 0.812500 1.000000 +vt 0.812500 -0.000000 +vt 0.750000 -0.000000 +vt 0.750000 1.000000 +vt 0.687501 1.000000 +vt 0.687501 -0.000000 +vt 0.019214 0.645843 +vt 0.000000 0.549244 +vt 0.000000 0.549244 +vt 0.050242 0.549244 +vt 0.065632 0.626616 +vt 0.019214 0.645843 +vt 0.181269 0.111625 +vt 0.263162 0.056905 +vt 0.263162 0.056905 +vt 0.282389 0.103323 +vt 0.216796 0.147151 +vt 0.181269 0.111625 +vt 0.852850 0.216795 +vt 0.888376 0.181269 +vt 0.888376 0.181269 +vt 0.943095 0.263162 +vt 0.943095 0.263162 +vt 0.896678 0.282389 +vt 0.736839 0.056906 +vt 0.818733 0.111625 +vt 0.818733 0.111625 +vt 0.783206 0.147151 +vt 0.717613 0.103323 +vt 0.736839 0.056906 +vt 0.943094 0.736840 +vt 0.888375 0.818732 +vt 0.888375 0.818732 +vt 0.852848 0.783206 +vt 0.896677 0.717613 +vt 0.943094 0.736840 +vt 0.549247 0.000000 +vt 0.645846 0.019215 +vt 0.645846 0.019215 +vt 0.626619 0.065632 +vt 0.549247 0.050242 +vt 0.549247 0.000000 +vt 0.111625 0.181269 +vt 0.111625 0.181269 +vt 0.147151 0.216795 +vt 0.103324 0.282387 +vt 0.056907 0.263160 +vt 0.056907 0.263160 +vt 0.949758 0.549246 +vt 1.000000 0.549246 +vt 1.000000 0.549246 +vt 0.980785 0.645846 +vt 0.980785 0.645846 +vt 0.934367 0.626619 +vt 0.000000 0.450753 +vt 0.019215 0.354154 +vt 0.019215 0.354154 +vt 0.065632 0.373381 +vt 0.050242 0.450753 +vt 0.000000 0.450753 +vt 0.354156 0.019215 +vt 0.450755 0.000000 +vt 0.450755 0.000000 +vt 0.450755 0.050242 +vt 0.373383 0.065632 +vt 0.354156 0.019215 +vt 0.690965 -0.000000 +vt 0.690965 1.000000 +vt 0.621536 1.000000 +vt 0.621536 -0.000000 +vt 0.687501 1.000000 +vt 0.687501 -0.000000 +vt 0.625001 -0.000000 +vt 0.625001 1.000000 +vt 0.565965 -0.000000 +vt 0.565965 1.000000 +vt 0.496536 1.000000 +vt 0.496536 -0.000000 +vt 0.562501 1.000000 +vt 0.562501 -0.000000 +vt 0.500001 -0.000000 +vt 0.500001 1.000000 +vt 0.440966 -0.000000 +vt 0.440966 1.000000 +vt 0.371536 1.000000 +vt 0.371536 -0.000000 +vt 0.437501 1.000000 +vt 0.437501 -0.000000 +vt 0.375001 -0.000000 +vt 0.375001 1.000000 +vt 0.315966 -0.000000 +vt 0.315965 1.000000 +vt 0.246536 1.000000 +vt 0.246536 -0.000000 +vt 0.312501 1.000000 +vt 0.312501 -0.000000 +vt 0.250001 -0.000000 +vt 0.250001 1.000000 +vt 0.190965 -0.000000 +vt 0.190965 1.000000 +vt 0.121536 1.000000 +vt 0.121536 -0.000000 +vt 0.187501 1.000000 +vt 0.187501 -0.000000 +vt 0.125001 -0.000000 +vt 0.125001 1.000000 +vt 0.065966 -0.000000 +vt 0.065966 1.000000 +vt -0.003464 1.000000 +vt -0.003464 -0.000000 +vt 0.062501 1.000000 +vt 0.062501 -0.000000 +vt 0.963545 -0.000000 +vt 0.960218 -0.000000 +vt 0.960218 1.000000 +vt 0.963545 1.000000 +vt 0.906858 -0.000000 +vt 0.906858 1.000000 +vt 0.840191 1.000000 +vt 0.840191 0.000000 +vt 0.903532 1.000000 +vt 0.903531 -0.000000 +vt 0.843518 -0.000000 +vt 0.843518 1.000000 +vt 0.786831 0.000000 +vt 0.786831 1.000000 +vt 0.720164 1.000000 +vt 0.720164 0.000000 +vt 0.783504 1.000000 +vt 0.783504 0.000000 +vt 0.723491 0.000000 +vt 0.723491 1.000000 +vt 0.666804 0.000000 +vt 0.666804 1.000000 +vt 0.600137 1.000000 +vt 0.600137 0.000000 +vt 0.663477 1.000000 +vt 0.663477 0.000000 +vt 0.603463 0.000000 +vt 0.603463 1.000000 +vt 0.546776 0.000000 +vt 0.546776 1.000000 +vt 0.480109 1.000000 +vt 0.480109 0.000000 +vt 0.543450 1.000000 +vt 0.543450 0.000000 +vt 0.483436 0.000000 +vt 0.483436 1.000000 +vt 0.426749 0.000000 +vt 0.426749 1.000000 +vt 0.360082 1.000000 +vt 0.360082 0.000000 +vt 0.423422 1.000000 +vt 0.423422 0.000000 +vt 0.363409 0.000000 +vt 0.363409 1.000000 +vt 0.306722 0.000000 +vt 0.306722 1.000000 +vt 0.240055 1.000000 +vt 0.240055 0.000000 +vt 0.303395 1.000000 +vt 0.303395 0.000000 +vt 0.243382 0.000000 +vt 0.243382 1.000000 +vt 0.186694 0.000000 +vt 0.186694 1.000000 +vt 0.120027 1.000000 +vt 0.120027 0.000000 +vt 0.183368 1.000000 +vt 0.183368 0.000000 +vt 0.123354 0.000000 +vt 0.123354 1.000000 +vt 0.066668 0.000000 +vt 0.066668 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.063341 1.000000 +vt 0.063341 0.000000 +vt 1.000000 -0.000000 +vt 0.996535 -0.000000 +vt 0.996535 1.000000 +vt 1.000000 1.000000 +vt 0.940965 -0.000000 +vt 0.940965 1.000000 +vt 0.871536 1.000000 +vt 0.871536 -0.000000 +vt 0.937500 1.000000 +vt 0.937500 -0.000000 +vt 0.875001 -0.000000 +vt 0.875001 1.000000 +vt 0.815965 -0.000000 +vt 0.815965 1.000000 +vt 0.746535 1.000000 +vt 0.746535 -0.000000 +vt 0.812500 1.000000 +vt 0.812500 -0.000000 +vt 0.750000 -0.000000 +vt 0.750000 1.000000 +vt 0.783204 0.852850 +vt 0.818731 0.888376 +vt 0.818731 0.888376 +vt 0.736839 0.943095 +vt 0.736839 0.943095 +vt 0.717612 0.896677 +vt 0.626617 0.934367 +vt 0.645844 0.980785 +vt 0.645844 0.980785 +vt 0.549245 1.000000 +vt 0.549245 1.000000 +vt 0.549245 0.949758 +vt 0.450753 0.949758 +vt 0.450753 1.000000 +vt 0.450753 1.000000 +vt 0.354154 0.980785 +vt 0.354154 0.980785 +vt 0.373381 0.934368 +vt 0.282388 0.896676 +vt 0.263161 0.943094 +vt 0.263161 0.943094 +vt 0.181268 0.888375 +vt 0.181268 0.888375 +vt 0.216794 0.852849 +vt 0.437496 0.000014 +vt 0.437501 0.999993 +vt 0.437501 0.999993 +vt 0.437496 0.000014 +vt 0.937498 -0.000000 +vt 0.937498 0.999998 +vt 0.937498 0.999998 +vt 0.937498 -0.000000 +vt 0.250003 0.999994 +vt 0.249997 0.000018 +vt 0.249997 0.000018 +vt 0.250003 0.999994 +vt 0.874997 0.999998 +vt 0.874997 -0.000000 +vt 0.874997 -0.000000 +vt 0.874997 0.999998 +vt 0.874997 0.999998 +vt 0.874997 -0.000000 +vt 0.874997 -0.000000 +vt 0.874997 0.999998 +vt 0.937498 -0.000000 +vt 0.937498 0.999998 +vt 0.937498 0.999998 +vt 0.937498 -0.000000 +vt 0.125004 0.999996 +vt 0.124999 0.000021 +vt 0.124999 0.000021 +vt 0.125004 0.999996 +vt 0.375002 0.999993 +vt 0.374997 0.000015 +vt 0.374997 0.000015 +vt 0.375002 0.999993 +vt 0.187498 0.000020 +vt 0.187503 0.999995 +vt 0.187503 0.999995 +vt 0.187498 0.000020 +vt 0.499996 0.999997 +vt 0.499995 0.000005 +vt 0.499995 0.000005 +vt 0.499996 0.999997 +vt 0.125004 0.999996 +vt 0.124999 0.000021 +vt 0.124999 0.000021 +vt 0.125004 0.999996 +vt 0.624997 0.999997 +vt 0.624995 0.000003 +vt 0.624995 0.000003 +vt 0.624997 0.999997 +vt 0.437496 0.000014 +vt 0.437501 0.999993 +vt 0.437501 0.999993 +vt 0.437496 0.000014 +vt 0.687496 0.000002 +vt 0.687497 0.999998 +vt 0.687497 0.999998 +vt 0.687496 0.000002 +vt 0.062500 0.000023 +vt 0.062505 0.999996 +vt 0.062505 0.999996 +vt 0.062500 0.000023 +vt 0.812497 0.000001 +vt 0.812497 0.999998 +vt 0.812497 0.999998 +vt 0.812497 0.000001 +vt 0.687496 0.000002 +vt 0.687497 0.999998 +vt 0.687497 0.999998 +vt 0.687496 0.000002 +vt 0.624997 0.999997 +vt 0.624995 0.000003 +vt 0.624995 0.000003 +vt 0.624997 0.999997 +vt 0.187498 0.000020 +vt 0.187503 0.999995 +vt 0.187503 0.999995 +vt 0.187498 0.000020 +vt 0.499996 0.999997 +vt 0.499995 0.000005 +vt 0.499995 0.000005 +vt 0.499996 0.999997 +vt 0.562495 0.000004 +vt 0.562496 0.999997 +vt 0.562496 0.999997 +vt 0.562495 0.000004 +vt 0.999998 0.999998 +vt 0.999998 -0.000000 +vt 0.999998 -0.000000 +vt 0.999998 0.999998 +vt 0.562495 0.000004 +vt 0.562496 0.999997 +vt 0.562496 0.999997 +vt 0.562495 0.000004 +vt 0.062500 0.000023 +vt 0.062505 0.999996 +vt 0.062505 0.999996 +vt 0.062500 0.000023 +vt 0.749997 0.999998 +vt 0.749997 0.000001 +vt 0.749997 0.000001 +vt 0.749997 0.999998 +vt 0.312497 0.000017 +vt 0.312502 0.999994 +vt 0.312502 0.999994 +vt 0.312497 0.000017 +vt 0.812497 0.000001 +vt 0.812497 0.999998 +vt 0.812497 0.999998 +vt 0.812497 0.000001 +vt 0.749997 0.999998 +vt 0.749997 0.000001 +vt 0.749997 0.000001 +vt 0.749997 0.999998 +vt 0.999998 0.999998 +vt 0.999998 -0.000000 +vt 0.999998 -0.000000 +vt 0.999998 0.999998 +vt 0.312497 0.000017 +vt 0.312502 0.999994 +vt 0.312502 0.999994 +vt 0.312497 0.000017 +vt 0.250003 0.999994 +vt 0.249997 0.000018 +vt 0.249997 0.000018 +vt 0.250003 0.999994 +vt 0.375002 0.999993 +vt 0.374997 0.000015 +vt 0.374997 0.000015 +vt 0.375002 0.999993 +vn 0.0000 -1.0000 0.0000 +vn -0.9957 0.0000 0.0926 +vn -0.1813 0.9833 0.0169 +vn -0.0924 0.4491 0.8887 +vn 0.5752 0.5753 0.5815 +vn 0.2982 0.9045 0.3048 +vn -0.3957 0.9045 0.1589 +vn -0.6180 0.6720 0.4081 +vn 0.9946 0.0000 0.1034 +vn 0.2015 0.9793 0.0210 +vn 0.9553 0.0000 0.2955 +vn 0.4861 0.8609 0.1503 +vn 0.8793 0.0000 0.4762 +vn 0.6064 0.7241 0.3284 +vn 0.7695 -0.0000 0.6386 +vn 0.6059 0.6165 0.5028 +vn 0.4264 0.9045 0.0047 +vn 0.3323 0.4751 0.8148 +vn -0.1589 0.9045 -0.3957 +vn 0.6302 -0.0000 0.7765 +vn 0.5298 0.5414 0.6528 +vn 0.4666 -0.0000 0.8845 +vn 0.4062 0.4921 0.7700 +vn 0.2851 -0.0000 0.9585 +vn 0.2527 0.4625 0.8498 +vn 0.0926 -0.0000 0.9957 +vn 0.0827 0.4488 0.8898 +vn -0.1034 -0.0000 0.9946 +vn -0.2955 -0.0000 0.9553 +vn -0.2618 0.4637 0.8464 +vn -0.4762 -0.0000 0.8793 +vn -0.4140 0.4943 0.7644 +vn -0.6386 0.0000 0.7695 +vn -0.5355 0.5448 0.6453 +vn -0.7765 0.0000 0.6302 +vn -0.6083 0.6216 0.4937 +vn -0.8845 0.0000 0.4666 +vn -0.6034 0.7311 0.3183 +vn -0.9585 0.0000 0.2851 +vn -0.4747 0.8687 0.1412 +vn -0.5794 0.5795 0.5731 +vn -0.2982 0.9045 -0.3048 +vn 0.3957 0.9045 -0.1589 +vn 0.4727 0.5140 0.7158 +vn -0.1785 0.4546 0.8726 +vn 0.0047 0.9045 -0.4264 +vn 0.5649 0.7903 0.2376 +vn -0.4264 0.9045 -0.0046 +vn -0.5581 0.7980 0.2276 +vn 0.1589 0.9045 0.3957 +vn -0.0047 0.9045 0.4264 +vn -0.3921 0.9045 -0.1675 +vn -0.3483 0.9349 0.0673 +vn 0.5649 0.7902 0.2376 +vn -0.1675 0.9045 0.3921 +vn -0.4795 0.5167 0.7093 +vn 0.1691 0.4538 0.8749 +vn 0.0109 0.9999 0.0001 +vn -0.3408 0.4768 0.8103 +vn -0.4264 0.9045 -0.0047 +vn 0.1675 0.9045 -0.3921 +vn 0.6180 0.6660 0.4178 +vn -0.3048 0.9045 0.2982 +vn 0.6180 0.6659 0.4178 +vn 0.3921 0.9045 0.1675 +vn 0.3048 0.9045 -0.2982 +vn -0.0049 0.4472 0.8944 +vn 0.3645 0.9282 0.0746 +vn 0.3927 0.0000 -0.9197 +vn -0.9196 0.0000 -0.3927 +vn 0.8284 0.0000 0.5601 +vn -0.5601 -0.0000 0.8284 +vn 0.7148 0.0000 -0.6994 +vn -0.6994 0.0000 -0.7148 +vn 0.7032 0.0000 0.7110 +vn -0.7110 0.0000 0.7032 +vn 0.9280 0.0000 -0.3726 +vn -0.3726 0.0000 -0.9280 +vn 0.5510 -0.0000 0.8345 +vn -0.8345 0.0000 0.5510 +vn 0.9999 -0.0000 0.0109 +vn 0.0109 0.0000 -0.9999 +vn 0.3776 -0.0000 0.9260 +vn -0.9260 0.0000 0.3776 +vn 0.9197 -0.0000 0.3927 +vn 0.3927 0.0000 -0.9196 +vn 0.1897 -0.0000 0.9818 +vn -0.9818 0.0000 0.1897 +vn 0.6994 -0.0000 0.7148 +vn -0.0055 -0.0000 1.0000 +vn 0.0000 0.0000 0.0000 +vn 0.3726 -0.0000 0.9280 +vn -0.2004 -0.0000 0.9797 +vn 0.9797 0.0000 0.2004 +vn -0.0109 -0.0000 0.9999 +vn -0.3877 -0.0000 0.9218 +vn 0.9218 0.0000 0.3877 +vn -0.3927 -0.0000 0.9196 +vn 0.9196 -0.0000 0.3927 +vn -0.7148 -0.0000 0.6993 +vn 0.6993 -0.0000 0.7148 +vn -0.9280 -0.0000 0.3726 +vn -0.9999 0.0000 -0.0109 +vn -0.9259 0.0000 0.3776 +vn -0.9197 -0.0000 -0.3927 +vn -0.3927 -0.0000 0.9197 +usemtl None +s off +f 1/1/1 2/2/1 3/3/1 4/4/1 +f 5/5/1 6/6/1 7/7/1 8/8/1 +f 9/9/1 10/10/1 11/11/1 12/12/1 13/13/1 14/14/1 15/15/1 3/3/1 2/2/1 7/7/1 6/6/1 16/16/1 17/17/1 18/18/1 19/19/1 20/20/1 21/21/1 22/22/1 23/23/1 24/24/1 25/25/1 26/26/1 27/27/1 28/28/1 29/29/1 30/30/1 31/31/1 32/32/1 33/33/1 34/34/1 35/35/1 36/36/1 +f 37/37/1 17/17/1 16/16/1 38/38/1 +f 39/39/1 19/19/1 18/18/1 40/40/1 +f 41/41/1 21/21/1 20/20/1 42/42/1 +f 43/43/1 23/23/1 22/22/1 44/44/1 +f 45/45/1 25/25/1 24/24/1 46/46/1 +f 47/47/1 27/27/1 26/26/1 48/48/1 +f 49/49/1 29/29/1 28/28/1 50/50/1 +f 51/51/1 31/31/1 30/30/1 52/52/1 +f 53/53/1 33/33/1 32/32/1 54/54/1 +f 55/55/1 35/35/1 34/34/1 56/56/1 +f 36/36/1 57/57/1 58/58/1 9/9/1 +f 59/59/1 11/11/1 10/10/1 60/60/1 +f 61/61/1 13/13/1 12/12/1 62/62/1 +f 63/63/1 15/15/1 14/14/1 64/64/1 +s 1 +f 65/65/2 66/66/3 67/67/3 68/68/2 +f 69/69/4 70/70/4 71/71/5 72/72/6 73/73/7 74/74/8 +f 75/75/9 76/76/10 77/77/10 78/78/9 +f 79/79/11 80/80/12 81/81/12 82/82/11 +f 83/83/13 84/84/14 85/85/14 86/86/13 +f 87/87/15 88/88/16 89/89/16 90/90/15 +f 91/91/17 92/92/18 81/93/12 80/94/12 93/95/8 94/96/19 +f 95/97/20 96/98/21 97/99/21 98/100/20 +f 99/101/22 100/102/23 101/103/23 102/104/22 +f 103/105/24 104/106/25 105/107/25 106/108/24 +f 107/109/26 108/110/27 109/111/27 110/112/26 +f 111/113/28 70/114/4 69/115/4 112/116/28 +f 113/117/29 114/118/30 115/119/30 116/120/29 +f 117/121/31 118/122/32 119/123/32 120/124/31 +f 121/125/33 122/126/34 123/127/34 124/128/33 +f 125/129/35 126/130/36 127/131/36 128/132/35 +f 129/133/37 130/134/38 131/135/38 132/136/37 +f 133/137/39 134/138/40 135/139/40 136/140/39 +f 77/141/10 76/142/10 137/143/41 138/144/42 139/145/43 140/146/44 +f 131/147/38 130/148/38 141/149/45 142/150/7 143/151/46 144/152/47 +f 145/153/48 146/154/49 115/155/30 114/156/30 147/157/44 148/158/50 +f 119/159/32 118/160/32 149/161/18 150/162/51 151/163/52 152/164/53 +f 105/165/25 104/166/25 153/167/54 154/168/17 155/169/55 156/170/56 +f 123/171/34 122/172/34 157/173/57 158/174/55 159/175/42 160/176/58 +f 134/177/40 161/178/59 162/179/60 163/180/61 164/181/62 135/182/40 +f 165/183/63 166/184/41 109/185/27 108/186/27 167/187/64 168/188/65 +f 67/189/3 66/190/3 169/191/56 170/192/52 171/193/66 172/194/5 +f 127/195/36 126/196/36 173/197/67 174/198/63 175/199/19 176/200/68 +f 9/201/69 163/202/61 170/203/52 10/204/70 +f 164/205/62 163/202/61 9/201/69 58/206/71 +f 60/207/72 10/204/70 170/203/52 169/208/56 +f 11/209/73 171/210/66 138/211/42 12/212/74 +f 172/213/5 171/210/66 11/209/73 59/214/75 +f 62/215/76 12/212/74 138/211/42 137/216/41 +f 13/217/77 139/218/43 94/219/19 14/220/78 +f 140/221/44 139/218/43 13/217/77 61/222/79 +f 64/223/80 14/220/78 94/219/19 93/224/8 +f 15/225/81 91/226/17 177/227/46 3/228/82 +f 92/229/18 91/226/17 15/225/81 63/230/83 +f 4/231/84 3/228/82 177/227/46 178/232/49 +f 2/233/85 179/234/65 180/235/61 7/236/86 +f 181/237/57 179/234/65 2/233/85 1/238/87 +f 8/239/88 7/236/86 180/235/61 182/240/53 +f 6/241/89 183/242/6 184/243/66 16/244/73 +f 185/245/67 183/242/6 6/241/89 5/246/90 +f 38/247/91 16/248/73 184/249/66 186/250/91 +f 17/251/92 187/252/50 188/253/43 18/254/77 +f 189/255/45 187/252/50 17/251/92 37/256/93 +f 40/257/94 18/254/77 188/253/43 190/258/68 +f 19/259/95 191/260/51 154/261/17 20/262/81 +f 192/263/59 191/260/51 19/259/95 39/264/96 +f 42/265/97 20/262/81 154/261/17 153/266/54 +f 21/267/98 155/268/55 168/269/65 22/270/99 +f 156/271/56 155/268/55 21/267/98 41/272/72 +f 44/273/71 22/270/99 168/269/65 167/274/64 +f 23/275/100 165/276/63 72/277/6 24/278/101 +f 166/279/41 165/276/63 23/275/100 43/280/76 +f 46/281/75 24/278/101 72/277/6 71/282/5 +f 25/283/102 73/284/7 148/285/50 26/286/92 +f 74/287/8 73/284/7 25/283/102 45/288/80 +f 48/289/79 26/286/92 148/285/50 147/290/44 +f 27/291/103 145/292/48 150/293/51 28/294/95 +f 146/295/49 145/292/48 27/291/103 47/296/104 +f 50/297/83 28/294/95 150/293/51 149/298/18 +f 29/299/105 151/300/52 158/301/55 30/302/106 +f 152/303/53 151/300/52 29/299/105 49/304/88 +f 52/305/87 30/302/106 158/301/55 157/306/57 +f 31/307/74 159/308/42 174/309/63 32/310/100 +f 160/311/58 159/308/42 31/307/74 51/312/91 +f 54/313/90 32/314/100 174/315/63 173/316/67 +f 33/317/78 175/318/19 142/319/7 34/320/102 +f 176/321/68 175/318/19 33/317/78 53/322/94 +f 56/323/93 34/320/102 142/319/7 141/324/45 +f 35/325/82 143/326/46 162/327/60 36/328/103 +f 144/329/47 143/326/46 35/325/82 55/330/97 +f 57/331/96 36/328/103 162/327/60 161/332/59 +f 191/333/51 192/334/59 101/335/23 100/336/23 190/337/68 188/338/43 +f 187/339/50 189/340/45 97/341/21 96/342/21 186/343/91 184/344/66 +f 183/345/6 185/346/67 89/347/16 88/348/16 182/349/53 180/350/61 +f 179/351/65 181/352/57 85/353/14 84/354/14 178/355/49 177/356/46 +f 94/96/19 139/145/43 138/144/42 171/193/66 170/192/52 163/180/61 162/179/60 143/151/46 142/150/7 175/199/19 174/198/63 159/175/42 158/174/55 151/163/52 150/162/51 145/153/48 148/158/50 73/73/7 72/72/6 165/183/63 168/188/65 155/169/55 154/168/17 191/333/51 188/338/43 187/339/50 184/344/66 183/345/6 180/350/61 179/351/65 177/356/46 91/91/17 +f 134/357/40 133/358/39 57/359/96 161/360/59 +f 118/361/32 117/362/31 50/363/83 149/364/18 +f 98/365/20 97/366/21 189/367/45 37/368/93 +f 116/369/29 115/370/30 146/371/49 47/372/104 +f 82/373/11 81/374/12 92/375/18 63/376/83 +f 84/377/14 83/378/13 4/379/84 178/380/49 +f 124/381/33 123/382/34 160/383/58 51/384/91 +f 102/385/22 101/386/23 192/387/59 39/388/96 +f 126/389/36 125/390/35 54/391/90 173/392/67 +f 106/393/24 105/394/25 156/395/56 41/396/72 +f 90/397/15 89/398/16 185/399/67 5/400/90 +f 68/401/2 67/402/3 172/403/5 59/404/75 +f 104/405/25 103/406/24 42/407/97 153/408/54 +f 70/409/4 111/410/28 46/411/75 71/412/5 +f 122/413/34 121/414/33 52/415/87 157/416/57 +f 80/417/12 79/418/11 64/419/80 93/420/8 +f 76/421/10 75/422/9 62/423/76 137/424/41 +f 110/425/26 109/426/27 166/427/41 43/428/76 +f 96/429/21 95/430/20 38/431/91 186/432/91 +f 136/433/39 135/434/40 164/435/62 58/436/71 +f 66/437/3 65/438/2 60/439/72 169/440/56 +f 120/441/31 119/442/32 152/443/53 49/444/88 +f 108/445/27 107/446/26 44/447/71 167/448/64 +f 88/449/16 87/450/15 8/451/88 182/452/53 +f 112/453/28 69/454/4 74/455/8 45/456/80 +f 130/457/38 129/458/37 56/459/93 141/460/45 +f 114/461/30 113/462/29 48/463/79 147/464/44 +f 78/465/9 77/466/10 140/467/44 61/468/79 +f 86/469/13 85/470/14 181/471/57 1/472/87 +f 100/473/23 99/474/22 40/475/94 190/476/68 +f 128/477/35 127/478/36 176/479/68 53/480/94 +f 132/481/37 131/482/38 144/483/47 55/484/97 diff --git a/technic/models/technic_cylinder_half.obj b/technic/models/technic_cylinder_half.obj new file mode 100644 index 0000000..90206f5 --- /dev/null +++ b/technic/models/technic_cylinder_half.obj @@ -0,0 +1,188 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +mtllib technic_cylinder_half.mtl +o Cylinder_Cylinder.001 +v 0.500000 -0.402455 -0.490393 +v 0.500000 -0.500000 -0.000000 +v 0.500000 -0.500000 -0.500000 +v 0.500000 -0.308658 -0.461940 +v 0.500000 -0.222215 -0.415735 +v 0.500000 -0.146447 -0.353553 +v 0.500000 -0.084265 -0.277785 +v 0.500000 -0.038060 -0.191342 +v 0.500000 -0.009607 -0.097545 +v 0.500000 0.000000 0.000000 +v 0.500000 -0.009607 0.097545 +v 0.500000 -0.038060 0.191342 +v 0.500000 -0.084265 0.277785 +v 0.500000 -0.146447 0.353553 +v 0.500000 -0.222215 0.415735 +v 0.500000 -0.308658 0.461940 +v 0.500000 -0.402455 0.490393 +v -0.500000 -0.500000 -0.000000 +v -0.500000 -0.402455 -0.490393 +v -0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 0.500000 +v -0.500000 -0.308658 -0.461940 +v -0.500000 -0.222215 -0.415735 +v -0.500000 -0.146447 -0.353554 +v -0.500000 -0.084265 -0.277785 +v -0.500000 -0.038060 -0.191342 +v -0.500000 -0.009607 -0.097545 +v -0.500000 0.000000 0.000000 +v -0.500000 -0.500000 0.500000 +v -0.500000 -0.402455 0.490392 +v -0.500000 -0.009607 0.097545 +v -0.500000 -0.038060 0.191341 +v -0.500000 -0.084265 0.277785 +v -0.500000 -0.146447 0.353553 +v -0.500000 -0.222215 0.415735 +v -0.500000 -0.308658 0.461940 +vt 0.990253 0.097533 +vt 0.499929 0.000000 +vt 0.999858 0.000002 +vt 0.961804 0.191316 +vt 0.915605 0.277747 +vt 0.853432 0.353503 +vt 0.777675 0.415676 +vt 0.691244 0.461875 +vt 0.597461 0.490324 +vt 0.499929 0.499929 +vt 0.402398 0.490324 +vt 0.308615 0.461875 +vt 0.222184 0.415677 +vt 0.146427 0.353504 +vt 0.084254 0.277747 +vt 0.038055 0.191316 +vt 0.009606 0.097533 +vt 0.499929 0.000000 +vt 0.009606 0.097533 +vt 0.000000 0.000001 +vt 0.000000 0.000002 +vt 0.038055 0.191316 +vt 0.084253 0.277746 +vt 0.146426 0.353503 +vt 0.222184 0.415676 +vt 0.308614 0.461875 +vt 0.402398 0.490324 +vt 0.499929 0.499930 +vt 0.999859 0.000001 +vt 0.990252 0.097533 +vt 0.597460 0.490324 +vt 0.691243 0.461875 +vt 0.777675 0.415677 +vt 0.853432 0.353504 +vt 0.915605 0.277747 +vt 0.961803 0.191316 +vt 0.992769 0.999840 +vt 0.004584 0.999840 +vt 0.004584 0.937351 +vt 0.992769 0.937350 +vt 0.004584 0.874861 +vt 0.992769 0.874860 +vt 0.004583 0.812371 +vt 0.992769 0.812370 +vt 0.004583 0.749882 +vt 0.992769 0.749880 +vt 0.004583 0.687391 +vt 0.992768 0.687390 +vt 0.004583 0.624902 +vt 0.992768 0.624900 +vt 0.004583 0.562412 +vt 0.992768 0.562410 +vt 0.004582 0.499922 +vt 0.992767 0.499920 +vt 0.004582 0.437432 +vt 0.992767 0.437430 +vt 0.004581 0.374943 +vt 0.992767 0.374940 +vt 0.004581 0.312453 +vt 0.992766 0.312450 +vt 0.004581 0.249963 +vt 0.992766 0.249960 +vt 0.004580 0.187473 +vt 0.992765 0.187470 +vt 0.004580 0.124983 +vt 0.992765 0.124980 +vt 0.004579 0.062493 +vt 0.992765 0.062490 +vt 0.004579 0.000004 +vt 0.992764 0.000000 +vt 0.000100 0.999900 +vt 0.000100 0.500000 +vt 0.000100 0.000100 +vt 0.999900 0.000100 +vt 0.999900 0.500000 +vt 0.999900 0.999900 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -0.6716 -0.7409 +vn 0.0000 0.1951 -0.9808 +vn 0.0000 0.3827 -0.9239 +vn 0.0000 0.5556 -0.8315 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 0.8315 -0.5556 +vn 0.0000 0.9239 -0.3827 +vn 0.0000 0.9808 -0.1951 +vn 0.0000 1.0000 0.0000 +vn -0.0000 0.9808 0.1951 +vn -0.0000 0.9239 0.3827 +vn -0.0000 0.8315 0.5556 +vn 0.0000 0.7071 0.7071 +vn 0.0000 0.5556 0.8315 +vn -0.0000 0.3827 0.9239 +vn -0.0000 0.1951 0.9808 +vn -0.0000 -0.6716 0.7410 +vn 0.0000 -1.0000 -0.0000 +usemtl None +s off +f 1/1/1 2/2/1 3/3/1 +f 4/4/1 2/2/1 1/1/1 +f 5/5/1 2/2/1 4/4/1 +f 6/6/1 2/2/1 5/5/1 +f 7/7/1 2/2/1 6/6/1 +f 8/8/1 2/2/1 7/7/1 +f 9/9/1 2/2/1 8/8/1 +f 10/10/1 2/2/1 9/9/1 +f 11/11/1 2/2/1 10/10/1 +f 11/11/1 12/12/1 2/2/1 +f 2/2/1 12/12/1 13/13/1 +f 2/2/1 14/14/1 15/15/1 +f 2/2/1 15/15/1 16/16/1 +f 2/2/1 16/16/1 17/17/1 +f 18/18/2 19/19/2 20/20/2 +f 21/21/1 2/2/1 17/17/1 +f 2/2/1 13/13/1 14/14/1 +f 18/18/2 22/22/2 19/19/2 +f 18/18/2 23/23/2 22/22/2 +f 18/18/2 24/24/2 23/23/2 +f 18/18/2 25/25/2 24/24/2 +f 18/18/2 26/26/2 25/25/2 +f 18/18/2 27/27/2 26/26/2 +f 18/18/2 28/28/2 27/27/2 +f 18/18/2 29/29/2 30/30/2 +f 31/31/2 18/18/2 32/32/2 +f 32/32/2 18/18/2 33/33/2 +f 33/33/2 18/18/2 34/34/2 +f 34/34/2 18/18/2 35/35/2 +f 35/35/2 18/18/2 36/36/2 +f 36/36/2 18/18/2 30/30/2 +f 31/31/2 28/28/2 18/18/2 +s 1 +f 3/37/3 20/38/3 19/39/4 1/40/4 +f 1/40/4 19/39/4 22/41/5 4/42/5 +f 4/42/5 22/41/5 23/43/6 5/44/6 +f 5/44/6 23/43/6 24/45/7 6/46/7 +f 6/46/7 24/45/7 25/47/8 7/48/8 +f 7/48/8 25/47/8 26/49/9 8/50/9 +f 8/50/9 26/49/9 27/51/10 9/52/10 +f 9/52/10 27/51/10 28/53/11 10/54/11 +f 10/54/11 28/53/11 31/55/12 11/56/12 +f 11/56/12 31/55/12 32/57/13 12/58/13 +f 12/58/13 32/57/13 33/59/14 13/60/14 +f 13/60/14 33/59/14 34/61/15 14/62/15 +f 14/62/15 34/61/15 35/63/16 15/64/16 +f 15/64/16 35/63/16 36/65/17 16/66/17 +f 16/66/17 36/65/17 30/67/18 17/68/18 +f 17/68/18 30/67/18 29/69/19 21/70/19 +f 29/71/19 18/72/20 20/73/3 3/74/3 2/75/20 21/76/19 diff --git a/technic/models/technic_cylinder_half_corner.obj b/technic/models/technic_cylinder_half_corner.obj new file mode 100644 index 0000000..ebbc5a1 --- /dev/null +++ b/technic/models/technic_cylinder_half_corner.obj @@ -0,0 +1,638 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +mtllib technic_cylinder_half_corner.mtl +o Cylinder_Cylinder.012 +v -0.500000 -0.500000 -0.000000 +v -0.500000 -0.500000 -0.500000 +v 0.000000 -0.500000 -0.500000 +v 0.000000 -0.500000 -0.000000 +v -0.500000 -0.500000 0.500000 +v 0.000000 -0.500000 0.500000 +v -0.490393 -0.402455 -0.500000 +v 0.000000 -0.500000 -0.500000 +v -0.500000 -0.500000 -0.500000 +v -0.461940 -0.308658 -0.500000 +v -0.415735 -0.222215 -0.500000 +v -0.353553 -0.146447 -0.500000 +v -0.277785 -0.084265 -0.500000 +v -0.191342 -0.038060 -0.500000 +v -0.097545 -0.009607 -0.500000 +v 0.000000 0.000000 -0.500000 +v 0.097545 -0.009607 -0.500000 +v 0.191342 -0.038060 -0.500000 +v 0.277785 -0.084265 -0.500000 +v 0.353553 -0.146447 -0.500000 +v 0.415735 -0.222215 -0.500000 +v 0.461940 -0.308658 -0.500000 +v 0.490393 -0.402455 -0.500000 +v 0.500000 -0.500000 -0.500000 +v -0.500000 -0.402455 -0.490393 +v -0.500000 -0.308658 -0.461940 +v -0.500000 -0.222215 -0.415735 +v -0.500000 -0.146447 -0.353554 +v -0.500000 -0.084265 -0.277785 +v -0.500000 -0.038060 -0.191342 +v -0.500000 -0.009607 -0.097545 +v -0.500000 0.000000 0.000000 +v -0.500000 -0.402455 0.490392 +v -0.500000 -0.009607 0.097545 +v -0.500000 -0.038060 0.191341 +v -0.500000 -0.084265 0.277785 +v -0.500000 -0.146447 0.353553 +v -0.500000 -0.222215 0.415735 +v -0.500000 -0.308658 0.461940 +v 0.490392 -0.402455 -0.000000 +v 0.500000 -0.500000 -0.000000 +v 0.461940 -0.308658 -0.000000 +v 0.415735 -0.222215 -0.000000 +v 0.353553 -0.146447 -0.000000 +v 0.277785 -0.084265 -0.000000 +v 0.191341 -0.038060 -0.000000 +v 0.097545 -0.009607 -0.000000 +v 0.000000 0.000000 0.000000 +v -0.097545 -0.009607 -0.000000 +v -0.191342 -0.038060 -0.000000 +v -0.277785 -0.084265 -0.000000 +v -0.353554 -0.146447 -0.000000 +v -0.415735 -0.222215 -0.000000 +v -0.461940 -0.308658 -0.000000 +v -0.490393 -0.402455 -0.000000 +v -0.500000 -0.500000 -0.000000 +v 0.000000 -0.402455 -0.490393 +v 0.000000 -0.308658 -0.461940 +v 0.000000 -0.222215 -0.415735 +v 0.000000 -0.146447 -0.353554 +v 0.000000 -0.084265 -0.277785 +v 0.000000 -0.038060 -0.191342 +v 0.000000 -0.009607 -0.097545 +v 0.000000 0.000000 0.000000 +v 0.000000 -0.009607 0.097545 +v 0.000000 -0.038060 0.191341 +v 0.000000 -0.084265 0.277785 +v 0.000000 -0.146447 0.353553 +v 0.000000 -0.222215 0.415735 +v 0.000000 -0.308658 0.461940 +v 0.000000 -0.402455 0.490392 +v 0.000000 -0.500000 0.500000 +v 0.500000 -0.500000 -0.000000 +v 0.490393 -0.500000 0.097545 +v 0.097545 -0.500000 0.490393 +v 0.461940 -0.500000 0.191342 +v 0.415735 -0.500000 0.277785 +v 0.353553 -0.500000 0.353553 +v 0.277785 -0.500000 0.415735 +v 0.191342 -0.500000 0.461940 +v 0.490393 -0.402455 -0.000000 +v 0.480970 -0.402455 0.095671 +v 0.461940 -0.308658 -0.000000 +v 0.415735 -0.222215 -0.000000 +v 0.407747 -0.222215 0.081106 +v 0.453064 -0.308658 0.090120 +v 0.353554 -0.146447 -0.000000 +v 0.277785 -0.084265 -0.000000 +v 0.272448 -0.084265 0.054193 +v 0.346760 -0.146447 0.068975 +v 0.191342 -0.038060 -0.000000 +v 0.097545 -0.009607 -0.000000 +v 0.095671 -0.009607 0.019030 +v 0.187665 -0.038060 0.037329 +v 0.453064 -0.402455 0.187665 +v 0.384089 -0.222215 0.159095 +v 0.426777 -0.308658 0.176777 +v 0.256640 -0.084265 0.106304 +v 0.326641 -0.146447 0.135299 +v 0.090120 -0.009607 0.037329 +v 0.176777 -0.038060 0.073223 +v 0.407747 -0.402455 0.272448 +v 0.345671 -0.222215 0.230970 +v 0.384089 -0.308658 0.256640 +v 0.230970 -0.084265 0.154329 +v 0.293969 -0.146447 0.196424 +v 0.081106 -0.009607 0.054193 +v 0.159095 -0.038060 0.106304 +v 0.346760 -0.402455 0.346760 +v 0.293969 -0.222215 0.293969 +v 0.326641 -0.308658 0.326641 +v 0.196424 -0.084265 0.196424 +v 0.250000 -0.146447 0.250000 +v 0.068975 -0.009607 0.068975 +v 0.135299 -0.038060 0.135299 +v 0.272448 -0.402455 0.407746 +v 0.230970 -0.222215 0.345671 +v 0.256640 -0.308658 0.384089 +v 0.154329 -0.084265 0.230970 +v 0.196424 -0.146447 0.293969 +v 0.054193 -0.009607 0.081106 +v 0.106304 -0.038060 0.159095 +v 0.187665 -0.402455 0.453064 +v 0.159095 -0.222215 0.384089 +v 0.176777 -0.308658 0.426777 +v 0.106304 -0.084265 0.256640 +v 0.135299 -0.146447 0.326641 +v 0.037329 -0.009607 0.090120 +v 0.073223 -0.038060 0.176777 +v 0.095671 -0.402455 0.480970 +v 0.081106 -0.222215 0.407746 +v 0.090120 -0.308658 0.453064 +v 0.054193 -0.084265 0.272448 +v 0.068975 -0.146447 0.346760 +v 0.019030 -0.009607 0.095671 +v 0.037329 -0.038060 0.187665 +v 0.000000 -0.402455 0.490392 +v 0.000000 -0.222215 0.415735 +v 0.000000 -0.308658 0.461940 +v 0.000000 -0.084265 0.277785 +v 0.000000 -0.146447 0.353553 +v 0.000000 -0.009607 0.097545 +v 0.000000 -0.038060 0.191342 +v 0.002569 -0.004804 0.012914 +v 0.000000 -0.004804 0.013167 +v 0.005039 -0.004804 0.012165 +v 0.007316 -0.004804 0.010948 +v 0.009311 -0.004804 0.009311 +v 0.010948 -0.004804 0.007315 +v 0.012165 -0.004804 0.005039 +v 0.012915 -0.004804 0.002569 +v 0.013168 -0.004804 -0.000000 +v 0.013156 -0.004804 0.000118 +v -0.000072 -0.004804 0.000096 +vt 0.000000 0.496029 +vt 0.000000 0.000000 +vt 0.496029 0.000000 +vt 0.496029 0.496029 +vt 0.000000 0.992058 +vt 0.496029 0.992058 +vt 0.990253 0.097533 +vt 0.499929 0.000000 +vt 0.999858 0.000002 +vt 0.961804 0.191316 +vt 0.915605 0.277747 +vt 0.853432 0.353503 +vt 0.777675 0.415676 +vt 0.691244 0.461875 +vt 0.597461 0.490324 +vt 0.499929 0.499929 +vt 0.402398 0.490324 +vt 0.308615 0.461875 +vt 0.222184 0.415677 +vt 0.146427 0.353504 +vt 0.084254 0.277747 +vt 0.038055 0.191316 +vt 0.009606 0.097533 +vt 0.000000 0.000002 +vt 0.499929 0.000000 +vt 0.009606 0.097533 +vt 0.038055 0.191316 +vt 0.084253 0.277746 +vt 0.146426 0.353503 +vt 0.222184 0.415676 +vt 0.308614 0.461875 +vt 0.402398 0.490324 +vt 0.499929 0.499930 +vt 0.999859 0.000001 +vt 0.990252 0.097533 +vt 0.597460 0.490324 +vt 0.691243 0.461875 +vt 0.777675 0.415677 +vt 0.853432 0.353504 +vt 0.915605 0.277747 +vt 0.961803 0.191316 +vt 0.992058 0.496029 +vt 0.982527 0.592799 +vt 0.592799 0.982527 +vt 0.954300 0.685851 +vt 0.908462 0.771608 +vt 0.846774 0.846774 +vt 0.771608 0.908462 +vt 0.685851 0.954300 +vt 0.992058 0.000000 +vt 0.992765 0.062490 +vt 0.498672 0.062491 +vt 0.498672 0.000002 +vt 0.992764 0.000000 +vt 0.992765 0.124980 +vt 0.498673 0.124982 +vt 0.992765 0.187470 +vt 0.498673 0.187472 +vt 0.992766 0.249960 +vt 0.498673 0.249961 +vt 0.992766 0.312450 +vt 0.498673 0.312451 +vt 0.992767 0.374940 +vt 0.498674 0.374941 +vt 0.992767 0.437430 +vt 0.498674 0.437431 +vt 0.992767 0.499920 +vt 0.498674 0.499921 +vt 0.992768 0.562410 +vt 0.498675 0.562411 +vt 0.992768 0.624900 +vt 0.498675 0.624901 +vt 0.992768 0.687390 +vt 0.498675 0.687391 +vt 0.992769 0.749880 +vt 0.498676 0.749881 +vt 0.992769 0.812370 +vt 0.498676 0.812371 +vt 0.992769 0.874860 +vt 0.498677 0.874861 +vt 0.992769 0.937350 +vt 0.498677 0.937351 +vt 0.992769 0.999840 +vt 0.498677 0.999840 +vt 0.498677 0.999840 +vt 0.004584 0.999840 +vt 0.004584 0.937351 +vt 0.498677 0.937351 +vt 0.004584 0.874861 +vt 0.498677 0.874861 +vt 0.004583 0.812371 +vt 0.498676 0.812371 +vt 0.004583 0.749882 +vt 0.498676 0.749881 +vt 0.004583 0.687391 +vt 0.498675 0.687391 +vt 0.004583 0.624902 +vt 0.498675 0.624901 +vt 0.004583 0.562412 +vt 0.498675 0.562411 +vt 0.004582 0.499922 +vt 0.498674 0.499921 +vt 0.004582 0.437432 +vt 0.498674 0.437431 +vt 0.004581 0.374943 +vt 0.498674 0.374941 +vt 0.004581 0.312453 +vt 0.498673 0.312451 +vt 0.004581 0.249963 +vt 0.498673 0.249961 +vt 0.004580 0.187473 +vt 0.498673 0.187472 +vt 0.004580 0.124983 +vt 0.498673 0.124982 +vt 0.004579 0.062493 +vt 0.498672 0.062491 +vt 0.004579 0.000004 +vt 0.498672 0.000002 +vt 0.437500 0.500000 +vt 0.437500 0.562500 +vt 0.375000 0.562500 +vt 0.375000 0.500000 +vt 0.437500 0.625000 +vt 0.437500 0.687500 +vt 0.375000 0.687500 +vt 0.375000 0.625000 +vt 0.437500 0.750000 +vt 0.437500 0.812500 +vt 0.375000 0.812500 +vt 0.375000 0.750000 +vt 0.437500 0.875000 +vt 0.437500 0.937500 +vt 0.375000 0.937500 +vt 0.375000 0.875000 +vt 0.312500 0.562500 +vt 0.312500 0.500000 +vt 0.312500 0.687500 +vt 0.312500 0.625000 +vt 0.312500 0.812500 +vt 0.312500 0.750000 +vt 0.312500 0.937500 +vt 0.312500 0.875000 +vt 0.250000 0.562500 +vt 0.250000 0.500000 +vt 0.250000 0.687500 +vt 0.250000 0.625000 +vt 0.250000 0.812500 +vt 0.250000 0.750000 +vt 0.250000 0.937500 +vt 0.250000 0.875000 +vt 0.187500 0.562500 +vt 0.187500 0.500000 +vt 0.187500 0.687500 +vt 0.187500 0.625000 +vt 0.187500 0.812500 +vt 0.187500 0.750000 +vt 0.187500 0.937500 +vt 0.187500 0.875000 +vt 0.125000 0.562500 +vt 0.125000 0.500000 +vt 0.125000 0.687500 +vt 0.125000 0.625000 +vt 0.125000 0.812500 +vt 0.125000 0.750000 +vt 0.125000 0.937500 +vt 0.125000 0.875000 +vt 0.062500 0.562500 +vt 0.062500 0.500000 +vt 0.062500 0.687500 +vt 0.062500 0.625000 +vt 0.062500 0.812500 +vt 0.062500 0.750000 +vt 0.062500 0.937500 +vt 0.062500 0.875000 +vt 0.000000 0.562500 +vt 0.000000 0.500000 +vt 0.000000 0.687500 +vt 0.000000 0.625000 +vt 0.000000 0.812500 +vt 0.000000 0.750000 +vt 0.000000 0.937500 +vt 0.000000 0.875000 +vt 1.000000 0.500000 +vt 1.000000 0.562500 +vt 0.937500 0.562500 +vt 0.937500 0.500000 +vt 1.000000 0.625000 +vt 1.000000 0.687500 +vt 0.937500 0.687500 +vt 0.937500 0.625000 +vt 1.000000 0.750000 +vt 1.000000 0.812500 +vt 0.937500 0.812500 +vt 0.937500 0.750000 +vt 1.000000 0.875000 +vt 1.000000 0.937500 +vt 0.937500 0.937500 +vt 0.937500 0.875000 +vt 1.000000 1.000000 +vt 0.937500 1.000000 +vt 0.062500 1.000000 +vt -0.000000 1.000000 +vt 0.125000 1.000000 +vt 0.187500 1.000000 +vt 0.250000 1.000000 +vt 0.312500 1.000000 +vt 0.375000 1.000000 +vt 0.437500 1.000000 +vt 0.434642 1.000000 +vt 0.031579 0.968990 +vt 0.061841 0.974844 +vt 0.062439 0.968769 +vt 0.061841 0.962695 +vt 0.060069 0.956854 +vt 0.057192 0.951471 +vt 0.053319 0.946753 +vt 0.048601 0.942881 +vt 0.043218 0.940004 +vt 0.037644 0.938313 +vn 0.0000 -1.0000 -0.0000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.9808 0.1951 0.0000 +vn 0.9952 0.0980 0.0000 +vn 0.9239 0.3827 0.0000 +vn 0.8315 0.5556 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.5556 0.8315 0.0000 +vn 0.3827 0.9239 0.0000 +vn 0.1951 0.9808 0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.1951 0.9808 0.0000 +vn -0.3827 0.9239 0.0000 +vn -0.5556 0.8315 -0.0000 +vn -0.7071 0.7071 -0.0000 +vn -0.8315 0.5556 -0.0000 +vn -0.9239 0.3827 0.0000 +vn -0.9808 0.1951 0.0000 +vn -0.9952 0.0980 0.0000 +vn 0.0000 0.0980 -0.9952 +vn 0.0000 0.1951 -0.9808 +vn 0.0000 0.3827 -0.9239 +vn 0.0000 0.5556 -0.8315 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 0.8315 -0.5556 +vn 0.0000 0.9239 -0.3827 +vn 0.0000 0.9808 -0.1951 +vn 0.0000 0.9808 0.1951 +vn 0.0000 0.9239 0.3827 +vn 0.0000 0.8315 0.5556 +vn 0.0000 0.7071 0.7071 +vn 0.0000 0.5556 0.8315 +vn 0.0000 0.3827 0.9239 +vn 0.0000 0.1951 0.9808 +vn 0.0000 0.0980 0.9952 +vn 0.9904 0.0975 0.0975 +vn 0.9765 0.1930 0.0962 +vn 0.9622 0.1939 0.1914 +vn 0.9761 0.0980 0.1942 +vn 0.9210 0.3790 0.0907 +vn 0.8305 0.5509 0.0818 +vn 0.8173 0.5528 0.1626 +vn 0.9070 0.3805 0.1804 +vn 0.7084 0.7023 0.0698 +vn 0.5589 0.8274 0.0550 +vn 0.5490 0.8286 0.1092 +vn 0.6965 0.7041 0.1385 +vn 0.3876 0.9210 0.0382 +vn 0.1819 0.9831 0.0179 +vn 0.1785 0.9833 0.0355 +vn 0.3804 0.9217 0.0757 +vn 0.9063 0.1939 0.3754 +vn 0.9194 0.0980 0.3808 +vn 0.7699 0.5528 0.3189 +vn 0.8544 0.3805 0.3539 +vn 0.5172 0.8286 0.2142 +vn 0.6561 0.7041 0.2718 +vn 0.1681 0.9833 0.0696 +vn 0.3584 0.9217 0.1484 +vn 0.8157 0.1939 0.5450 +vn 0.8275 0.0980 0.5529 +vn 0.6929 0.5528 0.4630 +vn 0.7689 0.3805 0.5138 +vn 0.4654 0.8286 0.3110 +vn 0.5905 0.7041 0.3945 +vn 0.1513 0.9833 0.1011 +vn 0.3225 0.9217 0.2155 +vn 0.6937 0.1939 0.6937 +vn 0.7037 0.0980 0.7037 +vn 0.5893 0.5528 0.5893 +vn 0.6539 0.3805 0.6539 +vn 0.3958 0.8286 0.3958 +vn 0.5021 0.7041 0.5021 +vn 0.1287 0.9833 0.1287 +vn 0.2743 0.9217 0.2743 +vn 0.5450 0.1939 0.8157 +vn 0.5529 0.0980 0.8275 +vn 0.4630 0.5528 0.6929 +vn 0.5138 0.3805 0.7689 +vn 0.3110 0.8286 0.4654 +vn 0.3945 0.7041 0.5905 +vn 0.1011 0.9833 0.1513 +vn 0.2155 0.9217 0.3225 +vn 0.3754 0.1939 0.9063 +vn 0.3808 0.0980 0.9194 +vn 0.3189 0.5528 0.7699 +vn 0.3539 0.3805 0.8544 +vn 0.2142 0.8286 0.5172 +vn 0.2718 0.7041 0.6561 +vn 0.0696 0.9833 0.1681 +vn 0.1484 0.9217 0.3584 +vn 0.1914 0.1939 0.9622 +vn 0.1941 0.0980 0.9761 +vn 0.1626 0.5528 0.8173 +vn 0.1804 0.3805 0.9070 +vn 0.1092 0.8286 0.5490 +vn 0.1385 0.7041 0.6965 +vn 0.0355 0.9833 0.1785 +vn 0.0757 0.9217 0.3804 +vn 0.0962 0.1930 0.9765 +vn 0.0975 0.0976 0.9904 +vn 0.0818 0.5509 0.8305 +vn 0.0907 0.3790 0.9210 +vn 0.0550 0.8274 0.5589 +vn 0.0698 0.7023 0.7084 +vn 0.0179 0.9831 0.1819 +vn 0.0382 0.9210 0.3876 +vn 0.0059 0.9995 0.0296 +vn 0.0030 0.9995 0.0301 +vn 0.0116 0.9995 0.0279 +vn 0.0168 0.9995 0.0251 +vn 0.0214 0.9995 0.0214 +vn 0.0251 0.9995 0.0168 +vn 0.0279 0.9995 0.0116 +vn 0.0296 0.9995 0.0059 +vn 0.0568 0.9984 0.0056 +vn 0.0387 0.9992 0.0038 +usemtl None +s off +f 1/1/1 2/2/1 3/3/1 4/4/1 +f 5/5/1 1/1/1 4/4/1 6/6/1 +f 7/7/2 8/8/2 9/9/2 +f 10/10/2 8/8/2 7/7/2 +f 11/11/2 8/8/2 10/10/2 +f 12/12/2 8/8/2 11/11/2 +f 13/13/2 8/8/2 12/12/2 +f 14/14/2 8/8/2 13/13/2 +f 15/15/2 8/8/2 14/14/2 +f 16/16/2 8/8/2 15/15/2 +f 17/17/2 8/8/2 16/16/2 +f 17/17/2 18/18/2 8/8/2 +f 8/8/2 18/18/2 19/19/2 +f 8/8/2 20/20/2 21/21/2 +f 8/8/2 21/21/2 22/22/2 +f 8/8/2 22/22/2 23/23/2 +f 24/24/2 8/8/2 23/23/2 +f 8/8/2 19/19/2 20/20/2 +f 1/25/3 25/26/3 2/2/3 +f 1/25/3 26/27/3 25/26/3 +f 1/25/3 27/28/3 26/27/3 +f 1/25/3 28/29/3 27/28/3 +f 1/25/3 29/30/3 28/29/3 +f 1/25/3 30/31/3 29/30/3 +f 1/25/3 31/32/3 30/31/3 +f 1/25/3 32/33/3 31/32/3 +f 1/25/3 5/34/3 33/35/3 +f 34/36/3 1/25/3 35/37/3 +f 35/37/3 1/25/3 36/38/3 +f 36/38/3 1/25/3 37/39/3 +f 37/39/3 1/25/3 38/40/3 +f 38/40/3 1/25/3 39/41/3 +f 39/41/3 1/25/3 33/35/3 +f 34/36/3 32/33/3 1/25/3 +f 73/42/1 74/43/1 4/4/1 +f 4/4/1 75/44/1 6/6/1 +f 4/4/1 76/45/1 77/46/1 +f 4/4/1 77/46/1 78/47/1 +f 4/4/1 78/47/1 79/48/1 +f 4/4/1 79/48/1 80/49/1 +f 4/4/1 80/49/1 75/44/1 +f 4/4/1 74/43/1 76/45/1 +f 4/4/1 3/3/1 24/50/1 73/42/1 +s 1 +f 23/51/4 40/52/4 41/53/5 24/54/5 +f 22/55/6 42/56/6 40/52/4 23/51/4 +f 21/57/7 43/58/7 42/56/6 22/55/6 +f 20/59/8 44/60/8 43/58/7 21/57/7 +f 19/61/9 45/62/9 44/60/8 20/59/8 +f 18/63/10 46/64/10 45/62/9 19/61/9 +f 17/65/11 47/66/11 46/64/10 18/63/10 +f 16/67/12 48/68/12 47/66/11 17/65/11 +f 15/69/13 49/70/13 48/68/12 16/67/12 +f 14/71/14 50/72/14 49/70/13 15/69/13 +f 13/73/15 51/74/15 50/72/14 14/71/14 +f 12/75/16 52/76/16 51/74/15 13/73/15 +f 11/77/17 53/78/17 52/76/16 12/75/16 +f 10/79/18 54/80/18 53/78/17 11/77/17 +f 7/81/19 55/82/19 54/80/18 10/79/18 +f 9/83/20 56/84/20 55/82/19 7/81/19 +f 3/85/21 2/86/21 25/87/22 57/88/22 +f 57/88/22 25/87/22 26/89/23 58/90/23 +f 58/90/23 26/89/23 27/91/24 59/92/24 +f 59/92/24 27/91/24 28/93/25 60/94/25 +f 60/94/25 28/93/25 29/95/26 61/96/26 +f 61/96/26 29/95/26 30/97/27 62/98/27 +f 62/98/27 30/97/27 31/99/28 63/100/28 +f 63/100/28 31/99/28 32/101/12 64/102/12 +f 64/102/12 32/101/12 34/103/29 65/104/29 +f 65/104/29 34/103/29 35/105/30 66/106/30 +f 66/106/30 35/105/30 36/107/31 67/108/31 +f 67/108/31 36/107/31 37/109/32 68/110/32 +f 68/110/32 37/109/32 38/111/33 69/112/33 +f 69/112/33 38/111/33 39/113/34 70/114/34 +f 70/114/34 39/113/34 33/115/35 71/116/35 +f 71/116/35 33/115/35 5/117/36 72/118/36 +f 73/119/37 81/120/38 82/121/39 74/122/40 +f 83/123/41 84/124/42 85/125/43 86/126/44 +f 87/127/45 88/128/46 89/129/47 90/130/48 +f 91/131/49 92/132/50 93/133/51 94/134/52 +f 81/120/38 83/123/41 86/126/44 82/121/39 +f 84/124/42 87/127/45 90/130/48 85/125/43 +f 88/128/46 91/131/49 94/134/52 89/129/47 +f 74/122/40 82/121/39 95/135/53 76/136/54 +f 86/126/44 85/125/43 96/137/55 97/138/56 +f 90/130/48 89/129/47 98/139/57 99/140/58 +f 94/134/52 93/133/51 100/141/59 101/142/60 +f 82/121/39 86/126/44 97/138/56 95/135/53 +f 85/125/43 90/130/48 99/140/58 96/137/55 +f 89/129/47 94/134/52 101/142/60 98/139/57 +f 76/136/54 95/135/53 102/143/61 77/144/62 +f 97/138/56 96/137/55 103/145/63 104/146/64 +f 99/140/58 98/139/57 105/147/65 106/148/66 +f 101/142/60 100/141/59 107/149/67 108/150/68 +f 95/135/53 97/138/56 104/146/64 102/143/61 +f 96/137/55 99/140/58 106/148/66 103/145/63 +f 98/139/57 101/142/60 108/150/68 105/147/65 +f 77/144/62 102/143/61 109/151/69 78/152/70 +f 104/146/64 103/145/63 110/153/71 111/154/72 +f 106/148/66 105/147/65 112/155/73 113/156/74 +f 108/150/68 107/149/67 114/157/75 115/158/76 +f 102/143/61 104/146/64 111/154/72 109/151/69 +f 103/145/63 106/148/66 113/156/74 110/153/71 +f 105/147/65 108/150/68 115/158/76 112/155/73 +f 78/152/70 109/151/69 116/159/77 79/160/78 +f 111/154/72 110/153/71 117/161/79 118/162/80 +f 113/156/74 112/155/73 119/163/81 120/164/82 +f 115/158/76 114/157/75 121/165/83 122/166/84 +f 109/151/69 111/154/72 118/162/80 116/159/77 +f 110/153/71 113/156/74 120/164/82 117/161/79 +f 112/155/73 115/158/76 122/166/84 119/163/81 +f 79/160/78 116/159/77 123/167/85 80/168/86 +f 118/162/80 117/161/79 124/169/87 125/170/88 +f 120/164/82 119/163/81 126/171/89 127/172/90 +f 122/166/84 121/165/83 128/173/91 129/174/92 +f 116/159/77 118/162/80 125/170/88 123/167/85 +f 117/161/79 120/164/82 127/172/90 124/169/87 +f 119/163/81 122/166/84 129/174/92 126/171/89 +f 80/168/86 123/167/85 130/175/93 75/176/94 +f 125/170/88 124/169/87 131/177/95 132/178/96 +f 127/172/90 126/171/89 133/179/97 134/180/98 +f 129/174/92 128/173/91 135/181/99 136/182/100 +f 123/167/85 125/170/88 132/178/96 130/175/93 +f 124/169/87 127/172/90 134/180/98 131/177/95 +f 126/171/89 129/174/92 136/182/100 133/179/97 +f 75/183/94 130/184/93 137/185/101 6/186/102 +f 132/187/96 131/188/95 138/189/103 139/190/104 +f 134/191/98 133/192/97 140/193/105 141/194/106 +f 136/195/100 135/196/99 142/197/107 143/198/108 +f 130/184/93 132/187/96 139/190/104 137/185/101 +f 131/188/95 134/191/98 141/194/106 138/189/103 +f 133/192/97 136/195/100 143/198/108 140/193/105 +f 135/196/99 144/199/109 145/200/110 142/197/107 +f 128/173/91 146/201/111 144/202/109 135/181/99 +f 121/165/83 147/203/112 146/201/111 128/173/91 +f 114/157/75 148/204/113 147/203/112 121/165/83 +f 107/149/67 149/205/114 148/204/113 114/157/75 +f 100/141/59 150/206/115 149/205/114 107/149/67 +f 93/133/51 151/207/116 150/206/115 100/141/59 +f 92/132/50 152/208/117 153/209/118 151/207/116 93/133/51 +f 154/210/12 145/211/110 144/212/109 146/213/111 147/214/112 148/215/113 149/216/114 150/217/115 151/218/116 153/219/118 diff --git a/technic/models/technic_diagonal_truss.obj b/technic/models/technic_diagonal_truss.obj new file mode 100644 index 0000000..f129494 --- /dev/null +++ b/technic/models/technic_diagonal_truss.obj @@ -0,0 +1,74 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +mtllib technic_diagonal_truss.mtl +o Cube_Cube.008 +v -0.500214 -0.323437 -0.125000 +v 0.500003 0.676779 -0.125000 +v 0.500003 0.500003 -0.125000 +v 0.676779 0.500003 -0.125000 +v -0.322989 -0.499766 -0.125000 +v -0.500003 -0.500003 -0.125000 +v -0.500214 -0.323437 0.125000 +v 0.500003 0.676779 0.125000 +v -0.322989 -0.499766 0.125000 +v -0.500003 -0.500003 0.125000 +v 0.676779 0.500003 0.125000 +v 0.500003 0.500003 0.125000 +v 0.500003 0.500003 0.125000 +v 0.500003 0.500003 -0.125000 +vt 0.918999 0.620735 +vt 0.000192 0.620735 +vt 0.081386 0.505909 +vt 0.000192 0.391082 +vt 0.918588 0.391082 +vt 1.000000 0.505909 +vt -0.000005 0.375051 +vt 0.999795 0.375051 +vt 0.999795 0.624949 +vt -0.000005 0.624949 +vt 0.624975 0.615432 +vt 0.499990 0.615432 +vt 0.499990 0.369299 +vt 0.624975 0.369299 +vt 0.000219 0.624856 +vt 0.000219 0.374906 +vt 0.999781 0.374906 +vt 0.999781 0.624856 +vt 0.375025 0.615432 +vt 0.375025 0.369299 +vt 0.081192 0.611726 +vt 0.000192 0.496900 +vt 0.081604 0.382073 +vt 1.000000 0.382073 +vt 0.918806 0.496900 +vt 1.000000 0.611726 +vt 0.492368 0.623067 +vt 0.492368 0.376933 +vt 0.617343 0.376933 +vt 0.617343 0.623067 +vt 0.367392 0.623067 +vt 0.367392 0.376933 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vn -0.0000 0.0000 -1.0000 +vn -0.7071 0.7071 0.0000 +vn 0.0013 -1.0000 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -1.0000 -0.0012 0.0000 +vn 0.0000 -0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 0.0000 +usemtl None +s 1 +f 1/1/1 2/2/1 3/3/1 4/4/1 5/5/1 6/6/1 +f 7/7/2 8/8/2 2/9/2 1/10/2 +f 9/11/3 10/12/3 6/13/3 5/14/3 +f 9/15/4 5/16/4 4/17/4 11/18/4 +f 10/12/5 7/19/5 1/20/5 6/13/5 +f 7/21/6 10/22/6 9/23/6 11/24/6 12/25/6 8/26/6 +f 12/27/7 3/28/7 2/29/7 8/30/7 +f 3/28/8 12/27/8 11/31/8 4/32/8 +f 13/33/9 14/34/9 3/35/9 12/36/9 diff --git a/technic/models/technic_diagonal_truss_cross.obj b/technic/models/technic_diagonal_truss_cross.obj new file mode 100644 index 0000000..d3f24f8 --- /dev/null +++ b/technic/models/technic_diagonal_truss_cross.obj @@ -0,0 +1,164 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +mtllib technic_diagonal_truss_cross.mtl +o Cube.001_Cube.010 +v 0.323437 -0.500214 -0.125000 +v -0.676779 0.500003 -0.125000 +v -0.500003 0.500003 -0.125000 +v -0.500003 0.676779 -0.125000 +v 0.499766 -0.322989 -0.125000 +v 0.500003 -0.500003 -0.125000 +v 0.323437 -0.500214 0.125000 +v 0.000244 -0.177020 0.125000 +v -0.176187 -0.000589 0.125000 +v -0.676779 0.500003 0.125000 +v 0.499766 -0.322989 0.125000 +v 0.500003 -0.500003 0.125000 +v -0.500003 0.676779 0.125000 +v 0.000029 0.176748 0.125000 +v 0.175892 0.000885 0.125000 +v -0.500003 0.500003 0.125000 +v -0.000554 0.176222 -0.125000 +v 0.500003 0.676779 -0.125000 +v 0.500003 0.500003 -0.125000 +v 0.676779 0.500003 -0.125000 +v 0.175852 -0.000925 -0.125000 +v -0.500213 -0.323437 0.125000 +v 0.500003 0.676779 0.125000 +v -0.176762 0.000014 -0.125000 +v -0.500213 -0.323437 -0.125000 +v -0.322989 -0.499766 0.125000 +v -0.500003 -0.500003 0.125000 +v -0.500003 -0.500003 -0.125000 +v -0.322989 -0.499766 -0.125000 +v -0.001331 -0.178108 -0.125000 +v 0.676779 0.500003 0.125000 +v 0.500003 0.500003 0.125000 +v -0.500003 0.500003 0.125000 +v -0.500003 0.500003 -0.125000 +v 0.500003 0.500003 0.125000 +v 0.500003 0.500003 -0.125000 +vt 0.918999 0.620735 +vt 0.000192 0.620735 +vt 0.081386 0.505909 +vt 0.000192 0.391082 +vt 0.918588 0.391082 +vt 1.000000 0.505909 +vt -0.000005 0.375051 +vt 0.323053 0.375051 +vt 0.499411 0.375051 +vt 0.999795 0.375051 +vt 0.999795 0.624949 +vt -0.000005 0.624949 +vt 0.624975 0.615432 +vt 0.499990 0.615432 +vt 0.499990 0.369299 +vt 0.624975 0.369299 +vt 0.000219 0.624856 +vt 0.000219 0.374906 +vt 0.999781 0.374906 +vt 0.999781 0.624856 +vt 0.499852 0.624856 +vt 0.324026 0.624856 +vt 0.375025 0.615432 +vt 0.375025 0.369299 +vt 0.540151 0.611726 +vt 0.540666 0.382073 +vt 1.000000 0.382073 +vt 0.918806 0.496900 +vt 1.000000 0.611726 +vt 0.492368 0.623067 +vt 0.492368 0.376933 +vt 0.617343 0.376933 +vt 0.617343 0.623067 +vt 0.367392 0.623067 +vt 0.367392 0.376933 +vt 0.081192 0.611726 +vt 0.000192 0.496900 +vt 0.081604 0.382073 +vt 0.379117 0.382073 +vt 0.378081 0.611726 +vt 0.460008 0.620735 +vt 0.000192 0.620735 +vt 0.081386 0.505909 +vt 0.000192 0.391082 +vt 0.460349 0.391082 +vt -0.000005 0.375051 +vt 0.999795 0.375051 +vt 0.999795 0.624949 +vt 0.499446 0.624949 +vt 0.323311 0.624949 +vt -0.000005 0.624949 +vt 0.624975 0.615432 +vt 0.499990 0.615432 +vt 0.499990 0.369299 +vt 0.624975 0.369299 +vt 0.000219 0.624856 +vt 0.000219 0.374906 +vt 0.321810 0.374906 +vt 0.498957 0.374906 +vt 0.999781 0.374906 +vt 0.999781 0.624856 +vt 0.375025 0.615432 +vt 0.375025 0.369299 +vt 0.081192 0.611726 +vt 0.000192 0.496900 +vt 0.081604 0.382073 +vt 1.000000 0.382073 +vt 0.918806 0.496900 +vt 1.000000 0.611726 +vt 0.492368 0.623067 +vt 0.492368 0.376933 +vt 0.617343 0.376933 +vt 0.617343 0.623067 +vt 0.367392 0.623067 +vt 0.367392 0.376933 +vt 0.918999 0.620735 +vt 0.621874 0.620735 +vt 0.623110 0.391082 +vt 0.918588 0.391082 +vt 1.000000 0.505909 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vn -0.0000 0.0000 -1.0000 +vn -0.7071 -0.7071 0.0000 +vn 1.0000 0.0013 0.0000 +vn 0.7071 0.7071 -0.0000 +vn 0.0012 -1.0000 0.0000 +vn -0.0000 -0.0000 1.0000 +vn 0.0000 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.0013 -1.0000 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -1.0000 -0.0012 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 0.0000 +usemtl None +s 1 +f 1/1/1 2/2/1 3/3/1 4/4/1 5/5/1 6/6/1 +f 7/7/2 8/8/2 9/9/2 10/10/2 2/11/2 1/12/2 +f 11/13/3 12/14/3 6/15/3 5/16/3 +f 11/17/4 5/18/4 4/19/4 13/20/4 14/21/4 15/22/4 +f 12/14/5 7/23/5 1/24/5 6/15/5 +f 9/25/6 14/26/6 13/27/6 16/28/6 10/29/6 +f 16/30/7 3/31/7 2/32/7 10/33/7 +f 3/31/8 16/30/8 13/34/8 4/35/8 +f 7/36/6 12/37/6 11/38/6 15/39/6 8/40/6 +f 17/41/1 18/42/1 19/43/1 20/44/1 21/45/1 +f 22/46/9 23/47/9 18/48/9 17/49/9 24/50/9 25/51/9 +f 26/52/10 27/53/10 28/54/10 29/55/10 +f 26/56/11 29/57/11 30/58/11 21/59/11 20/60/11 31/61/11 +f 27/53/12 22/62/12 25/63/12 28/54/12 +f 22/64/6 27/65/6 26/66/6 31/67/6 32/68/6 23/69/6 +f 32/70/13 19/71/13 18/72/13 23/73/13 +f 19/71/7 32/70/7 31/74/7 20/75/7 +f 25/76/1 24/77/1 30/78/1 29/79/1 28/80/1 +f 33/81/14 34/82/14 3/83/14 16/84/14 +f 35/85/14 36/86/14 19/87/14 32/88/14 diff --git a/technic/models/technic_inner_curved_edge.obj b/technic/models/technic_inner_curved_edge.obj new file mode 100644 index 0000000..66a6c02 --- /dev/null +++ b/technic/models/technic_inner_curved_edge.obj @@ -0,0 +1,137 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +mtllib technic_inner_curved_edge.mtl +o Cylinder_Cylinder.000 +v -0.500000 -0.500000 -0.000000 +v -0.500000 -0.402455 -0.009607 +v 0.500000 -0.402455 -0.009607 +v 0.500000 -0.500000 -0.000000 +v -0.500000 -0.308658 -0.038060 +v 0.500000 -0.308658 -0.038060 +v -0.500000 -0.222215 -0.084265 +v 0.500000 -0.222215 -0.084265 +v -0.500000 -0.146446 -0.146447 +v 0.500000 -0.146446 -0.146447 +v -0.500000 -0.084265 -0.222215 +v 0.500000 -0.084265 -0.222215 +v -0.500000 -0.038060 -0.308659 +v 0.500000 -0.038060 -0.308659 +v -0.500000 -0.009607 -0.402455 +v 0.500000 -0.009607 -0.402455 +v -0.500000 0.000000 -0.500000 +v 0.500000 0.000000 -0.500000 +v 0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 0.500000 +v -0.500000 0.500000 -0.500000 +v 0.500000 0.500000 -0.500000 +v 0.500000 0.500000 0.500000 +v -0.500000 0.500000 0.500000 +vt 1.000000 0.000000 +vt 0.415735 0.277785 +vt 0.461940 0.191342 +vt 0.353553 0.353554 +vt 0.000000 0.000000 +vt 0.584265 0.277785 +vt 0.646447 0.353554 +vt 0.097545 0.490393 +vt 0.000000 1.000000 +vt 0.000000 0.500000 +vt 0.191341 0.461940 +vt 0.277785 0.415735 +vt 0.722215 0.415735 +vt 1.000000 1.000000 +vt 0.500000 0.000000 +vt 0.509607 0.097545 +vt 0.538060 0.191342 +vt 0.902455 0.490393 +vt 1.000000 0.500000 +vt 0.808659 0.461940 +vt 0.490393 0.097545 +vt 0.500000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 0.115813 +vt 0.000000 0.115813 +vt 0.000000 0.000000 +vt 1.000000 0.244499 +vt 0.000000 0.244499 +vt 1.000000 0.381110 +vt 0.000000 0.381110 +vt 1.000000 0.520399 +vt 0.000000 0.520399 +vt 1.000000 0.657010 +vt 0.000000 0.657010 +vt 1.000000 0.785695 +vt 0.000000 0.785696 +vt 1.000000 0.901509 +vt 0.000000 0.901509 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.500000 +vt 1.000000 0.500000 +vt 0.000000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000100 0.999900 +vt 0.000100 0.000100 +vt 0.999900 0.000100 +vt 0.999900 0.999900 +vt 0.000001 1.000000 +vt 1.000000 1.000000 +vt 0.000100 0.999900 +vt 0.000100 0.000100 +vt 0.999900 0.000100 +vt 0.999900 0.999900 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -0.0980 -0.9952 +vn 0.0000 -0.2903 -0.9569 +vn 0.0000 -0.4714 -0.8819 +vn 0.0000 -0.6344 -0.7730 +vn 0.0000 -0.7730 -0.6344 +vn 0.0000 -0.8819 -0.4714 +vn 0.0000 -0.9569 -0.2903 +vn 0.0000 -0.9952 -0.0980 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.5774 0.5774 0.5774 +vn 0.4472 0.8944 0.0000 +vn -0.4472 0.8944 0.0000 +vn -0.5774 0.5774 0.5774 +vn 0.4472 -0.0000 0.8944 +vn -0.4472 -0.0000 0.8944 +usemtl None +s off +f 20/1/1 7/2/1 5/3/1 +f 20/1/1 9/4/1 7/2/1 +f 19/5/2 8/6/2 10/7/2 +f 15/8/1 21/9/1 17/10/1 +f 13/11/1 21/9/1 15/8/1 +f 11/12/1 21/9/1 13/11/1 +f 10/7/2 12/13/2 22/14/2 +f 19/5/2 4/15/2 3/16/2 +f 19/5/2 3/16/2 6/17/2 +f 19/5/2 6/17/2 8/6/2 +f 11/12/1 9/4/1 21/9/1 +f 16/18/2 18/19/2 22/14/2 +f 14/20/2 16/18/2 22/14/2 +f 12/13/2 14/20/2 22/14/2 +f 19/5/2 10/7/2 22/14/2 +f 20/1/1 5/3/1 2/21/1 +f 20/1/1 2/21/1 1/22/1 +f 9/4/1 20/1/1 21/9/1 +s 1 +f 1/23/3 2/24/3 3/25/3 4/26/3 +f 2/24/4 5/27/4 6/28/4 3/25/4 +f 5/27/5 7/29/5 8/30/5 6/28/5 +f 7/29/6 9/31/6 10/32/6 8/30/6 +f 9/31/7 11/33/7 12/34/7 10/32/7 +f 11/33/8 13/35/8 14/36/8 12/34/8 +f 13/35/9 15/37/9 16/38/9 14/36/9 +f 15/37/10 17/39/10 18/40/10 16/38/10 +f 4/41/11 19/5/11 20/1/11 1/42/11 +f 18/43/12 17/44/12 21/45/12 22/46/12 +f 23/47/13 22/48/14 21/49/15 24/50/16 +f 22/14/14 23/51/13 19/5/17 +f 21/9/15 20/1/18 24/52/16 +f 24/53/16 20/54/18 19/55/17 23/56/13 diff --git a/technic/models/technic_opposed_curved_edge.obj b/technic/models/technic_opposed_curved_edge.obj new file mode 100644 index 0000000..ccb4562 --- /dev/null +++ b/technic/models/technic_opposed_curved_edge.obj @@ -0,0 +1,244 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +mtllib technic_opposed_curved_edge.mtl +o Cylinder_Cylinder.006 +v 0.500000 0.097545 -0.490393 +v 0.500000 0.000000 0.000000 +v 0.500000 0.000000 -0.500000 +v 0.500000 0.191342 -0.461940 +v 0.500000 0.277785 -0.415735 +v 0.500000 0.353553 -0.353553 +v 0.500000 0.415735 -0.277785 +v 0.500000 0.461940 -0.191342 +v 0.500000 0.490393 -0.097545 +v 0.500000 0.500000 0.000000 +v 0.500000 0.490393 0.097545 +v 0.500000 0.461940 0.191342 +v 0.500000 0.415735 0.277785 +v 0.500000 0.353553 0.353553 +v 0.500000 0.277785 0.415735 +v 0.500000 0.191342 0.461940 +v 0.500000 0.097545 0.490393 +v -0.500000 0.000000 0.000000 +v -0.500000 0.097545 -0.490393 +v -0.500000 0.000000 -0.500000 +v 0.500000 -0.000000 0.500000 +v -0.500000 0.191342 -0.461940 +v -0.500000 0.277785 -0.415735 +v -0.500000 0.353553 -0.353554 +v -0.500000 0.415735 -0.277785 +v -0.500000 0.461940 -0.191342 +v -0.500000 0.490393 -0.097545 +v -0.500000 0.500000 0.000000 +v -0.500000 -0.000000 0.500000 +v -0.500000 0.097545 0.490392 +v -0.500000 0.490393 0.097545 +v -0.500000 0.461940 0.191341 +v -0.500000 0.415735 0.277785 +v -0.500000 0.353553 0.353553 +v -0.500000 0.277785 0.415735 +v -0.500000 0.191342 0.461940 +v -0.500000 0.000000 0.000000 +v -0.500000 0.000000 -0.500000 +v -0.500000 -0.500000 -0.500000 +v -0.500000 -0.500000 0.500000 +v -0.500000 -0.000000 0.500000 +v 0.500000 0.000000 0.000000 +v 0.500000 -0.000000 0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +v 0.500000 0.000000 -0.500000 +vt 0.985658 0.594688 +vt 0.497610 0.497610 +vt 0.995219 0.497610 +vt 0.957341 0.688037 +vt 0.911357 0.774067 +vt 0.849473 0.849473 +vt 0.774067 0.911357 +vt 0.688037 0.957341 +vt 0.594688 0.985659 +vt 0.497610 0.995219 +vt 0.400531 0.985658 +vt 0.307182 0.957341 +vt 0.221153 0.911357 +vt 0.145747 0.849473 +vt 0.083862 0.774067 +vt 0.037878 0.688037 +vt 0.009561 0.594688 +vt 0.498675 0.495551 +vt 0.012646 0.592228 +vt 0.003124 0.495551 +vt 0.000000 0.497610 +vt 0.040846 0.685190 +vt 0.086639 0.770864 +vt 0.148267 0.845958 +vt 0.223362 0.907586 +vt 0.309036 0.953380 +vt 0.401998 0.981580 +vt 0.498675 0.991101 +vt 0.994226 0.495551 +vt 0.984703 0.592228 +vt 0.595352 0.981580 +vt 0.688313 0.953380 +vt 0.773988 0.907586 +vt 0.849082 0.845958 +vt 0.910710 0.770864 +vt 0.956504 0.685190 +vt 0.498675 0.495551 +vt 0.003124 0.495551 +vt 0.003124 0.000000 +vt 0.994226 0.000000 +vt 0.994226 0.495551 +vt 0.497610 0.497610 +vt 0.000000 0.497610 +vt 0.000000 0.000000 +vt 0.995219 0.000000 +vt 0.995219 0.497610 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.561068 +vt 1.000000 0.561069 +vt 1.000000 0.672944 +vt 0.000000 0.672944 +vt 1.000000 0.785357 +vt 0.000000 0.785357 +vt 1.000000 0.893983 +vt 0.000000 0.893983 +vt 1.000000 0.994651 +vt 0.000000 0.994651 +vt 0.000063 0.001043 +vt 0.999937 0.001045 +vt 0.999937 0.125904 +vt 0.000063 0.125903 +vt 0.999937 0.250762 +vt 0.000063 0.250761 +vt 0.999937 0.375621 +vt 0.000063 0.375620 +vt 0.999937 0.495596 +vt 0.000063 0.495596 +vt 0.999937 0.496417 +vt 0.000063 0.496416 +vt 0.000063 0.376706 +vt 0.999937 0.376707 +vt 0.000063 0.251138 +vt 0.999937 0.251138 +vt 0.000063 0.125569 +vt 0.999937 0.125569 +vt 0.000063 0.000000 +vt 0.999937 0.000000 +vt 0.999732 1.003611 +vt 0.000000 1.003610 +vt 0.000000 0.893370 +vt 0.999732 0.893371 +vt 0.000000 0.783130 +vt 0.999732 0.783130 +vt 0.000000 0.672890 +vt 0.999732 0.672890 +vt 0.000000 0.562651 +vt 0.999732 0.562650 +vt 0.999733 0.562350 +vt 0.000000 0.562350 +vt 0.000000 0.000000 +vt 0.999733 0.000000 +vt 1.000000 0.561068 +vt 0.000000 0.561068 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 0.0000 +vn 0.0000 0.9988 0.0491 +vn 0.0000 0.1951 -0.9808 +vn 0.0000 0.3827 -0.9239 +vn 0.0000 0.5556 -0.8315 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 0.8315 -0.5556 +vn 0.0000 0.9239 -0.3827 +vn 0.0000 0.9808 -0.1951 +vn 0.0000 1.0000 0.0000 +vn -0.0000 0.9808 0.1951 +vn -0.0000 0.9239 0.3827 +vn -0.0000 0.8315 0.5556 +vn 0.0000 0.7071 0.7071 +vn 0.0000 0.5556 0.8315 +vn -0.0000 0.3827 0.9239 +vn -0.0000 0.1951 0.9808 +vn -0.0000 0.0491 0.9988 +vn 0.0000 -0.0000 1.0000 +vn 0.0000 -0.7071 0.7071 +vn -0.7071 0.0000 0.7071 +vn 0.7071 0.0000 0.7071 +vn 0.0000 -0.7071 -0.7071 +usemtl None +s off +f 1/1/1 2/2/1 3/3/1 +f 4/4/1 2/2/1 1/1/1 +f 5/5/1 2/2/1 4/4/1 +f 6/6/1 2/2/1 5/5/1 +f 7/7/1 2/2/1 6/6/1 +f 8/8/1 2/2/1 7/7/1 +f 9/9/1 2/2/1 8/8/1 +f 10/10/1 2/2/1 9/9/1 +f 11/11/1 2/2/1 10/10/1 +f 11/11/1 12/12/1 2/2/1 +f 2/2/1 12/12/1 13/13/1 +f 2/2/1 14/14/1 15/15/1 +f 2/2/1 15/15/1 16/16/1 +f 2/2/1 16/16/1 17/17/1 +f 18/18/2 19/19/2 20/20/2 +f 21/21/1 2/2/1 17/17/1 +f 2/2/1 13/13/1 14/14/1 +f 18/18/2 22/22/2 19/19/2 +f 18/18/2 23/23/2 22/22/2 +f 18/18/2 24/24/2 23/23/2 +f 18/18/2 25/25/2 24/24/2 +f 18/18/2 26/26/2 25/25/2 +f 18/18/2 27/27/2 26/26/2 +f 18/18/2 28/28/2 27/27/2 +f 18/18/2 29/29/2 30/30/2 +f 31/31/2 18/18/2 32/32/2 +f 32/32/2 18/18/2 33/33/2 +f 33/33/2 18/18/2 34/34/2 +f 34/34/2 18/18/2 35/35/2 +f 35/35/2 18/18/2 36/36/2 +f 36/36/2 18/18/2 30/30/2 +f 31/31/2 28/28/2 18/18/2 +f 37/37/2 38/38/2 39/39/2 40/40/2 41/41/2 +f 42/42/1 43/43/1 44/44/1 45/45/1 46/46/1 +f 29/47/3 18/48/3 37/49/3 41/50/3 +f 3/51/3 2/52/3 42/53/3 46/54/3 +f 2/52/3 21/55/3 43/56/3 42/53/3 +f 18/48/3 20/57/3 38/58/3 37/49/3 +s 1 +f 3/59/4 20/60/4 19/61/5 1/62/5 +f 1/62/5 19/61/5 22/63/6 4/64/6 +f 4/64/6 22/63/6 23/65/7 5/66/7 +f 5/66/7 23/65/7 24/67/8 6/68/8 +f 6/69/8 24/70/8 25/71/9 7/72/9 +f 7/72/9 25/71/9 26/73/10 8/74/10 +f 8/74/10 26/73/10 27/75/11 9/76/11 +f 9/76/11 27/75/11 28/77/12 10/78/12 +f 10/79/12 28/80/12 31/81/13 11/82/13 +f 11/82/13 31/81/13 32/83/14 12/84/14 +f 12/84/14 32/83/14 33/85/15 13/86/15 +f 13/86/15 33/85/15 34/87/16 14/88/16 +f 14/89/16 34/90/16 35/91/17 15/92/17 +f 15/92/17 35/91/17 36/93/18 16/94/18 +f 16/94/18 36/93/18 30/95/19 17/96/19 +f 17/96/19 30/95/19 29/97/20 21/98/20 +f 43/99/21 41/100/21 40/101/22 44/102/22 +f 38/103/23 46/104/24 45/105/25 39/106/25 +f 21/55/20 29/47/20 41/50/21 43/56/21 +f 20/57/4 3/51/4 46/54/24 38/58/23 +f 40/101/22 39/107/25 45/105/25 44/44/22 diff --git a/technic/models/technic_sphere_half.obj b/technic/models/technic_sphere_half.obj new file mode 100644 index 0000000..ee7e667 --- /dev/null +++ b/technic/models/technic_sphere_half.obj @@ -0,0 +1,1210 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +mtllib technic_sphere_half.mtl +o Sphere.001 +v -0.353553 -0.146447 -0.000000 +v -0.277785 -0.084265 -0.000000 +v -0.272448 -0.084265 -0.054193 +v -0.346760 -0.146447 -0.068975 +v -0.191342 -0.038060 -0.000000 +v -0.097545 -0.009607 -0.000000 +v -0.095671 -0.009607 -0.019030 +v -0.187665 -0.038060 -0.037329 +v -0.490393 -0.402455 -0.000000 +v -0.461940 -0.308658 -0.000000 +v -0.453064 -0.308658 -0.090120 +v -0.480970 -0.402455 -0.095671 +v -0.415735 -0.222215 -0.000000 +v -0.407747 -0.222215 -0.081106 +v -0.500000 -0.500000 -0.000000 +v -0.490393 -0.500000 -0.097545 +v -0.453064 -0.402455 -0.187665 +v -0.461940 -0.500000 -0.191342 +v -0.384089 -0.222215 -0.159095 +v -0.426777 -0.308658 -0.176777 +v -0.256640 -0.084265 -0.106304 +v -0.326641 -0.146447 -0.135299 +v -0.090120 -0.009607 -0.037329 +v -0.176777 -0.038060 -0.073223 +v -0.407746 -0.402455 -0.272448 +v -0.415735 -0.500000 -0.277785 +v -0.345671 -0.222215 -0.230970 +v -0.384089 -0.308658 -0.256640 +v -0.230970 -0.084265 -0.154329 +v -0.293969 -0.146447 -0.196424 +v -0.081106 -0.009607 -0.054193 +v -0.159095 -0.038060 -0.106304 +v -0.346760 -0.402455 -0.346760 +v -0.353553 -0.500000 -0.353554 +v -0.293969 -0.222215 -0.293969 +v -0.326641 -0.308658 -0.326641 +v -0.196424 -0.084265 -0.196424 +v -0.250000 -0.146447 -0.250000 +v -0.068975 -0.009607 -0.068975 +v -0.135299 -0.038060 -0.135299 +v -0.272447 -0.402455 -0.407747 +v -0.277785 -0.500000 -0.415735 +v -0.230970 -0.222215 -0.345671 +v -0.256640 -0.308658 -0.384089 +v -0.154329 -0.084265 -0.230970 +v -0.196424 -0.146447 -0.293969 +v -0.054193 -0.009607 -0.081106 +v -0.106304 -0.038060 -0.159095 +v -0.187665 -0.402455 -0.453064 +v -0.191342 -0.500000 -0.461940 +v -0.159095 -0.222215 -0.384089 +v -0.176777 -0.308658 -0.426777 +v -0.106304 -0.084265 -0.256640 +v -0.135299 -0.146447 -0.326641 +v -0.037329 -0.009607 -0.090120 +v -0.073223 -0.038060 -0.176777 +v -0.095671 -0.402455 -0.480970 +v -0.097545 -0.500000 -0.490393 +v -0.081106 -0.222215 -0.407747 +v -0.090120 -0.308658 -0.453064 +v -0.054193 -0.084265 -0.272448 +v -0.068975 -0.146447 -0.346760 +v -0.019030 -0.009607 -0.095671 +v -0.037329 -0.038060 -0.187665 +v 0.000000 -0.402455 -0.490393 +v 0.000000 -0.500000 -0.500000 +v 0.000000 -0.222215 -0.415735 +v 0.000000 -0.308658 -0.461940 +v 0.000000 -0.084265 -0.277785 +v 0.000000 -0.146447 -0.353553 +v 0.000000 -0.009607 -0.097545 +v 0.000000 -0.038060 -0.191342 +v 0.095671 -0.402455 -0.480970 +v 0.097545 -0.500000 -0.490393 +v 0.081106 -0.222215 -0.407747 +v 0.090120 -0.308658 -0.453064 +v 0.054193 -0.084265 -0.272448 +v 0.068975 -0.146447 -0.346760 +v 0.019030 -0.009607 -0.095671 +v 0.037329 -0.038060 -0.187665 +v 0.187665 -0.402455 -0.453064 +v 0.191342 -0.500000 -0.461940 +v 0.159095 -0.222215 -0.384089 +v 0.176777 -0.308658 -0.426777 +v 0.106304 -0.084265 -0.256640 +v 0.135299 -0.146447 -0.326641 +v 0.037329 -0.009607 -0.090120 +v 0.073224 -0.038060 -0.176777 +v 0.272448 -0.402455 -0.407747 +v 0.277785 -0.500000 -0.415735 +v 0.230970 -0.222215 -0.345671 +v 0.256640 -0.308658 -0.384089 +v 0.154329 -0.084265 -0.230970 +v 0.196424 -0.146447 -0.293969 +v 0.054193 -0.009607 -0.081106 +v 0.106304 -0.038060 -0.159095 +v 0.346760 -0.402455 -0.346760 +v 0.353554 -0.500000 -0.353553 +v 0.293969 -0.222215 -0.293969 +v 0.326641 -0.308658 -0.326641 +v 0.196424 -0.084265 -0.196424 +v 0.250000 -0.146447 -0.250000 +v 0.068975 -0.009607 -0.068975 +v 0.135299 -0.038060 -0.135299 +v 0.407747 -0.402455 -0.272447 +v 0.415735 -0.500000 -0.277785 +v 0.345671 -0.222215 -0.230970 +v 0.384089 -0.308658 -0.256640 +v 0.230970 -0.084265 -0.154329 +v 0.293969 -0.146447 -0.196424 +v 0.081106 -0.009607 -0.054193 +v 0.159095 -0.038060 -0.106304 +v 0.453064 -0.402455 -0.187665 +v 0.461940 -0.500000 -0.191342 +v 0.384089 -0.222215 -0.159095 +v 0.426777 -0.308658 -0.176777 +v 0.256640 -0.084265 -0.106304 +v 0.326641 -0.146447 -0.135299 +v 0.090120 -0.009607 -0.037329 +v 0.176777 -0.038060 -0.073223 +v 0.480970 -0.402455 -0.095671 +v 0.490393 -0.500000 -0.097545 +v 0.407747 -0.222215 -0.081106 +v 0.453064 -0.308658 -0.090120 +v 0.272448 -0.084265 -0.054193 +v 0.346760 -0.146447 -0.068975 +v 0.095671 -0.009607 -0.019030 +v 0.187665 -0.038060 -0.037329 +v 0.490393 -0.402455 -0.000000 +v 0.500000 -0.500000 -0.000000 +v 0.415735 -0.222215 -0.000000 +v 0.461940 -0.308658 -0.000000 +v 0.277785 -0.084265 -0.000000 +v 0.353554 -0.146447 -0.000000 +v 0.097545 -0.009607 -0.000000 +v 0.191342 -0.038060 -0.000000 +v 0.480970 -0.402455 0.095671 +v 0.490393 -0.500000 0.097545 +v 0.407747 -0.222215 0.081106 +v 0.453064 -0.308658 0.090120 +v 0.272448 -0.084265 0.054193 +v 0.346760 -0.146447 0.068975 +v 0.095671 -0.009607 0.019030 +v 0.187665 -0.038060 0.037329 +v 0.453064 -0.402455 0.187665 +v 0.461940 -0.500000 0.191342 +v 0.384089 -0.222215 0.159095 +v 0.426777 -0.308658 0.176777 +v 0.256640 -0.084265 0.106304 +v 0.326641 -0.146447 0.135299 +v 0.090120 -0.009607 0.037329 +v 0.176777 -0.038060 0.073223 +v 0.407747 -0.402455 0.272448 +v 0.415735 -0.500000 0.277785 +v 0.345671 -0.222215 0.230970 +v 0.384089 -0.308658 0.256640 +v 0.230970 -0.084265 0.154329 +v 0.293969 -0.146447 0.196424 +v 0.081106 -0.009607 0.054193 +v 0.159095 -0.038060 0.106304 +v 0.346760 -0.402455 0.346760 +v 0.353553 -0.500000 0.353553 +v 0.293969 -0.222215 0.293969 +v 0.326641 -0.308658 0.326641 +v 0.196424 -0.084265 0.196424 +v 0.250000 -0.146447 0.250000 +v 0.068975 -0.009607 0.068975 +v 0.135299 -0.038060 0.135299 +v 0.272448 -0.402455 0.407746 +v 0.277785 -0.500000 0.415735 +v 0.230970 -0.222215 0.345671 +v 0.256640 -0.308658 0.384089 +v 0.154329 -0.084265 0.230970 +v 0.196424 -0.146447 0.293969 +v 0.054193 -0.009607 0.081106 +v 0.106304 -0.038060 0.159095 +v 0.187665 -0.402455 0.453064 +v 0.191342 -0.500000 0.461940 +v 0.159095 -0.222215 0.384089 +v 0.176777 -0.308658 0.426777 +v 0.106304 -0.084265 0.256640 +v 0.135299 -0.146447 0.326641 +v 0.037329 -0.009607 0.090120 +v 0.073223 -0.038060 0.176777 +v 0.095671 -0.402455 0.480970 +v 0.097545 -0.500000 0.490393 +v 0.081106 -0.222215 0.407746 +v 0.090120 -0.308658 0.453064 +v 0.054193 -0.084265 0.272448 +v 0.068975 -0.146447 0.346760 +v 0.019030 -0.009607 0.095671 +v 0.037329 -0.038060 0.187665 +v 0.000000 -0.402455 0.490392 +v 0.000000 -0.500000 0.500000 +v 0.000000 -0.222215 0.415735 +v 0.000000 -0.308658 0.461940 +v 0.000000 -0.084265 0.277785 +v 0.000000 -0.146447 0.353553 +v 0.000000 -0.009607 0.097545 +v 0.000000 -0.038060 0.191342 +v -0.095671 -0.402455 0.480970 +v -0.097545 -0.500000 0.490393 +v -0.081106 -0.222215 0.407746 +v -0.090120 -0.308658 0.453064 +v -0.054193 -0.084265 0.272448 +v -0.068975 -0.146447 0.346760 +v -0.019030 -0.009607 0.095671 +v -0.037329 -0.038060 0.187665 +v -0.187665 -0.402455 0.453063 +v -0.191342 -0.500000 0.461940 +v -0.159095 -0.222215 0.384089 +v -0.176777 -0.308658 0.426777 +v -0.106304 -0.084265 0.256640 +v -0.135299 -0.146447 0.326641 +v -0.037329 -0.009607 0.090120 +v -0.073223 -0.038060 0.176777 +v -0.272447 -0.402455 0.407746 +v -0.277785 -0.500000 0.415735 +v -0.230970 -0.222215 0.345671 +v -0.256640 -0.308658 0.384089 +v -0.154329 -0.084265 0.230970 +v -0.196424 -0.146447 0.293969 +v -0.054193 -0.009607 0.081106 +v -0.106304 -0.038060 0.159095 +v -0.346760 -0.402455 0.346760 +v -0.353553 -0.500000 0.353553 +v -0.293969 -0.222215 0.293969 +v -0.326641 -0.308658 0.326641 +v -0.196424 -0.084265 0.196424 +v -0.250000 -0.146447 0.250000 +v -0.068975 -0.009607 0.068975 +v -0.135299 -0.038060 0.135299 +v -0.407746 -0.402455 0.272447 +v -0.415735 -0.500000 0.277785 +v -0.345671 -0.222215 0.230970 +v -0.384089 -0.308658 0.256640 +v -0.230970 -0.084265 0.154329 +v -0.293969 -0.146447 0.196424 +v -0.081106 -0.009607 0.054193 +v -0.159095 -0.038060 0.106304 +v -0.453063 -0.402455 0.187665 +v -0.461939 -0.500000 0.191342 +v -0.384089 -0.222215 0.159095 +v -0.426776 -0.308658 0.176777 +v -0.256640 -0.084265 0.106304 +v -0.326641 -0.146447 0.135299 +v -0.090120 -0.009607 0.037329 +v -0.176776 -0.038060 0.073223 +v -0.480969 -0.402455 0.095671 +v -0.490392 -0.500000 0.097545 +v -0.407746 -0.222215 0.081106 +v -0.453063 -0.308658 0.090120 +v -0.272447 -0.084265 0.054193 +v -0.346760 -0.146447 0.068975 +v -0.095671 -0.009607 0.019030 +v -0.187665 -0.038060 0.037329 +v -0.012914 -0.004804 0.002569 +v -0.013167 -0.004804 -0.000000 +v -0.012165 -0.004804 0.005039 +v -0.010948 -0.004804 0.007315 +v -0.009311 -0.004804 0.009311 +v -0.007315 -0.004804 0.010948 +v -0.005039 -0.004804 0.012165 +v -0.002569 -0.004804 0.012914 +v 0.000000 -0.004804 0.013167 +v 0.002569 -0.004804 0.012914 +v 0.005039 -0.004804 0.012165 +v 0.007316 -0.004804 0.010948 +v 0.009311 -0.004804 0.009311 +v 0.010948 -0.004804 0.007315 +v 0.012165 -0.004804 0.005039 +v 0.012915 -0.004804 0.002569 +v 0.013168 -0.004804 -0.000000 +v 0.012915 -0.004804 -0.002569 +v 0.012165 -0.004804 -0.005039 +v 0.010948 -0.004804 -0.007315 +v 0.009311 -0.004804 -0.009311 +v 0.007316 -0.004804 -0.010948 +v 0.005039 -0.004804 -0.012165 +v 0.002569 -0.004804 -0.012914 +v 0.000000 -0.004804 -0.013167 +v -0.002569 -0.004804 -0.012914 +v -0.005039 -0.004804 -0.012165 +v -0.007315 -0.004804 -0.010948 +v -0.009311 -0.004804 -0.009311 +v -0.010948 -0.004804 -0.007315 +v -0.012165 -0.004804 -0.005039 +v -0.012914 -0.004804 -0.002569 +vt 0.437500 0.750000 +vt 0.437500 0.812500 +vt 0.375000 0.812500 +vt 0.375000 0.750000 +vt 0.437500 0.875000 +vt 0.437500 0.937500 +vt 0.375000 0.937500 +vt 0.375000 0.875000 +vt 0.437500 0.562500 +vt 0.437500 0.625000 +vt 0.375000 0.625000 +vt 0.375000 0.562500 +vt 0.437500 0.687500 +vt 0.375000 0.687500 +vt 0.437500 0.500000 +vt 0.375000 0.500000 +vt 0.312500 0.562500 +vt 0.312500 0.500000 +vt 0.312500 0.687500 +vt 0.312500 0.625000 +vt 0.312500 0.812500 +vt 0.312500 0.750000 +vt 0.312500 0.937500 +vt 0.312500 0.875000 +vt 0.250000 0.562500 +vt 0.250000 0.500000 +vt 0.250000 0.687500 +vt 0.250000 0.625000 +vt 0.250000 0.812500 +vt 0.250000 0.750000 +vt 0.250000 0.937500 +vt 0.250000 0.875000 +vt 0.187500 0.562500 +vt 0.187500 0.500000 +vt 0.187500 0.687500 +vt 0.187500 0.625000 +vt 0.187500 0.812500 +vt 0.187500 0.750000 +vt 0.187500 0.937500 +vt 0.187500 0.875000 +vt 0.125000 0.562500 +vt 0.125000 0.500000 +vt 0.125000 0.687500 +vt 0.125000 0.625000 +vt 0.125000 0.812500 +vt 0.125000 0.750000 +vt 0.125000 0.937500 +vt 0.125000 0.875000 +vt 0.062500 0.562500 +vt 0.062500 0.500000 +vt 0.062500 0.687500 +vt 0.062500 0.625000 +vt 0.062500 0.812500 +vt 0.062500 0.750000 +vt 0.062500 0.937500 +vt 0.062500 0.875000 +vt 0.000000 0.562500 +vt 0.000000 0.500000 +vt 0.000000 0.687500 +vt 0.000000 0.625000 +vt 0.000000 0.812500 +vt 0.000000 0.750000 +vt 0.000000 0.937500 +vt 0.000000 0.875000 +vt 1.000000 0.500000 +vt 1.000000 0.562500 +vt 0.937500 0.562500 +vt 0.937500 0.500000 +vt 1.000000 0.625000 +vt 1.000000 0.687500 +vt 0.937500 0.687500 +vt 0.937500 0.625000 +vt 1.000000 0.750000 +vt 1.000000 0.812500 +vt 0.937500 0.812500 +vt 0.937500 0.750000 +vt 1.000000 0.875000 +vt 1.000000 0.937500 +vt 0.937500 0.937500 +vt 0.937500 0.875000 +vt 0.875000 0.562500 +vt 0.875000 0.500000 +vt 0.875000 0.687500 +vt 0.875000 0.625000 +vt 0.875000 0.812500 +vt 0.875000 0.750000 +vt 0.875000 0.937500 +vt 0.875000 0.875000 +vt 0.812500 0.562500 +vt 0.812500 0.500000 +vt 0.812500 0.687500 +vt 0.812500 0.625000 +vt 0.812500 0.812500 +vt 0.812500 0.750000 +vt 0.812500 0.937500 +vt 0.812500 0.875000 +vt 0.750000 0.562500 +vt 0.750000 0.500000 +vt 0.750000 0.687500 +vt 0.750000 0.625000 +vt 0.750000 0.812500 +vt 0.750000 0.750000 +vt 0.750000 0.937500 +vt 0.750000 0.875000 +vt 0.687500 0.562500 +vt 0.687500 0.500000 +vt 0.687500 0.687500 +vt 0.687500 0.625000 +vt 0.687500 0.812500 +vt 0.687500 0.750000 +vt 0.687500 0.937500 +vt 0.687500 0.875000 +vt 0.625000 0.562500 +vt 0.625000 0.500000 +vt 0.625000 0.687500 +vt 0.625000 0.625000 +vt 0.625000 0.812500 +vt 0.625000 0.750000 +vt 0.625000 0.937500 +vt 0.625000 0.875000 +vt 0.562500 0.562500 +vt 0.562500 0.500000 +vt 0.562500 0.687500 +vt 0.562500 0.625000 +vt 0.562500 0.812500 +vt 0.562500 0.750000 +vt 0.562500 0.937500 +vt 0.562500 0.875000 +vt 0.500000 0.562500 +vt 0.500000 0.500000 +vt 0.500000 0.687500 +vt 0.500000 0.625000 +vt 0.500000 0.812500 +vt 0.500000 0.750000 +vt 0.500000 0.937500 +vt 0.500000 0.875000 +vt 0.437500 0.562500 +vt 0.437500 0.500000 +vt 0.437500 0.687500 +vt 0.437500 0.625000 +vt 0.437500 0.812500 +vt 0.437500 0.750000 +vt 0.437500 0.937500 +vt 0.437500 0.875000 +vt 0.375000 0.562500 +vt 0.375000 0.500000 +vt 0.375000 0.687500 +vt 0.375000 0.625000 +vt 0.375000 0.812500 +vt 0.375000 0.750000 +vt 0.375000 0.937500 +vt 0.375000 0.875000 +vt 0.312500 0.562500 +vt 0.312500 0.500000 +vt 0.312500 0.687500 +vt 0.312500 0.625000 +vt 0.312500 0.812500 +vt 0.312500 0.750000 +vt 0.312500 0.937500 +vt 0.312500 0.875000 +vt 0.250000 0.562500 +vt 0.250000 0.500000 +vt 0.250000 0.687500 +vt 0.250000 0.625000 +vt 0.250000 0.812500 +vt 0.250000 0.750000 +vt 0.250000 0.937500 +vt 0.250000 0.875000 +vt 0.187500 0.562500 +vt 0.187500 0.500000 +vt 0.187500 0.687500 +vt 0.187500 0.625000 +vt 0.187500 0.812500 +vt 0.187500 0.750000 +vt 0.187500 0.937500 +vt 0.187500 0.875000 +vt 0.125000 0.562500 +vt 0.125000 0.500000 +vt 0.125000 0.687500 +vt 0.125000 0.625000 +vt 0.125000 0.812500 +vt 0.125000 0.750000 +vt 0.125000 0.937500 +vt 0.125000 0.875000 +vt 0.062500 0.562500 +vt 0.062500 0.500000 +vt 0.062500 0.687500 +vt 0.062500 0.625000 +vt 0.062500 0.812500 +vt 0.062500 0.750000 +vt 0.062500 0.937500 +vt 0.062500 0.875000 +vt 0.000000 0.562500 +vt 0.000000 0.500000 +vt 0.000000 0.687500 +vt 0.000000 0.625000 +vt 0.000000 0.812500 +vt 0.000000 0.750000 +vt 0.000000 0.937500 +vt 0.000000 0.875000 +vt 1.000000 0.500000 +vt 1.000000 0.562500 +vt 0.937500 0.562500 +vt 0.937500 0.500000 +vt 1.000000 0.625000 +vt 1.000000 0.687500 +vt 0.937500 0.687500 +vt 0.937500 0.625000 +vt 1.000000 0.750000 +vt 1.000000 0.812500 +vt 0.937500 0.812500 +vt 0.937500 0.750000 +vt 1.000000 0.875000 +vt 1.000000 0.937500 +vt 0.937500 0.937500 +vt 0.937500 0.875000 +vt 0.875000 0.562500 +vt 0.875000 0.500000 +vt 0.875000 0.687500 +vt 0.875000 0.625000 +vt 0.875000 0.812500 +vt 0.875000 0.750000 +vt 0.875000 0.937500 +vt 0.875000 0.875000 +vt 0.812500 0.562500 +vt 0.812500 0.500000 +vt 0.812500 0.687500 +vt 0.812500 0.625000 +vt 0.812500 0.812500 +vt 0.812500 0.750000 +vt 0.812500 0.937500 +vt 0.812500 0.875000 +vt 0.750000 0.562500 +vt 0.750000 0.500000 +vt 0.750000 0.687500 +vt 0.750000 0.625000 +vt 0.750000 0.812500 +vt 0.750000 0.750000 +vt 0.750000 0.937500 +vt 0.750000 0.875000 +vt 0.687500 0.562500 +vt 0.687500 0.500000 +vt 0.687500 0.687500 +vt 0.687500 0.625000 +vt 0.687500 0.812500 +vt 0.687500 0.750000 +vt 0.687500 0.937500 +vt 0.687500 0.875000 +vt 0.625000 0.562500 +vt 0.625000 0.500000 +vt 0.625000 0.687500 +vt 0.625000 0.625000 +vt 0.625000 0.812500 +vt 0.625000 0.750000 +vt 0.625000 0.937500 +vt 0.625000 0.875000 +vt 0.562500 0.562500 +vt 0.562500 0.500000 +vt 0.562500 0.687500 +vt 0.562500 0.625000 +vt 0.562500 0.812500 +vt 0.562500 0.750000 +vt 0.562500 0.937500 +vt 0.562500 0.875000 +vt 0.500000 0.562500 +vt 0.500000 0.500000 +vt 0.500000 0.687500 +vt 0.500000 0.625000 +vt 0.500000 0.812500 +vt 0.500000 0.750000 +vt 0.500000 0.937500 +vt 0.500000 0.875000 +vt 0.500000 1.000000 +vt 0.437500 1.000000 +vt 0.562500 1.000000 +vt 0.625000 1.000000 +vt 0.687500 1.000000 +vt 0.750000 1.000000 +vt 0.812500 1.000000 +vt 0.875000 1.000000 +vt 0.937500 1.000000 +vt 1.000000 1.000000 +vt 0.062500 1.000000 +vt -0.000000 1.000000 +vt 0.125000 1.000000 +vt 0.187500 1.000000 +vt 0.250000 1.000000 +vt 0.312500 1.000000 +vt 0.375000 1.000000 +vt 0.437500 1.000000 +vt 0.500000 1.000000 +vt 0.562500 1.000000 +vt 0.625000 1.000000 +vt 0.687500 1.000000 +vt 0.750000 1.000000 +vt 0.812500 1.000000 +vt 0.875000 1.000000 +vt 0.937500 1.000000 +vt 1.000000 1.000000 +vt 0.062500 1.000000 +vt -0.000000 1.000000 +vt 0.125000 1.000000 +vt 0.187500 1.000000 +vt 0.250000 1.000000 +vt 0.312500 1.000000 +vt 0.375000 1.000000 +vt 0.031303 0.999906 +vt 0.037377 0.999307 +vt 0.043218 0.997535 +vt 0.048601 0.994658 +vt 0.053319 0.990786 +vt 0.057192 0.986068 +vt 0.060069 0.980685 +vt 0.061841 0.974844 +vt 0.062439 0.968769 +vt 0.061841 0.962695 +vt 0.060069 0.956854 +vt 0.057192 0.951471 +vt 0.053319 0.946753 +vt 0.048601 0.942881 +vt 0.043218 0.940004 +vt 0.037377 0.938232 +vt 0.031303 0.937633 +vt 0.025229 0.938232 +vt 0.019388 0.940004 +vt 0.014005 0.942881 +vt 0.009286 0.946753 +vt 0.005414 0.951471 +vt 0.002537 0.956854 +vt 0.000765 0.962695 +vt 0.000167 0.968770 +vt 0.000765 0.974844 +vt 0.002537 0.980685 +vt 0.005414 0.986068 +vt 0.009286 0.990786 +vt 0.014005 0.994658 +vt 0.019388 0.997535 +vt 0.025229 0.999307 +vt 0.025591 0.500000 +vt 0.034706 0.407448 +vt 0.061703 0.318451 +vt 0.105543 0.236433 +vt 0.164543 0.164542 +vt 0.236433 0.105543 +vt 0.318451 0.061703 +vt 0.407448 0.034706 +vt 0.500000 0.025591 +vt 0.592552 0.034706 +vt 0.681548 0.061703 +vt 0.763567 0.105543 +vt 0.835458 0.164543 +vt 0.894457 0.236433 +vt 0.938297 0.318451 +vt 0.965294 0.407448 +vt 0.974409 0.500000 +vt 0.965294 0.592552 +vt 0.938297 0.681548 +vt 0.894457 0.763567 +vt 0.835457 0.835457 +vt 0.763567 0.894457 +vt 0.681548 0.938297 +vt 0.592552 0.965294 +vt 0.500000 0.974409 +vt 0.407448 0.965294 +vt 0.318451 0.938297 +vt 0.236433 0.894457 +vt 0.164543 0.835457 +vt 0.105543 0.763567 +vt 0.061704 0.681548 +vt 0.034708 0.592552 +vn -0.7101 0.7041 0.0000 +vn -0.5598 0.8286 0.0000 +vn -0.5490 0.8286 -0.1092 +vn -0.6965 0.7041 -0.1385 +vn -0.3879 0.9217 0.0000 +vn -0.1820 0.9833 0.0000 +vn -0.1785 0.9833 -0.0355 +vn -0.3804 0.9217 -0.0757 +vn -0.9810 0.1939 0.0000 +vn -0.9248 0.3805 0.0000 +vn -0.9070 0.3805 -0.1804 +vn -0.9622 0.1939 -0.1914 +vn -0.8333 0.5528 0.0000 +vn -0.8173 0.5528 -0.1626 +vn -0.7605 -0.6494 0.0000 +vn -0.7459 -0.6494 -0.1484 +vn -0.9063 0.1939 -0.3754 +vn -0.7026 -0.6494 -0.2910 +vn -0.7699 0.5528 -0.3189 +vn -0.8544 0.3805 -0.3539 +vn -0.5172 0.8286 -0.2142 +vn -0.6561 0.7041 -0.2718 +vn -0.1681 0.9833 -0.0696 +vn -0.3584 0.9217 -0.1484 +vn -0.8157 0.1939 -0.5450 +vn -0.6323 -0.6494 -0.4225 +vn -0.6929 0.5528 -0.4630 +vn -0.7689 0.3805 -0.5138 +vn -0.4654 0.8286 -0.3110 +vn -0.5905 0.7041 -0.3945 +vn -0.1513 0.9833 -0.1011 +vn -0.3225 0.9217 -0.2155 +vn -0.6937 0.1939 -0.6937 +vn -0.5377 -0.6494 -0.5377 +vn -0.5893 0.5528 -0.5893 +vn -0.6539 0.3805 -0.6539 +vn -0.3958 0.8286 -0.3958 +vn -0.5021 0.7041 -0.5021 +vn -0.1287 0.9833 -0.1287 +vn -0.2743 0.9217 -0.2743 +vn -0.5450 0.1939 -0.8157 +vn -0.4225 -0.6494 -0.6323 +vn -0.4630 0.5528 -0.6929 +vn -0.5138 0.3805 -0.7689 +vn -0.3110 0.8286 -0.4654 +vn -0.3945 0.7041 -0.5905 +vn -0.1011 0.9833 -0.1513 +vn -0.2155 0.9217 -0.3225 +vn -0.3754 0.1939 -0.9063 +vn -0.2910 -0.6494 -0.7026 +vn -0.3189 0.5528 -0.7699 +vn -0.3539 0.3805 -0.8544 +vn -0.2142 0.8286 -0.5172 +vn -0.2718 0.7041 -0.6561 +vn -0.0696 0.9833 -0.1681 +vn -0.1484 0.9217 -0.3584 +vn -0.1914 0.1939 -0.9622 +vn -0.1484 -0.6494 -0.7459 +vn -0.1626 0.5528 -0.8173 +vn -0.1804 0.3805 -0.9070 +vn -0.1092 0.8286 -0.5490 +vn -0.1385 0.7041 -0.6965 +vn -0.0355 0.9833 -0.1785 +vn -0.0757 0.9217 -0.3804 +vn 0.0000 0.1939 -0.9810 +vn 0.0000 -0.6494 -0.7605 +vn -0.0000 0.5528 -0.8333 +vn -0.0000 0.3805 -0.9248 +vn 0.0000 0.8286 -0.5598 +vn 0.0000 0.7041 -0.7101 +vn 0.0000 0.9833 -0.1820 +vn 0.0000 0.9217 -0.3879 +vn 0.1914 0.1939 -0.9622 +vn 0.1484 -0.6494 -0.7459 +vn 0.1626 0.5528 -0.8173 +vn 0.1804 0.3805 -0.9070 +vn 0.1092 0.8286 -0.5490 +vn 0.1385 0.7041 -0.6965 +vn 0.0355 0.9833 -0.1785 +vn 0.0757 0.9217 -0.3804 +vn 0.3754 0.1939 -0.9063 +vn 0.2910 -0.6494 -0.7026 +vn 0.3189 0.5528 -0.7699 +vn 0.3539 0.3805 -0.8544 +vn 0.2142 0.8286 -0.5172 +vn 0.2718 0.7041 -0.6561 +vn 0.0696 0.9833 -0.1681 +vn 0.1484 0.9217 -0.3584 +vn 0.5450 0.1939 -0.8157 +vn 0.4225 -0.6494 -0.6323 +vn 0.4630 0.5528 -0.6929 +vn 0.5138 0.3805 -0.7689 +vn 0.3110 0.8286 -0.4654 +vn 0.3945 0.7041 -0.5905 +vn 0.1011 0.9833 -0.1513 +vn 0.2155 0.9217 -0.3225 +vn 0.6937 0.1939 -0.6937 +vn 0.5377 -0.6494 -0.5377 +vn 0.5893 0.5528 -0.5893 +vn 0.6539 0.3805 -0.6539 +vn 0.3958 0.8286 -0.3958 +vn 0.5021 0.7041 -0.5021 +vn 0.1287 0.9833 -0.1287 +vn 0.2743 0.9217 -0.2743 +vn 0.8157 0.1939 -0.5450 +vn 0.6323 -0.6494 -0.4225 +vn 0.6929 0.5528 -0.4630 +vn 0.7689 0.3805 -0.5138 +vn 0.4654 0.8286 -0.3110 +vn 0.5905 0.7041 -0.3945 +vn 0.1513 0.9833 -0.1011 +vn 0.3225 0.9217 -0.2155 +vn 0.9063 0.1939 -0.3754 +vn 0.7026 -0.6494 -0.2910 +vn 0.7699 0.5528 -0.3189 +vn 0.8544 0.3805 -0.3539 +vn 0.5172 0.8286 -0.2142 +vn 0.6561 0.7041 -0.2718 +vn 0.1681 0.9833 -0.0696 +vn 0.3584 0.9217 -0.1484 +vn 0.9622 0.1939 -0.1914 +vn 0.7459 -0.6494 -0.1484 +vn 0.8173 0.5528 -0.1626 +vn 0.9070 0.3805 -0.1804 +vn 0.5490 0.8286 -0.1092 +vn 0.6965 0.7041 -0.1385 +vn 0.1785 0.9833 -0.0355 +vn 0.3804 0.9217 -0.0757 +vn 0.9810 0.1939 0.0000 +vn 0.7605 -0.6494 0.0000 +vn 0.8333 0.5528 0.0000 +vn 0.9248 0.3805 -0.0000 +vn 0.5598 0.8286 -0.0000 +vn 0.7101 0.7041 0.0000 +vn 0.1820 0.9833 0.0000 +vn 0.3879 0.9217 0.0000 +vn 0.9622 0.1939 0.1914 +vn 0.7459 -0.6494 0.1484 +vn 0.8173 0.5528 0.1626 +vn 0.9070 0.3805 0.1804 +vn 0.5490 0.8286 0.1092 +vn 0.6965 0.7041 0.1385 +vn 0.1785 0.9833 0.0355 +vn 0.3804 0.9217 0.0757 +vn 0.9063 0.1939 0.3754 +vn 0.7026 -0.6494 0.2910 +vn 0.7699 0.5528 0.3189 +vn 0.8544 0.3805 0.3539 +vn 0.5172 0.8286 0.2142 +vn 0.6561 0.7041 0.2718 +vn 0.1681 0.9833 0.0696 +vn 0.3584 0.9217 0.1484 +vn 0.8157 0.1939 0.5450 +vn 0.6323 -0.6494 0.4225 +vn 0.6929 0.5528 0.4630 +vn 0.7689 0.3805 0.5138 +vn 0.4654 0.8286 0.3110 +vn 0.5905 0.7041 0.3945 +vn 0.1513 0.9833 0.1011 +vn 0.3225 0.9217 0.2155 +vn 0.6937 0.1939 0.6937 +vn 0.5377 -0.6494 0.5377 +vn 0.5893 0.5528 0.5893 +vn 0.6539 0.3805 0.6539 +vn 0.3958 0.8286 0.3958 +vn 0.5021 0.7041 0.5021 +vn 0.1287 0.9833 0.1287 +vn 0.2743 0.9217 0.2743 +vn 0.5450 0.1939 0.8157 +vn 0.4225 -0.6494 0.6323 +vn 0.4630 0.5528 0.6929 +vn 0.5138 0.3805 0.7689 +vn 0.3110 0.8286 0.4654 +vn 0.3945 0.7041 0.5905 +vn 0.1011 0.9833 0.1513 +vn 0.2155 0.9217 0.3225 +vn 0.3754 0.1939 0.9063 +vn 0.2910 -0.6494 0.7026 +vn 0.3189 0.5528 0.7699 +vn 0.3539 0.3805 0.8544 +vn 0.2142 0.8286 0.5172 +vn 0.2718 0.7041 0.6561 +vn 0.0696 0.9833 0.1681 +vn 0.1484 0.9217 0.3584 +vn 0.1914 0.1939 0.9622 +vn 0.1484 -0.6494 0.7459 +vn 0.1626 0.5528 0.8173 +vn 0.1804 0.3805 0.9070 +vn 0.1092 0.8286 0.5490 +vn 0.1385 0.7041 0.6965 +vn 0.0355 0.9833 0.1785 +vn 0.0757 0.9217 0.3804 +vn -0.0000 0.1939 0.9810 +vn 0.0000 -0.6494 0.7605 +vn -0.0000 0.5528 0.8333 +vn 0.0000 0.3805 0.9248 +vn 0.0000 0.8286 0.5598 +vn 0.0000 0.7041 0.7101 +vn 0.0000 0.9833 0.1820 +vn -0.0000 0.9217 0.3879 +vn -0.1914 0.1939 0.9622 +vn -0.1484 -0.6494 0.7459 +vn -0.1626 0.5528 0.8173 +vn -0.1804 0.3805 0.9070 +vn -0.1092 0.8286 0.5490 +vn -0.1385 0.7041 0.6965 +vn -0.0355 0.9833 0.1785 +vn -0.0757 0.9217 0.3804 +vn -0.3754 0.1939 0.9063 +vn -0.2910 -0.6494 0.7026 +vn -0.3189 0.5528 0.7699 +vn -0.3539 0.3805 0.8544 +vn -0.2142 0.8286 0.5172 +vn -0.2718 0.7041 0.6561 +vn -0.0696 0.9833 0.1681 +vn -0.1484 0.9217 0.3584 +vn -0.5450 0.1939 0.8157 +vn -0.4225 -0.6494 0.6323 +vn -0.4630 0.5528 0.6929 +vn -0.5138 0.3805 0.7689 +vn -0.3110 0.8286 0.4654 +vn -0.3945 0.7041 0.5905 +vn -0.1011 0.9833 0.1513 +vn -0.2155 0.9217 0.3225 +vn -0.6937 0.1939 0.6937 +vn -0.5377 -0.6494 0.5377 +vn -0.5893 0.5528 0.5893 +vn -0.6539 0.3805 0.6539 +vn -0.3958 0.8286 0.3958 +vn -0.5021 0.7041 0.5021 +vn -0.1287 0.9833 0.1287 +vn -0.2743 0.9217 0.2743 +vn -0.8157 0.1939 0.5450 +vn -0.6323 -0.6494 0.4225 +vn -0.6929 0.5528 0.4630 +vn -0.7689 0.3805 0.5138 +vn -0.4654 0.8286 0.3110 +vn -0.5905 0.7041 0.3945 +vn -0.1513 0.9833 0.1011 +vn -0.3225 0.9217 0.2155 +vn -0.9063 0.1939 0.3754 +vn -0.7026 -0.6494 0.2910 +vn -0.7699 0.5528 0.3189 +vn -0.8544 0.3805 0.3539 +vn -0.5172 0.8286 0.2142 +vn -0.6561 0.7041 0.2718 +vn -0.1681 0.9833 0.0696 +vn -0.3584 0.9217 0.1484 +vn -0.9622 0.1939 0.1914 +vn -0.7459 -0.6494 0.1484 +vn -0.8173 0.5528 0.1626 +vn -0.9070 0.3805 0.1804 +vn -0.5490 0.8286 0.1092 +vn -0.6965 0.7041 0.1385 +vn -0.1785 0.9833 0.0355 +vn -0.3804 0.9217 0.0757 +vn -0.0296 0.9995 0.0059 +vn -0.0302 0.9995 0.0000 +vn -0.0279 0.9995 0.0116 +vn -0.0251 0.9995 0.0168 +vn -0.0214 0.9995 0.0214 +vn -0.0168 0.9995 0.0251 +vn -0.0116 0.9995 0.0279 +vn -0.0059 0.9995 0.0296 +vn 0.0000 0.9995 0.0302 +vn 0.0059 0.9995 0.0296 +vn 0.0116 0.9995 0.0279 +vn 0.0168 0.9995 0.0251 +vn 0.0214 0.9995 0.0214 +vn 0.0251 0.9995 0.0168 +vn 0.0279 0.9995 0.0116 +vn 0.0296 0.9995 0.0059 +vn 0.0302 0.9995 0.0000 +vn 0.0296 0.9995 -0.0059 +vn 0.0279 0.9995 -0.0116 +vn 0.0251 0.9995 -0.0168 +vn 0.0214 0.9995 -0.0214 +vn 0.0168 0.9995 -0.0251 +vn 0.0116 0.9995 -0.0279 +vn 0.0059 0.9995 -0.0296 +vn 0.0000 0.9995 -0.0302 +vn -0.0059 0.9995 -0.0296 +vn -0.0116 0.9995 -0.0279 +vn -0.0168 0.9995 -0.0251 +vn -0.0214 0.9995 -0.0214 +vn -0.0251 0.9995 -0.0168 +vn -0.0279 0.9995 -0.0116 +vn -0.0296 0.9995 -0.0059 +usemtl None +s 1 +f 1/1/1 2/2/2 3/3/3 4/4/4 +f 5/5/5 6/6/6 7/7/7 8/8/8 +f 9/9/9 10/10/10 11/11/11 12/12/12 +f 13/13/13 1/1/1 4/4/4 14/14/14 +f 2/2/2 5/5/5 8/8/8 3/3/3 +f 15/15/15 9/9/9 12/12/12 16/16/16 +f 10/10/10 13/13/13 14/14/14 11/11/11 +f 16/16/16 12/12/12 17/17/17 18/18/18 +f 11/11/11 14/14/14 19/19/19 20/20/20 +f 4/4/4 3/3/3 21/21/21 22/22/22 +f 8/8/8 7/7/7 23/23/23 24/24/24 +f 12/12/12 11/11/11 20/20/20 17/17/17 +f 14/14/14 4/4/4 22/22/22 19/19/19 +f 3/3/3 8/8/8 24/24/24 21/21/21 +f 18/18/18 17/17/17 25/25/25 26/26/26 +f 20/20/20 19/19/19 27/27/27 28/28/28 +f 22/22/22 21/21/21 29/29/29 30/30/30 +f 24/24/24 23/23/23 31/31/31 32/32/32 +f 17/17/17 20/20/20 28/28/28 25/25/25 +f 19/19/19 22/22/22 30/30/30 27/27/27 +f 21/21/21 24/24/24 32/32/32 29/29/29 +f 26/26/26 25/25/25 33/33/33 34/34/34 +f 28/28/28 27/27/27 35/35/35 36/36/36 +f 30/30/30 29/29/29 37/37/37 38/38/38 +f 32/32/32 31/31/31 39/39/39 40/40/40 +f 25/25/25 28/28/28 36/36/36 33/33/33 +f 27/27/27 30/30/30 38/38/38 35/35/35 +f 29/29/29 32/32/32 40/40/40 37/37/37 +f 34/34/34 33/33/33 41/41/41 42/42/42 +f 36/36/36 35/35/35 43/43/43 44/44/44 +f 38/38/38 37/37/37 45/45/45 46/46/46 +f 40/40/40 39/39/39 47/47/47 48/48/48 +f 33/33/33 36/36/36 44/44/44 41/41/41 +f 35/35/35 38/38/38 46/46/46 43/43/43 +f 37/37/37 40/40/40 48/48/48 45/45/45 +f 42/42/42 41/41/41 49/49/49 50/50/50 +f 44/44/44 43/43/43 51/51/51 52/52/52 +f 46/46/46 45/45/45 53/53/53 54/54/54 +f 48/48/48 47/47/47 55/55/55 56/56/56 +f 41/41/41 44/44/44 52/52/52 49/49/49 +f 43/43/43 46/46/46 54/54/54 51/51/51 +f 45/45/45 48/48/48 56/56/56 53/53/53 +f 50/50/50 49/49/49 57/57/57 58/58/58 +f 52/52/52 51/51/51 59/59/59 60/60/60 +f 54/54/54 53/53/53 61/61/61 62/62/62 +f 56/56/56 55/55/55 63/63/63 64/64/64 +f 49/49/49 52/52/52 60/60/60 57/57/57 +f 51/51/51 54/54/54 62/62/62 59/59/59 +f 53/53/53 56/56/56 64/64/64 61/61/61 +f 58/65/58 57/66/57 65/67/65 66/68/66 +f 60/69/60 59/70/59 67/71/67 68/72/68 +f 62/73/62 61/74/61 69/75/69 70/76/70 +f 64/77/64 63/78/63 71/79/71 72/80/72 +f 57/66/57 60/69/60 68/72/68 65/67/65 +f 59/70/59 62/73/62 70/76/70 67/71/67 +f 61/74/61 64/77/64 72/80/72 69/75/69 +f 66/68/66 65/67/65 73/81/73 74/82/74 +f 68/72/68 67/71/67 75/83/75 76/84/76 +f 70/76/70 69/75/69 77/85/77 78/86/78 +f 72/80/72 71/79/71 79/87/79 80/88/80 +f 65/67/65 68/72/68 76/84/76 73/81/73 +f 67/71/67 70/76/70 78/86/78 75/83/75 +f 69/75/69 72/80/72 80/88/80 77/85/77 +f 74/82/74 73/81/73 81/89/81 82/90/82 +f 76/84/76 75/83/75 83/91/83 84/92/84 +f 78/86/78 77/85/77 85/93/85 86/94/86 +f 80/88/80 79/87/79 87/95/87 88/96/88 +f 73/81/73 76/84/76 84/92/84 81/89/81 +f 75/83/75 78/86/78 86/94/86 83/91/83 +f 77/85/77 80/88/80 88/96/88 85/93/85 +f 82/90/82 81/89/81 89/97/89 90/98/90 +f 84/92/84 83/91/83 91/99/91 92/100/92 +f 86/94/86 85/93/85 93/101/93 94/102/94 +f 88/96/88 87/95/87 95/103/95 96/104/96 +f 81/89/81 84/92/84 92/100/92 89/97/89 +f 83/91/83 86/94/86 94/102/94 91/99/91 +f 85/93/85 88/96/88 96/104/96 93/101/93 +f 90/98/90 89/97/89 97/105/97 98/106/98 +f 92/100/92 91/99/91 99/107/99 100/108/100 +f 94/102/94 93/101/93 101/109/101 102/110/102 +f 96/104/96 95/103/95 103/111/103 104/112/104 +f 89/97/89 92/100/92 100/108/100 97/105/97 +f 91/99/91 94/102/94 102/110/102 99/107/99 +f 93/101/93 96/104/96 104/112/104 101/109/101 +f 98/106/98 97/105/97 105/113/105 106/114/106 +f 100/108/100 99/107/99 107/115/107 108/116/108 +f 102/110/102 101/109/101 109/117/109 110/118/110 +f 104/112/104 103/111/103 111/119/111 112/120/112 +f 97/105/97 100/108/100 108/116/108 105/113/105 +f 99/107/99 102/110/102 110/118/110 107/115/107 +f 101/109/101 104/112/104 112/120/112 109/117/109 +f 106/114/106 105/113/105 113/121/113 114/122/114 +f 108/116/108 107/115/107 115/123/115 116/124/116 +f 110/118/110 109/117/109 117/125/117 118/126/118 +f 112/120/112 111/119/111 119/127/119 120/128/120 +f 105/113/105 108/116/108 116/124/116 113/121/113 +f 107/115/107 110/118/110 118/126/118 115/123/115 +f 109/117/109 112/120/112 120/128/120 117/125/117 +f 114/122/114 113/121/113 121/129/121 122/130/122 +f 116/124/116 115/123/115 123/131/123 124/132/124 +f 118/126/118 117/125/117 125/133/125 126/134/126 +f 120/128/120 119/127/119 127/135/127 128/136/128 +f 113/121/113 116/124/116 124/132/124 121/129/121 +f 115/123/115 118/126/118 126/134/126 123/131/123 +f 117/125/117 120/128/120 128/136/128 125/133/125 +f 122/130/122 121/129/121 129/137/129 130/138/130 +f 124/132/124 123/131/123 131/139/131 132/140/132 +f 126/134/126 125/133/125 133/141/133 134/142/134 +f 128/136/128 127/135/127 135/143/135 136/144/136 +f 121/129/121 124/132/124 132/140/132 129/137/129 +f 123/131/123 126/134/126 134/142/134 131/139/131 +f 125/133/125 128/136/128 136/144/136 133/141/133 +f 130/138/130 129/137/129 137/145/137 138/146/138 +f 132/140/132 131/139/131 139/147/139 140/148/140 +f 134/142/134 133/141/133 141/149/141 142/150/142 +f 136/144/136 135/143/135 143/151/143 144/152/144 +f 129/137/129 132/140/132 140/148/140 137/145/137 +f 131/139/131 134/142/134 142/150/142 139/147/139 +f 133/141/133 136/144/136 144/152/144 141/149/141 +f 138/146/138 137/145/137 145/153/145 146/154/146 +f 140/148/140 139/147/139 147/155/147 148/156/148 +f 142/150/142 141/149/141 149/157/149 150/158/150 +f 144/152/144 143/151/143 151/159/151 152/160/152 +f 137/145/137 140/148/140 148/156/148 145/153/145 +f 139/147/139 142/150/142 150/158/150 147/155/147 +f 141/149/141 144/152/144 152/160/152 149/157/149 +f 146/154/146 145/153/145 153/161/153 154/162/154 +f 148/156/148 147/155/147 155/163/155 156/164/156 +f 150/158/150 149/157/149 157/165/157 158/166/158 +f 152/160/152 151/159/151 159/167/159 160/168/160 +f 145/153/145 148/156/148 156/164/156 153/161/153 +f 147/155/147 150/158/150 158/166/158 155/163/155 +f 149/157/149 152/160/152 160/168/160 157/165/157 +f 154/162/154 153/161/153 161/169/161 162/170/162 +f 156/164/156 155/163/155 163/171/163 164/172/164 +f 158/166/158 157/165/157 165/173/165 166/174/166 +f 160/168/160 159/167/159 167/175/167 168/176/168 +f 153/161/153 156/164/156 164/172/164 161/169/161 +f 155/163/155 158/166/158 166/174/166 163/171/163 +f 157/165/157 160/168/160 168/176/168 165/173/165 +f 162/170/162 161/169/161 169/177/169 170/178/170 +f 164/172/164 163/171/163 171/179/171 172/180/172 +f 166/174/166 165/173/165 173/181/173 174/182/174 +f 168/176/168 167/175/167 175/183/175 176/184/176 +f 161/169/161 164/172/164 172/180/172 169/177/169 +f 163/171/163 166/174/166 174/182/174 171/179/171 +f 165/173/165 168/176/168 176/184/176 173/181/173 +f 170/178/170 169/177/169 177/185/177 178/186/178 +f 172/180/172 171/179/171 179/187/179 180/188/180 +f 174/182/174 173/181/173 181/189/181 182/190/182 +f 176/184/176 175/183/175 183/191/183 184/192/184 +f 169/177/169 172/180/172 180/188/180 177/185/177 +f 171/179/171 174/182/174 182/190/182 179/187/179 +f 173/181/173 176/184/176 184/192/184 181/189/181 +f 178/186/178 177/185/177 185/193/185 186/194/186 +f 180/188/180 179/187/179 187/195/187 188/196/188 +f 182/190/182 181/189/181 189/197/189 190/198/190 +f 184/192/184 183/191/183 191/199/191 192/200/192 +f 177/185/177 180/188/180 188/196/188 185/193/185 +f 179/187/179 182/190/182 190/198/190 187/195/187 +f 181/189/181 184/192/184 192/200/192 189/197/189 +f 186/201/186 185/202/185 193/203/193 194/204/194 +f 188/205/188 187/206/187 195/207/195 196/208/196 +f 190/209/190 189/210/189 197/211/197 198/212/198 +f 192/213/192 191/214/191 199/215/199 200/216/200 +f 185/202/185 188/205/188 196/208/196 193/203/193 +f 187/206/187 190/209/190 198/212/198 195/207/195 +f 189/210/189 192/213/192 200/216/200 197/211/197 +f 194/204/194 193/203/193 201/217/201 202/218/202 +f 196/208/196 195/207/195 203/219/203 204/220/204 +f 198/212/198 197/211/197 205/221/205 206/222/206 +f 200/216/200 199/215/199 207/223/207 208/224/208 +f 193/203/193 196/208/196 204/220/204 201/217/201 +f 195/207/195 198/212/198 206/222/206 203/219/203 +f 197/211/197 200/216/200 208/224/208 205/221/205 +f 202/218/202 201/217/201 209/225/209 210/226/210 +f 204/220/204 203/219/203 211/227/211 212/228/212 +f 206/222/206 205/221/205 213/229/213 214/230/214 +f 208/224/208 207/223/207 215/231/215 216/232/216 +f 201/217/201 204/220/204 212/228/212 209/225/209 +f 203/219/203 206/222/206 214/230/214 211/227/211 +f 205/221/205 208/224/208 216/232/216 213/229/213 +f 210/226/210 209/225/209 217/233/217 218/234/218 +f 212/228/212 211/227/211 219/235/219 220/236/220 +f 214/230/214 213/229/213 221/237/221 222/238/222 +f 216/232/216 215/231/215 223/239/223 224/240/224 +f 209/225/209 212/228/212 220/236/220 217/233/217 +f 211/227/211 214/230/214 222/238/222 219/235/219 +f 213/229/213 216/232/216 224/240/224 221/237/221 +f 218/234/218 217/233/217 225/241/225 226/242/226 +f 220/236/220 219/235/219 227/243/227 228/244/228 +f 222/238/222 221/237/221 229/245/229 230/246/230 +f 224/240/224 223/239/223 231/247/231 232/248/232 +f 217/233/217 220/236/220 228/244/228 225/241/225 +f 219/235/219 222/238/222 230/246/230 227/243/227 +f 221/237/221 224/240/224 232/248/232 229/245/229 +f 226/242/226 225/241/225 233/249/233 234/250/234 +f 228/244/228 227/243/227 235/251/235 236/252/236 +f 230/246/230 229/245/229 237/253/237 238/254/238 +f 232/248/232 231/247/231 239/255/239 240/256/240 +f 225/241/225 228/244/228 236/252/236 233/249/233 +f 227/243/227 230/246/230 238/254/238 235/251/235 +f 229/245/229 232/248/232 240/256/240 237/253/237 +f 234/250/234 233/249/233 241/257/241 242/258/242 +f 236/252/236 235/251/235 243/259/243 244/260/244 +f 238/254/238 237/253/237 245/261/245 246/262/246 +f 240/256/240 239/255/239 247/263/247 248/264/248 +f 233/249/233 236/252/236 244/260/244 241/257/241 +f 235/251/235 238/254/238 246/262/246 243/259/243 +f 237/253/237 240/256/240 248/264/248 245/261/245 +f 242/258/242 241/257/241 249/265/249 250/266/250 +f 244/260/244 243/259/243 251/267/251 252/268/252 +f 246/262/246 245/261/245 253/269/253 254/270/254 +f 248/264/248 247/263/247 255/271/255 256/272/256 +f 241/257/241 244/260/244 252/268/252 249/265/249 +f 243/259/243 246/262/246 254/270/254 251/267/251 +f 245/261/245 248/264/248 256/272/256 253/269/253 +f 250/266/250 249/265/249 9/9/9 15/15/15 +f 252/268/252 251/267/251 13/13/13 10/10/10 +f 254/270/254 253/269/253 2/2/2 1/1/1 +f 256/272/256 255/271/255 6/6/6 5/5/5 +f 249/265/249 252/268/252 10/10/10 9/9/9 +f 251/267/251 254/270/254 1/1/1 13/13/13 +f 253/269/253 256/272/256 5/5/5 2/2/2 +f 255/271/255 257/273/257 258/274/258 6/6/6 +f 247/263/247 259/275/259 257/273/257 255/271/255 +f 239/255/239 260/276/260 259/275/259 247/263/247 +f 231/247/231 261/277/261 260/276/260 239/255/239 +f 223/239/223 262/278/262 261/277/261 231/247/231 +f 215/231/215 263/279/263 262/278/262 223/239/223 +f 207/223/207 264/280/264 263/279/263 215/231/215 +f 199/215/199 265/281/265 264/280/264 207/223/207 +f 191/214/191 266/282/266 265/281/265 199/215/199 +f 183/191/183 267/283/267 266/284/266 191/199/191 +f 175/183/175 268/285/268 267/283/267 183/191/183 +f 167/175/167 269/286/269 268/285/268 175/183/175 +f 159/167/159 270/287/270 269/286/269 167/175/167 +f 151/159/151 271/288/271 270/287/270 159/167/159 +f 143/151/143 272/289/272 271/288/271 151/159/151 +f 135/143/135 273/290/273 272/289/272 143/151/143 +f 127/135/127 274/291/274 273/290/273 135/143/135 +f 119/127/119 275/292/275 274/291/274 127/135/127 +f 111/119/111 276/293/276 275/292/275 119/127/119 +f 103/111/103 277/294/277 276/293/276 111/119/111 +f 95/103/95 278/295/278 277/294/277 103/111/103 +f 87/95/87 279/296/279 278/295/278 95/103/95 +f 79/87/79 280/297/280 279/296/279 87/95/87 +f 71/79/71 281/298/281 280/297/280 79/87/79 +f 63/78/63 282/299/282 281/298/281 71/79/71 +f 55/55/55 283/300/283 282/301/282 63/63/63 +f 47/47/47 284/302/284 283/300/283 55/55/55 +f 39/39/39 285/303/285 284/302/284 47/47/47 +f 31/31/31 286/304/286 285/303/285 39/39/39 +f 23/23/23 287/305/287 286/304/286 31/31/31 +f 7/7/7 288/306/288 287/305/287 23/23/23 +f 6/6/6 258/274/258 288/306/288 7/7/7 +f 257/307/257 259/308/259 260/309/260 261/310/261 262/311/262 263/312/263 264/313/264 265/314/265 266/315/266 267/316/267 268/317/268 269/318/269 270/319/270 271/320/271 272/321/272 273/322/273 274/323/274 275/324/275 276/325/276 277/326/277 278/327/278 279/328/279 280/329/280 281/330/281 282/331/282 283/332/283 284/333/284 285/334/285 286/335/286 287/336/287 288/337/288 258/338/258 +f 15/339/15 16/340/16 18/341/18 26/342/26 34/343/34 42/344/42 50/345/50 58/346/58 66/347/66 74/348/74 82/349/82 90/350/90 98/351/98 106/352/106 114/353/114 122/354/122 130/355/130 138/356/138 146/357/146 154/358/154 162/359/162 170/360/170 178/361/178 186/362/186 194/363/194 202/364/202 210/365/210 218/366/218 226/367/226 234/368/234 242/369/242 250/370/250 diff --git a/technic/models/technic_sphere_quarter.obj b/technic/models/technic_sphere_quarter.obj new file mode 100644 index 0000000..eed20a2 --- /dev/null +++ b/technic/models/technic_sphere_quarter.obj @@ -0,0 +1,699 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +mtllib technic_sphere_quarter.mtl +o Sphere.004 +v 0.013156 -0.004804 -0.499882 +v 0.000000 -0.500000 -0.500000 +v -0.013160 -0.004804 -0.499926 +v 0.097545 -0.009607 -0.500000 +v -0.097545 -0.009607 -0.500000 +v 0.191342 -0.038060 -0.500000 +v -0.191342 -0.038060 -0.500000 +v 0.277785 -0.084265 -0.500000 +v -0.277785 -0.084265 -0.500000 +v 0.353554 -0.146447 -0.500000 +v -0.353553 -0.146447 -0.500000 +v 0.415735 -0.222215 -0.500000 +v -0.415735 -0.222215 -0.500000 +v 0.461940 -0.308658 -0.500000 +v -0.461940 -0.308658 -0.500000 +v 0.490393 -0.402455 -0.500000 +v -0.490393 -0.402455 -0.500000 +v 0.500000 -0.500000 -0.500000 +v -0.500000 -0.500000 -0.500000 +v -0.490392 -0.500000 -0.402455 +v 0.490393 -0.500000 -0.402455 +v 0.097545 -0.500000 -0.009607 +v 0.000000 -0.500000 -0.000000 +v -0.461939 -0.500000 -0.308658 +v 0.461940 -0.500000 -0.308658 +v 0.415735 -0.500000 -0.222215 +v -0.415735 -0.500000 -0.222215 +v 0.353553 -0.500000 -0.146447 +v -0.353553 -0.500000 -0.146447 +v 0.277785 -0.500000 -0.084265 +v -0.277785 -0.500000 -0.084265 +v 0.191342 -0.500000 -0.038060 +v -0.191342 -0.500000 -0.038060 +v -0.097545 -0.500000 -0.009607 +v 0.480970 -0.402455 -0.404329 +v 0.407747 -0.222215 -0.418894 +v 0.453064 -0.308658 -0.409880 +v 0.272448 -0.084265 -0.445807 +v 0.346760 -0.146447 -0.431025 +v 0.095671 -0.009607 -0.480970 +v 0.187665 -0.038060 -0.462671 +v 0.453064 -0.402455 -0.312335 +v 0.384089 -0.222215 -0.340905 +v 0.426777 -0.308658 -0.323223 +v 0.256640 -0.084265 -0.393696 +v 0.326641 -0.146447 -0.364701 +v 0.090120 -0.009607 -0.462671 +v 0.176777 -0.038060 -0.426777 +v 0.407747 -0.402455 -0.227552 +v 0.345671 -0.222215 -0.269030 +v 0.384089 -0.308658 -0.243360 +v 0.230970 -0.084265 -0.345671 +v 0.293969 -0.146447 -0.303576 +v 0.081106 -0.009607 -0.445807 +v 0.159095 -0.038060 -0.393696 +v 0.346760 -0.402455 -0.153240 +v 0.293969 -0.222215 -0.206031 +v 0.326641 -0.308658 -0.173359 +v 0.196424 -0.084265 -0.303576 +v 0.250000 -0.146447 -0.250000 +v 0.068975 -0.009607 -0.431025 +v 0.135299 -0.038060 -0.364701 +v 0.272448 -0.402455 -0.092254 +v 0.230970 -0.222215 -0.154329 +v 0.256640 -0.308658 -0.115911 +v 0.154329 -0.084265 -0.269030 +v 0.196424 -0.146447 -0.206031 +v 0.054193 -0.009607 -0.418894 +v 0.106304 -0.038060 -0.340905 +v 0.187665 -0.402455 -0.046936 +v 0.159095 -0.222215 -0.115911 +v 0.176777 -0.308658 -0.073223 +v 0.106304 -0.084265 -0.243360 +v 0.135299 -0.146447 -0.173359 +v 0.037329 -0.009607 -0.409880 +v 0.073223 -0.038060 -0.323223 +v 0.095671 -0.402455 -0.019030 +v 0.081106 -0.222215 -0.092254 +v 0.090120 -0.308658 -0.046936 +v 0.054193 -0.084265 -0.227552 +v 0.068975 -0.146447 -0.153240 +v 0.019030 -0.009607 -0.404329 +v 0.037329 -0.038060 -0.312335 +v 0.000000 -0.402455 -0.009608 +v 0.000000 -0.222215 -0.084265 +v 0.000000 -0.308658 -0.038060 +v 0.000000 -0.084265 -0.222215 +v 0.000000 -0.146447 -0.146447 +v 0.000000 -0.009607 -0.402455 +v 0.000000 -0.038060 -0.308658 +v -0.095671 -0.402455 -0.019030 +v -0.081106 -0.222215 -0.092254 +v -0.090120 -0.308658 -0.046936 +v -0.054193 -0.084265 -0.227552 +v -0.068975 -0.146447 -0.153240 +v -0.019030 -0.009607 -0.404329 +v -0.037329 -0.038060 -0.312335 +v -0.187665 -0.402455 -0.046937 +v -0.159095 -0.222215 -0.115911 +v -0.176777 -0.308658 -0.073223 +v -0.106304 -0.084265 -0.243360 +v -0.135299 -0.146447 -0.173359 +v -0.037329 -0.009607 -0.409880 +v -0.073223 -0.038060 -0.323223 +v -0.272447 -0.402455 -0.092254 +v -0.230970 -0.222215 -0.154329 +v -0.256640 -0.308658 -0.115911 +v -0.154329 -0.084265 -0.269030 +v -0.196424 -0.146447 -0.206031 +v -0.054193 -0.009607 -0.418894 +v -0.106304 -0.038060 -0.340905 +v -0.346760 -0.402455 -0.153240 +v -0.293969 -0.222215 -0.206031 +v -0.326641 -0.308658 -0.173359 +v -0.196424 -0.084265 -0.303576 +v -0.250000 -0.146447 -0.250000 +v -0.068975 -0.009607 -0.431025 +v -0.135299 -0.038060 -0.364701 +v -0.407746 -0.402455 -0.227553 +v -0.345671 -0.222215 -0.269030 +v -0.384089 -0.308658 -0.243360 +v -0.230970 -0.084265 -0.345671 +v -0.293969 -0.146447 -0.303576 +v -0.081106 -0.009607 -0.445807 +v -0.159095 -0.038060 -0.393696 +v -0.453063 -0.402455 -0.312335 +v -0.384089 -0.222215 -0.340905 +v -0.426776 -0.308658 -0.323223 +v -0.256640 -0.084265 -0.393696 +v -0.326641 -0.146447 -0.364701 +v -0.090120 -0.009607 -0.462671 +v -0.176776 -0.038060 -0.426777 +v -0.480969 -0.402455 -0.404329 +v -0.407746 -0.222215 -0.418894 +v -0.453063 -0.308658 -0.409880 +v -0.272447 -0.084265 -0.445807 +v -0.346760 -0.146447 -0.431025 +v -0.095671 -0.009607 -0.480970 +v -0.187665 -0.038060 -0.462671 +v -0.012914 -0.004804 -0.497431 +v -0.012165 -0.004804 -0.494961 +v -0.010948 -0.004804 -0.492685 +v -0.009311 -0.004804 -0.490689 +v -0.007315 -0.004804 -0.489052 +v -0.005039 -0.004804 -0.487835 +v -0.002569 -0.004804 -0.487086 +v 0.000000 -0.004804 -0.486833 +v 0.002569 -0.004804 -0.487086 +v 0.005039 -0.004804 -0.487835 +v 0.007316 -0.004804 -0.489052 +v 0.009311 -0.004804 -0.490689 +v 0.010948 -0.004804 -0.492685 +v 0.012165 -0.004804 -0.494961 +v 0.012915 -0.004804 -0.497431 +v 0.013168 -0.004804 -0.500000 +vt 0.486844 0.500000 +vt 0.500000 0.000000 +vt 0.513160 0.500000 +vt 0.402455 0.495150 +vt 0.597545 0.495150 +vt 0.308658 0.466421 +vt 0.691342 0.466421 +vt 0.222215 0.419768 +vt 0.777785 0.419768 +vt 0.146446 0.356983 +vt 0.853553 0.356983 +vt 0.084265 0.280480 +vt 0.915735 0.280480 +vt 0.038060 0.193198 +vt 0.961940 0.193198 +vt 0.009607 0.098491 +vt 0.990393 0.098491 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.009608 0.097545 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.990393 0.097545 +vt 0.597545 0.490393 +vt 0.500000 0.500000 +vt 0.038061 0.191342 +vt 0.961940 0.191342 +vt 0.915735 0.277785 +vt 0.084265 0.277785 +vt 0.853553 0.353553 +vt 0.146447 0.353553 +vt 0.777785 0.415735 +vt 0.222215 0.415735 +vt 0.691342 0.461940 +vt 0.308658 0.461940 +vt 0.402455 0.490393 +vt 0.437500 0.500000 +vt 0.437500 0.562500 +vt 0.375000 0.562500 +vt 0.375000 0.500000 +vt 0.437500 0.625000 +vt 0.437500 0.687500 +vt 0.375000 0.687500 +vt 0.375000 0.625000 +vt 0.437500 0.750000 +vt 0.437500 0.812500 +vt 0.375000 0.812500 +vt 0.375000 0.750000 +vt 0.437500 0.875000 +vt 0.437500 0.937500 +vt 0.375000 0.937500 +vt 0.375000 0.875000 +vt 0.312500 0.562500 +vt 0.312500 0.500000 +vt 0.312500 0.687500 +vt 0.312500 0.625000 +vt 0.312500 0.812500 +vt 0.312500 0.750000 +vt 0.312500 0.937500 +vt 0.312500 0.875000 +vt 0.250000 0.562500 +vt 0.250000 0.500000 +vt 0.250000 0.687500 +vt 0.250000 0.625000 +vt 0.250000 0.812500 +vt 0.250000 0.750000 +vt 0.250000 0.937500 +vt 0.250000 0.875000 +vt 0.187500 0.562500 +vt 0.187500 0.500000 +vt 0.187500 0.687500 +vt 0.187500 0.625000 +vt 0.187500 0.812500 +vt 0.187500 0.750000 +vt 0.187500 0.937500 +vt 0.187500 0.875000 +vt 0.125000 0.562500 +vt 0.125000 0.500000 +vt 0.125000 0.687500 +vt 0.125000 0.625000 +vt 0.125000 0.812500 +vt 0.125000 0.750000 +vt 0.125000 0.937500 +vt 0.125000 0.875000 +vt 0.062500 0.562500 +vt 0.062500 0.500000 +vt 0.062500 0.687500 +vt 0.062500 0.625000 +vt 0.062500 0.812500 +vt 0.062500 0.750000 +vt 0.062500 0.937500 +vt 0.062500 0.875000 +vt 0.000000 0.562500 +vt 0.000000 0.500000 +vt 0.000000 0.687500 +vt 0.000000 0.625000 +vt 0.000000 0.812500 +vt 0.000000 0.750000 +vt 0.000000 0.937500 +vt 0.000000 0.875000 +vt 1.000000 0.500000 +vt 1.000000 0.562500 +vt 0.937500 0.562500 +vt 0.937500 0.500000 +vt 1.000000 0.625000 +vt 1.000000 0.687500 +vt 0.937500 0.687500 +vt 0.937500 0.625000 +vt 1.000000 0.750000 +vt 1.000000 0.812500 +vt 0.937500 0.812500 +vt 0.937500 0.750000 +vt 1.000000 0.875000 +vt 1.000000 0.937500 +vt 0.937500 0.937500 +vt 0.937500 0.875000 +vt 0.875000 0.562500 +vt 0.875000 0.500000 +vt 0.875000 0.687500 +vt 0.875000 0.625000 +vt 0.875000 0.812500 +vt 0.875000 0.750000 +vt 0.875000 0.937500 +vt 0.875000 0.875000 +vt 0.812500 0.562500 +vt 0.812500 0.500000 +vt 0.812500 0.687500 +vt 0.812500 0.625000 +vt 0.812500 0.812500 +vt 0.812500 0.750000 +vt 0.812500 0.937500 +vt 0.812500 0.875000 +vt 0.750000 0.562500 +vt 0.750000 0.500000 +vt 0.750000 0.687500 +vt 0.750000 0.625000 +vt 0.750000 0.812500 +vt 0.750000 0.750000 +vt 0.750000 0.937500 +vt 0.750000 0.875000 +vt 0.687500 0.562500 +vt 0.687500 0.500000 +vt 0.687500 0.687500 +vt 0.687500 0.625000 +vt 0.687500 0.812500 +vt 0.687500 0.750000 +vt 0.687500 0.937500 +vt 0.687500 0.875000 +vt 0.625000 0.562500 +vt 0.625000 0.500000 +vt 0.625000 0.687500 +vt 0.625000 0.625000 +vt 0.625000 0.812500 +vt 0.625000 0.750000 +vt 0.625000 0.937500 +vt 0.625000 0.875000 +vt 0.562500 0.562500 +vt 0.562500 0.500000 +vt 0.562500 0.687500 +vt 0.562500 0.625000 +vt 0.562500 0.812500 +vt 0.562500 0.750000 +vt 0.562500 0.937500 +vt 0.562500 0.875000 +vt 0.500000 0.562500 +vt 0.500000 0.500000 +vt 0.500000 0.687500 +vt 0.500000 0.625000 +vt 0.500000 0.812500 +vt 0.500000 0.750000 +vt 0.500000 0.937500 +vt 0.500000 0.875000 +vt 0.437500 0.562500 +vt 0.437500 0.500000 +vt 0.437500 0.687500 +vt 0.437500 0.625000 +vt 0.437500 0.812500 +vt 0.437500 0.750000 +vt 0.437500 0.937500 +vt 0.437500 0.875000 +vt 0.500000 1.000000 +vt 0.437500 1.000000 +vt 0.562500 1.000000 +vt 0.625000 1.000000 +vt 0.687500 1.000000 +vt 0.750000 1.000000 +vt 0.812500 1.000000 +vt 0.875000 1.000000 +vt 0.937500 1.000000 +vt 1.000000 1.000000 +vt 0.062500 1.000000 +vt -0.000000 1.000000 +vt 0.125000 1.000000 +vt 0.187500 1.000000 +vt 0.250000 1.000000 +vt 0.312500 1.000000 +vt 0.375000 1.000000 +vt 0.437500 1.000000 +vt 0.434642 1.000000 +vt 0.031303 0.999906 +vt 0.037377 0.999307 +vt 0.043218 0.997535 +vt 0.048601 0.994658 +vt 0.053319 0.990786 +vt 0.057192 0.986068 +vt 0.060069 0.980685 +vt 0.061841 0.974844 +vt 0.062439 0.968769 +vt 0.061841 0.962695 +vt 0.060069 0.956854 +vt 0.057192 0.951471 +vt 0.053319 0.946753 +vt 0.048601 0.942881 +vt 0.043218 0.940004 +vt 0.037644 0.938313 +vt 0.025579 0.999342 +vn 0.0017 0.0002 -1.0000 +vn -0.0014 0.0003 -1.0000 +vn 0.0009 0.0002 -1.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.9904 0.0975 0.0975 +vn 0.9765 0.1930 0.0962 +vn 0.9622 0.1939 0.1914 +vn 0.9761 0.0980 0.1942 +vn 0.9210 0.3790 0.0907 +vn 0.8305 0.5509 0.0818 +vn 0.8173 0.5528 0.1626 +vn 0.9070 0.3805 0.1804 +vn 0.7084 0.7023 0.0698 +vn 0.5589 0.8274 0.0550 +vn 0.5490 0.8286 0.1092 +vn 0.6965 0.7041 0.1385 +vn 0.3876 0.9210 0.0382 +vn 0.1819 0.9831 0.0179 +vn 0.1785 0.9833 0.0355 +vn 0.3804 0.9217 0.0757 +vn 0.9063 0.1939 0.3754 +vn 0.9194 0.0980 0.3808 +vn 0.7699 0.5528 0.3189 +vn 0.8544 0.3805 0.3539 +vn 0.5172 0.8286 0.2142 +vn 0.6561 0.7041 0.2718 +vn 0.1681 0.9833 0.0696 +vn 0.3584 0.9217 0.1484 +vn 0.8157 0.1939 0.5450 +vn 0.8275 0.0980 0.5529 +vn 0.6929 0.5528 0.4630 +vn 0.7689 0.3805 0.5138 +vn 0.4654 0.8286 0.3110 +vn 0.5905 0.7041 0.3945 +vn 0.1513 0.9833 0.1011 +vn 0.3225 0.9217 0.2155 +vn 0.6937 0.1939 0.6937 +vn 0.7037 0.0980 0.7037 +vn 0.5893 0.5528 0.5893 +vn 0.6539 0.3805 0.6539 +vn 0.3958 0.8286 0.3958 +vn 0.5021 0.7041 0.5021 +vn 0.1287 0.9833 0.1287 +vn 0.2743 0.9217 0.2743 +vn 0.5450 0.1939 0.8157 +vn 0.5529 0.0980 0.8275 +vn 0.4630 0.5528 0.6929 +vn 0.5138 0.3805 0.7689 +vn 0.3110 0.8286 0.4654 +vn 0.3945 0.7041 0.5905 +vn 0.1011 0.9833 0.1513 +vn 0.2155 0.9217 0.3225 +vn 0.3754 0.1939 0.9063 +vn 0.3808 0.0980 0.9194 +vn 0.3189 0.5528 0.7699 +vn 0.3539 0.3805 0.8544 +vn 0.2142 0.8286 0.5172 +vn 0.2718 0.7041 0.6561 +vn 0.0696 0.9833 0.1681 +vn 0.1484 0.9217 0.3584 +vn 0.1914 0.1939 0.9622 +vn 0.1941 0.0980 0.9761 +vn 0.1626 0.5528 0.8173 +vn 0.1804 0.3805 0.9070 +vn 0.1092 0.8286 0.5490 +vn 0.1385 0.7041 0.6965 +vn 0.0355 0.9833 0.1785 +vn 0.0757 0.9217 0.3804 +vn 0.0000 0.1939 0.9810 +vn 0.0000 0.0980 0.9952 +vn 0.0000 0.5528 0.8333 +vn 0.0000 0.3805 0.9248 +vn -0.0000 0.8286 0.5598 +vn -0.0000 0.7041 0.7101 +vn 0.0000 0.9833 0.1820 +vn 0.0000 0.9217 0.3879 +vn -0.1914 0.1939 0.9622 +vn -0.1942 0.0980 0.9761 +vn -0.1626 0.5528 0.8173 +vn -0.1804 0.3805 0.9070 +vn -0.1092 0.8286 0.5490 +vn -0.1385 0.7041 0.6965 +vn -0.0355 0.9833 0.1785 +vn -0.0757 0.9217 0.3804 +vn -0.3754 0.1939 0.9063 +vn -0.3808 0.0980 0.9194 +vn -0.3189 0.5528 0.7699 +vn -0.3539 0.3805 0.8544 +vn -0.2142 0.8286 0.5172 +vn -0.2718 0.7041 0.6561 +vn -0.0696 0.9833 0.1681 +vn -0.1484 0.9217 0.3584 +vn -0.5450 0.1939 0.8157 +vn -0.5529 0.0980 0.8275 +vn -0.4630 0.5528 0.6929 +vn -0.5138 0.3805 0.7689 +vn -0.3110 0.8286 0.4654 +vn -0.3945 0.7041 0.5905 +vn -0.1011 0.9833 0.1513 +vn -0.2155 0.9217 0.3225 +vn -0.6937 0.1939 0.6937 +vn -0.7037 0.0980 0.7037 +vn -0.5893 0.5528 0.5893 +vn -0.6539 0.3805 0.6539 +vn -0.3958 0.8286 0.3958 +vn -0.5021 0.7041 0.5021 +vn -0.1287 0.9833 0.1287 +vn -0.2743 0.9217 0.2743 +vn -0.8157 0.1939 0.5450 +vn -0.8275 0.0980 0.5529 +vn -0.6929 0.5528 0.4630 +vn -0.7689 0.3805 0.5138 +vn -0.4654 0.8286 0.3110 +vn -0.5905 0.7041 0.3945 +vn -0.1513 0.9833 0.1011 +vn -0.3225 0.9217 0.2155 +vn -0.9063 0.1939 0.3754 +vn -0.9194 0.0980 0.3808 +vn -0.7699 0.5528 0.3189 +vn -0.8544 0.3805 0.3539 +vn -0.5172 0.8286 0.2142 +vn -0.6561 0.7041 0.2718 +vn -0.1681 0.9833 0.0696 +vn -0.3584 0.9217 0.1484 +vn -0.9622 0.1939 0.1914 +vn -0.9761 0.0980 0.1942 +vn -0.8173 0.5528 0.1626 +vn -0.9070 0.3805 0.1804 +vn -0.5490 0.8286 0.1092 +vn -0.6965 0.7041 0.1385 +vn -0.1785 0.9833 0.0355 +vn -0.3804 0.9217 0.0757 +vn -0.9765 0.1930 0.0962 +vn -0.9904 0.0975 0.0976 +vn -0.8305 0.5509 0.0818 +vn -0.9210 0.3790 0.0907 +vn -0.5589 0.8274 0.0551 +vn -0.7084 0.7023 0.0698 +vn -0.1820 0.9831 0.0179 +vn -0.3876 0.9210 0.0382 +vn -0.0296 0.9995 0.0059 +vn -0.0302 0.9995 0.0030 +vn -0.0279 0.9995 0.0116 +vn -0.0251 0.9995 0.0168 +vn -0.0214 0.9995 0.0214 +vn -0.0168 0.9995 0.0251 +vn -0.0116 0.9995 0.0279 +vn -0.0059 0.9995 0.0296 +vn 0.0000 0.9995 0.0302 +vn 0.0059 0.9995 0.0296 +vn 0.0116 0.9995 0.0279 +vn 0.0168 0.9995 0.0251 +vn 0.0214 0.9995 0.0214 +vn 0.0251 0.9995 0.0168 +vn 0.0279 0.9995 0.0116 +vn 0.0296 0.9995 0.0059 +vn 0.0568 0.9984 0.0056 +vn 0.0387 0.9992 0.0038 +usemtl None +s off +f 1/1/1 2/2/1 3/3/1 +f 4/4/2 2/2/2 1/1/2 +f 2/2/3 5/5/3 3/3/3 +f 6/6/4 2/2/4 4/4/4 +f 2/2/4 7/7/4 5/5/4 +f 8/8/4 2/2/4 6/6/4 +f 2/2/4 9/9/4 7/7/4 +f 10/10/4 2/2/4 8/8/4 +f 2/2/4 11/11/4 9/9/4 +f 12/12/4 2/2/4 10/10/4 +f 2/2/4 13/13/4 11/11/4 +f 14/14/4 2/2/4 12/12/4 +f 2/2/4 15/15/4 13/13/4 +f 16/16/4 2/2/4 14/14/4 +f 2/2/4 17/17/4 15/15/4 +f 18/18/4 2/2/4 16/16/4 +f 2/2/4 19/19/4 17/17/4 +f 20/20/5 19/21/5 2/2/5 +f 18/22/5 21/23/5 2/2/5 +f 2/2/5 22/24/5 23/25/5 +f 20/20/5 2/2/5 24/26/5 +f 2/2/5 25/27/5 26/28/5 +f 24/26/5 2/2/5 27/29/5 +f 2/2/5 26/28/5 28/30/5 +f 27/29/5 2/2/5 29/31/5 +f 2/2/5 28/30/5 30/32/5 +f 29/31/5 2/2/5 31/33/5 +f 2/2/5 30/32/5 32/34/5 +f 31/33/5 2/2/5 33/35/5 +f 2/2/5 32/34/5 22/24/5 +f 33/35/5 2/2/5 34/36/5 +f 34/36/5 2/2/5 23/25/5 +f 2/2/5 21/23/5 25/27/5 +s 1 +f 18/37/6 16/38/7 35/39/8 21/40/9 +f 14/41/10 12/42/11 36/43/12 37/44/13 +f 10/45/14 8/46/15 38/47/16 39/48/17 +f 6/49/18 4/50/19 40/51/20 41/52/21 +f 16/38/7 14/41/10 37/44/13 35/39/8 +f 12/42/11 10/45/14 39/48/17 36/43/12 +f 8/46/15 6/49/18 41/52/21 38/47/16 +f 21/40/9 35/39/8 42/53/22 25/54/23 +f 37/44/13 36/43/12 43/55/24 44/56/25 +f 39/48/17 38/47/16 45/57/26 46/58/27 +f 41/52/21 40/51/20 47/59/28 48/60/29 +f 35/39/8 37/44/13 44/56/25 42/53/22 +f 36/43/12 39/48/17 46/58/27 43/55/24 +f 38/47/16 41/52/21 48/60/29 45/57/26 +f 25/54/23 42/53/22 49/61/30 26/62/31 +f 44/56/25 43/55/24 50/63/32 51/64/33 +f 46/58/27 45/57/26 52/65/34 53/66/35 +f 48/60/29 47/59/28 54/67/36 55/68/37 +f 42/53/22 44/56/25 51/64/33 49/61/30 +f 43/55/24 46/58/27 53/66/35 50/63/32 +f 45/57/26 48/60/29 55/68/37 52/65/34 +f 26/62/31 49/61/30 56/69/38 28/70/39 +f 51/64/33 50/63/32 57/71/40 58/72/41 +f 53/66/35 52/65/34 59/73/42 60/74/43 +f 55/68/37 54/67/36 61/75/44 62/76/45 +f 49/61/30 51/64/33 58/72/41 56/69/38 +f 50/63/32 53/66/35 60/74/43 57/71/40 +f 52/65/34 55/68/37 62/76/45 59/73/42 +f 28/70/39 56/69/38 63/77/46 30/78/47 +f 58/72/41 57/71/40 64/79/48 65/80/49 +f 60/74/43 59/73/42 66/81/50 67/82/51 +f 62/76/45 61/75/44 68/83/52 69/84/53 +f 56/69/38 58/72/41 65/80/49 63/77/46 +f 57/71/40 60/74/43 67/82/51 64/79/48 +f 59/73/42 62/76/45 69/84/53 66/81/50 +f 30/78/47 63/77/46 70/85/54 32/86/55 +f 65/80/49 64/79/48 71/87/56 72/88/57 +f 67/82/51 66/81/50 73/89/58 74/90/59 +f 69/84/53 68/83/52 75/91/60 76/92/61 +f 63/77/46 65/80/49 72/88/57 70/85/54 +f 64/79/48 67/82/51 74/90/59 71/87/56 +f 66/81/50 69/84/53 76/92/61 73/89/58 +f 32/86/55 70/85/54 77/93/62 22/94/63 +f 72/88/57 71/87/56 78/95/64 79/96/65 +f 74/90/59 73/89/58 80/97/66 81/98/67 +f 76/92/61 75/91/60 82/99/68 83/100/69 +f 70/85/54 72/88/57 79/96/65 77/93/62 +f 71/87/56 74/90/59 81/98/67 78/95/64 +f 73/89/58 76/92/61 83/100/69 80/97/66 +f 22/101/63 77/102/62 84/103/70 23/104/71 +f 79/105/65 78/106/64 85/107/72 86/108/73 +f 81/109/67 80/110/66 87/111/74 88/112/75 +f 83/113/69 82/114/68 89/115/76 90/116/77 +f 77/102/62 79/105/65 86/108/73 84/103/70 +f 78/106/64 81/109/67 88/112/75 85/107/72 +f 80/110/66 83/113/69 90/116/77 87/111/74 +f 23/104/71 84/103/70 91/117/78 34/118/79 +f 86/108/73 85/107/72 92/119/80 93/120/81 +f 88/112/75 87/111/74 94/121/82 95/122/83 +f 90/116/77 89/115/76 96/123/84 97/124/85 +f 84/103/70 86/108/73 93/120/81 91/117/78 +f 85/107/72 88/112/75 95/122/83 92/119/80 +f 87/111/74 90/116/77 97/124/85 94/121/82 +f 34/118/79 91/117/78 98/125/86 33/126/87 +f 93/120/81 92/119/80 99/127/88 100/128/89 +f 95/122/83 94/121/82 101/129/90 102/130/91 +f 97/124/85 96/123/84 103/131/92 104/132/93 +f 91/117/78 93/120/81 100/128/89 98/125/86 +f 92/119/80 95/122/83 102/130/91 99/127/88 +f 94/121/82 97/124/85 104/132/93 101/129/90 +f 33/126/87 98/125/86 105/133/94 31/134/95 +f 100/128/89 99/127/88 106/135/96 107/136/97 +f 102/130/91 101/129/90 108/137/98 109/138/99 +f 104/132/93 103/131/92 110/139/100 111/140/101 +f 98/125/86 100/128/89 107/136/97 105/133/94 +f 99/127/88 102/130/91 109/138/99 106/135/96 +f 101/129/90 104/132/93 111/140/101 108/137/98 +f 31/134/95 105/133/94 112/141/102 29/142/103 +f 107/136/97 106/135/96 113/143/104 114/144/105 +f 109/138/99 108/137/98 115/145/106 116/146/107 +f 111/140/101 110/139/100 117/147/108 118/148/109 +f 105/133/94 107/136/97 114/144/105 112/141/102 +f 106/135/96 109/138/99 116/146/107 113/143/104 +f 108/137/98 111/140/101 118/148/109 115/145/106 +f 29/142/103 112/141/102 119/149/110 27/150/111 +f 114/144/105 113/143/104 120/151/112 121/152/113 +f 116/146/107 115/145/106 122/153/114 123/154/115 +f 118/148/109 117/147/108 124/155/116 125/156/117 +f 112/141/102 114/144/105 121/152/113 119/149/110 +f 113/143/104 116/146/107 123/154/115 120/151/112 +f 115/145/106 118/148/109 125/156/117 122/153/114 +f 27/150/111 119/149/110 126/157/118 24/158/119 +f 121/152/113 120/151/112 127/159/120 128/160/121 +f 123/154/115 122/153/114 129/161/122 130/162/123 +f 125/156/117 124/155/116 131/163/124 132/164/125 +f 119/149/110 121/152/113 128/160/121 126/157/118 +f 120/151/112 123/154/115 130/162/123 127/159/120 +f 122/153/114 125/156/117 132/164/125 129/161/122 +f 24/158/119 126/157/118 133/165/126 20/166/127 +f 128/160/121 127/159/120 134/167/128 135/168/129 +f 130/162/123 129/161/122 136/169/130 137/170/131 +f 132/164/125 131/163/124 138/171/132 139/172/133 +f 126/157/118 128/160/121 135/168/129 133/165/126 +f 127/159/120 130/162/123 137/170/131 134/167/128 +f 129/161/122 132/164/125 139/172/133 136/169/130 +f 20/166/127 133/165/126 17/173/134 19/174/135 +f 135/168/129 134/167/128 13/175/136 15/176/137 +f 137/170/131 136/169/130 9/177/138 11/178/139 +f 139/172/133 138/171/132 5/179/140 7/180/141 +f 133/165/126 135/168/129 15/176/137 17/173/134 +f 134/167/128 137/170/131 11/178/139 13/175/136 +f 136/169/130 139/172/133 7/180/141 9/177/138 +f 138/171/132 140/181/142 3/182/143 5/179/140 +f 131/163/124 141/183/144 140/181/142 138/171/132 +f 124/155/116 142/184/145 141/183/144 131/163/124 +f 117/147/108 143/185/146 142/184/145 124/155/116 +f 110/139/100 144/186/147 143/185/146 117/147/108 +f 103/131/92 145/187/148 144/186/147 110/139/100 +f 96/123/84 146/188/149 145/187/148 103/131/92 +f 89/115/76 147/189/150 146/188/149 96/123/84 +f 82/114/68 148/190/151 147/189/150 89/115/76 +f 75/91/60 149/191/152 148/192/151 82/99/68 +f 68/83/52 150/193/153 149/191/152 75/91/60 +f 61/75/44 151/194/154 150/193/153 68/83/52 +f 54/67/36 152/195/155 151/194/154 61/75/44 +f 47/59/28 153/196/156 152/195/155 54/67/36 +f 40/51/20 154/197/157 153/196/156 47/59/28 +f 4/50/19 155/198/158 1/199/159 154/197/157 40/51/20 +f 140/200/142 141/201/144 142/202/145 143/203/146 144/204/147 145/205/148 146/206/149 147/207/150 148/208/151 149/209/152 150/210/153 151/211/154 152/212/155 153/213/156 154/214/157 1/215/159 3/216/143 diff --git a/technic/models/technic_tile_beveled.obj b/technic/models/technic_tile_beveled.obj new file mode 100644 index 0000000..de7591a --- /dev/null +++ b/technic/models/technic_tile_beveled.obj @@ -0,0 +1,66 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +mtllib technic_tile_beveled.mtl +o Cube_Cube.005 +v 0.450000 -0.400000 -0.450000 +v -0.450000 -0.400000 -0.450000 +v -0.450000 -0.400000 0.450000 +v 0.450000 -0.400000 0.450000 +v 0.500000 -0.500000 -0.500000 +v 0.500000 -0.450000 -0.500000 +v 0.500000 -0.450000 0.500000 +v 0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 0.500000 +v -0.500000 -0.450000 0.500000 +v -0.500000 -0.450000 -0.500000 +v -0.500000 -0.500000 -0.500000 +vt 0.961182 0.961182 +vt 0.038818 0.961182 +vt 0.038818 0.038817 +vt 0.961182 0.038817 +vt 0.999978 0.000022 +vt 0.999978 0.050020 +vt 0.000022 0.050020 +vt 0.000022 0.000023 +vt 0.000022 0.050020 +vt 0.000022 0.000022 +vt 0.999978 0.000022 +vt 0.999978 0.050020 +vt 0.000100 0.000100 +vt 0.999900 0.000100 +vt 0.999900 0.999900 +vt 0.000100 0.999900 +vt 0.000022 0.050020 +vt 0.000022 0.000022 +vt 0.999978 0.000022 +vt 0.999978 0.050020 +vt -0.000402 1.000402 +vt -0.000402 -0.000402 +vt 1.000402 1.000402 +vt 1.000402 -0.000402 +vt 0.999978 0.000022 +vt 0.999978 0.050020 +vt 0.000022 0.050020 +vt 0.000022 0.000023 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 -0.0000 +vn 0.0000 0.0000 -1.0000 +vn -0.7071 0.7071 0.0000 +vn 0.0000 0.7071 -0.7071 +vn 0.7071 0.7071 0.0000 +vn 0.0000 0.7071 0.7071 +vn 0.0000 0.0000 1.0000 +usemtl None +s 1 +f 1/1/1 2/2/1 3/3/1 4/4/1 +f 5/5/2 6/6/2 7/7/2 8/8/2 +f 9/9/3 10/10/3 11/11/3 12/12/3 +f 12/13/4 5/14/4 8/15/4 9/16/4 +f 12/17/5 11/18/5 6/19/5 5/20/5 +f 3/3/6 2/2/6 11/21/6 10/22/6 +f 2/2/7 1/1/7 6/23/7 11/21/7 +f 1/1/8 4/4/8 7/24/8 6/23/8 +f 4/4/9 3/3/9 10/22/9 7/24/9 +f 8/25/10 7/26/10 10/27/10 9/28/10 diff --git a/technic/sounds/technic_lawn_trimmer.ogg b/technic/sounds/technic_lawn_trimmer.ogg Binary files differnew file mode 100644 index 0000000..9ec6886 --- /dev/null +++ b/technic/sounds/technic_lawn_trimmer.ogg diff --git a/technic/sounds/technic_walking_tractor.ogg b/technic/sounds/technic_walking_tractor.ogg Binary files differnew file mode 100644 index 0000000..8c9ebc1 --- /dev/null +++ b/technic/sounds/technic_walking_tractor.ogg diff --git a/technic/sounds/trampoline_boing.ogg b/technic/sounds/trampoline_boing.ogg Binary files differnew file mode 100644 index 0000000..fb541d4 --- /dev/null +++ b/technic/sounds/trampoline_boing.ogg diff --git a/technic/textures/technic_chainsaw_mini.png b/technic/textures/technic_chainsaw_mini.png Binary files differnew file mode 100644 index 0000000..b91ca13 --- /dev/null +++ b/technic/textures/technic_chainsaw_mini.png diff --git a/technic/textures/technic_chainsaw_mk2.png b/technic/textures/technic_chainsaw_mk2.png Binary files differnew file mode 100644 index 0000000..92186f8 --- /dev/null +++ b/technic/textures/technic_chainsaw_mk2.png diff --git a/technic/textures/technic_cnc_arch216.png b/technic/textures/technic_cnc_arch216.png Binary files differnew file mode 100644 index 0000000..cf274f6 --- /dev/null +++ b/technic/textures/technic_cnc_arch216.png diff --git a/technic/textures/technic_cnc_arch216_flange.png b/technic/textures/technic_cnc_arch216_flange.png Binary files differnew file mode 100644 index 0000000..0b2be25 --- /dev/null +++ b/technic/textures/technic_cnc_arch216_flange.png diff --git a/technic/textures/technic_cnc_beam216.png b/technic/textures/technic_cnc_beam216.png Binary files differnew file mode 100644 index 0000000..3611d65 --- /dev/null +++ b/technic/textures/technic_cnc_beam216.png diff --git a/technic/textures/technic_cnc_beam216_cross.png b/technic/textures/technic_cnc_beam216_cross.png Binary files differnew file mode 100644 index 0000000..31ac2e5 --- /dev/null +++ b/technic/textures/technic_cnc_beam216_cross.png diff --git a/technic/textures/technic_cnc_beam216_cross_column.png b/technic/textures/technic_cnc_beam216_cross_column.png Binary files differnew file mode 100644 index 0000000..ec1b2d0 --- /dev/null +++ b/technic/textures/technic_cnc_beam216_cross_column.png diff --git a/technic/textures/technic_cnc_beam216_tee.png b/technic/textures/technic_cnc_beam216_tee.png Binary files differnew file mode 100644 index 0000000..de71f79 --- /dev/null +++ b/technic/textures/technic_cnc_beam216_tee.png diff --git a/technic/textures/technic_cnc_block_fluted.png b/technic/textures/technic_cnc_block_fluted.png Binary files differnew file mode 100644 index 0000000..e4cf4cb --- /dev/null +++ b/technic/textures/technic_cnc_block_fluted.png diff --git a/technic/textures/technic_cnc_cylinder_fluted.png b/technic/textures/technic_cnc_cylinder_fluted.png Binary files differnew file mode 100644 index 0000000..7f0b772 --- /dev/null +++ b/technic/textures/technic_cnc_cylinder_fluted.png diff --git a/technic/textures/technic_cnc_cylinder_half.png b/technic/textures/technic_cnc_cylinder_half.png Binary files differnew file mode 100644 index 0000000..b776e43 --- /dev/null +++ b/technic/textures/technic_cnc_cylinder_half.png diff --git a/technic/textures/technic_cnc_cylinder_half_corner.png b/technic/textures/technic_cnc_cylinder_half_corner.png Binary files differnew file mode 100644 index 0000000..1333366 --- /dev/null +++ b/technic/textures/technic_cnc_cylinder_half_corner.png diff --git a/technic/textures/technic_cnc_diagonal_truss.png b/technic/textures/technic_cnc_diagonal_truss.png Binary files differnew file mode 100644 index 0000000..52174aa --- /dev/null +++ b/technic/textures/technic_cnc_diagonal_truss.png diff --git a/technic/textures/technic_cnc_diagonal_truss_cross.png b/technic/textures/technic_cnc_diagonal_truss_cross.png Binary files differnew file mode 100644 index 0000000..b09119b --- /dev/null +++ b/technic/textures/technic_cnc_diagonal_truss_cross.png diff --git a/technic/textures/technic_cnc_innercurvededge.png b/technic/textures/technic_cnc_innercurvededge.png Binary files differnew file mode 100644 index 0000000..cdedf88 --- /dev/null +++ b/technic/textures/technic_cnc_innercurvededge.png diff --git a/technic/textures/technic_cnc_opposedcurvededge.png b/technic/textures/technic_cnc_opposedcurvededge.png Binary files differnew file mode 100644 index 0000000..28a3394 --- /dev/null +++ b/technic/textures/technic_cnc_opposedcurvededge.png diff --git a/technic/textures/technic_cnc_sphere_half.png b/technic/textures/technic_cnc_sphere_half.png Binary files differnew file mode 100644 index 0000000..97b0980 --- /dev/null +++ b/technic/textures/technic_cnc_sphere_half.png diff --git a/technic/textures/technic_cnc_sphere_quarter.png b/technic/textures/technic_cnc_sphere_quarter.png Binary files differnew file mode 100644 index 0000000..4b1b72b --- /dev/null +++ b/technic/textures/technic_cnc_sphere_quarter.png diff --git a/technic/textures/technic_cnc_tile_beveled.png b/technic/textures/technic_cnc_tile_beveled.png Binary files differnew file mode 100644 index 0000000..ed57d48 --- /dev/null +++ b/technic/textures/technic_cnc_tile_beveled.png diff --git a/technic/textures/technic_control_logic_unit_adv.png b/technic/textures/technic_control_logic_unit_adv.png Binary files differnew file mode 100644 index 0000000..d5508d5 --- /dev/null +++ b/technic/textures/technic_control_logic_unit_adv.png diff --git a/technic/textures/technic_cornbread.png b/technic/textures/technic_cornbread.png Binary files differnew file mode 100644 index 0000000..32674f2 --- /dev/null +++ b/technic/textures/technic_cornbread.png diff --git a/technic/textures/technic_cornmeal.png b/technic/textures/technic_cornmeal.png Binary files differnew file mode 100644 index 0000000..e17bb69 --- /dev/null +++ b/technic/textures/technic_cornmeal.png diff --git a/technic/textures/technic_diamond_seed.png b/technic/textures/technic_diamond_seed.png Binary files differnew file mode 100644 index 0000000..53d88fb --- /dev/null +++ b/technic/textures/technic_diamond_seed.png diff --git a/technic/textures/technic_fall_dampener_bottom.png b/technic/textures/technic_fall_dampener_bottom.png Binary files differnew file mode 100644 index 0000000..993aed1 --- /dev/null +++ b/technic/textures/technic_fall_dampener_bottom.png diff --git a/technic/textures/technic_fall_dampener_side.png b/technic/textures/technic_fall_dampener_side.png Binary files differnew file mode 100644 index 0000000..3a7a67c --- /dev/null +++ b/technic/textures/technic_fall_dampener_side.png diff --git a/technic/textures/technic_fall_dampener_top.png b/technic/textures/technic_fall_dampener_top.png Binary files differnew file mode 100644 index 0000000..59b1b2b --- /dev/null +++ b/technic/textures/technic_fall_dampener_top.png diff --git a/technic/textures/technic_hv_compressor_bottom.png b/technic/textures/technic_hv_compressor_bottom.png Binary files differnew file mode 100644 index 0000000..d6a61ed --- /dev/null +++ b/technic/textures/technic_hv_compressor_bottom.png diff --git a/technic/textures/technic_hv_compressor_front.png b/technic/textures/technic_hv_compressor_front.png Binary files differnew file mode 100644 index 0000000..4f488a9 --- /dev/null +++ b/technic/textures/technic_hv_compressor_front.png diff --git a/technic/textures/technic_hv_compressor_front_active.png b/technic/textures/technic_hv_compressor_front_active.png Binary files differnew file mode 100644 index 0000000..60de4f9 --- /dev/null +++ b/technic/textures/technic_hv_compressor_front_active.png diff --git a/technic/textures/technic_hv_compressor_side.png b/technic/textures/technic_hv_compressor_side.png Binary files differnew file mode 100644 index 0000000..77e2c1f --- /dev/null +++ b/technic/textures/technic_hv_compressor_side.png diff --git a/technic/textures/technic_hv_compressor_side_tube.png b/technic/textures/technic_hv_compressor_side_tube.png Binary files differnew file mode 100644 index 0000000..a427128 --- /dev/null +++ b/technic/textures/technic_hv_compressor_side_tube.png diff --git a/technic/textures/technic_hv_compressor_top.png b/technic/textures/technic_hv_compressor_top.png Binary files differnew file mode 100644 index 0000000..5279c81 --- /dev/null +++ b/technic/textures/technic_hv_compressor_top.png diff --git a/technic/textures/technic_hv_electric_furnace_bottom.png b/technic/textures/technic_hv_electric_furnace_bottom.png Binary files differnew file mode 100644 index 0000000..d6a61ed --- /dev/null +++ b/technic/textures/technic_hv_electric_furnace_bottom.png diff --git a/technic/textures/technic_hv_electric_furnace_front.png b/technic/textures/technic_hv_electric_furnace_front.png Binary files differnew file mode 100644 index 0000000..de74673 --- /dev/null +++ b/technic/textures/technic_hv_electric_furnace_front.png diff --git a/technic/textures/technic_hv_electric_furnace_front_active.png b/technic/textures/technic_hv_electric_furnace_front_active.png Binary files differnew file mode 100644 index 0000000..adff958 --- /dev/null +++ b/technic/textures/technic_hv_electric_furnace_front_active.png diff --git a/technic/textures/technic_hv_electric_furnace_side.png b/technic/textures/technic_hv_electric_furnace_side.png Binary files differnew file mode 100644 index 0000000..77e2c1f --- /dev/null +++ b/technic/textures/technic_hv_electric_furnace_side.png diff --git a/technic/textures/technic_hv_electric_furnace_side_tube.png b/technic/textures/technic_hv_electric_furnace_side_tube.png Binary files differnew file mode 100644 index 0000000..a427128 --- /dev/null +++ b/technic/textures/technic_hv_electric_furnace_side_tube.png diff --git a/technic/textures/technic_hv_electric_furnace_top.png b/technic/textures/technic_hv_electric_furnace_top.png Binary files differnew file mode 100644 index 0000000..5279c81 --- /dev/null +++ b/technic/textures/technic_hv_electric_furnace_top.png diff --git a/technic/textures/technic_hv_grinder_bottom.png b/technic/textures/technic_hv_grinder_bottom.png Binary files differindex fa2c135..9212218 100644 --- a/technic/textures/technic_hv_grinder_bottom.png +++ b/technic/textures/technic_hv_grinder_bottom.png diff --git a/technic/textures/technic_hv_grinder_front.png b/technic/textures/technic_hv_grinder_front.png Binary files differindex a5bca0a..db9820e 100644 --- a/technic/textures/technic_hv_grinder_front.png +++ b/technic/textures/technic_hv_grinder_front.png diff --git a/technic/textures/technic_hv_grinder_front_active.png b/technic/textures/technic_hv_grinder_front_active.png Binary files differindex 4077630..4886bc2 100644 --- a/technic/textures/technic_hv_grinder_front_active.png +++ b/technic/textures/technic_hv_grinder_front_active.png diff --git a/technic/textures/technic_hv_grinder_side.png b/technic/textures/technic_hv_grinder_side.png Binary files differindex c3063c4..26873a2 100644 --- a/technic/textures/technic_hv_grinder_side.png +++ b/technic/textures/technic_hv_grinder_side.png diff --git a/technic/textures/technic_hv_grinder_side_tube.png b/technic/textures/technic_hv_grinder_side_tube.png Binary files differindex 43bcca5..ac7183d 100644 --- a/technic/textures/technic_hv_grinder_side_tube.png +++ b/technic/textures/technic_hv_grinder_side_tube.png diff --git a/technic/textures/technic_hv_grinder_top.png b/technic/textures/technic_hv_grinder_top.png Binary files differindex e0df36b..c89511f 100644 --- a/technic/textures/technic_hv_grinder_top.png +++ b/technic/textures/technic_hv_grinder_top.png diff --git a/technic/textures/technic_latex_foam.png b/technic/textures/technic_latex_foam.png Binary files differnew file mode 100644 index 0000000..aebabb4 --- /dev/null +++ b/technic/textures/technic_latex_foam.png diff --git a/technic/textures/technic_lawn_trimmer.png b/technic/textures/technic_lawn_trimmer.png Binary files differnew file mode 100644 index 0000000..d44676a --- /dev/null +++ b/technic/textures/technic_lawn_trimmer.png diff --git a/technic/textures/technic_lv_lamp_bottom.png b/technic/textures/technic_lv_lamp_bottom.png Binary files differnew file mode 100644 index 0000000..04941a0 --- /dev/null +++ b/technic/textures/technic_lv_lamp_bottom.png diff --git a/technic/textures/technic_lv_lamp_side.png b/technic/textures/technic_lv_lamp_side.png Binary files differnew file mode 100644 index 0000000..2ea1117 --- /dev/null +++ b/technic/textures/technic_lv_lamp_side.png diff --git a/technic/textures/technic_lv_lamp_top.png b/technic/textures/technic_lv_lamp_top.png Binary files differnew file mode 100644 index 0000000..701baf2 --- /dev/null +++ b/technic/textures/technic_lv_lamp_top.png diff --git a/technic/textures/technic_lv_led.png b/technic/textures/technic_lv_led.png Binary files differnew file mode 100644 index 0000000..056a9a4 --- /dev/null +++ b/technic/textures/technic_lv_led.png diff --git a/technic/textures/technic_lv_led_inv.png b/technic/textures/technic_lv_led_inv.png Binary files differnew file mode 100644 index 0000000..6f8996c --- /dev/null +++ b/technic/textures/technic_lv_led_inv.png diff --git a/technic/textures/technic_planter.png b/technic/textures/technic_planter.png Binary files differnew file mode 100644 index 0000000..188f733 --- /dev/null +++ b/technic/textures/technic_planter.png diff --git a/technic/textures/technic_trampoline_side.png b/technic/textures/technic_trampoline_side.png Binary files differnew file mode 100644 index 0000000..441f81b --- /dev/null +++ b/technic/textures/technic_trampoline_side.png diff --git a/technic/textures/technic_trampoline_top.png b/technic/textures/technic_trampoline_top.png Binary files differnew file mode 100644 index 0000000..6a609cc --- /dev/null +++ b/technic/textures/technic_trampoline_top.png diff --git a/technic/textures/technic_walking_tractor.png b/technic/textures/technic_walking_tractor.png Binary files differnew file mode 100644 index 0000000..23fcd6c --- /dev/null +++ b/technic/textures/technic_walking_tractor.png diff --git a/technic/textures/technicx32/technic_cornbread.png b/technic/textures/technicx32/technic_cornbread.png Binary files differnew file mode 100644 index 0000000..05e0416 --- /dev/null +++ b/technic/textures/technicx32/technic_cornbread.png diff --git a/technic/tools/chainsaw.lua b/technic/tools/chainsaw.lua index 3653d2d..4f385af 100644 --- a/technic/tools/chainsaw.lua +++ b/technic/tools/chainsaw.lua @@ -1,6 +1,8 @@ -- Configuration -local chainsaw_max_charge = 30000 -- Maximum charge of the saw +local chainsaw_max_charge_mini = 15000 +local chainsaw_max_charge = 30000 -- Maximum charge of the saw +local chainsaw_max_charge_mk2 = 120000 -- Gives 2500 nodes on a single charge (about 50 complete normal trees) local chainsaw_charge_per_node = 12 -- Cut down tree leaves. Leaf decay may cause slowness on large trees @@ -16,7 +18,7 @@ local timber_nodenames = { ["default:cactus"] = true, ["default:tree"] = true, ["default:apple"] = true, - ["default:pine_tree"] = true, + ["default:pine_tree"] = true, } if chainsaw_leaves then @@ -119,6 +121,49 @@ if minetest.get_modpath("growing_cactus") then timber_nodenames["growing_cactus:branch_xx"] = true end +-- Support ethereal +if minetest.get_modpath("ethereal") then + timber_nodenames["ethereal:willow_trunk"] = true + timber_nodenames["ethereal:redwood_trunk"] = true + timber_nodenames["ethereal:frost_tree"] = true + timber_nodenames["ethereal:yellow_trunk"] = true + timber_nodenames["ethereal:birch_trunk"] = true + timber_nodenames["ethereal:palm_trunk"] = true + timber_nodenames["ethereal:banana_trunk"] = true + timber_nodenames["ethereal:bamboo"] = true + timber_nodenames["ethereal:mushroom_trunk"] = true + timber_nodenames["ethereal:scorched_tree"] = true + + if chainsaw_leaves then + timber_nodenames["ethereal:willow_twig"] = true + timber_nodenames["ethereal:redwood_leaves"] = true + timber_nodenames["ethereal:frost_leaves"] = true + timber_nodenames["ethereal:yellowleaves"] = true + timber_nodenames["ethereal:birch_leaves"] = true + timber_nodenames["ethereal:palmleaves"] = true + timber_nodenames["ethereal:bananaleaves"] = true + timber_nodenames["ethereal:bamboo_leaves"] = true + timber_nodenames["ethereal:mushroom"] = true + timber_nodenames["ethereal:mushroom_pore"] = true + timber_nodenames["ethereal:orange_leaves"] = true + -- fruits + timber_nodenames["ethereal:banana"] = true + timber_nodenames["ethereal:orange"] = true + timber_nodenames["ethereal:coconut"] = true + timber_nodenames["ethereal:golden_apple"] = true + -- extra + timber_nodenames["ethereal:vine"] = true + end +end + +-- Support maple +if minetest.get_modpath("maple") then + timber_nodenames["maple:maple_tree"] = true + if chainsaw_leaves then + timber_nodenames["maple:maple_leaves"] = true + end +end + -- Support farming_plus if minetest.get_modpath("farming_plus") then if chainsaw_leaves then @@ -162,7 +207,9 @@ end local S = technic.getter +technic.register_power_tool("technic:chainsaw_mini", chainsaw_max_charge_mini) technic.register_power_tool("technic:chainsaw", chainsaw_max_charge) +technic.register_power_tool("technic:chainsaw_mk2", chainsaw_max_charge_mk2) -- Table for saving what was sawed down local produced = {} @@ -232,9 +279,59 @@ local function iterSawTries(pos) end end + + +local function iterSawTries_mk2(pos) + -- Copy position to prevent mangling it + local pos = vector.new(pos) + local i = 0 + + return function() + i = i + 1 + -- Given a (top view) area like so (where 5 is the starting position): + -- X --> + -- Z 1 2 3 4 5 + -- | 6 7 8 9 10 + -- | 11 12 13 14 15 + -- | 16 17 18 19 20 + -- V 21 22 23 24 25 + -- This will return positions 1...21, 2..,22, 3...23 (skip 13), 4...24, 5...25 + -- and the position above 13. + if i == 1 then + -- Move to starting position + pos.x = pos.x - 2 + pos.z = pos.z - 2 + elseif i == 6 or i == 11 or i == 16 or i == 21 then + -- Move to next X and back to start of Z when we reach + -- the end of a Z line. + pos.x = pos.x + 1 + pos.z = pos.z - 4 + elseif i == 13 then + -- Skip the middle position (we've already run on it) + -- and double-increment the counter. + pos.z = pos.z + 2 + i = i + 1 + elseif i <= 25 then + -- Go to next Z. + pos.z = pos.z + 1 + elseif i == 26 then + -- Move back to center and up. + -- The Y+ position must be last so that we don't dig + -- straight upward and notminetest.record_protection_violation(pointed_thing.under, name) come down (since the Y- + -- position isn't checked). + pos.x = pos.x - 2 + pos.z = pos.z - 2 + pos.y = pos.y + 1 + else + return nil + end + return pos + end +end + -- This function does all the hard work. Recursively we dig the node at hand -- if it is in the table and then search the surroundings for more stuff to dig. -local function recursive_dig(pos, remaining_charge) +local function recursive_dig(pos, remaining_charge, mk, username) if remaining_charge < chainsaw_charge_per_node then return remaining_charge end @@ -243,24 +340,125 @@ local function recursive_dig(pos, remaining_charge) if not timber_nodenames[node.name] then return remaining_charge end - + + if minetest.is_protected(pos, username) then + return remaining_charge + end + -- Wood found - cut it handle_drops(minetest.get_node_drops(node.name, "")) minetest.remove_node(pos) remaining_charge = remaining_charge - chainsaw_charge_per_node -- Check surroundings and run recursively if any charge left - for npos in iterSawTries(pos) do - if remaining_charge < chainsaw_charge_per_node then + if mk == 1 then + for npos in iterSawTries(pos) do + if remaining_charge < chainsaw_charge_per_node then + break + end + if timber_nodenames[minetest.get_node(npos).name] then + remaining_charge = recursive_dig(npos, remaining_charge, mk, username) + end + end + elseif mk == 2 then + for npos in iterSawTries_mk2(pos) do + if remaining_charge < chainsaw_charge_per_node then + break + end + if timber_nodenames[minetest.get_node(npos).name] then + remaining_charge = recursive_dig(npos, remaining_charge, mk, username) + else + local ct = {{x=-1,z=-1},{x=-1,z=1},{x=1,z=-1},{x=1,z=1}} + for _,c in ipairs(ct) do + local pos_alt = vector.new(npos) + pos_alt.x = pos_alt.x + c.x + pos_alt.z = pos_alt.z + c.z + pos_alt.y = pos_alt.y + 1 + if timber_nodenames[minetest.get_node(pos_alt).name] then + remaining_charge = recursive_dig(pos_alt, remaining_charge, mk, username) + end + end + end + end + end + + return remaining_charge +end + +-- a non-recursive version +local function nonrecursive_dig(pos, remaining_charge, username) + if remaining_charge < chainsaw_charge_per_node then + return remaining_charge + end + local node = minetest.get_node(pos) + + if not timber_nodenames[node.name] then + return remaining_charge + end + + if minetest.is_protected(pos, username) then + return remaining_charge + end + + local start_pos = { + x = pos.x - 1, + z = pos.z - 1, + y = pos.y + } + local end_pos = { + x = pos.x + 1, + z = pos.z + 1, + y = pos.y + 30 + } + + local positions = {} + + for x = 1,-1,-1 do + for z = 1,-1,-1 do + table.insert(positions, {x = x, z = z}) + end + end + + local h = 40 + + -- find where the tree ends (counting from the ground) + for y=0,h,1 do + local c = 0 + for _,offset in pairs(positions) do + local p = {x = pos.x + offset.x, y = pos.y + y, z = pos.z + offset.z} + local n = minetest.get_node(p) + if not timber_nodenames[n.name] then + c = c + 1 + end + end + if c == #positions then +-- minetest.chat_send_all("tree height: " .. y) + h = y break end - if timber_nodenames[minetest.get_node(npos).name] then - remaining_charge = recursive_dig(npos, remaining_charge) + end + + for y=h,0,-1 do + for _,offset in pairs(positions) do + if remaining_charge < chainsaw_charge_per_node then + break + end + local p = {x = pos.x + offset.x, y = pos.y + y, z = pos.z + offset.z} + local n = minetest.get_node(p) + if timber_nodenames[n.name] and not minetest.is_protected(p, username) then + -- Wood found - cut it + handle_drops(minetest.get_node_drops(n.name)) + minetest.remove_node(p) + remaining_charge = remaining_charge - chainsaw_charge_per_node + end end end + return remaining_charge end + + -- Function to randomize positions for new node drops local function get_drop_pos(pos) local drop_pos = {} @@ -296,9 +494,15 @@ local function get_drop_pos(pos) end -- Chainsaw entry point -local function chainsaw_dig(pos, current_charge) +local function chainsaw_dig(pos, current_charge, mk, username) -- Start sawing things down - local remaining_charge = recursive_dig(pos, current_charge) + local remaining_charge + if (mk) then + remaining_charge = recursive_dig(pos, current_charge, mk, username) + else + remaining_charge = nonrecursive_dig(pos, current_charge, username) + end + minetest.sound_play("chainsaw", {pos = pos, gain = 1.0, max_hear_distance = 10}) @@ -322,6 +526,39 @@ local function chainsaw_dig(pos, current_charge) end +local function use_chainsaw(itemstack, user, pointed_thing, mk) + if pointed_thing.type ~= "node" then + return itemstack + end + + local meta = minetest.deserialize(itemstack:get_metadata()) + if not meta or not meta.charge or + meta.charge < chainsaw_charge_per_node then + return + end + + local name = user:get_player_name() + if minetest.is_protected(pointed_thing.under, name) then + minetest.record_protection_violation(pointed_thing.under, name) + return + end + + -- Send current charge to digging function so that the + -- chainsaw will stop after digging a number of nodes + meta.charge = chainsaw_dig(pointed_thing.under, meta.charge, mk, name) + if not technic.creative_mode then + if mk == 1 then + technic.set_RE_wear(itemstack, meta.charge, chainsaw_max_charge) + elseif mk == 2 then + technic.set_RE_wear(itemstack, meta.charge, chainsaw_max_charge_mk2) + else + technic.set_RE_wear(itemstack, meta.charge, chainsaw_max_charge_mini) + end + itemstack:set_metadata(minetest.serialize(meta)) + end + return itemstack +end + minetest.register_tool("technic:chainsaw", { description = S("Chainsaw"), inventory_image = "technic_chainsaw.png", @@ -329,42 +566,63 @@ minetest.register_tool("technic:chainsaw", { wear_represents = "technic_RE_charge", on_refill = technic.refill_RE_charge, on_use = function(itemstack, user, pointed_thing) - if pointed_thing.type ~= "node" then - return itemstack - end - - local meta = minetest.deserialize(itemstack:get_metadata()) - if not meta or not meta.charge or - meta.charge < chainsaw_charge_per_node then - return + use_chainsaw(itemstack, user, pointed_thing, 1) + return(itemstack) end +}) - local name = user:get_player_name() - if minetest.is_protected(pointed_thing.under, name) then - minetest.record_protection_violation(pointed_thing.under, name) - return +minetest.register_tool("technic:chainsaw_mk2", { + description = S("Chainsaw Mk2"), + inventory_image = "technic_chainsaw_mk2.png", + stack_max = 1, + wear_represents = "technic_RE_charge", + on_refill = technic.refill_RE_charge, + on_use = function(itemstack, user, pointed_thing) + use_chainsaw(itemstack, user, pointed_thing, 2) + return(itemstack) end +}) - -- Send current charge to digging function so that the - -- chainsaw will stop after digging a number of nodes - meta.charge = chainsaw_dig(pointed_thing.under, meta.charge) - if not technic.creative_mode then - technic.set_RE_wear(itemstack, meta.charge, chainsaw_max_charge) - itemstack:set_metadata(minetest.serialize(meta)) +minetest.register_tool("technic:chainsaw_mini", { + description = S("Chainsaw Mini"), + inventory_image = "technic_chainsaw_mini.png", + stack_max = 1, + wear_represents = "technic_RE_charge", + on_refill = technic.refill_RE_charge, + groups = {not_in_creative_inventory = 1}, + on_use = function(itemstack, user, pointed_thing) + use_chainsaw(itemstack, user, pointed_thing, nil) + return(itemstack) end - return itemstack - end, }) - + local mesecons_button = minetest.get_modpath("mesecons_button") local trigger = mesecons_button and "mesecons_button:button_off" or "default:mese_crystal_fragment" minetest.register_craft({ + output = "technic:chainsaw_mini", + recipe = { + {"technic:wrought_iron_ingot", "technic:wrought_iron_ingot", "technic:battery"}, + {"", "technic:motor", trigger}, + {"", "", ""}, + } +}) + +minetest.register_craft({ output = "technic:chainsaw", recipe = { - {"technic:stainless_steel_ingot", trigger, "technic:battery"}, - {"technic:fine_copper_wire", "technic:motor", "technic:battery"}, - {"", "", "technic:stainless_steel_ingot"}, + {"technic:stainless_steel_ingot", trigger, "technic:battery"}, + {"technic:fine_copper_wire", "technic:motor", "technic:battery"}, + {"", "", "technic:stainless_steel_ingot"}, + } +}) + +minetest.register_craft({ + output = "technic:chainsaw_mk2", + recipe = { + {"technic:chainsaw", "technic:stainless_steel_ingot", "technic:stainless_steel_ingot"}, + {"technic:battery", "technic:battery", ""}, + {"technic:battery", "dye:green", ""}, } }) diff --git a/technic/tools/init.lua b/technic/tools/init.lua index 5e0aa02..db5ac7d 100644 --- a/technic/tools/init.lua +++ b/technic/tools/init.lua @@ -16,6 +16,10 @@ dofile(path.."/sonic_screwdriver.lua") dofile(path.."/prospector.lua") dofile(path.."/vacuum.lua") +dofile(path.."/lawn_trimmer.lua") +dofile(path.."/walking_tractor.lua") +dofile(path.."/planter.lua") + if minetest.get_modpath("screwdriver") then -- compatibility alias minetest.register_alias("technic:screwdriver", "screwdriver:screwdriver") diff --git a/technic/tools/lawn_trimmer.lua b/technic/tools/lawn_trimmer.lua new file mode 100644 index 0000000..6ba1427 --- /dev/null +++ b/technic/tools/lawn_trimmer.lua @@ -0,0 +1,176 @@ +--[[ + The Lawn Trimmer, also known as Weed Whacker, is a common gardening power + tool. In minetest, it has several uses. While it removes all members of + 'flora' group and can be used for literally mowing grass or trimming it + around vegetable beds, it's not its most important application. + + 1. The tool can be used when searching for plants that can be cultivated + in the wilderness. Some of them are hard to see through grass; some of + them are hard to tell from the grass; some of them are actually obtained + by removing the grass (e.g. barley seeds). + + 2. Producing organic dye pigments. While growing flowers is a matter of + fertilizing the soil with bone meal, harvesting them by hand is a chore. + + In both scenarios, the tool will be very handy for the player. + It comes with 4 modes of operation, defined by how wide its sweep is: + from 0 (at one's feet) to 3 nodes in radius (square radius, as most + things in minetest are). + + The sound is an edited fragment from + https://www.cutestockfootage.com/sound-effect/9251/grass-trimmer-01 + used in accordance with its licensing terms (free use for any purpose in + an altered form) +]] + +-- Configuration +-- Intended to hold as much as the chainsaw, 10000 units +local lawn_trimmer_max_charge = 10000 +-- With 25 units per object can mow 400 'group:flora' blocks +local lawn_trimmer_charge_per_object = 25 + +local S = technic.getter + +local lawn_trimmer_mode_text = { + S("sweep a single block under the user"), + S("sweep 1 block around the user"), + S("sweep 2 blocks around the user"), + S("sweep 3 blocks around the user") +} + +local node_removed + +-- Mode switcher for the tool +local function lawn_trimmer_setmode(user, itemstack, meta) + local player_name = user:get_player_name() + + if not meta then + meta = {mode = nil} + end + if not meta.mode then + minetest.chat_send_player(player_name, + S("Use while sneaking to change Lawn Trimmer modes.")) + meta.mode = 0 + end + + meta.mode = meta.mode % 4 + 1 + + minetest.chat_send_player(player_name, + S("Lawn Trimmer Mode %d"):format(meta.mode) .. ": " + .. lawn_trimmer_mode_text[meta.mode]) + itemstack:set_name("technic:lawn_trimmer_" .. meta.mode); + itemstack:set_metadata(minetest.serialize(meta)) + return itemstack +end + + +-- Perform the trimming action +local function trim_the_lawn(itemstack, user, pointed_thing) + local meta = minetest.deserialize(itemstack:get_metadata()) + local keys = user:get_player_control() + + if not meta or not meta.mode or keys.sneak then + return lawn_trimmer_setmode(user, itemstack, meta) + end + + meta.charge = meta.charge or 0 + + if meta.charge < lawn_trimmer_charge_per_object then + return -- no charge for even a single node, aborting + end + + local pos + if user.get_pos ~= nil then + pos = user:get_pos() + else + -- we are held in a node breaker + pos = pointed_thing.under + end + + minetest.sound_play("technic_lawn_trimmer", { +-- to_player = user:get_player_name(), + pos = pos, + gain = 0.4, + }) + + + -- Defining the area for the search needs two positions + -- The tool has a limited range in the vertical axis, which is capped at +/- 1 node + local start_pos = { + x = pos.x - meta.mode + 1, + z = pos.z - meta.mode + 1, + y = pos.y - 1 + } + local end_pos = { + x = pos.x + meta.mode - 1, + z = pos.z + meta.mode - 1, + y = pos.y + 1 + } + + -- Since nodes sometimes cannot be removed, we cannot rely on repeating + -- find_node_near() and removing found nodes + local found_flora = minetest.find_nodes_in_area(start_pos, end_pos, {"group:flora"}) + for _, f in ipairs(found_flora) do + node_removed = false + -- Callback will set the flag to true if the node is dug successfully, + -- otherwise skip to the next one. + minetest.node_dig(f, minetest.get_node(f), user) + if node_removed then + meta.charge = meta.charge - lawn_trimmer_charge_per_object + -- Abort if no charge left for another node + if meta.charge < lawn_trimmer_charge_per_object then break end + end + end + + -- The charge won't expire in creative mode, but the tool still + -- has to be charged prior to use + if not technic.creative_mode then + technic.set_RE_wear(itemstack, meta.charge, lawn_trimmer_max_charge) + itemstack:set_metadata(minetest.serialize(meta)) + end + return itemstack +end + +function check_removal() + node_removed = true +end + +-- Register the tool and its varieties in the game +technic.register_power_tool("technic:lawn_trimmer", lawn_trimmer_max_charge) +minetest.register_tool("technic:lawn_trimmer", { + description = S("Lawn Trimmer"), + inventory_image = "technic_lawn_trimmer.png", + stack_max = 1, + wear_represents = "technic_RE_charge", + on_refill = technic.refill_RE_charge, + on_use = trim_the_lawn, + after_use = check_removal +}) + +for i = 1, 4 do + technic.register_power_tool("technic:lawn_trimmer_" .. i, lawn_trimmer_max_charge) + minetest.register_tool("technic:lawn_trimmer_" .. i, { + description = S("Lawn Trimmer Mode %d"):format(i), + inventory_image = "technic_lawn_trimmer.png^technic_tool_mode" .. i .. ".png", + wield_image = "technic_lawn_trimmer.png", + wear_represents = "technic_RE_charge", + on_refill = technic.refill_RE_charge, + groups = {not_in_creative_inventory = 1}, + on_use = trim_the_lawn, + after_use = check_removal + }) +end + + +-- Provide a crafting recipe +local trigger = minetest.get_modpath("mesecons_button") and "mesecons_button:button_off" + or "default:mese_crystal_fragment" + +minetest.register_craft({ + output = 'technic:lawn_trimmer', + recipe = { + {'', 'default:stick', trigger}, + {'technic:motor', 'default:stick', 'technic:battery'}, + {'technic:stainless_steel_ingot', '', ''}, + } +}) diff --git a/technic/tools/planter.lua b/technic/tools/planter.lua new file mode 100644 index 0000000..1aefa7c --- /dev/null +++ b/technic/tools/planter.lua @@ -0,0 +1,265 @@ +--[[ + Planter: a tool for placing rows of objects (primarily, farming plants) + Has 6 mods, corresponding to the width of the row (2...7 blocks). 1 block can be + always planted by hand. +]] + +-- Configuration +-- Intended to hold as much as the chainsaw, 20000 units +local planter_max_charge = 20000 +-- Cost of planting action +local planter_charge_per_object = 25 + + +local S = technic.getter + +local planter_mode_text = { + S("2 blocks wide planting"), + S("3 blocks wide planting"), + S("4 blocks wide planting"), + S("5 blocks wide planting"), + S("6 blocks wide planting"), + S("7 blocks wide planting"), +} + + +-- Mode switcher for the tool +local function planter_setmode(user, itemstack, meta) + local player_name = user:get_player_name() + + if not meta then + meta = { + mode = nil + } + end + if not meta.mode then + minetest.chat_send_player(player_name, + S("Use while sneaking to change Planter modes.")) + meta.mode = 0 + end + + meta.mode = meta.mode % 6 + 1 + + minetest.chat_send_player(player_name, + S("Planter Mode %d"):format(meta.mode) .. ": " + .. planter_mode_text[meta.mode]) + itemstack:set_name("technic:planter_" .. meta.mode); + itemstack:set_metadata(minetest.serialize(meta)) + return itemstack +end + + +-- Perform the trimming action +local function work_on_soil(itemstack, user, pointed_thing) + + local meta = minetest.deserialize(itemstack:get_metadata()) + local keys = user:get_player_control() + + if not meta or not meta.mode or keys.sneak then + return planter_setmode(user, itemstack, meta) + end + + meta.charge = meta.charge or 0 + + local offset = meta.mode + local offet_l = 0 + local offet_r = 0 + if offset % 2 > 0 then + offset_r = math.floor(offset/2) + 1 + offset_l = math.floor(offset/2) + else + offset_r = offset / 2 + offset_l = offset / 2 + end + + + if meta.charge < planter_charge_per_object * (offset+1) then + return -- no charge for a complete row + end + + if pointed_thing.type ~= "node" then + return itemstack + end + + local name = user:get_player_name() + if minetest.is_protected(pointed_thing.under, name) then + minetest.record_protection_violation(pointed_thing.under, name) + return + end + + local player_name = user:get_player_name() + local inv = user:get_inventory() + + if not inv:contains_item("main", ItemStack({name=meta.selected, count = offset + 1})) then + minetest.chat_send_player(player_name, S("Not enough " .. meta.selected .. " to continue!")) + return itemstack + end + + minetest.sound_play("technic_walking_tractor", { +-- to_player = user:get_player_name(), + pos = user:get_pos(), + gain = 0.5, + }) + + local c = 0 + + local ldir = 0 + local udir = user:get_look_dir() + if math.abs(udir.x) > math.abs(udir.z) then + if udir.x > 0 then + ldir = 0 -- +X + else + ldir = 1 -- -X + end + else + if udir.z > 0 then + ldir = 2 -- +Z + else + ldir = 3 -- -Z + end + end + + if ldir == 1 or ldir == 2 then + offset_r, offset_l = offset_l, offset_r + end + + local work_pos = {} + for delta = -offset_l,offset_r,1 do + + if ldir > 1 then + -- along z axis value (x changes) + work_pos = { + type = "node", + under = {x = pointed_thing.under.x + delta, y = pointed_thing.under.y, z = pointed_thing.under.z}, + above = {x = pointed_thing.under.x + delta, y = pointed_thing.under.y + 1, z = pointed_thing.under.z}, + ref = nil + } + else + -- along x axis value (z changes) + work_pos = { + type = "node", + under = {x = pointed_thing.under.x, y = pointed_thing.under.y, z = pointed_thing.under.z + delta}, + above = {x = pointed_thing.under.x, y = pointed_thing.under.y + 1, z = pointed_thing.under.z + delta}, + ref = nil + } + end + + + local k = (minetest.registered_items[meta.selected] or {on_place=minetest.item_place}).on_place(ItemStack({name=meta.selected, count=1}), user, work_pos) + if k then + c = c + 1 + end + + end + + + meta.charge = meta.charge - planter_charge_per_object * c + + -- The charge won't expire in creative mode, but the tool still + -- has to be charged prior to use + if not technic.creative_mode then + inv:remove_item("main", ItemStack({name=meta.selected, count = c})) + technic.set_RE_wear(itemstack, meta.charge, planter_max_charge) + itemstack:set_metadata(minetest.serialize(meta)) + end + return itemstack +end + +local function select_plant(itemstack, user, pointed_thing) + if not user or not user:is_player() or user.is_fake_player then return end + local meta = minetest.deserialize(itemstack:get_metadata()) + + if not meta or not meta.selected then + meta = {} + meta.selected = "farming:seed_wheat" + itemstack:set_metadata(minetest.serialize(meta)) + end + + minetest.show_formspec(user:get_player_name(), "technic:planter_control", + "size[8,5]".. + default.gui_bg .. + default.gui_bg_img .. + default.gui_slots .. + "label[0,0;Crops selected:\n(Press to change)]".. + "item_image_button[2,0;1,1;" .. meta.selected .. ";change;]" .. + "button_exit[3,0;1,1;quit;Cancel]".. + "label[5,0; \nChange to:]".. + "list[current_player;main;7,0;1,1;31]" .. + "list[current_player;main;0,1;8,1;]" .. + "list[current_player;main;0,2;8,3;8]" .. + default.get_hotbar_bg(0,1)) + return +end + + +minetest.register_on_player_receive_fields(function(user, formname, fields) + + if formname ~= "technic:planter_control" then return false end + if not user or not user:is_player() or user.is_fake_player then return end + local itemstack = user:get_wielded_item() + if not string.find(itemstack:get_name(), "^technic:planter") then return true end + + if fields.quit then + return true + end + + local meta = minetest.deserialize(itemstack:get_metadata()) + if not meta then + meta = {} + end + + if fields.change then + local inv = user:get_inventory() + local item = inv:get_stack("main", 32) -- using the last cell + local n = item:get_name() + if n and n ~= "" then + meta.selected = n + end + end + + itemstack:set_metadata(minetest.serialize(meta)) + user:set_wielded_item(itemstack) + select_plant(itemstack, user, nil) + return true +end) + + +-- Register the tool and its varieties in the game +technic.register_power_tool("technic:planter", planter_max_charge) +minetest.register_tool("technic:planter", { + description = S("Planter"), + inventory_image = "technic_planter.png", + stack_max = 1, + wear_represents = "technic_RE_charge", + on_refill = technic.refill_RE_charge, + on_use = work_on_soil, + on_place = select_plant, +}) + +for i = 1, 6 do + technic.register_power_tool("technic:planter_" .. i, planter_max_charge) + minetest.register_tool("technic:planter_" .. i, { + description = S("Planter Mode %d"):format(i), + inventory_image = "technic_planter.png^technic_tool_mode" .. i .. ".png", + wield_image = "technic_planter.png", + wear_represents = "technic_RE_charge", + on_refill = technic.refill_RE_charge, + groups = {not_in_creative_inventory = 1}, + on_use = work_on_soil, + on_place = select_plant, + }) +end + + +-- Provide a crafting recipe +local trigger = minetest.get_modpath("mesecons_button") and "mesecons_button:button_off" + or "default:mese_crystal_fragment" + +minetest.register_craft({ + output = 'technic:planter', + recipe = { + {'dye:red', 'technic:battery', trigger}, + {'technic:motor', 'technic:battery', 'default:stick'}, + {'default:chest', 'technic:stainless_steel_ingot', 'technic:rubber'}, + } +}) diff --git a/technic/tools/prospector.lua b/technic/tools/prospector.lua index b28f1d8..6373e98 100644 --- a/technic/tools/prospector.lua +++ b/technic/tools/prospector.lua @@ -1,6 +1,6 @@ local S = technic.getter -technic.register_power_tool("technic:prospector", 300000) +technic.register_power_tool("technic:prospector", 650000) local function get_metadata(toolstack) local m = minetest.deserialize(toolstack:get_metadata()) diff --git a/technic/tools/sonic_screwdriver.lua b/technic/tools/sonic_screwdriver.lua index 300d363..366ddaa 100644 --- a/technic/tools/sonic_screwdriver.lua +++ b/technic/tools/sonic_screwdriver.lua @@ -1,4 +1,5 @@ local sonic_screwdriver_max_charge = 15000 +local sonic_screwdriver_rotation_cost = 10 local S = technic.getter @@ -64,7 +65,7 @@ local function screwdriver_handler(itemstack, user, pointed_thing, mode) minetest.swap_node(pos, node) if not technic.creative_mode then - meta1.charge = meta1.charge - 100 + meta1.charge = meta1.charge - sonic_screwdriver_rotation_cost itemstack:set_metadata(minetest.serialize(meta1)) technic.set_RE_wear(itemstack, meta1.charge, sonic_screwdriver_max_charge) end diff --git a/technic/tools/walking_tractor.lua b/technic/tools/walking_tractor.lua new file mode 100644 index 0000000..83e464c --- /dev/null +++ b/technic/tools/walking_tractor.lua @@ -0,0 +1,263 @@ +--[[ + Walking tractor: a dedicated farming tool, a miracle of small mechanization. + Replaces hoes and harvests useful plants (fully-grown cultivars, mostly from farming) + Has a variable swipe from 3 to 7 nodes, in either case - in a line, perpendicular + to the user's direction of sight. For smaller areas there are always hoes. + Modes 1-3 are for tilling + Modes 4-6 are for harvesting +]] + +-- Configuration +-- Intended to hold as much as the chainsaw, 10000 units +local walking_tractor_max_charge = 20000 +-- Can remove a curious number of objects +local walking_tractor_charge_per_object = 30 +-- For tilling: cost is less but spent regardless of actual success +local walking_tractor_charge_per_tilled_node = 25 + +local S = technic.getter + +local walking_tractor_mode_text = { + S("3 blocks wide tilling"), + S("5 blocks wide tilling"), + S("7 blocks wide tilling"), + S("3 blocks wide harvesting"), + S("5 blocks wide harvesting"), + S("7 blocks wide harvesting"), +} + +local ripe_for_harvest = { + "farming:barley_7", + "farming:beanpole_5", + "farming:blueberry_4", + "farming:carrot_8", + "farming:chili_8", + "farming:cocoa_4", + "farming:coffee_5", + "farming:corn_8", + "farming:cotton_8", + "farming:cucumber_4", + "farming:garlic_5", + "farming:grapes_8", + "farming:hemp_8", + "farming:melon_8", + "farming:onion_5", + "farming:pea_5", + "farming:pepper_5", + "farming:pineapple_8", + "farming:potato_4", + "farming:pumpkin_8", + "farming:raspberry_4", + "farming:rhubarb_3", + "farming:tomato_8", + "farming:wheat_8", + "ethereal:onion_5", + "ethereal:strawberry_8", + -- also doubles as a snow-plough + "default:snowblock", + "stairs:slab_snowblock", +} + +local compatible_soils = { + "group:soil", + "default:dirt_with_snow", + "ethereal:dry_dirt" +} + +local node_removed + +-- Mode switcher for the tool +local function walking_tractor_setmode(user, itemstack, meta) + local player_name = user:get_player_name() + + if not meta then + meta = {mode = nil} + end + if not meta.mode then + minetest.chat_send_player(player_name, + S("Use while sneaking to change Walking Tractor modes.")) + meta.mode = 0 + end + + meta.mode = meta.mode % 6 + 1 + + minetest.chat_send_player(player_name, + S("Walking Tractor Mode %d"):format(meta.mode) .. ": " + .. walking_tractor_mode_text[meta.mode]) + itemstack:set_name("technic:walking_tractor_" .. meta.mode); + itemstack:set_metadata(minetest.serialize(meta)) + return itemstack +end + + +-- Perform the trimming action +local function work_on_soil(itemstack, user, pointed_thing) + local meta = minetest.deserialize(itemstack:get_metadata()) + local keys = user:get_player_control() + + if not meta or not meta.mode or keys.sneak then + return walking_tractor_setmode(user, itemstack, meta) + end + + meta.charge = meta.charge or 0 + + if meta.charge < walking_tractor_charge_per_object then + return -- no charge for even a single node, aborting + end + + if pointed_thing.type ~= "node" then + return itemstack + end + + local name = user:get_player_name() + if minetest.is_protected(pointed_thing.under, name) then + minetest.record_protection_violation(pointed_thing.under, name) + return + end + + minetest.sound_play("technic_walking_tractor", { +-- to_player = user:get_player_name(), + pos = user:get_pos(), + gain = 0.5, + }) + + local start_pos = {} + local end_pos = {} + + local ldir = 0 + local udir = user:get_look_dir() + if math.abs(udir.x) > math.abs(udir.z) then + if udir.x > 0 then + ldir = 0 -- +X + else + ldir = 1 -- -X + end + else + if udir.z > 0 then + ldir = 2 -- +Z + else + ldir = 3 -- -Z + end + end + + local offset = meta.mode + if offset > 3 then + offset = offset - 3 + end + offset = offset + 0.1 + + if ldir > 1 then + + start_pos = { + x = pointed_thing.under.x - offset, + z = pointed_thing.under.z, + y = pointed_thing.under.y - 0.1 + } + end_pos = { + x = pointed_thing.under.x + offset, + z = pointed_thing.under.z, + y = pointed_thing.under.y + 1.1 + } + + else + start_pos = { + x = pointed_thing.under.x, + z = pointed_thing.under.z - offset, + y = pointed_thing.under.y - 0.1 + } + end_pos = { + x = pointed_thing.under.x, + z = pointed_thing.under.z + offset, + y = pointed_thing.under.y + 1.1 + } + + end + + + + if meta.mode <= 3 then + -- tilling + local found_obj = minetest.find_nodes_in_area(start_pos, end_pos, compatible_soils) + for _, f in ipairs(found_obj) do + -- unfortunately, there is no callback to track the node change without + -- digging it first + if not minetest.is_protected(f, name) then + minetest.remove_node(f) + minetest.set_node(f, {name = "farming:soil"}) + meta.charge = meta.charge - walking_tractor_charge_per_tilled_node + end + -- Abort if no charge left for another node + if meta.charge < walking_tractor_charge_per_tilled_node then break end + end + + else + -- harvesting + -- Since nodes sometimes cannot be removed, we cannot rely on repeating + -- find_node_near() and removing found nodes + local found_obj = minetest.find_nodes_in_area(start_pos, end_pos, ripe_for_harvest) + for _, f in ipairs(found_obj) do + node_removed = false + -- Callback will set the flag to true if the node is dug successfully, + -- otherwise skip to the next one. + minetest.node_dig(f, minetest.get_node(f), user) + if node_removed then + meta.charge = meta.charge - walking_tractor_charge_per_object + -- Abort if no charge left for another node + if meta.charge < walking_tractor_charge_per_object then break end + end + end + + end + + -- The charge won't expire in creative mode, but the tool still + -- has to be charged prior to use + if not technic.creative_mode then + technic.set_RE_wear(itemstack, meta.charge, walking_tractor_max_charge) + itemstack:set_metadata(minetest.serialize(meta)) + end + return itemstack +end + +function check_removal() + node_removed = true +end + +-- Register the tool and its varieties in the game +technic.register_power_tool("technic:walking_tractor", walking_tractor_max_charge) +minetest.register_tool("technic:walking_tractor", { + description = S("Walking Tractor"), + inventory_image = "technic_walking_tractor.png", + stack_max = 1, + wear_represents = "technic_RE_charge", + on_refill = technic.refill_RE_charge, + on_use = work_on_soil, + after_use = check_removal +}) + +for i = 1, 6 do + technic.register_power_tool("technic:walking_tractor_" .. i, walking_tractor_max_charge) + minetest.register_tool("technic:walking_tractor_" .. i, { + description = S("Walking Tractor Mode %d"):format(i), + inventory_image = "technic_walking_tractor.png^technic_tool_mode" .. i .. ".png", + wield_image = "technic_walking_tractor.png", + wear_represents = "technic_RE_charge", + on_refill = technic.refill_RE_charge, + groups = {not_in_creative_inventory = 1}, + on_use = work_on_soil, + after_use = check_removal + }) +end + + +-- Provide a crafting recipe +local trigger = minetest.get_modpath("mesecons_button") and "mesecons_button:button_off" + or "default:mese_crystal_fragment" + +minetest.register_craft({ + output = 'technic:walking_tractor', + recipe = { + {'dye:green', 'technic:battery', trigger}, + {'technic:motor', 'technic:battery', 'default:stick'}, + {'technic:diamond_drill_head', 'technic:stainless_steel_ingot', 'technic:rubber'}, + } +}) |