b3d, you have failed me. x model format, you're in
[oweals/minetest_game.git] / mods / default / player.lua
1 -- Minetest 0.4 mod: player
2 -- See README.txt for licensing and other information.
3
4 -- The API documentation in here was moved into doc/lua_api.txt
5
6 -- Set mesh for all players
7 function switch_player_visual()
8         prop = {
9                 mesh = "player.x",
10                 textures = {"player.png", },
11                 colors = {{255, 255, 255, 255}, },
12                 visual = "mesh",
13                 visual_size = {x=1, y=1},
14         }
15         
16         for _, obj in pairs(minetest.get_connected_players()) do
17                 obj:set_properties(prop)
18                 obj:set_animation({x=1, y=50}, 35, 0)
19                 --obj:set_bone_position("", {x=0,y=0,z=0}, {x=0,y=0,z=0})
20         end
21
22         minetest.after(1.0, switch_player_visual)
23 end
24 minetest.after(1.0, switch_player_visual)
25
26 -- Test case for attachments: An object is spawned and attached to the player with the specified name (use your own playername there) 10 seconds after the server starts
27
28 test2 = {
29   collisionbox = { 0, 0, 0, 0, 0, 0 },
30   visual = "cube"
31 }
32
33 minetest.register_entity("default:test2", test2)
34
35 function detachments(newobject)
36         newobject:set_detach()
37         print ("Detached test object")
38 end
39
40 function attachments()
41         prop = {
42                 mesh = "player.x",
43                 textures = {"player.png", },
44                 colors = {{255, 255, 255, 255}, },
45                 visual = "mesh",
46                 visual_size = {x=1, y=1},
47         }
48
49         local pos={x=0,y=0,z=0}
50         local newobject=minetest.env:add_entity(pos, "test:test2")
51         newobject:set_properties(prop)
52         newobject:set_animation({x=1, y=50}, 35, 0)
53         print ("Spawned test object")
54
55         for _, obj in pairs(minetest.get_connected_players()) do
56                 if(obj:get_player_name() == "MirceaKitsune") then
57                         newobject:set_attach(obj, "Bone.001", {x=0,y=3,z=0}, {x=0,y=45,z=0})
58                         print ("Attached test object to "..obj:get_player_name())
59                 end
60         end
61
62         minetest.after(5.0, function() detachments(newobject) end)
63 end
64 minetest.after(15.0, attachments)]]
65
66 -- Test case for player to player attachments
67
68 function attachments_player()
69         for _, obj in pairs(minetest.get_connected_players()) do
70                 if(obj:get_player_name() == "MirceaKitsune") then
71                         for _, obj2 in pairs(minetest.get_connected_players()) do
72                                 if(obj2:get_player_name() == "MirceaKitsune1") then
73                                         obj2:set_attach(obj, "Bone.001", {x=0,y=6,z=0}, {x=0,y=45,z=0})
74                                         print ("Attached player "..obj2:get_player_name().." to player "..obj:get_player_name())
75                                 end
76                         end
77                 end
78         end
79 end
80
81 minetest.after(10.0, attachments_player)
82
83 -- Definitions made by this mod that other mods can use too
84 default = {}
85
86 -- Load other files
87 dofile(minetest.get_modpath("default").."/mapgen.lua")
88 dofile(minetest.get_modpath("default").."/leafdecay.lua")
89
90 -- END