Minetest 5.9.0-dev
 
Loading...
Searching...
No Matches
l_object.h
Go to the documentation of this file.
1/*
2Minetest
3Copyright (C) 2013 celeron55, Perttu Ahola <celeron55@gmail.com>
4
5This program is free software; you can redistribute it and/or modify
6it under the terms of the GNU Lesser General Public License as published by
7the Free Software Foundation; either version 2.1 of the License, or
8(at your option) any later version.
9
10This program is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13GNU Lesser General Public License for more details.
14
15You should have received a copy of the GNU Lesser General Public License along
16with this program; if not, write to the Free Software Foundation, Inc.,
1751 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18*/
19
20#pragma once
21
22#include "lua_api/l_base.h"
23#include "irrlichttypes.h"
24
26class LuaEntitySAO;
27class PlayerSAO;
28class RemotePlayer;
29
30/*
31 ObjectRef
32*/
33
34class ObjectRef : public ModApiBase {
35public:
37
38 ~ObjectRef() = default;
39
40 // Creates an ObjectRef and leaves it on top of stack
41 // Not callable from Lua; all references are created on the C side.
42 static void create(lua_State *L, ServerActiveObject *object);
43
44 static void set_null(lua_State *L);
45
46 static void Register(lua_State *L);
47
49
50 static const char className[];
51private:
53 static luaL_Reg methods[];
54
55
57
58 static PlayerSAO* getplayersao(ObjectRef *ref);
59
60 static RemotePlayer *getplayer(ObjectRef *ref);
61
62 // Exported functions
63
64 // garbage collector
65 static int gc_object(lua_State *L);
66
67 // remove(self)
68 static int l_remove(lua_State *L);
69
70 // get_pos(self)
71 static int l_get_pos(lua_State *L);
72
73 // set_pos(self, pos)
74 static int l_set_pos(lua_State *L);
75
76 // add_pos(self, pos)
77 static int l_add_pos(lua_State *L);
78
79 // move_to(self, pos, continuous)
80 static int l_move_to(lua_State *L);
81
82 // punch(self, puncher, time_from_last_punch, tool_capabilities, dir)
83 static int l_punch(lua_State *L);
84
85 // right_click(self, clicker)
86 static int l_right_click(lua_State *L);
87
88 // set_hp(self, hp, reason)
89 static int l_set_hp(lua_State *L);
90
91 // get_hp(self)
92 static int l_get_hp(lua_State *L);
93
94 // get_inventory(self)
95 static int l_get_inventory(lua_State *L);
96
97 // get_wield_list(self)
98 static int l_get_wield_list(lua_State *L);
99
100 // get_wield_index(self)
101 static int l_get_wield_index(lua_State *L);
102
103 // get_wielded_item(self)
104 static int l_get_wielded_item(lua_State *L);
105
106 // set_wielded_item(self, item)
107 static int l_set_wielded_item(lua_State *L);
108
109 // set_armor_groups(self, groups)
110 static int l_set_armor_groups(lua_State *L);
111
112 // get_armor_groups(self)
113 static int l_get_armor_groups(lua_State *L);
114
115 // set_physics_override(self, override_table)
116 static int l_set_physics_override(lua_State *L);
117
118 // get_physics_override(self)
119 static int l_get_physics_override(lua_State *L);
120
121 // set_animation(self, frame_range, frame_speed, frame_blend, frame_loop)
122 static int l_set_animation(lua_State *L);
123
124 // set_animation_frame_speed(self, frame_speed)
125 static int l_set_animation_frame_speed(lua_State *L);
126
127 // get_animation(self)
128 static int l_get_animation(lua_State *L);
129
130 // set_bone_position(self, bone, position, rotation)
131 static int l_set_bone_position(lua_State *L);
132
133 // get_bone_position(self, bone)
134 static int l_get_bone_position(lua_State *L);
135
136 // set_bone_override(self, bone)
137 static int l_set_bone_override(lua_State *L);
138
139 // get_bone_override(self, bone)
140 static int l_get_bone_override(lua_State *L);
141
142 // get_bone_override(self)
143 static int l_get_bone_overrides(lua_State *L);
144
145 // set_attach(self, parent, bone, position, rotation)
146 static int l_set_attach(lua_State *L);
147
148 // get_attach(self)
149 static int l_get_attach(lua_State *L);
150
151 // get_children(self)
152 static int l_get_children(lua_State *L);
153
154 // set_detach(self)
155 static int l_set_detach(lua_State *L);
156
157 // set_properties(self, properties)
158 static int l_set_properties(lua_State *L);
159
160 // get_properties(self)
161 static int l_get_properties(lua_State *L);
162
163 // is_player(self)
164 static int l_is_player(lua_State *L);
165
166 /* LuaEntitySAO-only */
167
168 // set_velocity(self, velocity)
169 static int l_set_velocity(lua_State *L);
170
171 // add_velocity(self, velocity)
172 static int l_add_velocity(lua_State *L);
173
174 // get_velocity(self)
175 static int l_get_velocity(lua_State *L);
176
177 // set_acceleration(self, acceleration)
178 static int l_set_acceleration(lua_State *L);
179
180 // get_acceleration(self)
181 static int l_get_acceleration(lua_State *L);
182
183 // set_rotation(self, rotation)
184 static int l_set_rotation(lua_State *L);
185
186 // get_rotation(self)
187 static int l_get_rotation(lua_State *L);
188
189 // set_yaw(self, yaw)
190 static int l_set_yaw(lua_State *L);
191
192 // get_yaw(self)
193 static int l_get_yaw(lua_State *L);
194
195 // set_texture_mod(self, mod)
196 static int l_set_texture_mod(lua_State *L);
197
198 // l_get_texture_mod(self)
199 static int l_get_texture_mod(lua_State *L);
200
201 // set_sprite(self, start_frame, num_frames, framelength, select_x_by_camera)
202 static int l_set_sprite(lua_State *L);
203
204 // DEPRECATED
205 // get_entity_name(self)
206 static int l_get_entity_name(lua_State *L);
207
208 // get_luaentity(self)
209 static int l_get_luaentity(lua_State *L);
210
211 /* Player-only */
212
213 // get_player_name(self)
214 static int l_get_player_name(lua_State *L);
215
216 // get_fov(self)
217 static int l_get_fov(lua_State *L);
218
219 // get_look_dir(self)
220 static int l_get_look_dir(lua_State *L);
221
222 // DEPRECATED
223 // get_look_pitch(self)
224 static int l_get_look_pitch(lua_State *L);
225
226 // DEPRECATED
227 // get_look_yaw(self)
228 static int l_get_look_yaw(lua_State *L);
229
230 // get_look_pitch2(self)
231 static int l_get_look_vertical(lua_State *L);
232
233 // get_look_yaw2(self)
234 static int l_get_look_horizontal(lua_State *L);
235
236 // set_fov(self, degrees, is_multiplier, transition_time)
237 static int l_set_fov(lua_State *L);
238
239 // set_look_vertical(self, radians)
240 static int l_set_look_vertical(lua_State *L);
241
242 // set_look_horizontal(self, radians)
243 static int l_set_look_horizontal(lua_State *L);
244
245 // DEPRECATED
246 // set_look_pitch(self, radians)
247 static int l_set_look_pitch(lua_State *L);
248
249 // DEPRECATED
250 // set_look_yaw(self, radians)
251 static int l_set_look_yaw(lua_State *L);
252
253 // set_breath(self, breath)
254 static int l_set_breath(lua_State *L);
255
256 // get_breath(self, breath)
257 static int l_get_breath(lua_State *L);
258
259 // DEPRECATED
260 // set_attribute(self, attribute, value)
261 static int l_set_attribute(lua_State *L);
262
263 // DEPRECATED
264 // get_attribute(self, attribute)
265 static int l_get_attribute(lua_State *L);
266
267 // get_meta(self)
268 static int l_get_meta(lua_State *L);
269
270 // set_inventory_formspec(self, formspec)
271 static int l_set_inventory_formspec(lua_State *L);
272
273 // get_inventory_formspec(self)
274 static int l_get_inventory_formspec(lua_State *L);
275
276 // set_formspec_prepend(self, formspec)
277 static int l_set_formspec_prepend(lua_State *L);
278
279 // get_formspec_prepend(self)
280 static int l_get_formspec_prepend(lua_State *L);
281
282 // get_player_control(self)
283 static int l_get_player_control(lua_State *L);
284
285 // get_player_control_bits(self)
286 static int l_get_player_control_bits(lua_State *L);
287
288 // hud_add(self, id, form)
289 static int l_hud_add(lua_State *L);
290
291 // hud_rm(self, id)
292 static int l_hud_remove(lua_State *L);
293
294 // hud_change(self, id, stat, data)
295 static int l_hud_change(lua_State *L);
296
297 // hud_get_next_id(self)
298 static u32 hud_get_next_id(lua_State *L);
299
300 // hud_get(self, id)
301 static int l_hud_get(lua_State *L);
302
303 // hud_get_all(self)
304 static int l_hud_get_all(lua_State *L);
305
306 // hud_set_flags(self, flags)
307 static int l_hud_set_flags(lua_State *L);
308
309 // hud_get_flags()
310 static int l_hud_get_flags(lua_State *L);
311
312 // hud_set_hotbar_itemcount(self, hotbar_itemcount)
313 static int l_hud_set_hotbar_itemcount(lua_State *L);
314
315 // hud_get_hotbar_itemcount(self)
316 static int l_hud_get_hotbar_itemcount(lua_State *L);
317
318 // hud_set_hotbar_image(self, name)
319 static int l_hud_set_hotbar_image(lua_State *L);
320
321 // hud_get_hotbar_image(self)
322 static int l_hud_get_hotbar_image(lua_State *L);
323
324 // hud_set_hotbar_selected_image(self, name)
325 static int l_hud_set_hotbar_selected_image(lua_State *L);
326
327 // hud_get_hotbar_selected_image(self)
328 static int l_hud_get_hotbar_selected_image(lua_State *L);
329
330 // set_sky(self, sky_parameters)
331 static int l_set_sky(lua_State *L);
332
333 // get_sky(self, as_table)
334 static int l_get_sky(lua_State *L);
335
336 // DEPRECATED
337 // get_sky_color(self)
338 static int l_get_sky_color(lua_State* L);
339
340 // set_sun(self, sun_parameters)
341 static int l_set_sun(lua_State *L);
342
343 // get_sun(self)
344 static int l_get_sun(lua_State *L);
345
346 // set_moon(self, moon_parameters)
347 static int l_set_moon(lua_State *L);
348
349 // get_moon(self)
350 static int l_get_moon(lua_State *L);
351
352 // set_stars(self, star_parameters)
353 static int l_set_stars(lua_State *L);
354
355 // get_stars(self)
356 static int l_get_stars(lua_State *L);
357
358 // set_clouds(self, cloud_parameters)
359 static int l_set_clouds(lua_State *L);
360
361 // get_clouds(self)
362 static int l_get_clouds(lua_State *L);
363
364 // override_day_night_ratio(self, type)
365 static int l_override_day_night_ratio(lua_State *L);
366
367 // get_day_night_ratio(self)
368 static int l_get_day_night_ratio(lua_State *L);
369
370 // set_local_animation(self, idle, walk, dig, walk_while_dig, frame_speed)
371 static int l_set_local_animation(lua_State *L);
372
373 // get_local_animation(self)
374 static int l_get_local_animation(lua_State *L);
375
376 // set_eye_offset(self, firstperson, thirdperson, thirdperson_front)
377 static int l_set_eye_offset(lua_State *L);
378
379 // get_eye_offset(self)
380 static int l_get_eye_offset(lua_State *L);
381
382 // set_nametag_attributes(self, attributes)
383 static int l_set_nametag_attributes(lua_State *L);
384
385 // get_nametag_attributes(self)
386 static int l_get_nametag_attributes(lua_State *L);
387
388 // send_mapblock(pos)
389 static int l_send_mapblock(lua_State *L);
390
391 // set_minimap_modes(self, modes, wanted_mode)
392 static int l_set_minimap_modes(lua_State *L);
393
394 // set_lighting(self, lighting)
395 static int l_set_lighting(lua_State *L);
396
397 // get_lighting(self)
398 static int l_get_lighting(lua_State *L);
399
400 // respawn(self)
401 static int l_respawn(lua_State *L);
402};
Definition: luaentity_sao.h:26
Definition: l_base.h:43
Definition: l_object.h:34
static int l_get_bone_position(lua_State *L)
Definition: l_object.cpp:565
static int l_get_acceleration(lua_State *L)
Definition: l_object.cpp:1006
static int l_get_wield_list(lua_State *L)
Definition: l_object.cpp:278
static int l_respawn(lua_State *L)
Definition: l_object.cpp:2602
static int l_get_lighting(lua_State *L)
Definition: l_object.cpp:2563
static int l_hud_get_all(lua_State *L)
Definition: l_object.cpp:1755
static int l_get_formspec_prepend(lua_State *L)
Definition: l_object.cpp:1501
static int l_set_sprite(lua_State *L)
Definition: l_object.cpp:1111
static int l_get_day_night_ratio(lua_State *L)
Definition: l_object.cpp:2444
static int l_add_pos(lua_State *L)
Definition: l_object.cpp:138
static int l_set_clouds(lua_State *L)
Definition: l_object.cpp:2346
static int l_override_day_night_ratio(lua_State *L)
Definition: l_object.cpp:2421
static int l_hud_get(lua_State *L)
Definition: l_object.cpp:1736
static int l_is_player(lua_State *L)
Definition: l_object.cpp:843
static int l_get_sky_color(lua_State *L)
Definition: l_object.cpp:2166
static int l_hud_add(lua_State *L)
Definition: l_object.cpp:1669
static int l_get_wielded_item(lua_State *L)
Definition: l_object.cpp:304
static PlayerSAO * getplayersao(ObjectRef *ref)
Definition: l_object.cpp:62
static int l_add_velocity(lua_State *L)
Definition: l_object.cpp:944
static int l_hud_remove(lua_State *L)
Definition: l_object.cpp:1691
static int l_set_look_pitch(lua_State *L)
Definition: l_object.cpp:1287
static int l_set_moon(lua_State *L)
Definition: l_object.cpp:2238
static int l_get_stars(lua_State *L)
Definition: l_object.cpp:2321
static int l_get_texture_mod(lua_State *L)
Definition: l_object.cpp:1096
static int l_get_player_control(lua_State *L)
Definition: l_object.cpp:1516
static int l_set_look_horizontal(lua_State *L)
Definition: l_object.cpp:1271
static int l_get_yaw(lua_State *L)
Definition: l_object.cpp:1066
static int l_get_bone_overrides(lua_State *L)
Definition: l_object.cpp:691
static int l_get_local_animation(lua_State *L)
Definition: l_object.cpp:439
static int l_set_inventory_formspec(lua_State *L)
Definition: l_object.cpp:1450
static int l_set_rotation(lua_State *L)
Definition: l_object.cpp:1020
static int l_get_look_horizontal(lua_State *L)
Definition: l_object.cpp:1243
static void create(lua_State *L, ServerActiveObject *object)
Definition: l_object.cpp:2622
static int l_hud_get_hotbar_itemcount(lua_State *L)
Definition: l_object.cpp:1839
static RemotePlayer * getplayer(ObjectRef *ref)
Definition: l_object.cpp:72
static int l_get_look_yaw(lua_State *L)
Definition: l_object.cpp:1213
static int l_send_mapblock(lua_State *L)
Definition: l_object.cpp:502
static int l_get_attribute(lua_State *L)
Definition: l_object.cpp:1414
static int l_set_breath(lua_State *L)
Definition: l_object.cpp:1363
static int gc_object(lua_State *L)
Definition: l_object.cpp:83
static int l_get_look_vertical(lua_State *L)
Definition: l_object.cpp:1230
static int l_set_physics_override(lua_State *L)
Definition: l_object.cpp:1585
static int l_set_look_vertical(lua_State *L)
Definition: l_object.cpp:1256
static int l_set_formspec_prepend(lua_State *L)
Definition: l_object.cpp:1483
static int l_hud_set_hotbar_selected_image(lua_State *L)
Definition: l_object.cpp:1882
static int l_set_attach(lua_State *L)
Definition: l_object.cpp:707
static int l_hud_get_flags(lua_State *L)
Definition: l_object.cpp:1803
static int l_get_properties(lua_State *L)
Definition: l_object.cpp:826
ServerActiveObject * m_object
Definition: l_object.h:52
static int l_punch(lua_State *L)
Definition: l_object.cpp:169
static int l_set_velocity(lua_State *L)
Definition: l_object.cpp:929
static int l_set_attribute(lua_State *L)
Definition: l_object.cpp:1393
static int l_set_look_yaw(lua_State *L)
Definition: l_object.cpp:1307
static int l_set_animation(lua_State *L)
Definition: l_object.cpp:379
static int l_get_bone_override(lua_State *L)
Definition: l_object.cpp:676
static int l_get_player_control_bits(lua_State *L)
Definition: l_object.cpp:1556
static int l_get_meta(lua_State *L)
Definition: l_object.cpp:1437
static int l_get_moon(lua_State *L)
Definition: l_object.cpp:2264
static int l_move_to(lua_State *L)
Definition: l_object.cpp:153
static int l_set_wielded_item(lua_State *L)
Definition: l_object.cpp:322
static ServerActiveObject * getobject(ObjectRef *ref)
Definition: l_object.cpp:44
static int l_get_inventory_formspec(lua_State *L)
Definition: l_object.cpp:1468
static int l_get_clouds(lua_State *L)
Definition: l_object.cpp:2389
static int l_hud_get_hotbar_selected_image(lua_State *L)
Definition: l_object.cpp:1897
~ObjectRef()=default
static int l_set_local_animation(lua_State *L)
Definition: l_object.cpp:419
static int l_get_look_dir(lua_State *L)
Definition: l_object.cpp:1176
static int l_remove(lua_State *L)
Definition: l_object.cpp:90
static int l_right_click(lua_State *L)
Definition: l_object.cpp:196
static int l_get_breath(lua_State *L)
Definition: l_object.cpp:1378
static int l_get_look_pitch(lua_State *L)
Definition: l_object.cpp:1195
static int l_set_eye_offset(lua_State *L)
Definition: l_object.cpp:460
static int l_get_wield_index(lua_State *L)
Definition: l_object.cpp:291
static int l_get_armor_groups(lua_State *L)
Definition: l_object.cpp:366
static int l_set_pos(lua_State *L)
Definition: l_object.cpp:123
static int l_get_player_name(lua_State *L)
Definition: l_object.cpp:1161
static int l_set_sky(lua_State *L)
Definition: l_object.cpp:1912
static int l_set_sun(lua_State *L)
Definition: l_object.cpp:2183
static int l_get_hp(lua_State *L)
Definition: l_object.cpp:243
static int l_get_velocity(lua_State *L)
Definition: l_object.cpp:967
static int l_hud_set_flags(lua_State *L)
Definition: l_object.cpp:1777
static LuaEntitySAO * getluaobject(ObjectRef *ref)
Definition: l_object.cpp:52
static int l_get_entity_name(lua_State *L)
Definition: l_object.cpp:1130
static int l_set_yaw(lua_State *L)
Definition: l_object.cpp:1051
static int l_get_rotation(lua_State *L)
Definition: l_object.cpp:1035
static int l_get_nametag_attributes(lua_State *L)
Definition: l_object.cpp:893
static int l_get_animation(lua_State *L)
Definition: l_object.cpp:397
static int l_set_fov(lua_State *L)
Definition: l_object.cpp:1326
static void set_null(lua_State *L)
Definition: l_object.cpp:2630
static int l_get_fov(lua_State *L)
Definition: l_object.cpp:1346
static int l_set_properties(lua_State *L)
Definition: l_object.cpp:804
static int l_set_lighting(lua_State *L)
Definition: l_object.cpp:2518
static int l_get_luaentity(lua_State *L)
Definition: l_object.cpp:1146
static int l_get_children(lua_State *L)
Definition: l_object.cpp:770
static int l_set_bone_position(lua_State *L)
Definition: l_object.cpp:539
static int l_set_detach(lua_State *L)
Definition: l_object.cpp:791
static u32 hud_get_next_id(lua_State *L)
static int l_get_eye_offset(lua_State *L)
Definition: l_object.cpp:487
static int l_hud_change(lua_State *L)
Definition: l_object.cpp:1709
static int l_set_hp(lua_State *L)
Definition: l_object.cpp:211
static int l_get_sun(lua_State *L)
Definition: l_object.cpp:2211
static int l_set_armor_groups(lua_State *L)
Definition: l_object.cpp:341
static int l_set_bone_override(lua_State *L)
Definition: l_object.cpp:586
static int l_get_physics_override(lua_State *L)
Definition: l_object.cpp:1623
static int l_get_pos(lua_State *L)
Definition: l_object.cpp:110
static int l_set_nametag_attributes(lua_State *L)
Definition: l_object.cpp:853
static int l_set_minimap_modes(lua_State *L)
Definition: l_object.cpp:2465
static int l_get_inventory(lua_State *L)
Definition: l_object.cpp:261
static int l_get_attach(lua_State *L)
Definition: l_object.cpp:742
static int l_hud_set_hotbar_itemcount(lua_State *L)
Definition: l_object.cpp:1821
static int l_get_sky(lua_State *L)
Definition: l_object.cpp:2104
static int l_set_texture_mod(lua_State *L)
Definition: l_object.cpp:1081
static int l_hud_get_hotbar_image(lua_State *L)
Definition: l_object.cpp:1867
static int l_set_animation_frame_speed(lua_State *L)
Definition: l_object.cpp:520
static const char className[]
Definition: l_object.h:50
static int l_hud_set_hotbar_image(lua_State *L)
Definition: l_object.cpp:1852
static int l_set_acceleration(lua_State *L)
Definition: l_object.cpp:991
static luaL_Reg methods[]
Definition: l_object.h:53
static int l_set_stars(lua_State *L)
Definition: l_object.cpp:2287
Definition: player_sao.h:71
Definition: remoteplayer.h:40
Definition: serveractiveobject.h:55