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
14{
15public:
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);
33
34 const std::optional<WearBarParams> &getWearBarParamOverride() const
35 {
36 return wear_bar_override;
37 }
38
39 void setWearBarParams(const WearBarParams &params);
40 void clearWearBarParams();
41
42private:
45
46 std::optional<ToolCapabilities> toolcaps_override;
47 std::optional<WearBarParams> wear_bar_override;
48};
Definition itemstackmetadata.h:14
std::optional< ToolCapabilities > toolcaps_override
Definition itemstackmetadata.h:46
void deSerialize(std::istream &is)
Definition itemstackmetadata.cpp:64
bool setString(const std::string &name, std::string_view var) override
Definition itemstackmetadata.cpp:37
void clearToolCapabilities()
Definition itemstackmetadata.cpp:106
ItemStackMetadata()
Definition itemstackmetadata.h:16
void clearWearBarParams()
Definition itemstackmetadata.cpp:128
std::optional< WearBarParams > wear_bar_override
Definition itemstackmetadata.h:47
void updateToolCapabilities()
Definition itemstackmetadata.cpp:88
const std::optional< WearBarParams > & getWearBarParamOverride() const
Definition itemstackmetadata.h:34
void updateWearBarParams()
Definition itemstackmetadata.cpp:111
void serialize(std::ostream &os) const
Definition itemstackmetadata.cpp:52
void clear() override
Definition itemstackmetadata.cpp:23
const std::optional< ToolCapabilities > & getToolCapabilitiesOverride() const
Definition itemstackmetadata.h:26
void setToolCapabilities(const ToolCapabilities &caps)
Definition itemstackmetadata.cpp:99
void setWearBarParams(const WearBarParams &params)
Definition itemstackmetadata.cpp:121
Definition metadata.h:61
Definition tool.h:53
Definition tool.h:85