mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-08 04:21:50 +00:00
fix variant indexing
This commit is contained in:
parent
d321085192
commit
6dfabe9ff3
3 changed files with 21 additions and 9 deletions
|
|
@ -294,7 +294,13 @@ public:
|
|||
|
||||
void cloneTo(Block& dst);
|
||||
|
||||
constexpr const Variant& getVariant(uint8_t userbits) const {
|
||||
constexpr uint8_t getVariantIndex(uint8_t userbits) const {
|
||||
if (variants == nullptr)
|
||||
return 0;
|
||||
return (userbits >> variants->offset) & variants->mask;
|
||||
}
|
||||
|
||||
constexpr const Variant& getVariantByBits(uint8_t userbits) const {
|
||||
if (userbits == 0 || variants == nullptr)
|
||||
return defaults;
|
||||
return variants->variants[
|
||||
|
|
@ -302,8 +308,14 @@ public:
|
|||
];
|
||||
}
|
||||
|
||||
constexpr const Variant& getVariant(uint8_t index) const {
|
||||
if (index == 0)
|
||||
return defaults;
|
||||
return variants->variants[index];
|
||||
}
|
||||
|
||||
constexpr const BlockModel& getModel(uint8_t bits) const {
|
||||
return getVariant(bits).model;
|
||||
return getVariantByBits(bits).model;
|
||||
}
|
||||
|
||||
static bool isReservedBlockField(std::string_view view);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue