Minetest
5.9.0-dev
Loading...
Searching...
No Matches
s_nodemeta.h
Go to the documentation of this file.
1
/*
2
Minetest
3
Copyright (C) 2013 celeron55, Perttu Ahola <celeron55@gmail.com>
4
5
This program is free software; you can redistribute it and/or modify
6
it under the terms of the GNU Lesser General Public License as published by
7
the Free Software Foundation; either version 2.1 of the License, or
8
(at your option) any later version.
9
10
This program is distributed in the hope that it will be useful,
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
GNU Lesser General Public License for more details.
14
15
You should have received a copy of the GNU Lesser General Public License along
16
with this program; if not, write to the Free Software Foundation, Inc.,
17
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18
*/
19
20
#pragma once
21
22
#include "
cpp_api/s_base.h
"
23
#include "
cpp_api/s_item.h
"
24
#include "
irr_v3d.h
"
25
26
struct
MoveAction
;
27
struct
ItemStack
;
28
29
class
ScriptApiNodemeta
30
:
virtual
public
ScriptApiBase
,
31
public
ScriptApiItem
32
{
33
public
:
34
ScriptApiNodemeta
() =
default
;
35
virtual
~ScriptApiNodemeta
() =
default
;
36
37
// Return number of accepted items to be moved
38
int
nodemeta_inventory_AllowMove
(
39
const
MoveAction
&ma,
int
count,
40
ServerActiveObject
*player);
41
// Return number of accepted items to be put
42
int
nodemeta_inventory_AllowPut
(
43
const
MoveAction
&ma,
const
ItemStack
&stack,
44
ServerActiveObject
*player);
45
// Return number of accepted items to be taken
46
int
nodemeta_inventory_AllowTake
(
47
const
MoveAction
&ma,
const
ItemStack
&stack,
48
ServerActiveObject
*player);
49
// Report moved items
50
void
nodemeta_inventory_OnMove
(
51
const
MoveAction
&ma,
int
count,
52
ServerActiveObject
*player);
53
// Report put items
54
void
nodemeta_inventory_OnPut
(
55
const
MoveAction
&ma,
const
ItemStack
&stack,
56
ServerActiveObject
*player);
57
// Report taken items
58
void
nodemeta_inventory_OnTake
(
59
const
MoveAction
&ma,
const
ItemStack
&stack,
60
ServerActiveObject
*player);
61
private
:
62
63
};
ScriptApiBase
Definition:
s_base.h:79
ScriptApiItem
Definition:
s_item.h:37
ScriptApiNodemeta
Definition:
s_nodemeta.h:32
ScriptApiNodemeta::nodemeta_inventory_AllowPut
int nodemeta_inventory_AllowPut(const MoveAction &ma, const ItemStack &stack, ServerActiveObject *player)
Definition:
s_nodemeta.cpp:68
ScriptApiNodemeta::nodemeta_inventory_AllowMove
int nodemeta_inventory_AllowMove(const MoveAction &ma, int count, ServerActiveObject *player)
Definition:
s_nodemeta.cpp:30
ScriptApiNodemeta::ScriptApiNodemeta
ScriptApiNodemeta()=default
ScriptApiNodemeta::nodemeta_inventory_OnMove
void nodemeta_inventory_OnMove(const MoveAction &ma, int count, ServerActiveObject *player)
Definition:
s_nodemeta.cpp:140
ScriptApiNodemeta::nodemeta_inventory_OnPut
void nodemeta_inventory_OnPut(const MoveAction &ma, const ItemStack &stack, ServerActiveObject *player)
Definition:
s_nodemeta.cpp:173
ScriptApiNodemeta::nodemeta_inventory_OnTake
void nodemeta_inventory_OnTake(const MoveAction &ma, const ItemStack &stack, ServerActiveObject *player)
Definition:
s_nodemeta.cpp:204
ScriptApiNodemeta::nodemeta_inventory_AllowTake
int nodemeta_inventory_AllowTake(const MoveAction &ma, const ItemStack &stack, ServerActiveObject *player)
Definition:
s_nodemeta.cpp:104
ScriptApiNodemeta::~ScriptApiNodemeta
virtual ~ScriptApiNodemeta()=default
ServerActiveObject
Definition:
serveractiveobject.h:55
irr_v3d.h
s_base.h
s_item.h
ItemStack
Definition:
inventory.h:34
MoveAction
Definition:
inventorymanager.h:143
script
cpp_api
s_nodemeta.h
Generated on Sat May 4 2024 17:14:12 for Minetest by
1.9.6