Luanti
5.15.0-dev
Loading...
Searching...
No Matches
itemstackmetadata.h
Go to the documentation of this file.
1
// Luanti
2
// SPDX-License-Identifier: LGPL-2.1-or-later
3
// Copyright (C) 2017-8 rubenwardy <rw@rubenwardy.com>
4
5
#pragma once
6
7
#include "
metadata.h
"
8
#include "
tool.h
"
9
10
#include <optional>
11
12
13
class
ItemStackMetadata
:
public
SimpleMetadata
14
{
15
public
:
16
ItemStackMetadata
()
17
{}
18
19
// Overrides
20
void
clear
()
override
;
21
bool
setString
(
const
std::string &name, std::string_view var)
override
;
22
23
void
serialize
(std::ostream &os)
const
;
24
void
deSerialize
(std::istream &is);
25
26
const
std::optional<ToolCapabilities> &
getToolCapabilitiesOverride
()
const
27
{
28
return
toolcaps_override
;
29
}
30
31
void
setToolCapabilities
(
const
ToolCapabilities
&caps);
32
void
clearToolCapabilities
();
33
34
const
std::optional<WearBarParams> &
getWearBarParamOverride
()
const
35
{
36
return
wear_bar_override
;
37
}
38
39
void
setWearBarParams
(
const
WearBarParams
¶ms);
40
void
clearWearBarParams
();
41
42
private
:
43
void
updateToolCapabilities
();
44
void
updateWearBarParams
();
45
46
std::optional<ToolCapabilities>
toolcaps_override
;
47
std::optional<WearBarParams>
wear_bar_override
;
48
};
ItemStackMetadata
Definition
itemstackmetadata.h:14
ItemStackMetadata::toolcaps_override
std::optional< ToolCapabilities > toolcaps_override
Definition
itemstackmetadata.h:46
ItemStackMetadata::deSerialize
void deSerialize(std::istream &is)
Definition
itemstackmetadata.cpp:64
ItemStackMetadata::setString
bool setString(const std::string &name, std::string_view var) override
Definition
itemstackmetadata.cpp:37
ItemStackMetadata::clearToolCapabilities
void clearToolCapabilities()
Definition
itemstackmetadata.cpp:106
ItemStackMetadata::ItemStackMetadata
ItemStackMetadata()
Definition
itemstackmetadata.h:16
ItemStackMetadata::clearWearBarParams
void clearWearBarParams()
Definition
itemstackmetadata.cpp:128
ItemStackMetadata::wear_bar_override
std::optional< WearBarParams > wear_bar_override
Definition
itemstackmetadata.h:47
ItemStackMetadata::updateToolCapabilities
void updateToolCapabilities()
Definition
itemstackmetadata.cpp:88
ItemStackMetadata::getWearBarParamOverride
const std::optional< WearBarParams > & getWearBarParamOverride() const
Definition
itemstackmetadata.h:34
ItemStackMetadata::updateWearBarParams
void updateWearBarParams()
Definition
itemstackmetadata.cpp:111
ItemStackMetadata::serialize
void serialize(std::ostream &os) const
Definition
itemstackmetadata.cpp:52
ItemStackMetadata::clear
void clear() override
Definition
itemstackmetadata.cpp:23
ItemStackMetadata::getToolCapabilitiesOverride
const std::optional< ToolCapabilities > & getToolCapabilitiesOverride() const
Definition
itemstackmetadata.h:26
ItemStackMetadata::setToolCapabilities
void setToolCapabilities(const ToolCapabilities &caps)
Definition
itemstackmetadata.cpp:99
ItemStackMetadata::setWearBarParams
void setWearBarParams(const WearBarParams ¶ms)
Definition
itemstackmetadata.cpp:121
SimpleMetadata
Definition
metadata.h:61
metadata.h
ToolCapabilities
Definition
tool.h:53
WearBarParams
Definition
tool.h:85
tool.h
itemstackmetadata.h
Generated on Fri Jan 2 2026 04:32:21 for Luanti by
1.11.0