added obsidianmese boat - only for lava lakes
parent
d42676453d
commit
6665bad95c
22
README.md
22
README.md
|
@ -1 +1,21 @@
|
|||
This MOD for Minetest adds obsidian and mese tools and items.
|
||||
# [Mod] Obsidian-Mese [obsidianmese]
|
||||
|
||||
This MOD for Minetest adds more use for Mese and Obsidian. Add more variety of tools and blocks.
|
||||
|
||||
## Boat
|
||||
|
||||
* Originally by PilzAdam (MIT)
|
||||
* Various Minetest developers and contributors (MIT)
|
||||
* SaKeL (2018)
|
||||
|
||||
### Textures
|
||||
|
||||
* SaKeL (CC BY-SA 3.0)
|
||||
|
||||
### Mesh model
|
||||
|
||||
Boat mesh (`models/mcl_boats_boat.b3d`) created by 22i.
|
||||
Source: https://github.com/22i/minecraft-voxel-blender-models
|
||||
|
||||
License of boat model:
|
||||
GNU GPLv3 <https://www.gnu.org/licenses/gpl-3.0.html>
|
||||
|
|
|
@ -0,0 +1,286 @@
|
|||
--
|
||||
-- Helper functions
|
||||
--
|
||||
|
||||
local function is_lava(pos)
|
||||
local nn = minetest.get_node(pos).name
|
||||
return minetest.get_item_group(nn, "lava") ~= 0
|
||||
end
|
||||
|
||||
|
||||
local function get_sign(i)
|
||||
if i == 0 then
|
||||
return 0
|
||||
else
|
||||
return i / math.abs(i)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
local function get_velocity(v, yaw, y)
|
||||
local x = -math.sin(yaw) * v
|
||||
local z = math.cos(yaw) * v
|
||||
return {x = x, y = y, z = z}
|
||||
end
|
||||
|
||||
|
||||
local function get_v(v)
|
||||
return math.sqrt(v.x ^ 2 + v.z ^ 2)
|
||||
end
|
||||
|
||||
local boat_visual_size = {x = 3, y = 3}
|
||||
local driver_visual_size = {
|
||||
x = 1 / boat_visual_size.x,
|
||||
y = 1 / boat_visual_size.y
|
||||
}
|
||||
local boat_y_offset = 0.35
|
||||
|
||||
--
|
||||
-- Boat entity
|
||||
--
|
||||
|
||||
local boat = {
|
||||
physical = true,
|
||||
-- Warning: Do not change the position of the collisionbox top surface,
|
||||
-- lowering it causes the boat to fall through the world if underwater
|
||||
collisionbox = {-0.5, -0.01, -0.5, 0.5, 0.6, 0.5},
|
||||
visual = "mesh",
|
||||
mesh = "obsidianmese_boat.obj",
|
||||
textures = {"obsidianmese_boat.png"},
|
||||
visual_size = boat_visual_size,
|
||||
|
||||
driver = nil,
|
||||
v = 0,
|
||||
last_v = 0,
|
||||
removed = false
|
||||
}
|
||||
|
||||
|
||||
function boat.on_rightclick(self, clicker)
|
||||
if not clicker or not clicker:is_player() then
|
||||
return
|
||||
end
|
||||
local name = clicker:get_player_name()
|
||||
if self.driver and clicker == self.driver then
|
||||
self.driver = nil
|
||||
clicker:set_detach()
|
||||
clicker:set_properties({visual_size = {x=1, y=1}})
|
||||
default.player_attached[name] = false
|
||||
default.player_set_animation(clicker, "stand" , 30)
|
||||
local pos = clicker:getpos()
|
||||
pos = {x = pos.x, y = pos.y + 0.2, z = pos.z}
|
||||
minetest.after(0.1, function()
|
||||
clicker:setpos(pos)
|
||||
end)
|
||||
elseif not self.driver then
|
||||
local attach = clicker:get_attach()
|
||||
if attach and attach:get_luaentity() then
|
||||
local luaentity = attach:get_luaentity()
|
||||
if luaentity.driver then
|
||||
luaentity.driver = nil
|
||||
end
|
||||
clicker:set_detach()
|
||||
clicker:set_properties({visual_size = {x=1, y=1}})
|
||||
end
|
||||
self.driver = clicker
|
||||
clicker:set_attach(self.object, "",
|
||||
{x = 0, y = 3.75, z = -1}, {x = 0, y = 0, z = 0})
|
||||
clicker:set_properties({ visual_size = driver_visual_size })
|
||||
default.player_attached[name] = true
|
||||
minetest.after(0.2, function()
|
||||
default.player_set_animation(clicker, "sit" , 30)
|
||||
end)
|
||||
clicker:set_look_horizontal(self.object:getyaw())
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
function boat.on_activate(self, staticdata, dtime_s)
|
||||
self.object:set_armor_groups({immortal = 1})
|
||||
if staticdata then
|
||||
self.v = tonumber(staticdata)
|
||||
end
|
||||
self.last_v = self.v
|
||||
end
|
||||
|
||||
|
||||
function boat.get_staticdata(self)
|
||||
return tostring(self.v)
|
||||
end
|
||||
|
||||
|
||||
function boat.on_punch(self, puncher)
|
||||
if not puncher or not puncher:is_player() or self.removed then
|
||||
return
|
||||
end
|
||||
if self.driver and puncher == self.driver then
|
||||
self.driver = nil
|
||||
puncher:set_detach()
|
||||
puncher:set_properties({visual_size = {x=1, y=1}})
|
||||
default.player_attached[puncher:get_player_name()] = false
|
||||
end
|
||||
if not self.driver then
|
||||
self.removed = true
|
||||
local inv = puncher:get_inventory()
|
||||
if not (creative and creative.is_enabled_for
|
||||
and creative.is_enabled_for(puncher:get_player_name()))
|
||||
or not inv:contains_item("main", "obsidianmese:boat") then
|
||||
local leftover = inv:add_item("main", "obsidianmese:boat")
|
||||
-- if no room in inventory add a replacement boat to the world
|
||||
if not leftover:is_empty() then
|
||||
minetest.add_item(self.object:getpos(), leftover)
|
||||
end
|
||||
end
|
||||
-- delay remove to ensure player is detached
|
||||
minetest.after(0.1, function()
|
||||
self.object:remove()
|
||||
end)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
function boat.on_step(self, dtime)
|
||||
self.v = get_v(self.object:getvelocity()) * get_sign(self.v)
|
||||
if self.driver then
|
||||
local ctrl = self.driver:get_player_control()
|
||||
local yaw = self.object:getyaw()
|
||||
if ctrl.up then
|
||||
self.v = self.v + 0.1
|
||||
elseif ctrl.down then
|
||||
self.v = self.v - 0.1
|
||||
end
|
||||
if ctrl.left then
|
||||
if self.v < 0 then
|
||||
self.object:setyaw(yaw - (1 + dtime) * 0.03)
|
||||
else
|
||||
self.object:setyaw(yaw + (1 + dtime) * 0.03)
|
||||
end
|
||||
elseif ctrl.right then
|
||||
if self.v < 0 then
|
||||
self.object:setyaw(yaw + (1 + dtime) * 0.03)
|
||||
else
|
||||
self.object:setyaw(yaw - (1 + dtime) * 0.03)
|
||||
end
|
||||
end
|
||||
end
|
||||
local velo = self.object:getvelocity()
|
||||
if self.v == 0 and velo.x == 0 and velo.y == 0 and velo.z == 0 then
|
||||
self.object:setpos(self.object:getpos())
|
||||
return
|
||||
end
|
||||
local s = get_sign(self.v)
|
||||
self.v = self.v - 0.02 * s
|
||||
if s ~= get_sign(self.v) then
|
||||
self.object:setvelocity({x = 0, y = 0, z = 0})
|
||||
self.v = 0
|
||||
return
|
||||
end
|
||||
if math.abs(self.v) > 5 then
|
||||
self.v = 5 * get_sign(self.v)
|
||||
end
|
||||
|
||||
local p = self.object:getpos()
|
||||
p.y = p.y - boat_y_offset
|
||||
local new_velo
|
||||
local new_acce = {x = 0, y = 0, z = 0}
|
||||
if not is_lava(p) then
|
||||
local nodedef = minetest.registered_nodes[minetest.get_node(p).name]
|
||||
if (not nodedef) or nodedef.walkable then
|
||||
self.v = 0
|
||||
new_acce = {x = 0, y = 1, z = 0}
|
||||
else
|
||||
new_acce = {x = 0, y = -9.8, z = 0}
|
||||
end
|
||||
new_velo = get_velocity(self.v, self.object:getyaw(),
|
||||
self.object:getvelocity().y)
|
||||
self.object:setpos(self.object:getpos())
|
||||
else
|
||||
p.y = p.y + 1
|
||||
if is_lava(p) then
|
||||
local y = self.object:getvelocity().y
|
||||
if y >= 5 then
|
||||
y = 5
|
||||
elseif y < 0 then
|
||||
new_acce = {x = 0, y = 20, z = 0}
|
||||
else
|
||||
new_acce = {x = 0, y = 5, z = 0}
|
||||
end
|
||||
new_velo = get_velocity(self.v, self.object:getyaw(), y)
|
||||
self.object:setpos(self.object:getpos())
|
||||
else
|
||||
new_acce = {x = 0, y = 0, z = 0}
|
||||
if math.abs(self.object:getvelocity().y) < 1 then
|
||||
local pos = self.object:getpos()
|
||||
pos.y = math.floor(pos.y) + boat_y_offset
|
||||
self.object:setpos(pos)
|
||||
new_velo = get_velocity(self.v, self.object:getyaw(), 0)
|
||||
else
|
||||
new_velo = get_velocity(self.v, self.object:getyaw(),
|
||||
self.object:getvelocity().y)
|
||||
self.object:setpos(self.object:getpos())
|
||||
end
|
||||
end
|
||||
end
|
||||
self.object:setvelocity(new_velo)
|
||||
self.object:setacceleration(new_acce)
|
||||
end
|
||||
|
||||
|
||||
minetest.register_entity("obsidianmese:boat", boat)
|
||||
|
||||
|
||||
minetest.register_craftitem("obsidianmese:boat", {
|
||||
description = "ObsidianMese Boat",
|
||||
inventory_image = "obsidianmese_boat_inventory.png",
|
||||
wield_image = "obsidianmese_boat_inventory.png",
|
||||
wield_scale = {x = 2, y = 2, z = 1},
|
||||
liquids_pointable = true,
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
local under = pointed_thing.under
|
||||
local node = minetest.get_node(under)
|
||||
local udef = minetest.registered_nodes[node.name]
|
||||
if udef and udef.on_rightclick and
|
||||
not (placer and placer:is_player() and
|
||||
placer:get_player_control().sneak) then
|
||||
return udef.on_rightclick(under, node, placer, itemstack,
|
||||
pointed_thing) or itemstack
|
||||
end
|
||||
|
||||
if pointed_thing.type ~= "node" then
|
||||
return itemstack
|
||||
end
|
||||
if not is_lava(pointed_thing.under) then
|
||||
return itemstack
|
||||
end
|
||||
pointed_thing.under.y = pointed_thing.under.y + boat_y_offset
|
||||
boat = minetest.add_entity(pointed_thing.under, "obsidianmese:boat")
|
||||
if boat then
|
||||
if placer then
|
||||
boat:setyaw(placer:get_look_horizontal())
|
||||
end
|
||||
local player_name = placer and placer:get_player_name() or ""
|
||||
if not (creative and creative.is_enabled_for and
|
||||
creative.is_enabled_for(player_name)) then
|
||||
itemstack:take_item()
|
||||
end
|
||||
end
|
||||
return itemstack
|
||||
end,
|
||||
})
|
||||
|
||||
|
||||
-- minetest.register_craft({
|
||||
-- output = "obsidianmese:boat",
|
||||
-- recipe = {
|
||||
-- {"", "", "" },
|
||||
-- {"group:wood", "", "group:wood"},
|
||||
-- {"group:wood", "group:wood", "group:wood"},
|
||||
-- },
|
||||
-- })
|
||||
|
||||
-- minetest.register_craft({
|
||||
-- type = "fuel",
|
||||
-- recipe = "obsidianmese:boat",
|
||||
-- burntime = 20,
|
||||
-- })
|
1
init.lua
1
init.lua
|
@ -6,6 +6,7 @@ dofile(minetest.get_modpath("obsidianmese").."/api.lua")
|
|||
dofile(minetest.get_modpath("obsidianmese").."/tools.lua")
|
||||
dofile(minetest.get_modpath("obsidianmese").."/nodes.lua")
|
||||
dofile(minetest.get_modpath("obsidianmese").."/obsidianmese_chest.lua")
|
||||
dofile(minetest.get_modpath("obsidianmese").."/boat.lua")
|
||||
dofile(minetest.get_modpath("obsidianmese").."/crafting.lua")
|
||||
|
||||
obsidianmese.register_capitator()
|
||||
|
|
68
license.txt
68
license.txt
|
@ -1,13 +1,63 @@
|
|||
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
||||
Version 2, December 2004
|
||||
License of source code
|
||||
----------------------
|
||||
|
||||
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
|
||||
The MIT License (MIT)
|
||||
Copyright (C) 2012-2016 PilzAdam
|
||||
Copyright (C) 2012-2016 Various Minetest developers and contributors
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim or modified
|
||||
copies of this license document, and changing it is allowed as long
|
||||
as the name is changed.
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this
|
||||
software and associated documentation files (the "Software"), to deal in the Software
|
||||
without restriction, including without limitation the rights to use, copy, modify, merge,
|
||||
publish, distribute, sublicense, and/or sell copies of the Software, and to permit
|
||||
persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
The above copyright notice and this permission notice shall be included in all copies or
|
||||
substantial portions of the Software.
|
||||
|
||||
0. You just DO WHAT THE FUCK YOU WANT TO.
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
||||
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
||||
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
|
||||
FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
DEALINGS IN THE SOFTWARE.
|
||||
|
||||
For more details:
|
||||
https://opensource.org/licenses/MIT
|
||||
|
||||
|
||||
Licenses of media (textures and model)
|
||||
--------------------------------------
|
||||
|
||||
Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)
|
||||
Copyright (C) 2012-2016 Zeg9
|
||||
Copyright (C) 2012-2016 thetoon
|
||||
Copyright (C) 2012-2016 PavelS(SokolovPavel)
|
||||
Copyright (C) 2016 sofar (sofar@foo-projects.org)
|
||||
|
||||
You are free to:
|
||||
Share — copy and redistribute the material in any medium or format.
|
||||
Adapt — remix, transform, and build upon the material for any purpose, even commercially.
|
||||
The licensor cannot revoke these freedoms as long as you follow the license terms.
|
||||
|
||||
Under the following terms:
|
||||
|
||||
Attribution — You must give appropriate credit, provide a link to the license, and
|
||||
indicate if changes were made. You may do so in any reasonable manner, but not in any way
|
||||
that suggests the licensor endorses you or your use.
|
||||
|
||||
ShareAlike — If you remix, transform, or build upon the material, you must distribute
|
||||
your contributions under the same license as the original.
|
||||
|
||||
No additional restrictions — You may not apply legal terms or technological measures that
|
||||
legally restrict others from doing anything the license permits.
|
||||
|
||||
Notices:
|
||||
|
||||
You do not have to comply with the license for elements of the material in the public
|
||||
domain or where your use is permitted by an applicable exception or limitation.
|
||||
No warranties are given. The license may not give you all of the permissions necessary
|
||||
for your intended use. For example, other rights such as publicity, privacy, or moral
|
||||
rights may limit how you use the material.
|
||||
|
||||
For more details:
|
||||
http://creativecommons.org/licenses/by-sa/3.0/
|
||||
|
|
|
@ -0,0 +1,400 @@
|
|||
# Blender v2.79 (sub 0) OBJ File: 'boat.obj.blend'
|
||||
# www.blender.org
|
||||
mtllib boats_boat.mtl
|
||||
o Cube.001
|
||||
v 1.799999 0.582797 2.797272
|
||||
v 1.799999 1.782797 2.797272
|
||||
v 1.799999 1.782797 3.197272
|
||||
v 1.799999 0.582797 3.197272
|
||||
v -1.800001 1.782797 3.197270
|
||||
v -1.800001 0.582797 3.197270
|
||||
v -1.800001 1.782797 2.797270
|
||||
v -1.800001 0.582797 2.797271
|
||||
v -0.766034 2.408931 0.223191
|
||||
v -0.939240 2.755342 0.323191
|
||||
v -3.639240 0.955341 1.882035
|
||||
v -3.466035 0.608931 1.782035
|
||||
v -3.839240 0.955341 1.535625
|
||||
v -3.666035 0.608931 1.435625
|
||||
v -1.139240 2.755342 -0.023219
|
||||
v -0.966034 2.408931 -0.123219
|
||||
v 3.480489 0.591197 1.782555
|
||||
v 3.653695 0.937607 1.882555
|
||||
v 0.953695 2.737608 0.323709
|
||||
v 0.780490 2.391198 0.223709
|
||||
v 1.153696 2.737608 -0.022701
|
||||
v 0.980491 2.391198 -0.122702
|
||||
v 3.853695 0.937607 1.536145
|
||||
v 3.680490 0.591197 1.436145
|
||||
v -3.340612 1.756106 1.244961
|
||||
v -2.820996 0.716876 0.944960
|
||||
v -3.870996 0.016875 1.551177
|
||||
v -4.390612 1.056105 1.851178
|
||||
v -3.770997 0.016875 1.724382
|
||||
v -4.290612 1.056105 2.024383
|
||||
v -2.720996 0.716876 1.118165
|
||||
v -3.240612 1.756106 1.418166
|
||||
v 2.833230 0.697151 0.946050
|
||||
v 3.352845 1.736382 1.246050
|
||||
v 4.402844 1.036381 1.852268
|
||||
v 3.883229 -0.002849 1.552268
|
||||
v 4.302845 1.036381 2.025473
|
||||
v 3.783229 -0.002849 1.725473
|
||||
v 3.252845 1.736382 1.419255
|
||||
v 2.733229 0.697152 1.119255
|
||||
v 1.981681 0.577115 2.799682
|
||||
v 1.981681 1.777115 2.799682
|
||||
v 1.581681 1.777115 2.799682
|
||||
v 1.581681 0.577115 2.799682
|
||||
v 1.581683 1.777115 -2.800318
|
||||
v 1.581683 0.577115 -2.800318
|
||||
v 1.981683 1.777115 -2.800318
|
||||
v 1.981683 0.577115 -2.800318
|
||||
v -1.595103 0.579000 2.803530
|
||||
v -1.595103 1.779000 2.803530
|
||||
v -1.995103 1.778999 2.803530
|
||||
v -1.995103 0.579000 2.803530
|
||||
v -1.995101 1.779000 -2.796470
|
||||
v -1.995101 0.579000 -2.796470
|
||||
v -1.595101 1.779000 -2.796469
|
||||
v -1.595101 0.579000 -2.796469
|
||||
v 1.800001 0.582797 -3.195406
|
||||
v 1.800001 1.782797 -3.195406
|
||||
v 1.800001 1.782797 -2.795406
|
||||
v 1.800001 0.582797 -2.795406
|
||||
v -1.799999 1.782797 -2.795407
|
||||
v -1.799999 0.582797 -2.795407
|
||||
v -1.799999 1.782797 -3.195407
|
||||
v -1.799999 0.582797 -3.195407
|
||||
v 1.600001 0.001312 -2.799999
|
||||
v -1.599999 0.001312 -2.800000
|
||||
v -1.599999 0.601312 -2.800000
|
||||
v 1.600001 0.601312 -2.799999
|
||||
v -1.600001 0.601309 2.799999
|
||||
v 1.599999 0.601309 2.800001
|
||||
v -1.600001 0.001309 2.799999
|
||||
v 1.599999 0.001309 2.800000
|
||||
vt 0.015625 0.578125
|
||||
vt 0.015625 0.671875
|
||||
vt -0.000000 0.671875
|
||||
vt -0.000000 0.578125
|
||||
vt 0.281109 0.452559
|
||||
vt 0.281109 0.546309
|
||||
vt 0.149010 0.546309
|
||||
vt 0.149010 0.452559
|
||||
vt 0.171875 0.578125
|
||||
vt 0.171875 0.671875
|
||||
vt 0.156250 0.671875
|
||||
vt 0.156250 0.578125
|
||||
vt 0.156250 0.671875
|
||||
vt 0.296875 0.671875
|
||||
vt 0.296875 0.703125
|
||||
vt 0.156250 0.703125
|
||||
vt 0.156250 0.703125
|
||||
vt 0.015625 0.703125
|
||||
vt 0.625000 0.687500
|
||||
vt 0.625000 0.718750
|
||||
vt 0.484375 0.718750
|
||||
vt 0.484375 0.687500
|
||||
vt 0.796875 0.687500
|
||||
vt 0.796875 0.718750
|
||||
vt 0.781250 0.718750
|
||||
vt 0.781250 0.687500
|
||||
vt 0.640625 0.718750
|
||||
vt 0.640625 0.687500
|
||||
vt 0.656250 1.000000
|
||||
vt 0.640625 1.000000
|
||||
vt 0.640625 0.718750
|
||||
vt 0.656250 0.718750
|
||||
vt 0.640625 1.000000
|
||||
vt 0.625000 1.000000
|
||||
vt 0.484375 0.406250
|
||||
vt 0.484375 0.375000
|
||||
vt 0.625000 0.375000
|
||||
vt 0.625000 0.406250
|
||||
vt 0.640735 0.375000
|
||||
vt 0.640735 0.406250
|
||||
vt 0.625110 0.406250
|
||||
vt 0.625110 0.375000
|
||||
vt 0.640625 0.406250
|
||||
vt 0.640625 0.375000
|
||||
vt 0.781250 0.375000
|
||||
vt 0.781250 0.406250
|
||||
vt 0.796882 0.375000
|
||||
vt 0.796882 0.406250
|
||||
vt 0.781257 0.406250
|
||||
vt 0.781257 0.375000
|
||||
vt 0.640625 0.406250
|
||||
vt 0.656250 0.406250
|
||||
vt 0.656250 0.687500
|
||||
vt 0.640625 0.687500
|
||||
vt 0.625000 0.406250
|
||||
vt 0.640625 0.406250
|
||||
vt 0.640625 0.687500
|
||||
vt 0.625000 0.687500
|
||||
vt 0.539062 0.484375
|
||||
vt 0.539062 0.578125
|
||||
vt 0.484375 0.578125
|
||||
vt 0.484375 0.484375
|
||||
vt 0.609375 0.484375
|
||||
vt 0.609375 0.578125
|
||||
vt 0.601562 0.578125
|
||||
vt 0.601562 0.484375
|
||||
vt 0.546875 0.578125
|
||||
vt 0.546875 0.484375
|
||||
vt 0.554688 0.687500
|
||||
vt 0.546875 0.687500
|
||||
vt 0.546875 0.578125
|
||||
vt 0.554688 0.578125
|
||||
vt 0.546875 0.687500
|
||||
vt 0.539062 0.687500
|
||||
vt 0.539062 0.796875
|
||||
vt 0.539062 0.890625
|
||||
vt 0.484375 0.890625
|
||||
vt 0.484375 0.796875
|
||||
vt 0.609375 0.796875
|
||||
vt 0.609375 0.890625
|
||||
vt 0.601562 0.890625
|
||||
vt 0.601562 0.796875
|
||||
vt 0.546875 0.890625
|
||||
vt 0.546875 0.796875
|
||||
vt 0.554688 1.000000
|
||||
vt 0.546875 1.000000
|
||||
vt 0.546875 0.890625
|
||||
vt 0.554688 0.890625
|
||||
vt 0.546875 1.000000
|
||||
vt 0.539062 1.000000
|
||||
vt 0.000000 0.296875
|
||||
vt -0.000000 0.203125
|
||||
vt 0.015625 0.203125
|
||||
vt 0.015625 0.296875
|
||||
vt 0.468750 0.203125
|
||||
vt 0.468750 0.296875
|
||||
vt 0.250000 0.296875
|
||||
vt 0.250000 0.203125
|
||||
vt 0.234375 0.296875
|
||||
vt 0.234375 0.203125
|
||||
vt 0.015625 0.296875
|
||||
vt 0.015625 0.203125
|
||||
vt 0.453125 0.328125
|
||||
vt 0.234375 0.328125
|
||||
vt 0.234375 0.296875
|
||||
vt 0.453125 0.296875
|
||||
vt 0.234375 0.328125
|
||||
vt 0.015625 0.328125
|
||||
vt 0.015625 0.328125
|
||||
vt 0.015625 0.421875
|
||||
vt -0.000000 0.421875
|
||||
vt -0.000000 0.328125
|
||||
vt 0.468750 0.328125
|
||||
vt 0.468750 0.421875
|
||||
vt 0.250000 0.421875
|
||||
vt 0.250000 0.328125
|
||||
vt 0.234375 0.421875
|
||||
vt 0.234375 0.328125
|
||||
vt 0.250000 0.328125
|
||||
vt 0.250000 0.421875
|
||||
vt 0.234375 0.328125
|
||||
vt 0.234375 0.421875
|
||||
vt 0.453125 0.453125
|
||||
vt 0.234375 0.453125
|
||||
vt 0.234375 0.421875
|
||||
vt 0.453125 0.421875
|
||||
vt 0.234375 0.453125
|
||||
vt 0.015625 0.453125
|
||||
vt 0.000000 0.671875
|
||||
vt -0.000000 0.578125
|
||||
vt 0.015625 0.578125
|
||||
vt 0.015625 0.671875
|
||||
vt 0.312500 0.578125
|
||||
vt 0.312500 0.671875
|
||||
vt 0.171875 0.671875
|
||||
vt 0.171875 0.578125
|
||||
vt 0.156250 0.671875
|
||||
vt 0.156250 0.578125
|
||||
vt 0.171875 0.578125
|
||||
vt 0.171875 0.671875
|
||||
vt 0.156250 0.452559
|
||||
vt 0.156250 0.546309
|
||||
vt 0.015625 0.546309
|
||||
vt 0.015625 0.452559
|
||||
vt 0.265747 0.577881
|
||||
vt 0.140869 0.577881
|
||||
vt 0.140869 0.546631
|
||||
vt 0.265747 0.546631
|
||||
vt 0.140503 0.578125
|
||||
vt 0.015625 0.546875
|
||||
vt 0.140503 0.546875
|
||||
vt 0.023438 0.703125
|
||||
vt 0.023438 0.953125
|
||||
vt 0.000000 0.953125
|
||||
vt 0.000000 0.703125
|
||||
vt 0.484375 0.703125
|
||||
vt 0.484375 0.953125
|
||||
vt 0.265625 0.953125
|
||||
vt 0.265625 0.703125
|
||||
vt 0.242188 0.953125
|
||||
vt 0.242188 0.703125
|
||||
vt 0.460938 1.000000
|
||||
vt 0.242188 1.000000
|
||||
vt 0.242188 0.953125
|
||||
vt 0.460938 0.953125
|
||||
vt 0.242188 1.000000
|
||||
vt 0.023438 1.000000
|
||||
vn -0.5774 -0.5774 0.5773
|
||||
vn -0.5774 -0.5773 -0.5773
|
||||
vn 0.5773 -0.5774 -0.5774
|
||||
vn 0.5773 -0.5774 0.5774
|
||||
vn 0.5774 0.5773 -0.5773
|
||||
vn 0.5774 0.5773 0.5773
|
||||
vn -0.5773 0.5773 -0.5774
|
||||
vn -0.5773 0.5773 0.5774
|
||||
vn 0.1835 -0.9799 0.0787
|
||||
vn 0.3470 -0.4428 -0.8267
|
||||
vn 0.9591 0.2774 -0.0568
|
||||
vn 0.4191 -0.3127 0.8524
|
||||
vn -0.1835 0.9799 -0.0787
|
||||
vn -0.3469 0.4428 0.8268
|
||||
vn -0.4191 0.3126 -0.8524
|
||||
vn -0.9591 -0.2773 0.0568
|
||||
vn 0.4201 0.3122 0.8521
|
||||
vn 0.9591 -0.2774 -0.0568
|
||||
vn 0.3469 0.4428 -0.8268
|
||||
vn 0.1835 0.9799 0.0787
|
||||
vn -0.4191 -0.3126 -0.8524
|
||||
vn -0.9591 0.2774 0.0568
|
||||
vn -0.1835 -0.9799 -0.0787
|
||||
vn -0.3470 -0.4428 0.8268
|
||||
vn -0.1835 0.9799 -0.0786
|
||||
vn 0.4190 -0.3127 0.8524
|
||||
vn 0.3470 -0.4429 -0.8267
|
||||
vn -0.9591 0.2773 0.0568
|
||||
vn -0.4190 -0.3126 -0.8525
|
||||
vn -0.3470 -0.4428 0.8267
|
||||
vn 0.4191 0.3126 0.8524
|
||||
vn 0.5774 -0.5774 0.5774
|
||||
vn 0.5774 -0.5773 -0.5774
|
||||
vn 0.5773 0.5774 -0.5774
|
||||
vn -0.5774 0.5774 -0.5774
|
||||
vn -0.5773 -0.5774 -0.5774
|
||||
vn 0.5773 -0.5773 -0.5774
|
||||
vn 0.5774 0.5774 -0.5773
|
||||
vn -0.5774 0.5773 -0.5774
|
||||
vn -0.5774 -0.5774 -0.5773
|
||||
vn -0.5773 0.5774 -0.5774
|
||||
vn -0.5774 -0.5773 0.5773
|
||||
vn -0.5773 0.5774 0.5773
|
||||
vn -0.5773 -0.5774 -0.5773
|
||||
vn 0.5773 0.5773 -0.5774
|
||||
vn 0.5773 0.5774 0.5773
|
||||
vn 0.5774 -0.5774 0.5773
|
||||
usemtl Brush.001
|
||||
s 1
|
||||
f 1/1/1 2/2/2 3/3/3
|
||||
f 1/1/1 3/3/3 4/4/4
|
||||
f 4/5/4 3/6/3 5/7/5
|
||||
f 4/5/4 5/7/5 6/8/6
|
||||
f 6/9/6 5/10/5 7/11/7
|
||||
f 6/9/6 7/11/7 8/12/8
|
||||
f 2/2/2 1/1/1 8/12/8
|
||||
f 2/2/2 8/12/8 7/11/7
|
||||
f 8/13/8 1/14/1 4/15/4
|
||||
f 8/13/8 4/15/4 6/16/6
|
||||
f 5/17/5 3/18/3 2/2/2
|
||||
f 5/17/5 2/2/2 7/11/7
|
||||
f 9/19/9 10/20/10 11/21/11
|
||||
f 9/19/9 11/21/11 12/22/12
|
||||
f 12/23/12 11/24/11 13/25/13
|
||||
f 12/23/12 13/25/13 14/26/14
|
||||
f 14/26/14 13/25/13 15/27/15
|
||||
f 14/26/14 15/27/15 16/28/16
|
||||
f 16/28/16 15/27/15 10/20/10
|
||||
f 16/28/16 10/20/10 9/19/9
|
||||
f 12/29/12 14/30/14 16/31/16
|
||||
f 12/29/12 16/31/16 9/32/9
|
||||
f 13/33/13 11/34/11 10/20/10
|
||||
f 13/33/13 10/20/10 15/27/15
|
||||
f 17/35/17 18/36/18 19/37/19
|
||||
f 17/35/17 19/37/19 20/38/20
|
||||
f 20/39/20 19/40/19 21/41/21
|
||||
f 20/39/20 21/41/21 22/42/22
|
||||
f 22/43/22 21/44/21 23/45/23
|
||||
f 22/43/22 23/45/23 24/46/24
|
||||
f 24/47/24 23/48/23 18/49/18
|
||||
f 24/47/24 18/49/18 17/50/17
|
||||
f 20/51/20 22/52/22 24/53/24
|
||||
f 20/51/20 24/53/24 17/54/17
|
||||
f 21/55/21 19/56/19 18/57/18
|
||||
f 21/55/21 18/57/18 23/58/23
|
||||
f 25/59/15 26/60/16 27/61/14
|
||||
f 25/59/15 27/61/14 28/62/25
|
||||
f 28/63/25 27/64/14 29/65/26
|
||||
f 28/63/25 29/65/26 30/66/11
|
||||
f 30/66/11 29/65/26 31/67/9
|
||||
f 30/66/11 31/67/9 32/68/27
|
||||
f 32/68/27 31/67/9 26/60/16
|
||||
f 32/68/27 26/60/16 25/59/15
|
||||
f 28/69/25 30/70/11 32/71/27
|
||||
f 28/69/25 32/71/27 25/72/15
|
||||
f 29/73/26 27/74/14 26/60/16
|
||||
f 29/73/26 26/60/16 31/67/9
|
||||
f 33/75/28 34/76/29 35/77/23
|
||||
f 33/75/28 35/77/23 36/78/30
|
||||
f 36/79/30 35/80/23 37/81/18
|
||||
f 36/79/30 37/81/18 38/82/31
|
||||
f 38/82/31 37/81/18 39/83/19
|
||||
f 38/82/31 39/83/19 40/84/20
|
||||
f 40/84/20 39/83/19 34/76/29
|
||||
f 40/84/20 34/76/29 33/75/28
|
||||
f 36/85/30 38/86/31 40/87/20
|
||||
f 36/85/30 40/87/20 33/88/28
|
||||
f 37/89/18 35/90/23 34/76/29
|
||||
f 37/89/18 34/76/29 39/83/19
|
||||
f 41/91/32 42/92/33 43/93/34
|
||||
f 41/91/32 43/93/34 44/94/6
|
||||
f 44/95/6 43/96/34 45/97/35
|
||||
f 44/95/6 45/97/35 46/98/8
|
||||
f 46/98/8 45/97/35 47/99/36
|
||||
f 46/98/8 47/99/36 48/100/1
|
||||
f 48/100/1 47/99/36 42/101/33
|
||||
f 48/100/1 42/101/33 41/102/32
|
||||
f 44/103/6 46/104/8 48/105/1
|
||||
f 44/103/6 48/105/1 41/106/32
|
||||
f 45/107/35 43/108/34 42/101/33
|
||||
f 45/107/35 42/101/33 47/99/36
|
||||
f 49/109/32 50/110/37 51/111/38
|
||||
f 49/109/32 51/111/38 52/112/6
|
||||
f 52/113/6 51/114/38 53/115/39
|
||||
f 52/113/6 53/115/39 54/116/8
|
||||
f 54/117/8 53/118/39 55/119/40
|
||||
f 54/117/8 55/119/40 56/120/1
|
||||
f 56/121/1 55/122/40 50/110/37
|
||||
f 56/121/1 50/110/37 49/109/32
|
||||
f 52/123/6 54/124/8 56/125/1
|
||||
f 52/123/6 56/125/1 49/126/32
|
||||
f 53/127/39 51/128/38 50/110/37
|
||||
f 53/127/39 50/110/37 55/122/40
|
||||
f 57/129/1 58/130/2 59/131/3
|
||||
f 57/129/1 59/131/3 60/132/32
|
||||
f 60/133/32 59/134/3 61/135/5
|
||||
f 60/133/32 61/135/5 62/136/6
|
||||
f 62/137/6 61/138/5 63/139/41
|
||||
f 62/137/6 63/139/41 64/140/8
|
||||
f 64/141/8 63/142/41 58/143/2
|
||||
f 64/141/8 58/143/2 57/144/1
|
||||
f 60/145/32 62/146/6 64/147/8
|
||||
f 60/145/32 64/147/8 57/148/1
|
||||
f 61/149/5 59/131/3 58/150/2
|
||||
f 61/149/5 58/150/2 63/151/41
|
||||
f 65/152/42 66/153/43 67/154/41
|
||||
f 65/152/42 67/154/41 68/155/44
|
||||
f 68/156/44 67/157/41 69/158/45
|
||||
f 68/156/44 69/158/45 70/159/37
|
||||
f 70/159/37 69/158/45 71/160/46
|
||||
f 70/159/37 71/160/46 72/161/47
|
||||
f 72/161/47 71/160/46 66/153/43
|
||||
f 72/161/47 66/153/43 65/152/42
|
||||
f 68/162/44 70/163/37 72/164/47
|
||||
f 68/162/44 72/164/47 65/165/42
|
||||
f 69/166/45 67/167/41 66/153/43
|
||||
f 69/166/45 66/153/43 71/160/46
|
Binary file not shown.
After Width: | Height: | Size: 813 B |
Binary file not shown.
After Width: | Height: | Size: 210 B |
Loading…
Reference in New Issue