1
0
mirror of https://github.com/luanti-org/luanti.git synced 2025-10-14 09:05:19 +02:00

Avoid some inefficiencies when handling ItemStack(Metadata)

This commit is contained in:
sfan5
2024-12-31 01:26:08 +01:00
parent d884a1624f
commit a2058f7f3a
7 changed files with 37 additions and 51 deletions

View File

@@ -15,8 +15,7 @@ class IItemDefManager;
class ItemStackMetadata : public SimpleMetadata
{
public:
ItemStackMetadata():
toolcaps_overridden(false)
ItemStackMetadata()
{}
// Overrides
@@ -29,7 +28,7 @@ public:
const ToolCapabilities &getToolCapabilities(
const ToolCapabilities &default_caps) const
{
return toolcaps_overridden ? toolcaps_override : default_caps;
return toolcaps_override.has_value() ? *toolcaps_override : default_caps;
}
void setToolCapabilities(const ToolCapabilities &caps);
@@ -40,7 +39,6 @@ public:
return wear_bar_override;
}
void setWearBarParams(const WearBarParams &params);
void clearWearBarParams();
@@ -48,7 +46,6 @@ private:
void updateToolCapabilities();
void updateWearBarParams();
bool toolcaps_overridden;
ToolCapabilities toolcaps_override;
std::optional<ToolCapabilities> toolcaps_override;
std::optional<WearBarParams> wear_bar_override;
};