Luanti 5.15.0-dev
 
Loading...
Searching...
No Matches
l_itemstackmeta.h
Go to the documentation of this file.
1// Luanti
2// SPDX-License-Identifier: LGPL-2.1-or-later
3// Copyright (C) 2013 celeron55, Perttu Ahola <celeron55@gmail.com>
4// Copyright (C) 2017-8 rubenwardy <rw@rubenwardy.com>
5// Copyright (C) 2017 raymoo
6
7#pragma once
8
10#include "lua_api/l_item.h"
12
14{
15private:
17
18 static const luaL_Reg methods[];
19
20 virtual IMetadata* getmeta(bool auto_create);
21
22 virtual void clearMeta();
23
24 virtual void reportMetadataChange(const std::string *name = nullptr);
25
30
35
36 void setWearBarParams(const WearBarParams &params)
37 {
39 }
40
45
46 // Exported functions
47 static int l_set_tool_capabilities(lua_State *L);
48 static int l_set_wear_bar_params(lua_State *L);
49public:
50 // takes a reference
53
55
56 // Creates an ItemStackMetaRef and leaves it on top of stack
57 // Not callable from Lua; all references are created on the C side.
58 static void create(lua_State *L, LuaItemStack *istack);
59
60 static void Register(lua_State *L);
61
62 static const char className[];
63};
#define DISABLE_CLASS_COPY(C)
Definition basic_macros.h:26
Definition metadata.h:12
Definition l_itemstackmeta.h:14
static const char className[]
Definition l_itemstackmeta.h:62
static const luaL_Reg methods[]
Definition l_itemstackmeta.h:87
~ItemStackMetaRef()
Definition l_itemstackmeta.cpp:66
virtual IMetadata * getmeta(bool auto_create)
Definition l_itemstackmeta.cpp:16
ItemStackMetaRef(LuaItemStack *istack)
Definition l_itemstackmeta.cpp:61
void clearToolCapabilities()
Definition l_itemstackmeta.h:31
LuaItemStack * istack
Definition l_itemstackmeta.h:16
static int l_set_tool_capabilities(lua_State *L)
Definition l_itemstackmeta.cpp:32
static void create(lua_State *L, LuaItemStack *istack)
Definition l_itemstackmeta.cpp:73
void clearWearBarParams()
Definition l_itemstackmeta.h:41
void setToolCapabilities(const ToolCapabilities &caps)
Definition l_itemstackmeta.h:26
static int l_set_wear_bar_params(lua_State *L)
Definition l_itemstackmeta.cpp:47
virtual void clearMeta()
Definition l_itemstackmeta.cpp:21
void setWearBarParams(const WearBarParams &params)
Definition l_itemstackmeta.h:36
virtual void reportMetadataChange(const std::string *name=nullptr)
Definition l_itemstackmeta.cpp:26
void clearToolCapabilities()
Definition itemstackmetadata.cpp:106
void clearWearBarParams()
Definition itemstackmetadata.cpp:128
void setToolCapabilities(const ToolCapabilities &caps)
Definition itemstackmetadata.cpp:99
void setWearBarParams(const WearBarParams &params)
Definition itemstackmetadata.cpp:121
Definition l_item.h:11
const ItemStack & getItem() const
Definition l_item.h:139
Definition l_metadata.h:18
ItemStackMetadata metadata
Definition inventory.h:153
Definition tool.h:53
Definition tool.h:85