Minetest
5.4.0
itemstackmetadata.h
Go to the documentation of this file.
1
/*
2
Minetest
3
Copyright (C) 2017-8 rubenwardy <rw@rubenwardy.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 "
metadata.h
"
23
#include "
tool.h
"
24
25
class
Inventory
;
26
class
IItemDefManager
;
27
28
class
ItemStackMetadata
:
public
Metadata
29
{
30
public
:
31
ItemStackMetadata
() :
toolcaps_overridden
(false) {}
32
33
// Overrides
34
void
clear
()
override
;
35
bool
setString
(
const
std::string &name,
const
std::string &var)
override
;
36
37
void
serialize
(std::ostream &os)
const
;
38
void
deSerialize
(std::istream &is);
39
40
const
ToolCapabilities
&
getToolCapabilities
(
41
const
ToolCapabilities
&default_caps)
const
42
{
43
return
toolcaps_overridden
?
toolcaps_override
: default_caps;
44
}
45
46
void
setToolCapabilities
(
const
ToolCapabilities
&caps);
47
void
clearToolCapabilities
();
48
49
private
:
50
void
updateToolCapabilities
();
51
52
bool
toolcaps_overridden
;
53
ToolCapabilities
toolcaps_override
;
54
};
IItemDefManager
Definition:
itemdef.h:105
Inventory
Definition:
inventory.h:282
ItemStackMetadata
Definition:
itemstackmetadata.h:29
ItemStackMetadata::deSerialize
void deSerialize(std::istream &is)
Definition:
itemstackmetadata.cpp:73
ItemStackMetadata::clearToolCapabilities
void clearToolCapabilities()
Definition:
itemstackmetadata.cpp:115
ItemStackMetadata::toolcaps_overridden
bool toolcaps_overridden
Definition:
itemstackmetadata.h:52
ItemStackMetadata::setString
bool setString(const std::string &name, const std::string &var) override
Sets var to name key in the metadata storage.
Definition:
itemstackmetadata.cpp:48
ItemStackMetadata::ItemStackMetadata
ItemStackMetadata()
Definition:
itemstackmetadata.h:31
ItemStackMetadata::toolcaps_override
ToolCapabilities toolcaps_override
Definition:
itemstackmetadata.h:53
ItemStackMetadata::updateToolCapabilities
void updateToolCapabilities()
Definition:
itemstackmetadata.cpp:96
ItemStackMetadata::serialize
void serialize(std::ostream &os) const
Definition:
itemstackmetadata.cpp:61
ItemStackMetadata::getToolCapabilities
const ToolCapabilities & getToolCapabilities(const ToolCapabilities &default_caps) const
Definition:
itemstackmetadata.h:40
ItemStackMetadata::clear
void clear() override
Definition:
itemstackmetadata.cpp:35
ItemStackMetadata::setToolCapabilities
void setToolCapabilities(const ToolCapabilities &caps)
Definition:
itemstackmetadata.cpp:108
Metadata
Definition:
metadata.h:28
metadata.h
ToolCapabilities
Definition:
tool.h:58
tool.h
itemstackmetadata.h
Generated on Fri Mar 19 2021 16:54:04 for Minetest by
1.9.1